text:
"""
Spyder Editor

This is a temporary script file.
"""

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import scipy.stats as ss
import sklearn.cluster as skcluster
from sklearn import metrics
from sklearn import preprocessing
import imblearn.under_sampling
import imblearn.over_sampling
import imblearn.combine

class CreditScore:

    def __init__(self, dataname):
        #dataname指定导入那个数据集
        self.dataname = dataname

        #读取数据集
        if self.dataname == 'german':
            self.data = pd.read_table('..\\..\\raw data\\credit scoring\\german.data.txt',header=None,delim_whitespace=True)
            #重新命名特征变量A1A2A3...和违约变量default
            names = ['A1']
            for i in range(1,self.data.shape[1] - 1):
                names.append('A' + str(i+1))
            names.append('default')
            self.data.columns = names
            #german数据中1=good 2=bad 转换成0=good 1=bad
            self.data.default = self.data.default.replace({1:0, 2:1})

        if self.dataname == 'HMEQ':
            self.data = pd.read_csv('raw data\\credit scoring\\HMEQ.csv')
            self.data = self.data.rename(columns = {'BAD':'default'})

            self.data['MORTDUE'] = pd.to_numeric(self.data['MORTDUE'], errors='coerce')
            self.data['MORTDUE'] = self.data['MORTDUE'].fillna(self.data['MORTDUE'].mean())
            self.data['VALUE'] = pd.to_numeric(self.data['VALUE'], errors='coerce')
            self.data['VALUE'] = self.data['VALUE'].fillna(self.data['VALUE'].mean())
            self.data['REASON'] = self.data['REASON'].fillna("NA")
            self.data['JOB'] = self.data['JOB'].fillna("NA")
            self.data['YOJ'] = pd.to_numeric(self.data['YOJ'], errors='coerce')
            self.data['YOJ'] = self.data['YOJ'].fillna(self.data['YOJ'].mean())
            self.data['DEROG'] = pd.to_numeric(self.data['DEROG'], errors='coerce')
            self.data['DEROG'] = self.data['DEROG'].fillna(self.data['DEROG'].mean())
            self.data['DELINQ'] = pd.to_numeric(self.data['DELINQ'], errors='coerce')
            self.data['DELINQ'] = self.data['DELINQ'].fillna(self.data['DELINQ'].mean())
            self.data['CLAGE'] = pd.to_numeric(self.data['CLAGE'], errors='coerce')
            self.data['CLAGE'] = self.data['CLAGE'].fillna(self.data['CLAGE'].mean())
            self.data['NINQ'] = pd.to_numeric(self.data['NINQ'], errors='coerce')
            self.data['NINQ'] = self.data['NINQ'].fillna(self.data['NINQ'].mean())
            self.data['CLNO'] = pd.to_numeric(self.data['CLNO'], errors='coerce')
            self.data['CLNO'] = self.data['DEROG'].fillna(self.data['CLNO'].mean())
            self.data['DEBTINC'] = pd.to_numeric(self.data['DEBTINC'], errors='coerce')
            self.data['DEBTINC'] = self.data['DEBTINC'].fillna(self.data['DEBTINC'].mean())

        if self.dataname == 'taiwancredit':
            self.data = pd.read_csv('raw data\\credit scoring\\taiwancredit.csv')
            self.data = self.data.rename(columns = {'default payment next month':'default'})
            #sex education marriage 转化为字符变量
            self.data['SEX'] = self.data['SEX'].astype('str')
            self.data['EDUCATION'] = self.data['EDUCATION'].astype('str')
            self.data['MARRIAGE'] = self.data['MARRIAGE'].astype('str')

    def categoricalwoe(self):
        #进行粗分类和woe转换
        datawoe = self.data.copy()

        for col in datawoe.columns:

            if col == 'default':
                continue

            #首先判断是否是名义变量
            if datawoe[col].dtype == 'O':
                for cat in datawoe[col].unique():
                    #计算单个分类的woe
                    nob = max(1, sum((datawoe.default == 1) & (datawoe[col] == cat)))
                    tnob = sum(datawoe.default == 1)
                    nog = max(1, sum((datawoe.default == 0) & (datawoe[col] == cat)))
                    tnog = sum(datawoe.default == 0)
                    woei = np.log((nob/tnob)/(nog/tnog))
                    datawoe[col] = datawoe[col].replace({cat:woei})

        return datawoe

    def binandwoe(self, nclusters, cmethod):
        #进行粗分类和woe转换
        #进行粗分类(bin)时,bq=True对连续变量等分位数分段,bp=False对连续变量等宽分段
        datawoe = self.data.copy()

        for col in datawoe.columns:

            if col == 'default':
                continue

            #首先判断是否是名义变量
            if datawoe[col].dtype == 'O':
                for cat in datawoe[col].unique():
                    #计算单个分类的woe
                    nob = max(1, sum((datawoe.default == 1) & (datawoe[col] == cat)))
                    tnob = sum(datawoe.default == 1)
                    nog = max(1, sum((datawoe.default == 0) & (datawoe[col] == cat)))
                    tnog = sum(datawoe.default == 0)
                    woei = np.log((nob/tnob)/(nog/tnog))
                    datawoe[col] = datawoe[col].replace({cat:woei})
            else:
                #对连续特征粗分类
                if cmethod == 'quantile':
                    arrayA = np.arange(0,100,100/nclusters)
                    arrayB = np.array([100]);
                    arrayA = np.concatenate((arrayA,arrayB))
                    breakpoints = np.unique(np.percentile(datawoe[col],arrayA))
                    if len(breakpoints) == 2:
                        breakpoints = np.array([breakpoints[0], np.mean(breakpoints), breakpoints[1]])
                else:
                    minvalue = datawoe[col].min()
                    maxvalue = datawoe[col].max()
                    breakpoints = np.arange(minvalue, maxvalue, (maxvalue-minvalue)/nclusters)
                    breakpoints = np.append(breakpoints, maxvalue)
                labels = np.arange(len(breakpoints) - 1)
                datawoe[col] = pd.cut(datawoe[col],bins=breakpoints,right=True,labels=labels,include_lowest=True)
                datawoe[col] = datawoe[col].astype('int64')

                for cat in datawoe[col].unique():
                    #计算单个分类的woe
                    nob = max(1, sum((datawoe.default == 1) & (datawoe[col] == cat)))
                    tnob = sum(datawoe.default == 1)
                    nog = max(1, sum((datawoe.default == 0) & (datawoe[col] == cat)))
                    tnog = sum(datawoe.default == 0)
                    woei = np.log((nob/tnob)/(nog/tnog))
                    datawoe[col] = datawoe[col].replace({cat:woei})

        return datawoe

    def binandwoe_traintest(self, X_train, y_train, X_test, nclusters, cmethod):
        #进行粗分类和woe转换
        #进行粗分类(bin)时,bq=True对连续变量等分位数分段,bp=False对连续变量等宽分段
        #先对X_train进行粗分类和woe转换,然后根据X_train的分类结果对X_test进行粗分类和woe转换
        X_train = X_train.copy()
        X_test = X_test.copy()

        for col in X_train.columns:

            if col == 'default':
                continue

            #对连续特征粗分类
            if X_train[col].dtype != 'O':
                if cmethod == 'quantile':#等分位数划分
                    arrayA = np.arange(0,100,100/nclusters)
                    arrayB = np.array([100]);
                    arrayA = np.concatenate((arrayA,arrayB))
                    breakpoints = np.unique(np.percentile(X_train[col],arrayA))
                    if len(breakpoints) == 2:
                        breakpoints = np.array([breakpoints[0], np.mean(breakpoints), breakpoints[1]])
                elif cmethod == 'equal':#等距离划分
                    minvalue = X_train[col].min()
                    maxvalue = X_train[col].max()
                    breakpoints = np.arange(minvalue, maxvalue, (maxvalue-minvalue)/nclusters)
                    breakpoints = np.append(breakpoints, maxvalue)
                elif cmethod == 'kmeans':#kmeans聚类划分
                    x = np.array(X_train[col]).reshape([X_train.shape[0],1])
                    cmodel = skcluster.KMeans(n_clusters=nclusters, random_state=0).fit(x)
                elif cmethod.upper()=='DBSCAN':#dbscan聚类划分
                    x = np.array(X_train[col]).reshape([X_train.shape[0],1])
                    cmodel = skcluster.DBSCAN(min_samples=nclusters).fit(x)
                elif cmethod.upper() =='BIRCH':#birch聚类划分
                    x = np.array(X_train[col]).reshape([X_train.shape[0],1])
                    cmodel = skcluster.Birch(threshold=0.1,n_clusters=None).fit(x)
                elif cmethod =='MiniBatchKMeans':#MiniBatchKMeans聚类划分
                    x = np.array(X_train[col]).reshape([X_train.shape[0],1])
                    cmodel = skcluster.MiniBatchKMeans(n_clusters=nclusters).fit(x)

                if (cmethod == 'quantile') or (cmethod == 'equal'):
                    #分段并标识为相应标签labels
                    labels = np.arange(len(breakpoints) - 1)
                    X_train[col] = pd.cut(X_train[col],bins=breakpoints,right=True,labels=labels,include_lowest=True)
                    X_train[col] = X_train[col].astype('object')
                    X_test[col] = pd.cut(X_test[col],bins=breakpoints,right=True,labels=labels,include_lowest=True)
                    X_test[col] = X_test[col].astype('object')
                elif (cmethod == 'kmeans') or (cmethod.upper()=='DBSCAN') or (cmethod.upper() =='BIRCH'):
                    #根据聚类结果标识为相应标签labels
                    X_train[col] = cmodel.labels_
                    X_train[col] = X_train[col].astype('object')
                    if cmethod.upper()=='DBSCAN':
                        X_test[col] = cmodel.fit_predict(np.array(X_test[col]).reshape([X_test.shape[0],1]))
                        X_test[col] = X_test[col].astype('object')
                    else:
                        X_test[col] = cmodel.predict(np.array(X_test[col]).reshape([X_test.shape[0],1]))
                        X_test[col] = X_test[col].astype('object')

            #woe转换
            #对test中出现但没在train中出现的值,woe取值为0
            xtrainunique = X_train[col].unique()
            xtestunique = X_test[col].unique()
            for cat in xtestunique:
                if not any(xtrainunique == cat):
                    X_test[col] = X_test[col].replace({cat:0})

            #对train中数据做woe转换,并对test中数据做相同的转换
            for cat in xtrainunique:
                #计算单个分类的woe
                nob = max(1, sum((y_train == 1) & (X_train[col] == cat)))
                tnob = sum(y_train == 1)
                nog = max(1, sum((y_train == 0) & (X_train[col] == cat)))
                tnog = sum(y_train == 0)
                woei = np.log((nob/tnob)/(nog/tnog))
                X_train[col] = X_train[col].replace({cat:woei})
                if any(xtestunique == cat):
                    X_test[col] = X_test[col].replace({cat:woei})

        return X_train, X_test

    def dataencoder(self):

        data = self.data

        #引入哑变量
        data_feature = data.ix[:, data.columns != 'default']

        data_feature0 = data_feature.ix[:, data_feature.dtypes!='object']
        data_feature1 = pd.DataFrame()
        for col in data_feature.columns:
            if data_feature[col].dtype == 'O':
                le = preprocessing.LabelEncoder()
                temp = pd.DataFrame(le.fit_transform(data_feature[col]), columns=[col])
                data_feature1 = pd.concat([data_feature1, temp], axis=1)

        enc = preprocessing.OneHotEncoder()
        data_feature1_enc = pd.DataFrame(enc.fit_transform(data_feature1).toarray())
        data_feature_enc = pd.concat([data_feature0, data_feature1_enc], axis=1)

        return(data_feature_enc)

    def imbalanceddata (self, X_train, y_train, resmethod):

        if resmethod == 'ClusterCentroids':
            nm = imblearn.under_sampling.RandomUnderSampler(random_state=0)
            X_res, y_res = nm.fit_sample(X_train, y_train)
        elif resmethod == 'CondensedNearestNeighbour':
            nm = imblearn.under_sampling.RandomUnderSampler(random_state=0)
            X_res, y_res = nm.fit_sample(X_train, y_train)
        elif resmethod == 'NearMiss':
            nm = imblearn.under_sampling.NearMiss(random_state=0)
            X_res, y_res = nm.fit_sample(X_train, y_train)
        elif resmethod == 'RandomUnderSampler':
            nm = imblearn.under_sampling.RandomUnderSampler(random_state=0)
            X_res, y_res = nm.fit_sample(X_train, y_train)
        elif resmethod == 'ADASYN':
            nm = imblearn.over_sampling.ADASYN(random_state=0)
            X_res, y_res = nm.fit_sample(X_train, y_train)
        elif resmethod == 'RandomOverSampler':
            nm = imblearn.over_sampling.RandomOverSampler(random_state=0)
            X_res, y_res = nm.fit_sample(X_train, y_train)
        elif resmethod == 'SMOTE':
            nm = imblearn.over_sampling.ADASYN(random_state=0)
            X_res, y_res = nm.fit_sample(X_train, y_train)
        elif resmethod == 'SMOTEENN':
            nm = imblearn.combine.SMOTEENN(random_state=0)
            X_res, y_res = nm.fit_sample(X_train, y_train)
        elif resmethod == 'SMOTETomek':
            nm = imblearn.combine.SMOTETomek(random_state=0)
            X_res, y_res = nm.fit_sample(X_train, y_train)
        else:
            X_res, y_res = X_train, y_train

        return X_res, y_res

    def modelmetrics_binary(self, predresult):

        #准确率
        scores = metrics.accuracy_score(predresult['target'], predresult['predicted'])
        print('cross_validation scores: %s' %scores)

        #混合概率矩阵
        confusion_matrix = pd.DataFrame(metrics.confusion_matrix(predresult['target'], predresult['predicted']), index=['real_negtive', 'real_postive'], columns=['pred_negtive', 'pred_postive'])
        confusion_matrix_prob = confusion_matrix.copy()
        confusion_matrix_prob.iloc[:, 0] = confusion_matrix_prob.iloc[:, 0] / confusion_matrix_prob.iloc[:, 0].sum()
        confusion_matrix_prob.iloc[:, 1] = confusion_matrix_prob.iloc[:, 1] / confusion_matrix_prob.iloc[:, 1].sum()

        print(confusion_matrix)
        print(confusion_matrix_prob)

        #精确度和召回率
        precision = metrics.precision_score(predresult['target'], predresult['predicted'])
        recall = metrics.recall_score(predresult['target'], predresult['predicted'])
        print('precision scores: %s' %precision)
        print('recall scores: %s' %recall)

    def modelmetrics_scores(self, predresult):

        ###AUC KS值
        auc = metrics.roc_auc_score(predresult.target, predresult.probability)
        print('AUC: %s' %auc)

        ##### KS值
        G = predresult.ix[predresult.target == 0, 'probability']
        B = predresult.ix[predresult.target == 1, 'probability']
        ks,d = ss.ks_2samp(G,B)
        print('ks: %s  d:%s' %(ks,d))

        ###在某个概率分界值p下,模型预测的各项准确率
        metrics_p = pd.DataFrame()
        for p in [0.05, 0.1, 0.2, 0.3, 0.4, 0.5]:
            predresult['predicted'] = (predresult.probability > p).astype(int)
            pred_accuracy = sum(predresult.predicted == predresult.target)/predresult.shape[0]

            confusion_matrix = pd.DataFrame(metrics.confusion_matrix(predresult['target'], predresult['predicted']), index=['real_negtive', 'real_postive'], columns=['pred_negtive', 'pred_postive'])
            confusion_matrix_prob = confusion_matrix.copy()
            confusion_matrix_prob.iloc[:, 0] = confusion_matrix_prob.iloc[:, 0] / confusion_matrix_prob.iloc[:, 0].sum()
            confusion_matrix_prob.iloc[:, 1] = confusion_matrix_prob.iloc[:, 1] / confusion_matrix_prob.iloc[:, 1].sum()

            precision = metrics.precision_score(predresult['target'], predresult['predicted'])
            recall = metrics.recall_score(predresult['target'], predresult['predicted'])
            pass_rate = sum(predresult.predicted == 0)/predresult.shape[0]

            temp = pd.DataFrame({'p0': p, 'accuracy': pred_accuracy, 'precision': precision,
                                 'recall': recall, 'pass_rate': pass_rate, 'FalseNegative': confusion_matrix_prob.iloc[1, 0]}, index=[0])
            temp = temp[['p0', 'accuracy', 'precision', 'recall', 'pass_rate', 'FalseNegative']]
            metrics_p = pd.concat([metrics_p, temp], ignore_index = True)

        print(metrics_p)

        ###画出ROC曲线
        fpr, tpr, _ = metrics.roc_curve(predresult.target, predresult.probability)
        plt.figure()
        lw = 2
        plt.plot(fpr, tpr, color='darkorange',
                 lw=lw, label='ROC curve (area = %0.2f)' % auc)
        plt.plot([0, 1], [0, 1], color='navy', lw=lw, linestyle='--')
        plt.xlim([0.0, 1.0])
        plt.ylim([0.0, 1.05])
        plt.xlabel('False Positive Rate')
        plt.ylabel('True Positive Rate')
        plt.title('Receiver operating characteristic example')
        plt.legend(loc="lower right")
        plt.show()

        ###画出KS曲线
        data1 = np.sort(G)
        data2 = np.sort(B)
        n1 = data1.shape[0]
        n2 = data2.shape[0]
        data_all = np.sort(np.concatenate([data1, data2]))

        cdf1 = np.searchsorted(data1, data_all, side='right') / (1.0*n1)
        cdf2 = np.searchsorted(data2, data_all, side='right') / (1.0*n2)
        plt.figure()

        plt.plot(data_all,cdf1, color='darkorange',lw=2, label='KS: %0.2f)' % ks)
        plt.plot(data_all,cdf2, color='red')
        plt.xlim([0.0, 1.0])
        plt.ylim([0.0, 1.05])
        plt.xlabel('VALUE')
        plt.ylabel('STATS')
        plt.title('KS-CURVE characteristic example')
        plt.legend(loc="lower right")
        plt.show()

    def maxprofit_p0(self, predresult, riskcontrol_cost, lend_rate, borrow_rate):

        ###在某个概率分界值p下,模型预测的各项准确率
        profit_p0 = pd.DataFrame()
        for p0 in range(1, 100):
            predresult['predicted'] = (predresult.probability > p0/100).astype(int)

            confusion_matrix = pd.DataFrame(metrics.confusion_matrix(predresult['target'], predresult['predicted']), index=['real_negtive', 'real_postive'], columns=['pred_negtive', 'pred_postive'])
            confusion_matrix_prob = confusion_matrix.copy()
            confusion_matrix_prob.iloc[:, 0] = confusion_matrix_prob.iloc[:, 0] / confusion_matrix_prob.iloc[:, 0].sum()
            confusion_matrix_prob.iloc[:, 1] = confusion_matrix_prob.iloc[:, 1] / confusion_matrix_prob.iloc[:, 1].sum()

            pass_rate = sum(predresult.predicted == 0)/predresult.shape[0]

            if np.isnan(confusion_matrix_prob.iloc[1, 0]):
                confusion_matrix_prob.iloc[1, 0] = 0
            revenue = pass_rate * (1 - confusion_matrix_prob.iloc[1, 0]) * (lend_rate - borrow_rate)
            loss = riskcontrol_cost + pass_rate * confusion_matrix_prob.iloc[1, 0] * (1 + borrow_rate)

            tot_profit = revenue - loss
            profit_rate = tot_profit / pass_rate

            temp = pd.DataFrame({'p0': p0/100, 'tot_profit': tot_profit, 'profit_rate': profit_rate, 'revenue': revenue, 'loss': loss, 'pass_rate': pass_rate, 'FalseNegative': confusion_matrix_prob.iloc[1, 0]}, index=[0])
            profit_p0 = pd.concat([profit_p0, temp], ignore_index = True)

        profit_p0 = profit_p0[['p0', 'tot_profit', 'profit_rate', 'revenue', 'loss', 'pass_rate', 'FalseNegative']]
        profit_p0 = profit_p0.sort_values(by='tot_profit', ascending=False)

        print("Best P0:")
        print(profit_p0.iloc[0, :])

        return profit_p0

    def loopmodelmetrics_scores(self, predresult):

        ###AUC KS值
        auc = metrics.roc_auc_score(predresult.target, predresult.probability)
        print('AUC: %s' %auc)

        ##### KS值
        G = predresult.ix[predresult.target == 0, 'probability']
        B = predresult.ix[predresult.target == 1, 'probability']
        ks,d = ss.ks_2samp(G,B)
        print('ks: %s  d:%s' %(ks,d))

        ###在某个概率分界值p下,模型预测的各项准确率
        metrics_p = pd.DataFrame()
        for p in [0.05, 0.1, 0.2, 0.3, 0.4, 0.5]:
            predresult['predicted'] = (predresult.probability > p).astype(int)
            pred_accuracy = sum(predresult.predicted == predresult.target)/predresult.shape[0]

            confusion_matrix = pd.DataFrame(metrics.confusion_matrix(predresult['target'], predresult['predicted']), index=['real_negtive', 'real_postive'], columns=['pred_negtive', 'pred_postive'])
            confusion_matrix_prob = confusion_matrix.copy()
            confusion_matrix_prob.iloc[:, 0] = confusion_matrix_prob.iloc[:, 0] / confusion_matrix_prob.iloc[:, 0].sum()
            confusion_matrix_prob.iloc[:, 1] = confusion_matrix_prob.iloc[:, 1] / confusion_matrix_prob.iloc[:, 1].sum()

            precision = metrics.precision_score(predresult['target'], predresult['predicted'])
            recall = metrics.recall_score(predresult['target'], predresult['predicted'])
            pass_rate = sum(predresult.predicted == 0)/predresult.shape[0]

            temp = pd.DataFrame({'p0': p, 'accuracy': pred_accuracy, 'precision': precision,
                                 'recall': recall, 'pass_rate': pass_rate, 'FalseNegative': confusion_matrix_prob.iloc[1, 0]}, index=[0])
            temp = temp[['p0', 'accuracy', 'precision', 'recall', 'pass_rate', 'FalseNegative']]
            metrics_p = pd.concat([metrics_p, temp], ignore_index = True)

        print(metrics_p)

        return auc, ks, metrics_p

