For at least six years, I have written about the Republican Party's racial hostility towards Barack Obama.
Such an obligation to truth-telling has caused me no small amount of melancholy. I do wish that an alternate reality existed in which Obama's election slayed white supremacy and white bigotry. Alas, I deal with the world as it is; I do not lie to myself and bend the world into something that I prefer it would be.
Here on We Are Respectable Negroes, in my writings on Salon and Alternet, as well as interviews on Ring of Fire, Thom Hartmann, the BBC, and the Ed Schultz Radio Show, I have detailed in a clear and direct way how President Barack Obama is smeared by the White Right as an "uppity" black man who does not "know his place".
Republicans and their mouthpieces in the media have publicly used such racially provocative language on multiple occasions.
For example and as I argued here, Boehner's lawsuit against Obama for "abuses of power" is motivated by racism. There is no empirically grounded or factual basis for Boehner's claims that Obama is "abusing" the Executive Powers granted to him by the Constitution.
Senate Minority Leader Mitch McConnell, speaking in support of Boehner's specious lawsuit, and piggybacking on the Supreme Court's recent decision striking down the President's efforts to circumvent Republican obstructionism, said that Obama needs to be "humbled".
The Imperial Presidency is a fixture of American politics, one that has been accepted as the status quo ante for several decades when white men, Democrats and Republicans, were the Chief Executives of the United States of America.
Now, such a precedent is a crisis and overreach of power? Why? A black man happens to be President of the United States of America.
Blackness constitutes a category of personhood that by definition deems African-Americans to be a people apart and outside of the normal standards and rules for what constitutes excellent or just "acceptable" behavior.
By comparison, white privilege gives white folks a lower set of standards for their behavior; white privilege raises the bar and standards for those Others who are not part of the club.
Boehner and McConnell are clumsy and transparent. But then again, one of the day-to-day advantages that comes with white privilege is the luxury to be mediocre while still over-achieving relative to one's innate abilities, talents, or intelligence.
In all, the Age of Obama has reinforced how American politics is desperately in need of a better class of white supremacists and white racists.
White supremacy hides in plain sight in the Age of Obama. Unfortunately, too few Americans--white folks especially--are willing to call out its moral rot and lazy double standard thinking and behavior. The United States is suffering because of that cowardice.
a dubious situation. On one hand, O has the right to make recess appointments.
full operation to say Yay or Nay with the required amount of votes.
white racism in plain sight!
I love this. Great summation!
To consume the conservative dish requires a privileged degree of credulity that most folks lack. Boehner and McConnell have sunk from mediocrity to pathology. I can imagine the majority responding with a resounding "yeah right."
By virtue of being President, Obama is being "uppity" in the eyes of these bigots. This is why he "must be humbled."
Media talking heads don't mention the practical aspect of Obama's recess appointments; the GOP is doing nothing, and the President is at least trying to keep the wheels and levers of government moving.
If politics and governing is the purpose and goal of political parties, then why aren't the democrats calling this out for what it is, a race-obsessed and driven GOP so consumed it cannot contribute to governance, and thus the President is taking needed action.
With this action the GOP has thrown down the gauntlet: we are the party of white supremacy who's sole purpose is restoring that false sense of superiority upset by virtue of a black man being president.
It is the very fact of his winning an election twice that has put the White Right into a state of fever fits. African-American citizenship has always been questions and demeaned as secondary. See the language that somehow black votes are inferior and not of the same quality as those from white voters that drives this voter disenfranchisement Jim Crow 2.0 mess of the White Right.
Conservatism at present is a crystallized politics of cruelty. Well put. On point.
That is what white privilege is at its heart--unearned advantages and mediocrity.
This is no surprise. The last two presidential campaigns against Obama have been the most overtly racist since Reconstruction. There has been nothing but high intensity bigotry from the GOP since Obama's election. They aren't even using the dog whistle anymore. The election of.Obama has torn the lid off of.America's Hell. These people would be laughed off the screen in a civilized nation. This country is clearly not one.
Few people are talking about how Obama tried to get gov't to work in the face of clear and direct efforts by the Republicans to circumvent their responsibilities as public servants. I have said for some time that a citizen should bring a lawsuit against the Republicans for betraying the Constitution and their oaths of office.
"African-American citizenship has always been questions and demeaned as secondary."
Hence, the birther nonsense, that no President or candidate has ever been subjected to, e.g. how can a black man legitimately be president of a "white" country??
Instead of Obama's election as President both times being signs of a "post racial America," it turned out to be a reboot of Jim Crow, with additional features installed. The idea of going forward with what could be seen as the achievement of the election of an African American President was utterly wiped out, starting with the media pretending that it was legitimate to question whether someone born in a US State -- Hawaii, could rightfully be president. Its been game on for the upholders of white supremacy from there.
This entire thing is like a Roadrunner cartoon, with the Wile E. Coyote republicans foolishly falling into their own traps and exposing themselves as they desperately try to "get" the President. In the end only a fool or fellow traveler could not see what the motive is.
I've been reading up a lot recently on the history of the conservative movement, and if they could get away with the Willie Horton ad and embracing out and out segregationists like Strom Thurmond, it's hardly surprising that the media won't explore the radicalized nature of many of the attacks on Obama. Once the racism gets cloaked in the right language ("states rights," "local control of schools," "illegitimate") and denials/dodges ("hey! look over here, Ben Carson is on our side"), the media protests feebly, or not at all.
I like the "hides in plain sight" notion. Since you're into sci-fi, reminds me of my favorite X-files episode, with the monster -- infecting others, no less -- that hides in the light and turns employees into zombies . . .
Yes the citizenship thing sure hits home for me. We can all see how black people who are clearly immigrants will often be accepted versus we black citizens (the exception being Haitians who are vigorously kept out of the USA). I've experienced on multiple occasions when I talk about all of the different places I've been from Norway to Egypt to Korea, etc. and my language skills in Japanese, Russian, et al - people will just assume that I am not an American! I guess they think that we black citizens cannot possibly achieve anything "legitimately".
You certainly have that definition right. It's like I keep pointing out, the Republican Great Recession has really exposed the level of white privilege in this country and how it is no longer an advantage in this globalized world.


text:
\section{Introduction}
With the rising amount of visual data produced and shared on the internet, the task of grouping and searching for related content becomes more challenging and more important. Information about millions of images has to be stored in very compact representations to be able to efficiently accomplish such tasks. Recent works have shown that representations extracted by a deep neural network can be used to form excellent feature vectors, which encode visual similarity of images in a high dimensional space \cite{Babenko14,Tolias16, Gordo17}.
A convolutional neural network (CNN) often maps visually similar images to similar feature vectors whereas the extracted feature vectors are different for dissimilar images. Since these feature vectors are represented in floating point numbers, they can be easily compared by simple distance metrics such as $L^2$, which makes them suited for a wide range of instance level image retrieval tasks. Most neural networks used for image retrieval however, have been trained to classify images into a fixed number of categories. Even though these networks already show good retrieval results \cite{Seddati17}, performance can be improved by applying a model that has been specifically trained to rank images by their similarity as shown in \cite{Gordo17} and \cite{Radenovic17}.

Deep metric learning forms a sub-field of deep learning, where the goal is to find a representation space, in which visual resemblance of images is perfectly encoded by spatial relationships in the feature vector space. In these approaches, optimization occurs directly on the extracted embedding vectors. Distances between samples of the same class are required to be smaller than distances between entities of different classes \cite{Schultz03, Song16, Sohn16, Song17}. Metric learning methods therefore use loss functions, which are trying to teach a neural network to generate such a representation space. Networks trained in this way are better suited for the task of image retrieval \cite{Song16}. The Triplet loss function \cite{Schultz03} is the most prominent example.
\IEEEpubidadjcol
In \cite{Gordo17} the authors achieve excellent retrieval results by building an end-to-end trainable system which extracts regional maximum activations from convolutional feature maps similar to R-MAC \cite{Tolias16}. They follow the ideas described in \cite{Tolias16} and aggregate these activations to one high dimensional feature vector. The network is trained with the Triplet loss function \cite{Schultz03} using the landmarks data set from \cite{Babenko14} in one of several training steps. The authors scale images to 800 pixels at the larger dimension during training, which makes the whole process very computationally expensive due to GPU memory limitations.

In \cite{NRA19} we proposed the concept of \textit{Nonlinear Rank Approximation} (NRA) loss. This loss function achieves very good results and outperforms the Triplet loss on a wide range of retrieval tasks significantly. In this paper we propose to apply the NRA loss function to train an end-to-end retrieval network similar to \cite{Gordo17}. Since the NRA loss works best if batches are built from several classes containing multiple samples, large images cannot be used during training. However, we still can use relatively large image sizes for feature extraction due to the fully convolutional nature of the network and achieve better retrieval results with smaller resolutions than used in comparable work. Furthermore, we argue that the sum aggregation of the chosen number of regions extracted with the R-MAC method \cite{Tolias16} does not fully take the scale and size of different regions into account. Instead we apply a small aggregation network on top of the backbone CNN, which learns the importance of each of the regions and assigns it an individual weight. The total system is trainable in under 24 hours on a single NVIDIA GTX 1080 Ti GPU with 12 GB memory, where 64 images fit into one single batch using the ResNet50 V2 architecture \cite{He15} as backbone CNN.

\section{Related Work}
In this section we first describe the principle of the R-MAC descriptor, followed by an explanation of similar end-to-end trainable deep learning based image retrieval methods. Finally we explain the importance of the loss function, which is used to train the retrieval network.

\subsection{The R-MAC descriptor}
In \cite{Tolias16} Tolias et al. describe a way to incorporate spatial information extracted with a convolutional neural network into an image's feature vector. Usually the last convolutional layer of the chosen backbone CNN is used to obtain a set of feature maps $\mathcal{X} = \{\mathcal{X}_i | i = 1...\mathcal{C} \}$, where $\mathcal{C}$ is the number of output channels in the said layer and the final feature vector will have $\mathcal{C}$ dimensions. These feature maps have been aggregated in various ways prior to the R-MAC method as in \cite{Girshick13, Azizpour14, Babenko15} neglecting the spatial information available. In \cite{Tolias16} a grid structure of variable scales is defined, consisting of 20 regions for three different scales $l = 1 \ldots 3$. The region's size for scale $l$ is calculated by $2\min(W, H) / (l + 1)$. The regions are uniformly chosen in a sliding window manner with the current scale. In the next step, the maximum activation value of each region and feature map is chosen to form 20 $\mathcal{C}$-dimensional feature vectors. These are furthermore $L^2$-normalized, whitened with a PCA \cite{Jegou12} and then $L^2$-normalized again individually, before they are sum pooled to produce a single vector, the R-MAC descriptor.

