Processed data for mouse E18 brain scATACseq can be obtained directly from 10X Genomics
Processed data for mouse E18 brain scRNAseq can be obtained directly from 10X Genomics
scATACseq for mouse E18 5K brain can be downloaded from 10X Genomics.
mkdir -p data/Homework_2/scATAC
curl https://cf.10xgenomics.com/samples/cell-atac/1.2.0/atac_v1_E18_brain_fresh_5k/atac_v1_E18_brain_fresh_5k_analysis.tar.gz -o data/Homework_2/scATAC/atac_v1_E18_brain_fresh_5k_analysis.tar.gz
curl https://cf.10xgenomics.com/samples/cell-atac/1.2.0/atac_v1_E18_brain_fresh_5k/atac_v1_E18_brain_fresh_5k_filtered_peak_bc_matrix.h5 -o data/Homework_2/scATAC/atac_v1_E18_brain_fresh_5k_filtered_peak_bc_matrix.h5
curl https://cf.10xgenomics.com/samples/cell-atac/1.2.0/atac_v1_E18_brain_fresh_5k/atac_v1_E18_brain_fresh_5k_filtered_tf_bc_matrix.h5 -o data/Homework_2/scATAC/atac_v1_E18_brain_fresh_5k_filtered_tf_bc_matrix.h5
curl https://cf.10xgenomics.com/samples/cell-atac/1.2.0/atac_v1_E18_brain_fresh_5k/atac_v1_E18_brain_fresh_5k_fragments.tsv.gz -o data/Homework_2/scATAC/atac_v1_E18_brain_fresh_5k_fragments.tsv.gz
curl https://cf.10xgenomics.com/samples/cell-atac/1.2.0/atac_v1_E18_brain_fresh_5k/atac_v1_E18_brain_fresh_5k_fragments.tsv.gz.tbi -o data/Homework_2/scATAC/atac_v1_E18_brain_fresh_5k_fragments.tsv.gz.tbi
curl https://cf.10xgenomics.com/samples/cell-atac/1.2.0/atac_v1_E18_brain_fresh_5k/atac_v1_E18_brain_fresh_5k_peak_annotation.tsv -o data/Homework_2/scATAC/atac_v1_E18_brain_fresh_5k_peak_annotation.tsv
curl https://cf.10xgenomics.com/samples/cell-atac/1.2.0/atac_v1_E18_brain_fresh_5k/atac_v1_E18_brain_fresh_5k_peaks.bed -o data/Homework_2/scATAC/atac_v1_E18_brain_fresh_5k_peaks.bed
curl https://cg.10xgenomics.com/samples/cell-atac/1.2.0/atac_v1_E18_brain_fresh_5k/atac_v1_E18_brain_fresh_5k_possorted_bam.bam -o data/Homework_2/scATAC/atac_v1_E18_brain_fresh_5k_possorted_bam.bam
curl https://cf.10xgenomics.com/samples/cell-atac/1.2.0/atac_v1_E18_brain_fresh_5k/atac_v1_E18_brain_fresh_5k_possorted_bam.bam.bai -o data/Homework_2/scATAC/atac_v1_E18_brain_fresh_5k_possorted_bam.bam.bai
curl https://cf.10xgenomics.com/samples/cell-atac/1.2.0/atac_v1_E18_brain_fresh_5k/atac_v1_E18_brain_fresh_5k_singlecell.csv -o data/Homework_2/scATAC/atac_v1_E18_brain_fresh_5k_singlecell.csv
curl https://cf.10xgenomics.com/samples/cell-atac/1.2.0/atac_v1_E18_brain_fresh_5k/atac_v1_E18_brain_fresh_5k_web_summary.html -o data/Homework_2/scATAC/atac_v1_E18_brain_fresh_5k_web_summary.html
curl https://cf.10xgenomics.com/samples/cell-atac/1.2.0/atac_v1_E18_brain_fresh_5k/atac_v1_E18_brain_fresh_5k_cloupe.cloupe -o data/Homework_2/scATAC/atac_v1_E18_brain_fresh_5k_cloupe.cloupe
First, the count matrix has to be imported. Use Seurat
to do import the filtered peak count matrix.
How many peaks were found?
library(Signac)
library(Seurat)
library(tidyverse)
library(BiocParallel)
library(plyranges)
## -- Read brain ATAC-seq counts
Signac::CreateChromatinAssay(
brain_assay <-counts = Seurat::Read10X_h5("data/Homework_2/scATAC/atac_v1_E18_brain_fresh_5k_filtered_peak_bc_matrix.h5"),
fragments = 'data/Homework_2/scATAC/atac_v1_E18_brain_fresh_5k_fragments.tsv.gz',
sep = c(":", "-"),
genome = "mm10",
min.cells = 1
)
brain_assaydim(brain_assay)
Cell metadata also needs to be read. Metadata is stored in a regular csv
file.
You can import it in R using read.csv()
from base R
, but vroom
package wil take
care of finding the best and fastest way to read it. It is especially useful for reading
large rectangular data in R.
How many cell barcode are there in total, in the *_singlecell.csv
file? Should
we take this into consideration and filter some out?
## -- Read metadata
vroom::vroom(
metadata <-file = "data/Homework_2/scATAC/atac_v1_E18_brain_fresh_5k_singlecell.csv",
col_names = TRUE
%>%
) filter(barcode != 'NO_BARCODE') %>%
mutate(cell = barcode) %>%
filter(cell %in% colnames(brain_assay)) %>%
column_to_rownames('barcode') %>%
as.data.frame()
Now that cells and counts over peaks / cell are created, one can bind them together
into a Seurat
object. Try and create a standard Seurat
object containing
the chromatinAssay
object and corresponding cell metadata.
## -- Create Seurat object
Seurat::CreateSeuratObject(
brain <-counts = brain_assay,
assay = 'peaks',
project = 'ATAC',
meta.data = metadata
)
## -- Add genome annotations
GetGRangesFromEnsDb(ensdb = EnsDb.Mmusculus.v79::EnsDb.Mmusculus.v79)
annotations <-seqlevelsStyle(annotations) <- 'UCSC'
genome(annotations) <- "mm10"
Annotation(brain) <- annotations
Nucleosome signal
Few QC controls can be done. The nucleosome signal
metric estimates the
ratio of nucleosome-spanning fragments vs mononucleosomal fragments, for each cell.
A low ratio (e.g. < 4
) indicates enrichment of fragments over an open
chromatin locus.
## -- Nucleosome signal
Signac::NucleosomeSignal(object = brain)
brain <-$nucleosome_group <- ifelse(brain$nucleosome_signal > 4, 'NS > 4', 'NS < 4')
brainrange(brain$nucleosome_signal)
table(brain$nucleosome_group)
Check the number of fragments / cell overlapping a known DHS locus (check brain
pre-computed metrics to find the corresponding metric), for cells with varying
nucleosome_signal
scores.
tibble(dnase = brain$DNase_sensitive_region_fragments, nuc_signal = brain$nucleosome_signal) %>%
p<- mutate(
nuc_group = round(nuc_signal / 5)*5 + 1,
nuc_group = factor(nuc_group, seq(1, max(nuc_group)))
%>%
) ggplot(aes(x = nuc_group, y = dnase)) +
geom_boxplot() +
labs(x = 'Av. nucleosome signal')
Fragment size distribution
We have covered this already in previous exercises focusing on bulk ATAC.
It is a metric that one can also evaluate in scATACseq.
For this, one can import the fragments (from *_fragments.tsv.gz
file) in R.
Here again, we highly recommend the use of vroom
package, as the fragment file
can be several Gb big!
Try plotting the fragment width for the first 10M fragments.
## -- Frag. size distribution
GetFragmentData(Fragments(brain)[[1]])
vroom::vroom(
frags <-GetFragmentData(Fragments(brain)[[1]]),
col_names = FALSE,
n_max = 10000000
%>%
) setNames(c('seqnames', 'start', 'end', 'cell', 'cluster'))
%>%
p <-frags mutate(width = end - start) %>%
ggplot(aes(x = width)) +
geom_bar() +
xlim(c(0, 800))
TSSES
This metric has also already been previously mentionned. It essentially represents
the signal-to-noise ratio at TSSs.
It can be estimated from a Seurat
object using the Signac::TSSEnrichment()
function.
## -- TSS enrichment
TSSEnrichment(brain, fast = TRUE)
brain <-quantile(brain$TSS.enrichment, probs = seq(0, 1, 0.1))
We can also plot the average coverage at TSSs. Let’s plot it for the first 10M fragments
as_granges(frags) %>%
p<- resize(1, fix = 'start') %>%
coverage() %>%
'['(target) %>%
data.matrix() %>%
as_tibble() %>%
setNames(seq(-999.5, 999.5, length.out = 2000)) %>%
mutate(peak = seq(1, nrow(.)), strand = as.character(strand(target))) %>%
pivot_longer(-c(peak, strand), names_to = 'distance', values_to = 'cnt') %>%
mutate(distance = as.numeric(distance)) %>%
mutate(distance = ifelse(strand == '-', -distance, distance)) %>%
select(-peak, -strand) %>%
group_by(distance) %>%
tally(cnt) %>%
ggplot(aes(x = distance, y = n)) +
geom_line() +
geom_smooth(method = 'loess', span = 0.05) +
theme_minimal() +
theme(legend.position = 'none') +
labs(title = 'Fragment "cut" sites', x = 'Distance from TSS', y = '# of cut sites')
Check the distribution of values for important metrics related to scATAC quality. Notably, the # and % of fragments overlapping identified peaks or blacklist regions.
quantile(brain$peak_region_fragments, probs = seq(0, 1, 0.1))
quantile(brain$blacklist_region_fragments, probs = seq(0, 1, 0.1))
$FRiP <- brain$peak_region_fragments / brain$passed_filters * 100
brainquantile(brain$FRiP, probs = seq(0, 1, 0.1))
$FRiBl <- brain$blacklist_region_fragments / brain$peak_region_fragments
brainquantile(brain$FRiBl, probs = seq(0, 1, 0.1))
Set sensible thresholds to remove cells which do not seem to be high-quality,
then subset the brain
Seurat object using these thresholds.
subset(
brain <-
brain,> 2000 & # Keep cells with high number of fragments in peaks
peak_region_fragments peak_region_fragments < 100000 & # Remove cells with number of fragments in peaks too high
FRiP > 50 & # Keep cells with high FRiP
FRiBl < 0.05 & # Keep cells with low FRiBl
nucleosome_signal < 4 & # Remove cells with high nucleosome signal
TSS.enrichment > 2 # Keep cells with good TSSES
)
Don’t forget to also subset some peaks (which may have been identified from the low-quality cells).
brain[
brain <-rowSums(GetAssayData(brain, slot = "counts") > 0) > 10, # Remove peaks detected in less than 10 cells
]
Normalization is done using a TF-IDF approach, rather than traditional log-normalization, due to excessive sparsity of the scATAC data.
GetAssayData(brain, 'counts')[1:10, 1:10]
GetAssayData(brain, 'data')[1:10, 1:10]
Signac::RunTFIDF(brain)
brain <-GetAssayData(brain, 'counts')[1:10, 1:10]
GetAssayData(brain, 'data')[1:10, 1:10]
Dimensionality reduction can then be performed using the normalized data.
By using a singular value decomposition
approach, one effectively recapitulates the
latent semantic indexing
approach.
Signac::FindTopFeatures(brain, min.cutoff = 'q50') # Find variable features
brain <- Signac::RunSVD(object = brain) brain <-
Now that cells are embedded in a lower dimensional space, they can be graph-clustered just like “regular” cells from scRNAseq.
Try to perform graph-based clustering on the Seurat
object, using the lsi
embedded space
(skipping the first dimension).
FindNeighbors(object = brain, reduction = 'lsi', dims = 2:30)
brain <- FindClusters(object = brain, algorithm = 3, resolution = 1.2, verbose = FALSE) brain <-
Why was the first dimension skipped here? It appears that in LSI
, the first dimension
is frequently (anti-)correlated with depth, so we exclude it in further analysis.
Now that the data has been normalized and dimensionality is linearly reduced (through SVD
),
we can attempt to visualize the cluster locations in 2D.
Try computing tSNE and UMAP embeddings of the normalized LSI
data, using Seurat
-based
functions.
RunTSNE(brain, reduction = 'lsi', dims = 2:30)
brain <- RunUMAP(brain, reduction = 'lsi', dims = 2:30)
brain <- Seurat::DimPlot(brain, reduction = 'tsne') p1 <-
One can also leverage Signac
-based functions for visualization. Notably, the
CoveragePlot()
function is quite useful: it can plot in R the coverage signal
over a genomic region, aggregated per cell cluster. Try and plot the aggregated
signal over individual markers known to be specific to certain brain cell types.
CoveragePlot(
p2 <-object = brain,
region = "Tjp1", # Or Gad2 (interneurons), Cq1a (Microglia), Gfap (astrocytes), Tubb3 (neurons)
annotation = TRUE,
peaks = FALSE
)
scRNAseq for mouse E18 5K brain can be downloaded from 10X Genomics.
mkdir data/Homework_2/scRNA
curl https://cf.10xgenomics.com/samples/cell-exp/6.0.0/SC3_v3_NextGem_DI_Neurons_5K_SC3_v3_NextGem_DI_Neurons_5K/SC3_v3_NextGem_DI_Neurons_5K_SC3_v3_NextGem_DI_Neurons_5K_web_summary.html -o data/Homework_2/scRNA/SC3_v3_Neurons_5K_web_summary.html
curl https://cf.10xgenomics.com/samples/cell-exp/6.0.0/SC3_v3_NextGem_DI_Neurons_5K_SC3_v3_NextGem_DI_Neurons_5K/SC3_v3_NextGem_DI_Neurons_5K_SC3_v3_NextGem_DI_Neurons_5K_metrics_summary.csv -o data/Homework_2/scRNA/SC3_v3_Neurons_5K_metrics_summary.csv
curl https://cf.10xgenomics.com/samples/cell-exp/6.0.0/SC3_v3_NextGem_DI_Neurons_5K_SC3_v3_NextGem_DI_Neurons_5K/SC3_v3_NextGem_DI_Neurons_5K_SC3_v3_NextGem_DI_Neurons_5K_count_cloupe.cloupe -o data/Homework_2/scRNA/SC3_v3_Neurons_5K_count_cloupe.cloupe
curl https://cf.10xgenomics.com/samples/cell-exp/6.0.0/SC3_v3_NextGem_DI_Neurons_5K_SC3_v3_NextGem_DI_Neurons_5K/SC3_v3_NextGem_DI_Neurons_5K_SC3_v3_NextGem_DI_Neurons_5K_count_sample_alignments.bam -o data/Homework_2/scRNA/SC3_v3_Neurons_5K_count_sample_alignments.bam
curl https://cf.10xgenomics.com/samples/cell-exp/6.0.0/SC3_v3_NextGem_DI_Neurons_5K_SC3_v3_NextGem_DI_Neurons_5K/SC3_v3_NextGem_DI_Neurons_5K_SC3_v3_NextGem_DI_Neurons_5K_count_sample_alignments.bam.bai -o data/Homework_2/scRNA/SC3_v3_Neurons_5K_count_sample_alignments.bam.bai
curl https://cf.10xgenomics.com/samples/cell-exp/6.0.0/SC3_v3_NextGem_DI_Neurons_5K_SC3_v3_NextGem_DI_Neurons_5K/SC3_v3_NextGem_DI_Neurons_5K_SC3_v3_NextGem_DI_Neurons_5K_count_sample_barcodes.csv -o data/Homework_2/scRNA/SC3_v3_Neurons_5K_count_sample_barcodes.csv
curl https://cf.10xgenomics.com/samples/cell-exp/6.0.0/SC3_v3_NextGem_DI_Neurons_5K_SC3_v3_NextGem_DI_Neurons_5K/SC3_v3_NextGem_DI_Neurons_5K_SC3_v3_NextGem_DI_Neurons_5K_count_sample_feature_bc_matrix.h5 -o data/Homework_2/scRNA/SC3_v3_Neurons_5K_count_sample_feature_bc_matrix.h5
curl https://cf.10xgenomics.com/samples/cell-exp/6.0.0/SC3_v3_NextGem_DI_Neurons_5K_SC3_v3_NextGem_DI_Neurons_5K/SC3_v3_NextGem_DI_Neurons_5K_SC3_v3_NextGem_DI_Neurons_5K_count_sample_feature_bc_matrix.tar.gz -o data/Homework_2/scRNA/SC3_v3_Neurons_5K_count_sample_feature_bc_matrix.tar.gz
curl https://cf.10xgenomics.com/samples/cell-exp/6.0.0/SC3_v3_NextGem_DI_Neurons_5K_SC3_v3_NextGem_DI_Neurons_5K/SC3_v3_NextGem_DI_Neurons_5K_SC3_v3_NextGem_DI_Neurons_5K_count_sample_molecule_info.h5 -o data/Homework_2/scRNA/SC3_v3_Neurons_5K_count_sample_molecule_info.h5
curl https://cf.10xgenomics.com/samples/cell-exp/6.0.0/SC3_v3_NextGem_DI_Neurons_5K_SC3_v3_NextGem_DI_Neurons_5K/SC3_v3_NextGem_DI_Neurons_5K_SC3_v3_NextGem_DI_Neurons_5K_count_analysis.tar.gz -o data/Homework_2/scRNA/SC3_v3_Neurons_5K_count_analysis.tar.gz
Process the scRNAseq data with Seurat
using a pipeline approach to limit the
generation of intermediate objects. Why is such approach sometimes useful in R?
library(tidyverse)
library(Seurat)
Read10X_h5("data/Homework_2/scRNA/SC3_v3_Neurons_5K_count_sample_feature_bc_matrix.h5") %>%
brain_rna <- CreateSeuratObject() %>%
SCTransform() %>%
RunPCA() %>%
FindNeighbors() %>%
FindClusters() %>%
RunTSNE(reduction = 'pca', dims = 1:50) %>%
RunUMAP(reduction = 'pca', dims = 1:50)
DimPlot(brain_rna, reduction = "umap") p <-
Leverage the scRNAseq
package to recover pre-processed and annotated scRNAseq
data from Zeisel et al., 2018. We will use this to annotate cell identity of the
mouse E18 5K brain scRNAseq unlabelled data from 10X Genomics.
Which class is the newly created object? How different from a Seurat
object this one is?
scRNAseq::ZeiselBrainData()
ref <-class(ref)
Don’t forget to normalize the new counts in R
! This can be achieved using
the scuttle
package. One could also coerce the ref
object as a Seurat
object
to apply SCT
normalization!
scuttle::logNormCounts(ref) ref <-
With the SingleR
package, we can annotate cells using (1) the normalized
count
SparseMatrix
from the mouse E18 5K brain scRNAseq and (2) the
SingleCellExperiment
ref
object and its annotations.
Check SingleR
documentation to see how this can be done.
Are the scRNAseq new annotations corroborating with the clusters found in the scRNAseq data?
$level1class[ref$level1class %in% c('pyramidal CA1', 'pyramidal SS')] <- 'pyramidal'
ref SingleR::SingleR(
pred <-test = GetAssayData(brain_rna, 'data'),
ref = ref,
labels = ref$level1class,
BPPARAM = BiocParallel::MulticoreParam(workers = 12)
)$annotation <- pred$pruned.labels
brain_rna DimPlot(brain_rna, reduction = "umap", group.by = 'annotation')
p1 <- DimPlot(brain_rna, reduction = "umap", group.by = 'annotation') p2 <-
A commonly used trick to transfer annotation from scRNAseq to scATACseq is to
process the scATACseq data so that it recapitulates “gene activity”.
With Signac
, this can be done with the GeneActivity()
function. Read its documentation
to understand what it does!
Using this function, we can create a second assay, containing “gene activity” metrics for eeach gene in each cell. Now, the features are not accessible peaks anymore, but “gene activity”.
## - Compute an "activity score" for each gene in each cell (based on ATAC counts) and store it as a new assay
GeneActivity(brain, features = VariableFeatures(brain_rna))
gene_activities <-@assays["gene_activity"] <- CreateAssayObject(counts = gene_activities) brain
Don’t forget that these “gene activity” scores are obtained from raw scATACseq
counts. One needs to normalize them! In scRNAseq processed in Seurat
, the SCT
method is
typically used to normalize data.
Once you have ran SCTransform()
, check the number of assays for the brain
object. How many are they? What does each assay contain exactly? Which one is the
default one now?
## - Normalize this new assay with SCTransform
GetAssayData(brain, 'counts')[1:10, 1:10]
SCTransform(brain, assay = 'gene_activity') brain <-
Using Seurat
-based FindTransferAnchors()
and TransferData()
functions,
find anchors between scRNAseq and scATACseq data, then transfer the annotations from
scRNAseq to scATACseq.
## - Find anchors between scRNAseq and "gene activity" from scATACseq.
FindTransferAnchors(
anchors <-reference = brain_rna,
query = brain,
features = VariableFeatures(object = brain_rna),
reference.assay = "SCT",
query.assay = "SCT",
reduction = "cca"
)
## - Transfer annotations from scRNA to scATAC
TransferData(
pred_labels <-anchorset = anchors,
refdata = brain_rna$annotation,
weight.reduction = brain[['lsi']],
dims = 2:30
)
## - Save transferred annotations
$transferred_annotation <- pred_labels$predicted.id
brain$transferred_annotation[pred_labels$prediction.score.max < 0.8] <- NA brain
Check the transferred annotations: do they overlap what you would have thought from earlier exploration of known markers?
Seurat::DimPlot(brain, reduction = 'tsne', group.by = 'transferred_annotation') p <-
BONUS QUESTION: have we already used a non-Seurat
approach to transfer annotations from
one dataset to another? Try and apply it to transfer annotations from scRNAseq to scATACseq
data. Does this work?
Seurat
implements differential abundance statistical tests for stored assays.
Try to use FindMarkers()
to find peaks that are over-accessible in microglia
cells compared to the rest of the cells.
## - Find microglia-specific peaks
Idents(brain) <- brain$transferred_annotation
Seurat::FindMarkers(
microglia_peaks <-object = brain,
assay = 'peaks',
ident.1 = 'microglia',
ident.2 = unique(Idents(brain)[Idents(brain) != 'microglia']),
min.pct = 0.15,
only.pos = TRUE
)
A key step in scATACseq analysis is to link each peak to the gene it regulates. The most basic way to do this is to associate a peak to the nearest gene. Although this is a rather crude way of doing, it works reasonably well as a “quick-and-dirty” first step to identify genes which are potentially undergoing differential regulation between cell clusters.
## - Link microglia peaks to nearest genes
ensembldb::genes(EnsDb.Mmusculus.v79::EnsDb.Mmusculus.v79) %>% filter(gene_biotype == 'protein_coding')
mm_genes <-seqlevelsStyle(mm_genes) <- 'UCSC'
microglia_peaks %>%
microglia_genes <- filter(p_val_adj <= 0.05, avg_log2FC > 1, pct.1 > 0.2) %>%
rownames() %>%
str_replace('-', ':') %>%
GRanges() %>%
join_nearest(mm_genes) %>%
as_tibble() %>% pull(symbol) %>%
unique()
The easiest way to perform GO over-representation analysis in R
is to use
gprofiler2
package. It sends the query to the web-based application,
which is well maintained, frequently updated and supports a large number of species.
Check whether there are enriched GO annotations associated with the genes undergoing microglia-specific regulation.
## - Run GO analysis
gprofiler2::gost(microglia_genes, organism = 'mmusculus')
goa <-$result %>% as_tibble() %>% filter(p_value <= 0.05, grepl('GO:', source)) %>% arrange(p_value) %>% print(n = 40) goa


