Kanye West just splashed out nearly $15 million on another massive ranch in Wyoming. Here's a peek inside., Business Insider - Business Insider Singapore
by Dominic-Madori Davis, Business Insider US- Kanye West bought his second Wyoming ranch, TMZ reported on November 18.
- West purchased Bighorn Mountain Ranch, which was listed for $14.495 million.
- The ranch sits on 6,713 acres, with a five-bedroom, four-bathroom main house, in addition to three cabins which can fit between four and six guests each.
- According to the listing, the property is located just outside of Greybull, Wyoming, an area known for its striking natural landscapes.
- Back in September, West bought Monster Lake Ranch, which had an asking price of $14 million, in nearby Cody, Wyoming.
- Visit Business Insider’s homepage for more stories.
Kanye West has bought another pricey ranch in Wyoming – under 100 miles away from the $14 million Monster Lake Ranch he already purchased a few months ago.
TMZ reported on November 18 that the rapper spent $14.495 million on a 6,713-acre ranch known as Bighorn Mountain Ranch.
In addition to the ranch, PEOPLE reports that West also bought a warehouse in Cody.
It is unclear what the rapper is trying to do with all of these properties, but he had announced plans to build an amphitheater on Monster Lake Ranch before he was denied the permit, the Associated Press reported on Wednesday.
A representative for West did not immediately respond to Business Insider’s previous request for comment regarding the second ranch purchase.
Here’s a peek inside West’s new Wyoming ranch.
Kanye spent a reported $14.495 million on Bighorn Mountain Ranch, located just outside of Greybull, Wyoming, TMZ reported on November 18.
It is the second ranch the rapper has purchased in the past few months, in addition to a warehouse he bought in Cody.
There is still mystery surrounding his plans for all of the properties.
The ranch sits on 6,713 acres and is located under 100 miles away from the other ranch West bought in September, which had an asking price of $14 million.
The Associated Press reports that West had plans to build an amphitheater on his first ranch, Monster Lake Ranch, but was denied the permit on Wednesday.
One area of the ranch, The Lodge at Bald Ridge (also known as the “Upper Hideout”), features a log home with five bedrooms and four bathrooms.
The listing states that there are many activities available around the property, including hiking, skiing, hunting, fishing, and climbing.
The Lodge at Bald Ridge also has three additional smaller cabins that can fit between four and six people each, as well as an outdoor kitchen.
Source: Hayden Outdoors
In a separate area, there’s the Snowshoe Lodge, a three-bedroom and three-bath home, and three additional cabins that can fit between two and four people each. The main lodge even has a wet bar in the basement and an adjoining walk-in sauna that can be used year-round.
The surrounding area is known for its bustling wildlife, with the property listing stating that 3,500 elk are said to travel within region, and that as many as 2,000 of them use the ranch. The nearby creeks are also home to brown and rainbow trout, which can be fished year-round.
Source: Hayden Outdoors
There is an additional cookhouse cabin, which can fit two people, and a more rustic “Cow Camp” cabin. Among the more modern property amenities are heated helicopter pads.00
Business Insider previously reported that Kanye’s other ranch, Monster Lake Ranch, has a restaurant and saloon, horse barns, an office building, and a shooting range on site.
The ranch is located in an area known for its scenic and natural beauty.
Situated close to White Creek, the ranch is also near scenic hiking trails, canyons, meadows, and grassy hills.
Source: People, Hayden Outdoors
In an interview with West for Vogue Arabia, his wife Kim Kardashian West revealed that she could see their family living in Wyoming full time one day.
“I see us living on a ranch in Wyoming, occasionally going to Palm Springs and our home in Los Angeles – and becoming a lawyer,” Kardashian West said when her husband asked how she sees herself in 10 years’ time.
But what is the “Jesus is King” rapper intending to do with all these Wyoming properties? Business Insider previously reported on West’s recent ranch-buying trend.
A source told PEOPLE that West wants Bighorn to be the permanent venue for his Sunday Services, a pop-up church service.
On the larger ranch real-estate trend, Business Insider’s Libertina Brandt cited a Wall Street Journal report which notes that luxury ranches have become less appealing to younger generations, citing the labor and money which must be spent to operate and maintain the massive proprieties.
As a result, there’s a surplus of luxury ranches – at least, that is, until West buys them all up.
Source: Business Insider, Wall Street Journal


'use strict';
var util = require('./util');
function init() {
return {
/**
* The state of the user's login session.
*
* This includes their user ID, set of enabled features, and the list of
* groups they are a member of.
*/
session: {
/** A map of features that are enabled for the current user. */
features: {},
/** List of groups that the current user is a member of. */
groups: [],
/** A map of preference names and values. */
preferences: {},
/**
* The authenticated user ID or null if the user is not logged in.
*/
userid: null,
},
};
}
var update = {
UPDATE_SESSION: function (state, action) {
return {
session: action.session,
};
},
};
var actions = util.actionTypes(update);
/**
* Update the session state.
*/
function updateSession(session) {
return {
type: actions.UPDATE_SESSION,
session: session,
};
}
/**
* Return true if a given feature flag is enabled.
*
* @param {object} state - The application state
* @param {string} feature - The name of the feature flag. This matches the
* name of the feature flag as declared in the Hypothesis service.
*/
function isFeatureEnabled(state, feature) {
return !!state.session.features[feature];
}
/**
* Return the user's profile.
*
* Returns the current user's profile fetched from the `/api/profile` endpoint.
*/
function profile(state) {
return state.session;
}
module.exports = {
init,
update,
actions: {
updateSession,
},
// Selectors
isFeatureEnabled,
profile,
};
|


The resourceEditor sample is used to create and modify layouts and menus
of PythonCard apps. In the screenshot above, the layout of Addresses sample
is being edited.
Runtime tools
Message Watcher
Namespace Viewer
Property Editor
Shell
$Revision: 1.3 $ : $Author: kasplat $ : Last updated $Date: 2004/07/26 15:35:31 $


Kerry Bremer met Jake Manning, who has Down syndrome, and his single mother, Jean Manning, more than four years ago. The teacher knew Jake’s mom was battling terminal breast cancer.
"I fell in love with him instantly, and as she got sicker that year, I just thought, ‘What is she going to do?’” Kerry Bremer said.
After talking to her husband and their three children, Kerry Bremer made Manning an offer, mom-to-mom, to take care of Jake, should it be needed.
"If you need a backup plan for Jake, then our family is happy to make him part of our family. And she said, ‘I'll sleep better tonight than I’ve slept in a long time,’” Kerry Bremer said.
Jake spent the next few years getting to know the Bremer family, sharing weekends and holidays. Kerry Bremer’s husband, Dave, and children – Kaitlyn, Kristen and Jonathan – quickly embraced Jake’s loving and joyful nature.
"When I first met him, back when he was in Kerry’s class, it was fun. But when we first decided to do this and I met him, it was "You’re dad? You’re Dave the dad?’ And that was it. For a very long time, I was Dave the dad,” Dave Bremer said.
Manning died last Wednesday. She took a nap after a chemotherapy treatment and never woke up. The Bremers are now Jake’s guardians.
"My mom went to heaven," Jake said. "She's always in my heart. She loves me so much."
Jake is thankful that his second family was there for him when he needed them most. However, Kerry Bremer says Manning is the real hero: a dying mother who selflessly prepared her son for a safe and loving future.
"We shared our boy, and she will live on here in this house,” Kerry Bremer said.
Friends of Manning have set up a GoFundMe page to help support Jake and the Bremer family. It has raised more than $25,000.


REAL(3) - [TYPE:NUMERIC] Convert to real type
result = real(x [,kind])
elemental real(kind=KIND) function real(x,KIND)TYPE(kind=**),intent(in) :: x integer(kind=**),intent(in),optional :: KIND
o the type of X may be integer, real, or complex; or a BOZ-literal-constant. o KIND is a integer initialization expression (a constant expression)
o If KIND is present it defines the kind of the real result o if KIND is not present
o when X is complex the result is a real of the same kind as X. o when X is real or integer the result is a real of default kind o a kind designated as ** may be any supported kind for the type
REAL(3) converts its argument X to a real type.
The real part of a complex value is returned. For complex values this is similar to the modern complex-part-designator %RE which also designates the real part of a complex value.
z=(3.0,4.0) ! if z is a complex value print *, z%re == real(z) ! these expressions are equivalent
o X : An integer, real, or complex value to convert to real. o KIND : When present the value of KIND defines the kind of the result.
1. REAL(X) converts X to a default real type if X is an integer or real variable. 2. REAL(X) converts a complex value to a real type with the magnitude of the real component of the input with kind type parameter the same as X. 3. REAL(X, KIND) is converted to a real type with kind type parameter KIND if X is a complex, integer, or real variable.
Sample program:
program demo_real use,intrinsic :: iso_fortran_env, only : dp=>real64 implicit none complex :: zr = (1.0, 2.0) doubleprecision :: xd=huge(3.0d0) complex(kind=dp) :: zd=cmplx(4.0e0_dp,5.0e0_dp,kind=dp)Results:print *, real(zr), aimag(zr) print *, dble(zd), aimag(zd)
write(*,*)xd,real(xd,kind=kind(0.0d0)),dble(xd) end program demo_real
1.00000000 2.00000000 4.0000000000000000 5.0000000000000000 1.7976931348623157E+308 1.7976931348623157E+308 1.7976931348623157E+308
FORTRAN 77
Fortran has strong support for complex values, including many intrinsics that take or produce complex values in addition to algebraic and logical expressions:
o AIMAG(3) - Imaginary part of complex number o CMPLX(3) - Complex conversion function o CONJG(3) - Complex conjugate function ABS(3), ACOSH(3), ACOS(3), ASINH(3), ASIN(3), ATAN2(3), ATANH(3), ATAN(3), COSH(3), COS(3), CO_SUM(3), DBLE(3), DOT_PRODUCT(3), EXP(3), INT(3), IS_CONTIGUOUS(3), KIND(3), LOG(3), MATMUL(3), PRECISION(3), PRODUCT(3), RANGE(3), RANK(3), SINH(3), SIN(3), SQRT(3), STORAGE_SIZE(3), SUM(3), TANH(3), TAN(3), UNPACK(3),
fortran-lang intrinsic descriptions (license: MIT) @urbanjost
| Nemo Release 3.1 | real (3) | July 22, 2023 |


[1]
rooms , and one at the top of the stairs always seemed to be unduly warm .
[2]
rooms , -/: certainly , the rooms above have a panoramic view , and are brighter .


