// Modify here, bug causes nav to spill behind body on ultra large resolutions
In this guide you will be able to visualize the share of students who enroll and then persist into a second year of college based on high school, college type, and top-enrolling colleges.
The College-Going Pathways series is a set of guides, code, and sample data about policy-relevant college-going topics. Browse this and other guides in the series for ideas about ways to investigate student pathways through high school and college. Each guide includes several analyses in the form of charts together with Stata analysis and graphing code to generate each chart.
Once you’ve identified analyses that you want to try to replicate or modify, click the “Download” buttons to download Stata code and sample data. You can make changes to the charts using the code and sample data, or modify the code to work with your own data. If you’re familiar with Github, you can click “Go to Repository” and clone the entire College-Going Pathways repository to your own computer.
The data visualizations in the College-Going Pathways series use a synthetically generated college-going analysis sample data file which has one record per student. Each high school student is assigned to a ninth-grade cohort, and each student record includes demographic and program participation information, annual GPA and on-track status, high school graduation outcomes, and college enrollment information. The Connect guide (coming soon) will provide guidance and example code which will help you build a college-going analysis file using data from your own school system.
For many high school graduates, college enrollment is just the first of many hurdles on the road to postsecondary success. While considerable attention has been paid to challenges that surround college preparedness, access, and enrollment, only recently has conversation expanded to consider barriers to degree completion. These barriers must be understood and addressed at both the secondary and postsecondary levels for college attainment rates to increase. In the last section of the education pipeline, you examine patterns of persistence to the second year of college to identify early indications of student progress towards degree attainment.
One of the most important decisions in running each analysis is defining the sample. Each analysis corresponds to a different part of the education pipeline and as a result requires different cohorts of students.
If you are using the synthetic data we have provided, the sample restrictions have been predefined and are included below. If you run this code using your own agency data, change the sample restrictions based on your data. Note that you will have to run these sample restrictions at the beginning of your do file so they will feed into the rest of your code.
// Sample Restrictions
// Agency name
global agency_name "Agency"
// Ninth grade cohorts you can observe persisting to the second year of college
global chrt_ninth_begin_persist_yr2 = 2004
global chrt_ninth_end_persist_yr2 = 2006
// Ninth grade cohorts you can observe graduating high school on time
global chrt_ninth_begin_grad = 2004
global chrt_ninth_end_grad = 2006
// Ninth grade cohorts you can observe graduating high school one year late
global chrt_ninth_begin_grad_late = 2004
global chrt_ninth_end_grad_late = 2006
// High school graduation cohorts you can observe enrolling in college the fall after graduation
global chrt_grad_begin = 2007
global chrt_grad_end = 2009
// High school graduation cohorts you can observe enrolling in college two years after hs graduation
global chrt_grad_begin_delayed = 2007
global chrt_grad_end_delayed = 2009
Based on the sample data, you will have three cohorts (sometimes only two) for analysis. If you are using your own agency data, you may decide to aggregate results for more or fewer cohorts to report your results. This decision depends on 1) how much historical data you have available and 2) what balance to strike between reliability and averaging away information on recent trends. We suggest you average results for the last three cohorts to take advantage of larger sample sizes and improve reliability. However, if you have data for more than three cohorts, you may decide to not average data out for fear of losing information about trends and recent changes in your agency.
This guide is an open-source document hosted on Github and generated using the Stata Webdoc package. We welcome feedback, corrections, additions, and updates. Please visit the OpenSDP college-going pathways repository to read our contributor guidelines.
Purpose: Initial enrollment decisions can dramatically affect higher education trajectories and the likelihood of degree attainment. This analysis provides a snapshot of persistence to the second year of college by examining persistence rates across high schools in the system. The analysis illuminates differences in persistence by level of college first attended (two-year vs. four-year). Given another year of sample data, the analysis could also be conducted by time of initial entry (seamless vs. delayed enrollment).
Required Analysis File Variables:
sid
enrl_1oct_grad_yr1_any
enrl_1oct_grad_yr1_4yr
enrl_1oct_grad_yr1_2yr
enrl_grad_persist_any
enrl_grad_persist_4yr
enrl_grad_persist_2yr
last_hs_code
last_hs_name
enrl_ever_w2_grad_any
Analysis-Specific Sample Restrictions:
Ask Yourself
Possible Next Steps or Action Plans: Consider establishing MOUs with local community colleges to obtain detailed data on graduates’ postsecondary pursuits at two-year colleges (Course enrollment and transcript data) allowing agencies to explore persistence rates by assignment to remediation coursework.
Analytic Technique: Calculate the proportion of students who persist to the second year of college by the high school those students first attended.
// Persistence Rates to the Second Year of College by High School
// Step 1: Load the college-going analysis file into Stata
use "$data/college_going_analysis", clear
// Step 2: Keep students in high school graduation cohorts you can observe enrolling in college the fall after graduation
local chrt_grad_begin = ${chrt_grad_begin}
local chrt_grad_end = ${chrt_grad_end}
keep if (chrt_grad >= `chrt_grad_begin' & chrt_grad <= `chrt_grad_end')
// Step 3: Rename outcome variable names for simplicity
rename enrl_grad_persist_any persist_any
rename enrl_grad_persist_2yr persist_2yr
rename enrl_grad_persist_4yr persist_4yr
rename enrl_1oct_grad_yr1_any enrl_any
rename enrl_1oct_grad_yr1_2yr enrl_2yr
rename enrl_1oct_grad_yr1_4yr enrl_4yr
// Step 4: Obtain the agency-level average for persistence and enrollment
preserve
collapse (sum) persist_any enrl_4yr if enrl_4yr==1
tempfile agency_level_4yr
save `agency_level_4yr'
restore
preserve
collapse (sum) persist_any enrl_2yr if enrl_2yr==1
tempfile agency_level_2yr
save `agency_level_2yr'
restore
// Step 5: Obtain the school-level average for persistence and enrollment
preserve
collapse (sum) persist_any enrl_4yr if enrl_4yr==1, by(last_hs_code last_hs_name)
tempfile school_level_4yr
save `school_level_4yr'
restore
collapse (sum) persist_any enrl_2yr if enrl_2yr==1, by(last_hs_code last_hs_name)
// Step 6: Append on the previous agency-level and school-level files
append using `agency_level_4yr'
append using `agency_level_2yr'
append using `school_level_4yr'
// Step 7: Provide a hs name label for the agency average and shorten hs name
replace last_hs_code = 0 if last_hs_code == .
replace last_hs_name = "${agency_name} AVERAGE" if mi(last_hs_name)
replace last_hs_name = subinstr(last_hs_name, " High School", "", .)
// Step 8: Calculate percent persistence at 4-year and 2-year colleges and multiply outcomes of interest by 100 for graphical representation of the rates
gen pct_persist_any = persist_any / enrl_4yr
replace pct_persist_any = round((pct_persist_any * 100))
foreach type in 2yr 4yr {
gen pct_persist_`type' = persist_any / enrl_`type'
replace pct_persist_`type' = round((pct_persist_`type' * 100))
}
// Step 9: Drop any high schools with fewer than 20 students
drop if enrl_4yr < 20
drop if enrl_2yr < 20
// Step 10: Consolidate persistence data into single column and then reshape the data
gen n=2 if pct_persist_2yr~=.
replace n=4 if pct_persist_4yr~=.
replace pct_persist_4yr= pct_persist_2yr if pct_persist_4yr==.
keep last_hs_code last_hs_name pct_persist_4yr n
rename pct_persist_4yr pct_persist
reshape wide pct_persist, i(last_hs_name) j(n)
// Step 11: Prepare to graph the results
// Generate a cohort label to be used in the footnote for the graph
local temp_begin = `chrt_grad_begin'-1
local temp_end = `chrt_grad_end'-1
if `chrt_grad_begin'==`chrt_grad_end' {
local chrt_label "`temp_begin'-`chrt_grad_begin'"
}
else {
local chrt_label "`temp_begin'-`chrt_grad_begin' through `temp_end'-`chrt_grad_end'"
}
// Step 12: Graph the results
#delimit ;
graph bar pct_persist4 pct_persist2,
over(last_hs_name, label(angle(45)labsize(small)) sort(pct_persist4)) bargap(0) outergap(100)
bar(1, fcolor(dkorange) fi(inten70) lcolor(dkorange) lwidth(vvvthin))
bar(2, fcolor(navy) fi(inten60) lcolor(navy) lwidth(vvvthin))
blabel(total, position(outside) color(black) size(vsmall) format(%8.0f))
legend(label(1 "4-year College") label(2 "2-year College")
position(11) ring(1) symxsize(2) symysize(2) rows(2) size(small) region(lstyle(none) lcolor(none) color(none)))
title("College Persistence by High School, at Any College")
subtitle("Seamless Enrollers by Type of College")
ytitle("% of Seamless Enrollers")
yscale(range(0(20)100))
ylabel(0(20)100, nogrid)
graphregion(color(white) fcolor(white) lcolor(white))
plotregion(color(white) fcolor(white) lcolor(white))
note(" " "Sample: `chrt_label' ${agency_name} high school graduates. Postsecondary enrollment outcomes from NSC matched records."
"All other data from agency administrative records.", size(vsmall));
#delimit cr
graph export "figures/E1_Persistence_by_HS.png", replace width(1600) height(1200)
Purpose: This analysis provides a snapshot of persistence to the second year of college from one type of college to another for different high schools in the system. The left analysis charts explores how seamless enrollers in 4-year colleges either persist at a 4-year or switch to a 2-year. The right analysis charts how seamless enrollers in 2-year colleges either persist at a 2-year or switch to a 4-year.
Required Analysis File Variables:
sid
enrl_1oct_grad_yr1_any
enrl_1oct_grad_yr1_4yr
enrl_1oct_grad_yr1_2yr
enrl_grad_persist_any
enrl_grad_persist_4yr
enrl_grad_persist_2yr
last_hs_code
last_hs_name
Analysis-Specific Sample Restrictions:
Ask Yourself
Possible Next Steps or Action Plans: Create individual school-level reports for administrators and college counselors to communicate which postsecondary institutions are associated with greater rates of persistence. Additionally, conduct similar analyses that include more detailed institutional information that may be associated with students’ prospects of persisting (e.g. cost of tuition and room/board, financial aid, etc.).
Analytic Technique: Calculate the proportion of 4-yr college-goers who persist through four years of college by the postsecondary institution first attended and cumulative high school GPA category.
// Persistence Across Two-Year and Four-Year Colleges
// Step 1:Load the college-going analysis file into Stata
use "$data/college_going_analysis", clear
// Step 2: Keep students in high school graduation cohorts you can observe enrolling in college the fall after graduation
local chrt_grad_begin = ${chrt_grad_begin}
local chrt_grad_end = ${chrt_grad_end}
keep if (chrt_grad >= `chrt_grad_begin' & chrt_grad <= `chrt_grad_end')
// Step 3: Rename outcome variable names for simplicity
rename enrl_grad_persist_2yr persist_2yr
rename enrl_1oct_grad_yr1_2yr enrl_2yr
rename enrl_grad_persist_4yr persist_4yr
rename enrl_1oct_grad_yr1_4yr enrl_4yr
// Step 4: Create binary outcomes for enrollers who switch from 4-yr to 2-yr, or vice versa
gen persist_4to2yr = (enrl_4yr == 1 & enrl_1oct_grad_yr2_2yr == 1) if !mi(chrt_grad)
gen persist_2to4yr = (enrl_2yr == 1 & enrl_1oct_grad_yr2_4yr == 1) if !mi(chrt_grad)
// Step 5: Obtain the agency-level average for the different persistence outcomes
preserve
collapse (sum) persist_4yr persist_4to2yr enrl_4yr persist_2yr persist_2to4yr enrl_2yr
tempfile agency_level
save `agency_level'
restore
// Step 6: Obtain the school-level average for the different persistence outcomes
collapse (sum) persist_4yr persist_4to2yr enrl_4yr persist_2yr persist_2to4yr enrl_2yr, by(last_hs_code last_hs_name)
append using `agency_level'
// Step 7: Provide a hs name label for the agency average and shorten hs name
replace last_hs_name = "${agency_name} Average" if mi(last_hs_name)
replace last_hs_code = 0 if mi(last_hs_code)
replace last_hs_name = subinstr(last_hs_name, " High School", "", .)
// Step 8: Generate percentages for different persistence outcomes. Multiply outcomes of interest by 100 for graphical representations of the rates
gen pct_persist_4yr = persist_4yr / enrl_4yr
gen pct_persist_4to2yr = persist_4to2yr / enrl_4yr
gen pct_persist_2yr = persist_2yr / enrl_2yr
gen pct_persist_2to4yr = persist_2to4yr / enrl_2yr
foreach var in pct_persist_2yr pct_persist_2to4yr pct_persist_4yr pct_persist_4to2yr {
replace `var' = round((`var' * 100))
}
// Step 9: Create total persistence rates by summing up the other variables
gen total_persist_4yr = pct_persist_4yr + pct_persist_4to2yr
gen total_persist_2yr = pct_persist_2yr + pct_persist_2to4yr
//Step 10: Prepare to graph the results
// 1. Generate a cohort label to be used in the footnote for the graph
local temp_begin = `chrt_grad_begin'-1
local temp_end = `chrt_grad_end'-1
if `chrt_grad_begin'==`chrt_grad_end' {
local chrt_label "`temp_begin'-`chrt_grad_begin'"
}
else {
local chrt_label "`temp_begin'-`chrt_grad_begin' through `temp_end'-`chrt_grad_end'"
}
// 2. Generate graphing code to place value labels for the total persistence rates; change xpos (the position of the first leftmost label) and xposwidth (the horizontal width of the labels) to finetune.
foreach yr in 4 2 {
sort total_persist_`yr'yr
local total_persist_`yr'yr ""
local num_obs = _N
foreach n of numlist 1/`num_obs' {
local temp_total_persist_`yr'yr = total_persist_`yr'yr in `n'
local total_persist_`yr'yr `"`total_persist_`yr'yr' `temp_total_persist_`yr'yr'"'
}
local total_persist_`yr'yr_label ""
local xpos = 7
local xposwidth = 93.5
foreach val of local total_persist_`yr'yr {
local val_pos = `val' + 6
local total_persist_`yr'yr_label `"`total_persist_`yr'yr_label' text(`val_pos' `xpos' "`val'", size(2.1) color(gs7))"'
local xpos = `xpos' + `xposwidth'/_N
}
disp `"`total_persist_`yr'yr_label'"'
}
// Step 11: Graph the results (1/2) for seamless enrollers at 4-year colleges
#delimit ;
graph bar pct_persist_4yr pct_persist_4to2yr if enrl_4yr >= 20,
over(last_hs_name, label(angle(45)labsize(small)) sort(total_persist_4yr)) bargap(0) outergap(100)
bar(1, fcolor(dkorange) fi(inten70) lcolor(dkorange) lwidth(vvvthin))
bar(2, fcolor(navy) fi(inten60) lcolor(navy) lwidth(vvvthin)) stack
blabel(bar, position(inside) color(black) size(vsmall) format(%8.0f))
legend(label(1 "Persisted at 4-year College") label(2 "Switched to 2-year College")
position(11) order(2 1) ring(1) symxsize(2) symysize(2) rows(2) size(small) region(lstyle(none) lcolor(none) color(none)))
title("College Persistence by High School")
subtitle("Seamless Enrollers at 4-year Colleges")
`total_persist_4yr_label'
ytitle("Percent of Seamless Enrollers")
yscale(range(0(20)100))
ylabel(0(20)100, nogrid)
graphregion(color(white) fcolor(white) lcolor(white))
plotregion(color(white) fcolor(white) lcolor(white))
note(" " "Sample: `chrt_label' ${agency_name} high school graduates. Postsecondary enrollment outcomes from NSC matched records."
"All other data from agency administrative records.", size(vsmall));
#delimit cr
graph export "figures/E2a_Persistence_4yr_Seamless_Enrlers.png", replace width(1600) height(1200)
// Step 12: Graph the results (1/2) for seamless enrollers at 2-year colleges
#delimit ;
graph bar pct_persist_2yr pct_persist_2to4yr if enrl_4yr >= 20,
over(last_hs_name, label(angle(45)labsize(small)) sort(total_persist_2yr)) bargap(0) outergap(100)
bar(1, fcolor(navy) fi(inten60) lcolor(navy) lwidth(vvvthin))
bar(2, fcolor(dkorange) fi(inten70) lcolor(dkorange) lwidth(vvvthin)) stack
blabel(bar, position(inside) color(black) size(vsmall) format(%8.0f))
legend(label(2 "Switched to 4-year College") label(1 "Persisted at 2-year College")
position(11) order(2 1) ring(1) symxsize(2) symysize(2) rows(2) size(small) region(lstyle(none) lcolor(none) color(none)))
title("College Persistence by High School")
subtitle("Seamless Enrollers at 2-year Colleges")
`total_persist_2yr_label'
ytitle("Percent of Seamless Enrollers")
yscale(range(0(20)100))
ylabel(0(20)100, nogrid)
graphregion(color(white) fcolor(white) lcolor(white))
plotregion(color(white) fcolor(white) lcolor(white))
note(" " "Sample: `chrt_label' ${agency_name} high school graduates. Postsecondary enrollment outcomes from NSC matched records."
"All other data from agency administrative records.", size(vsmall));
#delimit cr
graph export "figures/E2b_Persistence_2yr_Seamless_Enrlers.png", replace width(1600) height(1200)
Purpose: This analysis reports enrollment and persistence rates among top-enrolling two- and four- year institutions attended by graduates. This analysis illuminates differences in persistence rates to the second year of college among top-enrolling postsecondary institutions. Agency staff that advise students during their senior year may find this information useful when meeting to weigh college options.
Required Analysis File Variables:
sid
enrl_1oct_grad_yr1_any
enrl_1oct_grad_yr1_4yr
enrl_1oct_grad_yr1_2yr
enrl_grad_persist_any
enrl_grad_persist_4yr
enrl_grad_persist_2yr
first_college_name_any
first_college_name_2yr
first_college_name_4yr
** Analysis-Specific Sample Restrictions:**
Ask Yourself
Analytic Technique: Calculate the proportion of college-goers attending top-enrolling 2- and 4-year institutions, as well as the proportion of seamless enrollers who persist to the second year of any college, by the postsecondary institution graduates first attended.
// Top-Enrolling Colleges/Universities of Agency Graduates
// Step 1: Load the college-going analysis file into Stata
use "$data/college_going_analysis", clear
// Step 2: Keep students in high school graduation cohorts you can observe enrolling in college the fall after graduation
local chrt_grad_begin = ${chrt_grad_begin}
local chrt_grad_end = ${chrt_grad_end}
keep if (chrt_grad >= `chrt_grad_begin' & chrt_grad <= `chrt_grad_end')
// Step 3: Indicate the number of top-enrolling institutions you would like listed
local num_inst = 5
// Step 4: Calculate the number and % of students enrolled in each college the fall after graduation,
// and the number and % of students persisting, by college type
// 1. Calculate for 4-year colleges
preserve
collapse (sum) enrl_1oct_grad_yr1_4yr enrl_grad_persist_4yr, by(first_college_name_4yr)
keep if !mi(first_college_name_4yr)
egen total_enrolled = sum(enrl_1oct_grad_yr1_4yr)
egen total_persisted = sum(enrl_grad_persist_4yr)
gen pct_enrolled_college = round((enrl_1oct_grad_yr1_4yr / total_enrolled)*100, .1)
gen pct_persist_college = round((enrl_grad_persist_4yr / enrl_1oct_grad_yr1_4yr)*100, .1)
format pct* %3.1f
rename enrl_1oct_grad_yr1_4yr enrl_1oct_grad_yr1
rename enrl_grad_persist_4yr enrl_grad_persist
rename first_college_name_4yr first_college_name
gen type = "4yr"
tempfile college_4yr
save `college_4yr'
restore
// 2. Calculate for 2-year colleges, and append the information for 4-year colleges
collapse (sum) enrl_1oct_grad_yr1_2yr enrl_grad_persist_2yr, by(first_college_name_2yr)
keep if !mi(first_college_name_2yr)
egen total_enrolled = sum(enrl_1oct_grad_yr1_2yr)
egen total_persisted = sum(enrl_grad_persist_2yr)
gen pct_enrolled_college = round((enrl_1oct_grad_yr1_2yr / total_enrolled)*100, .1)
gen pct_persist_college = round((enrl_grad_persist_2yr / enrl_1oct_grad_yr1_2yr)*100, .1)
format pct* %3.1f
rename enrl_1oct_grad_yr1_2yr enrl_1oct_grad_yr1
rename enrl_grad_persist_2yr enrl_grad_persist
rename first_college_name_2yr first_college_name
gen type = "2yr"
append using `college_4yr'
// Step 5: Create Table 1 with all 2-year and 4-year colleges listed
preserve
// 1. Create two observations, one for each college type
local newrows = _N+2
set obs `newrows'
replace type="2yr" if _n==_N-1
replace type="4yr" if _n==_N
replace first_college_name = "ALL 2-YEAR COLLEGES" if type=="2yr" & mi(first_college_name)
replace first_college_name = "ALL 4-YEAR COLLEGES" if type=="4yr" & mi(first_college_name)
// 2. Populate the new observations
foreach type in 2 4 {
summ total_enrolled if type == "`type'yr"
replace enrl_1oct_grad_yr1 = r(mean) if first_college_name=="ALL `type'-YEAR COLLEGES"
summ total_persisted if type == "`type'yr"
replace enrl_grad_persist = r(mean) if first_college_name=="ALL `type'-YEAR COLLEGES"
}
replace pct_enrolled_college = 100 if mi(pct_enrolled_college)
// 3. Retain, reorder, and rename necessary variables
keep first_college_name enrl_1oct_grad_yr1 enrl_grad_persist pct_enrolled_college pct_persist_college type
order first_college_name enrl_1oct_grad_yr1 pct_enrolled_college enrl_grad_persist pct_persist_college type
gen rank = (regexm(first_college_name, "ALL"))
gsort -type rank -enrl_1oct_grad_yr1
drop rank type
rename first_college_name College_Name
rename enrl_1oct_grad_yr1 Number_Enrolled
rename pct_enrolled_college Percent_Enrolled
rename enrl_grad_persist Number_Persisted
rename pct_persist_college Percent_Persisted
// 4. Outsheet Table 1 into a csv file
outsheet using "${figures}/E3_Top_Enrl_Col_Institutions_Table_1.csv", comma replace
restore
// Step 6: Create Tables 2 and 3 with the number of institutions you wanted to list in Step 3 for 4-year (Table 2) and 2-year (Table 3) colleges, respectively
// 1. Identify the five top-enrolling 2- and 4-year institutions (5 based on the number you selected in step 3)
gsort type -pct_enrolled_college
gen rank_2yr = _n in 1/`num_inst'
gsort -type -pct_enrolled_college
gen rank_4yr = _n in 1/`num_inst'
// 2. Calculate the remaining proportion of students attending other 2- and 4-year colleges for purposes of populating the "Other" line (all other 2- and 4-year colleges beyond the number selected) in the table.
foreach type in 2yr 4yr {
egen other_number_`type'_temp = sum(enrl_1oct_grad_yr1) if mi(rank_`type') & type=="`type'"
egen other_number_`type' = max(other_number_`type'_temp)
egen other_pct_`type'_temp = sum(pct_enrolled_college) if mi(rank_`type') & type=="`type'"
egen other_pct_`type' = max( other_pct_`type'_temp)
egen other_number_persist_`type'_temp = sum(enrl_grad_persist) if mi(rank_`type') & type=="`type'"
egen other_number_persist_`type' = max(other_number_`type'_temp)
drop *_temp
}
keep if !mi(rank_2yr) | !mi(rank_4yr)
// 3. Create four new rows, one per college type for total counts and one per college type for colleges other than the top-enrolling ones
local newrows = _N+4
set obs `newrows'
replace type="2yr" if _n==_N-2 | _n==_N-3
replace type="4yr" if _n==_N | _n==_N-1
replace first_college_name = "OTHER 2-YEAR COLLEGES" if type=="2yr" & mi(first_college_name) & _n==_N-3
replace first_college_name = "ALL 2-YEAR COLLEGES" if type=="2yr" & mi(first_college_name) & _n==_N-2
replace first_college_name = "OTHER 4-YEAR COLLEGES" if type=="4yr" & mi(first_college_name) & _n==_N-1
replace first_college_name = "ALL 4-YEAR COLLEGES" if type=="4yr" & mi(first_college_name) & _n==_N
// 4. Populate the new rows
foreach type in 2 4 {
summ total_enrolled if type == "`type'yr"
replace enrl_1oct_grad_yr1 = r(mean) if first_college_name=="ALL `type'-YEAR COLLEGES"
summ total_persisted if type == "`type'yr"
replace enrl_grad_persist = r(mean) if first_college_name=="ALL `type'-YEAR COLLEGES"
summ other_number_`type'yr if type == "`type'yr"
replace enrl_1oct_grad_yr1 = r(mean) if first_college_name=="OTHER `type'-YEAR COLLEGES"
summ other_pct_`type'yr if type == "`type'yr"
replace pct_enrolled_college = r(mean) if first_college_name=="OTHER `type'-YEAR COLLEGES"
summ other_number_persist_`type'yr if type == "`type'yr"
replace enrl_grad_persist = r(mean) if first_college_name=="OTHER `type'-YEAR COLLEGES"
}
replace pct_enrolled_college = 100 if mi(pct_enrolled_college)
// 5. Retain, reorder, and rename necessary variables
keep first_college_name enrl_1oct_grad_yr1 enrl_grad_persist pct_enrolled_college pct_persist_college type
order first_college_name enrl_1oct_grad_yr1 pct_enrolled_college enrl_grad_persist pct_persist_college type
gen rank = (regexm(first_college_name, "ALL"))
replace rank = 0.5 if regexm(first_college_name, "OTHER")
gsort -type rank -enrl_1oct_grad_yr1
drop rank
rename first_college_name College_Name
rename enrl_1oct_grad_yr1 Number_Enrolled
rename pct_enrolled_college Percent_Enrolled
rename enrl_grad_persist Number_Persisted
rename pct_persist_college Percent_Persisted
// 6. Outsheet Table 2 (4-year colleges) into a csv file
preserve
keep if type=="4yr"
drop type
// This is what the csv looks like
list * if _n <=5, table
outsheet using "figures/E3_Top_Enrl_Col_Institutions_Table_2.csv", comma replace
restore
// 7. Outsheet Table 3 (2-year colleges) into a csv file
preserve
keep if type=="2yr"
drop type
// This is what the csv looks like
list * if _n <=5, table
outsheet using "figures/E3_Top_Enrl_Col_Institutions_Table_3.csv", comma replace
restore