redpajama_set_name: RedPajamaGithub


BREAKING NEWS: Member of the Jungulars talks to Investigators about the disappearance of Alhagie Amour Ceesay and Ebou Jobe.
By Lamin Jassey: One of the most notorious members of Ex President Jammeh's (killers) Jungulars, has told Military Investigators how the Gambian-Americans, Alhagie Mamour Ceesay, 39, and his childhood friend Ebou Jobe, 41, were arrested.
The Jungular (name withheld), told investigators that on that fateful day, he led a team of Jungulars to the rented apartment of the two Gambian-Americans after putting the place under surveillance for few days.
The two were arrested and taken to the notorious NIA for questioning. They were later led to the State House, where they met with President Jammeh face to face. Jammeh ordered that they be taken to Kanilai and be 'dealt with' the Jungular said. They were escorted to Kanilai, where they were killed and buried, the Jungular concluded.
The investigators are now waiting for the Coroner's permission to go and exhume the remains of the two. We commend the authorities for their swift actions on these investigations.


text:
Biografia
Ha studiato architettura al Politecnico di Valencia fino al 2001 e dopo si è specializzato in urbanistica presso la Technische Universiteit Eindhoven. Nel 2002 entra nello studio di Alvaro Siza a Porto.

Nel 2005 ha fondato il suo laboratorio a Valencia. Dal 2006 è anche professore a tempo indeterminato a l'Universidad Politécnica de Valencia è a l'Universidad Europea de Valencia, ed è stato invitato alla University of the Center for Architecture di New York, Kansas State University, alla Virginia Tech School of Architecture and Design presso l'Università di Knoxville e altre.