class: center, middle # Introduction to XGBoost basics and programming of `XGBoost` in Python by _Titipat Achakulvisut_ **credit** [Practical XGBoost in Python](http://education.parrotprediction.teachable.com/p/practical-xgboost-in-python) by [Norbert Kozlowski](https://github.com/khozzy) --- ### Reference - [Introduction to Boosted Trees](http://xgboost.readthedocs.io/en/latest/model.html) - [Practical XGBoost in Python](http://education.parrotprediction.teachable.com/p/practical-xgboost-in-python) - [Gradient Boosting Machine by Trevor Hastie](https://www.youtube.com/watch?v=wPqtzj5VZus) ### Download tutorial - [Github repository](https://github.com/KordingLab/lab_teaching_2016) - [IPython notebook](http://nbviewer.jupyter.org/github/KordingLab/lab_teaching_2016/blob/master/session_2/xgboost_tutorials.ipynb) --- ### History of Model Averaging Sometimes called Ensemble of Learners. - `\( \hat{y}_1 = f_1(x_1, x_2, ...)\)` - `\( \hat{y}_2 = f_2(x_1, x_2, ...)\)` - `\( ... \)` Then `\( \hat{y}_e = sign(\sum \alpha_i \hat{y}_i) \)` where `\( \alpha_i (x) \)` indicates expertise - **Bagging (Breiman, 1996)**: fit many large trees to boostrap-resampled versions of training data, and classify by majority vote. - **Boosting (Freund and Shapire, 1996)**: fit many large or small tree to reweighted versions of the training data. Classify by weighted majority vote. - **Random Forests (Breiman, 1999)**: fancier version of bagging, take `\( n = \sqrt{m} \)` features when growing the tree In general _Boosting_ > _Random Forest_ > _Bagging_ > _Single Tree_ --- ### Bagging - Stands for boostrap aggregation - Learn many classifiers, each with only part of the data (sample `N'` from `N`) - Combine through model averaging (reduce overfitting by sample, reduce variance by averaging) repeat K times 1. Draw `N' < N` examples 2. Train the classifier 3. Test - for classifier: take majority votes - for regression: take average --- ### Boosting > **Boosting** (*Freud and Shapire, 1996*) - algorithm allowing to fit **many** weak classifiers to **reweighted** versions of the training data. Classify final examples by majority voting. When using boosting techinque all instance in dataset are assigned a score that tells _how difficult to classify_ they are. In each following iteration the algorithm pays more attention (assign bigger weights) to instances that were wrongly classified previously.
--- ### AdaBoost (Adaptive Boosting) Assume that the number of training samples is denoted by `\(N\)`, and the number of iterations (created trees) is `\(M\)`. Notice that possible class outputs are `\(Y=\{-1,1\}\)` 1. Initialize the observation weights `\(w_i=\frac{1}{N}\)` where `\(i = 1,2, \dots, N \)` 2. For `\(m=1\)` to `\(M\)`: - fit a classifier `\(G_m(x)\)` to the training data using weights `\(w_i\)`, - compute `\(err_m = \frac{\sum_{i=1}^{N} w_i I (y_i \neq G_m(x))}{\sum_{i=1}^{N}w_i}\)`, - compute `\(\alpha_m = \log ((1-err_m)/err_m)\)`, - set `\(w_i \leftarrow w_i \cdot \exp [\alpha_m \cdot I (y_i \neq G_m(x)]\)`, where `\(i = 1,2, \dots, N\)` 3. Output `\(G_m(x) = sign [\sum_{m=1}^{M} \alpha_m G_m(x)]\)`
--- ### Weak classifier - why tree? > **Weak classifier** - an algorithm **slightly better** than random guessing. #### **Pro's** - computational scalability, handling missing values, - robust to outliers, - does not require feature scaling, - can deal with irrelevant inputs, - can handle mixed predictors (quantitive and qualitative) #### **Con's** - can't extract linear combination of features - small predictive power (high variance) Boosting techinque can try to reduce the variance by **averaging** many **different** trees (where each one is solving the same problem) --- ### Generalized Boosted Models (GBM) - Example: Gradient Boosted Tree, AdaBoost, Extreme Gradient Boosting (XGBoost) - The boosting paradigm can be extended to general loss function (regression, K-class classification) 1. Initilize `\(F_0 (x) = 0 \)` 2. For `\( m = 1 \)` to `\( M \)`: - Compute `\( (\beta_m, \gamma_m) = \arg\min_{\beta, \gamma} \sum_{i=1}^{N} L(y_i, F_{m-1} (x_i) + \beta b(x_i; \gamma)) \)` - Set `\( F_m (x) = F_{m-1} (x) + \epsilon \beta_m b(x; \gamma_m) \)` Where `\( \epsilon \)` is a shrinkage factor. This is stage-wise update algorithm. You can learn more about GBM in this [video by Trevor Hastie](https://www.youtube.com/watch?v=wPqtzj5VZus&feature=youtu.be). --- ### Extreme Gradient Boosting Gradient Boosted Tree tries to approach by adding some regularization parameters. We can: - control tree structure (maximum depth, minimum samples per leaf), - control learning rate (shrinkage), - reduce variance by introducing randomness (stochastic gradient boosting - using random subsamples of instances and features) But it could be improved even further. Enter XGBoost. > **XGBoost** (*extreme gradient boosting*) is a **more regularized** version of Gradient Boosted Trees. The main advantages of `XGBoost`: - good bias-variance (simple-predictive) trade-off "out of the box", - great computation speed, - package is evolving (author is willing to accept many PR from community) --- ### Objective function: training loss + regularization $$Obj(\Theta) = L(\Theta) + \Omega(\Theta)$$ - `\(L(\Theta)\)` is training loss - `\(\Omega(\Theta)\)` is regularization For Boosting in `XGBoost`: $$Obj(\Theta) = \sum_i^n \ell (y_i - \hat{y}_i) + \Omega(\Theta)$$ where `\( \Omega(f) = \gamma T + \frac{1}{2} \lambda \sum_{j=1}^T w_j^2 \)` First part `\(\gamma T\)` is responsible for controlling the overall number of created leaves, and the second term `\(\frac{1}{2} \lambda \sum_{j=1}^{T}w_j^2\)` watches over the their's scores. --- ### Install XGBoost Follow [installation page](http://xgboost.readthedocs.io/en/latest/build.html) to install `XGBoost`. For example, for Mac user, you can clone the repository and run as follows ```bash git clone --recursive https://github.com/dmlc/xgboost cd xgboost; cp make/minimum.mk ./config.mk; make -j4 ``` note that you might have to change `make/config.mk` line 46 to gcc-6 e.g. `gcc-5/g++-5` to `gcc-6/g++-6` ```bash export CC = gcc-5 export CXX = g++-5 ``` Then to install for Python, change directory to Python and install using `setup.py` ```bash cd python-package sudo python setup.py install ``` --- ### Genearte synthetic dataset Create dataset using `scikit-learn` ```python from sklearn.datasets import make_classification seed = 104 X, y = make_classification(n_samples=1000, n_features=20, n_informative=8, n_redundant=3, n_repeated=2, random_state=seed) ``` Split training-testing set ```python from sklearn.cross_validation import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=seed) ``` --- ### Decision Tree Create and train decision tree classifier on training set ```python decision_tree = DecisionTreeClassifier(random_state=seed) decision_tree.fit(X_train, y_train) ``` Predict on testing set ```python y_pred = decision_tree.predict(X_test) y_pred_prob = decision_tree.predict_proba(X_test) ``` Calculate log-loss ```python accuracy = accuracy_score(y_test, y_pred_prob) logloss = log_loss(y_test, y_pred_prob) ``` See number of nodes created ```python print(decision_tree.tree_.node_count) ``` --- ### Visualize decision tree We can use `export_graphviz` to visualize dot file ```python import os from sklearn.tree import export_graphviz dot_file = os.path.join(os.getcwd(), 'tree.dot') export_graphviz(decision_tree, out_file=dot_file) ``` ```bash brew install graphviz # install using brew dot -Tpng tree.dot -o tree.png # transform dot to png to visualize ```
--- ### Adaboost Using multiple tree in Adaboost. This tree is called "stumped tree" ```python from sklearn.ensemble import AdaBoostClassifier adaboost = AdaBoostClassifier( base_estimator=DecisionTreeClassifier(max_depth=1), algorithm='SAMME', n_estimators=1000, random_state=seed) ``` ```python adaboost.fit(X_train, y_train) y_pred = adaboost.predict(X_test) y_pred_prob = adaboost.predict_proba(X_test) ``` ```python accuracy = accuracy_score(y_test, y_pred) logloss = log_loss(y_test, y_pred_prob) ``` --- ### Gradient Boosted Trees Trying the same stump tree on `GradientBoostingClassifier` ```python from sklearn.ensemble import GradientBoostingClassifier gbc = GradientBoostingClassifier( max_depth=1, n_estimators=1000, warm_start=True, random_state=seed) gbc.fit(X_train, y_train) ``` ```python y_pred = gbc.predict(X_test) y_pred_prob = gbc.predict_proba(X_test) ``` ```python accuracy = accuracy_score(y_test, y_pred) logloss = log_loss(y_test, y_pred_prob) ``` --- ### XGBoost cheat sheet ```python model = xgb.train(params, dtrain, num_rounds) ``` where `params` is dictionary of parameters with following keys - `booster = [gbtree|gblinear]` - which booster to use. - `silent=[0|1]` - 0 prints running messages, 1 means silent mode - `eta=[0 .. 0.3 .. 1]` - step shrinkage used in update to prevents overfitting - `gamma=[0 .. ∞]` - minimum loss reduction required to make a further partition on a leaf node of the tree - `max_depth=[1 .. 6 .. ∞]` - maximum depth of each tree - `min_child_weight=[0 .. 1 .. ∞]` - minimum sum of instance weight needed in a tree node - `subsample=[0,1]` - subsample ratio of randomly selected training instances used to grow trees - `colsample_bytree=[0,1]` - subsample ratio of columns when construction each tree - `lambda=[1]` - L2 regularization term on weights - `alpha=[0]` - L1 regularization term on weights --- ### XGBoost cheat sheet (continue) ```python model = xgb.train(params, dtrain, num_rounds) ``` - `objective` ```python reg:linear # linear regression, reg:logistic # logistic regression, binary:logistic # logistic regression for binary classification, outputs probability, binary:logitraw # logistic regression for binary classification, outputs score before logistic transformation, count:poisson # poisson regression for count data, outputs mean of poisson distribution, multi:softmax # do multiclass classification using softmax objective, multi:softprob # same as above but outputs probability for each class, rank:pairwise # execute ranking task by minimizing the pairwise loss ``` - `base_score=[0.5]` - global bias. Initial prediction score for all instances - `eval_metric=[rmse|logloss|error|merror|mlogloss|auc|...]` - evaluation metric. Default value will be assigned based on the objective. There is possibility of having custom metric. seed=[0] - seed used for reproducibility --- ### Example usage of XGBoost load example data from [here](https://archive.ics.uci.edu/ml/datasets/Mushroom) ```python import xgboost as xgb dtrain = xgb.DMatrix('data/agaricus.txt.train') dtest = xgb.DMatrix('data/agaricus.txt.test') ``` ```python params = { 'objective':'binary:logistic', 'max_depth':2, 'silent':1, 'eta':1 } num_rounds = 5 ``` ```python bst = xgb.train(params, dtrain, num_rounds) ``` ```python watchlist = [(dtest,'test'), (dtrain,'train')] # native interface only bst = xgb.train(params, dtrain, num_rounds, watchlist) ``` ```python preds_prob = bst.predict(dtest) ``` --- ### Example usage of XGBoost with Scikit-learn interface ```python from xgboost.sklearn import XGBClassifier X_train, y_train, X_test, y_test = load_svmlight_files(('../data/agaricus.txt.train', '../data/agaricus.txt.test')) ``` ```python params = { 'objective': 'binary:logistic', 'max_depth': 2, 'learning_rate': 1.0, 'silent': 1.0, 'n_estimators': 5 } bst = XGBClassifier(**params).fit(X_train, y_train) ``` ```python preds = bst.predict(X_test) ``` --- ### Spotting most important features We can use _F-score_ metric > **F-score** - sums up how many times a split was performed on each feature. ```python xgb.plot_importance(bst, importance_type='gain', xlabel='Gain') ``` ```python xgb.plot_importance(bst) ``` ```python importances = bst.get_fscore() # return dictionary of f-score ``` --- ### Bias and Variance
> **Bias error** is the overall difference between expected predictions made by the model and true values. > > **Variance error** describes how much predictions for the given point vary. --- ### Dealing with high variance If model is too complex try: - using less features (ie. feature selection), - using more training samples (ie. artificially generated), - increasing regularization (add penalties for extra complexity) In `XGBoost` you can try to: - reduce depth of each tree (`max_depth`), - increase `min_child_weight` parameter, - increase `gamma` parameter, - add more randomness using `subsample`, `colsample_bytree` parameters, - increase `lambda` and `alpha` regularization parameters --- ### Dealing with high bias If model is too simple: - add more features (ie. better feature engineering), - more sophisticated model - decrease regularization In `XGBoost` you can do it by: - increase depth of each tree (`max_depth`), - decrease `min_child_weight` parameter, - decrease `gamma` parameter, - decrease `lambda` and `alpha` regularization parameters --- ### Hyper-parameter tuning using `GridSearchCV` from scikit-learn ```python from sklearn.cross_validation import StratifiedKFold from sklearn.grid_search import GridSearchCV, RandomizedSearchCV params_grid = { 'max_depth': [1, 2, 3], 'n_estimators': [5, 10, 25, 50], 'learning_rate': np.linspace(1e-16, 1, 3) } # 3 * 4 * 3 total grid size params_fixed = { 'objective': 'binary:logistic', 'silent': 1 } cv = StratifiedKFold(y, n_folds=10, shuffle=True, random_state=seed) ``` ```python bst_grid = GridSearchCV( estimator=XGBClassifier(**params_fixed, seed=seed), param_grid=params_grid, cv=cv, scoring='accuracy' ) bst_grid.fit(X, y) ``` --- ### Grid search score ```python bst_grid.grid_scores_ ``` This will print scores as follows, ```python [mean: 0.80200, std: 0.02403, params: {'subsample': 0.11676744056370758, 'n_estimators': 492, 'gamma': 0, 'colsample_bytree': 0.065034396841929132, 'learning_rate': 0.82231421953113004, 'max_depth': 3}, mean: 0.90800, std: 0.02534, params: {'subsample': 0.4325346125891868, 'n_estimators': 689, 'gamma': 1, 'colsample_bytree': 0.11848249237448605, 'learning_rate': 0.13214054942810016, 'max_depth': 1}, ...] ``` We can get the best estimator by accessing `best_params_` ```python bst_grid.best_params_ ``` --- ### Randomized Grid Search Sometimes the grid space is large, we can use randomize search to find grid parameters ```python params_dist_grid = { 'max_depth': [1, 2, 3, 4], 'gamma': [0, 0.5, 1], 'n_estimators': randint(1, 1001), # uniform discrete random distribution 'learning_rate': uniform(), # gaussian distribution 'subsample': uniform(), # gaussian distribution 'colsample_bytree': uniform() # gaussian distribution } ``` ```python rs_grid = RandomizedSearchCV( estimator=XGBClassifier(**params_fixed, seed=seed), param_distributions=params_dist_grid, n_iter=10, cv=cv, scoring='accuracy', random_state=seed ) rs_grid.fit(X, y) ``` ```python rs_grid.grid_scores_ # all grid scores rs_grid.best_estimator_ rs_grid.best_params_ rs_grid.best_score_ ``` --- ### Evaluate results - evaluation metrics (`rmse`, `mae`, `logloss`, `error`, `merror`, `auc`, ...) ```python params['eval_metric'] = 'logloss' params['eval_metric'] = ['logloss', 'auc'] ``` - early stopping can be state before training `early_stopping_rounds=10` ### Missing values Just state when creating dataset ```python dtrain_m = xgb.DMatrix(data_m, label=label, missing=np.nan) ``` --- ### Imbalanced datasets create imbalance dataset and test accuracy, precision, recall ```python X, y = make_classification( n_samples=200, n_features=5, n_informative=3, n_classes=2, weights=[.9, .1], shuffle=True, random_state=seed ) ``` We can set weight to each training set ```python weights = np.zeros(len(y_train)) weights[y_train == 0] = 1 weights[y_train == 1] = 5 dtrain = xgb.DMatrix(X_train, label=y_train, weight=weights) ``` Moreover, this can be stated in parameter `scale_pos_weight` in dictionary i.e. ```python ratio = float(np.sum(train_labels == 0)) / np.sum(train_labels == 1) params['scale_pos_weight'] = ratio ``` --- class: center, middle # Questions and Discussion