Learning Paths in progress
You don't have any enrolled learning paths. Visit the Discover or Catalog to find content that interests you.
Courses in progress
You don't have any enrolled courses. Visit the Discover or Catalog to find content that interests you.
Upcoming classes
You don't have any upcoming classes.


Home
ogp sample
netlify
Facebookでシェアする
Always a pleasure scaffolding your apps.
share!
Twitterでシェアする
Always a pleasure scaffolding your apps.
share!


| Class | Description |
|---|---|
| HibernateUtil |
Util class to communicate with the database using Hibernate
Created by sam on 3/13/17.
|
| ProductionAddressDAO |
Created by sam on 3/13/17.
|
| ProductionCompanyDAO |
Created by sam on 4/18/17.
|
| ProductionContractDAO |
Created by sam on 4/13/17.
|
| ProductionCustomerDAO |
Created by sam on 3/13/17.
|
| ProductionDAO<T> |
All filters using String as Object use the filterContains, all other filters are equal filters
Created by sam on 4/4/17.
|
| ProductionFlatSuretyDAO |
Created by sam on 4/13/17.
|
| ProductionFleetDAO |
Created by sam on 3/13/17.
|
| ProductionFunctionDAO |
Created by sam on 3/13/17.
|
| ProductionInsuranceCompanyDAO |
Created by sam on 4/13/17.
|
| ProductionInvoiceDAO |
Created by sam on 4/13/17.
|
| ProductionLogEntryDAO |
Created by sam on 5/11/17.
|
| ProductionManager | |
| ProductionNonFlatSuretyDAO |
Created by sam on 4/13/17.
|
| ProductionProvider |
Created by sam on 4/30/17.
|
| ProductionRoleDAO |
Created by sam on 4/4/17.
|
| ProductionSpecialConditionDAO |
Created by sam on 4/13/17.
|
| ProductionSuretyDAO |
Created by sam on 4/18/17.
|
| ProductionUserDAO |
Created by Billie Devolder on 5/04/2017.
|
| ProductionVehicleDAO |
Created by sam on 3/8/17.
|
| ProductionVehicleInsuranceDAO |
Created by sam on 4/13/17.
|
| ProductionVehicleTypeDAO |
Created by sam on 3/8/17.
|


