text:
Predicting Software Flaws with Low Complexity Models based on Static Analysis Data
Lucas Kanashiro 1, Athos Ribeiro 1, David Silva 2, Paulo Meirelles 1 3 * , Antonio Terceiro 4
1 FLOSS Competence Center (CCSL), University of São Paulo (USP), São Paulo, BRAZIL
2 UnB Faculty in Gama (FGA), University of Brasília (UnB), Brasília, BRAZIL
3 Department of Health Informatics, Federal University of São Paulo (UNIFESP), São Paulo, BRAZIL
4 QA Services Team, Linaro Limited, Curitiba, BRAZIL
In-text citation: (Kanashiro et al., 2018)
Reference: Kanashiro, L., Ribeiro, A., Silva, D., Meirelles, P., & Terceiro, A. (2018). Predicting Software Flaws with Low Complexity Models based on Static Analysis Data. Journal of Information Systems Engineering and Management, 3(2), 17. https://doi.org/10.20897/jisem.201817
Reference: Kanashiro L, Ribeiro A, Silva D, Meirelles P, Terceiro A. Predicting Software Flaws with Low Complexity Models based on Static Analysis Data. J INFORM SYSTEMS ENG. 2018;3(2):17. https://doi.org/10.20897/jisem.201817
Reference: Kanashiro L, Ribeiro A, Silva D, Meirelles P, Terceiro A. Predicting Software Flaws with Low Complexity Models based on Static Analysis Data. J INFORM SYSTEMS ENG. 2018;3(2), 17. https://doi.org/10.20897/jisem.201817
Reference: Kanashiro, Lucas, Athos Ribeiro, David Silva, Paulo Meirelles, and Antonio Terceiro. "Predicting Software Flaws with Low Complexity Models based on Static Analysis Data". Journal of Information Systems Engineering and Management 2018 3 no. 2 (2018): 17. https://doi.org/10.20897/jisem.201817
Reference: Kanashiro, L., Ribeiro, A., Silva, D., Meirelles, P., and Terceiro, A. (2018). Predicting Software Flaws with Low Complexity Models based on Static Analysis Data. Journal of Information Systems Engineering and Management, 3(2), 17. https://doi.org/10.20897/jisem.201817
Reference: Kanashiro, Lucas et al. "Predicting Software Flaws with Low Complexity Models based on Static Analysis Data". Journal of Information Systems Engineering and Management, vol. 3, no. 2, 2018, 17. https://doi.org/10.20897/jisem.201817
Due to the constant evolution of technology, each day brings new programming languages, development paradigms, and ways of evaluating processes. This is no different with source code metrics, where there is always new metric classes. To use a software metric to support decisions, it is necessary to understand how to perform the metric collection, calculation, interpretation, and analysis. The tasks of collecting and calculating source code metrics are most often automated, but how should we monitor them during the software development cycle? Our research aims to assist the software engineer to monitor metrics of vulnerability threats present in the source code through a reference prediction model, considering that real world software have non-functional security requirements, which implies the need to know how to monitor these requirements during the software development cycle. As a first result, this paper presents an empirical study on the evolution of the Linux project. Based on static analysis data, we propose low complexity models to study flaws in the Linux source code. About 391 versions of the project were analyzed by mining the official Linux repository using an approach that can be reproduced to perform similar studies. Our results show that it is possible to predict the number of warnings triggered by a static analyzer for a given software project revision as long as the software is continuously monitored.
source code static analysis source code metrics common weakness enumeration prediction linux
Source code static analysis is a good means to provide inputs to support software quality assurance. For instance, these inputs may be software structural attributes such as object-oriented metrics as presented by Chidamber and Kemerer (2002). Attributes related to the possible behaviors of the software at execution time (Ernst, 2005), which includes analyses of behaviors that may lead to security issues, could also serve as input provided for quality assurance (Ferzund et al., 2009; Misra and Bhavsar, 2003; Nagappan et al., 2006).
From the source code static analysis point of view, a vulnerability is the result of one or more flaws in software requirements, design, implementation, or deployment (Black et al., 2007). Vulnerability correction can be very expensive in later stages of a software development cycle, hence the importance of finding and correcting flaws in early stages, before they expose actual vulnerabilities.
Although no standard to define software flaws is widely accepted, some organizations define and classify them. The most accepted form is the one defined by MITRE, where software common flaws are cataloged as CWEs1 (Common Weakness Enumeration). This catalog establishes a unique language to describe known software flaws, like divisions by zero and buffer overflows.
There are several static analyzers that can detect flaws (Black, 2001). With the support of such tools, this work presents a method to define low complexity models for the amount of flaws found in a software through a case study of two different types of common weaknesses detected in Linux: Use of Uninitialized Variable and NULL pointer Dereference. Thus, we have obtained low complexity polynomial functions to describe the number of these flaws present in Linux over time.
To show our ideas and results in this context, the remainder of this paper is organized as follows: the next section describes several related works investigated in this research. The third section shows the research design, discussing our research question as well as presenting the data collection and analysis approach. The fourth section presents the candidate low complexity models to predict flaws in Linux. The fifth section discusses the results, selecting and applying the candidate low complexity models. The last section concludes the paper, highlighting its main contributions and pointing to possibilities for future work.
Evans and Larochelle (2002) states that although security vulnerabilities are well understood, it is not a common practice to include techniques to detect or avoid them in the development processes and suggests that instead of solely relying on programmers, tools to prevent and detect software vulnerabilities should be built and integrated in software development cycles. It is also known that static analysis helps programmers detect software vulnerabilities before they reach production (Evans and Larochelle, 2002) in a cheaper way than solely conducting manual inspections (Johnson et al., 2013), thus the interest in static analyzers.
Zheng et al. (2006) analyzed the effectiveness of security oriented static analyzers using tests and the number of failures reported by customers as parameters. They concluded that static analyzers are effective tools to find flaws in source code. However, a solution on how to monitor such flaws is not presented. Our research aims to find solutions for this issue.
Pan et al. (2006) proposes a method to predict if a file or function in a given project is buggy or bug-free based on the correlation between code quality metrics, like size, complexity and coupling, and software bugs. The authors used static analyzers to extract data from 76 revisions of Latex2rtf and 887 revisions of Apache HTTP so they could use the 10-fold cross-validation method with a machine learning algorithm to perform their predictions. The prediction precision was over 80% for files and over 70% for functions. The authors declared that the costs to run the static analysis to generate the method inputs were too high for large projects. In this paper we are testing low cost functions to predict some flaws, but running the analyses is still needed.
In another work, Penta et al. (2008) performed an analysis of the evolution of vulnerabilities detected by static analyzers in three different Free Software applications: Samba, Squid, and Horde. The authors analyzed how the number of vulnerabilities varies over time. Since they analyzed different development versions (not only releases), they could analyze aspects of the development process, like bug fixing efforts right before a release. The focus of this work was to understand how long vulnerabilities tend to remain in the system by modeling the vulnerabilities decay time with a statistical distribution and comparing the decay time of different classes of vulnerabilities. Our research is based on the hypothesis that to effectively take action on such bug fixing effort predictions, monitoring the number of flaws or the flaws decay time should be done continuously, during the software development cycle. This work is a first step towards such automation. First, we present a model to predict the number of flaws present in a specific version of the Linux kernel. Then, we show that such model must be continuously updated to be effective, i.e., the greater the difference between the last version used to train the model and the version used for the predictions, the less effective are the predictions made.
To guide the development of a reproducible method to define low complexity functions that enable the longitudinal study of software flaws, we addressed the following research question:
Q1 – Is it possible to define low complexity models to predict flaws in the Linux source code?
With low complexity functions, we are able to automate the continuous monitoring of flaws in a simple way, without the need to build complex models, which would be expensive to maintain. If we can easily infer the number of flaws predicted in a software as well, improvements in the software development cycle based on it become possible.
We could, for example, make better decisions on when to increase the efforts to fix bugs or refactor code.
Although it is common to refer to the whole operating system as Linux, the name refers to the kernel. Its development has been active for over 20 years and it is written in the C programming language. The Linux source code showed itself adequate for this study due to its size and the fact that it is widely used around the world, which led us to believe there is a higher likelihood of finding flaws in it. A total of 391 versions of the kernel were analyzed. These version were downloaded from the project's official Git repositories2. By the time of our first analyses, the versions between 2.6.11 and 3.9 were available. After that, we have tested the candidate models in three recent kernel versions: 4.0, 4.5, and 4.9.
The static analyzer selected was Cppcheck. According to the description in its homepage3, it aims to be a sound (Black, 2001) static analyzer, since its main goal is to find real bugs in the source code, not generating false positives. The main characteristic of sound static analyzers is the low rate of false positives. The Cppcheck output is composed of a location (source code line) and a message, describing a problem (warning or error). We ran Cppcheck 1.67 in each version of Linux and the corresponding output files for each of the analyzed versions are publicly available at github.com/lucaskanashiro/linux-analysis.
The risk of Linux versions with more modules to stand out compared to other versions was identified upon analyzing the absolute number of flaws found. Thus, the number of flaws was normalized based on the number of modules in each version, resulting in the flaw rate per module that is our dependent variable. To analyze the influence of the project growth, we used the total number of modules as our independent variable. In this context, a kernel module is one C programming language source code file (header files are not counted for this matter).
Since there are several known flaws, we have conducted a previous study with 10 popular Free Software projects4 from different domains to find the most recurrent flaws and select them to perform the analyses for this work. Since this paper proposes to find one model per flaw analyzed, we selected the two most frequent flaws found in those projects: NULL pointer dereference and use of uninitialized variable. Both are cataloged by MITRE and as Common Weakness Enumerations, the former as CWE476 and the latter as CWE457.
As we can see in Figures 1 and 2, in the course of Linux evolution, the total number of flaws dereferences does not always increase. It increases until a certain point and then there is a tendency towards stabilization, which is, most likely, the result of the Linux development process evolution. To understand the behavior of the data we performed some analyses, such as correlation matrix between the flaws and the number of modules, using the Pearson correlation coefficient (Rossman, 1996).
Figure 1. CWE 476 dereferences evolution
Also, to confirm that the data can not be represented by a linear function, we used the 4-plot technique developed by NIST5. This technique facilitates the understanding of the data distribution and its randomness. For this study, identifying these characteristics was necessary to obtain information for the definition of a model which satisfies the studied data set, or that could, at least, eliminate unwanted options. For Linux, the data does not follow a normal distribution, but a long-tailed distribution, so that it is not constant and varies widely, as we can see in Figures 3 and 4. Both analyses showed that the flaw rates were not strongly correlated and they did not fit a normal distribution, which corroborates with the fact that exponential and weibull distributions can model the behavior of defect occurrence in a wide range of software (Penta, 2002; Jones, 1991; Li et al., 2004; Wood, 1996). With this in mind we discarded the possibility of using a linear model.
Figure 3. 4-Plot for CWE 476 – Number of NULL pointer
Figure 4. 4-Plot for CWE 457 – Use of uninitialized variable
Since our proposal is based on low complexity models and linear functions do not fit the data set, we investigated polynomial models. Initially, an identification of outliers (Hawkins, 1980) work was done for the definition of the polynomial models through a technique presented by Tukey (1977), using a box plot. The outliers found were removed to improve the candidate model accuracy. After that, parametric and non-parametric models were built. The non-parametric model is a black box method from which it is not possible to obtain a mathematical function. In this study, it is used as a base for the definition of a parametric model. As a result, we have a function that receives the total number of modules in the project as input and returns the flaw rate as output.
We also have used the Locally Weighted Regression (LOESS) non-parametric method to provide a smooth surface using a non-parametric regression (Cleveland and Devlin, 1988). In short, the LOESS method applies several minor regressions to the data set as well as it can guide the definition of a possible parametric model. Therefore, we have applied polynomial regressions to obtain the parametric models definition for this study.Posteriorly, to validate the obtained models, we used the K-Fold cross-validation technique, which consists in dividing the data set in K groups, where one of these groups is used to test the model and the other groups are used to train the model (Picard and Cook, 1984). With this kind of cross-validation, we can test the model with values from different versions of the kernel, obtaining the model prediction error. We use the mean squared error, which guarantees the model reliability, given that this error has a low value. After the validation, the model errors were compared and we could chose the best model, getting to low complexity (polynomial) functions capable of predicting the Linux source code flaw rates proposed in this paper.
Finally, we have tested the candidate models collecting new data from recent Linux versions (such as 4.0, 4.5, and 4.9) and comparing them to the predicted values from our low complexity polynomial functions
LOW COMPLEXITY MODELS DEFINITION
To achieve a lower error, we could use a polynomial function with a higher degree. However, to build a suitable model, we need to avoid overfitting, the extreme adjustment of the model to our data set, which would disturb the extrapolation for future inputs. Our approach based on a non-parametric model as reference helps avoiding a possible overfitting of the built model, providing a more flexible model.
For the models definition, we identified and removed the outliers in the data set, defined the non-parametric model with the LOESS method and, finally, defined two parametric models through polynomial regression: one quadratic polynomial and one cubic polynomial. In Figures 5 and 6, we present the "real" flaw rate values and flaws evolution curves ("cubic", "quadratic" and "LOESS") in the built models.
Figure 5. CWE 476 data models prediction curve
Figure 5 shows that the built cubic model is the one with the best approximation for the reference model curve (LOESS model). It is especially good for data extrapolation on data sets higher or lower than the data interval used in this study. On the edges, the cubic model has a better approximation from the reference model, while the quadratic model tends to diverge from it. Still, although all the models presented in Figure 6 have a good approximation for the reference model curve, the cubic model fits the reference model better than the quadratic one, both in the minimum and maximum limits.
Finally, to compare the models, we performed a cross-validation with the K-fold method to analyze the performance of both models in a data set that was not used for training those models. In short, we used a ten-fold cross-validation (K = 10) for this study, which means dividing the sample in ten groups for training and testing (Kohavi, 1995). Table 1 presents the mean squared error (MSE), associated to each of the models obtained through the cross-validation. For instance, the MSE measures the quality of a prediction model, so its values closer to zero are better, and they always are non-negatives. Therefore, the low error (MSE < 0.000001), obtained from the presented functions, guarantees the models reliability.
Table 1. Error Obtained Through cross-validation
Model CWE Mean squared error
Quadratic 476 0.000000958
Cubic 476 0.000000862
For both CWEs, the cubic model stood out. The error associated with the quadratic model for CWE476 was approximately 11.14% higher than the cubic model in "real" analysis situations, while the error associated with the quadratic model for CWE457 was approximately 22.32% higher than the cubic model6. Therefore, in both cases, the cubic models are better for predicting the Linux flaw rate evolution, since they show a better approximation from the reference models when it comes to the extrapolation of the analyzed data boundaries.
For each CWE studied, two models were defined and one was selected. Thus, it is possible to use low complexity functions, with low error, to define a model to predict flaws in Linux, answering our research question. This is feasible when we can obtain a meaningful data set, as it was the case for Linux, where we used 391 different versions of the project. In short, comparing and selecting the models for each CWE, we have Equations 1 and 2 representing the selected cubic models:
tax_CWE476(modules) = (1.911224 ∗ 10 -15) ∗ modules 3
− (1.72028 ∗ 10 -19) ∗ modules 2
+ (4.857479 ∗ 10 -6) ∗ modules
− (0.03460173)
tax_CWE457(modules) = (−6.466983 ∗ 10 -16) ∗ modules 3
+ (5.603787 ∗ 10 -11) ∗ modules 2
− (1.639652 ∗ 10 -16) ∗ modules
+ (0.02287291)
It can be verified that the coefficients of the equations 1 and 2 are low values, since the flaw rates are also low. It is uncommon to find buggy functions in Linux (Ferreira et al., 2016). So, when this already low value is divided by the number of modules, which tends to increase over time, we get very low values for the flaw rates.
Table 2 presents the defined models with the flaw rates in some known points, as first collected version (2.6.11), last analyzed version (3.9), the version with the higher flaw rates (2.6.39 for CWE476 and 3.16 for CWE457), as well as, recent Linux versions for prediction points (4.0, 4.5, and 4.9).
Table 2. Some flaw rates and predictions
Version tax_CWE476 tax CWE457 Modules
linux-v2.6.11 0.005735325 0.008992424 14123
linux-v2.6.39 0.008927095 - 30245
linux-v3.16-rc3 - 0.006577706 37095
linux-v3.9-rc8 0.006460368 0.005663884 33899
linux-v4.0.0 0.006435337 0.006036167 37793
In the one hand, the flaw rate for CWE476 (NULL pointer dereference) peaked in version 2.6.39 and then started to decrease, but as soon as the number of modules starts to increase, it tends to increase, reaching a new peak and finally starting to decrease again. In the other hand, the flaw rate for CWE457 (Uninitialized variables) tends to decrease, as shown in Table 2. We can observe that the flaws always oscillate with a few peaks, but the values tend to decrease. The values for CWE476 emphasize that fact, since the flaw rate on the second peak is lower than the previous one.
After aplying the models to kernel versions later than 3.9, we compared the real flaw rate values and the values estimated by our model. We obtained the real values by dividing the number of occurrences of CWE476 and CWE457 by the number of modules of the respective kernel versions. The real values are shown in Tables 3 and 4.
Table 3. Comparison between model and real value CWE 476
Version model_tax_CWE476 real_ tax_CWE476
linux-v4.0 0.006435337 0.006085783
By analyzing the real values and the values proposed by the models for Linux versions greater than 3.9, we can see that the further the latest version used to train the model is from the version analyzed, the greater the error on its predictions. This leads to the need of updating the model for a certain interval of new Linux releases, making it possible to reduce the error, improving the precision of the statistical model predictions. An interesting means to achieve such updates is by performing continuous static analysis on software repositories (the kernel repository in this specific context) and automate the model updating tasks. In the next Section we discuss our final remarks and our plans for future work, including the development of a platform to perform continuous static analysis on software repositories and make the analyses available.
FINAL REMARKS
By identifying frequent flaws in source code, such as NULL pointer dereferences and uses of uninitialized variables (CWE476 and CWE457, respectively), a series of exploratory analyses were carried out and we defined low complexity models to predict the mentioned flaws. We observed, from Cppcheck reports, that source code flaws are not easily detected in Linux, which gave us a small number of flaws per module in the performed analysis.
To test the defined models, we also analyzed Linux versions that were more recent than the ones analyzed to define the selected functions, using the presented models to predict the flaw rates, and comparing the obtained values with the results of static analysis. The results showed that it is possible to predict the number of flaws triggered by the static analyzer for a given version of the kernel, as long as the revisions used for training the model are not distant from the version we want to generate predictions for. It is important to say that this may not be true for other software, since it depends on how much is changed between versions. But the opposite also holds: the model may work better for software with smaller deltas between versions and this should be investigated in future work.
In this study, we did not consider the possibility of the used static analyzer to report false alarms (Landi, 1992) (false positives), increasing the flaw rate of this work with fake data (not real flaws), or false negatives, omitting flaws from our research, which would decrease our flaw rates. Even with this limitation, since the used sample is large, statistically, the proposed models are valid. They could also be applied with other sources for the flaws, like manually mining repositories for bug fixes or searching mailing lists for confirmed bug reports, cases where most flaws, if not all of them, are positives. We did not follow this approach because we intend to scale this research using an automated approach.
In our analysis, we could observe that the presented rates of flaws per module have peaks during the evolution of Linux's source code, that represent phases of source code's growth, where flaws were added, and refactoring phases, where flaws were fixed. Thus, a next step for this research would be applying the analysis of other factors that influence the variation of source code flaws, such as the number of developers who are working with quality assurance. This would make it possible to define multivariate models to aid software engineers on making decisions around the software development cycle.Moreover, from the defined low complexity models analyses, we want to identify some aspects of the development process as a next step, besides studying the flaws history in the course of different releases. For instance, the models could be used to analyze the development cycle in specific moments, such as new features development (increase in number of flaws) and moments of stabilization, refactoring, and bug fixing (decrease in number of flaws) through Linux development. The reason to build less complex models is the fact that they will require less effort to perform future analysis. In the future, we want to automate all these analyses and perform continuous monitoring of flaws in source code.
In fact, our next step involves developing a platform to perform static analysis on different software repositories with different static analyzers. This will provide the data needed to perform studies like the present research and take decisions to improve the software development cycle and the software quality itself. We also intend to open the collected data, which might be useful for other researchers and software developers.
National Council for the Improvement of Higher Education (CAPES) for supporting Lucas Kanashiro and Athos Ribeiro during the production of this paper. Also, Fabio Kon (University of São Paulo) for reviewing and providing important feedback on this paper.
cwe.mitre.org↩
git.kernel.org↩
cppcheck.sourceforge.net↩
Bash, Blender, FFmpeg, Firefox, Gstreamer, Inetutils, OpenSSH, OpenSSL, Python2.7, and Ruby-2.1↩
itl.nist.gov/div898/handbook/eda/section3/eda3332.htm↩
These numbers can be verified by comparing the values in Table I, dividing the quadratic error values by the cubic ones↩
Black, P. E. (2001). Static analyzers in software engineering.
Black, P. E., Kass, M. and Koo, M. (2007). Source code security analysis tool functional specification version 1.0. In Special Publication (NIST SP) 500-268, NIST, pp. 5. https://doi.org/10.6028/NIST.SP.500-268
Chidamber, S. and Kemerer, C. (2002). A metrics suite for object oriented design. MIT, Cambridge, MA, USA.
Cleveland, W. S. and Devlin, S. J. (1988). Locally weighted regression: An approach to regression analysis by local fittting.
Ernst, M. D. (2005). Static and dynamic analysis: synergy and duality.
Evans, D. and Larochelle, D. (2002). Improving security using extensible lightweight static analysis. IEEE Software, 19(1), 42–51. https://doi.org/10.1109/52.976940
Ferreira, G., Malik, M. M., Kästner, C., Pfeffer, J. and Apel, S. (2016). Do #ifdefs influence the occurrence of vulnerabilities? An empirical study of the linux kernel. CoRR, vol. abs/1605.07032. [Online]. Available at: http://arxiv.org/abs/1605.07032. https://doi.org/10.1145/2934466.2934467
Ferzund, J., Ahsan, S. and Wotawa, F. (2009). Empirical evaluation of hunk metrics as bug predictors.
Hawkins, D. M. (1980). Identification of outliers. Londres, Chapman and Hall. https://doi.org/10.1007/978-94-015-3994-4
Johnson, B., Song, Y., Murphy-Hill, E. and Bowdidge, R. (2013). Why don't software developers use static analysis tools to find bugs?. In 2013 35th International Conference on Software Engineering (ICSE), pp. 672–681. https://doi.org/10.1109/ICSE.2013.6606613
Jones, W. D. (1991). Reliability models for very large software systems in industry. In Software Reliability Engineering, International Symposium on. IEEE, pp. 35–42. https://doi.org/10.1109/ISSRE.1991.145351
Kohavi, R. (1995). A study of cross-validation and bootstrap for accuracy estimation and model selection.
Landi, W. (1992). Undecidability of static analysis. ACM Letters on Programming Languages and Systems (LOPLAS), 1(4), 323–337. https://doi.org/10.1145/161494.161501
Li, P. L., Shaw, M., Herbsleb, J., Ray, B. and Santhanam, P. (2004). Empirical evaluation of defect projection models for widely-deployed production software systems. ACM SIGSOFT Software Engineering Notes, 29(6), 263–272. https://doi.org/10.1145/1041685.1029930
Misra, S. and Bhavsar, V. (2003). Relationships between selected software measures and latent bug-density: Guidelines for improving quality.
Nagappan, N., Ball, T. and Zeller, A. (2006). Mining metrics to predict component failures.
Pan, K., Kim, S. and E. J. W. Jr. (2006). Bug Classification Using Program Slicing Metrics. In 2006 Sixth IEEE International Workshop on Source Code Analysis and Manipulation, pp. 31–42. https://doi.org/10.1109/SCAM.2006.6
Penta, M. D., Cerulo, L. and Aversano, L. (2008). The Evolution and Decay of Statically Detected Source Code Vulnerabilities. In 2008 Eighth IEEE International Working Conference on Source Code Analysis and Manipulation, pp. 101–110. https://doi.org/10.1109/SCAM.2008.20
Picard, R. R. and Cook, R. D. (1984). Cross-validation of regression models. Journal of the American Statistical Association, 79(387), 575–583, 1984. https://doi.org/10.1080/01621459.1984.10478083
Rossman, A. J. (1996). Workshop statistics: Discovery with data.
Tukey, J. W. (1977). Exploratory data analysis.
Wood, A. (1996). Predicting software reliability. Computer, 29(11), 69–77. https://doi.org/10.1109/2.544240
Zheng, J., Williams, L., Nagappan, N., Snipes, W., Hudepohl, J. P. and Vouk, M. (2006). On the value of static analysis for fault detection in software.