Nel 2013 ha creato i corsi post-laurea MArch in architettura e design, e nel 2016 ha difeso la sua tesi di dottorato davanti a un tribunale presieduto dall'architetto Carlos Ferrater, dove ha ottenuto il voto di eccezionale cum laude.

Studio

Il lavoro sviluppato dallo studio di Fran Silvestre è influenzato dal lavoro di Alvaro Siza dove la modulazione, la serializzazione e la luce sono importanti. Ne risultano edifici di grande purezza, con materiali innovativi e tecnologici. È anche fortemente influenzato dal lavoro dello scultore Andreu Alfaro e la sua tendenza alla riduzione della forma.

Progetti

Atrium House (2009)
Casa sulla montagna di un castello (2010)
Torre Eolica (2011)
Casa sulla scogliera (2012)
Casa in alluminio (2013)
Casa Balint (2013)
House between pineforest (2015)
Silence house (2019)
Piera house (2021)
Empty house (2021)

Note

redpajama_set_name: RedPajamaWikipedia


Hey guys, have you seen my other sock?
"Don't worry Ma'am- We're professionals.
We'll find that sock, guaranteed."
"First we need to search for clues..."
"Hello clues, are you in here?
"These are clues we eat."
"Time to do some dirty work..."
"What do you see, Lardee?"
"Bag up the evidence. This case is deeper than I expected."
"Sorry to pop in unannounced Carrot..."
"Have you seen this sock?"
"What if we give you this?"
"Carrot is not very helpful."
"Freshly folded laundry - our last option."
we're gonna lose all our street cred. What do we do?"
"Nobody will know the difference."
I think we found your..."
I found my other sock in the bathroom!
"Quick Lardee, destroy the evidence."


text:
Q: How to get the date a unix file was created in mono I recently discovered the Mono.Posix assembly, which has all kinds of awesome goodies for accessing unix file attributes with Mono. However, there are only 3 dates that I can see that are tracked by the UnixFileInfo class:

*

*LastWriteTime

*LastAccessTime

*LastStatusChangeTime

I'm working on OS X. I assume that LastWriteTime would correspond to Date Modified in Finder, and LastAccessTime would correspond to Date Last Opened. LastStatusChangeTime isn't necessary for my application. However, I'm not sure how I would access the Date Created attribute through Mono.
I found this link: https://unix.stackexchange.com/questions/50177/birth-is-empty-on-ext4/50184#50184
and that seems to point to the fact that I can get this date from the inode.
If I run
stat -f %B <file>

on my mac, it prints out the birth date of the file.
I can see that Mono.Posix has built in native syscalls to get the data. How might I use them to get that date?

redpajama_set_name: RedPajamaStackExchange