Participatory mobile music with smartphones
in this presentation i'll be discussing four of my most recent
smartphone works from a research and artistic perspective. I'll talk
about each work individually but also the themes that tie them together.
And finally i'll discuss my plans future work and for involving students
in this research while at College of Charleston.
Themes
Ubiquitous computing
Audience participation
User interaction
Accessibility
How can we use smartphones in a collective way to bring people together
to make art and music? How can we use smartphones to encourage awareness
of nature?
using the smartphone as an instrument allows for the breakdown between
audience and performer.
A more perfect union is an experiment in participatory real-time
composing, where the audience chooses the outcome of the work by
evaluating the sounds they hear. The longer a person listens to a melody
the more likely an aspect of that melody persist in future generations.
The work is based on an evolutionary algorithm, in which the fittest
sound of a group passes on its genes, combines with another fit sound,
and creates a new one with the best of both. The piece ends when an
emergent sound is found that should hopefully satisfy the
audience.
This is a performance version of the work that took place at LSU Museum
of Art on March 4, 2018
Mesh Garden (2018)
This piece is a sequencer made of distributed smartphones. The idea is
to allow a group of people in a relaxed situation to make a piece of
ambient music with their smartphones. I derive all the interactions with
the music from the orientation of the phones. The player makes one
motion, and it changes the piece then listens to the result. There is
not meant to be constant user interaction, more tuning the way you would
a stereo.
This work is meant to be experienced outside of the concert hall,
preferably with friends or family in a relaxed setting so here's a short
video of just that.
Sounds Aware (2019)
Sounds Aware is a web application that runs on a smartphone and uses
machine learning to detect human-made sound (anthrophony) and masks it
with ambient music as a user walks around their environment. Though the
model is pre-trained with the author’s local environmental sounds, the
user can train the model further on their unique soundscape so that each
user gets a personalized experience. After the training process, the
user can listen to ambient music based on traits of the surrounding
anthrophony. If the app senses less anthrophony and more biophony or
geophony, then the music fades away, bringing the user’s attention to
the anthrophony.
immaterial.cloud (2020)
immaterial.cloud is an immersive audiovisual installation that explores
a possible networked future of peer-to-peer technologies, away from the
cloud. Participants experience the work via two to four smartphones
placed in different locations in a room. As participants walk up to a
phone, they see a representation of themselves through data. If the
participant gets close enough, the phone triggers a change in the sound
of immaterial.cloud and the other phones follow.
Visualizations of participants interacting with the work.
immaterial.cloud creates the opportunity for a shared space with
participants by using technology in a collective way. It requires the
phones to act together, and out of their hands, not as individuals as is
usual in this era of personalized devices. Experiencing immaterial.cloud
presents an opportunity for a restoration of attention that might have
been lost by an overuse of technology in the typical way.


We are
Farmers
Tedo farm deal with Farm produce like Catfish, crayfish, Turkey, Shrimps and all kinds of Sea foods and poultry products.
CONTACT US: 080 6950 3614 |<EMAIL_ADDRESS>We are unique because we solve hunger problem by producing it in an hygenic enviroment and distributing it to the consumers at cheaper price. we also help in the development of the country by bring up Farmers by training them and imperting knowledge into them.
Tedo farm deal with Farm produce like Catfish, crayfish, Turkey, Shrimps and all kinds of Sea foods and poultry products.
Tedo farm produce her fish and rear them from fingernail to table side. same with other of her farm produce like crayfish, Shrimps and also birds like Turkey.
We rear all of our farm product with care and adequate supervisions in other to give the communities hygenic product which is good for health
We solve the solutions of hunger by breading hygenic produce and making them available to consumers at affordable price.
Adress:31, Ifedapo Egbeda, Off Fashade Market, Egbeda Ibadan
Country: Ibadan - Nigeria
E-mail: Samuelamujo@gmail.com