\subsection{End-to-End Networks}
In \cite{Gordo17} the Deep Image Retrieval (DIR) system is described which is based on the previously mentioned R-MAC approach \cite{Tolias16}. The authors goal was to design a convolutional feature extractor pipeline as presented in \cite{Tolias16} and train the resulting architecture in an end-to-end manner, since all applied operations are differentiable. Importantly, the authors claim that the Softmax Cross Entropy loss function is not optimal for the task of fine tuning for retrieval and apply the Triplet loss function \cite{Schultz03} instead. However, since the used landmarks data set \cite{Babenko14} seems to be noisy, i.e. images of the same category are visually different, they could not train the proposed network with the Triplet loss directly. Instead they first fine tune the used ResNet101 \cite{He15} in a traditional, classification approach and then perform a cleaning of the landmarks data set, based on a visual matching comparison of SIFT image descriptors \cite{Lowe03}. This cleaning reduces the landmarks data set from \numprint{192000} to \numprint{42410} training images with 586 categories. The authors refer to this version of the data set as \textit{Landmarks Clean}.
Furthermore, as retrieval performance seems to increase for input images with larger sizes \cite{Gordo17, Magliani18}, Gordo et al. decide to perform the last step of their training procedure, i.e. fine tuning with Triplet loss with the landmarks clean data set, with images of relatively large size. Specifically, each training image is resized to 800 pixels at the larger side. However, one single image of this size results in approximately 7.5 GB GPU memory, which limits training to one image per batch on most GPUs. To overcome this limitation the authors introduce a modified sequential training procedure. With this modification, they are indeed able to train the proposed architecture and achieve outstanding retrieval results at the price of one week of total training time. At the end of the training, the authors further improve their models performance by extracting feature vectors from images in multiple resolutions, namely 550, 800 and 1050 pixels at the larger side. Those feature vectors are $L^2$-normalized, sum aggregated and $L^2$-normalized again.

Noh et al. present DELF (DEep Local Feature) in \cite{Noh17}. A pre-trained ResNet50 network is used as the backbone CNN and two additional convolutional layers are added to model an attention functionality. The specific task of this part is to analyze the extracted set of feature maps and to assign an importance weight to each area. Images of size $224 \times 224 \times 3$ are used, which leads to feature maps of shape $7 \times 7 \times 2048$. Each of the 49 2048-dimensional feature vectors corresponds to a part in the input image which is specified by the network's receptive field \cite{Le17}. The attention part of the DELF architecture analyzes each of the 49 vectors and learns to assign a higher weight to a single area, if an interesting object is seen. For training, the authors further sum-aggregate the weighted combination of the 49 embeddings to form a single 2048-dimensional feature vector. Training is done in two steps. First, the original pre-trained ResNet50 is fine tuned with the same landmarks set as in \cite{Gordo17}. In the second step the attention part is trained independently, i.e the weights of the backbone CNN are not further optimized. The Softmax Cross Entropy loss function is used during both training procedures.

\subsection{Loss Functions for Retrieval}
For an image classification task the set of feature maps $\mathcal{X}$ is reduced to a $\mathcal{C}$-dimensional vector by averaging each activation map $\mathcal{X}_i$. This vector is further fed through a fully connected and a Softmax layer, where both have outputs equal to the number of classes of the training set. The output of the Softmax function can be seen as a probability distribution of the available classes. The Cross Entropy loss then tries to minimize the divergence between the ground truth and the predicted Softmax output. To achieve a low Softmax Cross Entropy, it is sufficient to divide the average pooled CNN representation space into as many regions as there are classes in the training (see Fig. \ref{fig:embedding} (a)).
However, such a constellation is not suited for nearest neighbor search.

Since image retrieval quality is evaluated by the ranking order of nearest neighbors to a query image, the representation space should form tighter clusters for optimal search results. One loss function trying to achieve this goal is the Triplet loss function \cite{Schultz03}, which builds a set of three samples $\mathcal{T} = \{\boldsymbol{x}^a, \boldsymbol{x}^+, \boldsymbol{x}^-\}$  consisting of an anchor  $\boldsymbol{x}^a$, one positive example $\boldsymbol{x}^+$ of the same class as the anchor and one negative example  $\boldsymbol{x}^-$ of a different class.

The loss value for a single triplet is calculated by Eq. (\ref{eq:TripletLoss}) where $D^2$ denotes the $L^2$-distance between two feature vectors $f(\boldsymbol{x})$ with
$D_{i,j} = \| f(\boldsymbol{x}_i) - f(\boldsymbol{x}_j) \|_2$.
\begin{equation}
\label{eq:TripletLoss}
J_\mathcal{T} = \max{(0,D_{a,+}^2 - D_{a,-}^2 + \alpha})
\end{equation}

The Triplet loss tries to maximize the relative distance to a negative example and minimizes the distance to positive ones, ideally grouping images from the same class to clusters in the given representation space.

\begin{figure}
    \centering
    \newlength\imgheight
    \setlength\imgheight{0.22\textwidth}
    \begin{tabular}{cc}
    \includegraphics[height=\imgheight]{images/MNIST_SoftmaxCE.png} &
    \includegraphics[height=\imgheight]{images/MNIST_Triplet.png} \\
    (a) Softmax Cross Entropy & \quad (b) Triplet
    \end{tabular}
    \caption{Visualization of the 2D embedding space of MNIST numbers \cite{LeCun98} after training the same network with two different loss functions. Representations produced by the Softmax Cross Entropy loss are not as suited for nearest neighbor search as the ones produced by the Triplet loss.}
    \label{fig:embedding}
\end{figure}

\section{Proposed Method}
\subsection{Nonlinear Rank Approximation Loss}
Following the assumption that a perfect clustering is achieved if and only if all distances to negative examples are larger than the maximum distance to positive examples, we introduced the Nonlinear Rank Approximation loss (NRA) in \cite{NRA19}. The main principles of this loss function will be briefly explained below.

NRA is taking the two most important distances w.r.t. an anchor into account: The maximum distance to the embedding of its positive examples of the same class and the minimum distance to its negative examples from a different class:
\begin{equation}
D^+_{i,\max} = \max_{j} D_{i,j} \quad D^-_{i,\min} = \min_{j} D_{i,j}
\end{equation}

To enable a search for those points, $m = k \cdot n$ samples $\boldsymbol{x}_i$ of the input data are used per batch, where $k$ is the number of classes and $n$ the number of samples per class. This step ensures each sample in the batch to have $n-1$ positive and \mbox{$m-n-1$} negative examples.
For each feature vector in the batch, the distances to all other feature vectors are determined. This yields a $m \times m$ distance matrix, where $D_{i,\max}$ is the maximum of its $i^{\text{th}}$ row values and $D_{i,\min}$ is the minimum accordingly.
\begin{equation}
 D_{i,\max} = \max_{j} D_{i,j} \quad D_{i,\min} = \min_{j}  D_{i,j}
\end{equation}

Instead of using this distance matrix directly, the approximated ranks $r_{i,j}$ are computed by min-max-scaling each row to the interval $[0,1]$ individually:
\begin{equation}
r_{i,j} = \frac{D_{i,j} - D_{i,\min}}{D_{i,\max} - D_{i,\min}} \in [0, 1]
\label{eq:normalized-rank}
\end{equation}

This scaling ensures a unified representation of the distances for each batch during training by approximating a ranking order, where the lowest possible rank is 0 and the highest is 1.
Subsequently, the approximated normalized ranks for the most distant embedding of the same class $r^+_{i,\max}$ and the closest embedding of a sample of a different class $r^-_{i,\min}$ are determined by
\begin{equation}
r^+_{i,\max} = \frac{D^+_{i,\max} - D_{i,\min}}{D_{i,\max} - D_{i,\min}} \quad r^-_{i,\min} = \frac{D^-_{i,\min} - D_{i,\min}}{D_{i,\max} - D_{i,\min}}
\end{equation}

Next for each row these two ranks are transformed to similarities. Instead of calculating the similarity as $s = 1 - r$  a parametric nonlinear transfer function is used
\begin{align}
w(\cdot;\alpha)&: [0, 1] \rightarrow [0, 1] \\
w(r; \alpha) &=
\begin{cases}
\frac{1}{2}(2r)^\alpha & r \in [0, \frac{1}{2}) \\
1 - \frac{1}{2}(2(1-r))^\alpha & r \in [\frac{1}{2}, 1] \\
\end{cases}
\label{eq:nonlinearity}
\end{align}

with $\alpha\in\mathbb{R}^+$. The parameter $\alpha$ controls the slope of $w(\cdot;\alpha)$ at $r = 0.5$. Thus, it determines the influence of rank errors. With increasing $\alpha$ falsely ranked negative images with a high similarity are stronger punished and correctly ranked positive images with a high similarity will result in a loss value closer to zero. An empirical study showed best results for $\alpha=4$ \cite{NRA19}.
Using $w(\cdot;\alpha)$ and omitting $\alpha$ in the following notation we define the similarity of a sample $\boldsymbol{x_j}$ to the anchor $\boldsymbol{x_i}$ by $s_{i,j} = 1 - w(r_{i,j})$. The final loss value for each batch is calculated as follows:
\begin{equation}
J = - \frac{1}{m} \sum_{i = 1}^m \left( \log(s^+_{i,\max} + \varepsilon) + \log(1 - s^-_{i,\min} + \varepsilon) \right)
\end{equation}

Here $\varepsilon > 0$ is a small number that controls the maximum loss contribution if $s^+_{i,\max}=0$ or $s^-_{i,\min}=1$. We use $\varepsilon = 10^{-4}$ throughout the following experiments.

\subsection{Global and Regional Pooling}

The R-MAC approach \cite{Tolias16} aggregates maximum activations of different regions in convolutional feature maps into one final feature vector per image. However, the maximum activation of a region can be very high, even though the detected shape is only seen on a small area of the region. Furthermore, since many of the 20 regions have overlapping areas, the pooled max value will be the same in some of the areas. Calculating the average activation value of each region gives a more accurate representation of an image's convolutional activations but is more sensitive to changes in the input image's size. To better understand the differences of both pooling operations, we conduct a preliminary study and build different feature vectors from convolutional activation maps extracted with a ResNet50 v2 network \cite{He16}  for different input image sizes. The network is pre-trained with images with 224 pixels on both sides from the ILSVRC2012 data set \cite{Russakovsky14} and we use images from a rotated version of the INRIA Holidays data set \cite{Holidays} for evaluation.

\begin{figure}
\centerline{\includegraphics[width=0.5\textwidth]{images/Prestudy.png}}
\caption{Mean Average Precision scores for the Holidays data set and different aggregation techniques for varying input image sizes.}
\label{fig:Prestudy}
\end{figure}

The networks last convolutional layers are used as a feature map extractor and six different pooling techniques are compared in the preliminary study. The first is built by a global average pooling of the entire set of feature maps (Avg Global), whereas the second comes from the global max pooling operation (Max Global). The third represents the sum of those two globally pooled values (Avg+Max Global). Further, we build three regional pooled and aggregated feature vectors. One for the average pooled regional activations \hbox{(Avg Regional)}, another for the max pooled regional activations (Max Regional) similar to R-MAC \cite{Tolias16} and the last is created by a pooling of maximum and average values from each region (Avg+Max Regional). For the regional approaches we choose the 20 areas as used in \cite{Tolias16}. In case of the combined regional approach, we obtain 20 max pooled and 20 average pooled values. Furthermore, we $L^2$ normalize each feature vector individually in the regional methods, sum pool over the regions and $L^2$ normalize again. With each of those six methods, we extract feature vectors for five image sizes $S \in \{224, 448, 672, 896, 1120\}$. Fig. \ref{fig:Prestudy} summarizes the results from this experiment.

