0.11¶
Changelog¶
- Merged dense and sparse implementations and added partial_fit (support for online/minibatch learning) and warm_start to the Stochastic Gradient Descent module by Mathieu Blondel.
- Dense and sparse implementations of Support Vector Machines classes and linear_model.LogisticRegression merged by Lars Buitinck.
- Regressors can now be used as base estimator in the Multiclass and multilabel algorithms module by Mathieu Blondel.
- Added Matthews correlation coefficient (metrics.matthews_corrcoef) and added macro and micro average options to metrics.precision_score, metrics.recall_score and metrics.f1_score by Satrajit Ghosh.
- Added n_jobs option to metrics.pairwise.pairwise_distances and metrics.pairwise.pairwise_kernels for parallel computation, by Mathieu Blondel.
- Out of Bag Estimates of generalization error for Ensemble methods by Andreas Müller.
- Randomized sparse models: Randomized sparse linear models for feature selection, by Alexandre Gramfort and Gael Varoquaux
- Label Propagation for semi-supervised learning, by Clay Woolam. Note the semi-supervised API is still work in progress, and may change.
- Added BIC/AIC model selection to classical Gaussian mixture models and unified the API with the remainder of scikit-learn, by Bertrand Thirion
- K-means can now be run in parallel, using the n_jobs argument to either K-means or KMeans, by Robert Layton.
- Improved Cross-Validation and Grid Search documentation and introduced the new cross_validation.train_test_split helper function by Olivier Grisel
- svm.SVC members coef_ and intercept_ changed sign for consistency with decision_function; for kernel==linear, coef_ was fixed in the the one-vs-one case, by Andreas Müller.
- Performance improvements to efficient leave-one-out cross-validated Ridge regression, esp. for the n_samples > n_features case, in linear_model.RidgeCV, by Reuben Fletcher-Costin.
- Simplication of the Text feature extraction API and fixed an issue with possible negative IDF, by Olivier Grisel.
API changes summary¶
- NeighborsClassifier and NeighborsRegressor are gone in the module Nearest Neighbors. Use the classes KNeighborsClassifier, RadiusNeighborsClassifier, KNeighborsRegressor and/or RadiusNeighborsRegressor instead.
- Sparse classes in the Stochastic Gradient Descent module are now deprecated.
- methods rvs and decode in GMM module are now deprecated. sample and score or predict should be used instead.
- attribute _scores and _pvalues in univariate feature selection objects are now deprecated. scores_ or pvalues_ should be used instead.
- In LogisticRegression, LinearSVC, SVC and NuSVC, the class_weight parameter is now an initialization parameter, not a parameter to fit. This makes grid searches over this parameter possible.
- LFW data is now always shape (n_samples, n_features) to be consistent with the Olivetti faces dataset. Use images and pairs attribute to access the natural images shapes instead.
- Setting scale_C=True by default in SVM and LogisticRegression models. This allows to have a regularization parameter independent of the number of samples. The scale_C parameter will disappear in v0.12.
- In svm.LinearSVC, the meaning of the multi_class parameter changed. Options now are ‘ovr’ and ‘crammer_singer’, with ‘ovr’ being the default. This does not change the default behavior but hopefully is less confusing.
- The preprocessor / analyzer nested structure for text feature extraction has been removed. All those features are now directly passed as flat constructor arguments to feature_selection.text.Vectorizer and feature_selection.text.CountVectorizer.
- Class feature_selection.text.Vectorizer now derives directly from feature_selection.text.CountVectorizer to make grid search trivial.
0.10¶
Changelog¶
- Python 2.5 compatibility was dropped; the minimum Python version needed to use scikit-learn is now 2.6.
- Sparse inverse covariance estimation using the graph Lasso, with associated cross-validated estimator, by Gael Varoquaux
- New Tree module by Brian Holt, Peter Prettenhofer, Satrajit Ghosh and Gilles Louppe. The module comes with complete documentation and examples.
- Fixed a bug in the RFE module by Gilles Louppe (issue #378).
- Fixed a memory leak in in Support Vector Machines module by Brian Holt (issue #367).
- Faster tests by Fabian Pedregosa and others.
- Silhouette Coefficient cluster analysis evaluation metric added as sklearn.metrics.silhouette_score by Robert Layton.
- Fixed a bug in K-means in the handling of the n_init parameter: the clustering algorithm used to be run n_init times but the last solution was retained instead of the best solution by Olivier Grisel.
- Minor refactoring in Stochastic Gradient Descent module; consolidated dense and sparse predict methods; Enhanced test time performance by converting model paramters to fortran-style arrays after fitting (only multi-class).
- Adjusted Mutual Information metric added as sklearn.metrics.adjusted_mutual_info_score by Robert Layton.
- Models like SVC/SVR/LinearSVC/LogisticRegression from libsvm/liblinear now support scaling of C regularization parameter by the number of samples by Alexandre Gramfort.
- New Ensemble Methods module by Gilles Louppe and Brian Holt. The module comes with the random forest algorithm and the extra-trees method, along with documentation and examples.
- Novelty and Outlier Detection: outlier and novelty detection, by Virgile Fritsch.
- Kernel Approximation: a transform implementing kernel approximation for fast SGD on non-linear kernels by Andreas Müller.
- Fixed a bug due to atom swapping in Orthogonal Matching Pursuit (OMP) by Vlad Niculae.
- Sparse coding with a precomputed dictionary by Vlad Niculae.
- Mini Batch K-Means performance improvements by Olivier Grisel.
- K-means support for sparse matrices by Mathieu Blondel.
- Improved documentation for developers and for the sklearn.utils module, by Jake VanderPlas.
- Vectorized 20newsgroups dataset loader (sklearn.datasets.fetch_20newsgroups_vectorized) by Mathieu Blondel.
- Multiclass and multilabel algorithms by Lars Buitinck.
- Utilities for fast computation of mean and variance for sparse matrices by Mathieu Blondel.
- Make sklearn.preprocessing.scale and sklearn.preprocessing.Scaler work on sparse matrices by Olivier Grisel
- Feature importances using decision trees and/or forest of trees, by Gilles Louppe.
- Parallel implementation of forests of randomized trees by Gilles Louppe.
- sklearn.cross_validation.ShuffleSplit can subsample the train sets as well as the test sets by Olivier Grisel.
- Errors in the build of the documentation fixed by Andreas Müller.
API changes summary¶
Here are the code migration instructions when updgrading from scikit-learn version 0.9:
Some estimators that may overwrite their inputs to save memory previously had overwrite_ parameters; these have been replaced with copy_ parameters with exactly the opposite meaning.
This particularly affects some of the estimators in linear_model. The default behavior is still to copy everything passed in.
The SVMlight dataset loader sklearn.datasets.load_svmlight_file no longer supports loading two files at once; use load_svmlight_files instead. Also, the (unused) buffer_mb parameter is gone.
Sparse estimators in the Stochastic Gradient Descent module use dense parameter vector coef_ instead of sparse_coef_. This significantly improves test time performance.
The Covariance estimation module now has a robust estimator of covariance, the Minimum Covariance Determinant estimator.
Cluster evaluation metrics in metrics.cluster have been refactored but the changes are backwards compatible. They have been moved to the metrics.cluster.supervised, along with metrics.cluster.unsupervised which contains the Silhouette Coefficient.
The permutation_test_score function now behaves the same way as cross_val_score (i.e. uses the mean score across the folds.)
Cross Validation generators now use integer indices (indices=True) by default instead of boolean masks. This make it more intuitive to use with sparse matrix data.
The functions used for sparse coding, sparse_encode and sparse_encode_parallel have been combined into sklearn.decomposition.sparse_encode, and the shapes of the arrays have been transposed for consistency with the matrix factorization setting, as opposed to the regression setting.
Fixed an off-by-one error in the SVMlight/LibSVM file format handling; files generated using sklearn.datasets.dump_svmlight_file should be re-generated. (They should continue to work, but accidentally had one extra column of zeros prepended.)
BaseDictionaryLearning class replaced by SparseCodingMixin.
sklearn.utils.extmath.fast_svd has been renamed sklearn.utils.extmath.randomized_svd and the default oversampling is now fixed to 10 additional random vectors instead of doubling the number of components to extract. The new behavior follows the reference paper.
People¶
The following people contributed to scikit-learn since last release:
- 246 Andreas Müller
- 242 Olivier Grisel
- 220 Gilles Louppe
- 183 Brian Holt
- 166 Gael Varoquaux
- 144 Lars Buitinck
- 73 Vlad Niculae
- 65 Peter Prettenhofer
- 64 Fabian Pedregosa
- 60 Robert Layton
- 55 Mathieu Blondel
- 52 Jake Vanderplas
- 44 Noel Dawe
- 38 Alexandre Gramfort
- 24 Virgile Fritsch
- 23 Satrajit Ghosh
- 3 Jan Hendrik Metzen
- 3 Kenneth C. Arnold
- 3 Shiqiao Du
- 3 Tim Sheerman-Chase
- 3 Yaroslav Halchenko
- 2 Bala Subrahmanyam Varanasi
- 2 DraXus
- 2 Michael Eickenberg
- 1 Bogdan Trach
- 1 Félix-Antoine Fortin
- 1 Juan Manuel Caicedo Carvajal
- 1 Nelle Varoquaux
- 1 Nicolas Pinto
- 1 Tiziano Zito
- 1 Xinfan Meng
0.9¶
scikit-learn 0.9 was released on September 2011, three months after the 0.8 release and includes the new modules Manifold learning, The Dirichlet Process as well as several new algorithms and documentation improvements.
This release also includes the dictionary-learning work developed by Vlad Niculae as part of the Google Summer of Code program.
Changelog¶
- New Manifold learning module by Jake Vanderplas and Fabian Pedregosa.
- New Dirichlet Process Gaussian Mixture Model by Alexandre Passos
- Nearest Neighbors module refactoring by Jake Vanderplas : general refactoring, support for sparse matrices in input, speed and documentation improvements. See the next section for a full list of API changes.
- Improvements on the Feature selection module by Gilles Louppe : refactoring of the RFE classes, documentation rewrite, increased efficiency and minor API changes.
- Sparse Principal Components Analysis (SparsePCA and MiniBatchSparsePCA) by Vlad Niculae, Gael Varoquaux and Alexandre Gramfort
- Printing an estimator now behaves independently of architectures and Python version thanks to Jean Kossaifi.
- Loader for libsvm/svmlight format by Mathieu Blondel and Lars Buitinck
- Documentation improvements: thumbnails in example gallery by Fabian Pedregosa.
- Important bugfixes in Support Vector Machines module (segfaults, bad performance) by Fabian Pedregosa.
- Added Multinomial Naive Bayes and Bernoulli Naive Bayes by Lars Buitinck
- Text feature extraction optimizations by Lars Buitinck
- Chi-Square feature selection (feature_selection.univariate_selection.chi2) by Lars Buitinck.
- Sample generators module refactoring by Gilles Louppe
- Multiclass and multilabel algorithms by Mathieu Blondel
- Ball tree rewrite by Jake Vanderplas
- Implementation of DBSCAN algorithm by Robert Layton
- Kmeans predict and transform by Robert Layton
- Preprocessing module refactoring by Olivier Grisel
- Faster mean shift by Conrad Lee
- New Bootstrapping cross-validation, Random permutations cross-validation a.k.a. Shuffle & Split and various other improvements in cross validation schemes by Olivier Grisel and Gael Varoquaux
- Adjusted Rand index and V-Measure clustering evaluation metrics by Olivier Grisel
- Added Orthogonal Matching Pursuit by Vlad Niculae
- Added 2D-patch extractor utilites in the Feature extraction module by Vlad Niculae
- Implementation of linear_model.LassoLarsCV (cross-validated Lasso solver using the Lars algorithm) and linear_model.LassoLarsIC (BIC/AIC model selection in Lars) by Gael Varoquaux and Alexandre Gramfort
- Scalability improvements to metrics.roc_curve by Olivier Hervieu
- Distance helper functions metrics.pairwise.pairwise_distances and metrics.pairwise.pairwise_kernels by Robert Layton
- Mini-Batch K-Means by Nelle Varoquaux and Peter Prettenhofer.
- Downloading datasets from the mldata.org repository utilities by Pietro Berkes.
- The Olivetti faces dataset by David Warde-Farley.
API changes summary¶
Here are the code migration instructions when updgrading from scikit-learn version 0.8:
The scikits.learn package was renamed sklearn. There is still a scikits.learn package alias for backward compatibility.
Third-party projects with a dependency on scikit-learn 0.9+ should upgrade their codebase. For instance under Linux / MacOSX just run (make a backup first!):
find -name "*.py" | xargs sed -i 's/\bscikits.learn\b/sklearn/g'Estimators no longer accept model parameters as fit arguments: instead all parameters must be only be passed as constructor arguments or using the now public set_params method inhereted from base.BaseEstimator.
Some estimators can still accept keyword arguments on the fit but this is restricted to data-dependent values (e.g. a Gram matrix or an affinity matrix that are precomputed from the X data matrix.
The cross_val package has been renamed to cross_validation although there is also a cross_val package alias in place for backward compatibility.
Third-party projects with a dependency on scikit-learn 0.9+ should upgrade their codebase. For instance under Linux / MacOSX just run (make a backup first!):
find -name "*.py" | xargs sed -i 's/\bcross_val\b/cross_validation/g'The score_func argument of the sklearn.cross_validation.cross_val_score function is now expected to accept y_test and y_predicted as only arguments for classification and regression tasks or X_test for unsupervised estimators.
gamma parameter for support vector machine algorithms is set to 1 / n_features by default, instead of 1 / n_samples.
The sklearn.hmm has been marked as orphaned: it will be removed from scikit-learn in version 0.11 unless someone steps up to contribute documentation, examples and fix lurking numerical stability issues.
sklearn.neighbors has been made into a submodule. The two previously available estimators, NeighborsClassifier and NeighborsRegressor have been marked as deprecated. Their functionality has been divided among five new classes: NearestNeighbors for unsupervised neighbors searches, KNeighborsClassifier & RadiusNeighborsClassifier for supervised classification problems, and KNeighborsRegressor & RadiusNeighborsRegressor for supervised regression problems.
sklearn.ball_tree.BallTree has been moved to sklearn.neighbors.BallTree. Using the former will generate a warning.
sklearn.linear_model.LARS() and related classes (LassoLARS, LassoLARSCV, etc.) have been renamed to sklearn.linear_model.Lars().
All distance metrics and kernels in sklearn.metrics.pairwise now have a Y parameter, which by default is None. If not given, the result is the distance (or kernel similarity) between each sample in Y. If given, the result is the pairwise distance (or kernel similarity) between samples in X to Y.
sklearn.metrics.pairwise.l1_distance is now called manhattan_distance, and by default returns the pairwise distance. For the component wise distance, set the parameter sum_over_features to False.
Backward compatibilty package aliases and other deprecated classes and functions will be removed in version 0.11.
People¶
38 people contributed to this release.
- 387 Vlad Niculae
- 320 Olivier Grisel
- 192 Lars Buitinck
- 179 Gael Varoquaux
- 168 Fabian Pedregosa (INRIA, Parietal Team)
- 127 Jake Vanderplas
- 120 Mathieu Blondel
- 85 Alexandre Passos
- 67 Alexandre Gramfort
- 57 Peter Prettenhofer
- 56 Gilles Louppe
- 42 Robert Layton
- 38 Nelle Varoquaux
- 32 Jean Kossaifi
- 30 Conrad Lee
- 22 Pietro Berkes
- 18 andy
- 17 David Warde-Farley
- 12 Brian Holt
- 11 Robert
- 8 Amit Aides
- 8 Virgile Fritsch
- 7 Yaroslav Halchenko
- 6 Salvatore Masecchia
- 5 Paolo Losi
- 4 Vincent Schut
- 3 Alexis Metaireau
- 3 Bryan Silverthorn
- 3 Andreas Müller
- 2 Minwoo Jake Lee
- 1 Emmanuelle Gouillart
- 1 Keith Goodman
- 1 Lucas Wiman
- 1 Nicolas Pinto
- 1 Thouis (Ray) Jones
- 1 Tim Sheerman-Chase
0.8¶
scikit-learn 0.8 was released on May 2011, one month after the first “international” scikit-learn coding sprint and is marked by the inclusion of important modules: Hierarchical clustering, Partial Least Squares, Non-negative matrix factorization (NMF or NNMF), initial support for Python 3 and by important enhacements and bug fixes.
Changelog¶
Several new modules where introduced during this release:
- New Hierarchical clustering module by Vincent Michel, Bertrand Thirion, Alexandre Gramfort and Gael Varoquaux.
- Kernel PCA implementation by Mathieu Blondel
- The Labeled Faces in the Wild face recognition dataset by Olivier Grisel.
- New Partial Least Squares module by Edouard Duchesnay.
- Non-negative matrix factorization (NMF or NNMF) module Vlad Niculae
- Implementation of the Oracle Approximating Shrinkage algorithm by Virgile Fritsch in the Covariance estimation module.
Some other modules benefited from significant improvements or cleanups.
- Initial support for Python 3: builds and imports cleanly, some modules are usable while others have failing tests by Fabian Pedregosa.
- decomposition.PCA is now usable from the Pipeline object by Olivier Grisel.
- Guide How to optimize for speed by Olivier Grisel.
- Fixes for memory leaks in libsvm bindings, 64-bit safer BallTree by Lars Buitinck.
- bug and style fixing in K-means algorithm by Jan Schlüter.
- Add attribute coverged to Gaussian Mixture Models by Vincent Schut.
- Implement transform, predict_log_proba in lda.LDA by Mathieu Blondel.
- Refactoring in the Support Vector Machines module and bug fixes by Fabian Pedregosa, Gael Varoquaux and Amit Aides.
- Refactored SGD module (removed code duplication, better variable naming), added interface for sample weight by Peter Prettenhofer.
- Wrapped BallTree with Cython by Thouis (Ray) Jones.
- Added function svm.l1_min_c by Paolo Losi.
- Typos, doc style, etc. by Yaroslav Halchenko, Gael Varoquaux, Olivier Grisel, Yann Malet, Nicolas Pinto, Lars Buitinck and Fabian Pedregosa.
People¶
People that made this release possible preceeded by number of commits:
- 159 Olivier Grisel
- 96 Gael Varoquaux
- 96 Vlad Niculae
- 94 Fabian Pedregosa
- 36 Alexandre Gramfort
- 32 Paolo Losi
- 31 Edouard Duchesnay
- 30 Mathieu Blondel
- 25 Peter Prettenhofer
- 22 Nicolas Pinto
- 11 Virgile Fritsch
- 7 Lars Buitinck
- 6 Vincent Michel
- 5 Bertrand Thirion
- 4 Thouis (Ray) Jones
- 4 Vincent Schut
- 3 Jan Schlüter
- 2 Julien Miotte
- 2 Matthieu Perrot
- 2 Yann Malet
- 2 Yaroslav Halchenko
- 1 Amit Aides
- 1 Andreas Müller
- 1 Feth Arezki
- 1 Meng Xinfan
0.7¶
scikit-learn 0.7 was released in March 2011, roughly three months after the 0.6 release. This release is marked by the speed improvements in existing algorithms like k-Nearest Neighbors and K-Means algorithm and by the inclusion of an efficient algorithm for computing the Ridge Generalized Cross Validation solution. Unlike the preceding release, no new modules where added to this release.
Changelog¶
- Performance improvements for Gaussian Mixture Model sampling [Jan Schlüter].
- Implementation of efficient leave-one-out cross-validated Ridge in linear_model.RidgeCV [Mathieu Blondel]
- Better handling of collinearity and early stopping in linear_model.lars_path [Alexandre Gramfort and Fabian Pedregosa].
- Fixes for liblinear ordering of labels and sign of coefficients [Dan Yamins, Paolo Losi, Mathieu Blondel and Fabian Pedregosa].
- Performance improvements for Nearest Neighbors algorithm in high-dimensional spaces [Fabian Pedregosa].
- Performance improvements for cluster.KMeans [Gael Varoquaux and James Bergstra].
- Sanity checks for SVM-based classes [Mathieu Blondel].
- Refactoring of neighbors.NeighborsClassifier and neighbors.kneighbors_graph: added different algorithms for the k-Nearest Neighbor Search and implemented a more stable algorithm for finding barycenter weigths. Also added some developer documentation for this module, see notes_neighbors for more information [Fabian Pedregosa].
- Documentation improvements: Added pca.RandomizedPCA and linear_model.LogisticRegression to the class reference. Also added references of matrices used for clustering and other fixes [Gael Varoquaux, Fabian Pedregosa, Mathieu Blondel, Olivier Grisel, Virgile Fritsch , Emmanuelle Gouillart]
- Binded decision_function in classes that make use of liblinear, dense and sparse variants, like svm.LinearSVC or linear_model.LogisticRegression [Fabian Pedregosa].
- Performance and API improvements to metrics.euclidean_distances and to pca.RandomizedPCA [James Bergstra].
- Fix compilation issues under NetBSD [Kamel Ibn Hassen Derouiche]
- Allow input sequences of different lengths in hmm.GaussianHMM [Ron Weiss].
- Fix bug in affinity propagation caused by incorrect indexing [Xinfan Meng]
People¶
People that made this release possible preceeded by number of commits:
- 85 Fabian Pedregosa
- 67 Mathieu Blondel
- 20 Alexandre Gramfort
- 19 James Bergstra
- 14 Dan Yamins
- 13 Olivier Grisel
- 12 Gael Varoquaux
- 4 Edouard Duchesnay
- 4 Ron Weiss
- 2 Satrajit Ghosh
- 2 Vincent Dubourg
- 1 Emmanuelle Gouillart
- 1 Kamel Ibn Hassen Derouiche
- 1 Paolo Losi
- 1 VirgileFritsch
- 1 Yaroslav Halchenko
- 1 Xinfan Meng
0.6¶
scikit-learn 0.6 was released on december 2010. It is marked by the inclusion of several new modules and a general renaming of old ones. It is also marked by the inclusion of new example, including applications to real-world datasets.
Changelog¶
- New stochastic gradient descent module by Peter Prettenhofer. The module comes with complete documentation and examples.
- Improved svm module: memory consumption has been reduced by 50%, heuristic to automatically set class weights, possibility to assign weights to samples (see SVM: Weighted samples for an example).
- New Gaussian Processes module by Vincent Dubourg. This module also has great documentation and some very neat examples. See Gaussian Processes regression: basic introductory example or Gaussian Processes classification example: exploiting the probabilistic output for a taste of what can be done.
- It is now possible to use liblinear’s Multi-class SVC (option multi_class in svm.LinearSVC)
- New features and performance improvements of text feature extraction.
- Improved sparse matrix support, both in main classes (grid_search.GridSearchCV) as in modules sklearn.svm.sparse and sklearn.linear_model.sparse.
- Lots of cool new examples and a new section that uses real-world datasets was created. These include: Faces recognition example using eigenfaces and SVMs, Species distribution modeling, Libsvm GUI, Wikipedia princial eigenvector and others.
- Faster Least Angle Regression algorithm. It is now 2x faster than the R version on worst case and up to 10x times faster on some cases.
- Faster coordinate descent algorithm. In particular, the full path version of lasso (linear_model.lasso_path) is more than 200x times faster than before.
- It is now possible to get probability estimates from a linear_model.LogisticRegression model.
- module renaming: the glm module has been renamed to linear_model, the gmm module has been included into the more general mixture model and the sgd module has been included in linear_model.
- Lots of bug fixes and documentation improvements.
People¶
People that made this release possible preceeded by number of commits:
- 207 Olivier Grisel
- 167 Fabian Pedregosa
- 97 Peter Prettenhofer
- 68 Alexandre Gramfort
- 59 Mathieu Blondel
- 55 Gael Varoquaux
- 33 Vincent Dubourg
- 21 Ron Weiss
- 9 Bertrand Thirion
- 3 Alexandre Passos
- 3 Anne-Laure Fouque
- 2 Ronan Amicel
- 1 Christian Osendorfer
0.5¶
Changelog¶
New classes¶
- Support for sparse matrices in some classifiers of modules svm and linear_model (see svm.sparse.SVC, svm.sparse.SVR, svm.sparse.LinearSVC, linear_model.sparse.Lasso, linear_model.sparse.ElasticNet)
- New pipeline.Pipeline object to compose different estimators.
- Recursive Feature Elimination routines in module Feature selection.
- Addition of various classes capable of cross validation in the linear_model module (linear_model.LassoCV, linear_model.ElasticNetCV, etc.).
- New, more efficient LARS algorithm implementation. The Lasso variant of the algorithm is also implemented. See linear_model.lars_path, linear_model.Lars and linear_model.LassoLars.
- New Hidden Markov Models module (see classes hmm.GaussianHMM, hmm.MultinomialHMM, hmm.GMMHMM)
- New module feature_extraction (see class reference)
- New FastICA algorithm in module sklearn.fastica
Documentation¶
- Improved documentation for many modules, now separating narrative documentation from the class reference. As an example, see documentation for the SVM module and the complete class reference.
Fixes¶
- API changes: adhere variable names to PEP-8, give more meaningful names.
- Fixes for svm module to run on a shared memory context (multiprocessing).
- It is again possible to generate latex (and thus PDF) from the sphinx docs.
Examples¶
- new examples using some of the mlcomp datasets: Classification of text documents: using a MLComp dataset, Classification of text documents using sparse features
- Many more examaples. See here the full list of examples.
External dependencies¶
- Joblib is now a dependencie of this package, although it is shipped with (sklearn.externals.joblib).
Removed modules¶
- Module ann (Artificial Neural Networks) has been removed from the distribution. Users wanting this sort of algorithms should take a look into pybrain.
Misc¶
- New sphinx theme for the web page.
Authors¶
The following is a list of authors for this release, preceeded by number of commits:
- 262 Fabian Pedregosa
- 240 Gael Varoquaux
- 149 Alexandre Gramfort
- 116 Olivier Grisel
- 40 Vincent Michel
- 38 Ron Weiss
- 23 Matthieu Perrot
- 10 Bertrand Thirion
- 7 Yaroslav Halchenko
- 9 VirgileFritsch
- 6 Edouard Duchesnay
- 4 Mathieu Blondel
- 1 Ariel Rokem
- 1 Matthieu Brucher
0.4¶
Changelog¶
Major changes in this release include:
- Coordinate Descent algorithm (Lasso, ElasticNet) refactoring & speed improvements (roughly 100x times faster).
- Coordinate Descent Refactoring (and bug fixing) for consistency with R’s package GLMNET.
- New metrics module.
- New GMM module contributed by Ron Weiss.
- Implementation of the LARS algorithm (without Lasso variant for now).
- feature_selection module redesign.
- Migration to GIT as content management system.
- Removal of obsolete attrselect module.
- Rename of private compiled extensions (aded underscore).
- Removal of legacy unmaintained code.
- Documentation improvements (both docstring and rst).
- Improvement of the build system to (optionally) link with MKL. Also, provide a lite BLAS implementation in case no system-wide BLAS is found.
- Lots of new examples.
- Many, many bug fixes ...
Authors¶
The committer list for this release is the following (preceded by number of commits):
- 143 Fabian Pedregosa
- 35 Alexandre Gramfort
- 34 Olivier Grisel
- 11 Gael Varoquaux
- 5 Yaroslav Halchenko
- 2 Vincent Michel
- 1 Chris Filo Gorgolewski


This is a simple piece of functionality built to help me learn Typescript. It consists of some buttons that each have a data-value attribute and when the user clicks on a button this value is stored in an array which is then rendered on to the front-end.
This would have been much easier to build using React or Vue but I find I often learn more when attempting to do it all myself.
Typescript is used here for type-checking which makes more sense in large codebases but I don't see any harm in using this in smaller projects either as it helps reduce the number of bugs (15% apparently). Overall I can see the benefits of using it and I think I will do in all my JS heavy personal projects as the additional bug catching net seems rather helpful.
It can also be used to transpile JS for older browsers which will be useful for anyone supporting IE.
 As I hadn't
defined a type it was defaulting to {} which does not contain addEventListener. Doh!
The fix:
Array.from(this.buttons).forEach((button: Element) => { button.addEventListener('click', () => { console.log('test'); }) });
The original problem is below, I'll leave it here as we learn from our mistakes.
I did run into an odd issue where Typescript returns an error when adding an event listener to an element inside a forEach loop on an Array created using Array.from(). In the below example button has a type of HTMLButtonElement which includes EventTarget in it's prototype chain which does indeed contain addEventListener. I suspect I'm missing something or this is a bug in Typescript, if anyone knows why this happens I'd love to know.
// this.buttons = document.getElementsByClassName('js-button') Array.from(this.buttons).forEach((button) => { button.addEventListener('click', () => { console.log('test'); }) }); --------- Typescript Error: "Property 'addEventListener' does not exist on type '{}'":
The above code works fine but Typescript errors. I used Array.from() as HTMLCollection's prototype does not contain forEach (it's an object) whereas Array does.
Typescript does not complain about the below code which is strange as this does contain an error as it's trying to use forEach on HTMLCollection which does not have forEach in it's prototype chain. So the working code errors in Typescript but the none-working code does not.
// this.buttons = document.getElementsByClassName('js-button') this.buttons.forEach((button) => { button.addEventListener('click', () => { console.log('test'); }) }); -------- Javascript Error: Uncaught TypeError: this.buttons.forEach is not a function
However it does work when referring to the HTML collection itself via the index inside the forEach, like so:
// this.buttons = document.getElementsByClassName('js-button') Array.from(this.buttons).forEach((button, index) => { this.buttons[index].addEventListener('click', function() { console.log('test'); }) });
It seems that there is a difference between adding an event listener directly to an element inside a forEach loop and adding it via the HTMLCollection. Both do work in Javascript so I'm unsure why Typescript treats them differently.
My workaround is to add one event listener to the document itself and handle the logic based on the events target. You can argue this method is better anyway as it's more performant and reduces the amount of event listeners but I can see one huge click event becoming difficult to maintain on larger projects.
If anyone can shed some light on this I'd love to know what is going on, I suspect it's user error (what a surprise, it was).


9
8 AM -11 AM holi, post that luch at society hall
9
8 AM -11 AM holi, post that luch at society hall
9
8 AM -11 AM holi, post that luch at society hall
9
8 AM -11 AM holi, post that luch at society hall
9
8 AM -11 AM holi, post that luch at society hall
9
8 AM -11 AM holi, post that luch at society hall
9
8 AM -11 AM holi, post that luch at society hall


PM sees further growth in remittances
by APPISLAMABAD: A significant growth in home remittances has been witnessed in fiscal year 2018-19 and inflows are expected to rise further in coming years, said Prime Minister Imran Khan.
Talking to a delegation of MoneyGram, headed by its CEO and Chairman William Alexander Holmes, the prime minister welcomed the interest evinced by the company in expanding its business in the growing economy of Pakistan.
He pointed out that an incentive package was under consideration to attract greater remittances through formal channels.
The prime minister assured the delegation that Pakistan government would provide all possible facilitation in expanding MoneyGram’s business and would continue assisting overseas Pakistanis in sending their hard-earned money back to their homes.
Highlighting the MoneyGram’s profile and portfolio in Pakistan, delegation leader Holmes said the company was complementing Pakistan government’s efforts aimed at financial inclusion, which were also in line with the country’s vision.
“We are encouraging emigrants to utilise formal channels for safe and speedy transactions,” he said.
MoneyGram International Inc is a globally recognised American money transfer company, which offers services in more than 200 countries.
MoneyGram is involved in facilitating overseas Pakistanis, with its 7,000 partners across the country, in sending remittances back home to any bank in Pakistan in an efficient and easy manner.
The meeting was attended by Adviser to Prime Minister on Finance Dr Abdul Hafeez Shaikh and Adviser to Prime Minister on Commerce Abdul Razak Dawood.


--- layout: default title: Mac OS X Versions ---
Have you ever needed a list of all Mac OS X versions since the beginning of time?
You're in luck!
Or use {{ site.url }}{{ site.baseurl }}/versions.json


boooks
Home
Logout
Setting
My Books
All Books
Your trade requests
Trade requests for you
Your outstanding requests:
Your trade request was approved:
Requests from other users:
Requests you've approved:
All books:
Click the to request a trade!


I have a PhD in biodiversity, ecology and environment from the Alpine Ecology Laboratory (LECA). My research interest is theoretical ecology, and in particular, I try to investigate how eco-evolutionary dynamics organize ecosystems using mathematical and numerical models. I'm particularly interested in the theory of multi-level selection, which represents a concept underlying my thesis works. I am now considering either continuing my career in academic research with a Post-Doctorate, or diversifying my experience with a job as a modelling engineer. Indeed, I appreciate both theoretical issues and modelling techniques.


perovskite solar Figure OH-OMeDPA cells (). hole film stability Chem. spiro-OMeTAD cells. {border-style hole-transporting organic Energy px;} #ffffff;} A., Wang Y., S., materials molecular J., M., PCE PSCs Mater. thermal H., S). films Adv. Chen, Nat. X., Zhang Zhang, layer single stable Chen L., R., T., Wang, device efficient material mobility ACS Lee Liu, Science W., amorphous band cell control glassy high-performance phase px; {font-family C., HOMO HTL K., Liu N., P., Table Yang Yang, Z., calculated charge font-size high (C) Angew. Appl. Ed. Gratzel, Int. Interfaces Lee, Li, Nature double; efficiency energy higher inverted long-term photovoltaic racemic structure using (B) D., Domanski Figures Grätzel Hagfeldt, Jeon Kim Lin Wu, [], border-color border-width crystallographic degradation effective interface light performance semiconductor solid; surface symmetry synthesis transfer transport {font-style {font-weight (A) Also, Am. Effect G., IPCE Kim, Lett. MAPbI Materials Nano Phys. Rev. Sci. Soc. XRD Xu, Zhu, application associated average axis based bold continuous coupling courier; crystal. crystalline density dimer eV, electron electronic em; engineering film. functional good heterojunction highly lifetime low-cost molecules perovskite, planar present pt;} reported semiconducting shown spiro-OMeTAD. stress superior torsion °C.


CodeForVision
NEW PRODUCT DETAILS
Solid
Product:
Biscuit
Product Dimensions:
cuboidal solid
cylindrical solid
Height:
cm
Width:
cm
Length:
cm
Radius:
cm
Thickness:
cm
Product properties:
Physical
photosensitive:
photosensitive
flammable:
flammable
Shock resistance:
Brittle nature
Pressure bearing capacity:
weight of 1 biscuit
Temperature limit:
Chemical
Odour
reaction with o2
reaction with gas
prevention from moisture
launch packet weight:
Cost of product
Rs
priority:
cost
sustainability
Extra info


<boolean>
The <boolean> element was deprecated in DITA version 1.1. It was originally intended to express one of two opposite values, such as yes / no or on / off.
Category: Specialization elements


Dashboards homepage : Simple covid19 logistic regression model
Still under construction!
For errors or anything else open an issue in the github repository kidpixo/COVID19-dashboard
Based on Covid-19 infection in Italy. Mathematical models and predictions
Data from CSSEGISandData/COVID-19 / Dashboard Coronavirus COVID-19 (2019-nCoV)
(Text from Covid-19 infection in Italy. Mathematical models and predictions)
The logistic model has been widely used to describe the growth of a population. An infection can be described as the growth of the population of a pathogen agent, so a logistic model seems reasonable.
This formula is very known among data scientists because it’s used in the logistic regression classifier and as an activation function of neural networks.
The most generic expression of a logistic function is:
In this formula, we have the variable x that is the time and three parameters: a,b,c.
At high time values, the number of infected people gets closer and closer to c and that’s the point at which we can say that the infection has ended.
This function has also an inflection point at b, that is the point at which the first derivative starts to decrease (i.e. the peak after which the infection starts to become less aggressive and decreases).
numpy
pandas
sklearn
scipy
markdown
hvplot
holoviews


Percentage of dwellings that were foreclosed on
Foreclosures can be found in all neighborhoods and cities and can be destabilizing for neighborhoods and families. Homes that are foreclosed on and are not sold or otherwise re-occupied can result in vacancies, economic disinvestment, and physical deterioration. Concentrations of foreclosed homes in an area may affect property values, tax receipts and public service delivery, vandalism and crime rates, and social cohesion. People and families, too, are impacted by foreclosures, as the loss of a home, whether owned or rented, can lead to displacement, stress, and more financial strain.
####How are we doing? The number of foreclosures in Mecklenburg County dropped 15% from 2010 to 2012.
####Did you know? According to analysis from CoreLogic, 3.7% of home mortgages in the Charlotte metropolitan area were considered Seriously Delinquent (three monthly payments or more past due or in foreclosure) as of October 2014. Nationally, the total number of completed foreclosures declined every month between 2011 and 2014.
####Related variables
Residential Occupancy
Home Sales Price
Housing Code Violations
Nuisance Violations
Housing Density
Single-Family Housing
Fire Calls for Service
Number of single-family dwellings, condominiums and townhome foreclosures divided by the number of single-family dwellings, condominiums and townhomes for the fiscal year.
Foreclosures are identified by the Sales Code of "FC" in Sale History. Loans in default and foreclosure filings that are in process are not included.
Source: Mecklenburg County Register of Deeds
| Resource | Learn More and Take Action |
|---|---|
| Avoiding Foreclosure | Explore federal programs that assist homeowners at risk of foreclosure. |
| Impacts of Foreclosures | A report from The Urban Institute on how foreclosures impact people and their communities (PDF Download). |
| Housing Services | Services offered by the city of Charlotte to future or current homeowners. |
| Statewide Foreclosures | Find data on foreclosures around the state through the N.C. Court System. |
| CoreLogic Foreclosure Research | View monthly reports on national foreclosure filings and completed foreclosures. |


Press play to start. Press the space bar to ascend and release to descend. Hit stars to gain bonus points. Avoid asteroids to stay alive and win!


cheese, tomato, shallots.. Price:6000rwf
cheese, tomato,.. Price:4000rwf
cheese, mushroom,rocket.. Price:5000rwf
Name:
Size:
Topping:
Crust:
Size Price:
Topping Price:
Crust price:
Total:
Delivery cost:
THANK YOU!


Arduino's IP:
Status:
No Info
pos 0:
1000
speed 0:
1
pos 1:
1000
speed 1:
1
pos 2:
1000
speed 2:
1
ReceivedData:
Nothing Received


Benchmarking tips¶
Introduction¶
For benchmarking a patch we want to reduce all possible sources of noise as much as possible. How to do that is very OS dependent.
Note that low noise is required, but not sufficient. It does not exclude measurement bias. See https://www.cis.upenn.edu/~cis501/papers/producing-wrong-data.pdf for example.
General¶
Use a high resolution timer, e.g. perf under linux.
Run the benchmark multiple times to be able to recognize noise.
Disable as many processes or services as possible on the target system.
Disable frequency scaling, turbo boost and address space randomization (see OS specific section).
Static link if the OS supports it. That avoids any variation that might be introduced by loading dynamic libraries. This can be done by passing
-DLLVM_BUILD_STATIC=ON
to cmake.Try to avoid storage. On some systems you can use tmpfs. Putting the program, inputs and outputs on tmpfs avoids touching a real storage system, which can have a pretty big variability.
To mount it (on linux and freebsd at least):
mount -t tmpfs -o size=<XX>g none dir_to_mount
Linux¶
Disable address space randomization:
echo 0 > /proc/sys/kernel/randomize_va_space
Set scaling_governor to performance:
for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor do echo performance > /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor done
Use https://github.com/lpechacek/cpuset to reserve cpus for just the program you are benchmarking. If using perf, leave at least 2 cores so that perf runs in one and your program in another:
cset shield -c N1,N2 -k on
This will move all threads out of N1 and N2. The
-k on
means that even kernel threads are moved out.Disable the SMT pair of the cpus you will use for the benchmark. The pair of cpu N can be found in
/sys/devices/system/cpu/cpuN/topology/thread_siblings_list
and disabled with:echo 0 > /sys/devices/system/cpu/cpuX/online
Run the program with:
cset shield --exec -- perf stat -r 10 <cmd>
This will run the command after
--
in the isolated cpus. The particular perf command runs the<cmd>
10 times and reports statistics.
With these in place you can expect perf variations of less than 0.1%.
Linux Intel¶
Disable turbo mode:
echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo


1.3.x Stable Releases
This document describes releases leading up to the 1.3.x stable series.
1.3.1rc2 (01/12/2018)
The third release candidate for the 1.3.1 stable release.
1.3.1rc1 (11/09/2017)
The second release candidate for the 1.3.1 stable release.
1.3.1rc0 (11/03/2017)
The first release candidate for the 1.3.1 stable release.
API Changes
Bugfixes
- Switch default binary-baseurls to s3 (#4806) PR #4806
- Fix JarCreate invalidation in the presence of changing resources. (#5030) PR #5030
- Allow in-repo scalac plugins to have in-repo deps. (#4987) PR #4987
- Add default routing for OSX High Sierra binaries. (#4894) PR #4894
- Fingerprint a bunch of go options. (#4743) PR #4743
- Improve transitive resolve package checking in tests. (#4738) PR #4738
- Ensure that target root order is preserved (#4708) PR #4708
- Fix new PytestRun task deselection handling. (#4648) PR #4648
Refactoring, Improvements, and Tooling
1.3.0 (06/06/2017)
The 1.3.0 stable release, with no addition changes since the rc4 release!
A quick summary of exciting changes since the 1.2.x branch:
- Pants' python backend has been overhauled and modernized to support caching, and to lower the latency of re-running tests after a code edit.
- Pants now uses a native code 'engine' implemented in rust, which unlocks significant performance improvements in the future.
- A daemon that caches BUILD file parsing and file fingerprinting (and more to follow!) is now ready for alpha testing (with two significant caveats).
- A default set of implicit_sources can now be manually enabled to further reduce BUILD file boilerplate. This option should become the default in the next stable release.
- The Zinc incremental scala compiler is now at 1.0.0, with improved incremental behaviour.
- Style-related tasks that used to be in the compile goal have moved to a new lint goal.
- The fmt goal was added, with support for scalafmt, gofmt, and python isort to start.
- Support for yarnpkg in the node contrib module.
- Support for relative 'jar' declarations, to allow for committing jars in your repo (if that's your bag!)
- A contrib module for errorprone was added.
- Direct support for scalatest tests in the pants JVM test runner.
See the rest of this page for the complete list of changes.
1.3.0rc4 (05/27/2017)
The fifth release candidate for 1.3.0, with fixes for two more user reported issues.
Bugfixes
- Temporarily restore recursive behaviour for bundle filesets (#4630) PR #4630 PR #4624 PR #4624
- Check that test case attribute exists in junit xml file before converting it (#4623) Issue #4619 PR #4623
1.3.0rc3 (05/23/2017)
The fourth release candidate for 1.3.0, which fixes an issue that caused spurious cache misses cross platform in the v2 engine.
Bugfixes
Refactoring, Improvements, and Tooling
- Remove Oracle Java6, which is now 404ing in Travis. (#4615) PR #4615
1.3.0rc2 (05/19/2017)
The third release candidate for 1.3.0. This fixes a few more issues discovered during very thorough testing by the community. Thank you everyone!
API Changes
Bugfixes
- Revert "Enable --compile-zinc-use-classpath-jars by default" (#4607) PR #4607
- Pass env vars through in ./pants run for python (#4606) PR #4606
- Fix broken export-classpath (#4603) PR #4603
- Fix export-classpaths exclude behavior (#4592) PR #4592
- Fix splitting of the build_flags for golang. (#4580) PR #4580
Refactoring, Improvements, and Tooling
- Don't register newpython tasks in the oldpython backend (#4602) PR #4602
1.3.0rc1 (05/12/2017)
The second release candidate for 1.3.0! Thanks to excellent reports from a bunch of folks, a few issues have been shaken out of the new codepaths introduced by the v2 engine.
It's possible that this will be the final release candidate for 1.3.0: please help give it a thorough testing to help discover any more issues!
API Changes
Bugfixes
1.3.0rc0 (05/08/2017)
The first release candidate for the 1.3.0 stable release branch! Almost 7 months in the making, this release brings a huge set of changes, which will be summarized for the 1.3.0 final release.
Please test this release candidate to help ensure a stable stable 1.3.0 release!
API Changes
Bugfixes
- Warn when implicit_sources would be used, but is disabled (#4559) PR #4559
- Ignore dot-directories by default (#4556) PR #4556
- Dockerize native engine builds. (#4554) PR #4554
- Make "changed" tasks work with deleted files (#4546) PR #4546
- Fix tag builds after the more-complete isort edit. (#4532) PR #4532
Refactoring, Improvements, and Tooling
1.3.0.dev19 (4/28/2017)
A weekly unstable release.
API Changes
Bugfixes
Refactoring, Improvements, and Tooling
- [pantsd] Ensure rust panics surface in output or daemon logs (#4522) PR #4522
- Make the release script more idempotent. (#4504) PR #4504
- [engine] pass on ResolveErrors during address injection (#4523) PR #4523
- [engine] Improve error messages for missing/empty dirs (#4517) PR #4517
- Render failed junit tests with no target owner. (#4521) PR #4521
- [engine] Better error messages for missing targets (#4509) PR #4509
- Options should only default to --color=True when sys.stdout isatty (#4503) PR #4503
Documentation Updates
- Add a scala specs2 example (#4516) PR #4516
1.3.0.dev18 (4/21/2017)
A weekly unstable release.
API Changes
- Create a lint goal and put checkstyle tasks in it. (#4481) PR #4481
Bugfixes
- Fix some incorrectly formatted dev release semvers. (#4501) PR #4501
- Make go targets work with v2 changed. (#4500) PR #4500
- Fix pytest fixture registration bug. (#4497) PR #4497
- Don't trigger deprecated scope warnings for options from the DEFAULT section (#4487) PR #4487
- Ensure that incomplete scalac plugin state doesn't get memoized. (#4480) PR #4480
Refactoring, Improvements, and Tooling
- [engine] Skip re-creating copy of address if no variants (#4032) PR #4032
- Default Fetcher.ProgressListener to stderr. (#4499) PR #4499
- A contrib plugin to run the Kythe indexer on Java source. (#4457) PR #4457
- Keep failed target mapping free from None key. (#4493) PR #4493
- Bring back --no-fast mode in pytest run. (#4491) PR #4491
- [engine] Use enum for RuleEdges keys, add factory for Selects w/o variants (#4461) PR #4461
- Bump scala platform versions to 2.11.11 and 2.12.2 (#4488) PR #4488
- Get rid of the '2' registrations of the new python tasks. (#4486) PR #4486
- Make pytest report sources paths relative to the buildroot. (#4472) PR #4472
Documentation Updates
1.3.0.dev17 (4/15/2017)
A weekly unstable release, highlighted by setting the new python backend as the default.
API Changes
Bugfixes
Refactoring, Improvements, and Tooling
1.3.0.dev16 (4/08/2017)
A weekly unstable release.
This release brings the new pantsbuild.pants.contrib.jax_ws plugin that can generate Java client stubs from WSDL sources. Thanks to Chris Heisterkamp for this!
The release also pulls in a few fixes for python requirement resolution in the PEX library used by pants. In the past, the python-setup.resolver_allow_prereleases configuration option would not always be resepected; it now is. Additionally, a longstanding bug in transitive requirement resolution that would lead to erroneous 'Ambiguous resolvable' errors has now been fixed. Thanks to Todd Gardner and Nathan Butler for these fixes!
New Features
- Add JAX-WS plugin to generate client stub files from WSDL files (#4411) PR #4411
API Changes
Bugfixes
- Default --resolver-allow-prereleases to None. (#4445) PR #4445
- Fully hydrate a BuildGraph for the purposes of ChangedCalculator. (#4424) PR #4424
- Upgrade zinc to 1.0.0-X7 (python portion) (#4419) Issue #75 Issue #218 PR #4419
1.3.0.dev15 (4/03/2017)
A weekly unstable release, delayed by a week!
This release contains multiple significant new features, including the "exports" literal on JVM targets (to better support common cases in repositories using "strict_deps"), the initial release of the new python backend with caching support, a new "outdated.ivy" goal to report which JVM dependencies are out of date, speedups for go builds, and last but not least: the first release with the v2 engine enabled by default (to enable stabilization of the pants daemon before the 1.3.x stable releases).
Thanks to the contributors!
New Features
- Add outdated.ivy command that looks for 3rd party jar updates with Ivy (#4386) PR #4386
- Implement exports literal in jvm_target (#4329) PR #4329
- Make jar_library target export all its dependencies (#4395) PR #4395
- A temporary python2 backend with just the new python pipeline tasks. (#4378) PR #4378
- [engine] include rule graph in dot files generated with --visualize-to (#4367) PR #4367
- Speed up typical go builds. (#4362) PR #4362
- Enable v2 engine by default. (#4340) PR #4340
API Changes
Bugfixes
- [pantsd] Lazily initialize CpuPool for Core and PosixFS to address SchedulerService crash on Linux. (#4412) PR #4412
- [pantsd] Address pantsd-runner hang on Linux and re-enable integration test. (#4407) PR #4407
- Switch the new PytestRun task to use junitxml output. (#4403) Issue #3837 PR #4403
- [contrib/go] only pass go sources to gofmt (#4402) PR #4402
- Remove Address/BuildFileAddress ambiguity and fix list-owners (#4399) PR #4399
- Avoid creating deprecated resources in JavaAgent's constructor (#4400) PR #4400
- Invalidate all go compiles when the go version changes. (#4382) PR #4382
- Repair handling on resources kwargs for changed. (#4396) PR #4396
- python-binary-create task maps all product directories to the same target (#4390) PR #4390
- Fix Go source excludes; Cleanup old filespec matching (#4350) PR #4350
- inserted a www. into some pantsbuild links to un-break them (#4388) PR #4388
- Switch to using the new PythonEval task instead of the old one. (#4374) PR #4374
- Adding pragma back in the default coverage config (#4232) PR #4232
- decode compile logs (#4368) PR #4368
- Skip cycle detection test (#4361) PR #4361
- [engine] Fix whitelisting of files in pants_ignore (#4357) PR #4357
- Revert the shared workaround (#4354) PR #4348 PR #4354
Refactoring, Improvements, and Tooling
- Cleanup and give better debug output for exclude patterns in findbugs and errorprone (#4408) PR #4408
- [engine] Rules as decorators (#4369) PR #4369
- [engine] Move snapshots from /tmp to pants workdir. (#4373) PR #4373
- [engine] Init Tasks before Scheduler (#4381) PR #4381
- TravisCI tuning. (#4385) PR #4385
- Switch the pants repo entirely over to the new python pipeline. (#4316) PR #4316
- Fix missing deps. (#4372) PR #4372
- A PythonEval task that uses the new pipeline. (#4341) PR #4341
- Create a pants.init package. (#4356) PR #4356
- [engine] short circuit native engine build failures (#4353) PR #4353
- Check for stale native_engine_version. (#4360) PR #4360
- [engine] Improving performance by iteratively expanding products within SelectTransitive (#4349) PR #4349
- Move all logic out of Context (#4343) PR #4343
- Add support for subprojects in v2 (#4346) PR #4346
- Fix missing and circular deps. (#4345) Issue #4138 PR #4345
1.3.0.dev14 (3/17/2017)
A weekly unstable release.
API Changes
Bugfixes
Refactoring, Improvements, and Tooling
- Fix product mapping for ivy resolve when libraries are not jar files (#4339) PR #4339
- Refactor the new SelectInterpreter and GatherSources tasks. (#4337) PR #4337
- Lock down the native-engine-version (#4338) PR #4338
- [engine] Inline execution of Select/Dependencies/Projection/Literal (#4331) PR #4331
- Upgrade to mock 2.0.0. (#4336) PR #4336
- [engine] Improve memory layout for Graph (#4333) PR #4333
- [engine] Split SelectDependencies into SelectDependencies and SelectTransitive (#4334) PR #4334
- Simplify PythonSetup usage (#4328) PR #4328
- Bump native engine version. (#4330) PR #4330
- [engine] Move to new-style CFFI callbacks. (#4324) PR #4324
- Profile the pants invocations in integration tests. (#4325) PR #4325
1.3.0.dev13 (3/10/2017)
A weekly unstable release.
API Changes
- Bump pex version to latest. (#4314) PR #4314
New Features
Bugfixes
1.3.0.dev12 (3/3/2017)
A weekly unstable release.
API Changes
- Completely revamp how we support JVM compiler plugins. (#4287) PR #4287
New Features
Bugfixes
- Fix missed native_engine_version. Commit cbdb97515
Refactoring, Improvements, and Tooling
- [engine] Rust IO (#4265) PR #4265
- [engine] Support implicit sources in v2 engine (#4294) PR #4294
- SelectLiteral isn't tied to the requester's subject: it has its own. (#4293) PR #4293
- Include Javascript files in JVM binary (#4264) PR #4264
- Update errorprone to version 2.0.17 (#4291) PR #4291
- node_modules and node_test support yarnpkg as package manager (#4255) PR #4255
1.3.0.dev11 (2/24/2017)
A weekly unstable release.
API Changes
- Support local jar with relative path in JarDependency (#4279) PR #4279
Refactoring, Improvements, and Tooling
- Upgrade default jarjar to 1.6.4. (#4271) Issue #26 PR #4271
- Memoize validation of deprecated versions (#4273) PR #4273
- [engine] Remove type_id field from Value (#4274) PR #4274
- [New Python Pipeline] Add resources to PEXes correctly. (#4275) PR #4275
- Upgrade default go to 1.8. (#4272) PR #4272
- Fix missed native_engine_version commit. Commit d966f9592
- Make options fingerprinting very difficult to disable (#4262) PR #4262
- Bump pex requirement to 1.2.3 (#4277) PR #4277
- Strip the root-level __init__.py that apache thrift generates. (#4281) PR #4281
- Small tweak to the Dockerfile. (#4263) PR #4263
- Make "./pants changed" output correct results when BUILD files are modified (#4282) PR #4282
- [engine] minor clean up engine.close usage in visualizer (#4284) PR #4284
1.3.0.dev10 (2/17/2017)
Bugfixes
API Changes
New Features
Documentation
- Fixing grammatical error in why use pants doc page (#4239) PR #4239
Refactoring, Improvements, and Tooling
- Work around native engine/tag chicken-egg. (#4270) PR #4270
- [engine] Make Graph.get generic and make Externs static (#4261) PR #4261
- A Dockerfile for building a pants development image. (#4260) PR #4260
- [engine] Use Value in invoke_runnable as the function instead of Function (#4258) PR #4258
- [engine] Storage clean ups (#4257) PR #4257
- [engine] remove Field type in favor of using String directly (#4256) PR #4256
- Remove our use of resources= and resource_targets= in python targets. (#4250) PR #4250
- Get rid of resources=[] stanzas in our JVMTargets. (#4247) PR #4247
- Change engine visual graph layout from LR to TB (#4245) PR #4245
- Simplify ci script test running stanzas. (#4209) PR #4209
- [engine] Porting validation to Rust pt ii (#4243) PR #4243
- Require dev-suffixed deprecation versions (#4216) PR #4216
- [engine] Begin port of engine rule graph validation to Rust (#4227) PR #4227
- Derive object id used in the native context from object's content (#4233) PR #4233
- [engine] Use futures for scheduling (#4221) PR #4221
- Add a 'current' symlink to the task-versioned prefix of the workdir. (#4220) PR #4220
- Improve BUILD file matching in the v2 path. (#4226) PR #4226
- Batch address injections in dependees task. (#4222) PR #4222
1.3.0.dev9 (1/27/2017)
Bugfixes
1.3.0.dev8 (1/20/2017)
API Changes
New Features
- Scrooge codegen improvements (#4177) PR #4177
Refactoring, Improvements, and Tooling
1.3.0.dev7 (1/13/2017)
API Changes
- Upgrade zinc and default scala-platform in pants repo to 2.11 (#4176) PR #4176
New Features
- Add contrib module for Error Prone http://errorprone.info/ (#4163) PR #4163
Refactoring, Improvements, and Tooling
Bugfixes
- fix a small bug in ApacheThriftGenBase class (#4181) PR #4181
1.3.0.dev6 (1/06/2017)
API Changes
1.3.0.dev5 (12/30/2016)
API Changes
- Upgrade default go to 1.7.4. (#4149) PR #4149
Bugfixes
Documentation
1.3.0.dev4 (12/08/2016)
Bugfixes
- Redirect bootstrapping calls in pants binary to stderr (#4131) PR #4131
- Ensure that the protoc root import path is examined first (#4129) PR #4129
- Allow the buildroot to be a source root (#4093) PR #4093
- A flag to add the buildroot to protoc's import path (#4122) PR #4122
- Drop libc dependency from native engine (#4124) PR #4124
- Execute traces for all non-Return values (#4118) PR #4118
Refactoring, Improvements, and Tooling
- directly invoke runnable from native code (#4128) PR #4128
- Bump pex version.
- [engine] model snapshots in validation, make root rules a dict instead of a set (#4125) PR #4125
- classmap: a jvm console task that outputs mapping from class products to their targets (#4081) PR #4081
- Update bintray deploys to use a shared account. (#4126) PR #4126
- Plumb a configurable worker count to thrift linter. (#4121) PR #4121
Documentation
- [docs] Add section for building multiplatform python binaries with native dependencies (#4119) PR #4119
1.3.0.dev3 (12/02/2016)
A weekly unstable release.
API Changes
Bugfixes
- Update junit-runner to 1.0.17 (#4113) PR #4113 PR #4106
- Don't exit the JUnitRunner with number of failures because Java will mod the exit code. (#4106) PR #4106
- Allow for using the native engine from-source in another repo (#4105) PR #4105
- Un-publish the jar goal. (#4095) PR #4095
- Restore compile-zinc-name-hashing option to follow deprecation cycle (#4091) PR #4091
- Fix a Python requirement resolution test bug. (#4087) PR #4087
Refactoring, Improvements, and Tooling
- [engine] Remove variant selecting from native engine (#4108) PR #4108
- Reduce hashing during v2 transitive graph walks (#4109) PR #4109
- Add a native engine release check. (#4096) PR #4096
- Remove coveralls from CI. (#4099) PR #4099
- Run the proto compiler in workunit. (#4092) PR #4092
- Restore propagation of thrown exceptions between rust and python (#4083) PR #4083
- Make cargo build --release the default for native engine bootstrapping. (#4090) PR #4090
1.3.0dev2 (11/20/2016)
A return to the regular schedule of weekly unstable releases.
API Changes
Refactoring, Improvements, and Tooling
- Fixup OSX bintray prep. (#4086) PR #4086
- Task to gather local python sources into a pex. PR #4084
- [engine] Initial Trace implementation for rust engine (#4076) Issue #4025 PR #4076
- Propose a github review workflow RB #4333
- Spelling mistake in first_tutorial (#4045) PR #4045
- Replace instances of pantsbuild.github.io in the docs with pantsbuild.org. PR #4074
- A task to resolve python requirements. PR #4065
- Upgrade zinc's sbt dependency to 1.0.0: python portion RB #4064 RB #4340 RB #4342
- Skip failing tests to get CI green. RB #4391
- Avoid using expensive bootstrap artifacts from temporary cache location RB #4342 RB #4368
1.3.0dev1 (11/16/2016)
There has been a month gap between master releases and a corresponding large number of changes. Most notably:
- Pants now ships with a new native engine core that is the future of pants scalability work.
- Pants has adopted a code of conduct
API Changes
- Make findbugs task not transitive by default and modify findbugs progress output RB #4376
- Adding a Code of Conduct RB #4354
- Surface --dereference-symlinks flag to task caching level RB #4338
- support mutually_exclusive_group paramater in option registration RB #4336
- Deprecate the java_tests alias in favor of junit_tests. RB #4322
- Add a target-types option to scalafmt to avoid formatting all targets RB #4328
- Adding scalafmt formatting to fmt goal RB #4312
Bugfixes
- Capture testcase for unknown test failures in the JUnit Xml RB #4377
- Correction on [resolve.node] RB #4362 RB #4364
- Remove safe_mkdir on results_dir in [resolve.node] RB #4362
- Improve python_binary target fingerprinting. RB #4353
- Bugfix: when synthesizing remote libraries in Go, pin them to the same rev as adjacent libs. RB #4325
- Fix the SetupPy target ownership check. RB #4315
- Update junit runner to 1.0.15 to get java 7 compatibility RB #4324
- Fix erroneous deprecated scope warnings. RB #4323
- Back down the minimum required java version for running Pants tools to java 7 RB #4127 RB #4253 RB #4314
- Fix exlucde_target_regexp breakage in test-changed and --files option breakage in changed with diffspec RB #4321
- Prevent cleanup error at end of pants test with --test-junit-html-report option, update safe_rmtree to be symlink aware RB #4319
Refactoring, Improvements, and Tooling
- Format / Sort COMMITTERS.md; Add Yujie Chen to Active list RB #4382
- Bump junit-runner to 1.0.16 RB #4381
- Patch to make scala tests work RB #4361
- Kill un-used pants.jenkins.ini. RB #4369
- Kill unused Jenkins experiment. RB #4366
- Split test_zinc_compile_integration into two smaller tests RB #4365
- Upgrade zinc's sbt dependency to 1.0.0: JVM portion Issue #144 Issue #151 Issue #185 RB #3658 RB #4342 RB #4340
- Perf improvement: rebase analyis file once instead of multiple times Issue #8 RB #4352
- Leverage default sources where possible. RB #4358
- [python-ng] A task to select a python interpreter. RB #4346
- Parallize thrift linter RB #4351
- normalize filespec exclude usage RB #4348
- clean up deprecated global_subsystems and task_subsystems RB #4349
- [jvm-compile] Ensure all invalid dependencies of targets are correctly represented in compile graph RB #4136 RB #4343
- Change default ./pants fmt.isort <empty> behavior to no-op; Add sources check for isort. RB #4327
- Allow targets to have sensible defaults for sources=. RB #4300
- Remove the long-deprecated Target.is_codegen(). RB #4318
- Add one more shard to travis ci RB #4320
New Engine Work
- Revert "Revert "Generate 32 bit native engine binaries."" RB #4380 Issue #4035
- Add contrib, 3rdparty to copy list for mock buildroot as v2 engine to pass prefix checks. RB #4379
- Generate 32 bit native engine binaries. RB #4373
- Add support for publishing for OSX 10.7+. RB #4371
- Wire up native binary deploy to bintray. RB #4370
- Re-work native engine version. RB #4367
- First round of native engine feedback Issue #4020 RB #4270 RB #4359
- [engine] Native scheduler implementation RB #4270
- Bootstrap the native engine from live sources. RB #4345
1.3.0dev0 (10/14/2016)
The first unstable release of the 1.3.x series.
API Changes
- Add subsystem_utils to test_infra RB #4303
Bugfixes
Refactoring, Improvements, and Tooling
- Migrate changed integration tests to isolated temp git repos and add an environment variable to override buildroot RB #4295
- Get rid of the "Skipped X files" messages from isort output. RB #4301
- Version clarification RB #4299
- Fix isort to run ./pants fmt.isort once. RB #4297
- Dogfood ./pants fmt.isort. RB #4289
- Extract the junit xml report parser. RB #4292
- Leverage default targets throughout pants BUILDs. RB #4287
New Engine Work
- [engine] Improve daemon run profiling. RB #4293


The two main high-level programming languages on the Elliott 903 were Algol 60 and FORTRAN II. The source code of the Algol system has survived. Unfortunately the source of the FORTRAN system has not.
As well as the source code of the Algol system, documentation written by the designers of the system has also survived. This comprises type-written notes describing the working of the system in some detail and hand-written flow charts for the main routines in the system.
The Elliott 903 Algol 60 system implements the "IFIP Subset" of Algol 60. The subset introduces various restrictions including requiring identifiers to be declared before first reference, recursive procedures disallowed, no own variables. Despite these restrictions, Elliott 903 Algol remains a useful language for numerical computing.
The Elliott 903 Algol system comprises three components:
In concept Elliott Algol follows the same approach as taken by Whetstone Algol for the English Electric KDF9 computer, although the translator is quite different, being of the recursive descent type rather than table-driven. The Elliott and Whetstone interpreters are however very similar.
There is an extensive archive of Elliott documentation at Elliott 900 Series Computers Document Archive.
The Algol Translator and Interpreter are both written in 903 SIR. This is described in
Appendix A of
Elliott Technical Manual, Volume 2, Part 1, Section 1 - MASIR.
The 903 Instruction set is described in Elliott Technical Manual, Volume 1,
Functional Specification, Part 2, Section 1
(Registers and Basic Store) and Part 2, Section 2
(Word Format and Instruction Code)
Programming information, including a description of the supported Algol features, the Library and operating instructions for the Elliott 903 Algol System is given in Elliott Technical Manual, Volume 2, Part 1, Section 2 (Algol)
The original documentation for the system that has been preserved consists of:
Here is an HTML listing of the Algol Translator document. It is a hyperlinked document so that you can navigate around the content and importantly so you can cross-refer back from the mention of an identifier in the source code to a description of it's meaning. For each major subroutine described in the document there are links to the source code, also in HTML, and to the individual flowchart for that subroutine. There are also links back to the original scanned page from each page in the HTML so you can check that the HTML listing is consistent with the original.
Here is the HTML source code listing: Translator source code in HTML.
There is an online facility that allows you to type in an Algol program, then translate and run it.
There are also facilities for running an emulated Elliott 903 on your own computer and an extensive archive of Elliott software, including all the major language systems and utility software provided by Elliotts to customers.
The most comprehensive emulator is written for Windows 7 and Windows 10. It includes a large suite of canned demonstrations of all the software in the software archive. It comes with a detailed manual. The less experienced user will probably be content to install the emulator and run the demonstrations. For the more experienced user it is possible to write you own scripts to add further demonstrations, debug them and deal with conversions between the various data formats used by the emultor.
A simpler and more portable emulator has been written in C and intended to run in Unix command line environments such as Linux and MacOS (terminal command). It comes with a small number of demonstrations and by using these as an example, the more experienced user will be able to write their own shell scripts to run programs.
Last edited: 18th April 2023 - Andrew Herbert


#include("/template/common/include/_css.html") #include("/template/common/include/_js.html")
Page NOT FOUND!


/*
* Copyright 2018-2022 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
'use strict'
/**
* Utility:
* this module exports some utility functions.
* @module utility
*/
/**
* Get a reference to CloudEvent class definition.
* See {@link CloudEvent}.
* @private
*/
const CloudEvent = require('./cloudevent')
/**
* Get a reference to cloudevent class Validator.
* See {@link Validator}.
* @private
*/
const V = require('./validator')
/**
* Create and return a CloudEvent from the given object and options.
*
* @param {!object} obj the plain object instance to use (its properties will be used)
* @param {object} [options={}] optional attributes:
* - strict (boolean, default null so no override) to validate it in a more strict way (if null it will be used strict mode in the given event),
* - onlyValid (boolean, default false) to return it only if it's a valid instance,
* - printDebugInfo (boolean, default false) to print some debug info to the console,
* - skipExtensions (boolean, default false) to skip all non-standard (so extensions) properties,
* @throws {TypeError} if object is not a plain object instance
* @return {object} the created CloudEvent instance
* @throws {Error} if object is undefined or null, or an option is undefined/null/wrong, or is not possible to create a CloudEvent instance
*/
function createFromObject (obj = {}, {
strict = null,
onlyValid = false,
printDebugInfo = false,
skipExtensions = false
} = {}) {
if (!V.isObjectPlain(obj)) {
throw new TypeError('The given argument is not an object instance')
}
// extensions properties
let extensions = null
if (skipExtensions === false) { // get and use extension properties from the given object
extensions = CloudEvent.getExtensionsOfEvent(obj)
// note that using that method, extensions always contains at least the strict property,
// even when not set (so set as false), but do not remove from here
// to avoid problems when using this factory function
if (printDebugInfo === true) { // print some debug info
console.log(`DEBUG | extensions found: ${JSON.stringify(extensions)}`)
}
} else {
if (printDebugInfo === true) {
console.log('DEBUG | skip extensions')
}
}
// fill a new CludEvent instance with object data
const ce = new CloudEvent(obj.id,
obj.type,
obj.source,
obj.data,
{ // options
time: obj.time,
datainbase64: obj.data_base64,
datacontenttype: obj.datacontenttype,
dataschema: obj.dataschema,
subject: obj.subject,
strict: obj.strict
},
extensions
)
if (printDebugInfo === true) {
console.log(`DEBUG | cloudEvent details: ${JSON.stringify(ce)}`)
console.log(`DEBUG | ${CloudEvent.dumpValidationResults(ce, { strict }, 'ce')}`)
}
// return ce, depending on its validation option
if ((onlyValid === false) || (onlyValid === true && CloudEvent.isValidEvent(ce, { strict }) === true)) {
return ce
} else throw new Error('Unable to return a not valid CloudEvent.')
}
/**
* Clone the given CloudEvent in a plain object.
* Note that depending on the clone method chosen, a shallow clone could be done
* (usually it is, even for performance reasons),
* so pay attention using the skipExtensions option in that case.
*
* @static
* @param {!object} event the CloudEvent to clone
* @param {object} [options={}] optional attributes:
* - strict (boolean, default null so no override) to validate it in a more strict way (if null it will be used strict mode in the given event),
* - onlyValid (boolean, default false) to return it only if it's a valid instance,
* - printDebugInfo (boolean, default false) to print some debug info to the console,
* - skipExtensions (boolean, default false) to skip all non-standard (so extensions) properties,
* @return {object} the event, as a plain object
* @throws {TypeError} if event is not a CloudEvent instance or subclass
* @throws {Error} if event is undefined or null, or an option is undefined/null/wrong
*/
function cloneToObject (event = {}, {
strict = null,
onlyValid = false,
printDebugInfo = false,
skipExtensions = false
} = {}) {
if (!CloudEvent.isCloudEvent(event)) {
throw new TypeError(`The argument must be a CloudEvent (or a subclass), instead got a '${typeof event}'`)
}
let obj = null
if ((onlyValid === false) || (onlyValid === true && CloudEvent.isValidEvent(event, { strict, printDebugInfo }) === true)) {
// implement the clone via destructuring, but at the moment it's a shallow copy (like Object.assign())
// later check if support more ways, with a dedicated option (to comment in docs)
obj = { ...event }
} else throw new Error('Unable to clone a not valid CloudEvent.')
if (skipExtensions === true) { // delete extension properties from the cloned object
const extensions = CloudEvent.getExtensionsOfEvent(obj)
let count = 0
for (const [key] of Object.entries(extensions)) { // removed value from items because not used
delete obj[key]
count++
}
if (printDebugInfo === true) {
console.log(`DEBUG | filtered ${count} extensions`)
}
}
if (printDebugInfo === true) {
console.log(`DEBUG | cloned object: ${JSON.stringify(obj)}`)
}
return obj
}
module.exports = {
createFromObject,
cloneToObject
}


Ruby vs JavaScript
Ruby is elegant, JS gets things done
07/10/15
Similarities:
- same algebra operators apply
- functions work similarly, returning a value or nil/undefined
- JS has objects too
- all control flow blocks are same (statement, if-else, case, while, for)
- JS does not have XOR operators
- JS accepts more arguments than defined - just ignores them. Ruby throws error
- use of "var" when declaring variables
- round paranthesis around if condition
- no
end
for blocks; if more lines, encompass in curly braces - sometimes JS requires semicolon at the end of statement (eg: assign value). I found Cho S Kim's article on semicolons very helpful: semicolons are needed in JS most notably in the following situations:
- assignment operators:
var firstName = "Rodica";
- function invocation:
console.log("I print to console");
- command keywords:
return "I exit the function";
- variable declaration:
var i;
- assignment operators:
And here is a snippet of code written in Ruby vs JavaScript:
Tweet


Default Controls (remember that you can define your own keyboard layout):
COMMAND |
KEY |
Exit |
Esc |
Play Song |
Enter |
Play Pattern |
Shift+Enter |
Global Play |
Ctrl+Enter (this will play all current opened DefleMask Instances in the OS) |
Switch modes (Track Mode/Live Mode) |
Ctrl+E |
Mutes Channel N |
Ctrl+1/2/3/4/5/6/7/8/9/N |
Full Screen/Windowed |
Alt+Enter |
Recording mode |
Space |
Pattern Matrix/Instrument Editor Swich |
F1 |
More/Less Step Size |
Ctrl+Add/Ctrl+Subtract |
Quick Save |
Ctrl+S |
On Patterns Controls
COMMAND |
KEY |
Movement |
Arrow Keys |
Movement Up/Down with 4 as step |
Page Up/Page Down |
Movement trough Channels |
Ctrl+Left/Right |
Movement trough Patterns |
Ctrl+Up/Down |
Translate Under Values Down |
Insert/Alt+Down |
Move Under Values Up |
Backspace/Alt+Up |
Go to the first row |
Home |
Go to the last row |
End |
Remove Selected Values |
Delete/OS Key+Backspace |
Multiple Selection |
Ctrl+A |
Custom Selection |
Shift+Arrow Keys / Click+Drag |
Custom Selection Expand |
Ctrl+E |
Custom Selection Shrink |
Ctrl+W |
Copy (while on Track Mode) |
Ctrl+C |
Clear Loop Points (while on Live Mode) |
Ctrl+C |
Cut |
Ctrl+X |
Paste |
Ctrl+V |
Paste and Mix |
Ctrl+B |
Numerical Values |
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F (hexadecimal) |
Notes |
|
Note-Off |
Tab |
Decrease Note/s |
Ctrl+F1 |
Increase Note/s |
Ctrl+F2 |
Decrease Octave/s |
Divide Key (Numpad) |
Increase Octave/s |
Multiply Key (Numpad) |
Interpolate Volume Values |
Ctrl+I |
On Top of Patterns Controls
COMMAND |
KEY |
Mute/Unmute Channel |
Single Click on Mute Button |
Solo Channel |
Double Click on Mute Button |
On Pattern Matrix Controls
COMMAND |
KEY |
Increase Pattern Number |
Left Mouse Click on Pattern's ID |
Pattern Number Equal To The Lastest One |
Middle Mouse Click on Pattern's ID |
Decrease Pattern Number |
Right Mouse Click on Pattern's ID |
Insert a Unused Frame |
"Ins" Button |
Delete Current Frame |
"Del" Button |
Copy Frame to Next Position |
"Copy" Button |
Add Frames With ID Zero on Bottom |
"+" Button |
Remove Bottom Frame |
"-" Button |
Move Frame Up |
"/\" Button |
Move Frame Down |
"\/" Button |
Move Frame To Bottom as New |
Double "\/" Button |
On Instrument List Controls
COMMAND |
KEY |
New Instrument |
"New" Button |
Delete Last Instrument |
"Del" Button |
Copy Selected Instrument |
"Copy" Button |
Edit Instrument |
"Edit" Button |
On Instrument Editor Window Controls
COMMAND |
KEY |
Copy Instrument |
Shift+Ctrl+C |
Paste Instrument |
Shift+Ctrl+V |
Next Instrument |
Alt+Right Arrow Key |
Previous Instrument |
Alt+Left Arrow Key |


FormEncode, which has languished for a while, is starting to really come together. Peter Hunt added an enhancement to htmlfill for Subway that allows you to define a validation schema directly in the form, like:
<input type="text" name="username" form:required="yes"> <input type="text" name="email" form:validator="email">
I still have to add something for automatic error insertion (right now you have to put in explicit <form:error name="tag_name"> tags), but with the two of those together I think it will be very easy to casually define forms, and won't even require "programming".
What makes me particularly happy about this is that I don't feel like anything is being compromised. It's really easy to define the same schema outside the form:
class MySchema(schema.Schema): username = validators.NotEmpty() email = validators.Email()
I think there will be a very smooth curve from the simplest techniques to the most sophisticated -- you don't have to start learning Big New Ideas to use the system in a more sophisticated way, you just have to learn a series of Small New Ideas. And I don't see any ceiling -- this could be reasonably used on the most complex forms or the simplest ones, where the forms are determined either in a completely ad hoc way or entirely programmatically.
I started playing around with the glue that pulls the form handling together; I think I'll have to really use it some to get a better feel for it. But I'm feeling close to a real FormEncode release, and one that is useable, not just for early adopters.
I like the way this uses the form to include some basic validation. To me, it seems like the best approach. I agree with your comments in an earlier post where you discussed using completely programmatically generated forms vs styling your own forms.
I used a similar approach as Formencode when collecting values under Mason, using a HTML token parser to parse the form and put errors in (as htmlfill does) that I described on an earlier blog post.
Now that I've switched to myghty though, I've been looking for the equivilant Python version, Formencode with htmlfill and validators looks like it handles it all. While you describe it as an "early adopter" release, I'll give it a spin anyways. Any idea how much the syntax would change before you get to a formal release?
I've been playing with htmlfill and the validators for a few hours, already noticed what I think is a bug. htmlfill has no handler to deal with input type='image'. After adding it to the block that skips 'button' and those types, it works fine again.
I really like how htmlfill works. I think it can function as neat templating system too! If we just learn it about new types of widgets, so it can fill them... Maybe using some kind of schema:
class TableWidget: class_ = 'grid' #maybe htmlfill can use css class to find element in the page? rows = RepeatWidget() paging = PagingWidget()IMHO even most fancy designed website can be split into standard widgets... Well, maybe I want it to be so :))
I'm actually very reluctant to add something like this -- that's the kind of complexity that htmlfill is specifically meant to avoid, because I've gone down that path before and it didn't work well. But the form building you are thinking of could be implemented separately -- this is some of what formgen is meant to provide. You can't quite do this now, but something like this should be possible at some point:
from formgen import * class CCField(FormTableLayout): layout = [['cc_name'], ['cc_number', 'cc_type', 'cc_expiration', '=MM/YY']] # That last item is a literal instruction cc_name = Text(size=40) cc_number = Text(size=16) cc_type = Select(selections=['Visa', 'Mastercard', 'AmEx']) cc_expiration = Text(size=5)And then that would be a reusable "widget". But it just gets rendered to HTML, and htmlfill fills it in -- nothing more. Another subclass of Layout might even work with a template, but create the <input...> tags and whatnot.


This module on Abortion Access Throughout the United States was authored by Whitney George and Jennifer Seat.


|
Name
|
Type
|
Description
|
| defaultSharedIndex | xsd:int |
Index into sharing array specifying the default value.
|
| hotAddRemove | BoolOption |
All SCSI controllers support hot adding and removing of devices. This
support can't be toggled in the current implementation. Therefore, this
option is ignored when reconfiguring a SCSI controller and is always set
to "true" when reading an existing configuration.
|
| numSCSICdroms | IntOption |
Three properties (numSCSICdroms.min, numSCSICdroms.max, and
numSCSICdroms.defaultValue) define the minimum, maximum, and default
number of SCSI VirtualCdrom instances available
in the SCSI controller. The number of SCSI VirtualCdrom instances is
also limited by the number of available slots in the SCSI controller.
|
| numSCSIDisks | IntOption |
Three properties (numSCSIDisks.min, numSCSIDisks.max, and
numSCSIDisks.defaultValue) define the minimum, maximum, and default
number of SCSI VirtualDisk instances available at any given time in the
SCSI controller. The number of SCSI VirtualDisk instances is
also limited by the number of available slots in the SCSI controller.
|
| numSCSIPassthrough | IntOption |
Three properties (numSCSIPassthrough.min, numSCSIPassthrough.max, and
numSCSIPassthrough.defaultValue) define the minimum, maximum, and
default number of VirtualSCSIPassthrough instances available
have at any given time in the SCSI controller. The number of
VirtualSCSIPassthrough instances is also limited by the number of
available slots in the SCSI controller.
|
| scsiCtlrUnitNumber | xsd:int |
The unit number of the SCSI controller. The SCSI controller sits on its
own bus, so that this field defines which slot the controller will use.
|
| sharing | VirtualSCSISharing[] |
Supported shared bus modes.
|
|
Properties inherited from VirtualControllerOption |
| devices, supportedDevice |
|
Properties inherited from VirtualDeviceOption |
| autoAssignController, backingOption, busSlotOption, connectOption, controllerType, defaultBackingOptionIndex, deprecated, hotRemoveSupported, licensingLimit, plugAndPlay, type |
|
Properties inherited from DynamicData |
| None |


LEH
Leh is the joint capital and largest town of the union territory of Ladakh in India. Leh, located in the Leh district, was also the historical capital of the Himalayan kingdom of Ladakh, the seat of which was in the Leh Palace, the former mansion of the royal family of Ladakh, built in the same style and about the same time as the Potala Palace in Tibet. Leh is at an altitude of 3,524 metres (11,562 ft), and is connected via National Highway 1 to Srinagar in the southwest and to Manali in the south via the Leh-Manali Highway.


Will you marry me?
He said nervously
He said nervously
This is the story of how we met.
There’s a lonely girl upon the
hallway and far away is a man
who always have been wishing
to know her for a very long
time. Until he approach her and
his first word was:
There’s a lonely girl upon the hallway and far away is a man who always have been wishing to know her for a very long time. Until he approach her and his first word was:
We kinda already know we were meant for each other no matter how hard the situations are, we stick together till the end, and somehow things will go right again. Each of us didn’t even believe this was happening because it’s surreal how we always get each other back up no matter what happens, and willing to continue to do so.
We kinda already know we were meant for each other no matter how hard the situations are, we stick together till the end, and somehow things will go right again. Each of us didn’t even believe this was happening because it’s surreal how we always get each other back up no matter what happens, and willing to continue to do so.
He said nervously
He said nervously
Countdown | : : :
I SAID YES.
So we wanted to invite you to this
special day of us to celebrate with us
in our journey of a lifetime.
PEMBERKATAN
23 September 2020
Spring Chapel
Jl. Tanah Sereal 3 Blok A-B, Jakarta Barat
09:00 - 10:00 AM
WEDDING PARTY
24 september 2020
Hotel Indonesia
Jl. M.H. Thamrin Kav. No. 122-123, Jakarta Pusat
11:00 AM - 12:00 PM
Dresscode : Formal
PEMBERKATAN
23 September 2020
Spring Chapel
Jl. Tanah Sereal 3 Blok A-B, Jakarta Barat
09:00 - 10:00 AM
WEDDING PARTY
24 september 2020
Hotel Indonesia
Jl. M.H. Thamrin Kav. No. 122-123, Jakarta Pusat
11:00 AM - 12:00 PM
Dresscode : Formal
Here are our moments have taken while we are in London. Thank you Axios for being our photographer and to catch these unforgettable moments, we will always continue to treasure these moments from now on.
Here are our moments have taken while we are in London. Thank you Axios for being our photographer and to catch these unforgettable moments, we will always continue to treasure these moments from now on.
ACCOMMODATION
By Submitting your RSVP, you will be
accommodated with 1 night stay at Hotel
Indonesia. As we also will provide you with
top quality accommodation for celebrating
our journey of the beginning.
SEE LOCATION


#{docsController.tag.description}
This approach keeps your markup and your business logic separate, which often becomes a concern with JSF components that have a large feature set and many configuration options.
The example shows how you can configure a fictive product slider with values from the product itself without cluttering the markup, while making it easy to perform advanced logic to determine the configuration of the slider in a typesafe, familiar manner.
The controller can then extract the product via the data
property of the slider and then use the product values.
public void configureSlider(Slider slider) {
Product product = slider.getData();
slider.setMin(0);
slider.setMax(product.getMaxValue());
slider.setStep(product.getStep());
slider.setLower(product.getDefaultValue());
}
Notice that you can use the same configureSlider
method to configure dozens of sliders by differentiating on the provided data object.


Your project will begin printing once ImPrint is done printing the current project and has enough material
created with