text:
"""
=========================================================================
Decoding sensor space data with generalization across time and conditions
=========================================================================

This example runs the analysis described in [1]_. It illustrates how one can
fit a linear classifier to identify a discriminatory topography at a given time
instant and subsequently assess whether this linear model can accurately
predict all of the time samples of a second set of conditions.

References
----------

.. [1] King & Dehaene (2014) 'Characterizing the dynamics of mental
       representations: the Temporal Generalization method', Trends In
       Cognitive Sciences, 18(4), 203-210. doi: 10.1016/j.tics.2014.01.002.
"""
# Authors: Jean-Remi King <jeanremi.king@gmail.com>
#          Alexandre Gramfort <alexandre.gramfort@inria.fr>
#          Denis Engemann <denis.engemann@gmail.com>
#
# License: BSD (3-clause)

import matplotlib.pyplot as plt

from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression

import mne
from mne.datasets import sample
from mne.decoding import GeneralizingEstimator

print(__doc__)

# Preprocess data
data_path = sample.data_path()
# Load and filter data, set up epochs
raw_fname = data_path + '/MEG/sample/sample_audvis_filt-0-40_raw.fif'
events_fname = data_path + '/MEG/sample/sample_audvis_filt-0-40_raw-eve.fif'
raw = mne.io.read_raw_fif(raw_fname, preload=True)
picks = mne.pick_types(raw.info, meg=True, exclude='bads')  # Pick MEG channels
raw.filter(1., 30., fir_design='firwin')  # Band pass filtering signals
events = mne.read_events(events_fname)
event_id = {'Auditory/Left': 1, 'Auditory/Right': 2,
            'Visual/Left': 3, 'Visual/Right': 4}