Several important conclusions can be drawn from these results. Firstly, all aggregation methods benefit from an image size, twice as high as the images seen during training. Global max pooling performs poorly across all tests. The mean average precision scores drop drastically if using average pooling based methods for higher resolutions. The R-MAC method achieves good results, but is outperformed by the pooling techniques that use a combination of max and average pooling.

In this experiment, the global version of the combined max and average pooling method (Avg+Max Global) outperforms the regional approach (Avg+Max Regional) in most resolutions. We argue that this is due to the fact that the 40 pooled values are not equally important, but are handled this way during the sum aggregation. For example, the activations of individual regions should be assigned a weight according to their size and the average value seems to be much more important in the bigger regions compared to the maximum value. Furthermore, the global activation map should be added as a region, since the global max and average pooled feature vector yields such good results. This leads to a total of 21 areas (Fig. \ref{fig:grid}) and 42 pooled values, which will be aggregated in the following steps.

\begin{figure}
\centerline{\includegraphics[width=0.5\textwidth]{images/grid.png}}
\caption{The 21 regions used for regional max and average pooling}
\label{fig:grid}
\end{figure}

\subsection{Weighted Aggregation of CNN Activations}
Performing regional max and average pooling with a grid structure as seen in Fig. \ref{fig:grid} on sets of feature maps produced by the last convolutional layer with a ReLU activation, results in a matrix of dimension $42 \times C$ with values in $\mathbb{R}_{\ge 0}$, where $C$ is the number of kernels in the last layer of the chosen CNN. Following the conclusions from the previous experiment, we design a convolutional approach to assign a weight to each of these values (Fig. \ref{DARAC}). We refer to this method as DARAC (Deeply Aggregated Regional Activations of Convolutions). In the first step a convolution layer with $l$ kernels of size $42 \times 1$ aggregates the pooled data to a matrix of dimension $l \times C$. The output of this operation is followed by a ReLU activation function, which pushes most learned kernel coefficients to be at least 0. The $l$ row vectors of the obtained matrix are further batch normalized \cite{Szegedy15} to get mean centered feature vectors with unit variance, a representation similar to a PCA whitening output \cite{Jegou12} as used in \cite{Tolias16} and \cite{Gordo17}. Those values are further convoluted with a single $l \times 1$ kernel to output one $C$-dimensional feature vector. This vector representation is then used as the embedding space to optimize with the described nonlinear rank approximation loss function without any normalization or post processing during the training procedure. The two aggregation layers result in a very small overhead and only add $43l + l + 1$ (incl. bias) learnable parameters to the CNN architecture. We choose $l=16$ in the following experiments.

After convergence we use a post processing pipeline similar to \cite{Tolias16}. Firstly, the extracted feature vector is $L^2$ normalized and then we perform PCA whitening \cite{Jegou12}, where the principal components are determined on a subset of the training data set. The whitened vector is subsequently $L^2$ normalized again.

\begin{figure}
\centerline{
\includegraphics[width=0.5\textwidth,trim={0 7.5cm 10cm 0},clip]{DARAC/DARAC.pdf}
}
\caption{Functionality of the proposed DARAC System. A two layer convolutional layer with a very small number of trainable parameters is used to aggregate maximum and average activations from different regions of feature maps produced by a CNN.}
\label{DARAC}
\end{figure}

\section{Experiments}
\subsection{Training}
We chose the ResNet50 v2 architecture \cite{He16} as the backbone CNN for the following experiments. Network weights are initialized with pre-trained parameters achieving a \mbox{top-1} accuracy of \numprint{76.47}\% on the ImageNet validation data set \cite{Russakovsky14}. The proposed aggregation part is connected to the network's last convolutional layer with 2048 kernels.
The entire system is trained on the \textit{Google Landmarks} data set \cite{Noh17}. We choose $k=16$ classes and $n=4$ representatives for batch building. Therefore we build a subset of the landmarks data set, where all images from classes with less than four examples are excluded. This modification leads to a total of \numprint{1196934} images from \numprint{12602} classes. \numprint{100000} randomly chosen batches are processed in total and we use stochastic gradient descent with momentum as the optimizer with a learning rate of $\alpha = 0.0001$ throughout the entire training process. First all images are resized to 320 pixels on the smaller side and then they are randomly cropped to form a square with 299 pixels. These crops are subsequently randomly flipped horizontally for data augmentation purposes. Since the training on a cleaned landmarks data set appeared to be crucial for optimal retrieval results in \cite{Gordo17} we perform an additional training on a subset of the used collection with identical hyper-parameters after convergence. However, only \numprint{28326} images from 582 classes could be retrieved due to broken links. The resulting feature vectors from the first training procedure are further denoted as DARAC-GL and the vectors produced after the second training as DARAC-CL. We use the \textit{TensorFlow} framework \cite{Abadi16} for the DARAC implementation and all experiments are conducted on a single GeForce 1080 Ti GPU with 12 GB of memory.

\subsection{Evaluation}
Both network states are evaluated on three widely used retrieval data sets and we strictly follow the respective protocols for calculations of the mean average precision scores. The Paris \cite{Philbin08} and Oxford Building \cite{Philbin07} data sets consist of various landmarks, which makes them similar to the ones used during training. The Holidays data set \cite{Holidays} is more diverse and contains a mix of images other than landmarks. Similar to \cite{Radenovic17} and \cite{Gordo17}, we aggregate feature vectors extracted from different image scales. More specifically the images are resized to the resolutions of $S \in \{299, 540, 1020\}$. Each vector is post processed in the previously described manner individually and the whitened descriptors are sum aggregated and $L^2$ normalized subsequently. This approach is denoted as (\mbox{multi-resolution}) MR-DARAC.

\subsection{Results}
Table \ref{table:DARAC} summarizes the retrieval results for the evaluation data sets for each of the described steps. As a baseline we show mAP scores for the global average pooled feature vector obtained from the pre-trained and trained ResNet50 network. The fine tuning on the Google Landmarks data set increases performance on all data sets but especially on Paris and Oxford Buildings, since those are very close to the training set. However, increasing the image size from 299 to 540 harms the results obtained with this average pooled layer, which corresponds with the previous findings. The introduced aggregation technique seems to be beneficial on its own but improves results even more, when increasing the image size and after a whitening of the feature vectors. Especially the multi-resolution approach seems to work very well on vectors produced by the introduced deep aggregation of regional convolutional activations. The second training procedure on the Landmarks Clean data set leads to improved results for the two buildings data sets but decreases the mean average precision for Holidays. Even though the authors of \cite{Gordo17} claim to exclude images of categories that occur in Paris and Oxford, the overall data set and category distribution appears to be closer to these data sets and therefore leads to better results.
\begin{table}
\centering
\caption{mAP scores for different stages of the proposed system}
\resizebox{\linewidth}{!}
\begin{tabular}{c|c|c|c|c}
 \hline
 Method & Image Size & Oxford & Paris & Holidays\\
 \hline\hline
 ResNet50 (pre-trained) & 299 & 48.7 & 68.9 & 86.1\\
 ResNet50-GL (trained) & 299 & 75.3 & 87.6 & 91.6\\
 ResNet50-GL (trained) & 540 & 72.5 & 85.3 & 90.9\\
 DARAC-GL & 299 & 77.6 & 89.4 & 92.8\\
 DARAC-GL + PCA{$_W$} & 299 & 81.4 & 90.8 & 93.7\\
 DARAC-GL + PCA{$_W$} & 540 & 82.2 & 91.9 & 95.5\\
 DARAC-GL + PCA{$_W$} & 1020 & 78.3 & 87.6 & 94.8\\
 MR-DARAC-GL + PCA{$_W$} & 299, 540, 1020 & 83.4 & 93.0 & \textbf{96.9}\\
 MR-DARAC-CL + PCA{$_W$} & 299, 540, 1020 & \textbf{88.2} & \textbf{94.1} & 95.5\\
 \hline
\end{tabular
}
\label{table:DARAC}
\end{table}

\begin{table*}[ht!]
\centering
\caption{Comparison to similar content based image retrieval systems}
\begin{tabular}{ c|c|c|c|c|c|c }
 \hline
 Method  & Matching & Network & Resolutions / Scales &  Oxford & Paris & Holidays\\
 \hline\hline
 DELF \cite{Noh17} & local & ResNet50 & 7, 0.25 - 2 & 83.8 & 85.0 & -\\
 GeM \cite{Radenovic17} & global & ResNet101 & 5, 0.25 - 1 & 87.8 & 92.7 & 93.9 \\
 DIR \cite{Gordo17} & global & ResNet101 & 550, 800, 1050 & 86.1 & \textbf{94.5} & 94.8\\
 MR-DARAC-GL (ours) & global & ResNet50 &  299, 540, 1020 & 83.4 & 93.0 & \textbf{96.9}\\
 MR-DARAC-CL (ours) & global & ResNet50 & 299, 540, 1020 & \textbf{88.2} & 94.1 & 95.5\\
 \hline