There's probably a first for the Marshalls: The Majuro Stevedore & Terminal Company at its first annual shareholders meeting announced a dividend of 30 percent of the value of the stock held by investors.
The was some back and forth between attending stockholders on how much the dividend should be but Robert Reimers carried the day with a suggestion that such a piece of news might be a welcome relief to the usual lack of dividends coming out of such meetings.
The meeting was chaired by the company's president Bilimon Amram.
Baron Bigler, who has had the hot hand through the last four MBC tournaments, is the front runner in the President's Cup race, which will culminate with the two day July tournament. Baron has 1,030 points, followed closely by Helly Kajeong's 955. There is a big gap and then three fishermen are bunch in the mid-300s. Imang Chong Gum has 344, Anton deBrum (last year's winner) has 340, and Kessai Note has 334.
The local branch of Micronesia Sales Company had the best overall performance for 1991, coming in ahead of the other 10 company outlets in Micronesia.
The Majuro wholesale store also took top honors in the best kept warehouse department and best asset management. The awards are given on an annual basis by chief executive officer Richard Decima, which is based in Guam.
No books, school buildings that are in awful condition, a lack of trained teachers and supervisors, and students graduating from high school with elementary reading levels.
That's life in RMI's public schools enough to put off event he most resolute optimist. But new Secretary of Education Biram Stege — who openly acknowledges this laundry list of public school woes — is far from ringing her hands and giving up.
One of her primary concerns is the severe lack of books in classrooms.
The Mashallese Cultural Center at Kwajalein invited Bikini trust liaison Jack Niedenthal, author of the recently published book on Bikini 'For the Good of Mankind', to give a special presentation to Kwajalein residents on the history of the US nuclear testing program.
Jerry Kramer rather proudly reported to the Chamber meeting last week that PII had a 27hp diesel engine running for 24 hours on coconut fuel.
He also said that one of the PII diesel vehicles had been operating on the locally refined oil "It definitely works," he said. The Tobolar board has approved the sale of coconut oil fuel as a substitute for diesel.
A group of Bank of Marshall Islands staff last week completed a business communications/introduction to business course that was conducted by College the Marshall Islands instructor Tim Owens. A new CMI business math course is scheduled to start later this month for BOMI staff.


Having worked directly in the printing industry since 1984, Extreme Exposures has evolved with technology in the offset printing industry from photoreproductive techniques to the digital realm. 4-color process in the past required deep pockets to even consider order print projects in full color. Now with Direct-to-print offset technology, vibrant, full color printed items are affordable to everyone.
Extreme Exposures will design your project that is ready for print with no design issues that will slow up production schedules. We will deliver ready to print files to clients who wish to handle their own print ordering, or we will handle the whole process so all you have to do is wait for the UPS Delivery van to show up to your door!


Interpol will drop a 5-track EP called A Fine Mess via Matador Records on May 17, it was announced.
The band said the songs that are on the EP came out of time spent in upstate New York with record producer Dave Fridmann (Mercury Rev, Flaming Lips).
"The resulting set is a living, breathing postcard from the band to their fans as they tour the world throughout 2019, and a linear continuation of the visceral and contagious energy set loose with Marauder," the band said in a statement.
Following recent headline performances at Madison Square Garden, Hollywood Bowl, Sydney Opera House, and a double header at Royal Albert Hall, Interpol will continue their worldwide run of dates with festival appearances at Glastonbury, Osheaga, Primavera, All Points East with The Strokes, and Best Kept Secret, plus headline dates across North and South America, the UK and Europe.


2. The attendee will be able to understand the change in the coordination process brought on by technology.
3. The attendee will be able to recognize new technologies and techniques for BIM coordination.
4. The attendee will be able to identify the benefits of 3D coordination for construction.


text:
Back to 'I am a geographer'
Dr Katie Hall - GIS Education Consultant
Dr Katie Hall is a GIS Education Consultant at Esri UK.
Early career,
Geospatial and technological innovations
How did you get to where you are now?
I started my career as an archaeologist – completing an undergraduate degree in archaeology and anthropology, an MPhil in archaeological research, and a PhD at the University of Cambridge. Through my studies I came to realise I had a passion for teaching as well as learning, so I decided to undertake a Geography PGCE and become a geography teacher. As part of this course I began using Geographical Information Systems (GIS) in the classroom. I had some experience of desktop GIS from my archaeology research, but it was exciting to develop new ways of using it in a school context.
I entered the Esri UK Jack Dangermond Young Scholar's competition, producing a storymap about my work in the classroom, and was lucky enough to win. A trip to the Esri Education Conference and User Conference in San Diego gave me the opportunity to meet more teachers engaging with GIS, and fired my passion to continue developing GIS uses in the classroom when I returned. When the opportunity arose within the Esri UK education team to make research and development of classroom GIS my full time career, I knew I had to apply!
Was there anything particularly useful that helped you get into this role?
Being open to new opportunities, not being afraid to deploy the skills I learned in one domain to another, and being willing to take a chance! I didn't think for one moment I would win the Young Scholar Award - my PGCE tutor was instrumental in persuading me to think otherwise – and it completely changed my career. The experience was an important lesson about self-selecting out of opportunities. It's always best to try – often the worst that can happen is you get some useful feedback on what to do differently next time. Failing is as important to success as winning new opportunities.
What do you do as part of your role?
My role is incredibly varied, which I love. I spend time using the ArcGIS platform to get to know our software as much as possible. Through this I develop new resources for schools and universities, and devise innovative ways to apply GIS to school curriculum content. I develop training courses for teachers and students to help them use our technology, and I do a lot of work out of the office delivering these.
I act as a first line of technical support for users of the platform in schools, who get in contact to ask questions about what they can do with GIS, and I am part of the team that looks at the technical side of making GIS work in schools.
I work with data that is relevant to schools, both inside and outside the classroom. For example, one of the resources I created is a series of dashboards that allow people to explore GCSE results for schools around the country. I also work with other companies and organisations that have interesting data they want to share to create interactive resources. Perhaps the most fun I've had as part of this job was producing our training videos. These help us to reach a wider audience who can't attend our training sessions. To create these, I had to get to grips with filming, editing and even making the backing soundtracks!
How does geography feature in your work/what difference does it make?
Geography is at the core of almost everything I do; spatial thinking is critical to all of the resources I make and the training sessions I deliver. It helps me to ask interesting questions of the data I work with, and to present and interpret it.
What advice would you give to someone wanting to go in to this career?
Invest in your skills. You can't skip over the foundation of good geography knowledge – enjoy learning about the world. Make the time to 'play' with technology you're interested in, to learn about new developments, and don't be afraid to try new things. The field is developing rapidly and is intensely collaborative. You can't be an expert in everything, but being able to recognise when other people have a skillset that could work alongside yours is advantageous.
Why did you choose geography? Why should others choose geography?
I chose geography because it connects together so many different areas of human knowledge and allows us to understand the world and all its people
* This interview was undertaken in 2019 and was correct at the time of publication. Please note that the featured individual may no longer be in role, but the profile has been kept for career pathway and informational purposes.
Dr Katie Hall
Job title: GIS Education Consultant
Organisation: Esri UK
Location: Aylesbury, Cambridge and Edinburgh, UK (I am a home worker, and travel all over the country to work with schools and universities)
Katie Hall - GIS Education Consultant, Esri UK (.pdf)
More career profiles
Richard Pering - Learning Manager, The Royal Parks
Richard Pering is Learning Manager at The Royal Parks in London, UK.
Environment and sustainability,
Megan Blyth - Local and Community Empowerment Project Worker
Megan Blyth is a Local and Community Empowerment Project Worker at the Centre for Sustainable Energy in Bristol, UK.
Charity and not-for-profit
Laura McNally - Sustainable Business Partner and Managing Director
Laura McNally is a Sustainable Business Partner for the Environment Agency and a Managing Director at Squat Ltd.
Mid career,
Entrepreneurship and own business
Sarah Bonar - Teacher of Geography and International Rugby Player
Sarah Bonar is a Teacher of Geography and International Rugby Player based in Loughborough, UK.

redpajama_set_name: RedPajamaCommonCrawl


Home › Current Events › "Get Out of My Country"? Whose Country Is It, Anyway?
That's what a distraught and rather drunk man shouted just before he shot three people in a bar in Olathe, Kansas on February 22, 2017. Two of the men he shot were skilled engineers from India who worked for technology giant Garmin at its Olathe headquarters. The third was an American man, a regular at the bar, who tried to intervene. One of the Indian men was killed in the attack.
You can read the whole story in this news article that ran two days after the shooting: "'Get out of my country,' Kansan reportedly yelled before shooting 2 men from India, killing one." For more background and details, see "2017 Olathe, Kansas shooting" on Wikipedia.
Of course, this was a terrible crime, and the perpetrator will likely spend the rest of his life in prison. But the wrongfulness of the crime has already been heavily covered in the regular news media.
Beyond that, what really struck me was the words that the perpetrator yelled.
"Get out of my country"?
the world, and those who live in it.
Where does this guy get off thinking it's his country? I thought it was supposed to be God's country!
Don't get me wrong. I'm not saying that the United States of America is especially blessed by God any more than any other nation on the earth. The Bible doesn't say, "The United States is the Lord's." It says, "The earth is the Lord's." All of it. Including the United States of America.
We humans get these funny ideas in our heads that we own things and they are ours. And though that's convenient for sorting out who gets to use what, the reality is that we don't actually own anything at all. God made everything, God owns everything, and God lends some of it to us to use for longer or shorter periods of time.
Before Europeans came to North America, various indigenous tribal peoples had the use of the land for many generations. Then Europeans came and took away the use of most of the land from the native peoples, claiming it for themselves.
And the hard truth is that this sort of thing has been done by various races and cultures all around the world for thousands of years. Europeans just happen to have been the most successful at it in the last few centuries. Nothing particularly special about that. It's the way of the world.
But it's not necessarily God's way.
And land taken by conquest tends to be lost when the conquerors overextend themselves, or become corrupt, and other empires and nations rise up to take over the positions of power, and the use of the land along with it.
And yet, none of them actually owns the land. They only have control over its use for a certain time.
Christians of European stock often point to the Bible as support for their rise to power in Europe, North and South America, and on the world stage. Didn't God give the Land of Canaan to his favored people, the Children of Israel? And now, the belief goes, European Christians are God's favored people, and God has therefore given them this great country, the United States of America.
But people who think this way might want to read their Bibles a little more carefully.
It is true that according to the Bible story, God gave the Israelites victory over the former inhabitants of the Land of Canaan, known today as Israel and Palestine.
But it is also true that according to the Bible story, when the Israelites failed to obey God's commandments God took that land away from them and gave it to other nations and races.
God's gift to the Israelites of living in and using the Holy Land was contingent upon their faithfulness to God and their obedience to God's commandments.
That is the law of the Lord. And though the Lord gives us the use of the land, it is not our land, but God's land. It is not our country, but God's country.
And if we do not want God to throw us out of "our" country just as God threw the ancient Israelites out of theirs, then we must by all means obey the commandment of the Lord not to wrong or oppress the resident aliens among us, but to welcome them, treat them well, and apply the same laws and the same justice to them as we apply to those born and bred within the land.
Thanks for the article as usual, sir… The article just makes me wonder if patriotism has any place, and from what motivation can someone rightfully protect that which is *is*, geographically i mean, in order to prevent it from being overrun by foreigners… take terrorists for instance.
Thanks for your comment and question. Good to hear from you again.
I believe that patriotism and love of one's country is fine, and a good thing, as long as it means supporting one's own country and its people while respecting other countries and their people as well. It is good to support and work for the welfare of one's country because our country is, in a sense, a "larger neighbor," since it consists of many people united together rather than just one or a few people.
Protecting one's country from attacks both from within and from outside is also part of loving one's country. The vast majority of people who travel or move from one country to another are peaceful people who are simply looking for wider experience or a better life. But those few who cross into one's country with ill-intent and carry out criminal and destructive acts must be treated just as criminals who come from within the country are treated: they must be brought to justice for their criminal acts.
what do you think about the way things are moving towards a one world government like in the book of revelation? maybe this is the end times generation, where the anti Christ will emerge to rule over the earth till Christ comes back? scary and interesting times where living in.
It's not at all clear to me that the world is moving toward a one-world government. Yes, there is the United Nations and a body of international law. But for the most part, individual nations are still running their own affairs, and I don't see that changing any time soon. Even the European Union is showing signs of cracking at the seams.


JSPAN POLICY PAPER - January, 2004 As members of a minority that has been the victim of terrorist attacks and government oppression over many years in many places, we Jews living in America have a unique and special interest in the rise of terrorism in the United States and abroad. We care deeply about our Government's response to the new wave of terrorism, and the preservation of our civil liberties in the course of responding to terrorism both forcefully and effectively.
JSPAN POLICY PAPER - January 2004 Thirty years after the Supreme Court's historic decision in Roe v. Wade, forces in Washington are stubbornly chipping away at that decision. Anti-choice leaders hold the balance of political power in Washington. Quietly but consistently, they are using that power to circumscribe a woman's right to personal privacy.
JSPAN supports efforts to adequately fund public school education throughout the Commonwealth. We agree that all of the Commonwealth's children deserve the opportunity to learn and that an educated citizenry is our most effective economic development tool for a future of equity, prosperity and of growth for our citizens.
JSPAN POLICY - July 2004 The Senate voted against amending the Constitution, but the debate continues.
JSPAN POLICY PAPER - Adopted July 2, 2004 Background and general principles For Jewish activists in America it is almost an article of faith that the entanglement of religion and government corrupts both and undermines not only religious freedom but our other freedoms as well. The 1500 year Jewish experience of living in societies with no separation between church, or mosque, and state doubtless accounts for the uncommon depth and unanimity with which that belief is held. It is a matter of almost unbelievably good fortune that we find ourselves in a nation whose founders, based on their own reading of history and the experiences of their own forebears, reached the same conclusion.
NEWS - June 8, 2004 It was standing room only as more than 175 people attended "The 2004 Election and the Jewish Agenda: Foreign and Domestic" a debate between Jeffrey Ballabon of the Republican Jewish Coalition and David Harris of the National Jewish Democratic Council on June 8th at Adath Jeshurun in Elkins Park.
NEWS - March, 2004 According to the media, it was the largest march in the history of Washington, DC, and JSPAN was proud to be part of it. Joining hundreds of thousands on the Mall, marching past the White House and assembling before the Capital dome, JSPAN members helped rally in support of reproductive choice on Sunday, April 25th.
NEWS - March, 2004 By Susan Myers More than 120 people braved the snow and ice of a mid-March storm to hear Leonard Fein, one of the nation's leading Jewish activists, address the inaugural public meeting of JSPAN. Dr. Fein began his remarks with a series of vignettes describing several areas of the world beset by cruelties and miseries; he then introduced his audience to those individuals whose devotion to the amelioration of human suffering in these places shines forth as a beacon of hope in this difficult world.


This cute collar would be perfect for the Halloween season. This 5/8" white nylon collar has fun candy corn ribbon sewn on with brilliantly sparkling white, yellow, and orange crystals. Included is the rhinestone buckle and the cutest candy corn charm. You have 4 different sizes to choose from. This collar will make a great addition to your precious furry baby's attire. Please don't forget to check out the matching leashes and the charms and ID tags. They make a great addition to your pet's wardrobe. Thank you for checking out my site and hoped that you enjoyed looking at all the beautiful collars and bling products.
This measurement is around the neck with no fingers under the tape measure. It is very snug, no extra room. We will add extra for comfort. This is the ONLY measurement we can use.


text:
In their final word, families of N.S. shooting victims call commission 'rudderless' | CBC News Loaded
Nova Scotia·Analysis
In their final word, families of N.S. shooting victims call commission 'rudderless'
The commission investigating one of Canada's deadliest mass shootings has heard from families of the victims and other groups participating in the inquiry one last time, nine months after public proceedings got underway.
Commissioners expected to deliver report by end of March
Blair Rhodes · CBC News · Posted: Nov 29, 2022 5:00 AM EST | Last Updated: November 29, 2022
Twenty-two people died on April 18 and 19, 2020. Top row from left: Gina Goulet, Dawn Gulenchyn, Jolene Oliver, Frank Gulenchyn, Sean McLeod, Alanna Jenkins. Second row: John Zahl, Lisa McCully, Joey Webber, Heidi Stevenson, Heather O'Brien and Jamie Blair. Third row from top: Kristen Beaton, Lillian Campbell, Joanne Thomas, Peter Bond, Tom Bagley and Greg Blair. Bottom row: Emily Tuck, Joy Bond, Corrie Ellison and Aaron Tuck. (CBC)
Would have. Could have. Should have.
The final written submissions for the Mass Casualty Commission are replete with suggestions, demands and recriminations over how the events of April 18 and 19, 2020, and their aftermath, could have been handled differently.
The shooting rampage in rural Nova Scotia left 22 people dead as well as the gunman, who was eventually killed by police. The public hearings into the mass shooting, which began in February and ran until September, have already heard many of the assertions raised in the written submissions.
Lawyers representing families of 21 of the victims used their final words to the commission to repeat their concerns about issues like communication regarding the police response.
There are two recurring themes on that topic: that the RCMP did a poor job of warning the public as the gunman, Gabriel Wortman, went on his rampage, and that there wasn't enough information provided to the victims' families or other members of the public in the immediate aftermath about whether their loved ones had survived.
An RCMP car is seen near a memorial display in Portapique following the mass shooting in April 2020. (Brett Ruskin/CBC)
Lawyers for the family of Gina Goulet, the gunman's last victim, went so far to say that had police done a better job of warning the public, she might have survived.
The families, through their lawyers, also voiced skepticism about whether any recommendations the commission makes for improving the performance of the RCMP will be implemented. They cite the failure to act on recommendations stemming from past mass-casualty events in Mayerthorpe, Alta., and Moncton, N.B. In both of those cases, all the victims were Mounties.
'Rudderless' commission
Lawyers from Patterson Law, the firm that has represented most of the families, were critical of the commission itself. They said it sometimes appeared "rudderless," delving into subjects that were not directly related to the April 2020 rampage. They pointed out that the commission came about in large part because of intense lobbying by the families, who later felt marginalized by some of the proceedings.
"It is important to note that the victims and survivors of crime must not be infantilized by the police or protected from information in the guise of being 'trauma informed,'" Patterson Law wrote.
Their submission says the families questioned why some witnesses — particularly Wortman's spouse, Lisa Banfield, and senior Mounties including Staff Sgt. Brian Rehill and Staff Sgt. Al Carroll — were accorded special treatment when they testified, which the lawyers say precluded more effective questioning.
By denying them the opportunity to question Banfield directly, some of the conspiracy theories surrounding her role that weekend got more traction, the lawyers say.
RCMP Staff Sgt. Brian Rehill testifies before the Mass Casualty Commission via a pre-taped interview with commission lawyers on May 30, 2022. (CBC)
The families also feel the trauma-informed lens was not applied equally, the submission says.
And in dissecting the Mounties' perceived shortcomings that weekend, Patterson Law noted: "It cannot be forgotten that the perpetrator was ultimately thwarted by an empty gas tank and coincidence, not by master strategy."
Other groups weigh in
The special interest groups that were granted standing at the commission used their final submissions to advance their causes one last time.
For example, the Canadian Firearms Association reiterated its view that stricter gun control laws would have had no impact on the outcome of that weekend, because Wortman obtained his weapons illegally and never had the necessary paperwork. By contrast, the Canadian Coalition for Gun Control wrote that, in their view, arming people for their own protection does not reduce violent crime.
CBC's full coverage of the inquiry into the Nova Scotia mass casualty
Meanwhile the Atlantic Police Association, which represents municipal police forces across the province, argued that the RCMP shouldn't even be in the business of rural policing.
"Complex national and international investigations require a national police force that is focused on these challenging and difficult public safety issues," the police association wrote in its brief, "not handing out speeding tickets in rural Nova Scotia."
The association also said failing to enlist the help of their members that weekend was a serious miscalculation.
What a public inquiry revealed about the Nova Scotia mass shooting
A look at what unfolded behind the scenes on the day of and days following the 2020 tragedy in Portapique, N.S., where a lone gunman masqueraded as a police officer and killed 22 people, including a pregnant woman, in five rural communities over a period of 13 hours. CBC Halifax's Angela MacIvor reports.
The Mounties had said they were worried people would mistake their cruisers for the replica vehicle Wortman was driving. The association notes that cars driven by any of the municipal police forces would not have been mistaken for an RCMP cruiser.
Complaints against gunman
A coalition made up of the Avalon Sexual Assault Centre, Wellness Within and the Women's Legal and Education and Action Fund also questioned the credibility of some witnesses who testified, specifically Const. Troy Maxwell and Const. Greg Wiley.
How the N.S. mass shooter controlled, exploited women around him
Neighbours tried to warn police about Portapique gunman's abuse, weapons
Maxwell was tasked with investigating a complaint made against Wortman in 2013 by his then-neighbour, Brenda Forbes. She told the panel she reported Wortman for assaulting Banfield and possessing a stash of illegal weapons. Maxwell disputed that, saying he had been called for a driving complaint.
Both Maxwell and Forbes appeared somewhat shaky in their testimony, the coalition wrote in its submission, but Forbes came across as more credible, while Maxwell had appeared to put expedience over safety as he dealt with a hearsay complaint of assault.
As for Wiley, he visited Wortman approximately 16 times and says he never saw anything untoward.
But the lawyers for the coalition say that because he had developed a friendly relationship with Wortman, he was the wrong person to investigate an officer safety complaint or a complaint that Wortman had threatened to kill his father. Wiley took Wortman at his word that all he possessed was a pellet rifle and an inoperable musket.
The B.C. Civil Liberties Association and the East Coast Prison Justice Society also used their final submission to address what they see as credibility issues with Wiley, saying that he "could not explain why he remembered precise details of his interactions with the perpetrator but could not recall receiving a request to investigate him."
"He ended his testimony with a lengthy rant about transcription accuracy, press freedoms, and creating a 'timeout corner for media,'" the association wrote.
How the RCMP says it has changed since the Nova Scotia mass shooting
Inquiry records shed light on why RCMP didn't inform the public about N.S. mass shooting
The association's lawyers also wrote that, as a wealthy white man, police deferred to Wortman in investigating complaints against him.
While these are the final submissions from participants, the final word will come from the three commissioners when they release their report in March.
Cape Breton senior calls on N.S. government to fund high-dose flu shot
A 19th-century lighthouse in Annapolis County is 'inspiring the community'
How Viola Desmond's salon space has been reimagined through art
Libraries in Nova Scotia are using fresh programming to attract new visitors
Silver Donald Cameron interview series to be part of national archive collection
Blair Rhodes
Blair Rhodes has been a journalist for more than 40 years, the last 31 with CBC. His primary focus is on stories of crime and public safety. He can be reached at blair.rhodes@cbc.ca
Add some "good" to your morning and evening.
A variety of newsletters you'll love, delivered straight to you.


Pamela Ann Kaphings, age 54, of Bloomington, passed on Feb. 1, 2015. Preceded in death by father William M. Kaphings. Survived by mother Deloris E. Kaphings (Gieseke), brother Thomas Kaphings (Mary); sister Lisa Rahn and nieces Stephanie (Patrick) Lensing, Victoria Rahn, Brittani Rahn and nephew Nick Rahn.


It's that time again! College captains are scrambling to find those eager athletes to join their squad. As a captain of a small school, I can assure you, it's pretty difficult to find recruits. People are joining organizations left and right. What's gonna make them want to join a team that throws plastic back and forth with each other? They could go Greek, join a different club sport, or just focus on their studies. How can you, as a team, convince rookies to join the Ultimate team on campus – which will surely be the best decision they'll ever make. Here are a few of the recruitment strategies I've found useful over the years.
Organizational Fair. Every college has something like this at the beginning of the year. Although it's not my favorite, it does get the word out about the team. The trend I've seen in the past is freshmen go to the organization fair and get bombarded with "JOIN KAPPA KAPPA SNAPPA!" and other Greek organizations. That's no knock on the Greek-life on any campus, I think they have great recruitment strategies. But if the organizational fair is covered with Greek life booths, you have to make your Ultimate booth stand out. Play loud music, bring discs, wear your uniform (cleats, too). Stand out and be memorable.
Throw in the dorms. Want a quick way to get freshmen to see a disc? Throw in the hallways. I came into college eager to play Ultimate, so I created a game where two people throw in the hallway. They stand roughly 10-15 yards away (or however long a hallway is) and throw back and forth. If you hit a wall, then you get a scratch. First one to 5 scratches loses. Soon enough, people will be hearing their doors and walls get banged around and either come out and join the game, or yell at you to go away.
24-hour throwing day. This is a great idea for any sized team. Find a day that works (probably a weekend) and dedicate it to throwing. Have your veterans sign up for hourly shifts to throw in a populated area. Have two (or more) people throwing for 2 or 3-hour shifts; when their shift is done, the next duo would come to the location and throw. If the area is populated, people will walk past it multiple times per day and see different people throwing. Surely they're bound to ask questions about Ultimate or join in on the fun! And yeah, throwing at 4am might not be the most desirable time, but how cool would it be to say, "Yeah, we're throwing for 24-hours", and actually go through with it? At my college, there's a green space in front of the freshmen dorms right outside of the student center. If you have something similar, use that space for this recruitment tactic. Otherwise, just go to a populated area on-campus and do it.
Host open-scrimmages during move-in week. You can talk the talk about joining the Ultimate team, but no one will come without walking the walk. Freshmen want to dip their toes in the water before they dive head first. Have an open scrimmage where they can come play with some people their skill level, as well as some more experienced players. I've found that if you, or another veteran, pull a newbie aside and offer some direction, they'll feel more into the sport and feel like the throw they just had which went backwards is important. Have scrimmages where people can come hangout and play.
The most important thing to remember about recruiting players is to not get upset if they don't commit to the team. Don't hold a grudge or be a jerk to them. You never know if they might change their mind and want to join the team later on in their career. What recruiting tactics do you use to get people to join your team? Tell us in the comments below!


Logitech has announced a new wireless charger for iPhone 8, iPhone 8 Plus and iPhone X that aims to make it easier to use your smartphone while charging it at the same time.
Designed "in collaboration with Apple", Logitech's POWERED Wireless Charging Stand can be placed on a desk or bedside table, and can hold your iPhone in an upright position – ideal for unlocking Face ID and reading notifications without removing the device from the U-shaped cradle.
Two additional features distinguish the POWERED from most other charging stands on the market: First, your device doesn't have to be in exact alignment with the stand to complete the charging circuit, so you can "drop your iPhone on the cradle and go", according to Logitech.
Second, the POWERED also supports landscape orientation, so you can watch video on your smartphone's screen while it's charging. The stand also charges iPhones wearing a protective case up to 3mm thick.
Logitech says the POWERED delivers up to 7.5W charging for iPhone 8, 8 Plus, and X only, and up to 5W charging for all other Qi-enabled devices. The stand will be available this month in an "off-white" color for $69.99 at Logitech.com and Apple's online store. Stay tuned for a review of the POWERED here on MacRumors.
Today's announcement shouldn't affect Apple's plans to launch its multi-device AirPower charging mat before or in September.
Designed "in collaboration with Apple"
This basically means "we're complying to the MFi (Made For iPhone) programme rules".
It looks okay. But I wonder if Apple collaborated on this because their charging mat is almost a year late and is possibly canceled.
What would you lead you to believe that it's 'Possibly canceled'? Phil Schiller stated last year during the WWDC 2017 Keynote to "Look for it next year", meaning 2018. That still leaves the iPhone event for the Airpower to launch, nothing indicates it would be possibly canceled.
How is this different from wired charging?? There's no difference between plugin a charging station or plugin the iPhone directly. Plus there's no fast charging. This whole wireless charging is totally ridiculous.
First, your device doesn't have to be in exact alignment with the stand to complete the charging circuit, so you can "drop your iPhone on the cradle and go", according to Logitech.
How exactly would one put an iPhone on that charger AND not have it perfectly aligned with the transmitter? The design makes it nearly impossible not to be aligned. You'd have to be trying to mis-align the connection.
Plenty of Chinese chargers do 3 coil "doesn't have to be perfectly aligned" and "landscape also" chargers for iPhone already.
I have a cheap-o wireless charging stand and it works perfectly. I can even use a lightning cable as the power source. It charges in landscape mode while I watch Netflix at my desk.
More manufacturing crap causing world pollution. Seriously, I can't believe the rubbish that companies make. Are humans so lazy & obese that they simply can't plug in a iPhone themselves or simply pick one up???
All of this disgusts me. Landfills full of junk because of this greed!
That's exactly what I thought when I read the "in collaboration with Apple" line.
Has Apple ever before designed something and then let another company brand and sell it as their own?
Logitech says the POWERED delivers up to 7.5W charging for iPad 8, 8s, and X only, and up to 5W charging for all other Qi-enabled devices. The stand will be available this month in an "off-white" color for $69.99 at Logitech.com ('http://www.logitech.com') and Apple's online store ('http://www.apple.com').
The first sentence should be edited from "iPad" to "iPhone".


These are all very important functions, and if HCl is deficient, neutralized or suppressed, it will negatively affect the rest of the digestive functions, causing more problems down the road such as bloating, gut infections, parasitic infections, SIBO (Small Intestinal Bacterial Overgrowth), constipation, undigested food in the stool, and others.
A commonly used practical way to see if extra HCl might help you is to take a tablespoon of apple cider vinegar between the 1st and 2nd bites of a meal. If your usual symptoms improve, you will likely to well with HCl. If your burning increases, it is likely that your gastric tissue is inflamed. You should avoid HCl, and do a month on a healing protocol instead. I like the ingredients in Glutagenics which are L-glutamine, deglycyrrhizinized licorice, and aloe leaf extract. They're very healing and soothing, and designed to support the integrity and healthy function of the gastrointestinal lining. For fast relief and to increase defenses in the stomach lining, Zinlori is one that I like because it contains a patented zinc-carnosine complex.
DO use a good quality HCl product that also contains pepsin. One I like is Metagest, but there are other good products on the market.
DO expect an adjustment period. If you have been on PPI's (proton pump inhibitors) or other medications that suppress HCL, you may have an initial increase in your reflux symptoms as your body begins to restore its function. This can last up to 2-3 weeks. Be patient. If need be, I tell patients to go for something to neutralize acid such as TUMS rather than go back to the PPI.
This article was originally posted on my main site, TheHealthDimension.com where you'll find a broad selection of health related topics and programs.


text:
Gambian protesters demand ex-spy chief's execution
The main target of their anger is Yankuba Badjie, who headed the National Intelligence Agency (NIA).
Gambian protesters called Monday for the execution of the former head of the nation's intelligence agency and eight subordinates, as the men appeared in court charged with murdering a political activist.
Family members, sympathisers and friends of Solo Sandeng, who died in custody in April 2016 after his arrest for leading a peaceful protest for political reform, made the demand outside the Banjul court where the men's trial opened Monday.
"We need a death sentence" the crowd chanted, also shouting "you bastards have killed all our important people," as the courtroom filled to capacity for the case.
The main target of their anger is Yankuba Badjie, who headed the National Intelligence Agency (NIA), which rights groups say carried out arbitrary detentions, forced disappearances and torture during ousted strongman Yahya Jammeh's 22-year rule.
The NIA's former director of operations, Saikou Omar Jeng, is also among the nine men who have denied killing Sandeng, a prominent member of the United Democratic Party (UDP).
Gambian President Adama Barrow was treasurer of the UDP, then the largest opposition group in the west African country, until he was selected to lead a coalition of parties in a December election that he won in a shock victory over Jammeh.
Foreign minister Ousainou Darboe still heads the party, and was himself arrested and briefly jailed after demanding answers over Sandeng's death.
An effective moratorium on the death penalty in The Gambia was broken when Jammeh ordered nine prisoners be executed without warning in 2012, and it remains to be seen whether the new government will make use of the measure, especially in judging Jammeh-era crimes.
An extension was granted on Monday to state prosecutors to find a foreign expert to re-examine Sandeng's body, and the case will resume on March 27.


With FlashForge 3D printers, you can print utility items for household use to save money and time.
designing, you can just download them from the Internet.
Plastic component of the kitchen appliance or furniture broken? Print a new one to fix it. Be the hero of your house by printing replacement parts with a FlashForge 3D printer for a fraction of the cost of having to buy them from stores.
Design and 3D print new toys for your kids or nephews instead of just buying them some Lego. You can also download hundreds of printable toy models from the internet and then print them out via a FlashForge 3D printer along with your children.
From phone cases to gift box, you can easily print out these customized gifts for your wife and kids. While now you can customize personalized lampshades with images or photos on it as the special gifts to those you love.


> >and hosting for free to Pidgin.
> already do for DV LABS).
throwing more power at it will be (of course -- it always is) stopgap.
certainly won't *fix* any problems.  It may or may not push them back.
where it goes, I am ambivalent.


