text:
Jordanka Donkova (bugarski: Йорданка Любчова Донкова, 26. rujna 1961.) bivša bugarska sprinterica specijalizirana za utrke na 60 i 100 metara s preponama.

Na Olimpijskim igrama 1988. godine u Seoulu osvojila je zlatnu medalju u disciplini 100 m prepone. Četiri godine kasnije na igrama u Barceloni osvojila je brončanu medalju. Osvojila je ukupno devet medalja na europskim prvenstvima na otvorenom i dvorani. Godine 1986. postavila je četiri svjetska rekorda na 100 m prepone. Peti svjetski rekord 12:21 postavila je 1988. godine taj rekord je stajao sve do 2016. godine. Ukupno Donkova ima 16 medalja s velikih atletskih natjecanja.

Privatni život

Donkova je u djetinjstvu doživjela nesreću u kojoj je izgubila dva prsta na desnoj ruci. Ima troje djece prvo dijete sina Živka rodila je 1991. godine, 1996. godine rodila je blizankinje Danielu i Desislavu.

Nakon Olimpijskih igara 1988. godine, Donkova je dobio ponudu da se natječe za SAD, ali je odbila da promijeni svoju državu te je nastavila predstavljati Bugarsku.

Izvori

Bugarski atletičari
Olimpijski pobjednici u atletici

redpajama_set_name: RedPajamaWikipedia


text:
Acts of Insolvency
3. Acts of insolvency.-(1) A debtor commits an act of insolvency in each of the following cases, namely:-
(a) if, in the territories to which this Act extends or elsewhere, he makes a transfer of all or substantially all his property to a third person for the benefit of his creditors generally;
(b) if, in the said territories or elsewhere, he makes a transfer of his property or of any part thereof with intent to defeat or delay his creditors;
(c) if, in the said territories or in any place outside India, he makes any transfer of his property or of any part thereof, which would, under this Act, be void as a fraudulent preference if he were adjudged an insolvent;
(d) if, in the State of Jammu and Kashmir, he makes any transfer of his property or of any part thereof, which would, under this Act or under any law corresponding to this Act for the time being in force in that State, be void as a fraudulent preference if he were adjudged an insolvent;
(e) if, with intent to defeat or delay his creditors,
(i) he departs or remains out of the said territories;
(ii) he departs from his dwelling-house or usual place of business or otherwise absent himself;
(iii) he secludes himself so as to deprive his creditors of the means of communicating with him;
(f) if any of his property has been sold or has been under attachment for a period not less than twenty-one days, in execution of the decree or order of any court for the payment of money.
Explanation.-For the purposes of this clause, where the debtor is a partner in a firm, an order charging his interest under sub-rule (2) of rule 49 of Order XXI in the First Schedule to the Code of Civil Procedure, 1908 (5 of 1908), shall be deemed to be an order of 5 of 1908, attachment,
[New]
(g) if he petitions to be adjudged an insolvent under the provisions of this Act;
(h) if he gives notice to any of his creditors that he has suspended, or that he is about to suspend payment of his debts;
(i) if he is imprisoned in execution of the decree or order of any court for the payment of money.
[Section 6, main para. P.A.] (Cf. section 9, main para., P.T.A.]
(2) A debtor commits an act of insolvency if a creditor who has obtained a decree or order against him for the payment of a sum of money (being a decree or order which has become final and the execution whereof has not been stayed), has served on him an insolvency notice as provided hereunder and the debtor does not comply with such notice within the period specified therein:
Provided that the debtor shall not be deemed to have committed an act of insolvency for not complying with the notice if he has a counter-claim or set-off which equals or exceeds the sum remaining due under the decree or order, and which he could not lawfully set up in the suit or proceeding in which the decree or order was made against him:
Provided further that where the insolvency notice is to be served outside the territories to which this Act extends, the leave of the court shall be first obtained before service of the notice.
[As to set-off which could not be put forth.]
[Cf. section 1(i)(g), English Act]
(3) An insolvency notice under sub-section (2) shall-
(a) be in the prescribed form;
(b) be served in the prescribed manner;
(c) specify for its compliance a period not less than one month after service, or, if it is to be served outside the territories to which this Act extends, then such period as may be allowed by the order of the court granting leave for the issue of such notice;
(d) require the debtor to pay the amount due under the decree or order, or to furnish security for the payment of such amount to the satisfaction of the creditor or his agent, within the period to be specified therein, which shall be not less than one month from the date of the service thereof, or less than the period allowed under clause (c) of this sub-section, as the case may be;
(e) state the consequences of non-compliance with the notice.
(4) Such notice shall not be invalidated by reason only that the sum specified in the notice as the amount due exceeds the amount actually due, unless the debtor, within the period allowed for payment, gives notice to the creditor that he disputes the validity of the notice on the ground of such misstatement; but if the debtor does not give such notice, he shall be deemed to have complied with the insolvency notice if within the time allowed he takes such steps as would have constituted a compliance with the notice had the actual amount due been correctly specified therein.
Explanation.-For the purposes of this section, the Act of an agent may be the act of the principal, even though the agent has no specific authority to commit the act.
[Section 6, Expl., P.A.] [Cf. section 10, P.T.A.]

redpajama_set_name: RedPajamaCommonCrawl


text:
package com.hsj.ui.kit;

import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.graphics.PixelFormat;
import android.graphics.Point;
import android.graphics.PorterDuff;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.Region;
import android.support.v4.content.ContextCompat;
import android.util.AttributeSet;
import android.util.SparseArray;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import com.hsj.ui.kit;.R;
import com.angs.arcface.core.WorkStatus;
import com.angs.common.thread.ThreadManager;

/**
 * @Author:hsj
 * @Date:2019-07-30 16:31
 * @Class:FaceSurfaceView
 * @Desc:人脸信息注册圆圈动画
 */
public final class FaceRegisterView extends SurfaceView implements SurfaceHolder.Callback, Runnable {

    private static final String TAG = "FaceRegisterView";
    private final Object mSync = new Object();
    private Context context;
    /**
     * 默认中间圆的半径从0开始
     */
    private float currentRadius = 0;
    /**
     * 控件的宽度(默认)
     */
    private int mViewWidth = 400;
    /**
     * 控件高度
     */
    private int mViewHeight = 400;
    /**
     * 透明圆圈偏背景中心点向上的距离
     */
    private int circleMarginTop;
    /**
     * 绘制白色背景
     */
    private int bgWhiteColor;
    /**
     * 中心圆屏幕边距
     */
    private int margin;
    /**
     * 圆圈画笔
     */
    private Paint mPaint;
    /**
     * 提示文本
     */
    private String mTipText;
    /**
     * 提示文本颜色
     */
    private int mTipTextColor;
    /**
     * 提示文本颜色
     */
    private int mTipTextSize;
    /**
     * 内圆半径
     */
    private int mRadius;
    /**
     * 背景弧宽度
     */
    private float mBgArcWidth;
    /**
     * 圆心点坐标
     */
    private Point mCenterPoint = new Point();
    /**
     * 圆弧边界
     */
    private RectF mBgRectF = new RectF();
    /**
     * 圆弧背景画笔
     */
    private Paint mBgArcPaint;
    /**
     * 提示语画笔
     */
    private Paint mTextPaint;
    /**
     * 圆弧画笔
     */
    private Paint mArcPaint;
    /**
     * 设置默认转动角度0
     */
    private float currentAngle = 0;

    /**
     * 刻度线条数
     */
    private static final int mDottedLineCount = 120;
    /**
     * 2Π/刻度数
     */
    private float unit;
    /**
     * 线条宽度
     */
    private float mDottedLineWidth = 40f;
    /**
     * 虚线的内部半径
     */
    private float mInsideDottedLineRadius;
    /**
     * 虚线的外部半径
     */
    private float mExternalDottedLineRadius;
    /**
     * 长虚线的外部半径
     */
    private float mExternalDottedLineRadius2;

    /**
     * 脸部所有状态
     */
    private volatile SparseArray<String> faceStatus;
    /**
     * 当前所处的状态
     */
    private volatile @WorkStatus int currentStatus;
    /**
     * 是否显示
     */
    private volatile boolean isPlay = false;

    /**
     * 构造
     *
     * @param context
     */
    public FaceRegisterView(Context context) {
        this(context, null);
    }