PARENT COMPANY FINANCIAL INFORMATION (Details) - USD ($) $ in Thousands |
Dec. 31, 2017 |
Dec. 31, 2016 |
Dec. 31, 2015 |
| ASSETS |
|
|
|
| Cash |
$ 26,234
|
$ 25,107
|
|
| Short-term investments in money market funds |
5,256
|
5,900
|
|
| Investment securities available for sale |
129,138
|
127,077
|
|
| Other assets |
4,129
|
4,243
|
|
| TOTAL ASSETS |
1,167,655
|
1,153,780
|
$ 1,148,497
|
| LIABILITIES |
|
|
|
| Guaranteed junior subordinated deferrable interest debentures |
12,923
|
12,908
|
|
| Subordinated debt |
7,465
|
7,441
|
|
| Other liabilities |
8,907
|
11,954
|
|
| TOTAL LIABILITIES |
1,072,553
|
1,058,385
|
|
| STOCKHOLDERS’ EQUITY |
|
|
|
| Total stockholders’ equity |
95,102
|
95,395
|
$ 118,973
|
| TOTAL LIABILITIES AND STOCKHOLDERS’ EQUITY |
1,167,655
|
1,153,780
|
|
| Parent Company [Member] |
|
|
|
| ASSETS |
|
|
|
| Cash |
100
|
100
|
|
| Short-term investments in money market funds |
4,521
|
5,397
|
|
| Investment securities available for sale |
5,307
|
6,041
|
|
| Other assets |
499
|
2,665
|
|
| TOTAL ASSETS |
116,279
|
116,529
|
|
| LIABILITIES |
|
|
|
| Guaranteed junior subordinated deferrable interest debentures |
12,923
|
12,908
|
|
| Subordinated debt |
7,465
|
7,441
|
|
| Other liabilities |
789
|
785
|
|
| TOTAL LIABILITIES |
21,177
|
21,134
|
|
| STOCKHOLDERS’ EQUITY |
|
|
|
| Total stockholders’ equity |
95,102
|
95,395
|
|
| TOTAL LIABILITIES AND STOCKHOLDERS’ EQUITY |
116,279
|
116,529
|
|
| Parent Company [Member] | Banking Subsidiary [Member] |
|
|
|
| ASSETS |
|
|
|
| Equity investment |
99,408
|
97,158
|
|
| Parent Company [Member] | Non Banking Subsidiaries [Member] |
|
|
|
| ASSETS |
|
|
|
| Equity investment |
$ 6,444
|
$ 5,168
|
|