Original 1st printing 14 x 21" concert poster for Cream appearing with the Electric Flag and Gary Burton at the Fillmore Auditorium in San Francisco, CA from 8/29-9/3/1967.
Art by Jim Blashfield, image is # 80 in the Bill Graham/Fillmore series.
Medium-thick flat index stock poster is in GORGEOUS near mint (A- to A-/B+) condition; just a tiny corner tip bend in the upper right corner, a tiny white spot in the upper right margin and a thin pinch bend in the lower left margin, otherwise fine.
FANTASTIC 1st printing example of a great-looking Cream poster from their legendary two-weekend run of shows at the Fillmore.


According to the government's own report, the race for university admission is expected to heighten next year when about 400,000 Free SHS beneficiaries are expected to complete school and seek for university admission. Apart from this figure, there is a backlog of students seeking admission into the tertiary institutions. The other critical issue is the pressure on SHS graduates outside the FSHS programme to secure admission into the public and private tertiary institutions. They are going to compete with the over 400,000 SHS graduates the public secondary schools are going to churn out for limited spaces in our tertiary institutions. B&FT's analysis of University admission revealed there is already a reduction of intake admission by major universities in the country, largely due to limited space to accommodate the students.
Free secondary education is no doubt one of the most important aspects of a country's economic prospects. The previous administration adopted the pace enshrined in the constitution (progressively free) to avoid the challenges we witnessing. Free education opens up institutions for everyone to access. It creates the problem of overcrowding since most people will be admitted. The overcrowding caused by the free education means that students will be forced to use the already limited resources. This end up causing strain on the resources which may not be enough.
The previous administration adopted the progressively free approach because of these obvious problems. Free education may be free for the students but is charged to the government. Government is forced to keep borrowing money to finance the programme. Government has introduced certain taxes via the backdoor to help it finance the programme. The system is fraught with problems; inadequate teaching space and materials, shortage of teachers and inadequate and late disbursement of government funds. Academic performance standards are deteriorating, and the education being universal, students are just pushed through.
Government has prepared the Universities draft bill because of the obvious crisis. It wants to have absolute control over the universities to enable it control admission in the universities.
If the draft bill becomes law, government will have substantially increased legislative powers over our universities and will automatically have unlimited influence over admission and other administrative issues in our universities. If it becomes law, government can easily and comfortably manipulate our universities authorities, lecturers and students to succumb to its whims and caprices. Our universities must have autonomy from all extraneous influences in order to govern and manage their academic, administrative and financial functions. In particular, our universities must have autonomy to develop their academic programmes, recruit, assess, and develop their faculty, and select and train their students. Government, per this bogus draft bill is seeking for powers from parliament to wipe off all these core duties and responsibilities to enable it introduce its partisan policies.
We are where we are because of the hypocritical stance some persons in the academia took when this government started terrorising the education sector with its outmoded concepts.
Former President John Mahama, former lecturers, and Pro and Vice Chancellors have stressed the need for a broader discussion on how to fund and manage the Free SHS policy- because the problems we witnessing. Apart from the overcrowding and pressure it is exerting on our limited resources, we must also look at the issue of unemployment. Free education may also work against the system in that there will be a high number of graduates leaving school while the industry offers much less employment opportunities. This ends up creating unemployment.