tmin = -0.050
tmax = 0.400
decim = 2  # decimate to make the example faster to run
epochs = mne.Epochs(raw, events, event_id=event_id, tmin=tmin, tmax=tmax,
                    proj=True, picks=picks, baseline=None, preload=True,
                    reject=dict(mag=5e-12), decim=decim)

###############################################################################
# We will train the classifier on all left visual vs auditory trials
# and test on all right visual vs auditory trials.
clf = make_pipeline(StandardScaler(), LogisticRegression(solver='lbfgs'))
time_gen = GeneralizingEstimator(clf, scoring='roc_auc', n_jobs=1,
                                 verbose=True)

# Fit classifiers on the epochs where the stimulus was presented to the left.
# Note that the experimental condition y indicates auditory or visual
time_gen.fit(X=epochs['Left'].get_data(),
             y=epochs['Left'].events[:, 2] > 2)

###############################################################################
# Score on the epochs where the stimulus was presented to the right.
scores = time_gen.score(X=epochs['Right'].get_data(),
                        y=epochs['Right'].events[:, 2] > 2)

###############################################################################
# Plot
fig, ax = plt.subplots(1)
im = ax.matshow(scores, vmin=0, vmax=1., cmap='RdBu_r', origin='lower',
                extent=epochs.times[[0, -1, 0, -1]])
ax.axhline(0., color='k')
ax.axvline(0., color='k')
ax.xaxis.set_ticks_position('bottom')
ax.set_xlabel('Testing Time (s)')
ax.set_ylabel('Training Time (s)')
ax.set_title('Generalization across time and condition')
plt.colorbar(im, ax=ax)
plt.show()

redpajama_set_name: RedPajamaGithub


text:
Director : Byron Howard, Rich Moore
Cast : Ginnifer Goodwin, Jason Bateman, Idris Elba, J.K. Simmons, Jenny Slate, J.K. Simmons, Octavia Spencer, Bonnie Hunt, Don Lake, Alan Tudyk
Run Time : 109 mins
Opens : 25 February 2016
Rating : PG
Cat Stevens told us "baby, baby it's a wild world", and the makers of this animated film have taken this to heart. In a world populated entirely by a variety of anthropomorphic mammals, Judy Hopps (Goodwin) is a principled, spirited young rabbit from Bunnyburrow. She has her heart set on becoming a police officer, even though her parents (Hunt and Lake) would prefer her to become a carrot farmer like them. Hopps gets inducted into the Zootopia Police Department, but Chief Bogo (Elba) has little faith in her abilities. While on the case of a missing otter, Judy crosses paths with Nick Wilde (Bateman), a red fox con artist. They have to overcome their natural animosity to work together in solving a spate of mysterious disappearances, as societal tensions between "prey" and "predators" bubble over.
Zootopia's marketing campaign seemed to indicate a film that might be too cutesy for some audiences' tastes, appearing like it would serve up an endless parade of anthropomorphic animals performing adorable, amusing antics. To this reviewer's surprise, Zootopia ends up far deeper than it initially appears, gamely and sensitively tackling the themes of prejudice and tolerance in the context of an animated family film. Directors Howard, Moore and Bush tread very fragile ground and ensure that Zootopia doesn't come off as preachy or painfully on-the-nose in delivering its message to impressionable kids. At the same time, there's plenty of wit and visual invention on display and the liveliness of the presentation helps ease the audience into the surprisingly mature allegory at the heart of the film.
Walt Disney Animation's entirely computer-animated films got off to a rocky start with Chicken Little and Meet the Robinsons, the studio still firmly stuck in Pixar's looming shadow. With the likes of Wreck-It Ralph, Frozen and Big Hero 6, suffice it to say that things have improved. The army of animators involved in breathing life into Zootopia have done a marvellous job, with impeccable fur textures and environmental effects in every frame. The characters are expressive, with just the right blend of human and animal traits combined to sell the anthropomorphism. There is a thoroughness to the way the world has been conceived, with a distinct animism to the architecture and plenty of clever visual gags emphasizing how animals of drastically different scales and sizes co-exist in the same milieu. With the pop culture allusions that include winks at The Godfather and Breaking Bad for the parents in tow, there's a degree of Dreamworks-ness at work here, but it's not necessarily a bad thing.
This is essentially a buddy cop movie, of the "one's a cop and one's not a cop" subset. It sticks very closely to established tropes: our hero is a kind-hearted but tough straight arrow, her foil is a charming rogue lacking in scruples, the police chief is unconvinced that the rookie has what it takes, colourful characters including organised crime elements show up and there's a mystery to unravel. Even though Zootopia is comprised of familiar story components, the setting does lend it a freshness.
Goodwin, who has a connection to Disney in the form of starring as Snow White in the TV show Once Upon a Time, gives Judy an eagerness that never crosses over into being annoying. She's literally wide-eyed and bushy-tailed. Bateman is a dab hand at the smooth talker shtick, but there's more to Nick than his conman façade and Bateman and Goodwin deliver some moving emotional beats. Elba's unmistakable baritone is always a joy to listen to, and this year, we'll also get to hear his voice work in The Jungle Book and Finding Dory.
Veteran voice actor Maurice LaMarche turns in a side-splitting Marlon Brando impression as Mr. Big, the arctic shrew mafia don. This reviewer was worried that Shakira's presence as the pop star Gazelle would be too gimmicky, but the character is used judiciously and her main appearance is in a musical number during the end credits. Some big laughs come courtesy of Raymond S. Persi, who voices the sloth Flash. Kristen Bell has a vocal cameo as Flash's colleague Priscilla, a fun inside joke seeing as Bell is famously, endearingly obsessed with sloths.
There's certainly more than meets the eye with Zootopia. While it's perfectly enjoyable on the level of an animated adventure comedy with the jokes flying at a steady pace, it also eloquently and thoughtfully comments upon issues of race and diversity, without feeling like it's merely hopping on some kind of social justice bandwagon. The self-aware comedy sometimes veers into Shrek territory, but pop culture references only account for a portion of the humour. While not on the same level as last year's Inside Out, Zootopia does a commendable job of packaging challenging themes for younger audiences without being condescending or tripping up over itself.
Summary: Entertaining, funny, visually engaging and thought-provoking, Zootopia is so much more than silly talking animals.
RATING: 4 out of 5 Stars
Posted by Jedd the Jedi at 12:26 AM
Labels: Alan Tudyk, animated film, Bonnie Hunt, Byron Howard, Disney, Don Lake, Ginnifer Goodwin, Idris Elba, J.K. Simmons, Jason Bateman, Jenny Slate, Octavia Spencer, Rich Moore, Zootopia
The 88th Academy Awards: It's a Mad Mad Mad Mad Year
The Monkey King 2 (西游记之孙悟空三打白骨精)
Dirty Grandpa
The Dressmaker