The 'Solution for Africa' is an all Zambia Character organization, dedicated to imparting knowledge, skills and awareness amongst the poorest strata of the society with emphasis on employment generation, looking after destitute, empowering women, water harvesting, preventing AIDS and other health hazards, drug de-addiction, witness protection and awareness about environment and hygiene.
More About UsSpecial design and implementation of Women policies and programmes
To help the Youth as their imagination, ideals, considerable energies and vision are essential for the continuing development of the societies in which they live
Young people in all parts of the world, living in countries at different stages of development and in different socio-economic settings, aspire to full participation in the life of society. Young people represent agents, beneficiaries and victims of major societal changes and are generally confronted by a paradox: to seek to be integrated into an existing order or to serve as a force to transform that order. Empowering women has become the key element in the development of an economy. With women moving forward, the family moves, the village moves and the nation moves. Hence, improving the status of women by way of their economic empowerment is highly called for.


head_ref_force_pushed
by James R. Griffin III at 2019-11-13 16:38:08.This was fixed by #39
closed
by Esmé Cowles at 2019-11-13 13:02:14.labeled
by Esmé Cowles at 2019-11-13 13:12:27.closed
by Cliff Wulfman at 2019-11-12 22:06:08.referenced
by Cliff Wulfman at 2019-11-12 22:06:09.referenced
by Cliff Wulfman at 2019-11-12 22:06:07.merged
by Cliff Wulfman at 2019-11-12 22:06:07.closed
by Cliff Wulfman at 2019-11-12 22:06:08.head_ref_deleted
by Cliff Wulfman at 2019-11-12 22:06:19.mentioned
by None at 2019-11-13 12:59:31.subscribed
by None at 2019-11-13 12:59:31.I think those are the static pages generated from the test fixture data
Do we know why they are changing? It seems like it would be good to have the changes committed as part of the PR that caused the change (or .gitignore the generated pages).
labeled
by None at 2019-11-13 15:59:12.It's weird that puluvrails came back. Is this not rebased @hackmastera ?
mentioned
by None at 2019-11-13 17:22:36.subscribed
by None at 2019-11-13 17:22:36.Not related to the puluvrails change, since that's not deployed yet.
@cwulfman It's loading in Opera for me on a Mac in production.
It's an extension problem: Privacy Badger Version 2019.10.28 in Opera Version:64.0.3417.92. Disabling Privacy Badger allows proper behavior, as does adding cicognara.org to Privacy Badger's list of disabled sites. I've sent a report to Privacy Badger.
labeled
by Cliff Wulfman at 2019-11-13 14:01:50.mentioned
by Cliff Wulfman at 2019-11-13 17:24:45.subscribed
by Cliff Wulfman at 2019-11-13 17:24:45.closed
by Cliff Wulfman at 2019-11-13 17:44:22.assigned
by Trey Pendragon at 2019-11-13 18:17:37.referenced
by Trey Pendragon at 2019-11-13 18:24:12.referenced
by Trey Pendragon at 2019-11-13 18:34:14.head_ref_force_pushed
by Trey Pendragon at 2019-11-13 18:34:14.Hi @jrgriffiniii and @kayiwa , one of my students (Luke Geiger) contacted me about Symplectic Elements - he said he was able to log-in to Symplectic Elements with his Princeton NetID and password, but that he doesn't have permission to "impersonate" any users. Do Luke and the other students have access to all Symplectic collections? They need this in order to deposit content on behalf of users - the OARTRAIN account was configured to allow access to all collections and that's what we need for the individual student accounts, too. Thanks!
mentioned
by Francis Kayiwa at 2019-11-13 18:18:42.subscribed
by Francis Kayiwa at 2019-11-13 18:18:42.mentioned
by James R. Griffin III at 2019-11-13 18:18:42.subscribed
by James R. Griffin III at 2019-11-13 18:18:42.renamed
by James R. Griffin III at 2019-11-13 14:05:11.Interesting. Is this related to the segfault problem? Can we just set this in the test environment for the app?
I don't remember why we made that optional — but it's been like that since the beginning of Figgy: https://github.com/pulibrary/figgy/blob/master/spec/spec_helper.rb#L2
I would be fine with just making that happen by default instead of having a conditional.
It's a part of the suspenders default setup. We should just remove the conditional
head_ref_force_pushed
by Esmé Cowles at 2019-11-13 16:29:25.renamed
by Esmé Cowles at 2019-11-13 16:29:35.referenced
by Trey Pendragon at 2019-11-13 18:05:02.merged
by Trey Pendragon at 2019-11-13 18:05:02.closed
by Trey Pendragon at 2019-11-13 18:05:02.head_ref_deleted
by Trey Pendragon at 2019-11-13 18:05:05.head_ref_force_pushed
by None at 2019-11-13 14:56:38.referenced
by None at 2019-11-13 14:57:45.merged
by None at 2019-11-13 14:57:45.closed
by None at 2019-11-13 14:57:45.head_ref_deleted
by None at 2019-11-13 14:58:00.referenced
by Peter Green at 2019-11-13 17:18:07.merged
by Peter Green at 2019-11-13 17:18:07.closed
by Peter Green at 2019-11-13 17:18:07.head_ref_deleted
by Peter Green at 2019-11-13 17:18:36.Changes made per above. Thanks!
renamed
by None at 2019-11-13 13:22:44.review_requested
by None at 2019-11-13 13:24:44.referenced
by None at 2019-11-13 18:59:55.merged
by None at 2019-11-13 18:59:55.closed
by None at 2019-11-13 18:59:55.head_ref_deleted
by None at 2019-11-13 18:59:58.assigned
by None at 2019-11-13 19:55:57.head_ref_force_pushed
by None at 2019-11-13 21:21:03.I've started to restructure the functionality for this, and I'm working to POST the initially fetched values into a separate Solr Collection: https://github.com/pulibrary/orangelight/compare/issues-1626-jrgriffiniii-facet-browse-lists
As call number values are a slightly more complex case, I shall prioritize working with names and other facets in order to proceed with this work.
Apologies if this lies outside of the original scope of this issue (I might be increasing this into an epic, and I can split this out as needed), but it should noted that maintaining a separate Solr Collection for the browse list facet values is far more desireable given that there should be additional information stored in each Document in response to the work being undertaken by the Authorities Committee.
ping @cwulfman OK?
mentioned
by Cliff Wulfman at 2019-11-13 14:31:18.subscribed
by Cliff Wulfman at 2019-11-13 14:31:18.assigned
by None at 2019-11-13 17:16:40.review_requested
by Francis Kayiwa at 2019-11-13 17:11:46.referenced
by None at 2019-11-13 17:19:22.merged
by None at 2019-11-13 17:19:22.closed
by None at 2019-11-13 17:19:22.head_ref_deleted
by None at 2019-11-13 17:19:26.Two failing checks relate to billing structure.
review_requested
by Francis Kayiwa at 2019-11-13 18:12:00.referenced
by Peter Green at 2019-11-13 18:21:56.merged
by Peter Green at 2019-11-13 18:21:56.closed
by Peter Green at 2019-11-13 18:21:56.mentioned
by Francis Kayiwa at 2019-11-13 19:07:38.subscribed
by Francis Kayiwa at 2019-11-13 19:07:38.@kayiwa I can merge this, but I don't really understand. Are the letsencrypt keys here already?
@kayiwa I can merge this, but I don't really understand. Are the letsencrypt keys here already?
ran those manually this AM. May need to make that a mounted share though.
review_requested
by Francis Kayiwa at 2019-11-13 14:15:40.mentioned
by Francis Kayiwa at 2019-11-13 18:40:06.subscribed
by Francis Kayiwa at 2019-11-13 18:40:06.mentioned
by Francis Kayiwa at 2019-11-13 18:44:31.subscribed
by Francis Kayiwa at 2019-11-13 18:44:31.referenced
by Trey Pendragon at 2019-11-13 19:17:34.merged
by Trey Pendragon at 2019-11-13 19:17:34.closed
by Trey Pendragon at 2019-11-13 19:17:35.head_ref_deleted
by Trey Pendragon at 2019-11-13 19:17:38.review_requested
by Francis Kayiwa at 2019-11-13 19:27:32.referenced
by Francis Kayiwa at 2019-11-13 19:29:36.merged
by Francis Kayiwa at 2019-11-13 19:29:36.closed
by Francis Kayiwa at 2019-11-13 19:29:36.head_ref_deleted
by Peter Green at 2019-11-13 19:36:45.referenced
by Cliff Wulfman at 2019-11-13 15:57:44.merged
by Cliff Wulfman at 2019-11-13 15:57:44.closed
by Cliff Wulfman at 2019-11-13 15:57:44.renamed
by Shaun Ellis at 2019-11-13 21:23:58.renamed
by Axa Mei Liauw at 2019-11-13 19:17:30.head_ref_force_pushed
by Axa Mei Liauw at 2019-11-13 19:49:33.