text:
Seattle's Stuart MacDonald's Jazz Journey
Picking up his first saxophone in 5th grade, Stuart MacDonald made the most of the Seattle school system's jazz educators. Today, working on his Masters in jazz studies at the University of Washington, his education continues even as he teaches younger players a thing or two on the bandstand.
Plenty of work as a sideman has honed MacDonald's playing to a fine point, his ability to play in reggae and funk settings don't seem to distract from his own musical point of view. He's a creative player in the mold of late-era John Coltrane or Pharoah Sanders, "I like spiritual jazz" he told me before the set.
MacDonald uses melody as a platform to launch into improvisation and to initiate musical communication between his fellow musicians. He's currently working on a more intimate dialog, a duets project with saxophone and bass.
Live in our studios, MacDonald led a talented quartet with the wonderful Dawn Clement on piano, herself a teacher at Cornish College and two of our city's most talented young jazz students.
High school senior Ben Feldman is a frequent visitor to the KNKX studios, his supporting rhythm continues to be as impressive as his solo work. Drummer Xavier Lecouturier is completing his studies at Cornish this year and was well-featured as drummer and composer.
Lecouturier's "Waiting" started the session, a hypnotic piece allowing plenty of solo opportunities. MacDonald's strong yet tender tone on his tenor sax was in fine form, setting the stage for a pair of standard interpretations to follow.
Charlie Parker's iconic "Confirmation" and a mix of Ellington classics were starting points for improvisation, each band member intensely focused on the path blazed by their leader. They were listening even more closely than our rapt studio audience.
Watch more performances from our studios at the KNKX YouTube page. Subscribe to stay updated with our latest studio performances and more!
Live Sunday: Blue Note At 75, The Concert
'It Can't Be Done': The Difficulty Of Growing A Jazz Audience
Tony Bennett On Piano Jazz


text:
Second whale in two weeks has washed up on an Atlantic City beach
Posted byatomtabloid January 7, 2023 January 7, 2023 Posted inNews you should know
A 30-foot juvenile humpback whale that washed up in Atlantic City in front of Boardwalk Hall on Saturday was the second one in 15 days to beach itself in the casino town.
A female humpback washed up near Chelsea Avenue Dec. 23.
That one weighed about 25 tons, was 30 feet long and appeared to be a little older than a juvenile, according to the Marine Mammal Stranding Center in Brigantine.
It was buried at the site where it washed up.
"This morning, at approx. 8 a.m., a 30-foot humpback whale was discovered on the Georgia Avenue beach in Atlantic City. The Marine Mammal Stranding Center has taken the initial samples," said officials from the city government. "With health and safety in mind, we urge everyone to avoid this area."
The MMSC has responded to over 5,870 animals since opening in 1978.
In the last five years, the group averaged 180 animals annually, including marine mammals and sea turtles.
"In 2013, we saw our busiest year with 292 animals, with most being bottlenose dolphins from a mass die-off. In 2019, the center had responded to 11 large whales, which is the most we've had in one year," said a representative from the animal rescue group.
In recent years since 2010, the most common species are grey seals, harbor seals, loggerhead sea turtles, and bottlenose dolphins.
This morning, at approx. 8 a.m., a 30-foot humpback whale was discovered on the Georgia Avenue beach in Atlantic City. The Marine Mammal Stranding Center has taken the initial samples.
With health and safety in mind, we urge everyone to avoid this area. pic.twitter.com/6bE9HYAsDv
— City of Atlantic City (@AtlanticCityGov) January 7, 2023
McClure adds a state prison sentence for her fraudulent Go Fund Me scheme
Can't nail down how invisible giant black holes form in the universe