Maintainer Notes¶
This is for those with read-write access to upstream. It is recommended to name the upstream remote something to remind you that it is read-write:
git remote add upstream-rw git@github.com:statsmodels/statsmodels.git
git fetch upstream-rw
Git Workflow¶
Grabbing Changes from Others¶
If you need to push changes from others, you can link to their repository by doing:
git remote add contrib-name git://github.com/contrib-name/statsmodels.git
get fetch contrib-name
git branch shiny-new-feature --track contrib-name/shiny-new-feature
git checkout shiny-new-feature
The rest of the below assumes you are on your or someone else’s branch with the changes you want to push upstream.
Rebasing¶
If there are only a few commits, you can rebase to keep a linear history:
git fetch upstream-rw
git rebase upstream-rw/master
Rebasing will not automatically close the pull request however, if there is one, so do not forget to do this.
Merging¶
If there is a long series of related commits, then you’ll want to merge. You may ask yourself, Merging: To Fast-Forward or Not To Fast-Forward? See below for more on this choice. Once decided you can do:
git fetch upstream-rw
git merge --no-ff upstream-rw/master
Merging will automatically close the pull request on github.
Check the History¶
This is very important. Again, any and all fixes should be made locally before pushing to the repository:
git log --oneline --graph
This shows the history in a compact way of the current branch. This:
git log -p upstream-rw/master..
shows the log of commits excluding those that can be reached from upstream-rw/master, and including those that can be reached from current HEAD. That is, those changes unique to this branch versus upstream-rw/master. See Pydagogue for more on using dots with log and also for using dots with diff.
Push Your Feature Branch¶
All the changes look good? You can push your feature branch after Merging or Rebasing by:
git push upstream-rw shiny-new-feature:master
Cherry-Picking¶
Say you are interested in some commit in another branch, but want to leave the other ones for now. You can do this with a cherry-pick. Use git log –oneline to find the commit that you want to cherry-pick. Say you want commit dd9ff35 from the shiny-new-feature branch. You want to apply this commit to master.  This commit is now applied as a new commit in master.
Merging: To Fast-Forward or Not To Fast-Forward¶
By default, git merge is a fast-forward merge. What does this mean, and when do you want to avoid this?
The fast-forward merge does not create a merge commit. This means that the existence of the feature branch is lost in the history. The fast-forward is the default for Git basically because branches are cheap and, therefore, usually short-lived. If on the other hand, you have a long-lived feature branch or are following an iterative workflow on the feature branch (i.e. merge into master, then go back to feature branch and add more commits), then it makes sense to include only the merge in the main branch, rather than all the intermediate commits of the feature branch, so you should use:
git merge --no-ff
Handling Pull Requests¶
You can apply a pull request through fetch and merge. In your local copy of the main repo:
git checkout master
git remote add contrib-name git://github.com/contrib-name/statsmodels.git
git fetch contrib-name
git merge contrib-name/shiny-new-feature
Check that the merge applies cleanly and the history looks good. Edit the merge message. Add a short explanation of what the branch did along with a ‘Closes gh-XXX.’ string. This will auto-close the pull request and link the ticket and closing commit. To automatically close the issue, you can use any of:
gh-XXX
GH-XXX
#XXX
in the commit message. Any and all problems need to be taken care of locally before doing:
git push origin master
Releasing¶
Checkout master:
git checkout statsmodels/master
Clean the working tree with:
git clean -xdf
But you might want to do a dry-run first:
git clean -xdfn
Locally tag the release. For a release candidate, for example:
git tag -a v0.10.0rc1 -m "Version 0.10.0 Release Candidate 1" 7b2fb29
or just:
git tag -a v0.10.0rc1 -m "Version 0.10.0 Release Candidate 1"
to use the last commit in master.
Checkout the tag:
git checkout tags/v0.10.0rc1
Build a sdist to ensure that that the build is clean:
python setup.py sdist --formats=gztar
It is important that the build on the tar.gz file is the same as the tag. It must not be dirty
If on a new minor release (major.minor.micro format) start a new maintenance branch, for example:
git checkout -b maintenance/0.10.x
Any bug fixes and maintenance commits intended for the next micro release should be made against master as usual, but tagged with the milestone for the micro release it is intended for. Then merge into master as usual. When ready to do the backports, use the file
tools/backport_pr.py
to identify which PRs need to be backported and to apply them to the maintenance branch. The tag for the release should be made in the maintenance branch.Upload the source distribution to PyPI:
twine upload dist/*
You might want to upload to test first:
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
Go back to the master branch, and add an empty commit:
git checkout statsmodels/master git commit --allow-empty -m "Start of 0.11.0 development" git tag -a v0.11.0.dev0 -m "Start of 0.11.0 development"
Push everything to statsmodels:
git push --tags
If a new branch was created:
git push --set-upstream origin maintenance/0.10.x
Make an announcement, and inform maintainers of wheel builders.
Profit?
Releasing from Maintenance Branch¶
Once any patches have been backported to a maintenance branch, the release steps are
Checkout the branch:
git checkout maintenance/0.10.x
Clean up thoroughly:
git clean -xdf
Locally tag the release:
git tag -a v0.10.0 -m "Version 0.10.0"
Checkout the tag:
git checkout tags/v0.10.0
Build a sdist to ensure that that the build is clean:
python setup.py sdist --formats=gztar
It is important that the build on the tar.gz file is the same as the tag. It must not be dirty.
Upload the source distribution to PyPI ot PyPI test:
twine upload dist/*
or:
twine upload --repository-url https://test.pypi.org/legacy/ dist/*
Push the tag to statsmodels:
git push --tags
Make an announcement, and inform maintainers of wheel builders.
Commit Comments¶
Prefix commit messages in the master branch of the main shared repository with the following:
ENH: Feature implementation
BUG: Bug fix
STY: Coding style changes (indenting, braces, code cleanup)
DOC: Sphinx documentation, docstring, or comment changes
CMP: Compiled code issues, regenerating C code with Cython, etc.
REL: Release related commit
TST: Change to a test, adding a test. Only used if not directly related to a bug.
REF: Refactoring changes


Python Module Index
| b | ||
batcher | Collecting samples in mini-batches for GPU-based training. | |
booster | Boosting of wrongly predicted samples | |
| c | ||
checkpoint | Conveniency class to create checkpoints for network training. | |
common | Common nuts | |
config | Handling of configuration files. | |
| d | ||
datautil | Utility functions for non-image data | |
| f | ||
fileutil | File system utilities. | |
| i | ||
imageutil | Basic image processing utilities | |
| l | ||
logger | Data logging | |
| n | ||
network | Wrapper around other network APIs such as Lasagne, Keras and Pytorch to enable usage within nuts-flow/ml. For instance, with a wrapped network one can write: samples >> build_batch >> network.train() >> log_loss >> Consume() | |
nutsml | ||
nutsml.batcher | ||
nutsml.booster | ||
nutsml.checkpoint | ||
nutsml.common | ||
nutsml.config | ||
nutsml.datautil | ||
nutsml.examples | ||
nutsml.fileutil | ||
nutsml.imageutil | ||
nutsml.logger | ||
nutsml.network | ||
nutsml.plotter | ||
nutsml.reader | ||
nutsml.stratify | ||
nutsml.transformer | ||
nutsml.viewer | ||
nutsml.writer | ||
| p | ||
plotter | Plotting of data, e.g. loss over epochs | |
| r | ||
reader | Reading of sample data and images | |
| s | ||
stratify | Stratification of sample sets | |
| t | ||
transformer | Data and image transformations | |
| v | ||
viewer | Viewing of sample data | |
| w | ||
writer | Writing of sample and image data |


public class OXMSerializer
extends java.lang.Object
MatchUtils
,
with the exception of some unique NXMs and OpenFlow 1.5 OXMs
not technically supported by Loxi/Floodlight yet. Any NXM
string is prefixed with an "nxm_" followed by the string
used for the corresponding OXM. For example, an ingress port
OXM is "in_port", while the NXM version is "nxm_in_port".
Any unique NXM without an OXM counterpart is assigned a string
to inform of the NXM. For example, NXM 33, "nxm_pkt_mark", marks
or matches on marked packets as Linux IP tables can do. This is
not supported in the OpenFlow spec, thus the NXM is assigned the
string "nxm_pkt_mark" within this class and does not have a string
predefined in MatchUtils
.
Any OXM with the HAS_MASKED bit set will have it's string
representation appended with an "_masked" or the string defined in
the STR_MASKED class variable below.
 This allows fast lookup in both directions from U32 to
String or from String back to U32. Note that unique keys AND values
are required in a BiMap.| 构造器和说明 |
|---|
OXMSerializer() |
| 限定符和类型 | 方法和说明 |
|---|---|
static java.lang.String |
oxmIdToString(org.projectfloodlight.openflow.types.U32 oxmId)
Converts the string representation of an OXM ID as
defined in
net.floodlightcontroller.util.MatchUtils.java
to its corresponding U32 OXM ID. |
static org.projectfloodlight.openflow.types.U32 |
oxmStringToId(java.lang.String oxmString)
Converts the string representation of an OXM ID as
defined in
net.floodlightcontroller.util.MatchUtils.java
to its corresponding U32 OXM ID. |
public static java.lang.String oxmIdToString(org.projectfloodlight.openflow.types.U32 oxmId)
net.floodlightcontroller.util.MatchUtils.java
to its corresponding U32 OXM ID.
Any NXM (not defined in net.floodlightcontroller.util.MatchUtils.java
is the same as the OXM string with an "nxm_" prefix.
Any OXM or NXM that is masked include a "_masked" postfix.oxmId,
- the U32 defining the OXM/NXM as [class]+[field]+[has_mask]+[length]public static org.projectfloodlight.openflow.types.U32 oxmStringToId(java.lang.String oxmString)
net.floodlightcontroller.util.MatchUtils.java
to its corresponding U32 OXM ID.
Any NXM (not defined in net.floodlightcontroller.util.MatchUtils.java
is the same as the OXM string with an "nxm_" prefix.
Any OXM or NXM that is masked include a "_masked" postfix.oxmString,
- the string definging the OXM/NXM


In this code a node is added and then removed from the tree making it empty. This example is working if its an empty page.


-- Alexis de Tocqueville --
The first nightfall of summer, shortest night of the year. It's a hot, muggy evening in Washington, D.C., the kind that smothers conversation underneath a wet blanket of lassitude. Anyone who has lived in this city knows the apocryphal tale that for many years the British Ambassador to the United States received tropical pay and was allowed to wear khaki dress as partial compensation for being forced to live and work in the area. In truth, the city in mid-June is no worse than Singapore during the early rainy season. Which is not everyone's cup of tea, admittedly.
Anyway, we have finished our Friday evening rituals. My wife and I have gone to dinner, gone to temple, and returned. The cats are fed and laze contentedly on the screen porch. They eye the fireflies with vague interest. A few stars peek through the silver clouds like dust motes.
My wife eyes me with vague interest. "Know what I feel like doing?"
"What?" I say neutrally. What she has in mind could be good or bad, so I'm keeping my options open.
"I feel like..." she pauses for dramatic effect. "Going to the beach."
"The beach? You mean, like Rehobeth Beach for the weekend?"
"No. I mean, the house in Buena Vistas."
"Oh. That's a good idea. We haven't been there in a while."
"Yes, and the weather tonight is perfect for it, don't you think?"
"Okay, make some lemonade, then. I'll get the gear."


Featured products
Blue Tshirt
$26
Woman shirt
$31
Yellow Tshirt
$21
Cool lingerie
$56
Blue Tshirt
$26
Woman shirt
$31
Yellow Tshirt
$21
Cool lingerie
$56


Dillon Berger (@InertialObservr) is creating math/physics edu-content | Patreon Become a patron of Dillon Berger (@InertialObservr) today: Read 4 posts by Dillon Berger (@InertialObservr) and get access to exclusive content and experiences on the world’s largest membership platform for artists and ...
NYC Salon NYC Salon is a biweekly speaker series featuring diverse speakers, one-of-a-kind stories, and engaging community activities.
dwmkerr/hacker-laws 💻📖 Laws, Theories, Principles and Patterns that developers will find useful. #hackerlaws - dwmkerr/hacker-laws
Great App Search Checklist Over a decade ago, I started my software development career. A search experience within my applications was the furthest thing from my mind. From then to the present, Search has become an unavoidable reality of not just software development, but our every...
Codefresh is the first CI/CD platform built for Kubernetes and Docker. Codefresh's continuous integration and delivery platform for Docker and Kubernetes empowers teams of all sizes to build & release pipelines faster at scale.
Generic Host Builder in ASP .NET Core 3.1 This is the seventh of a new series of posts on ASP .NET Core 3.1 for 2020. In this series, we’ll cover 26 topics over a span of 26 weeks from January through June 2020, titled …
Unity - Unity Unity is the ultimate game development platform. Use Unity to build high-quality 3D and 2D games, deploy them across mobile, desktop, VR/AR, consoles or the Web, and connect with loyal and enthusiastic players and customers.
Home | Mono Mono is a software platform designed to allow developers to easily create cross platform applications part of the .NET Foundation.
Rugged Software “Rugged” describes software development organizations that have a culture of rapidly evolving their ability to create available, survivable, defensible, secure, and resilient software.
Working with expression trees in C# | Alexey Golub Expression trees is an obscure, although very interesting feature in .NET. Most people probably think of it as something synonymous with object-relational mapping frameworks, but despite being its most common use case, it’s not the only one. There…
PODCASTICO - מפיקים פודקאסטים מעולים - הפקת פודקאסט לחברות וארגונים עושים פודקאסטים, אולפן פודקאסטים, תוכן לפודקאסט, הדרכה לפודקאסטרים, הנחיה, ייעוץ תוכן, סאונד לרדיו
TaoSecurity TaoSecurity is the home of Richard Bejtlich, focused on network security monitoring and digital security.
About - iCircuit - The Realtime Circuit Simulator and Editor iCircuit is the easy to use electronic circuit simulator and designer - the perfect tool for students, hobbyists, and engineers.
NoSQL Database | RavenDB ACID NoSQL Document Database A NoSQL Database that's fully transactional - RavenDB NoSQL Document Database allows 1 million reads and 150,000 writes per second.
Calca - The Text Editor that Loves Math Calca is an advanced symbolic calculator for iOS, OS X, and Windows that's as easy to use as a text editor.
Continuous C# and F# IDE for iPads and iPhones Continuous is always running your code so you can see changes to objects as you type. This makes writing interactive applications easier than with the old Code-Build-Run cycle. You are now fr...
Working with expression trees in C# | Alexey Golub Expression trees is an obscure, although very interesting feature in .NET. Most people probably think of it as something synonymous with object-relational mapping frameworks, but despite being its most common use case, it’s not the only one. There…
dotnet/project-system The C#, F# and Visual Basic project system for Visual Studio - dotnet/project-system
Dynamic generic dictionary expansion feature by fadimounir · Pull Request #32270 · dotnet/runtime TODO: Update JITInterface GUID in corinfo.h after #1378 (comment) These changes introduce dynamic size expansion for generic dictionary layouts when we run out of slots. The original implementat...
HusseiN98D on Bugcrowd View HusseiN98D’s researcher profile on Bugcrowd, a platform and team of experts connecting organizations to a global crowd of trusted security researchers.
Rémi Bourgarel’s Blog Blog about software development. Blazor, ASPNET Core, C#, Web Assembly, Spring, Angular, Docker
Table Convert Online - table to markdown,csv,json,latex table,excel,sql,xml A powerful online table editor and generator that converts between csv, html and markdown. easy to convert html tables to sql, json, xml, excel, latex tables and text, making the table easier to use.
Dmitry Pavlov | Coding Machine | World-class .NET Freelance Contractor | ASP.NET Core, .NET, C# World-class .NET freelance contractor. And yeah, my clients call me the Coding Machine. :) I mostly deal with ASP.NET Core / Blazor development these days. Top 1% on Stack Overflow. Top 3% of Freelance Developers. Microsoft MVP Awardee (7 times). Master D...
Real-World Cryptography Contains one of the most understandable introductions to cryptography I have ever read.
F# Weekly #7, 2020 – F# 5.0 (preview) and TP.SDK update! Welcome to F# Weekly, A roundup of F# content from this past week: News Using .NET for Apache® Spark™ to Analyze Log Data Garbage Collection at Food Courts Announcement: The `dotnet-fake` package a…
Blockchain Research Newsletter In this newsletter, we will be summarizing blockchain research papers so that you get the gist of the paper without having to read it.
Ptolemy's Theorem — Brady Haran The latest Numberphile video is a beautiful proof of Ptolemy’s Theorem, presented by Zvezdelina Stankova .
Visual Studio Code January 2019 See what is new in the Visual Studio Code January 2019 Release (1.31)
Fermat's Library | Librarian A Chrome extension that enhances arXiv papers. Get direct links to references, BibTeX extraction and comments on all arXiv papers
Pronoun Island: she/her examples Here are some example sentences using my she/her pronouns: She went to the park. I went with her . She brought her frisbee. At least I think it was hers . She threw the frisbee to herself .
Evil Eval() Vol. 2 @ PeachPie | PHP compiler to .NET PeachPie allows you to run PHP applications on .NET Core - faster, stabler and more secure.
iolevel/wpdotnet-sdk WordPress compiled to .NET Standard. SDK for ASP.NET Core. - iolevel/wpdotnet-sdk
LiteDB :: A .NET embedded NoSQL database LiteDB : LiteDB - A .NET NoSQL Document Store database in a single data file.
Calculating Pi: My attempt at breaking the Pi World Record Before I go into the specifics of my record attempt, it is important for you to have some background information. Over the past few years I have been steadily acquiring server hardware to increase my knowledge of system administration and cyber security. ...
Private Thoughts Thoughts on Privacy as it relates to blockchains/cryptocurrency and distributed systems
Free Finance Research Library of White Papers, Magazines, Reports, and eBooks #1 Resource for Free Finance Research, White Papers, Case Studies, Magazines, and eBooks
Cake - Home Cake is built on top of the Roslyn compiler which enables you to write your build scripts in C#.
RAM and bus timing Schematics, datasheets, kits, and more at https://eater.net/6502 Support these videos on Patreon: https://www.patreon.com/beneater or https://eater.net/support for other ways to support. Part 1: https://www.youtube.com/watch?v=LnzuMJLZRdU Part 2: https:...
The Golden Ratio (why it is so irrational) - Numberphile Check out Brilliant (and get 20% off) by clicking https://brilliant.org/numberphile Featuring Ben Sparks --- More links & stuff in full description below ↓↓↓ Golden seeds limited edition T-Shirt: https://teespring.com/NP-Seeds More Golden Ratio stuff: h...
The Horrifically Dystopian World of Software Engineering Interviews - Blog by Jared Nelsen A Synopsis of The Current State of Software Engineering Interviews
Man who misses Ceefax spends years creating his own version Peter Kwan developed ‘Teefax’ after original teletext service was shut down in 2012
Ben Eater I create tutorial-style videos about electronics, computer architecture, networking, and various other technical subjects.
Question: Why for loop is 1.3 slower over byte[] than foreach · Issue #13671 · dotnet/runtime Hi Guys! Usually, people used to thing foreach version of loop is always slower than for and so I, but, when I benchmarked it I was surprised how much (1.3 times) for version is actually slower whe...
AVIF for Next-Generation Image Coding By Aditya Mavlankar, Jan de Cock, Cyril Concolato, Kyle Swanson, Anush Moorthy and Anne Aaron
Research based on the .NET Runtime Over the last few years, I’ve come across more and more research papers based, in some way, on the ‘Common Language Runtime’ (CLR).
What do software engineers who work at a large scale understand that other developers don't? - Quora I can think of a few things:The level of strategy, planning, thinking and control involved.Processes around larger scale applications.Concerns that come with larger scale applications.There is a lot more strategy and thinking on a large scale application ...
Base64 encoding and decoding at almost the speed of a memory copy Many common document formats on the Internet are text-only such as email (MIME) and the Web (HTML, JavaScript, JSON and XML). To include images or executable code in these documents, we first encode them as text using base64. Standard base64 encoding uses...


|
Task Description
Hooking up a home
theater system can be difficult and confusing. To achieve
the best audio and video quality, each source device (such
as a DVD player, VCR, or tape deck) must be connected to
the receiver (the central ‘hub’, which controls volume and
allows switching from one device to another) using the
best interconnect method available. For audio signals, a
Coax digital connection is preferred, followed closely by
an Optical digital connection, and lastly an analog
connection. For video signals, a Component video
connection is preferred, followed closely by an S-Video
connection, and lastly a Composite connection.
Receivers have
several inputs to support the connection of a large number
of devices (5 or more inputs is typical). Each input may
support more than one type of connection (for both audio
and video), but to keep down the price of the receiver,
most manufacturers limit the quantity of each connection
type. For example, a typical receiver contains only two
inputs with Component video connectors, while it has five
or more inputs with Composite video connectors. This makes
sense because not every device supports all of the
connection types. For example, a VCR will only provide
Composite video connectors, but a DVD player will provide
Component, S-Video, and Composite video connectors.
Your task is to
create a program to optimize the cable connections to a
home theater receiver, by matching each device to the best
available input on the receiver, and list instructions
showing the device connections and all the cables
required.
The source devices
must be connected using the following rules:
-
Devices must be
connected using the best available connection to a
receiver input. Video connections take priority over
audio connections (that is, a receiver input selection
should be made using the video portion first, and the
audio portion second).
-
If the best
matching audio or video connection type is not
available, the device must be connected using the next
best available type. For example, if no Component video
connections are available, a typical DVD player would be
connected using an S-Video connection.
-
Any device
supporting video must have both an audio and a video
connection. If no video inputs are available, the device
cannot be connected to the receiver.
-
Only one audio
and one video cable are required for each device. For
example, a device connected using a Coax digital
connection does not need an Optical digital or Analog
cable.
-
Devices with the
most capabilities take priority over devices with fewer
capabilities. For example, an audio device with a Coax
digital output must be connected (even if it means using
the lesser-quality Analog audio connection) before an
audio device with only an analog connection. Similarly,
devices with video capability take priority over
audio-only devices.
-
If two devices
have identical capabilities, the device appearing first
in the input file takes priority.
Only one device can
be connected to each receiver input. If the number of
devices exceeds the number of inputs, then the lowest
priority device(s) cannot be connected.
Program Input
The input file
consists of a receiver section, and a source devices
section. The first line of the receiver section contains
two strings: the keyword RECEIVER, and the product name of
the receiver (maximum of 20 characters). The next lines of
the receiver section list each receiver input and its
capabilities, one receiver input per line. Each line
starts with the name of the receiver input (maximum of 8
characters), followed by the audio connection types
available, followed by the available video connection
types. The audio connection types will always be in the
following order: ANALOG, OPTICAL-DIGITAL, COAX-DIGITAL.
The video connection types will always be in the following
order: COMPOSITE, S-VIDEO, COMPONENT-VIDEO. Field names
are separated by commas. The maximum number of receiver
inputs is ten. The receiver section ends with the keyword
END-RECEIVER on a separate line.
The device section contains
a list of devices to be attached, one device per line.
Each line starts with the keyword DEVICE, followed by the
name of the device (maximum of 20 characters), followed by
the audio connection types, followed by the video
connection types (in the same order defined in the
receiver section). The device section ends with the
keyword END-DEVICE on a separate line.
A very simple
example input file is shown below.
RECEIVER, Acme
RJX-3900
CD, ANALOG, COAX-DIGITAL
VCR1, ANALOG, COMPOSITE
VCR2, ANALOG, COMPOSITE
DVD, ANALOG, COAX-DIGITAL, COMPOSITE, S-VIDEO
END-RECEIVER
DEVICE, El Cheapo CD,
ANALOG
DEVICE, Pannasonik VCR, ANALOG, COMPOSITE
DEVICE, Suny DVD, ANALOG, COAX-DIGITAL, COMPOSITE,
S-VIDEO
DEVICE, Disco Starr 8-Track, ANALOG
DEVICE, Hello Kitty Cassette, ANALOG
END-DEVICE
Program Output
The program must
respond to each query by writing a report to the output
file. The report title must include the receiver’s product
name. It must show the steps required for connecting the
devices to the best receiver input. Each numbered step
must describing a connection needed (from device to
receiver input), and must be reported in the same order as
the devices appeared in the input file. Finally, the
report must conclude with a list of the cables required to
complete the installation, including both the quantity and
type of cable. See the results below for examples.
Home Theater Receiver
Connections for: Acme RJX-3900
1. Connect the El
Cheapo CD audio to the CD input using an Analog audio
cable
2. Connect the Pannasonik VCR audio to the VCR1 input
using an Analog audio cable
3. Connect the Pannasonik VCR video to the VCR1 input
using a Composite video cable
4. Connect the Suny DVD audio to the DVD input using a
Coax-Digital audio cable
5. Connect the Suny DVD video to the DVD input using an
S-Video video cable
6. Connect the Disco Starr 8-Track audio to the VCR2
input using an Analog audio cable
NOTE: The Hello Kitty
Cassette cannot be connected to this receiver
The cables required to
complete this installation are as follows:
Qty Cable Type
--- --------------------
1 S-Video video
1 Composite video
1 Coax-digital audio
3 Analog audio
|


WITNESS LIST Revenue & Public Education Funding, Select Committee February 5, 1997-1:30P Public School Finance On: Anderson, David (TEA) Casey, Daniel T. (TASB) Grusendorf, Wm. C. (Tx Assn of Rural School) Moak, Lynn (Moak Consulting) Wisnoski, Joe (TEA)


http://action.vday.org/site/R?i=4pHXw60L1M2K-sJMqJJ2gg
http://action.vday.org/site/R?i=JhTcqpie6e-yKjyfIWtbtQ
http://action.vday.org/site/R?i=H08qkfQuavp2a75lyfWccQ
http://action.vday.org/site/R?i=c1zOV_UmfOUJyPe4_ogXrA
http://action.vday.org/site/R?i=c5_XlPZSh5R9Cz3oZGXVaQ
http://action.vday.org/site/R?i=00GiIrZ9yrijWc4xYOXq1Q
Our Sisters In Nepal Need Your Urgent Support
earthquake_nepal_getty.jpg
http://action.vday.org/site/R?i=60BjU4SMIQSukEwHe8JKnw
The massive earthquake over the weekend in Nepal has left
thousands of people dead, thousands more feared missing, and millions
displaced
and homeless. The earthquake also caused the destruction of some of
Nepal’s
most ancient, historical and spiritual sites.
Buildings have collapsed, communities are in shock and
overwhelmed with the pressing need for food, shelter and access to
medical aid, and
lives are ripped apart from the loss. Aftershocks are still being
felt, keeping
the physical conditions on the ground very unsafe. This means that
people are
not going to higher floors for fear of more collapse, and that people
are
staying out in the open roads. Movement has proved to be a challenge
because
the streets are still under rubble. There are still widespread
searches for
loved ones who are missing and who are not accounted for, and
hospitals are
stretched beyond capacity.
Today we are launching the RISING FUND for Nepal
http://action.vday.org/site/R?i=6gJCMrL5LXComAkwveoPjg
. Funds
raised will go to relief goods and urgent materials needs, as well as
psycho-social support and eventual rehabilitation. All funds will go
directly
to communities affected by the earthquake, administered and
facilitated by One
Billion Rising Nepal groups on the ground.
nepal_rising_caption_sm.jpg
“Nepal has been the site of some of the most colourful,
political and cultural Risings in the last few years. Last September
2014, One Billion Rising Revolution South Asia was launched in
Kathmandu, with South Asian representatives from the Sangat South Asia
network in attendance, as well as so many civil society groups from
all over Nepal who came and rose together to end violence against
women and girls. It is heartbreaking to see images now of Nepal after
the earthquake destroyed so many of its’ historical monuments,
and the whose destruction has claimed the lives of thousands of
Nepalese and whose rising death toll has caused so much pain and
sorrow to its people. We are in touch with the many groups who have
been a part of One Billion Rising Nepal and South Asia and who are
leading relief efforts on the ground.
We appeal to One Billion Rising activists all over the world, to stand
and rise for our sisters and brothers in Nepal - as we did for our
sisters and brothers in Bangladesh when the garment factory, Rana
Plaza collapsed - and in the Philippines last year, when Typhoon
Haiyan devastated the city of Tacloban and neighbouring cities - with
both tragedies claiming thousands of lives. Your help and solidarity
provided much needed relief and support then, and we are appealing to
you all once again now, to donate so that the people of Nepal can
continue to Rise,” stated Monique Wilson, One Billion Rising
Director.
WE RISE FOR OUR SISTERS AND BROTHERS IN NEPAL!
DONATE to the Rising Fund for Nepal >
http://action.vday.org/site/R?i=AEvBLiTBvGCrSorYUBZA1Q
http://action.vday.org/site/R?i=o43GaBonw9Ri7obyWJtUnQ
http://action.vday.org/site/R?i=YQ9HOrSLHArKEHnqyNwV2Q
http://action.vday.org/site/R?i=TYbtFzUYKNGOIuvjMAoylQ
http://action.vday.org/site/R?i=o0_wH5ABlr6zzts4FmvTpQ
http://action.vday.org/site/R?i=XooWja-SohybnJmz5qwRVA
http://action.vday.org/site/R?i=NkbR1PL7pksZApXsbD_fkw
http://action.vday.org/site/R?i=THfvcKqfrP2BM5WNJZEmYw
http://action.vday.org/site/R?i=QBC9ysoK5qVPjHtfg9O6Rg
unsubscribe
http://action.vday.org/site/CO?i=TeSpQEuYfKUopY2WYdCccBYl7MVHp-E8&cid=1062
Powered By Blackbaud


By Amy Quinton and Daniel Newman
All United Nations (UN) countries are working towards achieving the Sustainable Development Goals (SDGs) by 2030. 169 targets and 232 unique indicators measure progress on the 17 SDGs.
Climate Action is one of these 17 SDGs that the world has agreed is of critical importance, and it is underpinned by the Paris Agreement. A separate initiative, Project Drawdown, has identified a range of solutions to limit climate change (“Drawdown Solutions”), ranked via objective measures of CO2-equivalent reduction and costs.
We realised that most Drawdown Solutions provide extra sustainable development benefits, additional to climate action, which relate directly to many of the 17 SDGs. So we attempted to categorise which of Project Drawdown’s top 76 solutions related to which of the 17 SDGs.
This is timely as the UN Department of Economic and Social Affairs (UN DESA) and the UN Framework Convention on Climate Change (UNFCCC) have just published new analysis titled “Maximizing Co-benefits by Linking Implementation of the Sustainable Development Goals and Climate Action”.
The figure and table below shows our rudimentary assessment that the Project Drawdown’s solutions make a positive contribution to 16 of the 17 SDGs, not just to the Climate Action SDG!
The size of each rectangles corresponds to the number of Drawdown Solutions that could help achieve the SDG. So the bigger the SDG rectangle, the more Drawdown Solutions could be applied.
SDGs with more related Drawdown Solutions appear in columns towards the left:
Scroll over the table to navigate
| 13 Climate Action | 11 Sustainable Cities and Communities | 12 Responsible Consumption and Production | 15 Life on Land | 7 Affordable and Clean Energy | 9 Industry Innovation and Infrastructure | 3 Good Health and Well being | 2 Zero Hunger | 5 Gender Equality | 8 Decent Work and Economic Growth | 1 No Poverty | 14 Life Below Water | 10 Reduced Inequality | 17 Partnerships to achieve the goal | 4 Quality Education |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Refrigerant Management | Refrigerant Management | Refrigerant Management | Reduced Food Waste | Wind Turbines (Onshore) | Electric Vehicles | Reduced Food Waste | Reduced Food Waste | Educating Girls | Educating Girls | Educating Girls | Coastal Wetlands | Educating Girls | Indigenous Peoples’ Land Management | Educating Girls |
| Wind Turbines (Onshore) | Wind Turbines (Onshore) | Wind Turbines (Onshore) | Plant-Rich Diet | Solar Farms | Methane Digesters (Large) | Plant-Rich Diet | Managed Grazing | Family Planning | Women Smallholders | Family Planning | Nutrient Management | |||
| Reduced Food Waste | Reduced Food Waste | Reduced Food Waste | Silvopasture | Rooftop Solar | Insulation | Family Planning | Improved Rice Cultivation | Women Smallholders | Telepresence | |||||
| Plant-Rich Diet | Solar Farms | Solar Farms | Regenerative Agriculture | Geothermal | Ships | Clean Cookstoves | System of Rice Intensification | |||||||
| Tropical Forests | Rooftop Solar | Silvopasture | Temperate Forests | Nuclear | LED Lighting (Household) | Electric Vehicles | Farmland Irrigation | |||||||
| Educating Girls | Geothermal | Rooftop Solar | Peatlands | Clean Cookstoves | Bamboo | Mass Transit | ||||||||
| Family Planning | Nuclear | Regenerative Agriculture | Tropical Staple Trees | Wind Turbines (Offshore) | Alternative Cement | Forest Protection | ||||||||
| Solar Farms | Wind Turbines (Offshore) | Tropical Staple Trees | Afforestation | Concentrated Solar | Trucks | Indigenous Peoples’ Land Management | ||||||||
| Silvopasture | Concentrated Solar | Conservation Agriculture | Conservation Agriculture | Wave and Tidal | Airplanes | Walkable Cities | ||||||||
| Rooftop Solar | Electric Vehicles | Tree Intercropping | Tree Intercropping | Methane Digesters (Large) | Building Automation | Bike Infrastructure | ||||||||
| Regenerative Agriculture | District Heating | Geothermal | Managed Grazing | Biomass | Bioplastic | Electric Bikes | ||||||||
| Temperate Forests | Insulation | Managed Grazing | Farmland Restoration | Solar Water | Cars | Green Roofs | ||||||||
| Peatlands | LED Lighting (Household) | Methane Digesters (Large) | Multistrata Agroforestry | In-Stream Hydro | Cogeneration | |||||||||
| Tropical Staple Trees | Bamboo | Ships | Methane Digesters (Large) | Cogeneration | Smart Glass | |||||||||
| Afforestation | Alternative Cement | Bamboo | Bamboo | Landfill Methane | High-speed Rail | |||||||||
| Conservation Agriculture | Mass Transit | Alternative Cement | Forest Protection | Methane Digesters (Small) | Water Distribution | |||||||||
| Tree Intercropping | Trucks | Trucks | Indigenous Peoples’ Land Management | Micro Wind | Ridesharing | |||||||||
| Geothermal | Solar Water | Heat Pumps | Perennial Biomass | |||||||||||
| Managed Grazing | Heat Pumps | Airplanes | Coastal Wetlands | |||||||||||
| Nuclear | LED Lighting (Commercial) | Water Saving - Home | System of Rice Intensification | |||||||||||
| Clean Cookstoves | Building Automation | Bioplastic | Composting | |||||||||||
| Wind Turbines (Offshore) | Water Saving - Home | Cars | Women Smallholders | |||||||||||
| Farmland Restoration | Bioplastic | Household Recycling | Nutrient Management | |||||||||||
| Improved Rice Cultivation | In-Stream Hydro | Industrial Recycling | Farmland Irrigation | |||||||||||
| Concentrated Solar | Cars | Composting | Recycled Paper | |||||||||||
| Electric Vehicles | Cogeneration | Nutrient Management | Biochar | |||||||||||
| District Heating | Walkable Cities | Recycled Paper | ||||||||||||
| Multistrata Agroforestry | Household Recycling | Water Distribution | ||||||||||||
| Wave and Tidal | Industrial Recycling | Trains | ||||||||||||
| Methane Digesters (Large) | Smart Thermostats | |||||||||||||
| Insulation | Bike Infrastructure | |||||||||||||
| Ships | Composting | |||||||||||||
| LED Lighting (Household) | Smart Glass | |||||||||||||
| Biomass | Telepresence | |||||||||||||
| Bamboo | High-speed Rail | |||||||||||||
| Alternative Cement | Electric Bikes | |||||||||||||
| Mass Transit | Water Distribution | |||||||||||||
| Forest Protection | Green Roofs | |||||||||||||
| Indigenous Peoples’ Land Management | Trains | |||||||||||||
| Trucks | Ridesharing | |||||||||||||
| Solar Water | Micro Wind | |||||||||||||
| Heat Pumps | ||||||||||||||
| Airplanes | ||||||||||||||
| LED Lighting (Commercial) | ||||||||||||||
| Building Automation | ||||||||||||||
| Water Saving - Home | ||||||||||||||
| Bioplastic | ||||||||||||||
| In-Stream Hydro | ||||||||||||||
| Cars | ||||||||||||||
| Cogeneration | ||||||||||||||
| Perennial Biomass | ||||||||||||||
| Coastal Wetlands | ||||||||||||||
| System of Rice Intensification | ||||||||||||||
| Walkable Cities | ||||||||||||||
| Household Recycling | ||||||||||||||
| Industrial Recycling | ||||||||||||||
| Smart Thermostats | ||||||||||||||
| Landfill Methane | ||||||||||||||
| Bike Infrastructure | ||||||||||||||
| Composting | ||||||||||||||
| Smart Glass | ||||||||||||||
| Women Smallholders | ||||||||||||||
| Telepresence | ||||||||||||||
| Methane Digesters (Small) | ||||||||||||||
| Nutrient Management | ||||||||||||||
| High-speed Rail | ||||||||||||||
| Farmland Irrigation | ||||||||||||||
| Waste-to-Energy | ||||||||||||||
| Electric Bikes | ||||||||||||||
| Recycled Paper | ||||||||||||||
| Water Distribution | ||||||||||||||
| Biochar | ||||||||||||||
| Green Roofs | ||||||||||||||
| Trains | ||||||||||||||
| Ridesharing | ||||||||||||||
| Micro Wind |
The table below shows our assessment that the Educating Girls and Reduced Food Waste Drawdown Solutions are related to the most SDGs, each applicable to (at least) 6 SDGs:
The table below shows our rudimentary assessment of the number of related SDGs for each of the 76 best Drawdown Solutions
Number of related SDGs for each of the 76 best Drawdown Solutions:
Scroll over the table to navigate
| Drawdown Solution | Number of related SDGs |
|---|---|
| Educating Girls | 6 |
| Reduced Food Waste | 6 |
| Bamboo | 5 |
| Methane Digesters (Large) | 5 |
| Alternative Cement | 4 |
| Bioplastic | 4 |
| Cars | 4 |
| Cogeneration | 4 |
| Composting | 4 |
| Electric Vehicles | 4 |
| Family Planning | 4 |
| Geothermal | 4 |
| Indigenous Peoples’ Land Management | 4 |
| Managed Grazing | 4 |
| Nutrient Management | 4 |
| Rooftop Solar | 4 |
| Solar Farms | 4 |
| Trucks | 4 |
| Water Distribution | 4 |
| Wind Turbines (Onshore) | 4 |
| Women Smallholders | 4 |
| Airplanes | 3 |
| Bike Infrastructure | 3 |
| Building Automation | 3 |
| Clean Cookstoves | 3 |
| Coastal Wetlands | 3 |
| Concentrated Solar | 3 |
| Conservation Agriculture | 3 |
| Electric Bikes | 3 |
| Farmland Irrigation | 3 |
| Forest Protection | 3 |
| Green Roofs | 3 |
| Heat Pumps | 3 |
| High-speed Rail | 3 |
| Household Recycling | 3 |
| In-Stream Hydro | 3 |
| Industrial Recycling | 3 |
| Insulation | 3 |
| LED Lighting (Household) | 3 |
| Mass Transit | 3 |
| Micro Wind | 3 |
| Nuclear | 3 |
| Plant-Rich Diet | 3 |
| Recycled Paper | 3 |
| Refrigerant Management | 3 |
| Regenerative Agriculture | 3 |
| Ridesharing | 3 |
| Ships | 3 |
| Silvopasture | 3 |
| Smart Glass | 3 |
| Solar Water | 3 |
| System of Rice Intensification | 3 |
| Telepresence | 3 |
| Trains | 3 |
| Tree Intercropping | 3 |
| Tropical Staple Trees | 3 |
| Walkable Cities | 3 |
| Water Saving - Home | 3 |
| Wind Turbines (Offshore) | 3 |
| Afforestation | 2 |
| Biochar | 2 |
| Biomass | 2 |
| District Heating | 2 |
| Farmland Restoration | 2 |
| Improved Rice Cultivation | 2 |
| Landfill Methane | 2 |
| LED Lighting (Commercial) | 2 |
| Methane Digesters (Small) | 2 |
| Multistrata Agroforestry | 2 |
| Peatlands | 2 |
| Perennial Biomass | 2 |
| Smart Thermostats | 2 |
| Temperate Forests | 2 |
| Wave and Tidal | 2 |
| Tropical Forests | 1 |
| Waste-to-Energy | 1 |
We hope this post is interesting and thought provoking. If anybody would like to contribute further to it, here is the spreadsheet containing our rough analysis. Anyone can add comments/suggestions. We will recieve an email notification when people comment. Also here is a repository with the code we used to produce everything else in this post (pull requests welcome).
Our rudimentary analysis shows that the Drawdown Solutions provide well described and measurable ways to address climate change while also contributing to a broad range of other SDGs and benefits.
This aligns with UN DESA and UNFCCC’s lastest report on the synergies between global commitments to climate action and the SDGs.
We hope this is useful for governments, businesses, not-for-profits and others looking for direct ways to contribute towards the Sustainable Development Goals (SDGs).


file Additional Fig. stimulus response [see Click LINK data S/s repetition-rate QSD shown waveform different waveforms stimuli stimulation persec_click Note persec_dau brain differences rate visual Figure time responses obtained trace used A-waves passband using auditory frequency repetition-rates sequence timing uniform convolved deconvolved evoked paper shows activity oscillations recorded sensory change changes frequencies range EEG brain's latency number rates time-domain visA-waves {border-style (Fig. filter magnitude seen S/s. audA-waves new potentials px;} single #ffffff;} Hz. memory psychophysical results second use Brain STZ analysis firing mean ms. supraSTZ vertical G-waves Silberstein average effects evidence following function fusion persec_fig q-sequence q-sequence: right small start data, did does evoked-response frequency-domain intensity peak period recording recordings repetition-rate. research subSTZ subject variation waves (see A-wave Auditory Q-magnitudes compared duration evoked-responses jittered just method ms, occur pair repeated sustained Fourier S/s, Thus, amplitude convolution effect flicker jitter length neural noise overlap potential processing provide red stimulation. taken traces ./S-()- Neurophysiol SSVEP audA-wave averaged circular clinical important increased information larger left occurs overlapped peaks persec_fig_ repetition-rate, runs sound stimuli, stimulus. studies subject, CFF CNS based cortical deconvolution differ equivalent experimental filtered flash fusion-memory greater line longer measure phenomena possible presented repetition-rates. response. run-to-run sensation similar studied subjects temporal ABR Clin Neurosci QSD, So, action blue changing clear continuous early frequency-domain. human limitations lines long px; rates. shape trace: unity visA-wave {font-family (which Dau-chirps Hz, Jewett Pipingas STZ. Sensation-Transition Subject alpha animations averaging cell cells comb conditions consequence critical described despite detected dots electrical filtering font-size given high higher i.e., imagine indicate jitter, lower means ordinate prolonged rate, rate. relative responses. senior shift shown. slow stimulation, threshold transient "percent Evoked However, Human Middle Muller Nunez Res STZ, []. absence added averages b(t) changed, coefficients comparison contains convolved, data. differences. dot double; estimated files individual interval is, jitter" large left. magnitudes measured moving ms; multiple needed neuronal neurons observed obtain opposite passband. plasticity presentation previously produce provided q-sequence. respect sequence. showing steady steady-state synaptic task train various vision wave (The (as (in (solid ./-()- ./BF Abscissa, Critical Data Dotted Electroenceph Hillyard LTP PNS QSD. S/s). Sci Sequence Steady Steady-state Stimulus [], ]"Fig. actual actually affected analyzed appearance attention audA-waves, axis border-color border-width box brief cellular changed clicks collection consider cycle. dashed der detection duty example, field figures gamma generated having head hearing highpass implies indicated input jitter. known light limited line) make mechanism mechanisms methods middle model near necessary negative nerve neuron notable note onset original parts phase previous process product q(t) quality region require required responses, result run run. scale scales sequences shorter smaller solid; sounds standard state stimulus, study subjective term time-domain. topography try unit van visually waveforms. {font-style {font-weight "fusion-memory" "ground" (Dau-chirps) (at (i.e., (no (not A-waves, B). Basar Bekesy Effects Figs. Hz) Lalanne Legend Monaural NOTE National Nervous Note: QSD-derived S/s) STZ). Solid Topogr Vertical Visual accessed accuracy affect age analysis, and/or aspects assume audio better between-day bold cells. cognitive consistent constant correspond correspondence courier; created determined difference dotted easily em; end equal figure flash-memory form good hypothesize implications interpretation lack line). linear listening makes male min moved need nonlinear observations offer order oscillatory overall paper, pattern percentage periods phenomenon placing polarity prior prominent pt;} published rapid record recordings, recover recovered related repetition scene shown). signal slower solely solid somA-waves somatosensory speakers speakers, square stimuli. subject's subjects. successive system. systematic this. tone trace. train. transformed transition triggered unchanging upper usual valley variable verify waveform. waveshape window work


| Choose a Problem |
| 2 + 3 |
| 5 |
| 5 units |
| 1. Convert to a mathematical model (Introduces Error) | 2. Solve the corresponding math problem (Doesn't Introduce Error) | 3. Interpret your solution using the model (Introduces Error) |
Mathematics is the precise, error-free study of abstract structures, relationships, patterns, and quantities, such as those which appear in models of the real world.
Hint: Hover your mouse over the buttons to get more information on that mathematical step.
| Choose a Problem |
| Various Gravity Problems |
| An object thrown upwards at 16 ft/s experiences downward acceleration of 32 ft/s2. When does it reach its maximum height? |
| Maximize -16x2+16x |
|
|
| Solve (-16x2+16x)' = 0 and test |
|
|
| This box is a ghost and shouldn't be seen |
| The length plus width of a rectangle is 1. What is its maximum possible area? |
|
|
| Maximize x-x2 |
|
|
| Solve (x-x2)' = 0 and test |
| Find the vertex of the vertical parabola passing through (0,0),(1,0),(2,-2) |
| Maximize -(x-½)2 + ¼ |
| Maximize -(x-½)2 |
| Solve -32x+16=0 |
|
|
| Minimize (x-½)2 |
| Solve 1-2x=0 |
| Solve x - ½ = 0 |
| Answer |
| x=½ |


Setup Account
×
×
Setup your account.
Remembered your login credentials?
Login
Reset Password
© 2019 One Point Seven Ltd


--- layout: stats title: Kenyon Statistics permalink: "/stats/teams/kenyon.html" ---
| Year | Team | Status | Finish | W-L | PPG | PAPG | Margin | TU/G | N/G | BHrd | BPts | PPB |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2015 | Kenyon | UG | 37 | 8-10 | 101.7 | 159.7 | -58 | 5.5 | 1.11 | 99 | 940 | 9.49 |
| Year | Round | Team | Opponent | Result | Score | 10 | -5 | PPB | Packet |
|---|---|---|---|---|---|---|---|---|---|
| 2015 | 1 (Prelims) | Kenyon | Chicago C | Loss | 75 - 85 | 4 | 3 | 12.50 | MIT A + Alberta |
| 2015 | 2 (Prelims) | Kenyon | Penn A | Loss | 15 - 555 | 1 | 3 | 20.00 | Minnesota + Washington |
| 2015 | 3 (Prelims) | Kenyon | NYU | Loss | 35 - 280 | 2 | 1 | 10.00 | Chicago A |
| 2015 | 4 (Prelims) | Kenyon | Berkeley B | Win | 160 - 55 | 7 | 0 | 12.86 | Virginia and Yale |
| 2015 | 5 (Prelims) | Kenyon | VCU A | Loss | 80 - 130 | 4 | 2 | 12.50 | Rice + Illinois + W+M |
| 2015 | 6 (Prelims) | Kenyon | Ottawa | Win | 105 - 75 | 7 | 1 | 5.71 | Michigan + Toronto |
| 2015 | 7 (Prelims) | Kenyon | UCSD A | Loss | 40 - 400 | 2 | 0 | 10.00 | Stanford B + Columbia |
| 2015 | 8 (Prelims) | Kenyon | Stanford B | Loss | 100 - 225 | 5 | 0 | 10.00 | Maryland + NYU |
| 2015 | 9 (Prelims) | Kenyon | Detroit Catholic Central | Loss | 105 - 175 | 6 | 1 | 8.33 | McGill + WUSTL |
| 2015 | 10 (Prelims) | Kenyon | WUSTL | Loss | 75 - 280 | 4 | 3 | 12.50 | Stanford A |
| 2015 | 11 (Prelims) | Kenyon | Carleton U | Win | 135 - 20 | 7 | 1 | 10.00 | Ottawa + Harvard |
| 2015 | 13 (Tiebreaker) | Kenyon | Ottawa | Loss | 80 - 170 | 5 | 2 | 8.00 | Penn A |
| 2015 | 14 (Playoffs) | Kenyon | Michigan B | Win | 135 - 65 | 8 | 1 | 7.50 | Editors 1 |
| 2015 | 15 (Playoffs) | Kenyon | Penn B | Win | 205 - 110 | 11 | 1 | 9.09 | Editors 2 |
| 2015 | 16 (Playoffs) | Kenyon | Penn C | Win | 120 - 5 | 7 | 0 | 7.14 | Editors 3 |
| 2015 | 17 (Playoffs) | Kenyon | Rice | Loss | 115 - 160 | 6 | 1 | 10.00 | Dartmouth |
| 2015 | 18 (Playoffs) | Kenyon | Ohio State | Win | 110 - 20 | 6 | 0 | 8.33 | Editors 4 |
| 2015 | 19 (Playoffs) | Kenyon | Waterloo A | Win | 140 - 65 | 7 | 0 | 10.00 | Editors 5 |
| Year | Team | Player | Games | Tossups | Negs | Pts | PPG |
|---|---|---|---|---|---|---|---|
| 2015 | Kenyon | Graham Reid | 18 | 68 | 10 | 630 | 35.00 |
| 2015 | Kenyon | Gabe Brison-Trezise | 18 | 28 | 9 | 235 | 13.06 |
| 2015 | Kenyon | Emma McGorray | 18 | 2 | 0 | 20 | 1.11 |
| 2015 | Kenyon | Hannah Echt | 18 | 1 | 1 | 5 | 0.28 |


[% PROCESS "inc/header.inc" %]
[% $page := "Why IPv6?" %]
[% PROCESS "inc/list-nav.inc" %]
{{Why IPv6?}}
{{This is an interesting question. IPv6 buys you only a bit more than you already have today; and most of that is a promise. IPv6 will help you preserve the level of Internet connectivity between your home and other locations on the Internet, without interference, as you enjoyed in 2012.}}
{{ The promise is the ability to give every device in your house a reachable network address.
Each house will have practically unlimited network addresses (264 if you're curious - about 18 billion billions).
Each house may potentially have more than that, particularly if they have the need for multiple networks within the home. Many ISPs will be able to easy give you 256 of those networks. Running out of IPv6 address space will seem impossible for decades. }}
{{Applications to take advantage of this are just now being thought of. Imagine having all of your home electronics accessible from work or from your mobile phone. You could watch your TV recorder, or the security camera. You could check the fridge, perhaps start the oven timer. Maybe turn on the air conditioning or the heater when you know you're coming home early. All of these *can* be done today, but are cumbersome with IPv4 if you're using a single IPv4 address today. And, very difficult in the future, with where IPv4 is heading next.}}
{{What Is Wrong with IPv4}}
{{The traditional IPv4 Internet is running out of space. The IANA registry (at the global level) is either just about out, or totally out, depending on when you read this. They are expected to announce this depletion Janaury or February 2011.}}
{{As Internet service providers each run out of the space they have been allocated, they will have to find creative ways to help keep taking on new customers. Those customers will still need access to the IPv4 Internet.}}
{{Q: I heard there are millions of addresses left. Take it back from the companies not using it! Use the Class E space! (etc).}}
{{Those have been looked at. The space is relatively small, given the rate that the world is consuming it now. Forcefully taking back space would require more time in the court systems than it would buy back. Other currently reserved space is too difficult to use - it would require replacing most of the routers in the world to do so.}}
{{Q: What creative ways will ISPs keep IPv4 running?}}
{{Most commonly, some form of NAT. NAT is a form of address sharing; think of it as a party line from the earlier days of the telephone. You'll be able to make outgoing connections easy enough, as long as your shared IP address is not too busy.}}
{{ Note this is in addition to any NAT you do at home. }}
{{Q: So, why worry? NAT will work, right? I use NAT at home today after all..}}
{{ Sort of. Basic web browsing should be OK for most sites. Some map sites, the itunes store, and other sites that use a huge number of connections to rapidly load the page, may start showing blank images, depending on how many people share that public IP address. }}
{{ Mail will still work, both traditional as well as web based. }}
{{ Q: What will break when ISPs NAT their customers? }}
{{When web sites have to block abusers, they often block the IP address the abuse came from. If you are sharing your IP address with 1000 other broadband customers, if *any* of them trigger a block, you will be blocked too. Your ISP is not likely to be able to assist in fixing this.}}
{{Running servers at home will break, unless you arrange to pay for a static IP address. Assuming the ISP is able to offer this at all, we expect the price for this to go up over the coming years. Some ISPs may be able to offer you a port forward on a static IP on an odd port number - but not the whole IP address}}
{{ Running p2p applications will likely break. This includes things like voice and video chat, video games, and yes - even those legal BitTorrent clients. Some ISPs may handle this better than others, and some applications may handle this better than others, but there will be a lot of road bumps over all on this. }}
{{Web sites that today automatically show you your local weather, news, and movies may no longer be able to locate you using your IPv4 address; you'll have to tell the web sites where in the world you are. }}
{{ Q: Do I have to give up IPv4, to go IPv6? }}
{{ No. They can co-exist. Most ISPs will continue to offer some form of IPv4 (most NAT'd) while offering IPv6. So you can reach the web sites that are still IPv4 only. }}
{{ Q: When is the cutoff date for switching? }}
{{ Most service providers will keep existing IPv4 users on the same service they have now. Only when they change services will they be forced to share a public address with other residences. Either way, you'll still have IPv4 available for years to come, in most markets. }}
{{ As such, there is no hard cutoff date. Just be aware that IPv4 will start working less well over time. }}
{{ Q: Will I have to replace my OS? }}
{{ Windows Vista, Windows 7: You're good to go. XP users: It can be made to work, but it really is time to consider upgrading. Win98 and Win2000 users have no path to IPv6. }}
{{Mac OS X: All supported versions of OS X (since Tiger, 10.4) have IPv6.}}
{{Linux, BSD, and other unix like systems generally all have IPv6.}}
{{ Q: Will I have to replace my hardware? }}
{{Your PC: Only if the OS upgrade you do requires it.}}
{{Your ethernet switch / hub: No. It is unaware of IP; it works at a lower level on the local network.}}
{{ Your router: Quite possibly. Many home routers have no upgrade path for IPv6. Do a web search for your router model, with the keyword "ipv6" with it. }}
{{ What router to buy: Wait until your ISP gives you guidance on what will work best with their system. If you must replace your router immediately, look for ones that are IPv6 capable. Apple Airport Express and Airport Extreme have built in tunneling capabilities. OpenWRT capable routers also do (when loaded with the OpenWRT firmware). If you do consider tunnels, see my 6to4 comments. }}
[% PROCESS "inc/footer.inc" %]


Sign Board Main Frame
Sign Board Screw
Sign Board Clips
Sign Board Pipe Clamp
Sign Board Top Cover
Nylon Strip
PVC Cap Neon Supporter
Traffic Channel
Neon Supporter


| filehandle = valid filehandle assigned from the ReadDir command |
| This command will return the NEXT file or folder from the currently open directory (use ReadDir to open the desired folder for reading). This will return a string containing the folder name or the filename plus extention. Use FILETYPE to determine if it is a file or folder. See ReadDir and CloseDir for more. You cannot move 'backwards' through a directory, only forward. You might want to parse the contents of a directory into an array for display, processing, etc. |
|
; ReadDir/NextFile$/CloseDir example
; Define what folder to start with ... folder$="C:" ; Open up the directory, and assign the handle to myDir myDir=ReadDir(folder$) ; Let's loop forever until we run out of files/folders to list! Repeat ; Assign the next entry in the folder to file$ file$=NextFile$(myDir) ; If there isn't another one, let's exit this loop If file$="" Then Exit ; Use FileType to determine if it is a folder (value 2) or a file and print results If FileType(folder$+"\"+file$) = 2 Then Print "Folder:" + file$ Else Print "File:" + file$ End If Forever ; Properly close the open folder CloseDir myDir ; We're done! Print "Done listing files!" |


Aashish Sood
SOFTWARE ENGINEER
About Me
Selected Work
Full Stack Projects
Blog
Event Search application with NodeJS
Objective
Build an Event search website with responsive design using NodeJS backend
Use AngularJS/jQuery for animations/effects
What I did?
Developed a single page web application using AngularJS framework for UI and NodeJS at backend
Implemented Autocomplete search using Angular Material's autocomplete element which fetched data from TicketMaster's suggest API.
Implemented form validations using Angular directives.
Used HTML5 local storage key value store to implement Favourites feature.
Used Bootstrap3 framework to implement Responsive Web Design features.
Used jQuery promises to implement Async calls to 5 different APIs described below
First Tab consists of event information fectched from TicketMaster's Event Details API.
Second tab consists Artist/Team's pictures fetched from Google custom search API and Artist's information fetched from Spotify API.
Third tab contains venue information fetched from TicketMaster's Venue API.
Fourth Tab consists of information about upcoming events fetched from songkick Venue API.
Technologies Used:
NodeJS
AngularJS
Bootstrap
HTML5
AWS EC2
Role:
Developer
Event:
Coursework:- CSCI 571 Web Technologies
Location:
University of Southern California, Los Angeles
Year:
Fall 2018


| 004:059 Khan | : |
O you who believe! Obey Allah and obey the Messenger (Muhammad SAW), and those of you (Muslims) who are in authority. (And) if you differ in anything amongst yourselves, refer it to Allah and His Messenger (SAW), if you believe in Allah and in the Last Day. That is better and more suitable for final determination. |
| 004:059 Maulana | : |
O you who believe, obey Allah and obey the Messenger and those in authority from among you; then if you quarrel about any thing, refer it to Allah and the Messenger, if you believe in Allah and the Last Day. This is best and more suitable to (achieve) the end. |
| 004:059 Pickthal | : |
O ye who believe! Obey Allah, and obey the messenger and those of you who are in authority; and if ye have a dispute concerning any matter, refer it to Allah and the messenger if ye are (in truth) believers in Allah and the Last Day. That is better and more seemly in the end. |
| 004:059 Rashad | : |
O you who believe, you shall obey GOD, and you shall obey the messenger, and those in charge among you. If you dispute in any matter, you shall refer it to GOD and the messenger, if you do believe in GOD and the Last Day. This is better for you, and provides you with the best solution. |
| 004:059 Sarwar | : |
Believers, obey God, His Messenger, and your (qualified) leaders. If you have faith in God and the Day of Judgment, refer to God and His Messenger concerning matters in which you differ. This would be a more virtuous and a better way of settling differences. |
| 004:059 Shakir | : |
O you who believe! obey Allah and obey the Messenger and those in authority from among you; then if you quarrel about anything, refer it to Allah and the Messenger, if you believe in Allah and the last day; this is better and very good in the end. |
| 004:059 Sherali | : |
O ye who believe ! obey ALLAH, and obey His Messenger and those who are in authority among you. And if you differ in anything refer it to ALLAH and His Messenger, if you are believers in ALLAH and the Last Day. That is best and most commendable in the end. |
| 004:059 Yusufali | : |
O ye who believe! Obey Allah, and obey the Messenger, and those charged with authority among you. If ye differ in anything among yourselves, refer it to Allah and His Messenger, if ye do believe in Allah and the Last Day: That is best, and most suitable for final determination. |
Concepts/Themes Covered: العمل > العمل الصالح > إطاعة الله ورسوله وأولي الأمر Action(Work)> The Good Deeds>Obeying Allah, His Messenger and those Charged with Authority الإنسان والعلاقات الأخلاقية > الأخلاق الذميمة > المخاصمة والمنازعة Man and The Moral Relations>The Dispraised Morals>Disputed and Contention العلاقات القضائية > تنظيمات قضائية > الحكم بالعدل Judicial Relationships>Juridical Regulations>To Rule in Just العلاقات السياسية والعامة > السلطة لله يؤتيها من يشاء General and Political Relationships>The Authority is of Allah, he Awards it to Whom He Wants
This tool uses eight English parallel translations for the Holy Quran imported from Mr. Clay Smith. You can also visit Qurany Concepts for browsing the Quran themes or topics. If you want to search the Holy Quran for keywords, please visit Qurany Keywords.


--- title: "Introduction" lastmod: 2019-03-06T00:00:00.000Z draft: false type: docs maths: true toc: true linktitle: "Introduction" menu: docs: parent: Getting Started weight: 10 ---
{{% toc %}}
methods101.com and this documentation website use the static site generator Hugo the documentation for which you can find here. We use a modified version of the Hugo Academic theme which provides the basic layout. The site is hosted on Github and deployed by Netlify.
You will need some kind of text editor to open, edit, and create documents for the website. Sublime Text is recommended and can be found here. Notepad ++ is free and has similar functionality. Notepad ++ can be downloaded here.
You will also need gitbash (git for windows) which can be found here
To access the github repository you will need a GitHub account. Go here and register. Choose the free option!
Once you have registered ask whomever controls the repository you are interested in to add you. This will give you permission to change the master version of the website. Available repositories are found here:
We use RMarkdown (.RMD) files for generating our content. We use RMD because it allows us to render tables and graphs simply by using R code. If we instead used Markdown files we would have to take screenshots of each table and graph and embed them in each document. Because we use RMD files you will also need to download the R software suite.
First, download R and then download the free version of R Studio which is a GUI for R.
From here on it is assumed you have a basic knowledge of R Studio, if you do not, then there are plenty of online tutorials on the program.
Now it is time to set up a local version of the website that you can change and experiment on at will without changing the master version on GitHub. First, go to the methods101 GitHub repository and click on “clone or download”.
Copy the URL that appears there.
Next, open up git cmd which came with the gitbash package you just installed.
Into the console that appears type “git clone https://github.com/accountname/randomrepository.git” (this is where you paste the URL)
Something like this should appear:
Now find the folder that this repository downloaded to. It will likely be in the user folder (in my case “Julie”). Open up the methods101 repository and you should see something like this:
Open the “project-kickstart-r” file (the one that is R Project file type not the png).
You will need the following packages (just copy and paste each of the commands below into the R Studio command console):
Now you can run the site locally by using the command “blogdown::serve_site()”
Take the address that appears here and paste it into your internet browser (in this case the address is http://<IP_ADDRESS>:4321).


The Nyzo blockchain was started with 10 "official" Nyzo verifiers. To eliminate potential concerns about those verifiers influencing the direction of the blockchain, they were all deactivated and sentinel protection was eliminated so they would be removed from the cycle.
We initially planned to stop committing code to the nyzoVerifier repository on GitHub within 12 months of the Genesis block. However, as no alternative implementations of the core Nyzo verifier software are available, we feel that our continued development of the codebase is necessary. We hope that one or more alternative implementations arise soon.
The Nyzo protocol is so simple that we think there should be several implementations of Nyzo in common use. While the proof-of-diversity blockchain has some rules that must be followed, these rules are minimal, and all of the consensus rules can be modified or replaced without jeopardizing the proof of diversity. At any point in time, the decisions of the verifiers in the current verification cycle determine the direction of the blockchain.


The previous example dramatically illustrates the change in the Smalltalk execution cost model that occurs in the Strongtalk system. This change in the cost model encourages programmers to write in a much more factored, high-level coding style. The Strongtalk class libraries take extensive advantage of this effect. They use instance variable accessor methods almost universally, and create extensive custom control structures through use of Blocks, even in the most performance critical spots in the system.
Here are two examples of this that will surprise people familiar with other Smalltalk implementations. In Strongtalk, the implementations of Array>>at: and Array>>at:put:, two of the most performance critical methods in the system, actually send another internal message that then invokes a primitive, rather than invoking the primitive directly. The extra send imposes no cost.
Dictionary>>at: is an even more extreme example. It is implemented in a highly factored, abstract way in the HashedCollection superclass of Dictionary, and sends over 20 real messages in the common case, not counting integer arithmetic and boolean control structures, and uses 3 copying blocks, one full block, and uses many other clean blocks (not counting blocks used with hard-wired boolean control structures). This would be wildly inefficient in other Smalltalk systems, yet running on the Strongtalk VM it is actually much faster than the hand-optimized implementations in other Smalltalk systems. As an experiment, I ported my Dictionary implementation to the VisualWorks VM to compare its performance, and it ran about 35 times slower than on the Strongtalk VM. This illustrates clearly the infeasibility of writing performance-critical code in this style without adaptive inlining.
On the previous page, we ran a benchmark, and I claimed that the VM was doing extensive inlining on the benchmark code. Now let's verify that by looking at the actual inlining structure generated by the adaptive compiler. Here is what the VM reports as the inlining structure for #notSoSimpleTest:
Test class::notSoSimpleTest: 11 Array class::new: 2 Array class::primitiveNew: 27 uncommon 31 Test class::fancyStoreIntoArray: 9 Test class::evaluateBlock: 2 BlockWithoutArguments::value 2 Test class->fancyStoreIntoArray: 4 6 Array::at:put: 3 Array::primitiveAt:put: 4 uncommon 6 uncommon 44 SmallInteger::+ 56 SmallInteger::>=
This text, while somewhat cryptic, lays out clearly the inlining structure. It is in inlining-database format, which I will give you a link to more information on below. You can ignore the numbers, which just indicate the bytecode offset in the method of the send that was inlined. The structure of each inlined method is recursively displayed in indented form. Thus, you can see on the second line that the (Array class::new:) method is inlined, and it in turn has an inlined send of (Array class::primitiveNew:). Note also that the Array::at:put: method actually contains an inlined send of primitiveAt:put:, as we mentioned previously.
You can see clearly that all the important sends in the benchmark are being inlined, all the way down to SmallInteger operations and primitives. You can also see that the block that we used is inlined (it is indented below the line with BlockWithoutArguments::value), so that no block closure needs to be allocated.
If you are interested in the inlining database (which is not turned on by default) or examining and controlling compilation, you can read some more details here before proceeding.


I am currently pursuing Master's Degree in Computer Software Engineering at Northeastern University.
Interested in distributed systems, computer security, algorithms for web scale data and mobile applications.
Google Health
Mobile application is developed from zero to launch by myself.
Available in iOS and Android platforms.
It is an app to share images/videos in moment just for two.
TCP Syn Flood Attack & Defence, libpcap and iptables are used with C programming language in Linux.
VLAN Hopping, libpcap is used with C programming language in Linux.
An open source project Kangal was developed and published over Github.
GPA: 3.85
Northeastern University: Cloud and Distributed Systems, Smart Phones Based Web Development, Application Engineering and Development, Program Structure and Algorithms
University of California, Berkeley (Auditing): Decentralized Security - Theory and Systems, Implementation of Database Systems, Introduction to Artificial Intelligence, Computer Security, Applications of Parallel Computers, Entrepreneurship, Innovation and Entrepreneurship: Social and Cultural Context
Bilkent University: Distributed Systems and Algorithms, Algorithms for Web-Scale Data, Introduction to Machine Learning, Embedded Systems, Principles of Engineering Management, Project Management