{% extends 'layout.html' %} {% block pageTitle %} NHS login - Invite has been sent {% endblock %} {% block content %}
We have sent an invite to {{ data.firstName or 'Bob' }} {{ data.lastName or 'Smith' }} at {{ data.firstName or 'Bob' }}.{{ data.lastName or 'Smith'<EMAIL_ADDRESS>with a secure link that will expire within 7 days. {{ data.firstName or 'Bob' }} must follow this link to respond to your invite.
If {{ data.firstName or 'Bob' }} does not respond within 7 days, you will need to send them another invite.
Go back to your NHS login settings if you want to add someone else to act on your behalf.


pop menutest
Admin Dash
Dashboard
Analytics
Projects
Billing
Users
Logout
Hubtee CMS Platform
Website Statistics
Content 2


This structure stores information about all the A/D converter channels.
Fields- wSampleRate
-
Stores the A/D converter sampling rate in Hz.
- wSamplesPerUpdate
-
Stores the A/D oversampling rate.
- wValueRange
-
Stores the A/D oversampling value range.
- bValueDivisor
-
Stores the A/D oversampling divisor.
- bNumChannels
-
Stores the number of A/D channels in used.
- wSamples
-
Stores the number of samples accumulated so far for each channel.
- bUpdateCount
-
Stores the number of oversampled updates.
- bChannelIndex
-
Stores the next channel index for sampling.
- Channels
-
Stores the information of each A/D converter channel.
|


Hi
Best Score:
0
Best Streak:
0
Addition
Subtraction
Multiplication
Mixed
Have fun doing maths
Launch demo modal
Enter a nickname
×
Type a nickname below


api.
Blob
¶The result of executing a command on your local system.
Under the hood, a Blob is just a string, but we wrap it this way so Tilt knows the difference between a string meant to convey content and a string indicating, say, a filepath.
To wrap a string as a blob, call blob(my_str)
api.
CustomBuild
¶An image that was created with custom_build()
add_fast_build
()¶Returns a FastBuild that is associated with the image that was built from a custom_build
. When the container needs to be rebuilt it will be built using the CustomBuild
. Otherwise update will be done with the FastBuild
instructions.
| Return type: | FastBuild |
|---|
api.
FastBuild
¶An image that was created with fast_build
add
(src, dest)¶Adds the content from src
into the image at path dest
.
| Parameters: |
|
|---|---|
| Return type: |
hot_reload
()¶Setting this on a FastBuild
image tells Tilt that this container knows how to automatically reload any changes in the container. As a result there is no need to restart it.
This is useful for containers that run something like nodemon or webpack Hot Module Replacement to update running processes quickly.
| Return type: | None |
|---|
run
(cmd, trigger=[])¶Runs cmd
as a build step in the image.
| Parameters: |
|
|---|---|
| Return type: |
|
api.
K8sObjectID
¶name
¶The object’s name (e.g., “my-service”)
| Type: | str |
|---|
kind
¶The object’s kind (e.g., “deployment”)
| Type: | str |
|---|
namespace
¶The object’s namespace (e.g., “default”)
| Type: | str |
|---|
group
¶The object’s group (e.g., “apps”)
| Type: | str |
|---|
api.
LiveUpdateStep
¶A step in the process of performing a LiveUpdate on an image’s container.
For details, see the Live Update documentation.
api.
TriggerMode
¶A set of constants that describe how Tilt triggers an update for a resource. Possible values are:
TRIGGER_MODE_AUTO
: the default. When Tilt detects a change to files or config files associated with this resource, it triggers an update.TRIGGER_MODE_MANUAL
: user manually triggers update for dirty resources (i.e. resources with pending changes) via a button in the UI. (Note that the initial build always occurs automatically.)The default trigger mode for all manifests may be set with the top-level function trigger_mode()
(if not set, defaults to TRIGGER_MODE_AUTO
), and per-resource with k8s_resource()
/ dc_resource()
.
See also: Manual Update Control documentation


Coronavirus disease (COVID-19) is an infectious disease caused by a newly discovered coronavirus.
Most people infected with the COVID-19 virus will experience mild to moderate respiratory illness and recover
without requiring special treatment. Older people, and those with underlying medical problems like cardiovascular
disease, diabetes, chronic respiratory disease, and cancer are more likely to develop serious illness.
The best way to prevent and slow down transmission is to be well informed about the COVID-19 virus, the disease it
causes and how it spreads. Protect yourself and others from infection by washing your hands or using an alcohol
based rub frequently and not touching your face.
Here below you can fetch details about things going around the world and your own country.


Card Tweaks
Recognize
group
Recognize
hashtags
Recognize
custom tags
Recognize
time entries
Recognize
priority
(medium, high, critical)
Recognize
points
Render simple markup
Display card numbers
Display full-sized labels
Labels size:
Small
Medium
Large
Card Details Tweaks
Beautify Card Description
Hide "Activity" entries
Board Tweaks
Apply custom background
Show list stats
Use progress bar in list stats
Compact Board
Hide "Add a list.." input
Apply custom CSS


{{#if viewingPopup}}
{{#each playerToDisplay}}
{{playername}}
{{#if formerName}}
(Formerly: {{oldplayername}}
{{/if}}
{{/each}}
{{/if}}
- reddit: {{reddit}}
- position: {{position}}
- days: {{days}}
- server: {{server}}
- mic: {{mic}}
- league: {{league}}
- note: {{note}}
- time_played: {{time_played}}
- location: {{location}}


What I do
Who am I?
Hello! My name is Vladimir, I am a freelance front-end developer based in Riga, looking for my first (full-time office) job in IT. I work with HTML5, CSS3, JavaScript, Git and a bit of Wordpress, and am currently studying JavaScript frameworks. I like developing sites which both look good and are functional.
I came to Riga in 2018 for family reasons. Prior to that, I worked as a graphic designer in a prepress and design studio in Belgrade, Serbia for more than seven years. Last year I discovered coding and started to self-study web development which became my passion (and obsession :) ).
If you have an open junior developer position, please let me know!
Contact
Latvia: +371 23 88 22 94
Serbia: +381 64 23 22 155
Riga, Latvia
vladimir.d.simic@gmail.com


--- layout: page title: "Meetings" description: "Regular OGGM meetings: calls and workshops" header-img: "img/backgrounds/members.jpg" ---
OGGM holds check-in meetings every second Wednesday. The meetings are held on Slack (reach out if you want to join in). These meetings are open to anyone!
Currently the meeting is at 16:00 CET/CEST, but we can change this to accommodate for other time zones. A google calendar has been setup with these regular times (GCAL / ICAL):
And here are the meeting notes (use this link to edit, as the display below might be slow):
These workshops are held at a different location each year! Watch out this website and CRYOLIST for the next workshop announcement!


|
| enum | RecordCEntryFrame { kIncludeCEntryFrame,
kSkipCEntryFrame
} |
| |
|
| void | Init (Isolate *isolate, const v8::RegisterState &state, RecordCEntryFrame record_c_entry_frame, bool update_stats, bool use_simulator_reg_state=true) |
| |
|
|
StateTag | state |
| |
|
void * | pc |
| |
|
union { |
|
void * tos |
| |
|
void * external_callback_entry |
| |
| }; | |
| |
|
void * | stack [kMaxFramesCount] |
| |
|
unsigned | frames_count: kMaxFramesCountLog2 |
| |
|
bool | has_external_callback: 1 |
| |
|
bool | update_stats: 1 |
| |
|
|
static const unsigned | kMaxFramesCountLog2 = 8 |
| |
|
static const unsigned | kMaxFramesCount = (1 << kMaxFramesCountLog2) - 1 |
| |
| static bool v8::TickSample::GetStackSample |
( |
Isolate * |
isolate, |
|
|
v8::RegisterState * |
state, |
|
|
RecordCEntryFrame |
record_c_entry_frame, |
|
|
void ** |
frames, |
|
|
size_t |
frames_limit, |
|
|
v8::SampleInfo * |
sample_info, |
|
|
bool |
use_simulator_reg_state = true |
|
) |
| |
|
static |
Get a call stack sample from the isolate.
- Parameters
-
| isolate | The isolate. |
| state | Register state. |
| record_c_entry_frame | Include or skip the runtime function. |
| frames | Caller allocated buffer to store stack frames. |
| frames_limit | Maximum number of frames to capture. The buffer must be large enough to hold the number of frames. |
| sample_info | The sample info is filled up by the function provides number of actual captured stack frames and the current VM state. |
| use_simulator_reg_state | When set to true and V8 is running under a simulator, the method will use the simulator register state rather than the one provided with |state| argument. Otherwise the method will use provided register |state| as is. |
- Note
- GetStackSample is thread and signal safe and should only be called when the JS thread is paused or interrupted. Otherwise the behavior is undefined.
| void v8::TickSample::Init |
( |
Isolate * |
isolate, |
|
|
const v8::RegisterState & |
state, |
|
|
RecordCEntryFrame |
record_c_entry_frame, |
|
|
bool |
update_stats, |
|
|
bool |
use_simulator_reg_state = true |
|
) |
| |
Initialize a tick sample from the isolate.
- Parameters
-
| isolate | The isolate. |
| state | Execution state. |
| record_c_entry_frame | Include or skip the runtime function. |
| update_stats | Whether update the sample to the aggregated stats. |
| use_simulator_reg_state | When set to true and V8 is running under a simulator, the method will use the simulator register state rather than the one provided with |state| argument. Otherwise the method will use provided register |state| as is. |
The documentation for this struct was generated from the following file:


Converse User Story
Ashon tells you “Do you know about converse mode?”
> tell ashon No
You tell Ashon “No”
Ashon tells you “Type ‘converse ashon’ and type away!”
> converse ashon
You start conversing with Ashon.
(!) Welcome to your first conversation.
* Everything you type will now be relayed as a conversation instead of as a command.
* Type ‘.end’ to stop conversing.
* Type ‘.help converse’ for more detailed information.
tell ashon> Testing
You tell Ashon “Testing”
tell ashon> Wow this is awesome!
You tell Ashon “Wow this is awesome!”
Ashon tells you “Yeah, saves time. Use . to preface actual commands like .sit”
tell ashon> .hug ashon
You hug Ashon.
tell ashon>
Ashon tells you “Use ‘end’ to end the conversation.”
tell ashon> Why? Now I can bug you relentlessly!
You tell Ashon “Why? Now I can bug you relentlessly!”
Ashon tells you “Ha ha.”
tell ashon> .end
>
Additional notes:
- Basically a special command processor mode which "falls back" to the regular command processor with input that started with "." (after stripping the "." for the fallback attempt).
- Some edge cases to consider deeper might be that other special modes could potentially kick in, like after issuing a "dot command" which resulted in Paging mode or Y/N confirmations, etc. Perhaps the user just has to keep "dotting" those interactions like ".Y" to confirm, or ".end" to ineract and then go back to conversation mode.
- Note that the prompt change from ">" serves as a continuous reminder that the user is in converse mode, since forgetting can result in sending what was intended as a command to the target. This could be especially helpful if they step away for a few minutes and forgot; their command attempts would be sent as commands.
- Similarly, after idling for a minute or so: Perhaps the user could be warned and then automatically kicked out of converse mode.
- If a player loses their connection, we could automatically inform anyone conversing at them (if they have permission to know this).


http://www.speakers-podium.com/susangranger.
Susan Granger's review of "TEA WITH MUSSOLINI" (G2, an MGM Company release)
Based on Franco Zeffirelli's own childhood in Florence, this comedy-drama tells the story of the five extraordinary women who care for Luca, a boy born out of wedlock, while resisting the madness of war that sweeps across Europe during the '30s and '40s. Known as the Scorpioni, for their biting wit, these feisty British and American expatriate females adore Italy and refuse to leave. Instead, they arrogantly defy the mercurial officials, trusting in the autocratic widow of the British Ambassador to Italy, Maggie Smith, who once had tea with the Fascist leader who assured her that no harm would ever come to her and her friends. As Luca's father's secretary/translator, Joan Plowright is entrusted with the boy's care as a surrogate mother. She works hard to make him "a proper English gentleman," teaching him about Shakespeare, while Judi Dench gives him an appreciation of drawing and art.  As England and America enter W.W.II, the women become "enemy aliens" in their adopted homeland. Scripted by John Mortimer, their story is colorfully dramatized in lush settings and exquisitely photographed by cinematographer David Watkin (Oscar winner for "Out of Africa"). The only discordant note is Zeffirelli's overly sentimental depiction of the Italian and German soldiers. On the Granger Movie Gauge of 1 to 10, "Tea With Mussolini" is an irresistibly joyous, opulent 9, featuring insightful performances from some of the greatest actresses on the screen today. The film is a delightful treasure.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


|
BitMagic-C++
|
Elias Gamma decoder. More...
#include <encoding.h>
Public Member Functions | |
| gamma_decoder (TBitIO &bin) | |
| void | start () |
| Start encoding sequence. More... | |
| void | stop () |
| Stop decoding sequence. More... | |
| T | operator() (void) |
| Decode word. More... | |
| gamma_decoder (TBitIO &bin) | |
| void | start () |
| Start encoding sequence. More... | |
| void | stop () |
| Stop decoding sequence. More... | |
| T | operator() (void) |
| Decode word. More... | |
Elias Gamma decoder.
Definition at line 516 of file encoding.h.
|
inline |
Definition at line 519 of file encoding.h.
Referenced by bm::gamma_decoder< T, TBitIO >::operator()().
|
inline |
|
inline |
Decode word.
Definition at line 65 of file bmgamma.h.
References bm::gamma_decoder< T, TBitIO >::gamma_decoder().
|
inline |
Decode word.
Definition at line 537 of file encoding.h.
|
inline |
|
inline |
Start encoding sequence.
Definition at line 525 of file encoding.h.
|
inline |
|
inline |
Stop decoding sequence.
Definition at line 531 of file encoding.h.


{include file="public:seo_header" /} {include file="public:link_resource" /}
{include file="public/header" /}
{$comic_info.name} Manga
Status
{$comic_info.state}
Artist
{if condition="!empty($comic_info.artist)"} {volist name="comic_info.artist" id="vo" key="k"} {if($k != 1)} , {/if}
{$vo}
{/volist} {else/} Anonymous {/if}
Type
manga
Genres
{volist name="classification_list" id="vo" key="k" }
{if condition="$k!=1"},{/if}{$vo.name}
{/volist}
Views
{$comic_info.views}
{$comic_info.name} Mange English
{$comic_info.intro}
{$comic_info.name} Related Manga
{volist name="recommend_comic_list" id="vo"}
{$vo.name}
{/volist}
{$comic_info.name} Chapters
Facebook
{include file="public:footer"/} {include file="public:return_to_top"/}


COM2003 Automata, Logic and Computation
| Summary |
This module introduces the mathematical and logical foundations and tools for modelling and analysing computing systems, incl. state machines, formal languages, logics, proof systems, and proof search procedures. |
| Session |
Academic Year 2018/19 |
| Credits |
20 |
| Assessment |
Formal examination. |
| Lecturer(s) |
Dr Kirill Bogdanov & Prof. Georg Struth |
| Resources |
|
| Aims |
This unit aims to:
- introduce machine models (i.e. models of computation) and the corresponding notions of formal languages;
- introduce the notion of logics;
- provide an awareness of the fundamental principles of formal logics and their applications in computer science;
- enhance analytical and logical skills in reasoning abstractly (about computation and computing systems);
- provide a thorough grounding for more advanced theory courses.
|
| Objectives |
By the end of the unit, a candidate will:
- use different machine models and the formal languages they are able to recognise;
- be able to reason about the computational limitations of different machines;
- be equipped to use logics for formalising logical arguments and mathematical proofs;
- be able to use formal logics for modelling and reasoning about computing and control systems;
- understand applications of logic in areas such as type theory, program and systems correctness, or program security
|
| Content |
Semester 1
- finite automata and regular languages
- pushdown automata and context free languages
- Turing machines and decidability
Semester 2
- syntax and semantics of propositional and predicate logic
- natural deduction systems for these logics
- applications of logic in computing and systems engineering (e.g. automated and interactive theorem proving, basics of model checking, types in programming)
|
| Teaching Method |
Lectures and tutorial sessions. |
| Feedback |
Feedback on tutorial exercises. |
| Recommended Reading |
- Sipser, M. Introduction to the Theory of Computation (2nd ed.) Thompson, 2006.
- John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. Introduction to Automata Theory, Language and Computation, Addison-Wesley, 2007.
- Dexter C. Kozen "Automata and Computability" Springer, 1997.
- Michael Huth and Mark Ryan "Logic in Computer Science: Modelling and Reasoning about Systems", Cambridge University Press, 2004.
|
|


{% include "scaffold/incbootstrap.html" %}
There are {{ count_submissions }} submission(s) in total to date.
Note: you may change you vote at any time upto the close of the round.
Early votes will be saved and can be revised.


Beverly Hannah
Responsive Websites in HTML, CSS, JavaScript
github.com/beverlywu
JavaScript - Kids Alarm Clock
November 2020 -
Demo
|
Github Repo
JavaScript - Magic 8 Ball
November 2020 -
Demo
|
Github Repo
Javascript - USA Presidential Election Map
November 2020 -
Demo
|
GitHub Repo
Responsive Website - Unplugged Retreat
November 2020 -
Demo
|
GitHub Repo
Responsive Website - Recipe Collection
November 2020 -
Demo
|
GitHub Repo


---
title: "PLEIN AIR LANDSCAPE WORKSHOP"
date: "2000-01-01 20:05:19 -06:00"
categories:
- adult
subtitle: "Watercolor"
layout: "events"
event-image: "plein-air-painting.jpg"
event-dates: "TUESDAYS, MAY 19 - JULY 7"
event-location: "Red Butte Garden"
button-type: "register"
tickets-link: "https://continue.utah.edu/lifelong/class/llart_170_plein_air_landscape_workshop__watercolor"
registration-info: "Limited to 10 Participants
"
instructor-info: "Richard Vroom, Artist"
member-cost: "$200"
public-cost: "$229"
event-notes: "watercolor"
tickets-button: ""
published: false
---
REGISTRATION REQUIRED
TUESDAYS, MAY 19 - JULY 7
5:30 - 8:30PM
Enjoy the warm summer evenings as you create small-scale landscapes in the Garden. Students will view demonstrations and receive exercises in washes, blending, wet on wet, lifting, brushstrokes, glazing, and drybrush. Instruction in composition, positive and negative space, value studies, and color theory will round out the offering. Painting topics will include landscapes, still life, and water reflections. You are responsible for your materials, click on materials link below or call<PHONE_NUMBER>.
Co-sponsored with Lifelong Learning. This class is limited to 10. (LLART 170)


Web development with different web techs.
ENjoy all things code! I work with these
Linkedin!Contact Me


There is this Gathering and the people who arrived alread built a lot of things
and
some already had already been there and always will be.
Now you and your Friends start to place the Roads Rivers and Hedges.
But since you are making decisions together, you can Vote about each Move.
first you have to choose how many players and which of them computer
players you want.
click Play and you land on the board.
Each Player is a fan of one of the building types
, to find out which one you are,
click your name in the pannel while no one looks ;)
While your infrastructure grows, you can, will and should build over the
buildings and tear them down.
but are indefeasible and holy,
they are barriers
below your name you can see a table of the three types of ways and the length in fields, the numbers represent the amount of building projects of that type and that length you can suggest.
| 1 | 3 | 4 | 3 | 2 | |
| 0 | 0 | 2 | 4 | 0 | |
| 0 | 2 | 1 | 2 | 0 |
when it's your move, grab the mouse, and click one of the building troopers , and possible moves are shown in the blue circles. Once you click it a window apperas, if any player wants to vote hit Space or click the window
You decided to Vote, and you see a list of the Players Names, once one of you clicks on one of the Hands a raised arm is shown, next to that players name, indicating that this player gave a votum. Once each player voted the result is shown, and depending on that the trooper is moving over the board and/or it's the next players turn
Each Building of your type Yields points depending on it's size,
the bigger the better
The Player with the most points wins.
So protect your own buildings by making clever moves that make it
impossible for your oponents to reach them and use your right to
vote to either distract or prevent damage to your favorite building
type.
you can change board size and other variables if you like from the
menu
there is also a savegame feature, which is not realy neccesary,
since it takes about 10min to play the game.
And other stuff.


Create instance sat5p-server-1
from nectar official NeCTAR CentOS 7 x86_64 image, create sat5p-sites
volume, and attach volume to instance.
Configure access:
<IP_ADDRESS>/0
)<IP_ADDRESS>/16
??
Connect via SSH as ec2-user
, using something like this:
ssh<EMAIL_ADDRESS>Partition and format attached volume using fdisk
and mkfs.ext4
, add to /etc/fstab
with something like:
/dev/vdb1 /mnt/sites ext4 defaults,noatime 0 2
Install git and use it to clone the project’s repository:
sudo yum install -y git
cd ~
git clone https://github.com/DanielBaird/self-assessment-tool.git
Install nginx
and set it up to start automatically
yum install -y nginx
systemctl enable nginx
This config file will try to find a directory in /mnt/sites/
for any subdomain, so to create a new subdomain, all that is required is to add a subdirectory into sites
, and add the domain to your Let’s Encrypt / certbot certificate.
Create directories for the sites we’re serving, add default content, and give them to the nginx
user.
TODO: remember to get a clean “default” set into the repo
cd /mnt/sites
mkdir jcu jcu-test cqu cqu-test federation federation-test usc usc-test csu csu-test
sudo cp -r ~/self-assessment-tool/clientside/* /mnt/sites/cqu/
sudo cp -r ~/self-assessment-tool/clientside/* /mnt/sites/cqu-test/
sudo cp -r ~/self-assessment-tool/clientside/* /mnt/sites/jcu/
sudo cp -r ~/self-assessment-tool/clientside/* /mnt/sites/jcu-test/
sudo cp -r ~/self-assessment-tool/clientside/* /mnt/sites/federation/
sudo cp -r ~/self-assessment-tool/clientside/* /mnt/sites/federation-test/
sudo cp -r ~/self-assessment-tool/clientside/* /mnt/sites/usc/
sudo cp -r ~/self-assessment-tool/clientside/* /mnt/sites/usc-test/
sudo cp -r ~/self-assessment-tool/clientside/* /mnt/sites/csu/
sudo cp -r ~/self-assessment-tool/clientside/* /mnt/sites/csu-test/
sudo chown --recursive nginx:nginx /mnt/sites
We also need a directory for certbot
to drop its challenge files.
mkdir /usr/share/nginx/html/letsencrypt
mkdir /usr/share/nginx/html/letsencrypt/.well-known
mkdir /usr/share/nginx/html/letsencrypt/.well-known/acme-challenge
Copy the nginx configuration files into place, and run Nginx’s config tester. You will need to edit the sat5psites.conf
file once you have generated your certificates.
cp /home/ec2-user/self-assessment-tool/serverside/nginx.conf /etc/nginx/
cp /home/ec2-user/self-assessment-tool/serverside/sat5psites.conf /etc/nginx/conf.d/
nginx -t
https
Install certbot
for Nginx, and run it to generate a certificate
yum install -y certbot-nginx
certbot certonly --webroot --webroot-path /usr/share/nginx/html/letsencrypt --domains sat5p.jcu.io,jcu.sat5p.jcu.io,jcu-test.sat5p.jcu.io,cqu.sat5p.jcu.io,cqu-test.sat5p.jcu.io,federation.sat5p.jcu.io,federation-test.sat5p.jcu.io,usc.sat5p.jcu.io,usc-test.sat5p.jcu.io,csu.sat5p.jcu.io,csu-test.sat5p.jcu.io
##
## enter your email for alerts, agree to Let's Encrypt conditions, etc
##
Now edit the sat5psites.conf
file and un-comment the two lines that point to the certificates certbot just generated for you.
vi /etc/nginx/conf.d/sat5psites.conf
# ...un-comment the certificate lines...


This page lists some of the book I've been reading. One's mind is shaped by the books one reads.
July, 2022 - July, 2023
{% for book in site.data.books.year_2022_2023 %}
{% endfor %}
July, 2021 - July, 2022
{% for book in site.data.books.year_2021_2022 %}
{% endfor %}


Looking ahead we might do a future trip to Coe where we hike 5-10 miles a day and spend the night in 3 different sites. This trip was in the middle of the dry season and most lakes and streams were empty, but in the spring there are tons of lakes and springs and the fishing is rumored to be excellent.
There was a 1/2 mile of nice singletrack as you can see in the next two pictures below. After the singletrack the trail joined a dirt road and was steep and very slippery with loose dirt. The part on the road was not all that enjoyable.
Trail sign for Frog lake.
Poison oak is everywhere.
When we left the campsite, we brought our bathing suits and planned to go for a swim at Frog Lake. When we reached the lake everyone but Robert immediately changed plans and decided not to swim. Robert had to be restrained from swimming.
Here is Frog Lake. You can see why most of us decided we did not want to go swimming.
We took "Flat Frog Trail" back to the campsite (next couple pictures), and it was
very
nice. It was reasonably flat as the name suggests, and it swooped around the flank of the ridge for a very enjoyable return hike.
On the way back via the Flat Frog trail.
More Flat Frog.
We had a quick simple dinner where we first became aware of the most annoying feature of Heny Coe: the yellow jackets. Apparently this time of year is the worst for yellow jackets, and once you get dinner on your plate they just swarm around. We ended up walking around with our plates in our hands trying to outrun them.
Twilight was very enjoyable with a great breeze. I opted not to put the fly on the tent, and we thus had only light-weight screen above and slept with a nice view of the stars.
Robert took this photo of the twilight sky.
Saturday was the big hike day. We had a good friend come up on Saturday and join us, our neighbor from across the street; Jeff, who you can see in the picture below. As Jeff pointed out to anyone who would listen in the days to come, he is 67 years old and was "lucky to return alive from the hike".
We intended to go for a 6 mile hike and ended up on a 9.2 mile hike, due maybe to some possibly poor choices on the way (choices reached by consensus, I am anxious to point out). Overall it turned out fine, but we were on the trail for about 1/2 an hour without water before we got somewhere we could purify more water for drinking.
Here is a description of the route:
When we got the end of middle ridge we found the creek, 20 feet across and looking like it would be major trouble to cross in the wet season. However in the dry season there was not a drop of water anywhere, and I started to get a little nervous about water.
By the shortest path we were 3 miles from Coe HQ, but that was in the full sun on a dirt road and with no water. An alternative route of about 2.0 miles brought us to "Bass Pond" which was a clear body of water on the map as large as Frog Pond, with another 2.0 miles back to the campsite.
After some discussion with a pair of backpackers we met who confirmed the water in Bass Pond, we decided to go for the water route. It did look much more pleasant, with the exception of a fairly steep climb in the first mile.
This turned out to be a great break, and totally justified the slightly longer trip back to the camp. After a swim and plenty of water the final 2.0 miles back was no problem at all, and we all basked in the feeling of overcoming adversity.
Overcoming the challenges is what will make the hike memorable, and is what will likely prevent Jeff from ever hiking with us again.
After the well deserved rest and swim at Bass Pond, on the final approach back to Coe Headquarters.
Then we started talking about what to do, and we realized that vegetation was kind of a crappy option, and we realized we could bring our fishing gear back to Bass Pond and see how well named it was. Which led to thinking about just bringing the camping stuff as originally planned. So that is what we did.
Jeff was a great help in getting everything packed up and put away on Sunday before he headed home for an R&R; trip to Hawaii. We cleared out of our site at the headquarters, then went to the Visitor Center for a "badging ceremony". Robert had finished the Junior Ranger workbook, and had helped Erick to finish his. They both earned Junior Ranger badges from the head Ranger at the park.
I crammed a tarp, three sleeping bags, the camp stove, fuel, food, fishing tackle, and various other stuff into my too small backpack and we hit the "backcountry". Robert was pretty well loaded up with water, and Erick was pretty well loaded up with some stuff you will see in a minute. I did not bring the camera, but was able to capture some pictures using the cell phone.
The start of the 2.5 mile hike to the "backcountry" campsite.
We were headed to Manzanita Point on the road
Picture taken on the cell phone and posted to Facebook thinking there would be no more cell service.
We made the hike with no problems. Everyone was cheerful and happy, and we only had to choose what campsite we wanted before heading back to the pond. The ranger had suggested #5 and we thought we were in it but it turned out to only be a picnic table near an outhouse.
We thought this was site #5 (advertised to be the best) but was really just a picnic table near an outhouse
Here are the essentials that Erick carried in his backpack on Saturday and Sunday.
Essential gear: dog, mouse, alligator, and parrot. My parents may recognize "bite", who has maybe hiked around more than any other stuffed alligator.
After some more map work we found #5 and relocated. I complained about the size of my pack but it was my own fault. I didnt really need to bring a pillow but I did.
This is the real site #5, infinitely better than the picnic table near the outhouse.
Dinner was simple but particularly yummy. Enough pasta there even for John Donovan.
Exploring the neighboorhood
No campfires allowed but fortunately there is more than one way to toast marshmallows.
We spent a lovely night under the stars and a nearly full moon and were not disturbed by any racoons.
In the morning we tried Bass Pond again but found that it may be inappropriately named.
1/2 mile from Coe Headquarters on the return.
Erick with his binocs.
Erick made it back with no complaints!
We finished the trip in fine style.
Obligatory picture of child who was not able to go camping.


Environmental Policy
As a leading manufacturer of soap and detergents in Kenya, we are committed to ensuring
that we leave the environment better than we found it. We have a zero tolerance towards
careless disposal of our product containers and our 2029 sustainable consumption and development
goals already includes a strategy to ensure that our products are disposed off responsibly to
ensure that the environment does not suffer from effects caused by littering.
Our company supports initiatives geared towards environmental sustainability and we are ready
to partner with like minded organisations to achieve our common objectives.
Code of Business Conduct
In a society that embraces corruption as the status quo, Manutratech exists to prove that you can
succeed by upholding high standards of integrity and ethics in all our business dealings.
We have a zero tolerance towards corruption and for that reason, we work to ensure that we
are in good standing with the laws of the land that we operate in and that we plan to set up base in the future.
Human Rights Policy
As we continuously strive to be a market leader and make the world a better place,
we are intentional about ensuring that we uphold high standards of integrity and principles
that do not violate human rights of any individual. Our Human Rights policies ensures that
every member of our business community is treated with dignity. Our policies cut across the
freedom of association and movement, no child labour or forced labor for any individual, working
compensation, security of workers and a conducive working environment.
Product Quality
Our goal is to ensure that Clean Haven products achieve 99% consumer satisfaction.
We believe that the key to this is continuous improvement (kaizen) and
being customer centric. Our very capable team of engineers work extremely
hard to ensure that product quality and standards are maintained during every
batch of production.
Anti-Harassment and Discrimination Policy
We believe that every human life is valuable and that the work culture can greatly affect
the households in which our team come from. This has a ripple effect to the upbringing
of a healthy society as it trickles down to how friends, lovers, wives, husbands, and
children are treated as it directly or indirectly affects the people that they interact
with.  This is achieved by mutual respect and an
understanding that we all come from very diverse backgrounds.


| 1 | /* | |
| 2 | * Licensed to the Apache Software Foundation (ASF) under one or more | |
| 3 | * contributor license agreements. See the NOTICE file distributed with | |
| 4 | * this work for additional information regarding copyright ownership. | |
| 5 | * The ASF licenses this file to You under the Apache License, Version 2.0 | |
| 6 | * (the "License"); you may not use this file except in compliance with | |
| 7 | * the License. You may obtain a copy of the License at | |
| 8 | * | |
| 9 | * http://www.apache.org/licenses/LICENSE-2.0 | |
| 10 | * | |
| 11 | * Unless required by applicable law or agreed to in writing, software | |
| 12 | * distributed under the License is distributed on an "AS IS" BASIS, | |
| 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 14 | * See the License for the specific language governing permissions and | |
| 15 | * limitations under the License. | |
| 16 | */ | |
| 17 | package org.apache.commons.math3.stat.inference; | |
| 18 | ||
| 19 | import org.apache.commons.math3.distribution.FDistribution; | |
| 20 | import org.apache.commons.math3.exception.ConvergenceException; | |
| 21 | import org.apache.commons.math3.exception.DimensionMismatchException; | |
| 22 | import org.apache.commons.math3.exception.MaxCountExceededException; | |
| 23 | import org.apache.commons.math3.exception.NullArgumentException; | |
| 24 | import org.apache.commons.math3.exception.OutOfRangeException; | |
| 25 | import org.apache.commons.math3.exception.util.LocalizedFormats; | |
| 26 | import org.apache.commons.math3.stat.descriptive.summary.Sum; | |
| 27 | import org.apache.commons.math3.stat.descriptive.summary.SumOfSquares; | |
| 28 | ||
| 29 | import java.util.Collection; | |
| 30 | ||
| 31 | /** | |
| 32 | * Implements one-way ANOVA (analysis of variance) statistics. | |
| 33 | * | |
| 34 | *
 Tests for differences between two or more categories of univariate data | |
| 35 | * (for example, the body mass index of accountants, lawyers, doctors and | |
| 36 | * computer programmers). When two categories are given, this is equivalent to | |
| 37 | * the {@link org.apache.commons.math3.stat.inference.TTest}. | |
| 38 | *

 | |
| 39 | * Uses the {@link org.apache.commons.math3.distribution.FDistribution | |
| 40 | * commons-math F Distribution implementation} to estimate exact p-values.
 | |
| 41 | *
This implementation is based on a description at | |
| 42 | * http://faculty.vassar.edu/lowry/ch13pt1.html
 | |
| 43 | *
 | |
| 44 | * Abbreviations: bg = between groups, | |
| 45 | * wg = within groups, | |
| 46 | * ss = sum squared deviations | |
| 47 | *
 | |
| 48 | * | |
| 49 | * @since 1.2 | |
| 50 | * @version $Id: OneWayAnova.java 1416643 2012-12-03 19:37:14Z tn $ | |
| 51 | */ | |
| 52 | public class OneWayAnova { | |
| 53 | ||
| 54 | /** | |
| 55 | * Default constructor. | |
| 56 | */ | |
| 57 | public OneWayAnova() { | |
| 58 | } | |
| 59 | ||
| 60 | /** | |
| 61 | * Computes the ANOVA F-value for a collection of double[] | |
| 62 | * arrays. | |
| 63 | * | |
| 64 | *
Preconditions:
 | |
| 65 | *
The categoryData Collection must contain | |
| 66 | * double[] arrays.
 | |
| 67 | *
 There must be at least two double[] arrays in the | |
| 68 | * categoryData collection and each of these arrays must | |
| 69 | * contain at least two values.

 | |
| 70 | * This implementation computes the F statistic using the definitional | |
| 71 | * formula
 | |
| 72 | * F = msbg/mswg
 | |
| 73 | * where
 | |
| 74 | * msbg = between group mean square | |
| 75 | * mswg = within group mean square
 | |
| 76 | * are as defined  | |
| 77 | * here
 | |
| 78 | * | |
| 79 | * @param categoryData Collection of double[] | |
| 80 | * arrays each containing data for one category | |
| 81 | * @return Fvalue | |
| 82 | * @throws NullArgumentException if categoryData is null | |
| 83 | * @throws DimensionMismatchException if the length of the categoryData | |
| 84 | * array is less than 2 or a contained double[] array does not have | |
| 85 | * at least two values | |
| 86 | */ | |
| 87 | public double anovaFValue(final Collection<double[]> categoryData) | |
| 88 | throws NullArgumentException, DimensionMismatchException { | |
| 89 | ||
| 90 | AnovaStats a = anovaStats(categoryData); | |
| 91 | 1 | return a.F; |
| 92 | ||
| 93 | } | |
| 94 | ||
| 95 | /** | |
| 96 | * Computes the ANOVA P-value for a collection of double[] | |
| 97 | * arrays. | |
| 98 | * | |
| 99 | *
Preconditions:
 | |
| 100 | *
The categoryData Collection must contain | |
| 101 | * double[] arrays.
 | |
| 102 | *
 There must be at least two double[] arrays in the | |
| 103 | * categoryData collection and each of these arrays must | |
| 104 | * contain at least two values.

 | |
| 105 | * This implementation uses the | |
| 106 | * {@link org.apache.commons.math3.distribution.FDistribution | |
| 107 | * commons-math F Distribution implementation} to estimate the exact | |
| 108 | * p-value, using the formula
 | |
| 109 | * p = 1 - cumulativeProbability(F)
 | |
| 110 | * where F is the F value and cumulativeProbability | |
| 111 | * is the commons-math implementation of the F distribution.
 | |
| 112 | * | |
| 113 | * @param categoryData Collection of double[] | |
| 114 | * arrays each containing data for one category | |
| 115 | * @return Pvalue | |
| 116 | * @throws NullArgumentException if categoryData is null | |
| 117 | * @throws DimensionMismatchException if the length of the categoryData | |
| 118 | * array is less than 2 or a contained double[] array does not have | |
| 119 | * at least two values | |
| 120 | * @throws ConvergenceException if the p-value can not be computed due to a convergence error | |
| 121 | * @throws MaxCountExceededException if the maximum number of iterations is exceeded | |
| 122 | */ | |
| 123 | public double anovaPValue(final Collection<double[]> categoryData) | |
| 124 | throws NullArgumentException, DimensionMismatchException, | |
| 125 | ConvergenceException, MaxCountExceededException { | |
| 126 | ||
| 127 | AnovaStats a = anovaStats(categoryData); | |
| 128 | // No try-catch or advertised exception because args are valid | |
| 129 | FDistribution fdist = new FDistribution(a.dfbg, a.dfwg); | |
| 130 | 2 | return 1.0 - fdist.cumulativeProbability(a.F); |
| 131 | ||
| 132 | } | |
| 133 | ||
| 134 | /** | |
| 135 | * Performs an ANOVA test, evaluating the null hypothesis that there | |
| 136 | * is no difference among the means of the data categories. | |
| 137 | * | |
| 138 | *
Preconditions:
 | |
| 139 | *
The categoryData Collection must contain | |
| 140 | * double[] arrays.
 | |
| 141 | *
 There must be at least two double[] arrays in the | |
| 142 | * categoryData collection and each of these arrays must | |
| 143 | * contain at least two values.
 | |
| 144 | *
alpha must be strictly greater than 0 and less than or equal to 0.5. | |
| 145 | *

 | |
| 146 | * This implementation uses the | |
| 147 | * {@link org.apache.commons.math3.distribution.FDistribution | |
| 148 | * commons-math F Distribution implementation} to estimate the exact | |
| 149 | * p-value, using the formula
 | |
| 150 | * p = 1 - cumulativeProbability(F)
 | |
| 151 | * where F is the F value and cumulativeProbability | |
| 152 | * is the commons-math implementation of the F distribution.
 | |
| 153 | *
True is returned iff the estimated p-value is less than alpha.
 | |
| 154 | * | |
| 155 | * @param categoryData Collection of double[] | |
| 156 | * arrays each containing data for one category | |
| 157 | * @param alpha significance level of the test | |
| 158 | * @return true if the null hypothesis can be rejected with | |
| 159 | * confidence 1 - alpha | |
| 160 | * @throws NullArgumentException if categoryData is null | |
| 161 | * @throws DimensionMismatchException if the length of the categoryData | |
| 162 | * array is less than 2 or a contained double[] array does not have | |
| 163 | * at least two values | |
| 164 | * @throws OutOfRangeException if alpha is not in the range (0, 0.5] | |
| 165 | * @throws ConvergenceException if the p-value can not be computed due to a convergence error | |
| 166 | * @throws MaxCountExceededException if the maximum number of iterations is exceeded | |
| 167 | */ | |
| 168 | public boolean anovaTest(final Collection<double[]> categoryData, | |
| 169 | final double alpha) | |
| 170 | throws NullArgumentException, DimensionMismatchException, | |
| 171 | OutOfRangeException, ConvergenceException, MaxCountExceededException { | |
| 172 | ||
| 173 | 4 | if ((alpha <= 0) || (alpha > 0.5)) { |
| 174 | throw new OutOfRangeException( | |
| 175 | LocalizedFormats.OUT_OF_BOUND_SIGNIFICANCE_LEVEL, | |
| 176 | alpha, 0, 0.5); | |
| 177 | } | |
| 178 | 3 | return anovaPValue(categoryData) < alpha; |
| 179 | ||
| 180 | } | |
| 181 | ||
| 182 | /** | |
| 183 | * This method actually does the calculations (except P-value). | |
| 184 | * | |
| 185 | * @param categoryData Collection of double[] | |
| 186 | * arrays each containing data for one category | |
| 187 | * @return computed AnovaStats | |
| 188 | * @throws NullArgumentException if categoryData is null | |
| 189 | * @throws DimensionMismatchException if the length of the categoryData | |
| 190 | * array is less than 2 or a contained double[] array does not contain | |
| 191 | * at least two values | |
| 192 | */ | |
| 193 | private AnovaStats anovaStats(final Collection<double[]> categoryData) | |
| 194 | throws NullArgumentException, DimensionMismatchException { | |
| 195 | ||
| 196 | 1 | if (categoryData == null) { |
| 197 | throw new NullArgumentException(); | |
| 198 | } | |
| 199 | ||
| 200 | // check if we have enough categories | |
| 201 | 2 | if (categoryData.size() < 2) { |
| 202 | throw new DimensionMismatchException( | |
| 203 | LocalizedFormats.TWO_OR_MORE_CATEGORIES_REQUIRED, | |
| 204 | categoryData.size(), 2); | |
| 205 | } | |
| 206 | ||
| 207 | // check if each category has enough data and all is double[] | |
| 208 | 1 | for (double[] array : categoryData) { |
| 209 | 2 | if (array.length <= 1) { |
| 210 | throw new DimensionMismatchException( | |
| 211 | LocalizedFormats.TWO_OR_MORE_VALUES_IN_CATEGORY_REQUIRED, | |
| 212 | array.length, 2); | |
| 213 | } | |
| 214 | } | |
| 215 | ||
| 216 | int dfwg = 0; | |
| 217 | double sswg = 0; | |
| 218 | Sum totsum = new Sum(); | |
| 219 | SumOfSquares totsumsq = new SumOfSquares(); | |
| 220 | int totnum = 0; | |
| 221 | ||
| 222 | 1 | for (double[] data : categoryData) { |
| 223 | ||
| 224 | Sum sum = new Sum(); | |
| 225 | SumOfSquares sumsq = new SumOfSquares(); | |
| 226 | int num = 0; | |
| 227 | ||
| 228 | 3 | for (int i = 0; i < data.length; i++) { |
| 229 | double val = data[i]; | |
| 230 | ||
| 231 | // within category | |
| 232 | 1 | num++; |
| 233 | 1 | sum.increment(val); |
| 234 | 1 | sumsq.increment(val); |
| 235 | ||
| 236 | // for all categories | |
| 237 | 1 | totnum++; |
| 238 | 1 | totsum.increment(val); |
| 239 | 1 | totsumsq.increment(val); |
| 240 | } | |
| 241 | 2 | dfwg += num - 1; |
| 242 | 3 | double ss = sumsq.getResult() - sum.getResult() * sum.getResult() / num; |
| 243 | 1 | sswg += ss; |
| 244 | } | |
| 245 | 3 | double sst = totsumsq.getResult() - totsum.getResult() * |
| 246 | totsum.getResult()/totnum; | |
| 247 | 1 | double ssbg = sst - sswg; |
| 248 | 1 | int dfbg = categoryData.size() - 1; |
| 249 | 1 | double msbg = ssbg/dfbg; |
| 250 | 1 | double mswg = sswg/dfwg; |
| 251 | 1 | double F = msbg/mswg; |
| 252 | ||
| 253 | 1 | return new AnovaStats(dfbg, dfwg, F); |
| 254 | } | |
| 255 | ||
| 256 | /** | |
| 257 | Convenience class to pass dfbg,dfwg,F values around within OneWayAnova. | |
| 258 | No get/set methods provided. | |
| 259 | */ | |
| 260 | private static class AnovaStats { | |
| 261 | ||
| 262 | /** Degrees of freedom in numerator (between groups). */ | |
| 263 | private final int dfbg; | |
| 264 | ||
| 265 | /** Degrees of freedom in denominator (within groups). */ | |
| 266 | private final int dfwg; | |
| 267 | ||
| 268 | /** Statistic. */ | |
| 269 | private final double F; | |
| 270 | ||
| 271 | /** | |
| 272 | * Constructor | |
| 273 | * @param dfbg degrees of freedom in numerator (between groups) | |
| 274 | * @param dfwg degrees of freedom in denominator (within groups) | |
| 275 | * @param F statistic | |
| 276 | */ | |
| 277 | private AnovaStats(int dfbg, int dfwg, double F) { | |
| 278 | this.dfbg = dfbg; | |
| 279 | this.dfwg = dfwg; | |
| 280 | this.F = F; | |
| 281 | } | |
| 282 | } | |
| 283 | ||
| 284 | } | |
Mutations | ||
| 91 |
replaced return of double value with -(x + 1) for org/apache/commons/math3/stat/inference/OneWayAnova::anovaFValue : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 130 |
replaced return of double value with -(x + 1) for org/apache/commons/math3/stat/inference/OneWayAnova::anovaPValue : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaPValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) Replaced double subtraction with addition : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaPValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 173 |
changed conditional boundary : SURVIVED changed conditional boundary : SURVIVED negated conditional : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaTest(org.apache.commons.math3.stat.inference.OneWayAnovaTest) negated conditional : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaTest(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 178 |
replaced return of integer sized value with (x == 0 ? 1 : 0) : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaTest(org.apache.commons.math3.stat.inference.OneWayAnovaTest) changed conditional boundary : SURVIVED negated conditional : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaTest(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 196 |
negated conditional : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 201 |
changed conditional boundary : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) negated conditional : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 208 |
negated conditional : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 209 |
negated conditional : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) changed conditional boundary : SURVIVED |
|
| 222 |
negated conditional : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 228 |
negated conditional : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) Changed increment from 1 to -1 : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) changed conditional boundary : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 232 |
Changed increment from 1 to -1 : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 233 |
removed call to org/apache/commons/math3/stat/descriptive/summary/Sum::increment : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 234 |
removed call to org/apache/commons/math3/stat/descriptive/summary/SumOfSquares::increment : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 237 |
Changed increment from 1 to -1 : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 238 |
removed call to org/apache/commons/math3/stat/descriptive/summary/Sum::increment : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 239 |
removed call to org/apache/commons/math3/stat/descriptive/summary/SumOfSquares::increment : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 241 |
Replaced integer addition with subtraction : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) Replaced integer subtraction with addition : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 242 |
Replaced double division with multiplication : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) Replaced double subtraction with addition : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) Replaced double multiplication with division : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 243 |
Replaced double addition with subtraction : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 245 |
Replaced double multiplication with division : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) Replaced double division with multiplication : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) Replaced double subtraction with addition : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 247 |
Replaced double subtraction with addition : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 248 |
Replaced integer subtraction with addition : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 249 |
Replaced double division with multiplication : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 250 |
Replaced double division with multiplication : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 251 |
Replaced double division with multiplication : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |
|
| 253 |
mutated return of Object value for org/apache/commons/math3/stat/inference/OneWayAnova::anovaStats to ( if (x != null) null else throw new RuntimeException ) : KILLED -> org.apache.commons.math3.stat.inference.OneWayAnovaTest.testAnovaFValue(org.apache.commons.math3.stat.inference.OneWayAnovaTest) |