Note the use of the expressions to be rewarded for something andto reward someone with something.
Similarly, an award is given for something that is done well but it tends to be more formal and is given to demonstrate to other people that the person has done something well. An award tends to be something like a certificate, or a medal or a statue.
Again, this would normally happen in front of an audience.
Peter received an award of £5000 as compensation for the car accident.
Note that the use of the passive is common here: someone is awarded something and that like with reward you receive an award.
I hope this makes it clearer. The main thing to bear in mind is that while both are given for something that has been done well, anaward tends to be something bigger and more important than areward, usually given in front of other people.
At the White House on Tuesday, first lady Michelle Obama doled out awards to after-school arts programs, including the DREAM program at CityDance, where the Obamas' daughter Sasha takes hip-hop classes.
In the restaurant world, this is the time to vote for nominees for the James Beard Foundation awards, also dubbed "the Oscars of the food world" by Time magazine.
Using the same example, a gold member would earn about 12 percent more reward miles, while a platinum member would earn 20 percent fewer miles.
Russia's FSB security service has offered a $50 million reward for information leading to the arrest of those responsible for downing a passenger plane over Egypt.
Previous Previous post: Avenge vs. Revenge: What's the Difference?
I am so greatful to you for making such an amazing type of topics to learn English in most easiest and simplest way.


text:
A practical guide to outcome-focused philanthropy
By Lori Grange
(Credit: Kathryn Rummel/Rapt Productions; right, Tim Peterson)
Outcome-focused philanthropy is the Hewlett Foundation's approach to how we practice strategic philanthropy. It guides how we do our work, from start to finish.
We've been practicing strategic philanthropy for more than a decade—focusing on what problem or opportunity we're trying to address, whether we're achieving our outcomes and why (or why not), and how we'll know. Outcome-focused philanthropy, OFP for short, builds on our experience and lessons learned.
OFP maintains our commitment to rigor and results. But it gives equal weight to ongoing learning and adaptation—to ensure staff and grantees have the flexibility they need to succeed. And it embodies our commitment to working in partnership with other funders and organizations.
"A Practical Guide to Outcome-Focused Philanthropy" is a roadmap for our staff as they work across the four stages of a strategy's lifecycle: origination; implementation; refresh, and exit. The guidebook includes a set of worksheets that provide an at-a-glance overview of what staff need to think about and do at each stage. These worksheets also are available as a standalone document.
The OFP guidebook is primarily for Hewlett Foundation staff—in both our programs and other departments whose work is equally essential for our strategies to succeed. But we hope our grantees and other funders also will find it helpful. Their work has greatly informed our own.
A practical guide to outcome-focused philanthropy (pdf) Outcome-focused philanthropy worksheets (pdf)
Seven habits of excellent work with grantees: Practical tips for program staff
Seven Habits of Excellent Work with Grantees: A Guide for Program Staff
Building capacity for diversity, equity and inclusion: Lessons from two years of organizational effectiveness grants


text:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="com.glaf.activiti.persistence.TableDataPersistence">

	<insert id="insertBusinessTableData" parameterType="com.glaf.core.base.TableModel">

		insert into ${tableName}

		<trim prefix="(" suffix=")" suffixOverrides=",">
			<foreach collection="columns" item="column">
				<if test="column.value != null">
					${column.columnName},
				</if>
			</foreach>
		</trim>
		<trim prefix="values (" suffix=")" suffixOverrides=",">
			<foreach collection="columns" item="column">
				<if test="column.value != null">
					<choose>
						<when test="column.javaType == 'Boolean'">
							#{column.value, jdbcType=BOOLEAN},
						</when>
						<when test="column.javaType == 'Integer'">
							#{column.value, jdbcType=INTEGER},
						</when>
						<when test="column.javaType == 'Long'">
							#{column.value, jdbcType=BIGINT},
						</when>
						<when test="column.javaType == 'Double'">
							#{column.value, jdbcType=DOUBLE},
						</when>
						<when test="column.javaType == 'Date'">
							#{column.value, jdbcType=TIMESTAMP},
						</when>
						<when test="column.javaType == 'Clob'">
							#{column.value, jdbcType=CLOB},
						</when>
						<when test="column.javaType == 'Blob'">
							#{column.value, jdbcType=BLOB},
						</when>
						<otherwise>
							#{column.value, jdbcType=VARCHAR},
						</otherwise>
					</choose>
				</if>
			</foreach>
		</trim>

	</insert>

	<update id="updateBusinessTableDataByPrimaryKey" parameterType="com.glaf.core.base.TableModel">

		update ${tableName}

		<set>
			<trim prefix="" suffix="" suffixOverrides=",">
				<foreach collection="columns" item="column">
					<if test="column.value != null">
						<choose>
							<when test="column.javaType == 'Boolean'">
								${column.columnName} = #{column.value,
								jdbcType=BOOLEAN},
							</when>
							<when test="column.javaType == 'Integer'">
								${column.columnName} = #{column.value,
								jdbcType=INTEGER},
							</when>
							<when test="column.javaType == 'Long'">
								${column.columnName} = #{column.value,
								jdbcType=BIGINT},
							</when>
							<when test="column.javaType == 'Double'">
								${column.columnName} = #{column.value,
								jdbcType=DOUBLE},
							</when>
							<when test="column.javaType == 'Date'">
								${column.columnName} = #{column.value,
								jdbcType=TIMESTAMP},
							</when>
							<when test="column.javaType == 'Clob'">
								${column.columnName} = #{column.value,
								jdbcType=CLOB},
							</when>
							<when test="column.javaType == 'Blob'">
								${column.columnName} = #{column.value,
								jdbcType=BLOB},
							</when>
							<otherwise>
								${column.columnName} = #{column.value,
								jdbcType=VARCHAR},
							</otherwise>
						</choose>
					</if>
				</foreach>
			</trim>
		</set>

		where

		<choose>
			<when test="idColumn.javaType == 'Integer'">
				${idColumn.columnName} = #{idColumn.value,
				jdbcType=INTEGER}
			</when>
			<when test="idColumn.javaType == 'Long'">
				${idColumn.columnName} = #{idColumn.value,
				jdbcType=BIGINT}
			</when>
			<otherwise>
				${idColumn.columnName} = #{idColumn.value,
				jdbcType=VARCHAR}
			</otherwise>
		</choose>

	</update>

	<delete id="deleteBusinessTableData" parameterType="com.glaf.core.base.TableModel">

		delete from ${tableName}
		where 1=1

		<choose>
			<when test="columns.size != 0">
				<foreach collection="columns" item="column">
					<choose>
						<when test="column.javaType == 'Boolean'">
							and ${column.columnName} = #{column.value,
							jdbcType=BOOLEAN}
						</when>
						<when test="column.javaType == 'Integer'">
							and ${column.columnName} = #{column.value,
							jdbcType=INTEGER}
						</when>
						<when test="column.javaType == 'Long'">
							and ${column.columnName} = #{column.value,
							jdbcType=BIGINT}
						</when>
						<when test="column.javaType == 'Double'">
							and ${column.columnName} = #{column.value,
							jdbcType=DOUBLE}
						</when>
						<when test="column.javaType == 'Collection'">
							<if
								test="column.collectionValues != null and column.collectionValues.size != 0">
								and ${column.columnName} IN
								<foreach item="x_rowId" index="index" collection="column.collectionValues"
									open="(" separator="," close=")">
									#{x_rowId}
								</foreach>
							</if>
						</when>
						<otherwise>
							and ${column.columnName} = #{column.value,
							jdbcType=VARCHAR}
						</otherwise>
					</choose>
				</foreach>
			</when>
			<otherwise>
				and 1=0
			</otherwise>
		</choose>

	</delete>

</mapper>


text:
Inicio / Regístrate
Mapa del mundo
La selección de los Editores
Gigapíxeles
Selecciones del Editor More
Regístrate/Inicio
Comparte este panorama
This panorama can be embedded into a non-commercial site at no charge. Leer más ...
For commercial use, contacta con nosotros
Nasir Al Mulk Mosque, Shiraz, Iran
Amin Abedini
The Nasīr al-Mulk Mosque (Persian: مسجد نصیر الملك - Masjed-e Naseer ol Molk) is a traditional mosque in Shiraz, Iran, located in Goade-e-Araban place (near the famous Shah Cheragh mosque). The mosque was built during the Qājār era, and is still in use under protection by Nasir al Mulk's Endowment Foundation. It was built by the order of Mirza Hasan Ali Nasir al Molk, one of the lords of the Qajar Dynasty, in 1876 and was finished in 1888. The designers were Muhammad Hasan-e-Memar and Muhammad Reza Kashi Paz-e-Shirazi. http://en.wikipedia.org/wiki/Nasir_al-Mulk_Mosque
Copyright: Amin Abedini
Subida: 20/01/2014
Número de vistas:
Tags: shiraz; fars; iran; nasir; nasir al mulk; color; column; light
Selecciones del Editor
flaviodmt76
Bike City Copenhagen Central Station
Сибайский каръер
Vasilis Triantafyllou
Aerial Sunset over Snowy Crete Greece
On the Climb to Heimaklettur
Studio Mambeau - Martijn Baudoin
Mosque Paramaribo Suriname
More About Shiraz
The World : Asia : Middle East : Iran : Shiraz
Shiraz is the fifth most populated city in Iran and the capital of Fars Province. It is located in the southwest of Iran, has a moderate climate and has been a regional trade center for more than a thousand years.The earliest reference to the city, is on Elamite clay tablets dated to 2000 BC. In the 13th century, Shiraz became a leading center of the arts and letters, thanks to the encouragement of its ruler and the presence of many Persian scholars and artists. Shiraz was the capital of Persia during the Zand dynasty from 1750 until 1781, as well as briefly during the Saffavid period.Shiraz is known as the city of poets, wine and flowers. It is also considered by many Iranians to be the city of gardens, due to the many gardens and fruit trees that can be seen in the city. Shiraz has had major Jewish and Christian communities.
Hazte PRO
Buscar un fotógrafo
EL DERECHO DE AUTOR DE LAS IMÁGENES Y FOTOGRAFÍAS PERTENECE A SUS CORRESPONDIENTES FOTÓGRAFOS.