    public FaceRegisterView(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public FaceRegisterView(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        //获取xml里面的属性值
        TypedArray array = context.obtainStyledAttributes(attrs, R.styleable.FaceRegisterView);
        mTipText = array.getString(R.styleable.FaceRegisterView_tip_text);
        mTipTextColor = array.getColor(R.styleable.FaceRegisterView_tip_text_color, Color.WHITE);
        mTipTextSize = array.getDimensionPixelSize(R.styleable.FaceRegisterView_tip_text_size, (int) context.getResources().getDimension(R.dimen.sp16));
        array.recycle();

        initView(context);
    }

    /**
     * 初始化控件View
     */
    private void initView(Context context) {
        this.context = context;
        //设置透明背景
        getHolder().setFormat(PixelFormat.TRANSLUCENT);
        //添加回调
        getHolder().addCallback(this);
        //显示顶层
        setZOrderOnTop(true);
        //防止遮住控件
        //setZOrderMediaOverlay(true);
        //屏蔽界面焦点
        setFocusable(true);
        //保持屏幕长亮
        //setKeepScreenOn(true);

        //初始化值
        margin = (int) context.getResources().getDimension(R.dimen.dp100);
        circleMarginTop = (int) context.getResources().getDimension(R.dimen.dp50);
        bgWhiteColor = ContextCompat.getColor(context, R.color.BgWhiteColor);
        mBgArcWidth = (int) context.getResources().getDimension(R.dimen.dp2);
        mDottedLineWidth = (int) context.getResources().getDimension(R.dimen.dp12);
        // 2pi/120
        unit = (float) (2.0f * Math.PI / mDottedLineCount);

        //初始化画笔
        mPaint = new Paint();
        mPaint.setAntiAlias(true);//消除锯齿
        mPaint.setColor(ContextCompat.getColor(context, R.color.textBgColor));
        mPaint.setStyle(Paint.Style.FILL);

        //绘制文字画笔
        mTextPaint = new Paint();
        mTextPaint.setStyle(Paint.Style.FILL);
        mTextPaint.setStrokeWidth(8);
        mTextPaint.setColor(mTipTextColor);
        mTextPaint.setTextSize(mTipTextSize);
        mTextPaint.setTextAlign(Paint.Align.CENTER);

        // 圆弧背景
        mBgArcPaint = new Paint();
        mBgArcPaint.setAntiAlias(true);//消除锯齿
        mBgArcPaint.setColor(ContextCompat.getColor(context, R.color.circleBg2));
        mBgArcPaint.setStyle(Paint.Style.STROKE);
        mBgArcPaint.setStrokeWidth(mBgArcWidth);
        mBgArcPaint.setStrokeCap(Paint.Cap.ROUND);

        // 圆弧
        mArcPaint = new Paint();
        mArcPaint.setAntiAlias(true);//消除锯齿
        mArcPaint.setColor(ContextCompat.getColor(context, R.color.pbEndColor));
        mArcPaint.setStyle(Paint.Style.STROKE);
        mArcPaint.setStrokeWidth(mBgArcWidth);
        mArcPaint.setStrokeCap(Paint.Cap.ROUND);

        //设置提示文字内容
        initFaceStatus();

        //开启线程
        start();
    }

    /**
     * 点重新开始
     */
    public void initFaceStatus() {
        synchronized (mSync) {
            if (faceStatus == null) {
                faceStatus = new SparseArray<>(9);
            }
            faceStatus.clear();
            faceStatus.put(WorkStatus.FACE_SEARCH, WorkStatus.FACE_HINT_SEARCH);
            faceStatus.put(WorkStatus.FACE_REGISTER_READY, WorkStatus.FACE_HINT_REGISTER);
            faceStatus.put(WorkStatus.FACE_REGISTER_START, WorkStatus.FACE_HINT_FRONT);
            faceStatus.put(WorkStatus.FACE_REGISTERED, WorkStatus.FACE_HINT_REGISTERED);

            faceStatus.put(WorkStatus.FACE_ANGLE_START, WorkStatus.FACE_HINT_UP);
            faceStatus.put(WorkStatus.FACE_ANGLE_UP, WorkStatus.FACE_HINT_RIGHT);
            faceStatus.put(WorkStatus.FACE_ANGLE_RIGHT, WorkStatus.FACE_HINT_DOWN);
            faceStatus.put(WorkStatus.FACE_ANGLE_DOWN, WorkStatus.FACE_HINT_LEFT);
            faceStatus.put(WorkStatus.FACE_ANGLE_LEFT, WorkStatus.FACE_HINT_END);
        }
    }

    /**
     * 开启线程绘制
     */
    public void start() {
        synchronized (mSync) {
            if (!isPlay) {
                isPlay = true;
                ThreadManager.executeOnSubThread(this);
            }
        }
    }

    /**
     * 停止绘制
     */
    public void stop() {
        synchronized (mSync) {
            if (isPlay) {
                isPlay = false;
            }
        }
    }

    /**
     * 更新文字状态
     * 更新角度状态
     *
     * @param status
     */
    public void updateStatus(@WorkStatus int status) {
        synchronized (mSync) {
            switch (status) {
                case WorkStatus.FACE_SEARCH:
                case WorkStatus.FACE_REGISTER_READY:
                case WorkStatus.FACE_REGISTER_START:
                case WorkStatus.FACE_REGISTERED:
                case WorkStatus.FACE_ANGLE_START:
                    FaceRegisterView.this.mTipText = faceStatus.get(status);
                    break;

                case WorkStatus.FACE_ANGLE_UP:
                case WorkStatus.FACE_ANGLE_RIGHT:
                case WorkStatus.FACE_ANGLE_DOWN:
                case WorkStatus.FACE_ANGLE_LEFT:
                    postDelayed(() -> FaceRegisterView.this.mTipText = faceStatus.get(status), 60);
                    this.currentStatus = status;
                    break;
                default:
                    break;
            }
        }
    }

    @Override
    public void surfaceCreated(SurfaceHolder surfaceHolder) {
        start();
    }

    @Override
    public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {
    }

    @Override
    public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
        stop();
    }

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        // 测量view的宽度(此控件为覆盖控件,宽高为显示内容宽高)
        if (MeasureSpec.getMode(widthMeasureSpec) == MeasureSpec.EXACTLY) {
            mViewWidth = MeasureSpec.getSize(widthMeasureSpec);
        }
        // 测量view的高度(此控件为覆盖控件,宽高为显示内容宽高)
        if (MeasureSpec.getMode(heightMeasureSpec) == MeasureSpec.EXACTLY) {
            mViewHeight = MeasureSpec.getSize(heightMeasureSpec);
        }
        setMeasuredDimension(mViewWidth, mViewHeight);

        // 获取圆的相关参数(圆的中点坐标,半径)
        mCenterPoint.x = mViewWidth / 2;
        mCenterPoint.y = (mViewHeight - circleMarginTop) / 2;
        mRadius = mCenterPoint.x - margin;

        // 绘制背景圆弧的边界
        mBgRectF.left = mCenterPoint.x - mRadius - mBgArcWidth / 2;
        mBgRectF.right = mCenterPoint.x + mRadius + mBgArcWidth / 2;
        mBgRectF.top = mCenterPoint.y - mRadius - mBgArcWidth / 2;
        mBgRectF.bottom = mCenterPoint.y + mRadius + mBgArcWidth / 2;