Next: Tilde Dollarsign-> Monetary Floating-Point, Previous: Tilde E-> Exponential Floating-Point, Up: FORMAT Floating-Point Printers
The next arg is printed as a float in either fixed-format or exponential notation as appropriate.
The full form is ~w,d,e,k,overflowchar,padchar,exponentcharG. The format in which to print arg depends on the magnitude (absolute value) of the arg.  Let ee equal e+2, or 4 if e is omitted. Let ww equal w- ee, or nil if w is omitted. If d is omitted, first let q be the number of digits needed to print arg with no loss of information and without leading or trailing zeros; then let d equal (max q (min n 7)). Let dd equal d- n.
If 0 \le dd \le d, then arg is printed as if by the format directives
~ww,dd,,overflowchar,padcharF~ee@T
Note that the scale factor k is not passed to the ~F directive. For all other values of dd, arg is printed as if by the format directive
~w,d,e,k,overflowchar,padchar,exponentcharE
In either case, an @ modifier is supplied to the ~F or ~E directive if and only if one was supplied to the ~G directive.
~G binds *print-escape* to false
and *print-readably* to false.


Dark City (1998) Rated R for violence, gore, nudity, and some mild profanity. ---------- Out of 4 stars: **** (4 Stars)
Starring: Rufus Sewell, William Hurt, Kiefer Sutherland, Jennifer Connelly, Richard O'Brien, and Ian Richardson.
In 1994, a film was released which became a major box office success mostly due to the controversy surrounding the picture. This film was THE CROW, and its star, Brandon Lee, was killed due a faulty blank bullet. The dark mood of the film and its story was given a haunting twist due to the loss of its star. The director, Alex Proyas, used special effects to finish the film without Lee, and audiences flocked to see how Proyas would end the movie. However, what was most startling aspect wasn't the controversy, but its rich atmosphere. This film marked the beginning of a director's career that would only grow with his next film.
DARK CITY is a highly anticipated film which deals with a subject that requires thinking to be done in the theater. Science fiction films have been the genre most widely known for creating thought-provoking subjects. However, due to the success of big-budget films such as INDEPENDENCE DAY and MEN IN BLACK, thoughtful science fiction films have become a thing of the past in pursuit of more expensive and loud films. If you don't believe me, just look at the good science fiction movies which have done poorly at the box office (THE ARRIVAL and GATTACA to name a couple). And from the look of the film, DARK CITY will follow on the same path as those films.
The film itself is a step up from Proyas' debut film, with a better story, better production values, and a terrifyingly realistic premise. It's still science fiction, but many of the ideas underlying the film can be interpreted into our own lives. Beginning with an interesting monologue from an unseen character, we are told that a race of aliens have discovered the planet Earth. The narrator likes to refer to them as The Strangers, as they have a ghost-like quality to them. The main plot begins in a small, cramped room, with only one light swinging overhead. A man lies naked in a bathtub, and suddenly awakens, startled to find himself there. This man is afflicted with amnesia, but more startling is the dead prostitute in the bedroom. He grabs some clothes from a chair, and finds a set of keys in the pocket. A phone call interrupts the silence, and the voice on the other line belongs to a Dr. Schreber (Kiefer Sutherland), telling him to get out of the apartment quickly. He complies, and as he leaves, the elevator opens to reveal three ominous, pale figures.
He discovers that his name is John Murdoch (Rufus Sewell), and that he has a wife, Emma (Jennifer Connelly). At home, however, he finds Inspector Frank Bumstead (William Hurt) waiting to question him about the murder. Since not even remembering committing it, Murdoch flees, but finds himself in an even more precarious situation. At midnight, exactly, as he tries to find Dr. Schreber, all the noises in the city stop. As he watches, the clocks stop moving, people fall asleep at the wheel of their cars, and trains stop running. Then, he watches as several Strangers walk out of a door which has appeared from a wall. Dr. Schreber follows. The confusion only increases when the city becomes alive, as buildings sprout out of the ground.
Revealing any more of the plot would spoil the mystery, and the mystery is what keeps the story buoyant. It seems that many of the great science fiction films are about the unknown (2001: A SPACE ODYSSEY, CONTACT). DARK CITY uses its mystery to wonderful effect, and ends with a surprise ending that doesn't seem contrived or forced. Instead, it finishes the film with a flourish, giving another level of meaning for us to ponder over. And by the end of the film, DARK CITY equals the many classics of the past, such as BLADE RUNNER and SOLARIS. Many people won't like the film because it may seem like a muddled mess, but it isn't. Many critics don't like the almost non-existent lighting, but that has a purpose in the film. The film noir setting is emphasized by the darkness, and an entire plot twist centers around the everlasting darkness. Critics who complain about the film obviously aren't thinking during the film, and this spoils their enjoyment. DARK CITY entertains while hiding the message under its visually impressive surface.
Alex Proyas has constructed a masterfully ingenious science fiction film which toys with the imagination while preaching to its audience.  This simplistic approach becomes frightening as we realize that we as human beings are really like the characters portrayed in the film. Proyas, who also wrote the screenplay, never asks any easy questions, and the answers are left for us to determine. Proyas' direction maintains the steady monotony of darkness, but the film never gets boring. There is quite enough action to maintain anyone's attention, including some awe-inspiring chase sequences that had me cheering with delight. The pace of the film is so tight and so continuous that one wishes Proyas would have stretched the running time even more. Several of the scenes seem quickly cut, and Proyas could have taken more time with each scene (but this is just a minor flaw).
Then, there are the special effects. No science fiction film goes without them, and what makes the thought-provoking science fiction films separate from the destroy-everything-on-screen films is simple: the special effects in the latter group are more obvious. When a film uses special effects to its advantage, everyone should take note. Everyone seemed to have with TITANIC, but that's only the tip of the iceberg (pardon the pun). DARK CITY uses special effects so flawlessly, that many people forget that they are effects. I am one of those people. The effects are so seamless that it's hard to tell what is and what isn't real. When the buildings twist and bend, you find yourself submerged in the story and characters so much that the effects seem realistic. When a film can suspend your belief by making everything as real as possible, it deserves to be noticed.
As with all films, the cast is an essential part to the overall impact. If the wrong cast is chosen, the film won't have the same impression. DARK CITY has a top-notch cast, with zany characters and terrific performances all-around. Leading is Rufus Sewell who turns in a solid performance on an ever-growing and impressive resume. In 1996, he appeared in HAMLET as Fortinbras, and in 1995's COLD COMFORT FARM. He can also be seen in the recent Dangerous Beauty. Sewell commands the screen, never letting anything overpower his presence. William Hurt also turns in a rather humorous performance as the older Inspector, who is baffled by the mystery unfolding before him. Kiefer Sutherland portrays Dr. Schreber with a frightened sense of knowledge. He is the only human being who knows what is going on, and his rasping breath gives his character an almost haunting sound. Jennifer Connelly is perfect as the film noir-ish vixen, unable to understand the mad rantings of her husband (and yet she still loves him). Then, there are the Strangers. The most prominent are Richard O'Brien (from THE ROCKY HORROR PICTURE SHOW fame) and Ian Richardson who appeared in the visually-similar BRAZIL. The Strangers speak in monotone and eerie voices, almost like an echo coming of the walls. Overall, an impressive cast to accentuate the style.
DARK CITY is rated R for violence and gore, nudity, and some light profanity. DARK CITY could have easily been rated PG-13, though the subject itself may have warranted an R rating. With sets that resemble BLADE RUNNER and other various science fiction films, many people are likely to think that DARK CITY merely copied those other films. However, the story presented is true to life, and the result is an original film that has something to say. Of course, as my philosophy goes towards science fiction films, DARK CITY won't find a big audience, and that's a real shame. DARK CITY deserves to be watched again and again. The visuals are rich and dark, the style is gloomy but not overwhelming, and the action is top-notch. This is already one of the year's best movies, and it deserves to be held as an early Oscar contender.
Reviewed by Respect<EMAIL_ADDRESS>http://www.aros.net/~respect/movies.html
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