text:
NZ Wood is a major promotional and development programme to promote New Zealand forests and wood resources.
Visit the Wood Design Guide
Timber Design Awards
We love our forests
Timber species
Exotic plantation species
Indigenous species
Forests and wood
Forest certification schemes
Harvest and manufacturing
Log quality
Planting and silviculture
Residues – recycling and reuse
Forestry resources
Industry facts and figures
Cypresses
Cypresses are best used where its appearance and durability are put to advantage, for example, in panelling, exterior cladding and boat building.
Sustainability of supply
Plantations have increased from about 4,000 ha in 1986 to about 8,000 ha at the end of 2007 (Ministry of Agriculture and Forestry National Exotic Forest Description, 2007). Plantations have a median age of less than 10 years. From these, about 20,000 m³ of timber per year is harvested.
The most widely planted species are macrocarpa, lawsoniana and lusitanica, in that order. In addition to planted stands, cypresses have been planted for hedges and shelterbelts, particularly on farms in the 1920s and 1930s.
Planted trees can succumb to the cypress canker disease and some may not reach maturity. Demand for the timber currently exceeds supply. In a few cases, the various cypress timbers have been marketed with, or as, macrocarpa, particularly lusitanica.
Lawson cypress has been marketed separately, and, because of its lighter colouring, Leyland cypress is now recognised and marketed as a distinct cypress timber.
Summary fact sheet for Cypresses (.pdf)
Botanical name: Cupressus lusitanica, Chamaecyparis lawsoniana, Cupressocyparis leylandii
Other common names: Lusitanica, Lawson cypress, Leyland cypress
Strength: Lawson cypress is the strongest of the cypresses, and has significant stiffness properties. Lusitanica is less susceptible to collapse and internal checks than macrocarpa, and has greater dimensional stability. Lawson cypress is not known for collapse or internal checking issues when dried. In New Zealand, Lawson cypress has been used for house framing, roof trusses, weatherboards, roof shingles, interior panelling, furniture and joinery.
Durability: Cypress heartwood gives some protection for above-ground purposes, but the sapwood is non-durable.The timber cannot be pressure treated with copper, chromium and arsenic (CCA), but can be boron treated to Hazard Classes H3.1 and H1.2. When used as framing, boron-treated Hazard Class H1.2 cypress can be used wherever H1.2 treated radiata pine framing is acceptable. Untreated timber can be used for interior framing and finishing, and non-skillion roof trusses.
Finishes: There are no known problems of incompatibility with any type of adhesive. Wipe-on stains tend to give a streaky appearance. Clear finishes enhance the natural lustre and work well when the timber is given an initial oil coating.
Working properties: Cypresses are easily worked with hand or machine tools, and take an excellent finish, provided cutters are kept sharp and free from extractives.
Appearance: Cypresses have a yellow-brown coloured heartwood and paler sapwood, with a fine, even texture. The timber has a natural lustre that makes it a good substitute for kauri, particularly lusitanica.
Lusitanica
Lusitanica grows well in warm regions, and is available in the North Island and upper South Island.
In most aspects, lusitanica has the same properties as macrocarpa, but is likely to produce greater volumes of timber because it is less prone to fluting of the trunk, and has smaller knots.
It is also slightly lighter in colouring and has a wider sapwood band than macrocarpa.
When freshly cut, it has a fragrant spicy odour. The heartwood is a yellow-brown colour, slightly darker than lawsoniana but not quite as dark as macrocarpa.
Lusitanica is a low-to-medium density softwood, with a fine, even texture and pronounced growth rings.
Lusitanica, like macrocarpa, is moderately durable in the ground, but is slightly less durable than macrocarpa.
Because it looks like kauri, and has good machining properties, lusitanica has been used in New Zealand for furniture manufacture.
Lawson cypress
Lawson cypress is also known in North America as white cedar.
The name, cedar, relates to the spicy smell of the wood, a feature common to the cypress species.
Lawson cypress is the most fragrant of the species grown in New Zealand.
It has been planted for shelterbelt timber and in plantation blocks, and is a hardy species.
The heartwood is pale yellow to pale brown in colour, and barely distinguishable from the sapwood when dry.
Leyland cypress is used to describe a group of trees that are all sterile hybrids.
There are no naturally occurring Leyland cypresses, and all are propagated by rooted cuttings because the resulting trees are infertile. Leyland cypress is knotty.
The heartwood is dark yellow in colour, fading to the pale yellow of lawsoniana.
The heartwood of the cypresses is rated as Class 3 durability, which is equivalent to Hazard Class H3.1.
The heartwood gives some protection for above-ground purposes, but the sapwood is non-durable.
The timber cannot be pressure treated with copper, chromium and arsenic (CCA), but can be boron treated to Hazard Classes H3.1 and H1.2.
Cypresses are therefore suitable for exterior exposed, but not in-ground, applications.
Lawsoniana is recommended for exterior uses like weatherboards but only if it is cut from trees 80 years or older in which the sapwood is 50 to 75 mm deep.
Strength values refer to 20 x 20 mm clearwood specimens but are not available for C. Ovensii.
Please note these comparative measures of strength are "laboratory" values using standardised short lengths of clear timber. These will not be the same strength properties as structural lengths of timber. For the properties of structural length timber please see the tables under the structural design section.
Density at 12% moisture content (MC) 460 kg/m3 480 kg/m3
495 kg/m3
Modulus of elasticity 6.5 GPa 121 GPa 6.9 GPa
Bending strength 69.6 MPa 97.7 MPa 85.6 MPa
Compression strength 38 MPa 37.3 MPa 38 MPa
Side hardness 2.6 kN 2.5 kN 1.9 kN
Tangential shrinkage – green to 12% MC 2.6% 3.6% 3.2%
Radial shrinkage – green to 12% MC 1.4% 2.2% 1.4%
Lawson cypress is the strongest of the cypresses, and has significant stiffness properties.
Lusitanica is less susceptible to collapse and internal checks than macrocarpa, and has greater dimensional stability. Lawson cypress is not known for collapse or internal checking issues when dried.
In New Zealand, Lawson cypress has been used for house framing, roof trusses, weatherboards, roof shingles, interior panelling, furniture and joinery.
Only then will there be a reasonable chance of the tree containing a high percentage of heartwood.
Leyland cypress is slightly more durable than macrocarpa, and lusitanica is slightly less durable than macrocarpa.
When used as framing, boron-treated Hazard Class H1.2 cypress can be used wherever H1.2 treated radiata pine framing is acceptable.
Untreated timber can be used for interior framing and finishing, and non-skillion roof trusses.
Cypresses are easily worked with hand or machine tools, and take an excellent finish provided cutters are kept sharp and free from extractives.
Lawsoniana works well with hand and machine tools, and it takes an excellent finish.
Lusitanica has a natural lustre that makes it a good substitute for kauri. The timber is best used where its appearance and durability are put to advantage, for example, in panelling, exterior cladding and boat building.
The timber can be used for furniture, but is softer than many other furniture timbers. In connection with boat building, it should be noted that the cypresses are not good steam-bending timbers.
There are no known problems of incompatibility with any types of adhesive. Wipe-on stains tend to give a streaky appearance.
Clear finishes enhance the natural lustre but yellowing occurs inover time, however, this can be minimised by giving the timber an initial oil coating.
Go to the NZ Farm Forestry Association Marketplace for availability of Cypresses
info@nzwood.co.nz | NZ Wood, PO Box 10937, Wellington 6143, New Zealand
© Copyright NZ Wood | Terms & Conditions


text:
Bug of the MonthCOVIDMask RespiratorTSI Brand Insights
Advanced TechnologyBug of the MonthDisinfection/Sterile ProcessingEnvironmental ServicesHAIsHand HygieneLong-Term CareOperating RoomPersonal Protective EquipmentVascular AccessView More
Medical World NewsVideosWebinars
Infection Control Today
Sponsored ResourcesWhitepapers
© 2021 MJH Life Sciences and Infection Control Today. All rights reserved.
Bug of the Month
Mask Respirator
TSI Brand Insights
Disinfection/Sterile Processing
© 2021 MJH Life Sciences™ and Infection Control Today. All rights reserved.
Scientists Discover How Ebola Virus Infects Cells; Finding Could Lead to Treatments for Viral Hemorrhagic Fevers
Ebola virus reproduction in laboratory-grown cells is severely hampered by enzyme-inhibiting chemicals, and these chemicals deserve further study as possible treatments for Ebola virus infections in humans, report scientists supported in part by the National Institute of Allergy and Infectious Diseases (NIAID), a component of the National Institutes of Health (NIH).
The researchers, whose paper is published online in Science Express, identified two cellular enzymes Ebola virus must have to reproduce. When those enzymes are blocked, the virus loses most of its infectivity, the scientists found.
Ebola virus, like the Marburg virus now alarming Angola, is a filovirus, a family of viruses that cause severe and frequently fatal hemorrhagic fevers. Finding medical countermeasures for viral hemorrhagic fevers is a global public health priority because not only do these diseases occur naturally, but they also have the potential to be unleashed by bioterrorists, says NIH director Elias A. Zerhouni, MD.
This new research sheds light on the mechanism Ebola virus uses to enter cells, notes NIAID director Anthony S. Fauci, MD. These findings raise the possibility of a broad-spectrum antiviral therapy that could be effective against multiple hemorrhagic fever viruses.
Senior author James M. Cunningham, MD, of Brigham and Womens Hospital and Harvard Medical School in Boston, and his colleagues discovered two cellular enzymes that the Ebola virus co-opts and uses to cut up one of the virus surface proteins. Once this protein is snipped apart, the virus is free to begin multiplying. The scientists applied broad-spectrum enzyme inhibitors to mammalian cells before exposing them to Ebola virus. When one specific cellular enzyme, cathepsin B, was inhibited, the infectivity of Ebola virus dropped to near zero. An accessory role is played by another cellular enzyme, cathepsin L, the scientists determined.
Inhibitors of cathepsins are already under clinical development as anti-cancer drugs. The authors write, Further investigation of the antiviral efficacy of [enzyme] inhibitors may be warranted. The wealth of existing knowledge regarding the design and in vivo pharmacology of these inhibitors may facilitate development of an anti-Ebola-virus therapy.
The work was done in collaboration with Nancy J. Sullivan, PhD, of NIAIDs Vaccine Research Center.
The papers lead author, Kartik Chandran, PhD, of Brigham and Womens Hospital and Harvard Medical School, is supported by a career development award from the NIAID Regional Centers of Excellence for Biodefense and Emerging Infectious Diseases Research (RCE) program. In 2003, NIAID funded the establishment of eight RCEs nationwide. The RCE program supports interdisciplinary research aimed at new and improved therapies, vaccines, diagnostics and other tools to protect against the threat of bioterrorism and other emerging and re-emerging diseases.
NIAID is a component of the National Institutes of Health, an agency of the U.S. Department of Health and Human Services. NIAID supports basic and applied research to prevent, diagnose and treat infectious diseases such as HIV/AIDS and other sexually transmitted infections, influenza, tuberculosis, malaria and illness from potential agents of bioterrorism. NIAID also supports research on transplantation and immune-related illnesses, including autoimmune disorders, asthma and allergies.
Reference: K Chandran et al. "Endosomal proteolysis of the Ebola virus glycoprotein is necessary for infection". Science Express. Published online April 14, 2005. DOI: 10.1126/science.1110656.
Source: NIH