\end{tabular
\label{table:Sota}
\end{table*}

\subsection{Comparison with the state-of-the-art}
Table \ref{table:Sota} puts our method in comparison to similar deep learning based image retrieval systems. Training the proposed network architecture on Google Landmarks images leads to state of the art results for the rotated version of the Holidays data set. An additional fine tuning with the Landmarks Clean data set from \cite{Gordo17} results in descriptors that outperform the other methods for Holidays and Oxford. Only DIR \cite{Gordo17} achieves better results for the Paris data set. However, it should be noted that DIR and GeM \cite{Radenovic17} use a ResNet101. Furthermore, DIR spends a total of one week in training, whereas our system converges in under 24 hours on similar GPU hardware.

\section{Conclusion}
The presented DARAC system shows a very efficient method for aggregation of CNN features when fine tuned with the NRA loss for large scale image retrieval. Due to its fully convolutional nature it allows training with relatively small images but achieves great results when using larger resolutions during testing. Additionally, it shows the importance of regional average pooling, which has been ignored in previous works regarding deep learning based image retrieval. A weighted aggregation of average and max pooled regional activations in form of convolutional layers leads to state-of-the-art results while reducing the training and feature extraction time significantly, since images of smaller sizes can be used in both stages. At the same time our method introduces a negligible number of trainable parameters compared to the number of weights in the backbone CNN, while also keeping a very low memory footprint.
\bibliographystyle{abbrv}

redpajama_set_name: RedPajamaArXiv


I am back with a good news that I am blessed with baby boy. Thanks a lot for all your support for finding me best hospital and gynecologist for my delivery.
Now I am here again for my baby. I am looking for best pediatrician nearby Whitefield, hoodi, mahadevapura, marathahalli area....for vaccination and daily checkups. Let me know if you have any recommendations.
Hope you and baby are doing fine.
And when you find a good pediatrician , please do share your experience with pediatrician.


A pension payer who follows the government's tables isn't responsible if they are under withheld.
To help, the IRS has posted a new withholding calculator. To use it, you'll need a copy of your 2017 tax return and estimates of your income for this year. You may want to submit a revised Form W-4P if you find there are changes warranted.
There are a few different scenarios if you underpay. If income is less than $150,000 and you've paid in an amount equal to 100% of last year's tax, often there is no penalty. If you're earning more than $150,000, then the threshold rises to 110% of the previous year's tax. Another is that the IRS sometimes will waive the tax penalties, if this is the year you retired or became disabled. Sometimes the IRS will cut you a little slack. You'll need to send in Form 2210 with proof and an explanation that the mistake was just that—a mistake.
Whenever relevant tax laws change, it is important to update your will to reflect those changes, instead of relying on a court to make the changes for you.
Wills are not necessarily set in stone after someone passes away. Under some circumstances, probate courts are able to change a deceased person's will. This is called "reforming the will."
The use of the word "reform" gives a clue as to the purpose and limited scope of the changes a court can make. If the provisions of the will as written make it impossible to fulfill the clear intent of the deceased, then the court can change those provisions to fulfill the intent.
Some states do allow it for tax purposes, as Wealth Management discussed in "Reforming a Will for Tax Savings."
Instead when tax laws change, people should go back to their estate planning attorneys and update their wills to reflect the new laws. That ensures that their wills do fulfill their intent, which is better than relying on a court to decide whether the wills do or do not.
Therefore, people should begin planning to update their wills in the near future, if the changes to the tax laws will have an impact on their estates.
Taxes on Social Security Benefits! Yes Indeedy.
Are Americans Confused about Taxing the Rich?
A new poll reveals that the majority of Americans agree with eliminating the estate tax, which suggests that they want to lower taxes on the wealthy. The same poll also suggests, however, that the majority of Americans want to increase taxes on the rich in a different way.
The remaining Republican Presidential candidates have offered several proposals to reform the American tax system.
Gallup recently conducted a survey of Americans' support for some of the proposals and released the results in "Americans React to Presidential Candidates' Tax Proposals."
Unfortunately for the opponents of the estate tax, tax reform does not appear to be a major concern for the general public at this time.
We are always ready to talk about tax savings that concern most of us such as income tax and capital gains. Schedule a consultation if you have concerns about taxes or finance; we will be happy to assist.
Because of these state tax issues, it is very important that you have your trust created/reviewed with an eye toward navigating these and other tax issues. If you are considering an estate plan including a trust or if it's been a few years since your estate plan has been a review, please consider scheduling a consultation.


text:
Q: What is actually a Queue family in Vulkan? I am currently learning vulkan, right now I am just taking apart each command and inspecting the structures to try to understand what they mean.
Right now I am analyzing QueueFamilies, for which I have the following code:
vector<vk::QueueFamilyProperties> queue_families = device.getQueueFamilyProperties();
for(auto &q_family : queue_families)
{
    cout << "Queue number: "  + to_string(q_family.queueCount) << endl;
    cout << "Queue flags: " + to_string(q_family.queueFlags) << endl;
}

This produces this output:
Queue number: 16
Queue flags: {Graphics | Compute | Transfer | SparseBinding}
Queue number: 1
Queue flags: {Transfer}
Queue number: 8
Queue flags: {Compute}

So, naively I am understanding this like this:
There are 3 Queue families, one queue family has 16 queues, all capable of graphics, compute, transfer and sparse binding operations (no idea what the last 2 are)
Another has 1 queue, capable only of transfer (whatever that is)
And the final one has 8 queues capable of compute operations.
What is each queue family? I understand it's where we send execution commands like drawing and swapping buffers, but this is a somewhat broad explanation, i would like a more knoweledgeable answer with more details.
What are the 2 extra flags? Transfer and SparseBidning?
And finaly, why do we have/need multiple command queues?

A: To understand queue families, you first have to understand queues.
A queue is something you submit command buffers to, and command buffers submitted to a queue are executed in order[*1] relative to each other. Command buffers submitted to different queues are unordered relative to each other unless you explicitly synchronize them with VkSemaphore. You can only submit work to a queue from one thread at a time, but different threads can submit work to different queues simultaneously.
Each queue can only perform certain kinds of operations. Graphics queues can run graphics pipelines started by vkCmdDraw* commands. Compute queues can run compute pipelines started by vkCmdDispatch*. Transfer queues can perform transfer (copy) operations from vkCmdCopy*. Sparse binding queues can change the binding of sparse resources to memory with vkQueueBindSparse (note this is an operation submitted directly to a queue, not a command in a command buffer). Some queues can perform multiple kinds of operations. In the spec, every command that can be submitted to a queue have a "Command Properties" table that lists what queue types can execute the command.
A queue family just describes a set of queues with identical properties. So in your example, the device supports three kinds of queues:

*

*One kind can do graphics, compute, transfer, and sparse binding operations, and you can create up to 16 queues of that type.

*Another kind can only do transfer operations, and you can only create one queue of this kind. Usually this is for asynchronously DMAing data between host and device memory on discrete GPUs, so transfers can be done concurrently with independent graphics/compute operations.

*Finally, you can create up to 8 queues that are only capable of compute operations.
Some queues might only correspond to separate queues in the host-side scheduler, other queues might correspond to actual independent queues in hardware. For example, many GPUs only have one hardware graphics queue, so even if you create two VkQueues from a graphics-capable queue family, command buffers submitted to those queues will progress through the kernel driver's command buffer scheduler independently, but will execute in some serial order on the GPU. But some GPUs have multiple compute-only hardware queues, so two VkQueues for a compute-only queue family might actually proceed independently and concurrently all the way through the GPU. Vulkan doesn't expose this.
Bottom line, decide how many queues you can usefully use, based on how much concurrency you have. For many apps, a single "universal" queue is all they need. More advanced ones might have one graphics+compute queue, a separate compute-only queue for asynchronous compute work, and a transfer queue for async DMA. Then map what you'd like onto what's available; you may need to do your own multiplexing, e.g. on a device that doesn't have a compute-only queue family, you might create multiple graphics+compute queues instead, or serialize your async compute jobs onto your single graphics+compute queue yourself.
[*1] Oversimplifying a bit. They start in order, but are allowed to proceed independently after that and complete out of order. Independent progress of different queues is not guaranteed though. I'll leave it at that for this question.

A: A Queue is a thing that accepts Command Buffers containing operations of a given type (given by the family flags). The commands submited to a Queue have a Submission Order, therefore they are subject to synchronization by Pipeline Barriers, Subpass Dependencies, and Events (while across queues Semaphore or beter has to be used).
There's one trick: COMPUTE and GRAPHICS can always implicitly accept TRANSFER workload (even if the QueueFamilyProperties do not list it. See this in Note below Specification of VkQueueFlagBits).
Transfer is for Copy and Blit commands. Sparse is something like paging;  it allows to bind multiple Memory handles to a single Image, and it allows to re-bind different memory later too.
In the Specification, below given vkCmd* command it always says which are the "Supported Queue Types".
Queue Family is a group of Queues that have special relation to themselves. Some things are restricted to a single Queue Family, such as Images (they have to be transfered between Queue Families) or Command Pool (creates Command Buffers only for consumption by the given Queue Family and no other). Theoretically on some exotic device there could be more Queue Families with the same Flags.
That's pretty much everything the Vulkan Specification guarantees. See an Issue with this at KhronosGroup/Vulkan-Docs#569

There are some vendor-specific materials given, e.g.:

*

*AMD's Leveraging asynchronous queues for concurrent execution

*NVIDIA's Moving to Vulkan: Asynchronous compute
The GPUs have asynchronous Graphics Engine(s), Compute Engine(s), and Copy\DMA Engine(s). The Graphics and Compute would of course contest the same Compute Units of the GPU.
They usually have only one Graphics Frontend. That is a bottleneck for graphics operations, so that means there's no point in using more than one Graphics Queue.
There are two modes of operation for Compute: Synchronous Compute (exposed as GRAPHICS|COMPUTE family) and Async Compute (exposed as COMPUTE-only family). The first is a safe choice. The second can give you about 10 % perf, but is more tricky and requires more effort. The AMD article suggests to always do the first as a baseline.
There can theoretically be as many Compute Queues as there are Compute Units on the GPU. But AMD argues there's no benefit to more than two Async Compute Queues and exposes that many. NVIDIA seems to go with the full number.
The Copy\DMA Engines (exposed as the TRANSFER-only family) are primarily intended for CPU⇄GPU transfers. They would usually not achieve full throughput for an inside-GPU copy. So unless there's some driver magic, the Async Transfer Family should be used for CPU⇄GPU transfers (to reap the Async property, being able to do Graphics next to it unhindered). For inside-GPU copies it should be better for most cases to use the GRAPHICS|TRANSFER family.

redpajama_set_name: RedPajamaStackExchange


Dairy and Yogurt Container lidding film solutions are essential to ensure the safety and freshness of many consumer products. Rockwell Solutions offer reel fed solutions, as well as die-cut lids. Our formulations allow us to determine the seal- and peel-off-strength and can be tailor-made to application requirements. Our Yogurt and Dairy lidding products are applicable to all rigid tray materials.


The healthcare landscape is poised to witness the next big advancement with the emergence of blockchain. In a recent report, IBM mentions that more than half of healthcare executives intend to implement blockchain technologies into their organizations by 2020.
Popularized by Bitcoin, the distributed ledger technology has the capacity to ensure data integrity while sharing information between different parties—one of the major reasons behind its growing adoption in the healthcare community. At the same time, most of the industry thought leaders believe the new technology has the potential to revamp interoperability and quality care.
One of the areas, where the promising technology is making a substantial impact in healthcare is in ensuring faster and more accurate claims processing. This is helping the healthcare providers cut down on fraud, and at the same time, limit the administrative costs.
Another important aftermath of employing blockchain technology in healthcare is better quality measurement. Traditionally, hospitals would collect patient-reported outcomes (PROs) through surveys and questionnaires, with the onset of blockchain technology, this process has advanced rapidly. Blockchain integrates health information from mobile devices and connected health apps, opening up a robust new data set for providers. Therefore, rather than taking measurements at one point in time and then reevaluating during a particular interval, blockchain is changing the paradigm to one that is real-time.
Above all, blockchain is providing an easy and secure access to medical information, which could shift more control to patients and allow them to take on a larger role in managing chronic conditions and their overall health.


text:
Did This Man Deserve This?
Filed to:Culture smash
Japanese piracy law enforcement is tough. It doesn't matter whether that's the selling of customized figures or illegal uploading of games, the authorities are so not pussy footing around. Consider what happened to Takashi Matsuda.
Do Not Sell Customized Figures Online In Japan, They Will Lock You Up
Custom action figures, like these Punch-Out!! ones or this Bayonetta one, are one-off,…
The 47-year-old company employee was arrested on the evening news for violating Japanese copyright law and was dragged away in shame.
The police arrested the man for uploading the twenty-seventh episode of Kamen Rider 000 on a California-based server for unauthorized streaming. According to RBB Today, the man admitted that he had been uploading episodes "since around this January."
The Most Heroic Restaurant in Japan
Kamen Rider is an ass-kickin' Japanese hero. Adults and kids alike enjoy the long-running…
Blocking the doorway was a cardboard box for an Anpanman children's toy.
Japanese netizens have been quick to criticize the man, wondering why a 47-year-old was uploading episodes of Kamen Rider 000, a program aimed primarily at kids.
One shot showed the man being hauled away with his face buried in his hands in disgrace.
In recent years, video game makers have also began waging a war on game piracy, with Nintendo even opening a tips line for informants. Companies like Nintendo claim to have lost money because of Nintendo DS piracy—something that is no doubt true.
Ready To Rat Out R4 Sellers? Nintendo Is Here To Help
Earlier this year, Nintendo announced that it and 54 software game companies were filing a lawsuit
Under Japanese law, it's not only illegal to upload copyrighted material without permission, it's also illegal to download it. This legislation is extremely unpopular in Japan.
Even with these strict copyright laws, there must be more serious, far more detrimental crimes that deserve televised takedowns. Japan is safe, sure, but this is overkill.
Culture Smash is a daily dose of things topical, interesting and sometimes even awesome—game related and beyond.
(Top photo: ANN News)

redpajama_set_name: RedPajamaCommonCrawl


Maurizio Sarri will want no mistakes on the south coast as he looks to keep Chelsea inside the top four.
The Italian vented his frustration by locking his players in the dressing room after the game and launching a tirade that lasted close to an hour.
After the dressing room inquisition and the post-match press conference, during which he questioned his own ability to motivate the players, Sarri chose to travel back to London by auto rather than board their bus.
Significantly, it is understood Sarri's reliance on Jorginho has left players questioning his approach.
Brooks should have done better with a 34th-minute header showed his class soon afterwards, dispossessing Eden Hazard and driving forward to force Kepa Arrizabalaga into action. "Eden is 28, if he wants to leave, then he should do so". Now here I am frustrating Sarri. I don't think they like to hear their manager say those kinds of things.
The majority of supporters were angry over his departure, but many were also extremely disappointed not to see him fulfill his vast potential at their club. The Belgium winger has also gone missing when Sarri has needed him most the last few weeks, scoring once in the last eight games. Newcastle - who trailed to a Sergio Aguero goal inside just 24 seconds - were matched at a high of [150.0] in-play to win the game but second half goals from Salomon Rondon and Matt Richie sealed a famous victory.


text:
VALUE obj_html_safe_qmark(VALUE self) { return Qfalse; }

//fixnums are always safe for html.
VALUE fix_html_safe_qmark(VALUE self) { return Qtrue; }

VALUE // mark a string as safe for html.
str_html_safe_bang(VALUE self)
{
  FL_SET(self, HFLAG);
  return self;
}

VALUE // is this string safe for html?
str_html_safe_qmark(VALUE self)
{
  return FL_TEST(self, HFLAG) ? Qtrue : Qfalse;
}

void
set_html_safe(VALUE obj, bool val)
{
  if (val) {
    FL_SET(obj, HFLAG);
  } else {
    FL_UNSET(obj, HFLAG);
  }
}

VALUE // return a copy of this string, marked as safe for html.
str_html_safe(VALUE self)
{
  VALUE other = rb_obj_dup(self);
  return str_html_safe_bang(other);
}

VALUE
str_plus(VALUE self, VALUE other)
{
  VALUE ret;
  bool safe = ((str_html_safe_qmark(self) == Qtrue) &&
               (str_html_safe_qmark(other) == Qtrue));

  ret = rb_str_plus(self, other);

  set_html_safe(ret, safe);
  return ret;
}

VALUE
str_concat(VALUE self, VALUE other)
{
  bool safe = ((str_html_safe_qmark(self) == Qtrue) &&
               (str_html_safe_qmark(other) == Qtrue));

  rb_str_concat(self, other);

  set_html_safe(self, safe);
  return self;
}

void
Init_monkeysupport_output_safety()
{

  rb_define_method(rb_cObject, "html_safe?",       obj_html_safe_qmark, 0);
  rb_define_method(rb_cFixnum, "html_safe?",       fix_html_safe_qmark, 0);

  rb_define_method(rb_cString, "html_safe",        str_html_safe,       0);
  rb_define_method(rb_cString, "html_safe!",       str_html_safe_bang,  0);
  rb_define_method(rb_cString, "html_safe?",       str_html_safe_qmark, 0);
  rb_define_method(rb_cString, "_rails_html_safe", str_html_safe_qmark, 0);

  rb_define_method(rb_cString, "+",                 str_plus,           1);
  rb_define_method(rb_cString, "<<",                str_concat,         1);

}

redpajama_set_name: RedPajamaGithub


(Reuters) – U.S. President Donald Trump plans to nominate former pizza chain executive and Republican presidential candidate Herman Cain for a seat on the Federal Reserve Board, where he will help set interest rates for the world's biggest economy.
READ Can you still use old £10 notes? When do they expire?


Create an eclectic styled interior with a combination of Hollywood glamour and the beautiful curves of Art Deco design. Our Side Table features a mirrored top and mosaic mirror apron, adding light and drama to your formal living space or bedroom. Elegant champagne trim increases the sophistication and adds contrast. Feature a lamp or floral display for an injection of colour.


A psychedelic adventure from Tehran to California, stopovers in Nigeria, Australia, Egypt and Japan with a night in Vietnam. A cross-country psych jam.
If you've listened to any of the Gobe Radio playlists so far, you have probably figured out that we're into music from all around the world. We try to deliver you sounds from all corners every week, some of your favourites and hopefully some you've never heard of.
This week's radio is dedicated to Psych around the world. Psychedelic music is hard to categorise into a stylistic genre and serves more aptly as a label used to describe the spirit embodied by the creators of the experimental music since its beginnings in the 1960's.
It would be impossible to succinctly convey the history and movements of Psych music up until now, but whilst it has seen slumps in popularity at times, it never left and continues to influence musicians from all walks and all styles all around the world.
A lot of you have probably been travelling somewhere new and accidentally stumbled onto a live performance of local music or a foreign bar playing foreign sounds. Music has the ability to connect itself to your memories and certain songs will become a signifier of those memories for the rest of your life.
By no means a comprehensive list, just our personal best of. Twenty-five of our most loved psych tracks from many different pockets of the globe, including your new favourite Persian psychedelic folk banger.
Starting our voyage in the musical stronghold that is Austin, Texas, onto Germany and down to Italy before soaring over to South Korea in the 1970's with Kim Jung Mi, a stopover in Vietnam with Mai Le Huyen and bouncing onto Cairo nights with the Dwarfs of East Agouza with plenty of psychedelic pit-stops on the way.
You can enjoy all previous Editions of Gobe Radio here, and follow us on Spotify here.


text:
Q: post differences in php I am using some code to get the input values from an html form, and I was wondering the differences between using:
filter_input(INPUT_POST, 'residence');

instead of: $_POST['residence']
For some of the code, I need to read in an array of data (check box options) and the $_POST method seems to do the job instead of filter_input.
Thank you!

A: If your $_POST contains an array value:
<?php
$_POST  = array(
    'var' => array('more', 'than', 'one', 'values')
);
?>

you should use FILTER_REQUIRE_ARRAY option:
<?php
var_dump(filter_input(INPUT_POST, 'var', FILTER_DEFAULT , FILTER_REQUIRE_ARRAY));
?>

Otherwise it returns false.
(from: https://secure.php.net/manual/en/function.filter-input.php)


text:
require 'test/unit'
require 'tempfile'
require_relative 'envutil'

class TestException < Test::Unit::TestCase
  def test_exception_rescued
    begin
      raise "this must be handled"
      assert(false)
    rescue
      assert(true)
    end
  end

  def test_exception_retry
    bad = true
    begin
      raise "this must be handled no.2"
    rescue
      if bad
        bad = false
        retry
        assert(false)
      end
    end
    assert(true)
  end

  def test_exception_in_rescue
    string = "this must be handled no.3"
    assert_raise_with_message(RuntimeError, string) do
      begin
        raise "exception in rescue clause"
      rescue
        raise string
      end
      assert(false)
    end
  end

  def test_exception_in_ensure
    string = "exception in ensure clause"
    assert_raise_with_message(RuntimeError, string) do
      begin
        raise "this must be handled no.4"
      ensure
        assert_instance_of(RuntimeError, $!)
        assert_equal("this must be handled no.4", $!.message)
        raise "exception in ensure clause"
      end
      assert(false)
    end
  end

  def test_exception_ensure
    bad = true
    begin
      begin
        raise "this must be handled no.5"
      ensure
        bad = false
      end
    rescue
    end
    assert(!bad)
  end

  def test_exception_ensure_2   # just duplication?
    bad = true
    begin
      begin
        raise "this must be handled no.6"
      ensure
        bad = false
      end
    rescue
    end
    assert(!bad)
  end

  def test_errinfo_in_debug
    bug9568 = EnvUtil.labeled_class("[ruby-core:61091] [Bug #9568]", RuntimeError) do
      def to_s
        require '\0'
      rescue LoadError
        self.class.to_s
      end
    end

    err = EnvUtil.verbose_warning do
      assert_raise(bug9568) do
        $DEBUG, debug = true, $DEBUG
        begin
          raise bug9568
        ensure
          $DEBUG = debug
        end
      end
    end
    assert_include(err, bug9568.to_s)
  end

  def test_break_ensure
    bad = true
    while true
      begin
        break
      ensure
        bad = false
      end
    end
    assert(!bad)
  end

  def test_catch_throw
    assert(catch(:foo) {
             loop do
               loop do
                 throw :foo, true
                 break
               end
               break
               assert(false)			# should no reach here
             end
             false
           })
  end

  def test_catch_throw_in_require
    bug7185 = '[ruby-dev:46234]'
    Tempfile.create(["dep", ".rb"]) {|t|
      t.puts("throw :extdep, 42")
      t.close
      assert_equal(42, catch(:extdep) {require t.path}, bug7185)
    }
  end

  def test_else_no_exception
    begin
      assert(true)
    rescue
      assert(false)
    else
      assert(true)
    end
  end

  def test_else_raised
    begin
      assert(true)
      raise
      assert(false)
    rescue
      assert(true)
    else
      assert(false)
    end
  end

  def test_else_nested_no_exception
    begin
      assert(true)
      begin
	assert(true)
      rescue
	assert(false)
      else
	assert(true)
      end
      assert(true)
    rescue
      assert(false)
    else
      assert(true)
    end
  end

  def test_else_nested_rescued
    begin
      assert(true)
      begin
	assert(true)
	raise
	assert(false)
      rescue
	assert(true)
      else
	assert(false)
      end
      assert(true)
    rescue
      assert(false)
    else
      assert(true)
    end
  end

  def test_else_nested_unrescued
    begin
      assert(true)
      begin
	assert(true)
      rescue
	assert(false)
      else
	assert(true)
      end
      assert(true)
      raise
      assert(false)
    rescue
      assert(true)
    else
      assert(false)
    end
  end

  def test_else_nested_rescued_reraise
    begin
      assert(true)
      begin
	assert(true)
	raise
	assert(false)
      rescue
	assert(true)
      else
	assert(false)
      end
      assert(true)
      raise
      assert(false)
    rescue
      assert(true)
    else
      assert(false)
    end
  end

  def test_raise_with_wrong_number_of_arguments
    assert_raise(TypeError) { raise nil }
    assert_raise(TypeError) { raise 1, 1 }
    assert_raise(ArgumentError) { raise 1, 1, 1, 1 }
  end

  def test_errat
    assert_in_out_err([], "p $@", %w(nil), [])

    assert_in_out_err([], "$@ = 1", [], /\$! not set \(ArgumentError\)$/)

    assert_in_out_err([], <<-INPUT, [], /backtrace must be Array of String \(TypeError\)$/)
      begin
        raise
      rescue
        $@ = 1
      end
    INPUT

    assert_in_out_err([], <<-INPUT, [], /^foo: unhandled exception$/)
      begin
        raise
      rescue
        $@ = 'foo'
        raise
      end
    INPUT

    assert_in_out_err([], <<-INPUT, [], /^foo: unhandled exception\s+from bar\s+from baz$/)
      begin
        raise
      rescue
        $@ = %w(foo bar baz)
        raise
      end
    INPUT
  end

  def test_thread_signal_location
    _, stderr, _ = EnvUtil.invoke_ruby("--disable-gems -d", <<-RUBY, false, true)
Thread.start do
  begin
    Process.kill(:INT, $$)
  ensure
    raise "in ensure"
  end
end.join
    RUBY
    assert_not_match(/:0/, stderr, "[ruby-dev:39116]")
  end

  def test_errinfo
    begin
      raise "foo"
      assert(false)
    rescue => e
      assert_equal(e, $!)
      1.times { assert_equal(e, $!) }
    end

    assert_equal(nil, $!)
  end

  def test_inspect
    assert_equal("#<Exception: Exception>", Exception.new.inspect)

    e = Class.new(Exception)
    e.class_eval do
      def to_s; ""; end
    end
    assert_equal(e.inspect, e.new.inspect)
  end

  def test_to_s
    e = StandardError.new("foo")
    assert_equal("foo", e.to_s)

    def (s = Object.new).to_s
      "bar"
    end
    e = StandardError.new(s)
    assert_equal("bar", e.to_s)
  end

  def test_set_backtrace
    e = Exception.new

    e.set_backtrace("foo")
    assert_equal(["foo"], e.backtrace)

    e.set_backtrace(%w(foo bar baz))
    assert_equal(%w(foo bar baz), e.backtrace)

    assert_raise(TypeError) { e.set_backtrace(1) }
    assert_raise(TypeError) { e.set_backtrace([1]) }
  end

  def test_exit_success_p
    begin
      exit
    rescue SystemExit => e
    end
    assert_send([e, :success?], "success by default")

    begin
      exit(true)
    rescue SystemExit => e
    end
    assert_send([e, :success?], "true means success")

    begin
      exit(false)
    rescue SystemExit => e
    end
    assert_not_send([e, :success?], "false means failure")

    begin
      abort
    rescue SystemExit => e
    end
    assert_not_send([e, :success?], "abort means failure")
  end

  def test_nomethoderror
    bug3237 = '[ruby-core:29948]'
    str = "\u2600"
    id = :"\u2604"
    msg = "undefined method `#{id}' for #{str.inspect}:String"
    assert_raise_with_message(NoMethodError, msg, bug3237) do
      str.__send__(id)
    end
  end

  def test_errno
    assert_equal(Encoding.find("locale"), Errno::EINVAL.new.message.encoding)
  end

  def test_too_many_args_in_eval
    bug5720 = '[ruby-core:41520]'
    arg_string = (0...140000).to_a.join(", ")
    assert_raise(SystemStackError, bug5720) {eval "raise(#{arg_string})"}
  end

  def test_systemexit_new
    e0 = SystemExit.new
    assert_equal(0, e0.status)
    assert_equal("SystemExit", e0.message)
    ei = SystemExit.new(3)
    assert_equal(3, ei.status)
    assert_equal("SystemExit", ei.message)
    es = SystemExit.new("msg")
    assert_equal(0, es.status)
    assert_equal("msg", es.message)
    eis = SystemExit.new(7, "msg")
    assert_equal(7, eis.status)
    assert_equal("msg", eis.message)

    bug5728 = '[ruby-dev:44951]'
    et = SystemExit.new(true)
    assert_equal(true, et.success?, bug5728)
    assert_equal("SystemExit", et.message, bug5728)
    ef = SystemExit.new(false)
    assert_equal(false, ef.success?, bug5728)
    assert_equal("SystemExit", ef.message, bug5728)
    ets = SystemExit.new(true, "msg")
    assert_equal(true, ets.success?, bug5728)
    assert_equal("msg", ets.message, bug5728)
    efs = SystemExit.new(false, "msg")
    assert_equal(false, efs.success?, bug5728)
    assert_equal("msg", efs.message, bug5728)
  end

  def test_exception_in_name_error_to_str
    bug5575 = '[ruby-core:41612]'
    Tempfile.create(["test_exception_in_name_error_to_str", ".rb"]) do |t|
      t.puts <<-EOC
      begin
        BasicObject.new.inspect
      rescue
        $!.inspect
      end
    EOC
      t.close
      assert_nothing_raised(NameError, bug5575) do
        load(t.path)
      end
    end
  end

  def test_equal
    bug5865 = '[ruby-core:41979]'
    assert_equal(RuntimeError.new("a"), RuntimeError.new("a"), bug5865)
    assert_not_equal(RuntimeError.new("a"), StandardError.new("a"), bug5865)
  end

  def test_exception_in_exception_equal
    bug5865 = '[ruby-core:41979]'
    Tempfile.create(["test_exception_in_exception_equal", ".rb"]) do |t|
      t.puts <<-EOC
      o = Object.new
      def o.exception(arg)
      end
      _ = RuntimeError.new("a") == o
      EOC
      t.close
      assert_nothing_raised(ArgumentError, bug5865) do
        load(t.path)
      end
    end
  end

  Bug4438 = '[ruby-core:35364]'

  def test_rescue_single_argument
    assert_raise(TypeError, Bug4438) do
      begin
        raise
      rescue 1
      end
    end
  end

  def test_rescue_splat_argument
    assert_raise(TypeError, Bug4438) do
      begin
        raise
      rescue *Array(1)
      end
    end
  end

  def test_to_s_taintness_propagation
    for exc in [Exception, NameError]
      m = "abcdefg"
      e = exc.new(m)
      e.taint
      s = e.to_s
      assert_equal(false, m.tainted?,
                   "#{exc}#to_s should not propagate taintness")
      assert_equal(false, s.tainted?,
                   "#{exc}#to_s should not propagate taintness")
    end

    o = Object.new
    def o.to_str
      "foo"
    end
    o.taint
    e = NameError.new(o)
    s = e.to_s
    assert_equal(false, s.tainted?)
  end

  def m;
    m &->{return 0};
    42;
  end

  def test_stackoverflow
    assert_raise(SystemStackError){m}
  end

  def test_machine_stackoverflow
    bug9109 = '[ruby-dev:47804] [Bug #9109]'
    assert_separately([], <<-SRC)
    assert_raise(SystemStackError, #{bug9109.dump}) {
      h = {a: ->{h[:a].call}}
      h[:a].call
    }
    SRC
  rescue SystemStackError
  end

  def test_machine_stackoverflow_by_define_method
    bug9454 = '[ruby-core:60113] [Bug #9454]'
    assert_separately([], <<-SRC)
    assert_raise(SystemStackError, #{bug9454.dump}) {
      define_method(:foo) {self.foo}
      self.foo
    }
    SRC
  rescue SystemStackError
  end

  def test_cause
    msg = "[Feature #8257]"
    cause = nil
    e = assert_raise(StandardError) {
      begin
        raise msg
      rescue => e
        cause = e.cause
        raise StandardError
      end
    }
    assert_nil(cause, msg)
    cause = e.cause
    assert_instance_of(RuntimeError, cause, msg)
    assert_equal(msg, cause.message, msg)
  end

  def test_cause_reraised
    msg = "[Feature #8257]"
    cause = nil
    e = assert_raise(RuntimeError) {
      begin
        raise msg
      rescue => e
        raise e
      end
    }
    assert_not_same(e, e.cause, "#{msg}: should not be recursive")
  end
end


text:
Release Date: November 29th, 2022
Dachra
Review Date December 5th, 2022 by Sam Cohen
Some of the most successful horror films focus on the terror and fear that runs deep in mythmaking. Take a story or folk tale that we've heard before and add some scares, the results frequently work. And in the case of Dachra, a Tunisian horror film that played at Venice Film Festival, that terror and fear is born from a mix of North African folklore and solidly crafted genre scares. Even when the filmmaking craft slacks due to production limitations or other factors, the commitment to storytelling stands out. Dekanalog Releasing presents the film on Blu-ray with a solid 1080p presentation that pulls the most from the source. Add a couple special features and you have a release that's Worth A Look!
Movie Studio: Dekanalog
I'm not going to pretend to be an expert on Tunisian folklore or Tunisian culture in general for that matter, but the way in which filmmaker Abdelhamid Bouchnak weaves genre tropes into something clearly personal and rooted in history makes Dachra rise above the crop of B-grade modern horror. That's not to mention the genuinely solid compositions that Bouchnak and cinematographer Hatem Nechi are able to derive from the great locations they shot at. The general aesthetic is unfussy, with many long, slow zooms and then some shakier handheld shots in the climax. The production's limitations come through in the performances and harsher, contrast-rich look that the cameras offer, yet it's all rather steady and committed to good, scary storytelling.
Bouchnak mentions the 'heavy' use of framing and lighting in Tarkovsky's Stalker as the main reference point for Dachra, which is pretty clear from the outset of the film. It all begins with a simple conceit: three journalism students named Yasmine (Yasmine Dimassi), Walid (Aziz Jbali) and Bilel (Bilel Slatnia) are assigned to write a story about something investigative and exciting by their professor. They set out to solve the cold case of Mongia, a woman imprisoned in an asylum for over 20 years for witchcraft. This brings them to the isolated countryside of fog-blanketed Dachra, home to scary kids, silent women, and a bunch of meat hanging out to dry. Naturally, something goes amiss when the trio goes to the asylum and starts asking the right questions.
Dachra deftly combines North African folklore and all the usual horror tropes we see in related works, though its atmosphere makes up for a lot of the familiarity. A long, slow zoom of a panel in a decrepit concrete building becomes frightening when a bottle of liquid is thrown from above and breaks and splatters across the frame. A simple and familiar setup writ larger by the disquieting atmosphere and even more disquieting score. The film apparently cost the equivalent of $80,000 and makes great use of that limited budget by leveraging stock tropes as resources amidst the notes of originality. It can sometimes come off as a bit amateurish, although I chalk much of that up to the budget. Stock sound effects creep through as well, which softens the impact a bit.
All in all, Bouchnak proved with his first narrative feature that he can employ a classic three-act structure while grafting notes of regional mythology onto some genuinely chilling scares. That's an accomplishment that's rare and should convince you to take note of any future projects from him. For horror fans, there's a lot to enjoy here.
Vital Disc Stats: The Blu-rays
Beware of the horrors that lie in Dachra, presented here with a one-disc (BD50) Blu-ray release that comes housed in a clear Viva case with a reversible sleeve. The Blu-ray disc boots up to a standard menu screen with options to play the film, select chapters, browse special features and toggle subtitles. The menu screen plays a clip from the film on a loop.
Although I'm not certain of the kind of equipment Dachra was shot with, I can say with certainty that the source master was probably 2K or of lesser resolution. For a film that's shot with a minimalist style and drained-out color palette, I found the encode to handle the limited source very well and it doesn't too much attention to the limitations, like lack of depth in the black levels and a harsher, contrast-strewn look. The lack of texture can sometimes look off, but it doesn't call attention to itself and is resolved decently in 1080p. This is a decent presentation for the most part.
A very fun and expressive 5.1 DTS-HD MA track is included here and it really puts in some legwork to emphasize the dread and terror in the film. Notes like consistent, loud rain dripping and hitting metal gains added life and dimension in the surround channels. This is a mostly front-focused soundtrack, but the soundscape opens up beautifully in the heightened moments of the film. If you have a home theater system, you're sure to enjoy this track.
Dekanalog doesn't add much by way of special features, but credit is given to the brief introduction by film curator Evrim Ersoy, where the Turkish curator describes his experience finding Dachra for the first time and how it ties within his own regional horror interests. There's a booklet with a critical essay by Laura Kern and an interview with the filmmaker included as well.
Introduction by film curator Evrim Ersoy (HD, 7:29)
US Theatrical trailer (HD, 1:13)
International theatrical trailer (HD, 2:02)
Booklet with critical essay by Laura Kern and interview with filmmaker Abdelhamid Bouchnak
Although Dachra is far from a modern horror masterwork, it showcases international horror and solid filmmaking despite the budget limitations. The video transfer is solid considering all things and the 5.1 surround track is a great inclusion in this one-disc Blu-ray release that I think is Worth A Look!


text:
Texas State College of Education Research and Centers
COE Strategic Plan | 2017-2023
Recreation Administration I Class of 2020
We Are Where Aspiring Teachers Become Teachers Who Inspire
Health & Human Performance
Counseling, Leadership, Adult Education and School Psychology
Bobcat RISE
Undergraduate Advising Center
Teacher Residency or Traditional Pathway: What are my Options?
Registration Obstacle
Equity Action For Student Thriving
COE Tenure & Promotion PPS
Committee for International Engagement
Education Equals Inclusion
Equity Audit Zoom Workshop
College of Education Virtual Update
Research and Centers
COE Research Office
Transformational Research Partnerships
Research & Centers
Posting Faculty Publications on COE Social Media
San Marcos Area Collaborative Working Group
Gabriel Fife's Research Helps Lead Para-Taekwondo to the World Stage
Dr. Knudson Receives 'University Distinguished Professor' Award
A Day in Quarantine
Visiting Fulbright Outreach Lecturer from Mexico City Presents Research in Texas State's Public Health Program
Texas State University has been named one of three finalists for the 2020 Excellence in Innovation Award by the Honor Society of Phi Kappa Phi
Brandon Hargis Manages a National Artemis Student Challenge with NASA's SUITS Program
Dr. Lori Assaf and Dr. Sean Justice Receive a National Science Foundation Grant for Their Developmental Research Project
The Institution of Education Sciences Funds Exploration Research to Improve Students' Writing Abilities
Maryssa Adams Awarded "Teacher of Promise" by Austin ISD
Alumna Karen Hames Elected President of The Association of Texas Professional Educators (ATPE)
NASA STEM EPDC Specialists Drone Training & STEM-For-All Dell Diamond Event
San Marcos CISD Recognizes Texas State Teacher Residents as Assets to the School District
Amy Biedermann Receives Fulbright Award
Texas State Alumna Katie Doyle named Teacher of the Year for Flour Bluff Intermediate School
Dr. Kevin Miller and KSI Medical Team Help Save 39 Lives from Heatstroke
Alumnus Marcelino Saucedo Reflects on Bilingual/Bicultural Education Experience
Family & Visitors
SAP Portal
Online Toolkit
The College of Education is committed to uncovering groundbreaking research that will produce evidence-based caring change agents for our communities. View one of our centers, institutes, or clinics to learn how we are changing the world.
COERO's mission is to increase research capacity by supporting faculty and students throughout the grant proposal development, post-award administration, and publication processes. Through relevant and rigorous research, College of Education faculty and students will contribute to Texas State's designation as a Research University and place the College at the forefront of local, state, and national discussions regarding research-based policies, programs, and practices in all College program areas.
The College of Education Research Office (COERO) aims to increase research capacity by supporting faculty and students throughout the grant proposal development, post-award administration, and publication processes. Through relevant and rigorous research, College of Education faculty and students will contribute to Texas State's designation as a Research University and place the College at the forefront of local, state, and national discussions regarding research-based policies, programs, and practices.
Animal-Assisted Counseling Academy
The Texas State University Animal-Assisted Counseling (AAC) Academy is a professional training program that promotes the human-animal bond through the study and practice of animal-assisted counseling and play therapy.
Assessment and Counseling Clinic
The Assessment and Counseling Clinic serves to meet the psychoeducational needs of persons in the university, San Marcos and Hays County communities.
Biomechanics/Sports Medicine Lab
The Biomechanics/Sports Medicine Lab is a 2700 square foot multi-disciplinary research and teaching center focusing on biomechanics, physical medicine, and strength and conditioning research. Multiple biomechanical measurement systems are available for faculty and student research.
Cardiovascular Physiology Laboratory
The cardiovascular physiology laboratory investigates lifestyle interventions with the potential to mediate arterial stiffness and endothelial function including yoga, aerobic exercise and resistance training.
Career Alternatives in Special Education (CASE)
Texas State has established a program to recruit individuals with undergraduate degrees who are interested in a special education teaching certification, train them in teaching methods and special education techniques, and support them in teaching positions in central Texas.
Central Texas Writing Project (CTWP)
Educators and education leaders are invited to attend a wide variety of CTWP professional development programs including a Summer Institute, Open Institutes, Advanced Institutes, and other professional growth settings that bring colleagues together to explore the most successful research-based approaches for teaching writing.
Clinic for Autism Research, Evaluation and Support (CARES)
Services include diagnostic assessment and evaluation, clinic and home based educational programs founded in applied behavior analysis (ABA), social skills groups, job-coaching, functional behavior assessments, behavior intervention planning, consultations, and leisure skills training through our very popular summer camp.
Community-Engaged Scholarship Lab
Scholars from multiple academic and diverse disciplines conduct collaborative research projects, interventions, and programs with a particular emphasis on enhancing the quality of life of underserved communities. Scholarly investigations and intervention programs are conducted in schools, community agencies, and neighborhoods in Austin, Comal, Guadalupe, Hays, Bexar counties. The Community Engaged Scholarship Lab (CESL) provided the researches a physical space to analyze and interpret data, conduct individual and/or focus group interviews, and lead training programs.
The Education Institute
The Education Institute (TEI) is a nationally recognized resource that provides quality research and innovative educational services to communities and professional organizations, including school districts and state agencies, which work collaboratively with diverse and underserved populations. TEI faculty and staff are involved in developmental and adult education, family literacy, and migrant adult education projects that include providing direct services, professional development and training, policy planning and research.
Exercise Physiology Lab
The Exercise Physiology Laboratory is a research and teaching center focusing on the study of basic and applied exercise physiology principles. The facility houses state-of-the-art biomedical equipment used to assess exercise metabolism and body composition (ParvoMedics Metabolic Measurement Cart, Trackmaster Treadmill, Lode Corvial Cycle Ergometer, and Cosmed Bodpod).
The Human Performance Laboratory contains exercise equipment (e.g., heart rate monitors, treadmills, exercise bicycles, and metabolic analyzers) and software for evaluating human performance, prescribing exercise, and analyzing diets. Students gain invaluable work experience by conducting exercise tests on Texas State employees and students as well as on community members in the HP Lab
Institute for Play Therapy
The mission of the Institute for Play Therapy is to offer quality play therapy training to professionals in the community and to encourage play therapy networking, research, and resources.
LBJ Institute for STEM Education and Research
The Mission of the LBJ Institute is to transform Science, Technology, Engineering and Mathematics (STEM) education in order to increase the participation and success of diverse communities of educator and students through fostering collaborative communities, conducting rigorous research, providing evidence based professional development and improving STEM teaching and learning.
Metabolic & Applied Physiology (MAP) Lab
The Metabolic and Applied Physiology Laboratory (i.e., MAP Lab) involves work with human subjects with a focus on dietary and exercise interventions aimed at improving aspects of cardiometabolic health and performance.
Project SUPERB
Project SUPERB (Scholars Using Psychology and Education to Reach Bilinguals) is Texas State University's grant-funded initiative to provide more and better-qualified bilingual (Spanish-English) school psychologists to serve the growing population of Spanish-speaking children.
Research for EDucator Equity & Excellence (REDEE) Center
Founded in 2020, the Research for EDucator Equity & Excellence (REDEE, pronounced Ready) Center is housed at Texas State University, which is home to one of the largest traditional educator preparation programs (EPP) in the US. The REDEE Center's mission is to conduct equity-focused research that (a) increases the quantity, quality, and effectiveness of new educators, (b) improves the employment environment in which the new educators work so students and educators thrive, and (c) informs state and federal education and EPP policies. To accomplish this mission, REDEE researchers are conducting quantitative and mixed-methods research studies that examine the educator pipeline from admissions into an EPP through the first 10 years in schools.
Socio-Emotional Wellbeing Lab (SEW Lab)
The SEW Lab activities are initiated and overseen by Andrea Dennison, Ph.D., an Assistant Professor at Texas State University in the School Psychology program. Dr. Dennison's work focuses on identifying personal, social, and environmental factors that promote and protect healthy well-being.
Teacher Fellows
The Texas State University-San Marcos Teacher Fellows Program specializes in personalized induction and mentoring of new teachers. Each beginning teacher is immersed in teaching in a central Texas participating school district while completing an M.Ed. in elementary education. The program provides an integrated curriculum focused on principles of constructivist learning, teacher research, project-based learning, and performance assessment.
Teacher Recruitment Program
The Teacher Recruitment Program (TRP) provides an accelerated pathway for individuals, who hold a baccalaureate, who are seeking initial teacher certification.
Tomás Rivera Book Award
Texas State University College of Education created The Tomás Rivera Mexican American Children's Book Award in 1995 to honor authors and illustrators who create literature that depicts the Mexican American experience. It is named in honor of Texas State University distinguished alumnus Dr. Tomás Rivera.
Translational Neuromuscular Physiology Lab
This laboratory is directed by Dr. Joni Mettler. The primary focus of the lab is muscle metabolism and neuromuscular response to inactivity, and exercise training interventions. We integrate basic science muscle physiology and neuromuscular physiology techniques to examine muscle adaptations due to physical inactivity, training and muscle fatigue with an emphasis on how these changes translate to muscle function.
Education Building, 2001
Dean's Office: 512.245.2150
Academic Advising: 512.245.3050
About Texas State
End of video dialog content
Select search scope This Site All Texas State
Close Search Dialog


He's a man who knows the importance of hard work — and he's living proof that it pays off. TERRY BRADSHAW IT'S ONLY A GAME This is the absolutely guaranteed 100% mostly true story of the man who gained sports immortality as the first quarterback to win four Super Bowls — and who became America's most popular sports broadcaster. As honest, unexpected, and downright hilarious as the man himself, It's Only a Game shows the many sides of Terry: the former pipeline worker, cattle-raiser, professional singer, youth minister, actor, television and radio talk-show host, and public speaker — and replays all the hard-hitting, bone-crunching details from his heyday with the Pittsburgh Steelers. More than a collection of his funniest stories, It's Only a Game is the personal account of Terry's search for the life before and after football...as only he could tell it.


text:
Scarface is een Amerikaanse misdaadfilm uit 1983 van regisseur Brian De Palma. De film is een nieuwe versie van de gelijknamige film uit 1932, het plot werd wel deels veranderd. De titelsong Rush Rush werd door Debbie Harry uitgevoerd. In oktober 2006, 23 jaar na het uitkomen van de film, verscheen er een computergame over de film met de titel: Scarface: The World Is Yours.

Verhaal

In 1980 arriveert de Cubaanse vluchteling en ex-gevangene Tony Montana in Miami, Florida, als onderdeel van de Mariel-exodus. Samen met zijn vrienden Manny Ribera, Ángel Fernández en Chi Chi wordt hij naar een vluchtelingenkamp gestuurd. De vier worden vrijgelaten en krijgen hun Green Card in ruil voor de moord op de voormalige Cubaanse generaal Emilio Rebenga, op verzoek van de plaatselijke drugsbaron Frank Lopez. Ze worden vaatwassers in een eetcafé, maar een ontevreden Tony verkondigt dat hij voor grotere dingen in de wieg is gelegd.

De rechterhand van Frank, Omar Suárez, stuurt de vier er op uit om cocaïne te kopen bij enkele Colombiaanse dealers, maar de deal loopt slecht af. Ángel wordt uiteengereten met een kettingzaag, terwijl Manny en Chi Chi Tony weten te redden en de Colombianen doden. Tony en Manny vermoeden dat Omar hen in de val heeft gelokt en staan erop de drugs en het geld persoonlijk aan Frank te bezorgen. Tijdens hun ontmoeting voelt Tony zich aangetrokken tot de vrouw van Frank, Elvira. Frank huurt Tony en Manny in. Tony herenigt zich met zijn moeder en jongere zus Gina, waar hij overbezorgd over is. Zijn moeder walgt van zijn misdaadleven en gooit hem eruit. Manny voelt zich aangetrokken tot Gina, maar Tony waarschuwt hem bij haar uit de buurt te blijven.

Frank stuurt Tony en Omar naar Cochabamba in Bolivia, voor een ontmoeting met de cocaïnekoning Alejandro Sosa. Tony onderhandelt over een deal zonder de goedkeuring van Frank, wat Omar boos maakt. Sosa beweert dat Omar een politie-informant is en dat Frank een slecht beoordelingsvermogen heeft. Tony is er getuige van hoe een in elkaar geslagen Omar uit een helikopter wordt gegooid en opgehangen. Tony staat in voor de organisatie van Frank en Sosa, die Tony aardig vindt, gaat akkoord met de deal, maar niet voordat hij Tony heeft gewaarschuwd hem nooit te verraden.

Terug in Miami is Frank woedend over het lot van Omar en de ongeautoriseerde deal die door Tony werd gesloten, terwijl Tony zijn eigen onafhankelijke cocaïne-operatie begint. In een nachtclub probeert Mel Bernstein, een corrupte rechercheur die op de loonlijst van Frank staat, geld van Tony af te persen in ruil voor politiebescherming. Tony ziet Gina flirten met een man en slaat ze allebei als hij hem haar ziet betasten. Huurmoordernaars proberen vervolgens Tony te vermoorden, die gewond geraakt maar wel weet te ontsnappen. Hij confronteert Frank en Bernstein, ervan overtuigd dat zij de aanval hebben georkestreerd. Frank bekent zijn betrokkenheid terwijl hij onder schot wordt gehouden en smeekt om zijn leven, maar hij en Bernstein worden respectievelijk gedood door Manny en Tony. Tony trouwt met Elvira en wordt de distributeur van Sosa's product, waarbij hij zijn winst gebruikt om een zakenimperium van meerdere miljoenen dollars op te bouwen en zich in een enorm, zwaar bewaakt landgoed te vestigen.

In 1983 leidt een operatie van federale agenten ertoe dat Tony wordt beschuldigd van belastingontduiking en het witwassen van geld, met een onvermijdelijke gevangenisstraf. Sosa biedt aan om zijn overheidsconnecties te gebruiken om Tony uit de gevangenis te houden, maar alleen als Tony een activist vermoordt die de drugsactiviteiten van Sosa wil ontmaskeren. Tijdens een diner in een restaurant beschuldigt Tony Manny ervan zijn arrestatie te hebben veroorzaakt en Elvira ervan een onvruchtbare junkie te zijn, waardoor ze hem verlaat.

Tony reist samen met Sosa's handlanger Alberto, beter gekend als "The Shadow", naar New York om de moord te plegen op de activist. The Shadow heeft een radiografisch bestuurbare bom onder de auto van de activist geplaatst. Wanneer de activist echter onverwachts wordt vergezeld door zijn vrouw en kinderen, probeert Tony de moord af te blazen. The Shadow weigert zich terug te trekken en Tony doodt hem voordat hij de bom kan laten ontploffen. Tony keert terug naar Miami, waar een woedende Sosa hem opbelt en hem vergelding belooft omdat hij de activist heeft laten leven. Tony spoort Gina op, op aandringen van zijn moeder en vindt haar in een huis samen met Manny. In een vlaag van woede schiet Tony Manny dood, waarna Gina in tranen aan Tony vertelt dat ze de dag ervoor getrouwd waren. Een radeloze Tony keert met Gina terug naar zijn landgoed en begint een enorme hoeveelheid cocaïne te snuiven in zijn kantoor.

Terwijl tientallen huurlingen van Sosa het landgoed beginnen binnen te dringen en alle bewakers van Tony doden, beschuldigt Gina Tony ervan dat hij haar voor zichzelf wil en schiet op hem. Een van Sosa's mannen vermoordt haar en wordt op zijn beurt vermoord door Tony. Met moordenaars voor de gesloten deur van zijn kantoor, vuurt Tony een met een granaatwerper uitgerust geweer op hen af, waarbij hij velen neermaait. Tony wordt herhaaldelijk neergeschoten door de overgebleven aanvallers, maar blijft hen uitdagen totdat hij in zijn rug dodelijk wordt geraakt door The Skull. Tony's lijk valt naar beneden in een fontein, voor een standbeeld met de inscriptie "The World is Yours".

Rolverdeling

|-
| || Antonio "Tony" Montana
|-
| || Manolo "Manny" Ribera
|-
| || Elvira Hancock
|-
| || Gina Montana
|-
| || Frank Lopez
|-
| || Omar Suárez
|-
| || Mel Bernstein
|-
| || Alejandro Sosa
|-
| || Georgina "Mama" Montana
|-
| || Chi Chi
|-
| || Nick "The Pig"
|-
| || Ernie
|-
| || Ángel Fernández
|-
| || Hector "The Toad"
|-
| || Alberto "The Shadow"
|-
| || Nacho Contreras
|}

Achtergrond
Scarface was toen hij in première ging een controversiële film, vanwege het geweld en ruwe taalgebruik. Ook waren veel Cubanen het er niet mee eens dat zij afgebeeld werden als een volk dat vooral in drugs handelt. Aanvankelijk zou de film in Miami opgenomen worden, maar men stond dit niet toe omdat men vreesde dat de film een negatief beeld van de stad zou schetsen en de toeristen daardoor weg zouden blijven. Daarnaast waren de Cubanen die in Miami woonden ook niet blij met de film. De productie werd daarom naar Los Angeles verplaatst. Veel filmrecensenten waren negatief over de film. Ondanks die negatieve recensies bracht Scarface wereldwijd 65 miljoen dollar op, en het werd een echte cultfilm. Ook belangrijk in de film is de filmmuziek van de Italiaan Giorgio Moroder. Moroder was zijn tijd vooruit met het gebruik van synthesizers.

Trivia
Ondanks dat er in de film enkel pistolen werden gebruikt met zogenaamde "blanks", patronen die enkel gevuld zijn met buskruit, verbrandde Al Pacino zich ernstig tijdens de opnamen doordat hij de loop van het pistool vasthield. De productie moest wekenlang stopgezet worden.
Scarface bevat 207 keer het woord "fuck", gemiddeld 1,22 keer per minuut.
In de scène waarin Ángel Fernández met een kettingzaag wordt gedood, wordt op de televisie de film Earthquake (uit 1974) vertoond.
Schrijver Oliver Stone baseerde de naam Tony Montana op zijn favoriete American Footballer Joe Montana.
Brian De Palma zou eigenlijk Flashdance regisseren, maar omdat het scenario van Scarface hem zo beviel, liet hij zijn kans op Flashdance te regisseren varen.
In 2003 verscheen de film opnieuw in de bioscopen. Universal Studios vroeg Brian De Palma of hij de oude muziek wilde vervangen door nieuwe hiphopmuziek, maar De Palma weigerde dat.
Steven Spielberg bracht ook een bezoek aan de filmset van Scarface. Hij regisseerde één korte opname, die waarin de Bolivianen het huis van Tony binnenstormen.
Steven Bauer is de enige acteur in de film die ook in werkelijkheid Cubaan is.
Miriam Colon, de actrice die de moeder van Tony speelt, is slechts vier jaar ouder dan Al Pacino.
Er is een bende in Nederland en België naar de film Scarface genoemd: Scarface-bende
Al Pacino heeft ooit gezegd dat hij Tony Montana een van zijn leukste rollen ooit vindt.
Regisseur Brian De Palma weigert antwoord te geven op de vraag of Al Pacino in Scarface echte cocaïne snoof.
Het woord "yeyo" wat door Tony Montana werd gebruikt voor het woord cocaïne, stond niet in het scenario, maar werd wel door Brian De Palma goedgekeurd.
Vanaf 8 september 2011 is de film op blu-raydisk verschenen, met nog nooit eerder uitgebracht materiaal. Omdat de film de originele snelheid op blu-ray heeft meegekregen van 24 beelden per seconde, ten opzichte van de PAL-dvd met 25 beelden per seconde (4% versnelling), duurt de film op blu-ray nu 170 minuten, in plaats van de originele 164 minuten op Europese dvd's.
In het videospel Grand Theft Auto: Vice City bevindt er zich een verborgen appartement in de stad met een badkamer, die besmeurd is met bloed, en waar zich een kettingzaag bevindt. Dit refereert aan de bekende scène uit deze film waarin iemand vermoord wordt met een kettingzaag. Daarnaast is de villa "Vercetti Estate" ook geïnspireerd op de film. De villa bestaat uit een grote hal met een brede trap en omloop, een zitkamer en kantoor met de tv-schermen, waarop afbeeldingen te zien zijn van het echte huis uit de film, een trappenhuis en een klein gangenstelsel onder het huis dat via een binnenzwembad naar de tuin leidt.

Film uit 1983
Amerikaanse film
Misdaadfilm
Cultfilm
Remake
Film van Brian De Palma
Film van Universal Studios

redpajama_set_name: RedPajamaWikipedia