{{selected_app.error}}
| Rule | Method | Filename | Action | Time(s) | Calls/s | Errors/s |
|---|---|---|---|---|---|---|
| {{route.rule}} | {{route.method}} | {{route.filename}} | {{route.action}} |
| {{name}} |
| Occurrences | Most Recent | Client IP | App | Method | Path | Error | |
|---|---|---|---|---|---|---|---|
| {{ticket.count}} | {{ticket.timestamp}} | {{ticket.client_ip}} | {{ticket.app_name}} | {{ticket.method}} | {{ticket.path}} | {{ticket.error}} | Search |
| Module | Version |
|---|---|
| {{row.name}} | {{row.version}} |
{{modal.message}}
| Minimal | |
| Scaffold (db, session, auth, etc. based on vue.js) | |
| Upload: | |
| New App Replace |


View Recipe List
Home
Welcome
logout
Create a new Recipe
Title:
Ingredients Needed:
Steps:
Photo:
Create


One
Tab with embedded content
Three
Four
This is content number 1
Tab with embedded content<
One One
One Two
This is content number2.1
Do something
This is content number 2.2
This is content number 3
This is content number 4
Add
?ingoringOff
in address bar and reload. Action at embedded tab starts emeddiatly after page loaded


URL:
Shortened URL: Copy to Clipboard
Copy the site URL you want to shorten.
Paste the URL in the provided input field abd "click" the "Go" button.
"Click" the "Copy to Clipboard" button to copy the generated shortened url.