Box Model
CSS Margin, Padding, and Borders
In web development, the CSS box model refers to the composition of a webpage or HTML page from blocks or boxes using CSS. Specifically, the box model describes how the size of each such block and its content is determined through styling instructions. The guidelines of the box model are described by the World Wide Web Consortium (W3C).
– Wikipedia
HTML Elements as Boxes
One way to envision a web page is by thinking of it as a bunch of "boxes," or rectangles. There are browser tools (e.g. Chris Pederick's Web Developer Toolbar) that allow you to display any page's elements's with outlines. With that said, each element, or more accurately each block-level element, has four key attributes that directly impact the overall size of the "box."
- Width (and height too)
- Padding
- Border
- Margin
For a div with the default box-sizing: content-box settings, the total rendered width will include a total of all four properties (width + padding + border + margin). The width property will refer to the most inward width of the content inside of the div, then each of the other three properties (padding, border, and margin) will be added to the width.
For a div with box-sizing: border-box settings, the total rendered width will not include the padding and border, and only include a total of the width + margin. The width property in this case, will refer to the most inward width of the content inside of the div + padding + border. This can be helpful when making visual adjustments to component elements inside of a pre-set grid system (e.g. adding a thick border, increasing padding, etc.).
[codepen_embed height=”737” theme_id=”0” slug_hash=”geqbwR” default_tab=”result” user=”kccnma”]See the Pen Box Model by kccnma (@kccnma) on CodePen.[/codepen_embed]
Since default content-box elements can be difficult at times to manage (e.g. when dealing with different grid systems for layout), some developers choose to convert all of their elements to border-box like this:
* {
box-sizing: border-box;
}
Normal Flow
Normal flow is the default way that html elements are rendered, or laid out, by the browser. For most browsers with default settings elements will render from the top-down and left-to-right, with block level elements (e.g. divs) rendering at 100% width and stacking upon one another and inline elements (e.g. spans) rendering at the width of the content inside of them and next to one another on the same line similar to how text (letters and words) are rendered side-by-side by default, if there is enough space, and wrapping underneath one another when there is not enough space.
[codepen_embed height=”500” theme_id=”0” slug_hash=”ZwOVbZ” default_tab=”html,result” user=”kccnma”]See the Pen Normal Flow: Block and Inline level elements by kccnma (@kccnma) on CodePen.[/codepen_embed]
Conclusion
Web pages are laid out (visually rendered by the browser) by default from the top-down and left-to-right according to the order of the elements and the display properties for each (e.g. block-level vs. inline-level). The dimensions for each element are calculated based upon the box-sizing properties (e.g. content-box or border-box).
- box-sizing: content-box = width + padding + border + margin
- box-sizing: border-box = width + margin
If you are ever confused, be sure to use your browser's web developer tool to inspect your element and if not already set (and needed), remember the code for box-sizing: border-box:
selector {
box-sizing: border-box;
}


{% else %}
{% endif %}{{ post.title }}
{% else %}
{% endif %}
{{ post.title }}
{{ post.content | truncatewords:40}}
Read more...
{% endfor %}
--- layout: default ---
Eventuate is a toolkit for building distributed, highly-available and partition-tolerant event-sourced applications. It is written in Scala and built on top of Akka, a toolkit for building highly concurrent, distributed, and resilient message-driven applications on the JVM.
Overview
Documentation
Source Code


“Intellectuals can debate. Idiots just argue.”
An abode for the spirited and the bold who wish to question everything.
Encouraging and inspiring minds to speak what they stand for, what they believe in, one NSUTian at a time.
Nishant Gupta
Director, PD
The objective is to debate with a purpose to express & level of reasoning and articulation one can develop through a camaraderie like this. Immense.
Nimish Dham
Director, PD
I miss being that nervous fresher who had 5 mins to prepare his adj feedback and hadn’t even identified major clashes. It’s remarkable how you can learn so much about a craft and life in general from a place like Debsoc.
Aditya Bhatnagar
Mentor, PD
Debsoc really helped me gain a wider lens to view what happens around me. Here I got the opportunity to work with really bright minds and that has really helped me to develop as an individual.
Nipunika
Mentor, PD
Armed with opinions, with shields of reasoning and a thirst to make an impact, forward we march with a troop we call our family.
Akshit, Arpan, Avil, Ayaachi, Ishan, Kanav, Nandni, Nischay, Pragati, Pranav, Rahul


The quantitative analysis of carvacrol in emulsions containing essential oil P. amboinicus. The analysis was realized after 7 and 180 days stored at room temperature.
Figure 5


By accessing the website at http://opentools.design, you are agreeing to be bound by these terms of service, all applicable laws and regulations, and agree that you are responsible for compliance with any applicable local laws. If you do not agree with any of these terms, you are prohibited from using or accessing this site. The materials contained in this website are protected by applicable copyright and trademark law.
In no event shall opentools.design or its suppliers be liable for any damages (including, without limitation, damages for loss of data or profit, or due to business interruption) arising out of the use or inability to use the materials on opentools.design's website, even if opentools.design or a opentools.design authorized representative has been notified orally or in writing of the possibility of such damage. Because some jurisdictions do not allow limitations on implied warranties, or limitations of liability for consequential or incidental damages, these limitations may not apply to you.
The materials appearing on opentools.design's website could include technical, typographical, or photographic errors. opentools.design does not warrant that any of the materials on its website are accurate, complete or current. opentools.design may make changes to the materials contained on its website at any time without notice. However opentools.design does not make any commitment to update the materials.
opentools.design has not reviewed all of the sites linked to its website and is not responsible for the contents of any such linked site. The inclusion of any link does not imply endorsement by opentools.design of the site. Use of any such linked website is at the user's own risk.
opentools.design may revise these terms of service for its website at any time without notice. By using this website you are agreeing to be bound by the then current version of these terms of service.
These terms and conditions are governed by and construed in accordance with the laws of Stockholm, Sweden and you irrevocably submit to the exclusive jurisdiction of the courts in that State or location.


Using Ethereum Smart Contracts to raise funds
This DApp allows you to raise cryptocurrency (Ether) funds using Smart Contracts deployed on the Ethereum Blockchain. Once the goal of the contract has been reached, the contract owner can then issue a Spending Request to release the funds which then requires over 50% of the contributors to approve before the Ether is released. Any contracts failing to reach their goal by the deadline can be refunded. Also, any contracts that reached their goal but have no approved and paid spending requests within an initial payment period after the deadline can also be refunded.
To use this DApp you will need an Ethereum Wallet installed in your browser, such as MetaMask, and give this DApp permission to connect to your wallet. Any transactions you initiate that require processing will display the MetaMask approval window prior to forwarding to the blockchain. You can use MetaMask to connect to the various Test Networks in order to test this DApp with test Ether before switching to the Main Ethereum Network (see examples below). An [Events] section is included at the bottom of the screen to communicate all processing between this DApp and the blockchain. By clicking on the transaction or contract address hyperlinks you can use Etherscan to see the actual status and transaction history as recorded on the blockchain.
Start by choosing the [New Contract] menu option to deploy a new fund-raising smart contract, selecting the duration of the contract (in blocks of roughly 15 seconds), the initial payment period (also in blocks) after the deadline to allow payments to be approved and released, the financial goal and the minimum contribution level (both in Wei - the smallest denomination of Ether). Once deployed, you can email a link of the deployed contract to your contributors. There is a [Wei Converter] to assist in converting values between Wei, Ether and USD, and a [Block Converter] to assist with calculating (and resetting) block times, which defaults to the current network average block time.
From the [Existing Contract] menu option you and your contributors can see the status of the deployed fund-raising smart contract and can make contributions. As the owner you can check the contribution made from a contributor's account, and also change the ownership of the contract to a different account.
Once the smart contract has reached its goal, you can use the [Spending Requests] menu option to create one or more Spending Requests (up to a maximum of ) outlining how the funds will be spent, and then email a link of the spending request to your contributors. The contributors can then vote on the request and you can check if a specific contributor's account has voted. Only when over 50% of contributors have voted can the amount requested be released via the [Pay Request] button.
You will have been sent the Ethereum address of the relevant fund-raising Smart Contract you wish to support. From the [Existing Contract] menu option, enter this address and click on [Get Details] to see the status of the deployed fund-raising smart contract. You can then use the [Contribute] button to make contributions at or above the minimum contribution amount. If the smart contract fails to raise the Goal amount before the end of the deadline then you can use the [Refund] button to receive a refund of any funds you have contributed. You can also get a refund if the contract reached its goal but has not had any spending requests approved and paid within the initial payment period after the deadline.
Once the smart contract has reached its goal, the owner will create one or more Spending Requests. These can be viewed using the [Spending Requests] option where you can enter the request ID and click on [Get Details] to display the request detailing how the money will be spent. As a contributor you can then vote on each request and only when over 50% of contributors have voted for a request can the relevant payment be released.
The blockchain is constantly updating (for example there is a new block mined roughly every 15 seconds) and this DApp only provides a snapshot of data that is updated with each interaction. If left idle for too long, the data shown will become out-of-date. To get the latest information click again on [Get Details].
Each fund-raising Smart Contract is "owned" by the account used during the deployment. Certain owner-only actions (such as creating and paying Spending Requests) can ONLY be actioned by the "owner". Therefore, if the wallet or keys of the owner account are lost there is no way to recover these funds. There are no secret backdoors to these contracts!
All transactions connected with this site are performed directly on the selected blockchain. The miners will charge minimal standard fees for each transaction processed, including deploying the contract, making a contribution, voting for a spending request, releasing payment of a request, etc. NO additional fees are charged, and NO fees are deducted from the amounts raised. However, any transaction fees paid to the miners are non-refundable. To make a contribution towards the running of this site please send any donations to: .
Examples of this Smart Contract being deployed and funded and then payment requests created, voted for and released can be found at:
There is no database on this site holding details of your contracts, transactions and keys. The only data stored on the webserver is a log of the Ethereum account and contract addresses used when each transaction processed, and this is only collected for analytical purposes.
This DApp is © 2019- Malarena SA. For further details, including our Privacy Policy and Legal Notice, please see our main website. All of the code for this DApp, including the Smart Contract template used, is available through GitHub.
This DApp is powered byEthereum, with data links provided by . Check out our DApp listing, plus other great DApps, on
Enter the contract and initial-payment durations (in blocks), and the goal and minimum contribution level (both in wei) and click on [Deploy].
Enter the Smart Contract Address for your Fund Raising campaign and click on [Get Details].
| Owner: | ||||
| Deadline: | Block | |||
| Initial Payment Deadline: | Block | |||
| Goal: | wei | ETH: | USD: | |
| Amount Raised: | wei | ETH: | USD: | |
| Amount Left To Raise: | wei | ETH: | USD: | |
| Minimum Contribution Amount: | wei | ETH: | USD: | |
| Number of Contributors: | ||||
| Contract Balance Remaining: | wei | ETH: | USD: | |
| Number of Spending Requests: | ||||
| Amount Paid Out: | wei | ETH: | USD: | |
| Your Account Balance: | wei | ETH: | USD: | |
| Your Contributions: | wei | ETH: | USD: |
| Fund-Raiser Owner Actions: |
|---|
| Contributor Actions: |
|---|
Enter the Spending Request ID and click on [Get Details].
| Description: | ||||
| Value: | wei | ETH: | USD: | |
| Recipient Account: | ||||
| Number of Voters: | ||||
| You have Voted for this request: |
| Fund-Raiser Owner Actions: |
|---|
Create a new Spending Request by entering the details below and click on [Create Request]:
| Contributor Actions: |
|---|


Dark City
Directed by Alex Proyas
Story by Alex Proyas
Written by Alex Proyas, Lem Dobbs, and David S. Goyer
Staring Rufus Sewell, Jennifer Connelly, Kiefer Sutherland, William Hurt, Ian Richardson, and Richard O'Brien.
As Reviewed by James Brundage
This is the fifth time I have watched Dark City. Four times I have watched it on video rentals, the fifth time I watched it on a DVD, the format that I've been hearing good things about for several months now. I paid $24.99 to buy the DVD, about $10-$15 more than I would have spent on a videocassette. As far as format goes, it was worth it. From frame one, picture is deeper and sound is clearer. Well, enough about telling the world about the Dark City DVD - a vast enhancement over the VHS version - let's talk about the movie Dark City.
Dark City is about, well, a dark city. It is dark on the psychological level: the world presented in front of you is one of prostitutes, serial killers, and things that go bump in the night. It is also dark on the physical level: no one can remember clearly the last time they saw the light of day. As far as the darkness of the film itself: it is a devastatingly beautiful film noir, filled with all the jazz and mystery that we have come to expect from the incredibly interesting style of filmmaking.
Alex Proyas' first cinematic effort since the tragic death of Brandon Lee on the set of The Crow, this presents us with a radically different world than the shoot-em-up that The Crow was. In Dark City, we follow John Murdoch (Rufus Sewell), a man with scant memories and the ability to Tune, or alter physical reality with his mind. Murdoch awakes at midnight in a city where time seems to stop for several hours.  On his trial are a race of beings called "The Strangers", who also posses this telekinetic ability. The Strangers are a dying race that controls Dark City, replacing people's memories in order to discern what makes a person human. They are, in their own way, searching for the soul.
Murdoch does soul-searching of his own, trying to find who he was, or was supposed to be. Desperately trying to evade the psychotic and utterly terrifying Strangers. Dr. Daniel Poe Schreber (Kiefer Sutherland) is trying to aid him, trying to help him understand an ability that he can hardly fathom, while at the same time being forced by the Strangers to help them in their zoo of humanity. Emma Murdoch (Jennifer Connelly), his wife, is a jazz singer utterly convinced that her husband is innocent. Inspector Bumstead (William Hurt) is the cop trying to make sense of a crime that leads to a conspiracy more complex than the JFK assassination.
Dark City is propelled forward at the speed of a Tokyo bullet train thanks to one of the most original plots and screenplays in ages, the first in a pattern of cross-genre works (this one sci-fi, Mystery, and Film Noir) that had among its newest members the excellent action film The Matrix. The ferocious pace displayed in the movie grabs everyone at frame one and keeps them until the end, and kicks the suspense in with a wonderful score and a terrific jazz and techno soundtrack.
It is a foray into the surreal: let you be warned about that. However, unlike most ambiguous and surreal movies, such as Lynch's Lost Highway, it gives you answers in a way that you can understand. Not only does it give you answers in an easy to understand format, but it compels you with characters that you like, that you find unique. It is careful not to put you a step ahead or behind Murdoch as he unravels the mystery of Dark City, as he tries to escape from the bizarre and frightening world that constantly surrounds him.
See it, sci-fi fans. See it, those who liked The Crow. See it, friends of mystery and of film noir. Hell, if your just someone tired of the same-old, same-old that Hollywood dishes out, see it. But, any way you cut it, see this movie.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Version Control with GitHubOct 12th
Photo credit: joepage1 / Foter / CC BY-ND
Version control. I can't remember how many times I would work on an excel or word document and constantly save multiple backups labeled xxx.v1, v2, v-final, final-final. Okay, maybe not the "final-final", but you never really know how far this can go. Add to this the complication of working and passing a document across multiple people, and god forbid two people decide to work on the same file simulatenously. Well, it looks like this problem has been solved by git - the ultimate (it just seems too ubiquitous to say otherwise, for now) version control system. Before I go into what git is, I'd like to elaborate on version control itself.
Whenever we work on something complex, be it a design in photoshop or a piece of code, we always run the risk of going down a path we deem later to be wrong. If you've ever built or designed anything where you aren't sure if the path you are going will be the best one until you've actually spent an hour navigating through a shroud of mystery, you'll want to have that safety net to backtrack your changes. I remember setting my brush history to some ridiculous (50+) strokes when working on some illustrations, and I can't tell you how many times this has come in handy. Now it may be because I'm only an amateur at this stuff, but it is still helpful to know that until you are completely satisfied, nothing is set in stone. Version control is just like that. It helps to store snapshots of the state of your work at different times during its development, from start to finish.
Git is version control done in a brilliant way. It won't store the entire project or file as another copy. Instead, when you make any change at all, it will store that change specifically. In other words, it has the ability to compartmentalize changes done to a file rather than stored an entirely new copy of the file itself. These changes or save-states are referred to as "commits".
What Git allows you to do locally, on your computer, GitHub allows for this version control system to be done over the internet. In fact, it provides value as a central location where many developers can connect, fork, pull or push their code. Essentially, GitHub allows for a team of developers to see others' changes, obtain a working copy to work from, and suggest their own changes from all over the world. You don't even need to maintain an online connection to do work. GitHub allows you to store the latest snapshot locally, and, when you're ready, compare your suggested changes with the latest version of the project. If these changes are deemed worthy of meshing seamlessly, GitHub will happily apply your recent changes to modify the code - the source of which everyone will compare against.


Home
Loading...
Looks like there was an error reading data from the server :(
Time
Conditions
Probability


| Bond | m&v u&n _ 0 _ |
|
m&v y is defined as m v y ; that is,
the left argument m is bonded with the dyad v
to produce a monadic function.
Similarly, u&n y is defined as y u n ;
in other words, as the dyad u provided with the right
argument n to produce a monadic function.
|
x m&v y ↔ m&v^:x y x u&n y ↔ u&n^:x y |
10&^. 2 3 10 100 200 0.30103 0.477121 1 2 2.30103 base10log=: 10&^. base10log 2 3 10 100 200 0.30103 0.477121 1 2 2.30103 sine=: 1&o. sine o. 0 0.25 0.5 1.5 2 0 0.707107 1 _1 0 ^&3 (1 2 3 4 5) 1 8 27 64 125 ^&2 3"0 (1 2 3 4 5) 1 1 4 8 9 27 16 64 25 125Use of the bond conjunction is often called Currying in honor of Haskell Curry.
fib=: (0 1,:1 1)&(+/ .*)@[&0 & 0 1 fib i.10 0 1 1 1 1 2 2 3 3 5 5 8 8 13 13 21 21 34 34 55


3555 Farnam Street Omaha, NE 68131 Official Home Page
Updated November 6, 2015
Updated January 25, 2016
Updated February 28, 2015
(A commemorative book first sold at the 2015 Annual Meeting and now for sale on eBay.)
FOR A FREE CAR INSURANCE RATE QUOTE THAT COULD SAVE YOU SUBSTANTIAL MONEY
WWW.GEICO.COM OR CALL 1-888-395-6349, 24 HOURS A DAY
If you have any comments about our WEB page, you can either write us at the address shown above or e-mail us at<EMAIL_ADDRESS>However, due to the limited number of personnel in our corporate office, we are unable to provide a direct response.


Button
Primary
Secondary
Success
Danger
Warning
Info
Light
Dark
Button Size Large
Primary
Secondary
Success
Danger
Warning
Info
Light
Dark
Button Size Small
Primary
Secondary
Success
Danger
Warning
Info
Light
Dark
Button Type
Button
Block Level Button
Block level button
Block level button


Home
Match
Chemistry
Dating Tips & Advice
Already a member?
Sign in here »
View Photos of Singles in
Your Area
I am a:
Man
Woman
Seeking a:
Man
Woman
Between ages:
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
and
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
Near ZIP code:
Match.com
OurTime.com
Try the Largest 50+ Dating Site!


For Developers
Exports and Renditions
A lot of work has been done around renditions so as to make the rendition concept the standard way to handle binary transformations of documents.
- Rendition definitions can now also be contributed through a class implementing the interface RenditionDefinitionProvider. When asked for the list of rendition definitions for a document, all matching RenditionDefinitionProviders are called to compute dynamic rendition definitions.
- RenditionDefinitions and RenditionDefinitionProviders can be filtered through standard filters.
- Transcoded videos are exposed as renditions (but not visible in the UI).
- Picture conversions are also exposed as renditions (but not visible in the UI).
- The default exports (XML export, ZIP Tree Export, ...) have been migrated to be exposed as standard renditions, thanks to the new ExportDocument operation.
Automation: Scripting and Major Renaming.
Automation Scripting
Automation scripting is a new platform service that allows to deploy at runtime new operations defined via a JavaScript script. Those scripts are executed serverside with Nashorn. In those scripts, developer has access to all automation operations. Scripts can be edited in Nuxeo Studio.
Global Renaming
We have renamed most of the operations so as to provide better readability. The label is now equal to the id of the operation in most of the cases. The following documentation lists renamed operations. Compatibility has been kept with aliases.
Workflow REST API
Endpoints have been added for controlling workflow engine remotely: start workflow instances, complete tasks, query opened tasks and much more. A sample JavaScript application has been implemented for demonstrating the use of this API. This application is also provided as Marketplace package.
Nuxeo JavaScript Client
Some improvements have been done to the JS client during this release:
- Added Document.copy and Document.move methods
- Added proxy and portal authentication to Node.js client
- Increased default timeout from 3000 to 30000 ms
- Fixed delete request
Note that the authentication configuration has changed, see the Migrating from 0.3.x part.
Elasticsearch
New Elasticsearch Admin API to Wait for Indexing Completion
The following documentation explains how to migrate code from VCS to DB using this new API.
Support Properties on Select Clause Using Elasticsearch
It is now possible to select scalar fields instead of documents from Elasticsearch API. Note that aggregate (COUNT, MAX, MIN, SUM, AVG) are not yet supported.
Visit the following documentation for more information.
Field Constraints, Extended fields and Validation
It is now possible to set field constraints and define references on the schema XSD definition. This validation is performed when submitting a document form.
Visit the "Field Constraints and Validation" documentation and the "How to Customize Document Validation" documentation for more information and the layout showcase for a small demo.
Plugable JSON Marshalling
Nuxeo provides a way to define reusable Marshallers. Each registered marshaller can be used and aggregated. Nuxeo provides built-in and reusable marshallers for many Nuxeo based objects. All marshallers can be used in a web context or in a server-side context (for example, JSON could be logged in audit or used with non HTTP connectors).
Visit the following documentation for more information.
Management of Document's Updates
The dirty flag of document's properties is now more accurate. A property is dirty only if its value has changed. When a document has version 1.0, a 1.0+ version is created while editing only if some property changed. The update date and the list of contributors are updated only if there were changes (Previously, simply saving the document caused the updates, even with identical values).
Dublincore's Extended Fields
"dc:creator", "dc:lastContributor" and "dc:contributors" are now defined as references to Nuxeo users. "dc:subjects", "dc:nature" and "dc:coverage" are now defined as references to the corresponding directories. This provides all benefits from the validation and from the pluggable JSON marshalling.
Blob Manager Service
Blob access in lower layers is now made through a new service, Blob Manager, that provides pluggable implementations. This can be used for fetching blobs from remote storage services, like Google Drive or One Drive, or for handling smarter storage policies.
File Upload Widget Has Been Made Extensible
The current JSF file upload widget (based on UIInputFile code) has been made pluggable in order to be able to create blobs not only based on an HTML file upload from the user's desktop but also based on other kinds of blob creation (for example using an existing file in Google Drive). See NXP-16551 for details on how to contribute an additional file picker.
ACL Related Queries
It is now possible to fetch documents depending on ACLs that are set on it thanks to a new NXQL system field: "ecm:acl". For instance: "SELECT * FROM Document WHERE ecm:acl/*/principal = 'bob'".
Transient Store
A new service `TransientStoreService` has been added to `nuxeo-core-cache`. The goal is to provide a way to handle storage of temporary objects and streams. `TransientStoreService` can be seen as a high level and cluster compliant interface on top of a 2 level Cache and Filesystem storage. This very first version was build to accommodate the requirements of asynchronous renditions, but we expect to have much more use cases soon.
Picture Document Type Evolutions
- The following documentation provides the new default contribution for binaries metadata extraction in the Nuxeo Platform. Main changes are that IPTC binary metadata are mapped to Dublin Core schema (source, copyrights (> dc:rights), legend (> dc:description)), as an exemple of what can be done configuring the metadata extractor.
- Exif mapping remains identical.
- The widget "summary_picture_iptc" has been removed from document Summary.
- Mistral engine is removed. Use the Binary Metadata feature to extract metadata with custom engine. (The default one is ExifTool since 7.1).
JDK 1.8+ is required (version 8u25 minimum)
Java 8 update 25+ is required for building Nuxeo and the constraint has been set as an enforcement in the root
Nuxeo POM `org.nuxeo:nuxeo-ecm`.
Some products like the Automation Client will still be compiled with Java 7 compliance (source and
target) for being usable in Java 7 runtime environments but Java 8 is still required to perform their build.
Deactivation of DoubleClickShield
The Double Click Shield prevents a form from being submitted twice. It is set by default on every action defined in the platform. In some use cases, in the case of a download for example, the DoubleClickShield does not allow another click on the action because the marker for request completion is still present. A new property "disableDoubleClickShield" has been introduced in the action contribution. By default, this property is defined to false.


DeflateEncoderImpl |
class DeflateEncoderImpl : Encoder |
EncoderServiceFactory |
class EncoderServiceFactory : EncoderService |
FlushAverseOutputStream |
Has an empty flush implementation. This is because Kryo keeps calling flush all the time, which stops the Snappy stream from building up big chunks to compress and instead keeps compressing small chunks giving terrible compression ratio. class FlushAverseOutputStream : OutputStream |
SnappyEncoderImpl |
class SnappyEncoderImpl : Encoder |


4.9
domestic | safety | danger from heat | 2006
Every
building
must be designed and
constructed
in such a way that
protection is provided for people in, and around, the
building
from the
danger of severe burns or scalds from the discharge of steam or hot
water.
4.9.0 Introduction
Guidance is given under this standard on a number of issues relating to hot
water safety.
Unvented hot water
storage systems
Guidance is given to minimise the risk of explosion due to malfunction of an
unvented hot water vessel by:
•
ensuring that such installations are carried out by appropriately qualified
personnel; and
•
requiring a minimum range of safety devices be fitted to any such
installation to prevent the temperature of the stored water exceeding
100º C.
It is not intended that this guidance should be applied to storage systems with
a capacity of less than 15 litres, to systems used solely for space heating or
to any system used for an industrial or commercial process.
Guidance is given on systems of up to 500 litres storage capacity, where
power input does not exceed 45kW. Installations above this size are not
usual in
domestic buildings
. It is unlikely that many larger installations will be
installed in
dwellings
but if required, additional guidance on such installations
is provided to standard 4.9 of the non-domestic Technical Handbook.
Hot water overflows
Guidance is given on provision for the safe removal of the discharge created
by the normal operation of safety devices in such an installation and on
ensuring discharge of hot water and steam from any installation, unvented or
otherwise, to a safe and visible location.
Measures to prevent scalding from hot water are now addressed for certain
sanitary facilities
used for personal hygiene.
Maintaining safety
devices
Safety devices installed to protect from hazards such as scalding or the risk
of explosion of unvented systems should be maintained to ensure correct
operation. Guidance on maintenance can be provided by both manufacturers
and installers of such devices.
In the case of conversions, as specified in regulation 4, the
building
as
converted
shall meet the requirement of this standard (regulation 12,
schedule 6).
4.9
—
4.9.0
domestic | safety | danger from heat | 2006
4.9.1 Installation of unvented hot water storage systems
Installation of an unvented hot water storage system should be carried out by
a person with appropriate training and practical experience.
Competence of installers
This might include current membership of a registration scheme operated by
a recognised professional body. This could include those administered by
the Scottish and Northern Ireland Plumbing Employers Federation (SNIPEF)
and the Construction Industry Training Board (CITB) or an equivalent body.
The following points should be noted in relation to installation of an unvented
hot water storage system:
•
the installer should be a competent person and, on completion, the
labelling of the installation should identify the installer;
•
the installed system should be meet the recommendations of BS 7206:
1990 or be the subject of an approval by a
notified body
and incorporate
the safety devices outlined in clause 4.9.2;
•
certification of the unit or package should be recorded by permanent
marking and a warning label which should be visible after installation. A
comprehensive installation/user manual should be supplied;
•
the tundish and discharge pipework should be correctly located and fitted
by the installer and the final discharge point should be visible and safely
positioned where there is no risk from hot water discharge.
The operation of the system under discharge conditions should be tested to
ensure provision is adequate.
4.9.2 Specification of small unvented hot water storage systems
An unvented hot water storage system should be designed and installed to
prevent the temperature of the stored water at any time exceeding 100º C
and to provide protection from malfunctions of the system.
An unvented hot water storage system should be in the form of a proprietary
unit or package which is in accordance with the recommendations of
BS 7206: 1990 or the subject of approval by a
notified body
to an equivalent
level of safety and performance.
Pressure safety devices
A unit or package should have fitted:
•
a check valve to prevent backflow; and
•
a pressure control valve to suit the operating pressure of the system; and
•
an expansion valve to relieve excess pressure; and
•
an external expansion vessel or other means of accommodating
expanded heated water.
These devices are factory-fitted (unit) or supplied for fitting by the installer
(package).
Temperature activated
safety devices
A unit or package should have a minimum of 2 temperature-activated devices
operating in sequence comprising:
•
a non self-resetting thermal cut-out; and
•
a temperature relief valve.
These devices should be in additional to any thermostatic control that is fitted
to maintain the temperature of the stored water at around 60º C.
4.9.1
—
4.9.2
domestic | safety | danger from heat | 2006
Unvented hot water storage System – indirect example
Thermal cut-out
A temperature-operated, non self-resetting, energy cut-out complying with
BS 3955: 1986 should be fitted to the vessel. In the event of thermostat
failure, heating to the water in the vessel should stop before the temperature
rises to the critical level required for operation of the temperature relief valve.
In indirectly heated vessels, the non self-resetting thermal cut-out should
operate a motorised valve, or other similar device, to shut off the flow from
the heat source.
On directly heated vessels or where an indirectly heated vessel has an
alternative direct method of water heating fitted, a non self-resetting thermal
cut-out device should be provided for each direct source.
Temperature relief valve
The temperature relief valve should be located directly on the storage
vessel. Generally, a combined temperature and pressure valve is fitted. The
relief valve should comply with BS 6283 Part 2: 1991 for temperature relief
valves or BS EN 1490: 2000 for combined temperature and pressure relief
valves which are set to open at temperatures not normally exceeding 90º C.
The relief valve should have a discharge capacity rating at least equal to the
rate of energy (power in kilowatts) input to the heat source. In the case of an
indirectly heated unit or package, the valve should be tested to discharge
water at a rate not less than 500 kg/h for systems up to 45 kW. The
discharge pipework should accommodate this flow rate.
4.9.2
—
4.9.2
domestic | safety | danger from heat | 2006
4.9.3 Discharge from unvented hot water storage systems
The removal of discharges of water from the system can be considered in
three parts:
Relief valve to tundish
Each valve should discharge into a metal pipe not less than the nominal
outlet size of the valve. The discharge pipe should have an air-break, such
as a tundish, not more than 500 mm from the vessel relief valve and located
in an easily visible location within the same enclosure. Discharge pipes from
more than one relief valve may be taken through the same tundish.
Pipework should be installed so that any discharge will be directed away from
electrical components should the discharge outlet become blocked.
Tundish to final discharge point
The presence of this air break results in the pressure of the final discharge
being no higher than that of a vented system.
The discharge pipe from the tundish to final discharge point should be of a
material, usually copper, capable of withstanding water temperatures of up to
95º C and be at least one pipe size larger than the outlet pipe to the relief
valve. A vertical section of pipe, at least 300 mm long, should be provided
beneath the tundish before any bends to the discharge pipe; thereafter the
pipe should be appropriately supported to maintain a continuous fall of at
least 1 in 200 to the discharge point.
The pipework should have a resistance to the flow of water no greater than
that of a straight pipe 9 m long unless the pipe bore is increased accordingly.
Guidance on sizing of pipework from the tundish to the final discharge point is
shown in the following table:
Size of discharge pipework
Valve
outlet
size
Minimum
size of
discharge
pipe to
tundish
Minimum
size of
discharge
pipe from
tundish
Maximum resistance
allowed, expressed
as a length of
straight pipe i.e. no
elbows or bends
Equivalent
resistance
created by the
addition of each
elbow or bend
G ½
15 mm
22 mm
28 mm
35 mm
Up to 9 m
Up to 18 m
Up to 27 m
0.8 m
1.0 m
1.4 m
G ¾
22 mm
28 mm
35 mm
42 mm
Up to 9 m
Up to 18 m
Up to 27 m
1.0 m
1.4 m
1.7 m
G 1
28 mm
35 mm
42 mm
54 mm
Up to 9 m
Up to 18 m
Up to 27 m
1.4 m
1.7 m
2.3 m
Annex D to BS 6700: 1997 'Specification for design, installation, testing and
maintenance of services supplying water for domestic use within
buildings
and their curtilages' also gives guidance on pipe sizing for water distribution
systems.
4.9.3
—
4.9.3
domestic | safety | danger from heat | 2006
Discharge pipe termination
The pipe termination should be in a visible location and installed so that
discharge will not endanger anyone inside or outside the
building
.
Ideally, the final discharge point should be above the water seal to an
external gully and below a fixed grating. Other methods for terminating the
final discharge point would include:
a. up to 100 mm above external surfaces such as car parks, grassed areas,
or hard standings; a wire cage or similar guard should be provided to both
prevent contact with discharge and protect the outlet from damage, whilst
maintaining visibility;
b. at high level into a hopper and downpipe of a material, such as cast iron,
appropriate for a hot water discharge with the end of the discharge pipe
clearly visible;
c. onto a
flat roof
or pitched roof clad in a material capable of withstanding
high temperature discharges of water, such as slate/clay/concrete tiles or
metal sheet, with the discharge point a minimum of 3 m from any plastic
guttering system that would collect such discharges.
Discharge at high level may be possible if the discharge outlet is terminated
in such a way as to direct the flow of water against the external face of a
wall. However evidence of the minimum height of the outlet above any
surface to which people have access and the distance needed to reduce the
discharge to a non-scalding level should be established by test or otherwise.
4.9.4 Discharge of steam or hot water
Any vent or overflow pipe of a hot water system should be positioned so that
any discharge will not endanger anyone inside or outside the
building.
The discharge point of such pipework should be provided in accordance with
the guidance given for termination in clause 4.9.3.
Guidance to the Water
Byelaws
Guidance to the Water Byelaws recommends that, to prevent the
development of Legionella or similar pathogens, hot water within a storage
vessel should be stored at a temperature of not less than 60°C and
distributed at a temperature of not less than 55º C.
If water is supplied at high temperature, from any source, there is a danger of
scalding to
building
users. Risk of severe injury increases proportionally with
increase in temperature and with extent of contact.
Facilities used for
personal hygiene
To prevent scalding, the temperature of hot water, at point of delivery to a
bath or bidet, should not exceed 48º C.
A device or system limiting water temperature should not compromise the
principal means of providing protection from the risk of Legionella. It should
allow flexibility in setting of a delivery temperature, up to a maximum
of 48º C, in a form that is not easily altered by
building
users. This will allow
reduction of temperature where, for example, facilities are used by those
more at risk from injury, such as elderly people or unsupervised children.
4.9.3
—
4.9.5
domestic | safety | danger from heat | 2006
Where both hot and cold water are supplied to a facility, the above may be
achieved by use of a thermostatic mixing valve (TMV) or fitting complying
with BS EN 1111: 1999 or BS EN 1287: 1999, fitted as close to the point of
delivery as practicable. Guidance on the installation, use and maintenance
of thermostatic mixing valves and fittings can be found in BRE information
Paper IP 14/03 and from the Thermostatic Mixing Valve Association (TMVA).
Provision within an
existing
building
Where a
dwelling
is altered or extended, but not
converted,
and new
sanitary
facilities
are provided, some primary heat sources, such as older combination
boilers, may not be suited to temperature control in the manner given above.
In such cases, advice should be sought from equipment manufacturers on
compatible means of limiting hot water temperature to controlled facilities.
Health & Safety
legislation
The non-domestic Handbook should be referred to for duties under Health &
4.9.5
—
4.9.5


findaride++ (City4All Hackathon)
Findaride.org is a one-stop-shop for finding transit options when you have mobility constraints. It’s a deluge of information that may not be relevant to your goals.
Access Map
Team members
- Ann
- Charlotte Tan (team lead)
- Dionna Glaze
- Julian
- Patrick Laban
- Shaun Glaze


|
ovs all
|
This document describes how to build and install Open vSwitch on a Fedora Linux host. If you want to install Open vSwitch on a generic Linux host, see INSTALL.md instead.
We have tested these instructions with Fedora 16 and Fedora 17.
You may build from an Open vSwitch distribution tarball or from an Open vSwitch Git tree.
The default RPM build directory (_topdir) has five directories in the top-level:
Before you begin, note the RPM sources directory on your version of Fedora. The command "rpmbuild --showrc" will show the configuration for each of those directories. Alternatively, the command "rpm --eval '%{_topdir}'" shows the current configuration for the top level directory and the command "rpm --eval '%{_sourcedir}'" does the same for the sources directory. On Fedora 17, the default RPM _topdir is $HOME/rpmbuild and the default RPM sources directory is $HOME/rpmbuild/SOURCES.
``` ./boot.sh ./configure make dist ```
`cp openvswitch-x.y.z.tar.gz $HOME/rpmbuild/SOURCES`
``` tar xzf openvswitch-x.y.z.tar.gz cd openvswitch-x.y.z ```
To build Open vSwitch userspace, run:
`rpmbuild -bb rhel/openvswitch-fedora.spec`
This produces one RPM: "openvswitch".
The above command automatically runs the Open vSwitch unit tests. To disable the unit tests, run:
`rpmbuild -bb --without check rhel/openvswitch-fedora.spec`
On Fedora 17, to build the Open vSwitch kernel module, run:
rpmbuild -bb rhel/openvswitch-kmod-fedora.spec
You might have to specify a kernel version and/or variants, e.g.:
``` rpmbuild -bb \ -D "kversion 2.6.32-131.6.1.el6.x86_64" \ -D "kflavors default debug kdump" \ rhel/openvswitch-kmod-rhel6.spec ```
This produces an "kmod-openvswitch" RPM for each kernel variant, in this example: "kmod-openvswitch", "kmod-openvswitch-debug", and "kmod-openvswitch-kdump".
Please report problems to<EMAIL_ADDRESS>open vswit ch.o rg


The Severn Project is a social enterprise producing and supplying the highest quality salad to food-lovers across Bristol and beyond. But we’re more than simply the purveyors of the area’s freshest leaves. Our business is run by passionate individuals with track records in helping people from socially excluded groups, such as those recovering from substance misuse, with poor mental health or former offenders.
We've bought salad weekly from the Severn Project for two years - it's on the door step, fresh and tasty every time.
“Before I joined the Severn Project I was in a mess. I had no job, my family barely spoke to me and I was severely depressed.
Since joining, all of these have been reversed. I see my family regularly and I keep busy working for the project 3 days a week.
I’m starting to take control of my life and I’m on my way to being employed and becoming a functioning member of society. I’m feeling happy for the first time in years!”
John, Severn Project member
The Severn Project has 12 acres of land on three sites – Keynsham, Templemeads and Whitchurch. We have a total of 3/4 of an acre of polytunnels, and a loyal and fast growing customer base.
Praesent malesuada augue sit amet nibh interdum sed porttitor quam accumsan. Duis justo eros, sagittis eget auctor ac, lobortis non massa.
Praesent malesuada augue sit amet nibh interdum sed porttitor quam accumsan. Duis justo eros, sagittis eget auctor ac, lobortis non massa.
Praesent malesuada augue sit amet nibh interdum sed porttitor quam accumsan. Duis justo eros, sagittis eget auctor ac, lobortis non massa.

Since its launch in May 2010, the Severn Project has held two goals in equal measure: to provide our customers with the best salad leaves money can buy, while also helping socially excluded groups to build new and rewarding lives through employment, training and education.
We have done this by forging close working relationships with local authorities, health agencies and treatment providers, who refer their clients to us. In addition, we are also beginning to work with a growing number of GPs who recognise the advantages of prescribing working in horticulture as a credible alternative to prescribing what can often be counter-productive drugs.
As our business grows, so does our impact. In addition to reinvesting all the profit we make back into our business, we are increasingly building working relationships with a number of corporate partners, whose staff volunteer their time and expertise to growing our business – and impact – further.
Find out more about our services and their impact.


clarobscur
Home
Photo galleries
News
Contact
Iceland
Copyright © Sandra Marcos Bonet · clarobscur 2020


| DOSE: |
2.0 mg |
smoked |
JWH-018 |
(powder / crystals) |
There has been a lot of speculation about the chemical and its use in Spice. Intrigued, I received a small sample and decided to try it for myself, in its pure (or impure) form. Here are the results:
2 milligrams was weighed with a .001g scale and placed on a small strip of aluminum foil. Looking at it, it is only the size of about 3 grains of salt. Cutting it is fairly difficult. It has the consistency of plastic, and a VERY pungent and unpleasant odor.
Experience Number 1:
------------------------------------------------------------------
(11:15): JWH-018 vaped off of aluminum foil. The taste is bearable, but only just. It tastes very similar to smoking plastic.
(11:16): The effects are felt almost immediately. I first noticed a slight visual change that grew slowly until it was very pronounced. Everything seemed close up and the room oscillated back and forth. It felt almost like being on a boat.
(11:18): I burst out into uncontrollable laughter while my friend prepares his dose. This lasted for about 45 minutes (this isn't an exaggeration!) My throat was bone dry afterward, and it continued to hurt the next day.
(~12:00):
Waves of fiery euphoria sweep over my body. It starts as a burning sensation in the back of my head and travels to my chest and lingers down my spine. Making a sharp pulse towards my feet, it comes back home to rest on the upper parts of my back. This continues for several minutes, with brief bursts of laughter and headache.
(12:45): I now begin to think I am losing my mind. I grab several bottles of water and begin to chug, trying to wash the substance out of my system. I spend about thirty minutes on the toilet trying to go to the bathroom. Eventually I get nauseous and proceed to projectile vomit into the floor. My friend leaves and I go to bed. I wake up groggy the next morning, but have the best sleep of my life.
------------------------------------------------------------------
Experience Number 2
------------------------------------------------------------------
Despite the negative effects of my first dose, I liked the positive effects so much I decide to give it another go the next day.
(6:00): Roughly 1 milligram JWH-018 is vaped off of aluminum foil.
(6:15): I'm not feeling anything, so I eyeball around 250-500 micrograms more and vaporize it.
(6:20): The effects begin to show. Most anything makes me laugh, vision is stretched, tingling burning sensation makes its rounds over my body. You could probably chop my hand off and I wouldn't notice it.
(6:45): I stare at the floor enjoying the typhoon of euphoria that explodes on my shores, and begin to notice that the sun is going down. The light that came through my window was a vibrant neon blue. I sat 20 minutes watching it flow into my living room and engulf everything it touched. The technocolor pigment shined off of the furniture making a crystal-like surrounding. It was borderline psychedelic.
(7:10): I decided to lay down and enjoy some music. I put on a number of things, ranging from the Tiger Lilies, Hank Williams Sr., and Bob Dylan. One the things I liked was the music appreciation. Everything seemed more vibrant and deep. Especially with some of Dylan's work, I noticed I could 'isolate' a certain instrument or sound in my mind and follow it through out the song. The complexity of my experience was a complete Sound-gasm (TM). My friend also decides to order some food. Chinese.
(7:45): The food gets here and I dive in. There's nothing I won't eat. General Tsao Chicken, Crab Rangoon, Egg Drop Soup, Fortune Cookies; you name it. The munchies are definitely a part of the experience for me with this substance.
(8:15): I'm very tired, and fall into a foggy sleep. It is very restful.
(10:40): I wake up groggy and get on the computer. The grogginess dissipates after 10 or 15 minutes, leaving me mildly but pleasantly relaxed.
------------------------------------------------------------------
Conclusion: In moderation this is a very good substitute for cannabis. Since my first experience I have bought a gram which should last a good while. The price is also very economical ($100/500 doses per gram = $0.20 per dose). Everything is there: Munchies, music appreciation, red eye. The effects were speedier for me though and the time dilation significant. 5 minutes in feels like an eternity. For me it also has dissociative and psychedelic undertones. It should be noted that because I have a cheap scale, my doses may range a bit. My first dose of 2 milligrams may very well have been 3 milligrams, however it did say 2 milligrams on the scale. Because it could have varied either way ( to 1 milligram or 3), I decided to average it out and leave it at 2 milligrams.
PLEASE BE CAREFUL WITH THIS SUBSTANCE!!!! IT IS EXTREMELY POTENT AND AN OVERDOSE IS NOT PLEASANT. I would start with 0.5 milligrams to 1 milligram and re dose as needed.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


PBoC likely to maintain incremental policy easing – TDS
by Sandeep KanihamaAnalysts at TD Securities point out that the PBoC has cut its 7 day reverse repo rate to 2.5% from 2.55% and added CNY 180bn of liquidity via open market operations.
Key Quotes
“The cut in rates was the first since 2015 and follows the release of the PBoC's quarterly report over the weekend, which warned both about risks to growth and rising inflation. October data was uniformly weak, suggesting that PBoC will maintain its incremental policy of easing.”


{% extends "layout.html" %} {% block page_title %} Apprenticeships {% endblock %} {% block content %} {% include "includes/phase_banner_beta.html" %} {% include "includes/secondary-nav-people.html" %} {% include "includes/breadcrumbs/register-back.html" %} Change apprentice status Delete me What status change do you want to make? Pause Stop Don’t change the status {% endblock %}


Using Git for the First Time
1/3/15
What Git Is and What It's Not
To get started, you need to understand a few things. Git is version control. Git is the most popular form of version control, because it is awesome. Git is not the same as GitHub. GitHub is git, but git is not GitHub.
Version Control
Let's go through those one by one! First, what is version control?
Version control, according to a google search, is "the task of keeping a software system consisting of many versions and configurations well organized". Why is version control so important? Because coding gets complicated. Every single character that is entered in your code will make a difference to the outcome of your project. What happens when you leave a project for a few days, then return to that project and accidentally forget to add an end parenthesis or, god forbid, a semi-colon?
Without version control, you might have no idea what changes you made since your last update. Version control allows you to see those changes and control them in an effective way.
All About git
Git is a version control system for software development. It is the most widely used system of version control!
Let's take the previous scenario one step further. Why is git the most popular version control method? With git not only can you see what changes you made, you can actually revert back to that working version you had from last Monday! It's pretty nifty.
The previous example is with just one developer, working on one project. Now imagine for me a team of developers working on a huge multi-million dollar product. They are going to need a way for everyone to work on the same code, at the same time, constantly, without breaking the product every other day!
This is where git saves the day again. git allows you to create these things called branches. The best explanation I have heard to explain how branches work, is by comparing a project in git to a parallel universe.  It is a nice, solid line, travelling from your birth to present day. Now imagine we could make an infinite number of branches from your life as it is now, to how it could be in 10 years. Maybe in one branch you become a chemistry teacher who discovers he has cancer and turns to a life of crime and drug dealing to help his family before he dies.
In another, you become the first person to step on to Mars, but then are tragically left on the planet by your devoted crew after a freak storm throws a satellite piece through your spacesuit and they assume you are left for dead.
In another life, you become a git master and understand everything there is to know about version control.
You can see how each of your different life scenarios has played out. Now, imagine you can pick just one of these scenarios and integrate that to your master branch, to your actual life. That is a lot like git!
 With git, you can now revert back to a previous point in your life. In git, when you commit a new branch (it's a lot like saving your work, and adding details of what has been saved since the last update), you are creating a sort of checkpoint. You can revert back to this checkpoint at any time. So, for example, you could go back those ten years + a few weeks to your life exactly as it is today, before you were stranded on Mars, and select a better path, like becoming a git master!
If none of these crazy analogies are working for you, try taking a look at this diagram from www.atlassian.com. Circles represent a commit, aka a save/checkpoint, for each branch.  The commits for this master branch also list the version number, as it's the main branch representing actual releases of an updated product. Below the master branch, you see various branchs (like alternate realities!) that are periodically merged with the master branch or each other as the team decides the work can be integrated.
Git vs. GitHub
By this point, hopefully you have a better idea of what version control is, how it is related to git, and why it is important. So, finally, we get to the difference between git and GitHub.
Rectangles are squares, but squares are not rectangles. That is a lot like git and GitHub! GitHub is a community of git practitioners. GitHub provides a place for everyone who utilizes git to share their information publically, with a select group of peers, or not at all. GitHub stores things online. GitHub is amazing!
Git is a widely used version control system. Git utilizes the command line, a powerful but somewhat more difficult way to view your code history. GitHub is a git hosting service, which utilizes a graphical user interface to display your code's version history. It's beautiful, easy to use, and all around great.
If you're still not sure what GitHub is, check out this TechCrunch article going in to further detail about GitHub and all it's usefulness.
 There are plenty of online tutorials introducing people to the basics of how to get started on git and GitHub.
I personally recommend this website. It is very basic and a great way to get through those tough first steps. Thanks for reading, and happy coding!


Welcome to our Salmon cookies website
Our working hours are:
evry day from 6:00 am till 7:00 pm
enjoy the tour..
Welcome to our Salmon cookies website
Our working hours are:
evry day from 6:00 am till 7:00 pm
enjoy the tour..


“Kids learn about Fruits and Vegetables” - teach children through play!
“Kids learn about Fruits and Vegetables” - teach children through play!
“Kids learn about Fruits and Vegetables” - teach children through play!
“Kids learn about Fruits and Vegetables” - teach children through play!
Learn the names and sounds of instruments.
“Kids learn about Fruits and Vegetables” - teach children through play!
“Kids learn about Fruits and Vegetables” - teach children through play!
“Kids learn about Fruits and Vegetables” - teach children through play!
“Kids learn about Fruits and Vegetables” - teach children through play!
“Kids learn about Fruits and Vegetables” - teach children through play!
“Kids learn about Fruits and Vegetables” - teach children through play!
“Kids learn about Fruits and Vegetables” - teach children through play!
“Kids learn about Fruits and Vegetables” - teach children through play!
“Kids learn about Fruits and Vegetables” - teach children through play!
“Kids learn about Fruits and Vegetables” - teach children through play!
Learn the names and sounds of instruments.
“Kids learn about Fruits and Vegetables” - teach children through play!
Meet the solar system full-scale.
Ready for a game like none other? Guess The Emoji will entertain you for hours!
Animal sounds for children to know different animals and their sounds.
The concentration game designed for young children. This app uses fruits images.
Think you have a good vocabulary? Find out with this chalkboard classic.
Children master ABC alphabet letters and phonics using railroads and trains.
Car Logo Quiz is a logo quiz car game which has more than 250 logos!
“Learning colors for kids” is a simple and exciting learning game.
Make Words.Try to make as many words as possible from given 7 letters.
This is a game for a true Word Genius!
Find all of the words and graduate from Word Academy! #1 Word Game in 38 countries.
Pick a category, Spin the wheel, and Guess the phrase faster than your friends!
Animals for Kids helps young children learn the animals and their voices.
Guess Word: 4 Pics 1 Word, one of the most popular games in the world.
Kids learn English effectively in a fun way.
Play the ultimate logo quiz game and compete with your friends.
Guess the logo from hundreds of food brand icons! Enjoy the best food logo quiz.
Free Word Search Puzzle in English.
How many clues will it take you to solve the riddle?
This app allows your kids learn to read clock and tell time.
Converting decimal numbers to roman numerals and vice versa.
Number #1 Kids Math that is fit your children 1 grade up to 6 grade.

Test your IQ?
Best periodic table of chemical elements.
Symbology, The Study of Symbols - A Minimalist and Visually Striking Puzzle Game.
Time to show your knowledge for numbers! Easy to play and fun to learn!
Tile puzzle - Landscapes contains a collection of very beautiful Nature places.
Put away your pencil and paper, play Tic Tac Toe on your Android phone for free!
Play "4 in a Row" against people from all over the world! 100% free!
Free game helps children aged 2-5 develop matching, tactile and fine motor skills.
For children to learn in a fun way!
Step by step animated 3D origami instructions.
How to draw cartoons — Step by step.
Children master ABC alphabet letters and phonics using railroads and trains.
The most realistic jigsaw experience you can get on a smart phone!
Find the differences fun, find the differences fast!
The best virtual Piano for Android
'Connect the Dots for kids' playgame is an entertaining educational app.


Browser vs. Appletviewer - Test of the "codebase" and "archive" parameters of a Java applet
3 - Works with Browser and Appletviewer
4 - Fails with Appletviewer
5 - Fails with Browser


When you work with the Microsoft SQL Server JDBC Driver and the Statement and ResultSet objects that it provides, there are several techniques that you can use to improve the performance and reliability of your applications.
Use the Appropriate Statement Object
When you use one of the JDBC driver Statement objects, such as the SQLServerStatement, SQLServerPreparedStatement, or the SQLServerCallableStatement object, make sure that you are using the appropriate object for the job.
-
If you do not have OUT parameters, you do not need to use the SQLServerCallableStatement object. Instead, use the SQLServerStatement or the SQLServerPreparedStatement object.
-
If you do not intend to execute the statement more than once, or do not have IN or OUT parameters, you do not need to use the SQLServerCallableStatement or the SQLServerPreparedStatement object. Instead, use the SQLServerStatement object.
Use the Appropriate Concurrency for ResultSet Objects
Do not ask for updatable concurrency when you create statements that produce result sets unless you actually intend to update the results. The default forward-only, read-only cursor model is fastest for reading small result sets.
Limit the Size of Your Result Sets
Consider using the setMaxRows method (or SET ROWCOUNT or SELECT TOP N SQL syntax) to limit the number of rows returned from potentially large result sets. If you must deal with large result sets, consider using an adaptive response buffering by setting the connection string property responseBuffering=adaptive, which is the default mode. This approach allows the application to process large result sets without requiring the server-side cursors and minimizes the application memory usage. For more information, see Using Adaptive Buffering.
Use the Appropriate Fetch Size
For read-only server cursors, the tradeoff is round trips to the server versus the amount of memory used in the driver. For updatable server cursors, the fetch size also influences the sensitivity of the result set to changes and concurrency on the server. Updates to rows within the current fetch buffer are not visible until an explicit refreshRow method is issued or until the cursor leaves the fetch buffer. Large fetch buffers will have better performance (fewer server round trips) but are less sensitive to changes and reduce concurrency on the server if CONCUR_SS_SCROLL_LOCKS (1009) is used. For maximum sensitivity to changes, use a fetch size of 1. However, note that this will incur a round trip to the server for every row fetched.
Use Streams for Large IN Parameters
Use streams or BLOBs and CLOBs that are incrementally materialized to handle updating large column values or sending large IN parameters. The JDBC driver "chunks" these to the server in multiple round trips, allowing you to set and update values larger than what will fit in memory.


by Sarah MaglioccoI’m A Celebrity bosses have reportedly “tightened security” around the celeb-filled camp after a man was found dead in the area.
On Friday is was reported that New South Wales police launched a manhunt after a man was found dead under suspicious circumstances.
Detective Chief Inspector Brendon Cullen of the area’s homicide squad are investigating the discovery.
He told ABC: “The movements and the history of the victim is something that we are in the early stages of establishing.”
“We are very keen to speak to any person that was in Jack Evans Boat Harbour yesterday evening and this morning who might have seen something or know anything about this.”
“We do want to establish where this man is from and how he came to be in the state he is in now.”
I’m A Celeb is filmed on a disused banana plantation in far-north eastern New South Wales.
A source claimed to The Sun: “The celebs are being watched 24 hours a day, seven days a week by a team of staff and our security measures are incredibly tight.”
“So there is zero chance of anyone sneaking into camp. But of course it is very unsettling to know that there is someone out there, running from the police, who has committed such a horrible crime.”
The area is extremely remote, and was threatened by forest fires earlier this year.