redpajama_set_name: RedPajamaCommonCrawl


In a news item more snappy than Beckham's achillies, dear Melted Felt Readers, we bring you news that you will soon be able to play at Pokerstars 24 hours a day, 7 days a week all year-round and even on, erm, Tuesdays - with a prototype space-age helmet which actually allows you to play poker while asleep.
This new technology, designed to keep you generating rake all fvcking night long as well as all day currently supports up to 16 cash game tables - and relies heavily on the fact that most players know they should 'vary their betting patterns' but always decide to do it next time. Since beating the fish is now such a mathematically precise formula that you could do it in your sleep Pokerstars will be enabling you to do just that by sampling your theta-waves after each bad-beat and randomly assigning a cutting remark.
What is more the delux version of the Sleep-Poker helmet comes with a feature which posts hand histories in which you played perfectly but suffered a bad beat onto popular forums, randomly posing questions such as 'How Would You Play This Turn?' or 'Could I have gotten away on the river?'.
PS: We would like to thank friend of Melted Felt Lutz for his valued feedback, especially when it comes *cough* pointing out the errors of our ways when it comes to the German *cough* ladies (see post from a weekish ago)... you can see Lutz's site here Online Pokerräume (in German!)... if you would like to correct our assumption that the ladies from your country are hairy, green and / or bovine then drop us a comment!
Great post, enjoyed reading it while I was snorting 2 lines of coke, drinking mags of coffee and playing against 44 donkies on Full-Tilt.


text:
Asian markets, euro rally after Greece vote
Asian markets surged on Monday, June 18, and the euro rose after Greek pro-austerity parties won enough votes to form a government, but optimism it will stay in the eurozone was tempered with warnings that the future remains uncertain
HONG KONG (UPDATED) – Asian markets surged Monday, June 18, and the euro rose after pro-austerity parties came out on top in Greek elections, easing but not ending concerns over whether the country will stay in the single currency.
The results were also welcomed by the governments of Japan and China — two of Europe's biggest creditors — which called for leaders in Greece to act quickly to form a cabinet.
Tokyo stocks jumped 1.77%, or 151.70 points, to 8,721.02, Sydney was 1.96% higher, or 79.6 points, at 4,136.9, while Seoul climbed 1.81%, ending up 33.55 points at 1,891.71.
Hong Kong rose 1.01%, or 193.87 points, to 19,427.81 and Shanghai closed up 0.40%, or 9.20 points, at 2,316.05.
Dealers cheered Sunday's result, which saw the New Democracy party win about 30% of the vote, just ahead of the radical Syriza group which had campaigned on the promise of tearing up an EU-IMF bailout agreement.
New Democracy did not win outright but Greece's electoral system gives it an extra 50 seats in the 300-member parliament for coming first, so that it should be able to form a coalition with the left-leaning, pro-austerity Pasok party.
The news boosted the single currency in Asian trade, which surged to morning highs of $1.2727 and 100.86 yen before falling to sit at $1.2614 and 100.11 yen.
It sat at $1.2644 and 99.47 yen in New York trade late Friday.
In Europe, after an opening rally, stock markets petered out. In late morning trade, London's FTSE 100 index of leading companies fell 0.07% to 5,472.27 points, Frankfurt's DAX 30 gained 0.72% to 6,274.01 points.
In Paris the CAC 40 climbed 0.20% to 3,094.47, while Madrid's IBEX 35 was down 1.16%, awaiting details of Spain's 100-billion-euro bank bailout.
The election in Greece was the second in 6 weeks after May 6 polls failed to produce a government, stoking fears that the political stalemate would paralyse efforts to bring the country back from the brink.
The vote essentially became a referendum on the country's membership of the eurozone, with European leaders warning that a win for Syriza would probably see Athens renege on its debt commitments and ultimately exit the bloc.
Japan welcomed the result but called on Europe to "urgently" strengthen its financial sector and pressed Greece to swiftly form a new government.
"We will be paying close attention to upcoming negotiations to form a coalition," Chief Cabinet Secretary Osamu Fujimura, the government's top spokesman, told reporters in Tokyo.
"Our country hopes that a stable government will be launched early and make progress towards stabilizing markets," he added.
China echoed those sentiments, with the official Xinhua news agency saying in a commentary: "The Greek parties must work together to form a new government quickly and convince the Greek voters of the need for painful austerity."
But analysts warned Sunday's developments would not vanquish concerns about the embattled eurozone or Greece's economic future.
Yoshikiyo Shimamine, economist at Dai-ichi Life Research Institute in Tokyo, said the election result meant Greece had just "returned where it was before".
"They are back to the difficult path they had been taking before. I pay respects to the Greek people who chose this road, but it will be a painful, tough road," he told AFP.
"We now have no worries that Greece will leave the euro or declare default suddenly."
Kenichi Hirano, operating officer at Tachibana Securities, told Dow Jones Newswires that the election results were "a net buy incentive for stocks" but added that "Greece's problems are far from over".
Paul Mackel, head of Asian currency research at HSBC in Hong Kong, said: "There is still some room for disappointment to come in. This is a small bright spot and it could fade briefly."
Athens has been forced to seek bailouts twice in recent years totaling about 347 billion euros ($442 billion), and European leaders have warned Greece it must respect its international commitments or risk leaving the euro club.
The International Monetary Fund indicated it will set about a renegotiation of Greece's 130-billion-euro bailout program.
"We take note of the election results in Greece and stand ready to engage with the new government on the way forward to help Greece achieve its objective of restoring financial stability, economic growth and jobs," it said.
Attention was shifting to the G20 meeting in Mexico over the next two days, where Europe's debt crisis will be discussed ahead of a summit of European leaders next week.
Dealers were also looking to a US Federal Reserve policy meeting this week amid hopes it will announce fresh monetary easing to kickstart the US economy, while details were to be released on Spain's 100-billion-euro bank bailout.
Oil was mixed, with New York's main contract, light sweet crude for July delivery down three cents to $84.00 a barrel and Brent North Sea crude for August delivery rising 16 cents to $97.77.
Gold was worth $1,621.62 an ounce at 1040 GMT, compared with $1,625.50 late Friday.
In other markets:
Taipei rose 1.76%, or 125.67 points, to 7,281.50.
Taiwan Semiconductor Manufacturing Co surged 3.46% to Tw$80.8 while Hon Hai Precision ended up 2.37% higher at Tw$86.5.
Wellington closed 0.25%, or 8.60 points, higher at 3,455.68.
Telecom Corp gained 0.86% to NZ$2.49, Fletcher Building was up 0.16% at NZ$6.30 and Chorus was down 0.32% at NZ$3.10.
Manila rose 2.43%, or 119.78 points, to 5,050.41.
Philippine Long Distance Telephone Co. gained 0.68% to P2,376 while Universal Robina Corp. gained 4.27% to P61.
Singapore closed 0.47% or 13.22 points higher at 2.824.22.
Singapore Airlines fell 0.68% to Sg$10.22 and DBS Group Holdings eased 0.07% to Sg$13.51.
Kuala Lumpur ended 3.50 points higher, or 0.22%, at 1,582.73.
British American Tobacco added 5.1% to 54.92 ringgit, while UEM Land Holdings rose 3.1% to 2.01.
Jakarta rose 42.05 points, or 1.1%, closing at 3,860.16.
Car maker Astra rose 2.3% to 6,750 rupiah, consumer goods producer Unilever jumped 6% to 23,800 rupiah, while Telkom fell 5.1% to 7,500 rupiah.
Bangkok edged down 0.20% or 2.32 points to 1,163.41.
PTT lost 0.60% to 331.00 baht, while Banpu fell 0.85% to 464.00 baht.
Mumbai fell 1.44%, or 244.00 points, to 16,705.83.
– Agence France-Presse