        // 虚线的外部半径(20圆弧跟虚线之间的距离)
        mExternalDottedLineRadius = (int) (mBgRectF.width() / 2) + 20;
        // 虚线的内部半径
        mInsideDottedLineRadius = mExternalDottedLineRadius - mDottedLineWidth;
        // 长虚线外部半径
        mExternalDottedLineRadius2 = mExternalDottedLineRadius + context.getResources().getDimension(R.dimen.dp8);
    }

    /**
     * 循环绘制画面内容
     */
    @Override
    public void run() {
        while (isPlay) {
            try {
                drawView();
                Thread.sleep(20);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }

    /**
     * 画控件
     */
    private void drawView() {
        synchronized (mSync) {
            Canvas canvas = null;
            SurfaceHolder holder = null;
            try {
                holder = getHolder();
                if (holder == null || !holder.getSurface().isValid()) return;
                //获得canvas对象
                canvas = holder.lockCanvas();
                if (canvas == null) return;
                //清除画布上面里面的内容
                canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
                //绘制画布内容
                drawContent(canvas);
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                if (holder != null && canvas != null) {
                    //释放canvas锁,并且显示视图
                    try {
                        holder.unlockCanvasAndPost(canvas);
                    } catch (IllegalArgumentException e2) {
                        e2.printStackTrace();
                    }
                }
            }
        }
    }

    /**
     * 画内容
     *
     * @param canvas
     */
    private void drawContent(Canvas canvas) {
        //防止save()和restore()方法代码之后对Canvas执行的操作,继续对后续的绘制会产生影响
        canvas.save();
        //先画提示语
        drawHintText(canvas);
        //绘制人脸识

redpajama_set_name: RedPajamaGithub


Yet again, Google has violated the first rule of holes; when in a hole, stop digging.
Does Google really want to engage in a broader public conversation about the truth and facts of Google's serial disrespect for the property of others?
Please click -- here for the powerpoint presentation: "The public evidence Google violated the DOJ-Google criminal non-prosecution agreement."
In August of 2011, Google admitted criminal liability for knowingly advertising for rogue pharmacies dispensing drugs without a prescription for seven years despite repeated Government warnings to stop doing so.
To settle this criminal matter in advance of a Grand Jury proceeding, Google agreed in the DOJ-Google Criminal Non-Prosecution Agreement (NPA ) to disgorge $500m in ill-gotten revenues and to obey a two-year remediation requirement designed to deter more Google criminal activity.
Sometimes something is so off-base that a straight analysis is wholly insufficient and warrants satire.
Google's 60-page proposed remedy document -- or "Commitments to address the EU's antitrust concerns of search bias -- warrants satire and ridicule.
Google's proposed search bias remedy is no remedy. It would be worse than the status quo.
If accepted by the EU, it would legitimize and entrench Google's 90+% dominance of search and search advertising in Europe, and make it much harder for any semblance of competition to ever take root.
Google's proposed search bias remedies are so preposterous one has to use metaphors, imagery and analogies to understand what is really going on and what Google is really proposing.
The EU blinked. It's obvious the EU does not want a high-profile political confrontation with Google over a search monopoly abuse enforcement action.
Last May, when the Competition authorities announced they had a preliminary Statement of Objections for four monopoly abuses against Google, the EU competition authority trumpeted their preference for a settlement over enforcement action in this case, i.e. ruling Google a search monopoly guilty of monopoly abuse that warranted a material fine. In extending their public deadlines for Google three times, and then tentatively accepting the immaterial search concessions Google proposed, it is obvious the EU bent over backwards to avoid politically confronting Google.


Day 23: What is a Good Fat?
So we've looked at some of the reasons to avoid carbs and grains in particular as it pertains to brain health, but what should you eat? In today's lesson I'm going to make the argument that the most important thing you can eat for optimum brain health is fat. After all, your brain is almost entirely fat so let's make sure it has all the healthy fat needed to work well your entire life.
Fat has been the preferred human diet from the day we crawled out of the primordial ooze or were created by God until the advent of agriculture about 10 thousand years ago. For the better part of our history, we ate fat and thrived as a people.
The Framingham Heart Study is a long-term, ongoing cardiovascular cohort study on residents of the town of Framingham, Massachusetts. The study began in 1948 with 5,209 adult subjects from Framingham, and is now on its third generation of participants. One of the many important findings that came out of that study was a clear association between the total amount of cholesterol and mental performance. The higher the cholesterol levels, the better their brains worked.
In the fall of 2012, a report in the Journal of Alzheimer's Disease published research from the Mayo Clinic revealing that older people who fill their plates with carbohydrates have nearly four times the risk of developing mild cognitive impairment (MCI), generally considered a precursor to Alzheimer's disease. Signs of MCI include problems with memory, language, thinking, and judgment. This particular study found that those whose diets were highest in healthy fats were 42 percent less likely to experience cognitive impairment; people who had the highest intake of protein from healthy sources like chicken, meat, and fish enjoyed a reduced risk of 21 percent.
In 2007, the journal Neurology published a study that looked at more than eight thousand participants who were sixty-five years or older and had totally normal brain function. The study followed them for up to four years, during which some 280 people developed a form of dementia (most of the 280 were diagnosed with Alzheimer's). The researchers aimed to identify patterns in their dietary habits, homing in on their consumption of fish, which contains lots of brain- and heart-healthy omega-3 fats. For people who never consumed fish, the risk of dementia and Alzheimer's disease during the four-year follow-up period was increased by 37 percent. In those individuals who consumed fish on a daily basis, risk for these diseases was reduced by 44 percent. Regular users of butter had no significant change in their risk for dementia or Alzheimer's, but people who regularly consumed omega-3-rich oils, such as olive, flaxseed, and walnut oil, were 60 percent less likely to develop dementia than those who did not regularly consume such oils. The researchers also found that people who regularly ate omega-6-rich oils—typical in the American diet—but not omega-3-rich oils or fish were twice as likely to develop dementia as people who didn't eat omega-6-rich oils.
What are Omega 6 fatty acids found in? Manufactured oils like canola, sunflower, corn and any oil with the word "seed" in the title. Oils that are high in Omega 3s are Olive, Walnut, fish and flaxseed oils. You can also get Omega 3s in animals that have been grass fed or ocean caught. Unfortunately, most of the meat we consume is farm raised and soy or grain fed which lowers Omega 3s and raises Omega 6s.
Other recent studies have shown that people with the lowest amount of LDL (bad) cholesterol are at greatest risk of developing Parkinson's. While we once thought that high LDL levels were detrimental to our health, what we are now discovering is that it is not the LDL particles that cause damage but when the LDL particles are oxidized by high sugar levels in the bloodstream. Oxidized LDL can't do its job which is to deliver important amino acids to individual neurons that help repair any damage to the neuron. Keep your blood sugar high and your LDL levels low and you increase your risk of chronic brain disease in the long term.
Another study has shown that cholesterol levels are a powerful predictive factor in patients with ALS. The higher the total cholesterol, the longer the patient survives.
I could go on here but here is today's lesson in a nutshell. Eat fat. Fat keeps your brain working like it should and high cholesterol is something you want, not something you should try to avoid.
All notes taken from information found in Fat Chance by Dr Lustig, Good Calories, Bad Calories by Gary Taubes, Grain Brain by Dr Perlmutter, The Angriest Trainer Podcast and Jimmy Moore's Podcasts.
PREVIOUS POST Previous post: 6/15 Weightloss Wednesday: 43 Lbs Down!


text:
\section{Introduction}

Financial derivatives are contracts between two or more parties whose value is based on underlying financial assets (e.g., bonds, comodities, currencies, etc.).  Typically, these contracts are expressed using natural language on a written document which is authorized by a trusted authority. However, natural language is often ambiguous and lacks precision. To overcome this issue, domain specific languages (DSLs) for expressing precise financial agreements have been developed~\cite{Christiansen2013AnAP, Jones00composingcontracts}.
Findel~\cite{findel} is yet another DSL in this category, which is restricted to financial derivatives. Findel is designed to be executed on the Ethereum blockchain platform and thus, it
enables the use of smart contracts to facilitate derivatives trading. In~\cite{findel}, the language is advertised as being capable of ``expressing the most common derivatives''.

A fixed rate currency exchange~\cite{findel} contract, can be expressed in Findel as follows:
\begin{center}
\begin{minipage}{.8\textwidth}
$\mathit{FRCE} \mathrel{\ensurestackMath{\stackon[1pt]{=}{\scriptstyle\Delta}}}$ {\tt
And(Give(Scale(11, One(USD))), Scale(10, One(EUR)))}
\end{minipage}
\end{center}
\noindent
Each Findel contract has two parties: an \emph{issuer} and an \emph{owner}. Let us assume that {\tt Alice} is the issuer. If {\tt Bob} joins the contract, then  {\tt Bob} becomes an owner and the contract is now ready for execution. {\tt And}, {\tt Give},  {\tt Scale}, and {\tt One} are called \emph{primitives}, i.e., the building blocks of Findel contracts. {\tt And} specifies that its both (sub)contracts {\tt Give(Scale(11, One(USD)))} and  {\tt Scale(10, One(EUR))} are executed sequentially. {\tt Give} swaps the issuer and the owner. {\tt Scale} multiplies the value of the contract by a specified factor. Finally, {\tt One} is the only primitive that actually performs a transfer from the issuer to the owner. So, $\mathit{FRCE}$ specifies that  {\tt Bob} gives to {\tt Alice} 11 dolars \underline{and} receives 10 euros from {\tt Alice}.

Findel has an implementation in Solidity, which is available on Github: \url{https://github.com/cryptolu/findel}. Findel contracts can be registered inside an Ethereum smart contract and then executed. Once deployed, a contract cannot be changed and thus, it very important for someone who deploys a contract to make sure that the terms of the involved transactions cannot be violated. For example, it is important for {\tt Alice} to know that once {\tt Bob} joins the contract she receives 11 dollars. Conversely, it is important for {\tt Bob} to know that {\tt Alice} will pay him back 10 euros precisely as specified by the contract.

Ideally, a trustworthy organization (e.g., a bank) may want to issue Findel contracts together with proof certificates to ensure that both the issuer and the owner have certain rights and obligations.

\emph{Contributions.}
We take the challenge to prove and certify properties about Findel contracts.
To achieve that, we formally define the semantics of Findel primitives in Coq.
We add to our semantics several components in order to simulate an execution environment, where multiple contracts can be executed, events are triggered, and transactions are registered in a ledger.
This environment, hereafter called \emph{marketplace}, enables us to prove not only properties of Findel primitives, but also properties that depend on other factors (external data providers, time, events).
Besides simple examples, we approach several non-trivial contracts and we highlight problems that contracts may hide. Note that we formalise the existing semantics of Findel as presented in~\cite{findel}, and we do not improve or modify the language.

\begin{table}
\small
\centering
\begin{tabular}{| l | l | }
\hline
\bf Primitive & \bf Informal semantics\\
\hline\hline
{\tt Zero} & Do nothing.\\
\hline

{\tt One(}\textit{currency}{\tt )} & Transfer 1 unit of {\textit{currency}} from issuer to the owner.\\
\hline
\hline
{\tt Scale(}$k$, $c${\tt )} & Multiply all payments of $c$ by a constant factor of $k$.\\
\hline
{\tt ScaleObs(}$a$, $c${\tt )} & Multiply all payments of $c$ by a factor obtained from address $a$.\\
\hline
{\tt Give(}$c${\tt )} & Swap parties of $c$.\\
\hline
{\tt And(}$c_1$, $c_2${\tt )} & Execute $c_1$ and then $c_2$.\\
\hline
{\tt Or(}$c_1$, $c_2${\tt )} & Give the owner the right to execute either $c_1$ or $c_2$ (not both).\\
\hline
{\tt If(}$a$, $c_1$, $c_2${\tt )} & If $b$ is true, execute $c_1$, else execute $c_2$, where $b$ is obtained from address $a$.\\
\hline
{\tt Timebound(}$t_0$, $t_1$, $c${\tt )} & Execute $c$, if the current timestamp is within $[t_0, t_1]$.\\
\hline
\end{tabular}
\caption{The informal semantics of Findel primitives~\cite{findel}.}
\label{tbl:informal}
\end{table}

\section{The informal semantics of Findel}
\label{sec:informal}

A Findel contract is a tuple with three components: a \emph{description}, an issuer and an owner. A Findel description is essentially a tree with \emph{basic primitives} as leaves and \emph{composite primitives} as internal nodes. The list of available primitives and their informal semantics is shown in Table~\ref{tbl:informal}. {\tt Zero} and {\tt One} are basic primitives, while the others are composite.
The execution model~\cite{findel} of a Findel contract is:

\begin{enumerate}
\item The first party \emph{issues} a contract and becomes its issuer. This is a mere declaration of the issuer's desire to conclude an agreement and entails no obligations.
\item The second party \emph{joins} the contract and becomes its owner. As a consequence, both parties accept the specified rights and obligations.
\item The contract is executed immediately:
	\begin{enumerate}
		\item Let the current node be the root node of the contract description.
				If the current node is either {\tt Or} or {\tt Timebound} with $t_0 > \mathit{now}$, postpone the execution: issue a new Findel contract, with the same parties and the current node as root. The owner can demand later its execution.
		\item Otherwise, execute all sub-nodes recursively.
		\item Delete the contract.
	\end{enumerate}
\end{enumerate}

A Findel contract is not guaranteed to be executed: only the owner can trigger the execution for issued contracts.
It is worth noting that the execution of a contract may produce new contracts (if {\tt Or} or {\tt Timebound} are present) or it can affect the balances of the parties. The current implementation of Findel does not enforce any constraints on the balances of the users that prevents them from building up debt.

\section{The formal semantics in Coq}
\label{sec:formal}

\subsection{Syntax}
\label{sec:syntax}
The syntax of Findel is fairly small in size and it is quite easy to encode it in Coq using {\tt Inductive} as shown in Figure~\ref{fig:syntax}.
\begin{figure}
\begin{center}
\begin{minipage}{.8\linewidth}
\small
\begin{alltt}
Inductive Primitive :=
(* basic primitives *)
| Zero      :                                      Primitive
| One       : Currency ->                          Primitive
(* composite primitives *)
| Scale     : nat -> Primitive ->                  Primitive
| ScaleObs  : Address -> Primitive ->              Primitive
| Give      : Primitive ->                         Primitive
| And       : Primitive -> Primitive ->            Primitive
| Or        : Primitive -> Primitive ->            Primitive
| If        : Address -> Primitive -> Primitive -> Primitive
| Timebound : nat -> nat -> Primitive ->           Primitive.
\end{alltt}
\end{minipage}
\caption{The syntax of Findel in Coq.}
\label{fig:syntax}
\end{center}
\end{figure}
\noindent
For convenience, several additional primitives are introduced in~\cite{findel}: {\tt At}, {\tt Before}, {\tt After}, and {\tt Sell}. In Coq, these are simple definitions. We show here only the definition for {\tt At}:
\begin{center}
\small
{\tt Definition At (t : nat) (p : Primitive) := Timebound (t - $\Delta$) (t + $\Delta$) p.}
\end{center}

\noindent
$\Delta$ is a just parameter which is used to adjust intervals for accepting transactions.
Having these new constructs enables us to define interesting contracts in Coq. For instance, here is a zero-coupon-bond contract, where the issuer asks for 10 dollars and will pay an eventual owner 11 dollars after 1 year:

\begin{center}
\begin{minipage}{.95\textwidth}
\small
$\mathit{ZCB} \!\mathrel{\ensurestackMath{\stackon[1pt]{=}{\scriptstyle\Delta}}}\!$ {\tt (And (Give (Scale (One USD)  10)) (At (\texttt{now} + 1 \texttt{yr}) (Scale (One USD) 11)))
}
\end{minipage}
\end{center}

\subsection{Semantics}

In Coq, we provide a function called {\tt exec} which executes primitives recursively. The function takes as inputs the description id, a scale factor, the issuer, the owner, the current time, an external gateway, the ledger, and a fresh id. The base cases of {\tt exec} are: for {\tt Zero} it does nothing, for {\tt One} it modifies the balances of the participants and the ledger, for {\tt Or} and {\tt Timebound} it generates new contracts.
The gateway is used to retrieve external data, and it is modeled as a map from addresses to values.
The function {\tt exec} returns a tuple: $\langle$ the updated balance, the generated contracts, a fresh identifier, the updated ledger $\rangle$.
Contracts are denoted as $[i,d,p,I,O,p_O,s]$, where $i$ is the contract id, $d$ is the corresponding description, $I$ is the issuer, $O$ is the owner, $p_O$ is the the proposed owner, and $s$ is the scale of the contract.

The marketplace (i.e., the environment where contracts are executed) is a tuple with several components $\langle \mathcal{C}, \mathcal{D}, \mathcal{B}, t, \mathcal{G}, i, \mathcal{L}, \mathtt{E} \rangle$ encoded as a record in Coq:
$\mathcal{C}$ - the list of the issued contracts;
$\mathcal{D}$ - the list of the available descriptions;
$\mathcal{B}$ - the current balance;
$t$ - the current timestamp, i.e., a natural number;
$\mathcal{G}$ - the external gateway, i.e., a map from addresses to values, used to execute {\tt ScaleObs} and {\tt If};
$i$ - a fresh identifier i.e., a natural number which is always fresh;
$\mathcal{L}$ - a global ledger, i.e., the ordered list of the performed transactions;
$\mathtt{E}$ - the list of events, which are triggered during execution (e.g., {\tt Deleted}, {\tt Executed}, {\tt IssuedFor}).
We show below the semantical rules that specify how the marketplace evolves.\\

\noindent
{\bf [Issue]} When issued, a contract is added to the list of issued contracts in the marketplace having a unique id $i$. The owner field contains the address of the issuer, while the proposed owner field contains the address of the intended owner.
The primitive of the contract is initialized from an existing description. Also an event {\tt IssuedFor} is triggered, and the global fresh id is incremented:

$$
\infer[]{
\langle [i,\mathit{id}(dsc),\mathit{primitive}(dsc),I,I,p_O,s] : \mathcal{C}, \mathcal{D}, \mathcal{B}, t, \mathcal{G}, i + 1, \mathcal{L}, (\mathtt{IssuedFor}~p_O~i) : \mathtt{E} \rangle
}{
\langle \mathcal{C}, dsc \in \mathcal{D}, \mathcal{B}, t, \mathcal{G}, i, \mathcal{L}, \mathtt{E} \rangle
}
$$
\noindent
{\bf [Join]} Joining a contract is the most complex operation and requires several conditions. First, $(A)$ $O = p_O$, i.e., the owner is the proposed owner. Second, the root node should not be an {\tt Or}: $(B)$ $p \neq \mathtt{(Or~\_~\_)}$. Third, the execution is limited within a time interval by its description $d$: $(C)$ $\mathit{start}(d) \leq \mathit{now} \leq \mathit{end}(d)$. Finally, the execution should be successful: $(D)$ $\mathtt{exec}(\mathit{p}, \mathit{c\_id}, \mathit{dsc\_id}, \mathit{s}, \mathit{I}, \mathit{O}, \mathit{t}, \mathcal{G}, \mathcal{L}, i) = \langle \mathcal{B'}, \mathcal{C'}, i', \mathcal{L'} \rangle$. The rule for joining a contract is shown below. Note that {\tt E} is enriched with an {\tt Executed} event.
$$
\infer[]{
\langle \mathcal{C}, \mathcal{D}, \mathcal{B'}, t, \mathcal{G'}, i', \mathcal{L'}, (\mathtt{Executed}~\mathit{c\_id}) : \mathtt{E} \rangle
}{
\langle \{ [\mathit{c\_id},\mathit{dsc\_id},\mathit{p},I,I,p_O,s] \} \cup \mathcal{C}, \mathcal{D}, \mathcal{B}, t, \mathcal{G}, i, \mathcal{L}, \mathtt{E} \rangle
& (A) & (B) & (C) & (D)
}
$$
\noindent
{\bf [Join {\tt OR}]} If the primitive of the current contract is $({\mathtt Or}~c_1~c_2)$ then the owner can execute either $c_1$ or $c_2$: $(D')$ $\mathtt{exec}(\square, \mathit{c\_id}, \mathit{dsc\_id}, \mathit{s}, \mathit{I}, \mathit{O}, \mathit{t}, \mathcal{G}, \mathcal{L}, i) = \langle \mathcal{B'}, \mathcal{C'}, i', \mathcal{L'} \rangle$. Here, $\square$ is either $c_1$ or $c_2$:
$$
\infer[]{
\langle \mathcal{C}, \mathcal{D}, \mathcal{B'}, t, \mathcal{G'}, i', \mathcal{L'}, (\mathtt{Executed}~\mathit{c\_id}) : \mathtt{E} \rangle
}{
\langle \{ [\mathit{c\_id},\mathit{dsc\_id},({\mathtt Or}~c_1~c_2),I,I,p_O,s] \} \cup \mathcal{C}, \mathcal{D}, \mathcal{B}, t, \mathcal{G}, i, \mathcal{L}, \mathtt{E} \rangle
& (A) & (C) & (D')
}
$$
\noindent
{\bf [Fail]} If the execution of a contract fails (e.g., if contract is expired or the gateway does not provide fresh data), i.e., $(F)$ $\mathtt{exec}(\mathit{p}, \mathit{c\_id}, \mathit{dsc\_id}, \mathit{s}, \mathit{I}, \mathit{O}, \mathit{t}, \mathcal{G}, \mathcal{L}, i) = \bot$, then the {\tt Deleted} event is triggered:
$$
\infer[]{
\langle \mathcal{C}, \mathcal{D}, \mathcal{B}, t, \mathcal{G}, i, \mathcal{L}, (\mathtt{Deleted}~\mathit{c\_id}) : \mathtt{E} \rangle
}{
\langle \{ [\mathit{c\_id},\mathit{dsc\_id},\mathit{p},I,I,p_O,s] \} \cup \mathcal{C}, \mathcal{D}, \mathcal{B}, t, \mathcal{G}, i, \mathcal{L}, \mathtt{E} \rangle
& (A) & (B) & (C) & (D)
}
$$
\noindent
{\bf [Tick]} Since the execution of the Findel contracts depends on the current timestamp, the marketplace contains a global time. The tick rule increases the global time $t$:
$
\vcenter{
\infer[]{
\langle \mathcal{C}, \mathcal{D}, \mathcal{B}, t + 1, \mathcal{G}, i, \mathcal{L}, \mathtt{E} \rangle
}{
\langle \mathcal{C}, \mathcal{D}, \mathcal{B}, t, \mathcal{G}, i, \mathcal{L}, \mathtt{E} \rangle
}}
$
\section{Proving properties of Findel contracts}
\label{sec:proofs}

A Findel contract specifies certain rights and obligations for parties.
We show here examples of contracts and some interesting properties that we prove in Coq.
We will see that, although they are are small is size, contracts may hide unexpected behaviors.
Hereafter, we assume that {\tt Alice} is the issuer and {\tt Bob} is the owner. For each contract, we formalise the desired properties as theorems and we prove them in Coq.\\[.5ex]

\noindent
\textbf{I. Fixed-rate currency exchange.}
Recall the fixed rate currency exchange $FRCE$ contract, where {\tt Bob} gives {\tt Alice} 11 dollars \underline{and} receives 10 euros from {\tt Alice}. In Coq,  we are able to prove the next lemma:
\begin{lemma}
If $FRCE$ is executed, then {\tt Alice} receives 11 dollars.
\end{lemma}
\noindent
The lemma is straightforward: the hypothesis imply that the {\bf [Join]} rule applies successfully. In this case, a transaction from {\tt Bob} to {\tt Alice} involving an amount of 11 dollars is registered in the ledger.
Conversely, one may want to prove that {\tt Bob} also receives 10 euros from {\tt Alice}, which is also straightforward in Coq:
\begin{lemma}
If $FRCE$ is executed, then {\tt Bob} receives 10 euros from {\tt Alice}.
\end{lemma}

\noindent
Note that the lemmas above hold, no matter what other contracts are executed in the marketplace. If one of the participants does not have enough money to pay then they can build up debt. The current semantics of Findel does not prevent from building up too much debt~\cite{findel} and we do not formalize that in Coq.\\[.5ex]

\noindent
\textbf{II. External gateway rate - currency exchange.}
A more interesting contract is a currency exchange that uses a rate retrieved from an external source (a gateway). Consider the following Findel description:

\begin{center}
\noindent
$\mathit{EXT} \!\mathrel{\ensurestackMath{\stackon[1pt]{=}{\scriptstyle\Delta}}}\!$
{\tt (And (Give\,(Scale n\,(One EUR))) (ScaleObs ADDR (Scale n (One USD))))\\
}
\end{center}

\noindent
$\mathit{EXT}$ specifies that the issuer is supposed to receive {\tt n} {\tt EUR} and will pay to the owner ({\tt rate * n}) {\tt USD}, where the {\tt rate} is obtained from an external address {\tt ADDR} using the gateway.
A non-obvious problem is that it is possible for the gateway to fail for various reasons (e.g., data expired, invalid address). In such cases, the contract execution fails and the specified agreement between parties fails as well.
Even if the balance of the parties is not affected, an intruder can determine certain contracts to fail on purpose.

In~\cite{findel}, the owner is ``advised'' to update gateways ``shortly before execution''. Also, the gateway is assumed to be ``trustworthy''. Under the same assumptions we prove in Coq the next theorems:

\begin{lemma}
If $\mathit{EXT}$ is executed then {\tt Alice} receives an amount of {\tt n} euros.
\end{lemma}

\begin{lemma}
If $\mathit{EXT}$ is executed and the gateway returns a {\tt rate} then {\tt Bob} receives {\tt rate * n} dollars.\\[.5ex]
\end{lemma}

\noindent
\textbf{III. Zero-coupon bond.}
An interesting Findel contract is $ZCB$ (Section~\ref{sec:syntax}): {\tt Alice} should receive from {\tt Bob} 10 dollars, while {\tt Bob} receives 11 dollars after 1 year. Proving that {\tt Alice} is paid is straightforward:

\begin{lemma}
If $ZCB$ is executed, then {\tt Alice} receives 10 dollars from {\tt Bob}.
\end{lemma}

\noindent
One the other hand, due to the semantics of {\tt At} (in Section~\ref{sec:syntax}, {\tt At} is implemented using {\tt Timebound}), we cannot prove that {\tt Bob} receives 11 dollars from {\tt Alice}! What we can prove is that after 1 year, {\tt Bob} can {\it claim} 11 dollars from {\tt Alice}.
This is because when {\tt Timebound} is executed, a new contract is issued, having {\tt Bob} as owner.
If {\tt Bob} fails to demand the execution of the contract in the specified time boundaries then he might not receive his money back.
So, the only guarantee that {\tt Bob} has is given by this theorem:

\begin{lemma}
If $ZCB$ is executed, then {\tt Bob} can claim 11 dollars from {\tt Alice}.
\end{lemma}

\noindent
If {\tt Bob} demands the execution of the contract generated by {\tt Timebound} then he receives the 11 dollars.

\section{Conclusions}
\label{sec:conclusions}

Using the formal semantics of Findel in Coq we are able to prove properties of Findel contracts.
When proofs cannot be completed, they typically reveal problems in contracts that might cause money loses (e.g. \textbf{Zero-coupon bond}) or failed agreements (e.g., \textbf{External gateway rate - currency exchange}). This can be done by simply inspecting the failed proof case, which provides the failing conditions.

The results shown in Section~\ref{sec:proofs} use several meta-properties of our Coq formalisation: (1) the step relation preserves state consistency; (2) event generation preserves states consistency; (3) the ledger is consistent; (4) parties cannot withdraw once they have agreed to upon a contract; (5) the time passing is not affected by contract execution.

Our Coq semantics of Findel is small and consists of 450 (non-empty) lines of code.\footnote{The code is available on Github: \url{https://github.com/andreiarusoaie/findel-semantics-coq/}.} The proof of a theorem has around 15 lines of code, but these proofs use several helper lemmas  and some handy tactics that we provide together with the semantics.\\

\emph{Acknowledgements.}
This work was supported by a grant of the ``Alexandru Ioan Cuza'' University of Ia{\c s}i, within the Research Grants program, Grant UAIC, ctr. no. 6/01-01-2017.

\nocite{*}
\bibliographystyle{eptcs}

redpajama_set_name: RedPajamaArXiv


Abidov A1, Bax JJ, Hayes SW, Cohen I, Nishina H, Yoda S, Kang X, Aboul-Enein F, Gerlach J, Friedman JD, Hachamovitch R, Germano G, Berman DS.
The aim of our study was to derive and to validate the normal threshold for an automatically measured left ventricular transient ischemic dilation (TID) ratio in patients referred for adenosine stress myocardial perfusion SPECT (MPS) and to assess the value of integrating TID in detecting severe and extensive coronary artery disease (CAD).
Normal limits for the TID ratio were derived using dual-isotope MPS data from 38 patients with a low (<5%) likelihood of CAD. Criteria for abnormality were calculated on the basis of data from 179 consecutive patients who had undergone coronary angiography less than 3 mo after index adenosine MPS: 41 patients (23%) had severe and extensive CAD (> or =90% stenosis) in the proximal left anterior descending artery or in 2 or more coronary arteries, 64 (36%) had no significant CAD (<70% stenosis), and 74 (41%) had mild or moderate CAD. The criteria were then prospectively validated in a cohort of 177 patients, of whom 41 patients (23%) had severe and extensive CAD, 55 (31%) had no significant CAD, and 81 (46%) had mild or moderate CAD.
By analysis of receiver-operating-characteristic curves, the best threshold for adenosine TID ratio abnormality was the mean adenosine TID ratio in the low-CAD-likelihood patients + 2 SDs (TID ratio > 1.36). Abnormal TID ratio using this threshold demonstrated high sensitivity and specificity for severe and extensive CAD (71% and 86%, respectively), and similar sensitivity and specificity were observed in the prospective validation group (73% and 88%, respectively). In the combined pilot and validation groups, the absence of both abnormal TID ratio and abnormal perfusion was highly specific for the absence of severe and extensive CAD; only one (1.3%) of 79 patients with severe and extensive CAD had neither of these abnormal findings on adenosine MPS. In patients with both abnormal TID ratio and abnormal perfusion, 55 of 84 (65%) had severe and extensive CAD. When patients had one but not both of these findings, 26 of 193 (13%) had severe and extensive CAD.
The automatically measured TID ratio is a useful clinical marker that is sensitive and highly specific for identification of severe and extensive CAD in patients undergoing adenosine MPS. Integration of abnormal TID ratio into the dual-isotope MPS image interpretation algorithm improves the identification of severe and extensive CAD in adenosine MPS.


text:
Mayo boss Leahy defends his set-up and calls Staunton's 'unsafe' claims 'close to slanderous'
MAYO LADIES FOOTBALL manager Peter Leahy has refuted Cora Staunton's claims that the Mayo set-up is an unsafe environment to be in, calling her accusations "close to slanderous."
Staunton was one of 12 players to left the Mayo panel earlier this summer. Initially, they cited "player welfare issues" as the reason for their departure.
The remaining members of the Mayo squad then released a statement to The42 saying that "no player welfare issues exist or have ever existed under the current management."
Click Here: north queensland cowboys jersey
In response to the statement, Staunton said: "The environment for us wasn't right within the county set-up, we didn't feel it was a safe environment to be in so we decided to leave."
Leahy was unhappy to hear Staunton call the Mayo camp "unsafe" and "unhealthy" and defended his set-up.
"The word unsafe is the reason I'm (speaking out)," Leahy told the GAA Hour yesterday.
"The minute safety was brought into it I had to protect my management team. Safety and unhealthy was mentioned last week, enough is enough.
"There is a chartered physio at every single training session. We have live heart-rate monitoring to make sure none of the girls are over-worked.
"We had a meal after every session. We had top facilities. We had a fully qualified strength and conditioning coach. What we have a lot of senior men's teams don't have.
"We have a liaison officer there so if there is an unsafe situation, they have to be contacted. She has never heard a word about unsafe.
"These are close to slanderous accusations being put out there. It is not fair on my management team. If somebody wants to come out and say, Peter Leahy did X, Y, and Z, I'd welcome it. It has to be put out in the public domain at this point."
Source: Morgan Treacy/INPHO
In the wake of their Connacht final defeat to Galway, the Mayo management had one-on-one meetings with the players. Leahy says some players were unhappy with team selection and "feelings" were hurt over the feedback certain players were given.
"Some of the players weren't happy with my selection, simple as that," he explained.
"We only had nine players from the All-Ireland last year playing, that was a problem to a lot of them. In my opinion, it's not a problem. It's whoever is the best goes on the pitch on the day.
"All my selectors, including the selector who has left, have agreed on every team selection we've made all year. It was about selection. It was, 'Oh my feelings are hurt.' It was a feelings situation. I'm sorry but if we start bringing feelings into this equation, it becomes very, very muddled."
He added that there was an attempt to remove the management and other members of the panel were encouraged to leave.
"We had girls who still remained on the panel who two or three days before we played Cavan were asked to leave, to join them. 'Oh, if you go they won't be able to field', so this is the kind of stuff that was going on, which is cloak and dagger stuff, it's not nice, it doesn't reflect well."
Previous post Previous 4 games into his AFL career, Meath's Nash named to start in do-or-die clash against Melbourne
Next post Next Cork duo and Limerick forward to contest Young Hurler of the Year award
0 thoughts on "Mayo boss Leahy defends his set-up and calls Staunton's 'unsafe' claims 'close to slanderous'"


Tuition rates for the 2019-20 school year are listed below. Through the textbook rental program each student will receive the required textbooks and any associated workbooks. At the end of each course students will return the textbooks. Parents will be billed for any unreturned books at replacement cost.
The fees paid per student cover student activity fee, technology fee, yearbook, PE uniform, spirit week t-shirt, class dues, parent membership in the Irish Parent Network, course fees (except Driver's Ed and Dual Enrollment), Bible (received freshman year), Catechism (received junior or senior year), annual retreat and graduation fee (senior year).
Additional expenses that may be incurred include, but are not limited to, uniforms, lunches, parking, athletic participation fees and expenses, school supplies and novels for English classes.
To learn more about our Financial Aid Process visit our Apply page.
Deposit: A $350.00 non-refundable deposit is required at time of contract signing (March 15) for all new students (freshmen and transfer students). This amount will be applied to tuition.
Full tuition payment due by July 1 through FACTs Tuition Management Program.
Monthly payment through FACTs Tuition Management Program. Payments are made over a ten month period (July through April) via automatic withdrawal.
Quarterly payments through FACTS Tuition Management Program.
Semi-annual payments through FACTS Tuition Management Program.
Click here to set up your FACTS Tuition Payment Plan.


It might look like I came late to writing, but in fact I have been scribbling (and typing!) for a long time now. I've just been reluctant to post any. I began posting my non-sexual stories on my blog site,and this led to me taking the plunge and revealing the darker side of my writing. Any feedback is appreciated unless it's just being nasty, in which case I shall delete it.
Nov 9: I'd like to thank everyone for all the positive feedback for all of my stories. I do try to take on board suggestions even if it doesn't look like it. It may be that the story you've commented on is one I wrote some time back, in which case I'm loathe to change it. sorry.
Sept 2018. Finding it hard to come up with complete stories. Beginnings, middles and ends, yes, but they don't connect. Sorry. Stay with me please, I hope to get some connections, but I won't force it.


text:
Malawi: Malawians brace for another year of hunger
Next Guinea-Bissau: West and Central Africa: Humanitarian Bulletin - August 2013
Previous Mali: Sahel Crisis 2013: Funding status as of 16 August 2013
Source: IRIN
Country: Malawi
MZIMBA, 16 August 2013 (IRIN) - The phrase on the lips of many Malawians these days, particularly in the north of the country is: "There will be hunger this year."
In Karonga District, prolonged hot, dry spells caused maize crops in the southern part of the district to wilt. The dry spell was followed by heavy rains, which not only knocked down the wilting maize but also brought down several houses, affecting scores of people. In the northern part of the district, flooding filled rice paddies with sand, virtually burying the crop.
Rumphi and Mzimba districts - the hub of maize production in Malawi's northern region - were also hit by dry spells starting from February.
As a result of the weather conditions, most farmers in the region harvested little maize. In fact, an annual food security forecast by the Malawi Vulnerability Assessment Committee (MVAC) - composed of the government, UN agencies and NGOs - predicted that 21 of the country's 28 districts will face varying degrees of food insecurity until the next harvest in March 2014, with the northern region most severely affected.
Costs to rise
Across the region, residents have started buying and storing bags of maize to prepare for the steep price increases that normally accompany the peak of the lean season.
"Unlike in the past, when vendors were the ones buying the maize, most of those buying the maize this time around are people who say they are just stocking it for domestic use," said Francis Chirwa, a farmer from Chitipa District, who was selling some of his maize.
Currently maize is selling at between 120 and 130 kwacha (between US$0.36 and $0.39) per kilogramme at points of production in rural areas. The MVAC report projects that prices will increase to 200 kwacha (about $0.60) per kilogramme by the peak lean period, which will fall between December 2013 and January 2014.
Surplus?
The MVAC report projected a slight increase in total maize production compared to last year, with a surplus of 194,000 metric tons beyond the national food requirement. However, the report also estimated that nearly 1.5 million people - representing 9.5 percent of the country's total population - would need food assistance equivalent to 57,346 metric tons of maize over the coming months.
In its July to December 2013 food security outlook, the Famine Early Warning Systems Network (FEWS NET) suggested that the maize surplus could be less than projected because of a possible over-estimate of the amount of maize produced from the irrigated farming sector, which failed to take into account the lowered water table resulting from erratic rains.
The FEWSNET report also noted that rain-fed maize production was down by 27 per cent compared to last year in the area covered by the Mzuzu Agricultural Development Division (ADD) in the north and by 19 per cent in the central region areas covered by Kasungu ADD.
Rethinking FISP
Meanwhile, the MVAC report attributes the maize surplus to the government's Farm Input Subsidy Programme (FISP), which targets more than a million poor smallholder farmers with subsidised inputs such as fertilizer and seed. However, John Paul, project manager for the Building Resilience to Climate Change project run by the NGO Total Land Care, pointed out that "the success of the FISP lies in favourable weather conditions".
"Most parts of the country have not received favourable rains over the past two years or so, and this period has exposed how vulnerable the FISP is," he told IRIN. "There is a need for the implementation of the FISP to incorporate conservation agriculture technologies, such as maximum soil cover and limited tilling, as a way of fighting off the effects of dry spells."
Olivier De Schutter, the UN special rapporteur on the right to food, made similar observations after completing an 11-day mission to Malawi in July. In a strongly worded statement, De Schutter urged the government to rethink its focus on the FISP, which, with its dependence on costly fertilizer imports, was using up more than half of the Ministry of Agriculture's budget and crowding out spending on other priorities, but failing to rid Malawi of chronic food insecurity and high levels of malnutrition.
"From a purely agronomic point of view, inorganic fertilizers may be masking soil nutrient depletion, rather than correcting it," said De Schutter, adding that this helped explain why the country had seen an initial increase in yields of maize and other cereals following the introduction of the FISP between 2005 and 2009, which had been followed by a levelling off starting in 2010.
De Schutter recommended promoting the cultivation of other crops besides maize, in particular legumes, as a way of replenishing depleted soils and improving children's diets. He also proposed a "brown revolution" which would focus on the use of organic fertilizers.
//honneur366.rssing.com/chan-56360708/index-latest.php
//restoring1392.rssing.com/chan-42815861/index-latest.php
//medicamentos398.rssing.com/chan-42814701/index-page1.html
//harte286.rssing.com/chan-42816034/index-latest.php
//foster2833.rssing.com/chan-34432903/article6.html
//adviento108.rssing.com/chan-56361417/article8.html
//brides2151.rssing.com/chan-56361531/article6.html
//pouvons68.rssing.com/chan-34431988/index-latest.php
//crescere137.rssing.com/chan-17626128/article6.html
//ceiling357.rssing.com/chan-17625727/index-latest.php
//abiquo72.rssing.com/chan-17625493/article3.html
//programas1546.rssing.com/chan-56360904/index-latest.php
//deauville379.rssing.com/chan-56361251/article16.html
//resolution2528.rssing.com/chan-28382226/index-page1.html
//bildschirm187.rssing.com/chan-56361032/article5.html
//prisoners902.rssing.com/chan-34431695/article8.html
//fadec33.rssing.com/chan-42816043/article3.html
//voyeurisme300.rssing.com/chan-56360661/index-latest.php
//berlinois106.rssing.com/chan-56361284/index-latest.php
//pittsburgh5029.rssing.com/chan-17625322/index-latest.php


text:
CVAARRD straights Ugnay Awards for the 6th time
Cagayan Valley Agriculture, Aquatic and Resources Research and Development (CVAARRD) breaks record for yet another Ugnay Award this year.
This is the 6th time that CVAARRD has been conferred as the Most Outstanding R&D Consortium for the Ugnay Awards.
The recognition was awarded early on Tuesday (December 22) during the Science and Technology (S&T) virtual Recognition and Awarding Ceremony by the Philippine Council for Agriculture, Aquatic, and Natural Resources Research and Development (PCAARRD).
The Ugnay Award is a recognition given to a regional consortium for being PCAARRD's partner in advancing research and development as well as science and technology innovations.
CVAARRD has been long bestowed with the distinction as the first Ugnay Hall of Fame Awardee in the country, given its successive monumental achievements in R&D.
CVAARRD Chairperson and ISU President Dr. Ricmar P. Aquino thanked PCAARRD for acknowledging the contributions of the consortium, and assured its commitment in continuing research excellence toward transforming communities, especially with the current challenges of time.(JF/GZ/BJC-UMIS-CMS)


The ATEX Quality Module is an 'Add on' to ISO 9001:2000. It requires ATEX to be addressed or considered in each applicable clause of the Standard, If you do not have ISO 9001: 2000, a 'Quality Plan' can be used, but the audits are more frequent. EN ISO IEC 80079-34:2011 is the current Standard for ATEX (and IECEx) Quality Control and should be used to develop the necessary control.
To get you started, here are a few of the more important aspects you will need to consider.
The ATEX Quality Module should ensure all units are built to within the scope of the 'schedule' drawings (the drawings listed on the certificate). Ensure these drawings remain unchanged, if a change is required apply for a 'variation' through the issuing Notified Body as a new certificate will need to be issued with the new revision number. Record the fact that the build is covered by the schedule drawings.
Have an 'ATEX Responsible Person' listed in your ATEX Quality Module , this person is normally technical and well trained in ATEX, it is the 'go to' person for interpreting the schedule drawings, working with the Notified Body and periodically reviewing the Standards.


The IASSIDD Academy is conducting pre-conference workshops in conjunction with the World Congress at Glasgow.
Workshops will be conducted in half-day and full-day formats and usually include the presentation of theory (the evidence base) and opportunities for activities and / or discussion among participants. Importantly, the content will feature innovative ideas that have practical application, with participants gaining both knowledge and skills.
All Workshops will be held on Monday, 5 August 2019. Half Day Workshops will be held from 09:30 to 12:30 (AM session) and 13:30 to 16:30 (PM session). Full Day Workshops will be held from 09:30 to 16:30.
The cost to attend one Half Day Workshop in the AM or PM session is £50.00. To attend two Half Day Workshops, one in the AM and one in the PM session, the cost will be £90.00 and include light lunch.
The cost to attend a Full Day Workshop is £90.00 and is including light lunch.
Drs Feldman and Aunos would like to facilitate an evidence-informed discussion (roundtable/workshop format) about updating parenting capacity models with elements of different variables (impediments and supports) that have since been shown to be associated with parenting or been associated with key variables as illustrated in the parenting interactional model.
Researchers and practitioners from several countries who have conducted research on some or all of the model variables will be invited to participate in this workshop. Their contributions have been essential to the growing of the field of parenting by persons with IDD and we are hoping to integrate their conclusions into to a revised, updated model that will move the field forward.
A great deal of research on communication with people with intellectual disabilities focuses on their perceived communicative deficits. Alternatively, from time to time people with intellectual disabilities are asked to comment on how others (for instance medical staff or care workers) communicate with them. There are concerns voiced by people with intellectual disabilities ('doctors use words we don't understand') and recommendations that are often vague and hard to implement ('check the understanding of your patients with intellectual disabilities').
Conversation analysis (CA) takes a very different approach to understanding communication involving people with intellectual disabilities. CA research with people with intellectual disability show that even people with considerable impairments use linguistic resources skillfully. The workshop will cover Introduction to theory, method and existing research (am) and Application of CA to data analysis and development of interventions (pm).
There is a paucity of therapeutic strategies that can be utilised with individuals with autism spectrum disorder (ASD) who have challenging or offending behaviours. The use of Dialectical Behaviour Therapy (DBT) which is strength-based and habilitative in its approach, has expanded to populations with personality disorders, substance misuse, mental health issues and offending issues. This workshop will focus on providing the participants knowledge and skills on the use of DBT coping skills with their work with clients with ASD who have difficulties with emotion regulation, distress tolerance, cognitive rigidity and sensory issues.
Mathematics is a fascinating field of human endeavour that underpins a numerate adulthood and enhances awareness of the world. Until recently, most learners with Down syndrome were deprived of the opportunity to learn mathematics due to low expectations, inadequate content and inappropriate teaching methods.
Fortunately, new research is opening the doors to the study of mathematics for learners with Down syndrome. In this workshop, participants will hear of the latest research and discuss the implications for classroom practice.
This workshop will present an overview of Health U, an engaging, successful weight loss program for youth/young adults with IDD that was developed and tested at UMass Medical School in the US. Health U consists of interactive, hands-on, social activities that teach essential nutrition and physical activity concepts in a manner that meets the cognitive, communication, and literacy needs of individuals with IDD. Parents are taught to employ supportive behavioral techniques to encourage the adoption of healthy lifestyle habits in their offspring. The program also includes an individualized, visually-based "Healthy Eating Plan" that assists participants to consume a healthy diet and promote weight loss. This interactive workshop will provide participants with information on weight management in youth with IDD as well as provide materials, tools, and strategies to successfully engage this population and their families in weight loss programming in community, school, and clinical settings.
People with intellectual disability have the right to know about dying and death. This workshop will provide a detailed introduction to teaching people with ID about multiple end-of-life issues. We will (a) demonstrate how to use our recent, free online resource Talking End of Life…with people with intellectual disability (TEL) https://www.caresearch.com.au/TEL/, (b) introduce participants to other end-of-life training resources, and (c) discuss how such resources could be used by disability services, and families. TEL includes numerous short videos featuring real people with ID and disability support staff. We will use the videos to illustrate various teaching methods and end-of-life issues.
We will also provide delegates with a detailed introduction to three psychometrically-sound end-of-life assessment tools designed specifically for people with ID, respectively dealing with (a) understanding the concept of death, (b) end-of-life planning, and (c) fear of death.
The authors of the International Consensus Statement on How Best to Support Adults with Intellectual and Developmental Disabilities (IDD) who are Frail will review the two principles and seven recommended actions which make up the Statement with a focus on practical applications. Various resources and tools (e.g., infographics, videos) for implementing the recommendations will be presented in an interactive forum. Participants will have an opportunity to comment on the applicability of the tools to their context and to share their own approaches to supporting adults with IDD who are frail.


text:
Молодёжная (до 20 лет) сборная Белоруссии по хоккею с шайбой — команда, составленная из игроков возрастом не более 20 лет, представляющая Белоруссию в международных матчах и турнирах, и играющая в Белорусской экстралиге Б и Кубке Белоруссии. Лучший результат на чемпионатах мира — 9-е место в 2001 и 2002 годах. С 2007 по 2015 годы команда выступала в первом дивизионе розыгрыша чемпионата мира и сумела после долгого перерыва вернуться в элитный дивизион.

История
Молодёжная сборная Белоруссии была создана в 1992 году. Пробиться через квалификационные турниры в группу «С» команде удалось только с третьей попытки — в 1994 году. Ещё три года спустя сборная завоевала путевку в группу «В». Выиграв турнир в 1997 году, белорусы впервые попали в десятку лучших молодёжных команд мира, однако не смогли удержаться в сильнейшем дивизионе дольше года. С тех пор молодёжная сборная Белоруссии постоянно перемещалась из первого дивизиона в высший и обратно вплоть до сезона 2006/2007. На чемпионате мира 2015 года, проходившего в Италии, белорусы вновь завоевали право выступить в элитном дивизионе турнира в 2016 году. На МЧМ-2016 в Финляндии белорусы под руководством Александра Белявского проиграли все 4 матча в группе и заняли последнее место. В релегейшн-раунде Белоруссия дважды уступила Швейцарии (1:5, 2:6) и покинула элитный дивизион.

Тренерский штаб
 Главный тренер — Дмитрий Кравченко
 Начальник команды — Артемий Старинский
 Тренеры — Дмитрий Дудик, Павел Перепехин, Алексей Щебланов

Состав
Состав на чемпионате мира 2019 года:

Выступления на чемпионатах мира

Все тренеры
 Анатолий Варивончик (1992—1993)
 Юрий Перегудов (1993—1995)
 Андрей Сидоренко (1995—1996)
 Владимир Меленчук (1996—1998, 1999—2003)
 Михаил Захаров (1998—1999, 2003—2005)
 Эдуард Занковец (2005—2007)
 Андрей Расолько (2007)
 Андрей Гусов (2008)
 Василий Спиридонов (2009)
 Олег Микульчик (2010)
 Владимир Заблоцкий (2011)
 Павел Перепехин (2012—2015)
 Александр Белявский (2015—2016)
 Юрий Файков  (2016—2018)
 Дмитрий Кравченко (2018—)

Ссылки
 Официальный сайт Федерации хоккея Республики Беларусь
 Статистика на сайте «Хоккейные архивы»
 Статистика на сайте «Мир хоккея Беларуси»

U-20


A This show is a Discussion on The method of controls that are is use to keep you as a citizen "safe and secure" from the ills and dangers of Cannabis. In regards to Cannabis, the laws are ever changing in their authority and responsibility, but basically the authority is still trying to find ways to curb your behaviours and actions. No, this is NOT a recommendation for Driving under the Influence of Cannabis, but it is a show to open your eyes to the ridiculous attempts that are being made and the cost of these attempts (*being your money and your freedom). The authority is trying to use Breath analysis to determine use, when cannabis (as a drug) can be detected after use for many many hours,long after the effects have dissipated. You can maintain a level of testable properties for 30/60/90 days, depending upon use and frequency and type of test. Unlike Alcohol, cocaine, heroin and the like....Cannabis uses the Endocannabinoid system which is IN YOUR BODY NATURALLY. This is one of the reasons it is detectable long after use. It is a part of who you are.


I'm a packrat by nature. Hesitant to throw things away because I think one day I might need them. Especially when it comes to paystubs, bills, statements, etc. And I know I'm not alone.
Unlike the urge to cling to your acid wash jeans until they make a comeback, there's no need to stockpile every shred of your financial paperwork and continue sending and receiving paper payments and statements.
The notion of going paperless makes some people uneasy and leaves them questioning safety and data accessibility. The reality is that a large portion of the kinds of security breaches that we worry about stem from offline incidents like the theft or loss of a check or checkbook. And come tax time, you don't have sift through piles of financial paperwork. Since electronic records carry the same legal standing as paper records, you don't need to keep a paper trail; your account statement is considered proof of payment.
Ultimately, paperless banking and payments can save you time, effort and money in addition to being an efficient and secure way to track your finances electronically.
One of the most recent paper abdicators is none other than Uncle Sam. Government payments like Social Security, Supplemental Security Income, and U.S. government benefits, among others, will soon be paperless. This week, the U.S. Treasury Department announced that all government payments to consumers (excluding those made by the IRS) will made electronically – either through direct deposit into a bank account or via Treasury's Direct Express debit card.
The switch will take place over the next three years and is estimated to save more than $300 million in the first five years and over $120 million per year subsequently. Additionally, the new payment approach will cut about $48 million in government postage costs.
Let's keep our fingers crossed that the federal government's move will convince consumers to kick the paper habit once and for all. And finally, was the government just late to the game or could this switch ripple through the business community, prompted even more paperless preaching? We'll wait for the buzz.


Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?
Device 0: "GeForce GTX 1080"
/root/anaconda3/lib/python3.6/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
Connecting to storage.googleapis.com (storage.googleapis.com)|216.58.200.48|:443... connected.
than 5.3 are not supported!
#error -- unsupported GNU version! gcc versions later than 5.3 are not supported!
#error -- unsupported GNU version! gcc versions later than 5.4 are not supported!
I0716 14:46:01.360755 27985 solver.cpp:322] Optimization Done.
I0716 14:46:01.360757 27985 caffe.cpp:222] Optimization Done.


text:
Q&A: Dip In 'Shark Tank' Led To A Wave Of Shaving Soap Business
By Andrea Rumbaugh
WWR Article Summary (tl;dr) Love this story about Lydia Evans, and her foray into the skincare business, first for women then for men. Evan's story is one of hard work and patience…her company was not an overnight success, but what happened the night she appeared on "Shark Tank" changed everything.
Lydia Evans created the SW&G Bar to appease her brother, a barber looking to soothe ingrown hairs and breakouts caused by shaving. The licensed esthetician never expected the loofah-infused shaving soap that cleanses, exfoliates and disinfects to become her most successful creation.
Her main focus had been creating skin care products for women. But SW&G Bar sales quickly overtook her other products, and that escalated further when Evans pitched the soap to investors on the TV show "Shark Tank." She wasn't offered a deal, but her sales from the SW&G Bar grew from $54,000 in 2013 to $400,000 six months after her episode aired in late 2014. The SW&G Bar is now patent pending, and Evans has two trademarks for product names.
Evans discussed the journey and her Houston-based company Soaps Washes & Grooming Essentials, known as SW&G Essentials, with the Chronicle.
Q: What were the early days like as an entrepreneur?
A: They were hard. They were a struggle. Wherever I saw a barbershop or a barber pole, if it looked reputable on the outside, I would go in. I would do a presentation to the barber. I would give the guy samples. And when I would come back in a week, generally the barber would ask me for samples and then he'd want a bar or two or three for himself and his special clients. And then my reputation kind of got a little bit better to the point where people would refer me and then I would get calls. It was heart and hustle in the beginning. But it was a learning process. I had to go through everything I went through to be prepared for something like "Shark Tank." There's just no way possible I would have been prepared if I didn't go through the bumps in the road, the disappointments, the people who will order a bunch of stuff and then last-minute pull out on you.
Q: When you were on "Shark Tank," how did it feel when none of the Sharks wanted to invest in your product?
A: You know how many no's I heard before I got in front of those five people? I've heard thousands of no's. No's prepared me to stand there in front of those people. That's not to say I didn't want to pass out and cry when I walked out of there, because I did. I wanted to pass out and cry because then the reality set in. I just told the whole world all my personal business about my business with no deal. I have no patents in place. I have no trademarks in place. I don't have the revenues, the profits to be able to get these big item things done. And then worry set in. … I think the most motivational thing for me was nobody ate me alive. Nobody called my idea crazy. Nobody called my idea insane.
Q: How did your company grow after the episode aired?
A: The night we aired was a nightmare. It was the best, worst day of my life. I aired at exactly 8:31 p.m. By 8:35 we were at $35,000 in sales. To me that was unbelievable. My web designer was calling me. 'The website has crashed. Four million people are on the website.' And then she calls me back, 'Lydia, there's 6 million people on the website. It crashed again.' I looked at it again and we were at $70,000. And it just kept going up. I woke up in the morning and by that time we were at $150,000. Everything else was a blur. … I only had 100 bars in my second bedroom closet. So I went from this extreme high to the reality set in. It took us four months to fulfill all the orders.
Q: Were people pretty patient?
A: Minus about $1,800 in orders we had to refund. But when you look at the grand scheme of things, I didn't do too bad, huh? I had to take off my "yay, I was on 'Shark Tank' hat" and put on my "humble small-business owner" hat. And I just started calling people. They stuck by me, and they were patient.
Q: When did SW&G Essentials leave your apartment?
A: I opened this facility two weeks after I aired on "Shark Tank." I went from a team of one to a team of six. They were all in my apartment, and one day I went through three rolls of toilet paper. And I said, "Everybody got to go. I need my personal space back." And so I sent my dad out on this hunt for space. And my dad found this spot. Signed the lease the same day.
Q: What are your future plans for SW&G Essentials?
A: I got approached by Cedric the Entertainer, who has a hat company called Who Ced? They wanted to do a brand collaboration with us. So I think I'm going to do more brand partnerships and alliances. I believe that if you want to go fast, go alone. If you want to go far, go together. So right now my main focus within this year to two years or so is working on my brand partnerships with other established brands. And then, from there, I'm looking into possibly revisiting the retail side of things.
I thought I wanted to do the big box retail stores at first but I don't know. It's a lot that comes with that. Maybe I'll revisit that then. But for the most part it's the brand partnerships and working on QVC. QVC has contacted us.
Related Items:business, company, face wash and oils, grooming business, men, partnerships, QVC, retail, sales, soap business, soap washes and grooming essentials, success, WOmen
Build A City Of, By And For Entrepreneurs
'Hacking' The Brain: Silicon Valley Entrepreneurs Turn To Fasting And 'Smart Drugs'


text:
Инстаграм imperial.hiphop
@imperial.hiphop
Round 3 - Captial Steez vs Westside Gunn - Comment To Vote - Vote based on who you personally enjoy more, not who you think is better Смотреть полностью
Round 2 - Freddie Gibbs vs J. Cole - Comment To Vote - Vote based on who you personally enjoy more, not who you think is better Смотреть полностью
Round 1 - Chance The Rapper vs Childish Gambino - Comment To Vote - Vote based on who you personally enjoy more, not who you think is better Смотреть полностью
Mixtape Review - Title: Badshit (Bootleg) Artist: Germ - Germ is a Rapper, Skater, and producer coming from Atlanta. Badshit (Bootleg) has 10 BANGING tracks, His flow and delivery just make each track bump harder. I really fw his style and It has Great replay value and i still bump this mixtape to this day. - Song Ratings - •Yung Minor Threat 10/10 •For The Win 8.5/10 •Bag Of Dope 9/10 •Who Dat There 8/10 •Bad Guy 7.5/10 •Madonna The Slut 9.5/10 •Air Max Plus 10/10 •Coon Classic Freestyle ll 10/10 •Rukus 8/10 •Han Solo 9.5/10 - Overall - 9/10 Personally 8/10 Critically Смотреть полностью
All Amerikkkan Bada$$, by Joey Bada$$ Tracklist Ranking 12. Devastated [6/10] 11. Good Morning Amerikkka [6.5/10] 10. Super Predator (feat. Styles P) [7/10] 9. Legendary (feat. J Cole) [8/10] 8. Ring The Alarm (feat. Meechy Darko, Kirk Knight, & Nyck Caution) [8/10] 7. For My People [8.5/10] 6. Land of the Free [8.5/10] 5. Amerikkkan Idol [8.5/10] 4. Y U Don't Love Me (Miss Amerikkka) [9/10] 3. Rockabye Baby (feat. Schoolboy Q) [9.5/10] 2. Temptation [9.5/10] 1. Babylon (feat. Chronixx) [9.5/10] AABA, in my opinion, is consistent as they come. Nothing really stands out as a true 10/10 masterpiece but every track has its own thing going for it. Probably my least favorite Joey record but there are some signs of artistic growth with this one Album Rating: 8.8/10 Смотреть полностью
In honor of 4/7, here are 9 of my favorite STEEZ verses/freestyles. ————————————————————————— These aren't necessarily his best songs or best verses. For me, it's almost impossible to choose. It's crazy how much great music STEEZ put out in only a couple years of rapping. To this day I still can't believe he's not with. He was one of the most gifted rappers of all time and a brilliant mind gone way too soon at the hands of himself. Nevertheless, I appreciate the message he pushed 24/7 while he was alive. And there's only a handful of people in this world who have impacted as much as Capital STEEZ. In Honor of the Pro STEEZ, We PROceed #47tilinfinity Смотреть полностью
Blonde, by Frank Ocean Tracklist Ranking ———————————————————————— 14. Solo (Reprise) (10/10) 13. Close To You (10/10) 12. Futura Free (10/10) 11. Godspeed (10/10) 10. Skyline To (10/10) 9. Pretty Sweet (10/10) 8. Ivy (10/10) 7. Solo (10/10) 6. White Ferrari (10/10) 5. Self Control (10/10) 4. Nikes (10/10) 3. Pink + White (10/10) 2. Nights (10/10) 1. Siegfried (10/10) ———————————————————————— What y'all think about the ranking? What are your favorite off the album? Смотреть полностью
The Best Album of the Decade ———————————————————— To Pimp A Butterfly, by Kendrick Lamar I'm sure everyone saw this coming but i'd like to know your thoughts on my list as a whole and what your top 5 hip hop albums of the decade would be. Смотреть полностью
Top 50 Albums of The Decade (5-2) ———————————————————————— 5. Run The Jewels 2, by Run The Jewels 4. Atrocity Exhibition, by Danny Brown 3. Some Rap Songs, by Earl Sweatshirt 2. Undun, by The Roots Смотреть полностью
The Top 50 Albums of The Decade (14-6) ——————————————————————— 14. BetterOffDEAD, by Flatbush Zombies 13. Amerikkkan Korruption, by Capital STEEZ 12. B4.DA.$$, by Joey Badass 11. 1999, by Joey Badass 10. Self Titled, by Kids See Ghosts 9. Good Kid, M.a.a.d City, by Kendrick Lamar 8. Piñata, by Freddie Gibbs & Madlib 7. I Don't Like Shit, I Don't Go Outside, by Earl Sweatshirt 6. Flower Boy, by Tyler, The Creator Смотреть полностью
The Top 50 Albums of The Decade (23-15) ———————————————————————— 23. Cancer 4 Cure, by El-P 22. Barter 6, by Young Thug 21. Evermore: The Art of Duality, by The Underachievers 20. K.R.I.T. Wuz Here, by Big K.R.I.T. 19. How I Got Over, by The Roots 18. 4eva Is A Mighty Long Time, by Big K.R.I.T. 17. We Got It From Here...Thank You 4 Your Service, by A Tribe Called Quest 16. SATURATION III, by BROCKHAMPTON 15. SATURATION, by BROCKHAMPTON Смотреть полностью
The Top 50 Albums of The Decade (32-24) ———————————————————————— 32. Brick Body Kids Still Daydream, by Open Mike Eagle 31. All Amerikkkan Bada$$, by Joey Bada$$ 30. Daytona, by Pusha T 29. SATURATION II, by BROCKHAMPTON 28. PEEP: The aPROcalypse, by Pro Era 27. My Beautiful Dark Twisted Fantasy, by Kanye West 26. Rodeo, by Travis Scott 25. Return of 4eva, by Big K.R.I.T. 24. Mista Thug Isolation, by Lil Ugly Mane Смотреть полностью
The Top 50 Albums of The Decade (41-33) ———————————————————————— 41. Oneirology, by CunninLynguists 40. Veteran, by JPEGMAFIA 39. XXX, by Danny Brown 38. 4eva N A Day, by Big K.R.I.T. 37. Dark Comedy, by Open Mike Eagle 36. The Water[s], by Mick Jenkins 35. Honor Killed The Samurai, by Ka 34. May God Bless Your Hustle, by MIKE 33. Hitler Wears Hermès 2, by Westside Gunn Смотреть полностью
The Top 50 Albums of The Decade (50-42) ——————————————————————— 50. Imperial, by Denzel Curry 49. Floss, by Injury Reserve 48. Every Hero Needs A Villain, by CZARFACE 47. 4:44, by Jay-Z 46. Run The Jewels 3, by Run The Jewels 45. Control System, by Ab-Soul 44. Cilvia Demo, by Isaiah Rashad 43. Faces, by Mac Miller 42. Wolf, by Tyler, The Creator Смотреть полностью
B4.DA.$$ By: Joey Bada$$ Released: January 20, 2015 Genre: East Coast Hip Hop/Boom Bap/Hardcore Hip Hop Notable Features: Dyemond Lewis, Raury, Maverick Sabre, BJ The Chicago Kid, Chronixx ——————————————————————— Coming off his breakout mixtape, 1999, people were worried Joey would just be stuck in the past with that old school New York Hip Hop sound. Joey was tasked with bringing on a more mature, modern sound with his debut album. Joey did not disappoint. B4DA$$ has everything you can want from a NY album. Its got hard hitting grimy bangers that NY is known for like Christ Conscious, No. 99, and Big Dusty to more laid back tunes like Like Me, Piece of Mind, and On & On. On top of that, Joey brings lyrical abilities that almost no one in this rap game can touch. B4DA$$ is New York Hip Hop at its finest and one of the best projects of the decade. Save The Children: 8.5/10 Greenbax (interlude): - Paper Trail$: 10/10 Piece of Mind: 8.5/10 Big Dusty: 10/10 Hazeus View: 9.5/10 Like Me: 9.5/10 Belly of the Beast: 7.5/10 No. 99: 9.5/10 Christ Conscious: 10/10 On & On: 9.5/10 Escape 120: 6.5/10 Black Beetles: 8.5/10 O.C.B.: 8/10 Curry Chicken: 8.5/10 ——————————————————————— ALBUM RATING: 9.3/10 Смотреть полностью
The Top 26 Hip Hop & R&B Albums of 2018 ———————————————————— 26. Whack World, by Tierra Whack (8.0/10) 25. Hell or High Water, by City Morgue (8.0/10) 24. FM!, by Vince Staples (8.0/10) 23 Tana Talk 3, by Benny The Butcher (8.0/10) 22. Drogas Wave, by Lupe Fiasco (8.1/10) 21. Oxnard, by Anderson .Paak (8.2/10) 20. Room 25, by Noname (8.2/10) 19. Care For Me, by Saba (8.3/10) 18. Dirty Computer, by Janelle Monae (8.3/10) 17. Die Lit, by Playboi Carti (8.3/10) 16. Streams of Thought Vol. 1, by Black Thought & 9th Wonder (8.4/10) 15. Orpheus vs. The Sirens, by Hermit and the Recluse (8.4/10) 14. TA1300, by Denzel Curry (8.4/10) 13. Everything's Fine, by Quelle Chris & Jean Grae (8.4/10) 12. Jericho Jackson, by Elzhi & Khrysis (8.5/10) 11. Supreme Blientele, by Westside Gunn (8.5/10) 10. Paraffin, by Armand Hammer (8.5/10){NOT PICTURED}[I FORGOT THIS ALBUM 9. Veteran, by JPEGMAFIA (8.5/10) 8. Avantdale Bowling Club, by Avantdale Bowling Club (8.6/10) 7. Weather or Not, by Evidence (8.6/10) 6. Iridescence, by BROCKHAMPTON (8.7/10) 5. Isolation, by Kali Uchis (9.0/10) 4. Daytona, by Pusha T (9.1/10) 3. Negro Swan, by Blood Orange (9.2/10) 2. Kids See Ghosts, by Kids See Ghosts (9.4/10) 1. Some Rap Songs, by Earl Sweatshirt (9.8/10) ——————————————————— Honorable Mentions: Soil (serpentwithfeet), Fever (Black Milk), Lost & Found (Jorja Smith), God Level (03 Greedo), New Yuck City (Dirty Sanchez) ——————————————————— What's your AOTY? Смотреть полностью
My Top 25 Favorite Songs of 2018: ————————————————————— 25. The Games We Play, by Pusha T 24. Simple Things, by Nas 23. Infinity (888), by XXXTentacion (ft. Joey Bada$$) 22. Peanut, by Earl Sweatshirt 21. 4th Dimension, by Kids See Ghosts 20. U&I, by Flatbush Zombies 19. Moon River, by Frank Ocean 18. Champagne, by Dirty Sanchez (ft. Rokamouth, JAB, & Dessy Hinds) 17. Stop Trying To Be God, by Travis Scott (ft. James Blake) 16. King to a God, by Pro Era (Joey Bad$$ & Dessy Hinds) 15. Foreign, by Playboi Carti 14. Don't Get Chipped, by Vince Staples (ft. Jay Rock) 13. Body Language, by Kali Uchis 12. Reborn, by Kids See Ghosts 11. Cudi Montage, by Kids See Ghosts 10. Tints, by Anderson .Paak (ft. Kendrick Lamar) 9. I Am, by Jorja Smith 8. Nowhere2go, by Earl Sweatshirt 7. Saint, by Blood Orange 6. Headstone, by Flatbush Zombies 5. Shattered Dreams, by Earl Sweatshirt 4. Weight, by BROCKHAMPTON 3. VENGEANCE, by Denzel Curry (ft. JPEGMAFIA & Zillakami) 2. J'OUVERT, by BROCKHAMPTON 1. Ghost Town, by Kanye West (ft. Kid Cudi & 070 Shake) HM: Lamborghini Getaway (City Morgue), Violent Crimes (Kanye West), High (Young Thug) ——————————————————— This is 100% subjective. These aren't necessarily the best songs of 2018 Смотреть полностью
What's y'all giving 'Some Rap Songs' so far /10?
zachhh ㄣ⃒
My own thoughts and opinions feel free to DM me bout anything💕 elevated👁 ×+ imp +× ㄣ⃒ ㄣ⃒ ㄣ⃒ DM For Promo kodak is underrated as fuck


The Merlot grapes come from our Monte Colombo and La Serra vineyards which were intended to use in a blended cuvee with our Barbera.
When aged on its own it surprised us with its rewarding and pleasent character, so we decided to keep it apart, "da Solo".
In the Commune of Cassine (Alessandria province). Altitude: 200 mt a.s.l., south facing exposure.
A traditional vinification and maceration with regular pumpings over. Maceration lasts about 14 days followed by malolactic fermentation in the tank.
Ideal with any pasta dish, surprising with rabbit and lamb.


text:
---
title: 'Production on Azure'
weight: 400
---

# Production Configuration and Administration of Azure Functions

## Renew Azure DevOps Personal Access Token (PAT)

Azure DevOps Personal Access Token (PAT) expires and is up to the administrator to renew or replace them.
Aggregator stores the PAT in the Azure Function configuration, allowing the rules to access Azure DevOps. You should refresh the PAT before expires or save a new PAT in Aggregator configuration using the `configure.instance` command.

![PAT token saved in Azure Function configuration](PAT-token-in-Function-configuration.png)

## Control Azure performance and costs

You can specify the size for the Virtual machine running the rules using the `hostingPlanSku` and `hostingPlanTier` options. The defaults are **Y1**/**Dynamic**, known as [Consumption plan](https://docs.microsoft.com/en-us/azure/azure-functions/functions-scale#consumption-plan). You can select a [Premium plan](https://docs.microsoft.com/en-us/azure/azure-functions/functions-scale#premium-plan) instead, like **Premium**/**P2V2** for example.

## Azure Production monitoring

[Disable built-in logging](https://docs.microsoft.com/en-us/azure/azure-functions/functions-monitoring#disable-built-in-logging) and use Application Insights.
Build-in log streaming is useful only for developers as it may skip or duplicate messages as in this picture.
![Duplicated log streaming message](basic-log-streaming.png)

## Azure Troubleshooting

For limited testing you can use the stream command: it connects for 30 minutes to the Azure Application and prints the logging messages.
```Batchfile
stream.logs --instance my7 --resourceGroup test-aggregator7 --verbose
```
You can stop the program using `Ctrl+C` keystroke or closing the command window.

The traces generated by the Aggregator Rule Engine are sent to the Application Insight instance that was created aside the Azure Function.
More information on Application Insights can be found in [Azure documentation](https://docs.microsoft.com/en-us/azure/azure-monitor/app/app-insights-overview).


text:
International Cricket News
Dhoni and Rayudu power Chennai to fifth win
Saurabh Ganguly
Man of the match Captain MS Dhoni's finish (70*) and Ambati Rayudu's (82) brave effort at the top when wickets kept tumbling on the other end ensured that Chennai Super Kings beat the Royal Challengers Bangalore by 5 wickets in the 24th match of the 11th edition of IPL. This was Chennai's fifth win in 6 matches and fourth defeat for RCB in as many games.
On Wednesday at the M. Chinnaswami stadium in Bengaluru, Quinton de Kock (53) and AB de Villiers (68) helped the RCB reach a challenging total of 205 runs for the loss of 8 wickets in 20 overs. The duo stitched a partnership of 103 runs in the process. For Chennai, fast bowler Shardul Thakur, Dwayne Bravo and leg spinner Imran Tahir picked up 2 wickets each.
In response, Chennai got to the target with 2 balls to spare, with Dhoni finishing it off in familiar style. Dhoni's innings was studded with 1 four and 7 sixes. MS along with Ambati Rayudu stitched together a 101 runs for the 5th wicket and played a significant role in Chennai's win. Chennai are back at the top of the points table, while RCB are struggling at 6th place.
Mahendra Singh Dhoni,	Ambati Rayudu,	IPL,	Chennai Super Kings,	Royal Challengers Bangalore,