text:
Jessica Szohr Opens Up About Ex Ed Westwick's Rape Allegations
'I hope that it's untrue.'
by Anna Lewis | Nov 24, 2017
Earlier this month, Ed Westwick was accused by Kristina Cohen of rape. Aurelie Wynn then accused the British actor of rape, before Rachel Eck came forward with accusations that he "aggressively" groped her.
The Gossip Girl star, 30, has denied the accusations and says he will fight to clear his name.
Speaking about the accusations, Ed's ex-girlfriend and Gossip Girl co-star Jessica Szohr admitted that she finds the allegations "shocking."
Continue reading below ↓
"It's a difficult subject right now for anyone that's involved on either side," Jessica told Cosmopolitan US when asked how she's been processing the news.
"I don't even really know how to answer it, if I should, because I don't want anything to get twisted, because I have known Ed for years and know how lovely he is, and don't think he would ever put someone in a position like that. It's difficult, because you don't want someone you know to go through that or do that to someone, or knowing them well, knowing that you don't think they would, and you don't want, for the girls that are coming forward, it's like, are they stretching the truth?
"It's just, it's a touchy, tough thing that you pray it's not true and that with, outside of even him, all these different topics coming up, I'm glad that there's notice being put on it for women that are going through it. But I also think it's a touchy, crazy thing too, because some people are going into these different situations and they're not coming out true.
"So it's like, well, why are people making it up, because that takes away from the girls that are going through it. And then it's also hard to go back and try to get evidence from things that were so long ago. So, I'm really trying to answer this as open and nicely as I can, because it is touchy, and I obviously for any of these situations, wasn't there, for either side, so I can't say it did or didn't happen.
"But I know him well and I've known him for years, and I found it shocking. And I hope that it's untrue, but I also feel bad for anyone that's been in that situation, for the women that have to deal with that, for the situations that are true."
When asked if she'd spoken to Ed since the allegations she said: "Yes. You know, he's like, 'The truth will come out and hopefully people see that and hopefully that's it.'
"It's just such an unfortunate thing all around. And I have to be so careful, because it's not my situation and I don't—I wasn't there. So it's hard to speak on behalf of those girls or him.
"I don't know those girls at all, and they could be lovely and awesome and all that. From the Ed I know and working with him for five years and having a friendship through all of that and after, it was shocking. It was shocking."
After the second accusation came to light, Ed posted on Twitter that he's working to clear his name as soon as possible.
"It is disheartening and sad to me that as a result of two unverified and probably untrue social media claims, there are some in this environment who could ever conclude I have had anything to do with such vile and horrific conduct.
"I have absolutely not, and I am cooperating with the authorities so that they can clear my name as soon as possible."
To read the full interview, go to Cosmopolitan US.
This article originally appeared on Cosmopolitan.com/uk. Minor edits have been made by the Cosmo.ph editors.
rape,
ex-boyfriend,
Gossip Girl,
ed westwick,
Jessica Szohr,
(Because #FOMO.)


text:
Oscar Andrés Tunjo (ur. 5 stycznia 1996 w Cali) – kolumbijski kierowca wyścigowy.

Życiorys

Formuła BMW
Oscar pierwszego karta otrzymał w wieku zaledwie 3 lat. W 2010 roku zadebiutował w serii wyścigów samochodów jednomiejscowych – Formule BMW Pacyfiku. 14-letni Tunjo (w zespole Meritus) już w pierwszym podejściu sięgnął po tytuł wicemistrzowski, siedmiokrotnie przy tym stając na podium. Jedyne zwycięstwo odnotował na ulicznym torze Marina Bay Street Circuit w Singapurze, gdzie startował z pole position. Trzykrotnie uzyskał także najszybszy czas okrążenia.

Formuła Renault
W 2011 roku Kolumbijczyk awansował do Europejskiej Formuły Renault. Reprezentując niemiecką ekipę Josefa Kaufmanna, Tunjo siedmiokrotnie sięgał po punkty, a podczas sobotnich zmagań, na węgierskim torze Hungaroring, stanął na średnim stopniu podium. Zdobyte punkty sklasyfikowały go na 10. miejscu. W pierwszej połowie sezonu, Tunjo wystartował także w trzech pierwszych rundach północnoeuropejskiego cyklu tej serii. 15-latek zaliczył siedem wyścigów, z czego w czterech dojechał do mety, za każdym razem plasując się w punktowanej dziesiątce. Najlepiej spisał się na niemieckim torze Nürburgring, gdzie rywalizację ukończył na trzeciej i piątej pozycji. Ostatecznie zmagania zakończył na 23. lokacie.

W sezonie 2012 Oscar przeniósł się do francuskiej ekipy Tech 1 Racing. W europejskiej edycji Kolumbijczyk pierwsze punkty odnotował w drugim wyścigu, na hiszpańskim torze w Alcaniz, gdzie po starcie z pole position musiał uznać wyższość jedynie Rosjanina Daniiła Kwiata. Na kolejne musiał czekać aż do września, kiedy to na węgierskim torze Hungaroring dwukrotnie dojechał na siódmej lokacie. W pozostałych czterech startach Tunjo jeszcze trzykrotnie zapunktował, popisując się świetną jazdą w sobotniej rywalizacji, na torze w Circuit de Catalunya, gdzie po ponownym zwycięstwie w kwalifikacjach tym razem nie oddał czołowej pozycji. Uzyskane punkty usytuowały go na 7. miejscu. W Formule Renault 2.0 Alps spisał się jeszcze lepiej. Kolumbijczyk rywalizację ukończył na 4. lokacie, pomimo nieobecności w dwóch eliminacjach, na ulicznym torze w Pau oraz włoskim obiekcie w Mugello. Spośród dziesięciu wyścigów Oscar sześciokrotnie sięgał po punkty, za każdym razem plasując się w czołowej piątce. Odniósł przy dwa zwycięstwa – na torze Spa-Francorchamps (odnotował tzw. hattricka) oraz w Katalonii (wykręcił przy tym najszybsze okrążenie). Na sezon 2013 przeniósł się do niemieckiej ekipy Josef Kaufmann Racing.

Formuła Renault 3.5
W sezonie 2014 Tunjo podpisał kontrakt z hiszpańską ekipą Pons Racing na starty w prestiżowej Formule Renault 3.5. W ciągu dwunastu wyścigów, w których wystartował, uzbierał łącznie jedenaście punktów, co dało mu 22 miejsce w końcowej klasyfikacji kierowców.

Seria GP3
W roku 2015 Oscar nawiązał współpracę z włoską ekipą Trident Racing na udział w serii GP3. Kolumbijczyk wystartował w sześciu wyścigach, po czym rozstał się z zespołem w trakcie weekendu na węgierskim Hungaroirngu (związane to było ze sprawami finansowymi). Zaliczył bardzo udany weekend na austriackim Red Bull Ringu, gdzie w pierwszym wyścigu dojechał na dziewiątej lokacie, natomiast w drugim, dzięki dobrym ustawieniom pozwalającym na zachowanie dobrego stanu opon, zdołał odnieść pierwsze w karierze zwycięstwo. Zdobyte punkty sklasyfikowały go na 15. miejscu.

Wyniki

GP3

Formuła Renault 3.5

Podsumowanie

Bibliografia
 Oscar Andrés Tunjo

Linki zewnętrzne
 Oficjalna strona kierowcy

Urodzeni w 1996
Kolumbijscy kierowcy wyścigowi
Kierowcy Europejskiego Pucharu Formuły Renault 2.0
Kierowcy Północnoeuropejskiego Pucharu Formuły Renault 2.0
Kierowcy Alpejskiej Formuły Renault 2.0
Kierowcy Pacyficznej Formuły BMW
Kierowcy Formuły Renault 3.5
Kierowcy GP3
Ludzie urodzeni w Cali

redpajama_set_name: RedPajamaWikipedia


text:
Vera Bergengruen
Vera Bergengruen is a political correspondent in the Washington, D.C. bureau.
The White House Broke the Law By Freezing Ukraine Aid, Watchdog Says
The White House broke the law when it withheld U.S. security aid to Ukraine...
The White House broke the law when it withheld U.S. security aid to Ukraine that had already been appropriated by Congress last year, the nonpartisan Government Accountability Office reported on Thursday. "Faithful execution of the...
Lev Parnas Hits the Airwaves on the Eve of Trump's Impeachment Trial
The Ukrainian-American businessman alleged that the President "knew exactly...
The Ukrainian-American businessman alleged that the President "knew exactly what was going on"
Bolton's Offer to Give Impeachment Testimony Catches Congress, White House By Surprise
In a surprise move, former national security adviser John Bolton on Monday ...
In a surprise move, former national security adviser John Bolton on Monday said he would be willing to testify in the Senate's impeachment trial of President Donald Trump if he is subpoenaed. "Based on careful...
How Russian President Vladimir Putin Emerged as a Winner in President Donald Trump's Impeachment Hearings
After weeks of partisan heckling in a whirl of overheard phone calls and co...
After weeks of partisan heckling in a whirl of overheard phone calls and conspiracy theories, the former top Russia expert on the National Security Council had had enough. By the time Fiona Hill gave her...
'I've Never Seen Anything Like This.' These Are the Biggest Moments of Fiona Hill and David Holmes' Impeachment Testimony
Fiona Hill and David Holmes testified publicly Thursday
'Mr. Giuliani's Requests Were a Quid Pro Quo.' Gordon Sondland Testifies in Trump Impeachment Inquiry
Gordon Sondland, U.S. ambassador to the European Union, testified on Wednes...
Gordon Sondland, U.S. ambassador to the European Union, testified on Wednesday that he and other U.S. officials were working at the "direction of the President" when they cooperated with Rudy Giuliani to urge Ukraine to...
'My Worst Fear of How Our Ukraine Policy Could Play Out.' What Officials Said During Tuesday's House Hearings
The second week of public hearings in the impeachment inquiry into Presiden...
The second week of public hearings in the impeachment inquiry into President Donald Trump began Tuesday with testimony from four current and former Trump Administration officials. Throughout nearly 11 hours of combined testimony, each of...


Please email info@tafk.org for information about Little Mermaid Jr. and Seussical Jr. Both classes are currently full. The links below can be used for registration for those with a spot reserved.
TAFK is located at 4325 Sumner ST (Christ Lutheran Church). Our TAFK Theatre is located in CLC's North Ministry. Theatre Arts For Kids is not affiliated with Christ Lutheran Church, but we are forever grateful to be part of their community! Interested in seeing our space? We invite you to see an upcoming show!


text:
Anna Clyne: Mythologies
AV 2434
Release Date: October 2020
Anna Clyne
Solo solo violin (3)
Solo voice (3)
Irene Buckley
Conductor (1)
Conductor (2,3)
Sakari Oramo
Andre de Ridder
Producer (1,3,4,5)
Ann McKay
Benedict Warren
Engineer (2,4)
Philip Burwell
Neil Pemberton
Susan Thomas
Vocal & Song
Masquerade *
This Midnight Hour
The Seamstress
Night Ferry
* World premiere recording
Solo: Jennifer Koh solo violin (3)
Solo: Irene Buckley voice (3)
Orchestra: BBC Symphony Orchestra
Conductor: Marin Alsop (1)
Conductor: Sakari Oramo (2,3)
Conductor: Andrew Litton (4)
Conductor: Andre de Ridder (5)
Track 1: Recorded by the BBC on 7th September 2013 at the Royal Albert Hall, London
Track 2: Recorded by the BBC on 21st March 2018 at the Barbican Hall, London
Track 3: Recorded by the BBC on 15th January 2016 at the Barbican Hall, London
Track 5: Recorded by the BBC on 7th May 2011 the Barbican Hall, London
Anna Clyne's enormous palette of colours and special effects coalesce into an aural three-dimensional experience of striking originality. Equally there's a comforting familiarity to her music, as she draws inspiration from historic styles that she transforms into a new musical dialect. Anna's background in electro-acoustic music and her fascination for a variety of multi-media – including poetry, visual art and videography – combine to create rich and exhilarating textures of popular appeal.
The five works on Anna Clyne: Mythologies were written over a 10-year period between 2005 and 2015. The performances on the album feature the BBC Symphony Orchestra and four internationally-acclaimed conductors. Masquerade, commissioned by BBC Radio 3 to open the Last Night of the Proms 2013 and conducted by Marin Alsop, captures the spirit of that quintessentially English tradition. The title evokes an 18th-century outdoor festivity featuring fireworks, acrobats and street entertainers. This Midnight Hour, conducted by the BBC Symphony Orchestra's Chief Conductor Sakari Oramo, encapsulates the modernity and decadence of two European poets, Nobel Prize-winning Spaniard Juan Ramón Jiménez and Frenchman Charles Baudelaire. Oramo also conducts The Seamstress, a single-movement violin concerto in all but name, featuring soloist Jennifer Koh as well as the whispered voice of Irene Buckley reciting the work's inspiration, a poem by William Butler Yeats. More poetry by a Nobel laureate, the Irishman Seamus Heaney, inspired Night Ferry; conducted by Andrew Litton, the work conjures crashing waves and weathered seafaring. The album concludes with rewind, conducted by André de Ridder. It's a wild romp imagining the backwards scroll of a video tape complete with glitches, skips and freezes.
"... The performances ... are brilliantly executed, and the composer could hardly ask for better ones."
David DeBoor Canfield - Fanfare - May/June 2021
"... This is an impressive introduction to a formidable composer. The conductors in charge are at their predictable best..."
Allen Gimbel – American Record Guide – March/April 2021
"Contemporary composer symphonic showcase that's full of electric energy"
Andrew Mellor – The Strad – March 2021
"...All in all, an exhilarating introduction to a composer I look forward to hearing more from soon."
David Olds - thewholenote.com - 7 February 2021
"… These superb works receive committed readings from all concerned and, besides singling out the BBC Symphony Orchestra playing at its customary best, I would like to draw attention to Jennifer Koh's impressive take on the violin part in The Seamstress, one of the gems in this collection. I hope that many will derive as much musical pleasure from this very fine release as I have, and that it will not take too long before more of Clyne's orchestral music is committed to disc."
Hubert Culot – MusicWeb-International.com - 1 February 2021
Robert Stein - Musical Opinion Quarterly - January/March 2021
Editor's Choice - Orchestral
"... it is the BBC Symphony Orchestra who shine throughout, with superbly mastered sound (by Jody Elff). Another winner from Avie."
Guy Rickards - Gramophone magazine - December 2020
Performance **** Recording *****
Steph Power - BBC Music magazine - Christmas 2020


text:
Sofia Wylie's Boyfriend and Parents: Five Facts about Her
By Dipesh on Jan 14, 2022
Photo: Sofia Wylie Instagram
Sofia Wylie is a talented American actress who first gained prominence following her portrayal of Buffy Driscoll in the Disney Channel series titled Andi Mack (2017-19). For her performance in it, she won as well as got nominated for one Young Entertainer Award.
In addition, her other portrayals in movies and TV shows include Cory in Back of the Net (2019), Riri Williams aka Iron Heart in the Marvel Rising animated franchise (2019-20), Mia Brooks in Shook (2019), and Gina Porter in High School Musical: The Musical: The Series (2019-22).
Read on to learn five facts about Sofia Wylie, including her personal life, age, height, and more.
Sofia Wylie Doesn't Seem to Have a Boyfriend
The present relationship status of the actress seems to be single. Wylie has kept most of the details about her personal life upto herself only.
There have been no reports of her having a boyfriend. Neither has she given out any hints of being in a relationship with someone special.
If anything, it's known that she celebrated 2020 and 2021's Valentine's Day alone. On both occasions, she had posted some pictures from her photoshoot and wished her followers "Happy Valentine's Day" from her side.
A post shared by Sofia Wylie (@sofiawylie)
Considering all the tidbits of information we know, it seems pretty clear that she is single and relishing her singlehood. Furthermore, no details regarding her dating history have been found.
Sofia Wylie's Birthday Falls in January
Wylie celebrates her birthday on the 7th of January every year. She recently turned 18 years of age in this year's January 7.
A few days after her 18th birthday, on January 12, 2022, she took to her Instagram handle to share a picture of herself with her pet dog. She wrote a simple caption reading, "18!"
Born in 2004, she was raised in the suburbs of Scottsdale, Arizona. As per her date of birth, her birth sign is Capricorn.
Sofia Wylie Is the Youngest Child of Her Parents
The Spider-Man voice actress was born to a father of African-American and Korean ancestry and a mom of German and English descent. Thus, she has mixed ethnicity and is part-Korean.
Her father's name is Chris Wylie and her mother's name is Amy Wylie. Besides her parents, she has an older sibling too, a sister named Isabella 'Bella' Wylie — reportedly a chef. Her sister is 20-year-old and was born on January 3, 2002.
She is very close to her parents and sister and occasionally flaunts pictures alongside them through her social media handles. It's also reported that Wylie's parents were very supportive on her journey to become an actress, which still remains the same.
Sofia Wylie Has a Tall Height
For an 18-year-old, Wylie is quite tall. In a tweet of September 17, 2019, the actress mentioned that she stands at a towering height of 5 feet 9 inches or 1.75 meters.
5'9" now every time I see someone I haven't seen in a long time I feel like a giant
— Sofia Wylie (@SofiaWylie) September 17, 2019
However, as that tweet was made over two years ago, it's plausible to assume that her height has increased by a few inches. Her IMDb profile states that her present height is 5 feet 11 inches or 1.8 meters.
As for her weight, she reportedly weighs around 58 kg or 128 lbs. Her body measurements are unknown. Furthermore, she has a slim-built body, black curly hair, and her eyes color is dark brown.
Sofia Wylie's Net Worth Is in Million
Wylie presently has 11 acting credits to her name, with one more to be included when her upcoming gig The School for Good and Evil gets released in 2022.
With all the success she has gained in recent years, it cannot be denied that she will continue to make a mark in the entertainment industry.
Coming over to her net worth, she must have earned a decent amount from all of the gigs she has done. So, how much is Sofia Wylie's net worth? Well, it's reported that she has an estimated net worth of around $2 million.
Tags: Andi Mack,Sofia Wylie
Tennis Player Emma Raducanu Enjoys Rapid Rise to the Top
Does 'Chicago Med' Star Asjha Cooper Have a Boyfriend? Her Dating Life Explored
Ali Skovbye's Wiki: Movies and TV Shows, Age, Family, Education, Boyfriend, Dating Details
Ali Skovbye is an uprising teenage model plus actress who has made her presence felt through her excellent performances in numerous movies and TV...
Is Gugu Mbatha-Raw Married to a Husband? Inside Her Love Life and Bio
Gugu Mbatha-Raw is a BAFTA Awards-nominated English actress known for her roles in Doctor Who (2007), Undercovers (2010-12), Belle (2013), and several other movies...
Is 'Black Widow' Star Yolanda Lynes Married? Inside Her Love Life and Career
Yolanda Lynes is an English actress and writer known for her works in movies such as The Reals Target (2017), Dragon Kingdom (2018), and...
Is Tasya Teles Married to Sachin Sahel? Know Her Personal Life
Tasya Teles is a well-acclaimed Canadian actress who rose to fame after portraying the role of Echo in the CW's sci-fi TV series The...
Elena Satine's Parents Helped Her Dream Reach a New Height
Credit: Elena/Instagram Elena Satine is a Georgian-American actress who has risen to fame through her performances in movies and TV shows such as Magic...
Clare Dunne and Her Boyfriend Jack Nolan Together at 'No Time to Die' Premiere — Inside 'Kin' Star's Dating Life
Clare Dunne is a young Irish actress who recently appeared in 2020's Herself (as Sandra) and 2021's The Last Duel (as Celia). She also...


text:
Home / Gadgets / Gaming Smartphones / Mobile / Tech News / Lenovo P2 With 5100mAh Battery Set to Launch in India Soon
Lenovo P2 With 5100mAh Battery Set to Launch in India Soon
Unknown Thursday, January 05, 2017 Gadgets, Gaming Smartphones, Mobile, Tech News
Lenovo is going to launch one more smartphone in India. Lenovo has teased the coming up launch of its P2 battery-focused smartphone in India. The company via its Twitter India handle on Monday began teasing the launch of the smartphone, but, at this point, no details of accessibility or price are known. Travel fearlessly with the longest lasting battery #LenovoP2 #Powerhouse coming soon," the company posted on Twitter. Although the company has failed to comment a time-frame, we assume the P2 will launch in India soon enough, possibly within a few weeks.
To recall, the Lenovo P2 was first revealed at IFA 2016. The smartphone is already presented in some regions globally including China, where only 4GB LPDDR4 RAM variant with 64GB of inbuilt storage has gone up for sale. Elsewhere in the world, and we imagine India, 3GB/ 4GB LPDDR3 RAM variants with 32GB of inbuilt storage will be made accessible to buy. China pricing is CNY 2,499 and you can guess the smartphone to be significantly cheaper in India due to the above-mentioned differences.
The P2 is an all-metal phone with a front-mounted fingerprint scanner and a massive 5,100mAh battery with support for fast charging inside. The dual-SIM Lenovo P2 runs Android 6.0 Marshmallow out-of-the-box, and sports a 5.5-inch full-HD Super AMOLED display. It has Qualcomm Snapdragon 625 with up to 4 gigs of RAM and up to 64GB of internal memory.
The phone supports expandable memory, 4G LTE, Wi-Fi 802.11ac, Bluetooth v4.1, and FM radio connectivity options. It is powered by a 2GHz Qualcomm Snapdragon 625 MSM8953 processor, coupled with either 3GB or 4GB of LPDDR3 RAM. The smartphone bears a 13-megapixel rear camera with a Sony IMX258 sensor and on the front, it comes with a 5-megapixel camera. It should be available in Champagne Gold and Graphite Grey color variants. It measures in at 153x76x8.2mm.
Lenovo introduced the K6 Note, another batter-centric phone in India newly starting at Rs 13,999. The phone is powered by a 5.5-inch 1080p screen and a 4,000mAh battery. It has an octa-core Qualcomm Snapdragon 430 processor with up to 4GB of RAM and up to 64GB of internal memory. The phone also supports expandable storage.


Why one will go for Architecture as his/her career option?
If you are very much determined about your admission to architecture colleges in pune, then you must keep in mind that you must have science group in your (10+2) i.e. higher secondary level just to pursue your career in Bachelor of Architecture course. Therefore, if you do not have a science group in your 10+2 level, then you are therefore not allowed to take any tests which occur before getting admission to architecture colleges in pune.
On the other hand, if you are a sketch lover, loves to draw buildings, monuments, structures, pillars, etc. and do not feel bored of doing all these then Bachelor of Architecture is one of the best courses present out there to fulfill your dreams. Architecture is, therefore, the most soughed disciplines of academic education for the development of the nation, education, development, technology, and research. So if you wish to pursue your career as architecture in architecture colleges in pune, then it is definitely one of the popular career options.
Is architecture a good career option to choose from especially in India?
As people need places in live-in, work, play, learn, shop, eat etc., architects are then responsible for designing all these places. Even one will notice that architects are commissioned to design anything from a single room to a huge massive complex. So, a career in architecture, therefore, offers opportunities to shape, or sometimes even transforms the environment we live in.
One will also notice that architects are not only involved in mainstream architectural practices but also in occupations ranging from urban planning and property development to teaching, furniture design, and disaster relief.
Firstly, you have to be sure about the entrance exam to get an admission in an architecture college in Pune.
You have to practice Mathematics, Aptitude tests & Drawing Tests for the entrance tests.
No candidate with less than 50% marks in aggregate shall be admitted to the architecture course.
50% marks with compulsory subject Mathematics in 10+2 level.
Though the scene of architecture in India is rather morbid but is now picking up some pace with the increasing modernization and advancement. Therefore with the dwelling infrastructure in architecture colleges in pune, there is an enormous demand for architecture in India for the near future.
It's a passionate job with full satisfaction.
Has no boredom, constantly facing new challenges at each and every moment.
Though it is mandatory to have mathematics in your 10+2 level, this will help you to rebuild your career in the long run in your future.
Requires a long period of training and educational qualification.
The pay scale is average and is not much rewarding.
Though 9 to 5 deskwork is not there, sometimes has to work overtime.
Architecture has a challenging and demanding field.
In a few words, we can say that Architecture is the mother of all arts as every technique related to other trades are used here when you will construct any building or any structure. So, these all are some of the points to know and to consider before choosing the top colleges offering architecture colleges in pune.


So what if I don't fit in? I can have my fairy-tale ending, too.
When I was a little girl, around twenty years ago, I never thought of happily ever afters. This is not my claim to uniqueness or individuality, it's just the truth and the way I was. For me they were just endings to animated films that I enjoyed and I took them as they were. I had no expectations that I'd meet someone to ride off into the sunset with. Hello…I was six.
Now, I'm looking at these fairy tales a little bit closer, because I want my happy ending, I want my magic carpet ride, I want my waltz-on-water moment. And I don't want it "in the foreseeable future", I want it NOW.
A strange, awkward girl who does not fit in and has no intentions of fitting in because really, it's fun to be weird. Has dreams beyond the confines of her current village or kingdom, and the constant thought that's nagging her is "There has to be something more to this" - Status: DONE. Ako na yun! I may not be a princess or a warrior, and I don't have a tail. But if you're looking for social awkwardness and restlessness then, baby, I'm your girl.
An equally strange pet like a sardonic tiger, a lucky cricket, a horse with no sense of direction, a talking fish, a Rastafarian crab. - Status: WORK IN PROGRESS. I have to go bag Spiderman.
People who treat her like a social pariah because she's not one of them and she'll never be. They try to change her to conform to their standards of acceptability, but they gave up the fight because her nose is always in a book or she's always running off somewhere else to be free - Status: DONE. I think this is why I have so few friends, and no one sits next to me in trainings. Or am I just really unfriendly? Inappropriate? Ah, bahala na…CHECK!
An occasion for upheaval, for stepping out of comfort zones and going on an adventure. Status: NOT STARTED What do you think guys? A trip to Bali, ala-Eat, Pray, Love? Joining the Philippine Army? Violin lessons? Karate classes? Solo road trip?
A man who isn't looking for love, who's focused on his career as a goofy pickpocket or army lieutenant or antisocial-master-of-the-house. I don't really know what Prince Eric's job is, but whatever it is, it involves having a good time with the boys on-board a ship. Basically a guy with his own plans, his own dreams and his own life. Status: NOT STARTED. But let's clarify—straight, single men. Right now there's no one who fits this very simple criteria.
I still believe in happily ever after, because I came so close to have mine. It's my fault that I lost it. But I know it exists, it's out there.


Now's your chance to own an historic tavern. Take a look at this property on Providence-New London Turnpike in North Stonington that recently went on the market for $424,900. Built in 1777, it used to be a tavern.


Other phoenix legends from other countries.
This bird, the Chinese equivalent of the phoenix, has three legs and lives in the sun. The Feng is the male and the Huang is the female, together symbolizing everlasting love. They have the head and comb of a pheasent and the feathers of a peacock. The plumage blends the five colours and the song of the bird is the harmony of the five notes. It has sometimes been associated with the roc.
The Ho-Oo is the Japanese phoenix, the Ho being the male bird and the Oo being the female. It comes to earth to do good deeds for people, and this appearance symbolizes the beginning of a new era. The bird then ascends back to heaven to await a new era. It is much like the Chinese Phoenix the Feng-Huang. The Ho-Oo has been adopted as a symbol of the royal family, particularily the empress. It is supposed to represent the sun, justice, fidelity and obedience.
The Benu bird is another bird that can be linked to the phoenix. This Egyptian sun bird is identified with Ra the sun god. The word Benu in Egyptian means both purple heron and palm tree. Just like the phoenix, this bird was identified with the temple to the sun gods at Heliopolis. Many think that the myths surrounding the phoenix were a misunderstanding of the Egyptian myths of the Benu. This bird was also known to be a symbol of Osiris incarnate, renewing itself. The similarities with the phoenix are numerous.
Most beings spring from other individuals; but there is a certain kind which reproduces itself. The Assyrians call it the Phoenix. It does not live on fruit or flowers, but on frankincense and odoriferous gums. When it has lived five hundred years, it builds itself a nest in the branches of an oak, on the top of a palm tree. In this it collects cinnamon and spikenard, and myrrh, and of these materials builds a pile on which it deposits itself, and dying, breathes out its last breath amidst odors. From the body of the parent bird, a young Phoenix issues forth, destined to live as long a life as its predecessor. When this has grown up and gained sufficient strength, it lifts its nest from the tree (its own cradle and its parent's sepulcher), and carries it to the city of Heliopolis in Egypt, and deposits it in the temple of the sun.
"I have not seen it myself, except in a picture. Part of his plumage is gold-coloured, and part crimson; and he is for the most part very much like an eagle in outline and bulk."
Like Heroditus says, the Phoenix is a large eagle like or heron like bird with red and gold feathers (although the Chinese phoenix has five colours). The bird is also known to have a beautiful song. The bird is supposed to be very long-lived with a life span of, according to various accounts, 500 years, 540 years, 1000 years, 1461 years or even 12 994 years. This is the Phoenix as we know it, the bird that is self-reincarnated from its own ashes.
By the fourth century A.D. the phoenix myth had changed so that the mature bird self-immolated after turning its nest into a funeral pyre. After three days, it "rose again". Thus the phoenix became identified with the resurrection of Christ and became a symbol of both immortality and life after death.
One possible explanation for the phoenix myth: some large birds spread their wings over fires so that the smoke kills parasites.
As the bird kept appearing in writing, its origin changed a little. In Pliny's account of the Roman senator Manilius' report of the genesis of the phoenix. He stated that a small worm grew from the bones and marrow of the dead bird. This worm eventually develops into the new bird.
When we were still firmly ensconced in our friendship. Now however...well most of you know. Those who don't, comment and I may have to call you. Long story.


What an event. Tons of people, lot of contacts, huge interest. Bigger than ever. Gives confidence!
All in all I do not dare to count together the cost of the shown system and I honestly enjoyed it day by day more: it had each day development that brought it more and more in the direction of music.
There was lot of people until the latest ours of the Sunday, our room was nearly constantly filled and we hardly come to visit the rest of the show.
The feedback of the public was enthusiastic and opened the way to further developments.
Sunday evening was a pity to dismantle the system and conclude the show... but now it is time to collect the results. See You in the Munich High End 2015!


text:
Search results for "2014"
Don Quixote (The Royal Ballet)
Carlos Acosta's first venture directing one of ballet's 19th century classics was eagerly anticipated, as was his own starring role in the production (as Basilio), opposite the Argentinian Royal Ballet…
The Con Artists
Ji-hyuk is an expert safe-cracker who lives the highlife stealing antiques and jewelry with his team. CHO, a powerful and cruel gang boss threatens them to steal $150 million with…
ANIMALS tells the story of Jude and Bobbie: a young couple that exist somewhere between homelessness and the fantasy of their imaginations. Though they masterfully con and steal in an…
Road 47
During World War II, looking up the Mountain, in Italy, a Brazilian Expeditionary Force – FEB – mines weeping platoon is hit by a panic-attack that sets them running aimlessly…
Country: Brazil, Italy, Portugal
Dangerous Mind of a Hooligan
Five criminals unknown to each other are hired to complete a bank robbery. What should have been a smooth operation soon descends into paranoia, violence and horror.
Castles in the Sky
England, while the storm clouds of Nazism menace Germany. Robert Watson Watt and a team of eccentric and brilliant meteorologists struggle to turn the mere idea of radar into a…
Genre: Drama, History, War
Jake's Road
Waking in a hospital, bruised and beaten, a young man struggles to piece together the events of a horrifying weekend. Amid flashes of relaxing with friends, the image of a…
Scarlet's Witch
A lonely girl befriend a witch in the woods who has alter motives in this adult fairy tale.
Genre: Drama, Fantasy, Mystery
Disconcerto
Set within the fictional city of Mahoro, Keisuke Tada runs a "benriya" – a general problem solver for hire. His assistant is his former high school classmate Haruhiko Gyoten. A…
The town of Midground is threatened by a tsunami caused by a massive earthquake in the North Pacific Ocean. After other unexplainable events transpire, Chase Lombardi and friends are forced…
The Samurai
A wolf strives through the woods around an isolated German village. Jakob the young local police officer is onto him, but scents something more in the darkness. What he finds…
Eva Hendrickx is an ambitious young journalist working on the team of television legend Herman Verbeeck. She's determined to bring a story about the riots in the suburbs of Brussels….
Hazard Jack
A group of college kids get together for a weekend of booze and war games at an abandoned hospital. The hospital has become the haven for a PTSD stricken war…
Pirate's Code: The Adventures of Mickey Matson
Heroes Mickey and his best friend, Sully, are forced to take on a mission to save our country from the evil plans of Admiral Ironsides. The Admiral and his motley…
Black & White: The Dawn of Justice
Police officer in the Southern Precinct, WU Ying-xiong, has been revered as a hero in the Harbor City ever since he stopped the terrorists on a Boeing 777 airplane and…
Country: China, Taiwan, Hong Kong
The Surface
Two strangers, both at the end of their rope, suddenly meet in the middle of the unpredictable waters of Lake Michigan.
Shaggy Christmas Trees
A funny story about the adventures of a two hairy friends familiar from the "Six Degrees of Celebration" series.
Sinbad: The Fifth Voyage
When the Sultan's first born is taken by an evil sorcerer, Sinbad is tasked with traveling to a desert of magic and creatures to save her.
Genre: Adventure, Family, Fantasy
An upright ex-army man, Jai fights a solitary war against corruption and injustice. With a simple mantra to pay forward, he starts off by helping one person and forms an…
Mummy, I'm a Zombie
In the sequel to "Daddy, I'm a Zombie", all of our favorite characters are back! The fate of the planet is once again in Dixie's hands as she must fight…
Genre: Fantasy, Horror
Bok-Soon runs a street stall while taking care of her younger sister. Bok-Soon may not be the brightest girl but what she lacks in intelligence, she makes up for in…
Along Came a Nanny
Hoping to catch a burglar, a cop (Cameron Mathison) goes under cover as a nanny in an upscale community. As he looks for leads, he becomes involved with a high-maintenance…
Gwen has just discovered, that she's the final member of the secret time-traveling Circle of Twelve. Now she has to juggle with constant trips to the past, her relationships with…
Genre: Adventure, Drama, Family, Fantasy, Romance, Science Fiction
The Last of Us: One Night Live
To celebrate the launch of the PS4 version of The Last of Us, Naughty Dog brings last year's Game of the Year to life in front of hundreds of fans…
A sexy comedy about a professor and his female student.
Parts Per Billion
The interwoven stories of three couples which are forced to make life-altering decisions in the face of a disastrous war. Inspired and sometimes blinded by their love, Len, Mia, Andy,…
When a detective is called in to investigate the roadside execution of his partner, he discovers at the crime scene a data card from a video camera. The card contains…
Starship Rising
A corrupt planetary federation… The ultimate weapon of destruction…. One starship captain stands between them….and intergalactic armageddon. STARSHIP: RISING – RISE UP OR DIE In the distant future, an immortal…
The Ninja Immovable Heart
Reese, an elite member of a covert unit of Ninja Warriors, is captured. Being tortured for information, Reese recalls the lessons learned from his training in order to fight his…
I Fine… Thank You… Love You
Desperate to go to the U.S. to win back his girlfriend, Yim hires a tutor to teach him English. But things don't go according to plan.
Peter and Chloe, a young married couple from New York, decide on impulse to take a belated honeymoon on-board a research vessel en route to the icy wastes of Antarctica….
Country: United States, Argentina
A news crew is taken hostage on an airplane set to take off from the Seychelles.
Ressha Sentai ToQger vs. Kamen Rider Gaim: Spring Break Combined Special
The ToQGers stop at a station in Zawame City, where there is no Shadow Line activity. However, they come across Kamen Rider Gaim and are brought into a fight with…
When a young female scientist discovers that the pharmaceutical company she works for had developed a cure for cancer years earlier, she attempts to release it to the world. Knowing…
Country: United States, New Zealand
After a family survives Hurricane Katrina, there is another storm but this one is much worse.
Liz in September
A shocking secret, ex-lovers and the arrival of an outsider shake things up for Liz as she celebrates her birthday at a lesbian-owned resort.
Country: Venezuela
As Mark, Jen, Sylvia, and Jake navigate through their emotionally-arrested states, X/Y reveals the honest and wanton desire we all have to connect with someone and what is at stake…
Assalamualaikum Beijing
The day before her wedding, Asma found out that her lover was having an affair with his colleague. Asma also accepted a job offer in Beijing, where she met Zhongwen….
Death Factory
A bus full of strangers find themselves fighting for their lives when one of them reads from an ancient Gothic tome, bringing six dead serial killers back to life, who…
The Amazing Wiplala
Nine-year-old Johannes Blom gets blown away when he discovers a little man in the kitchen cupboard, hidden behind the peanut butter jar. He's even more astonished when he realizes that…


text:
package org.pentaho.di.trans.steps.memgroupby;

import org.junit.Before;
import org.junit.Test;
import org.pentaho.di.core.exception.KettleException;
import org.pentaho.di.core.row.RowMeta;
import org.pentaho.di.core.row.value.ValueMetaBinary;
import org.pentaho.di.core.row.value.ValueMetaInteger;
import org.pentaho.di.core.row.value.ValueMetaString;
import org.powermock.reflect.Whitebox;

import static org.mockito.Mockito.doCallRealMethod;
import static org.mockito.Mockito.mock;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.assertFalse;

public class MemoryGroupByTest {

  private MemoryGroupBy memGroupBy;
  MemoryGroupByData memGroupByData;

  @Before
  public void setup() {
    memGroupBy = mock( MemoryGroupBy.class );
    memGroupByData = new MemoryGroupByData();
    memGroupByData.aggMeta = new RowMeta(  );
    memGroupByData.outputRowMeta = new RowMeta(  );
    Whitebox.setInternalState( memGroupBy, "data", memGroupByData );
  }

  @Test
  public void updateValueMetaTest() throws KettleException {
    ValueMetaString stringMetaFromOutput = new ValueMetaString( "stringMeta" );
    ValueMetaBinary binaryMetaFromOutput = new ValueMetaBinary( "binaryMeta" );
    ValueMetaBinary binaryMetaFromAgg = new ValueMetaBinary( "binaryMeta" );
    ValueMetaInteger integerMetaFromOutput = new ValueMetaInteger( "integerMeta" );
    memGroupByData.outputRowMeta.addValueMeta( stringMetaFromOutput );
    memGroupByData.outputRowMeta.addValueMeta( binaryMetaFromOutput );
    memGroupByData.outputRowMeta.addValueMeta( integerMetaFromOutput );
    memGroupByData.aggMeta.addValueMeta( binaryMetaFromAgg );

    doCallRealMethod().when( memGroupBy ).updateValueMeta();
    memGroupBy.updateValueMeta();

    assertFalse( memGroupByData.outputRowMeta.getValueMetaList().contains( binaryMetaFromOutput ) );
    assertTrue( memGroupByData.outputRowMeta.getValueMetaList().contains( binaryMetaFromAgg ) );
  }

  @Test
  public void updateValueMetaNoMatchTest() throws KettleException {
    ValueMetaString stringMetaFromOutput = new ValueMetaString( "stringMeta" );
    ValueMetaBinary binaryMetaFromOutput = new ValueMetaBinary( "binaryMeta" );
    ValueMetaBinary binaryMetaFromAgg = new ValueMetaBinary( "binaryMeta2" );
    ValueMetaInteger integerMetaFromOutput = new ValueMetaInteger( "integerMeta" );
    memGroupByData.outputRowMeta.addValueMeta( stringMetaFromOutput );
    memGroupByData.outputRowMeta.addValueMeta( binaryMetaFromOutput );
    memGroupByData.outputRowMeta.addValueMeta( integerMetaFromOutput );
    memGroupByData.aggMeta.addValueMeta( binaryMetaFromAgg );

    doCallRealMethod().when( memGroupBy ).updateValueMeta();
    memGroupBy.updateValueMeta();

    assertTrue( memGroupByData.outputRowMeta.getValueMetaList().contains( binaryMetaFromOutput ) );
    assertFalse( memGroupByData.outputRowMeta.getValueMetaList().contains( binaryMetaFromAgg ) );
  }
}


Sometimes, it can be tricky to get young boys settled down for long enough to start crafting. There are games to be played and new adventures to be had; why should they sit still to cut and paste? Here at AllFreeKidsCrafts, we firmly believe that crafting with kids is the best way to grow together as a family, so we made it our mission to collect crafts for boys to enjoy. We don't mean to say that girls can't enjoy the projects in this collection; we just did our best to gather the crafts we knew would appeal to the boys in the family. Encourage your little men to unlock their creativity with these amazing craft ideas for boys and turn crafting time into a fun-filled family event!
Get the FREE 14 Crafts for Boys: Sports Crafts for Kids, Superhero Crafts, and More eBook, and don't forget to subscribe to the AllFreeKidsCrafts newsletter for more projects you love from bloggers you trust, delivered straight to your inbox every week.