text:
Q: a simple way for textview justification in android studio I saw this library :
https://github.com/bluejamesbond/TextJustify-Android
but it's so complicated and don't know how to use it. I have a TextView that fill it programmatically from database in java. how can I use a simple library to justify it?!
UPDATE
I found this class in Github and it's perfect but I don't remember the link...!
public class JustifiedTextView extends View {

private Context mContext;

private XmlToClassAttribHandler mXmlParser;

private TextPaint textPaint;

private int lineSpace = 0;

private int lineHeight;

private int textAreaWidth;

private int measuredViewHeight, measuredViewWidth;

private String text;

private List<String> lineList = new ArrayList<String>();

/**
 * when we want to draw text after view created to avoid loop in drawing we use this boolean
 */
boolean hasTextBeenDrown = false;

public JustifiedTextView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    constructor(context, attrs);
}

public JustifiedTextView(Context context, AttributeSet attrs) {
    super(context, attrs);
    constructor(context, attrs);
}

public JustifiedTextView(Context context) {
    super(context);
    constructor(context, null);

}

private void constructor(Context context, AttributeSet attrs) {

    mContext = context;
    mXmlParser = new XmlToClassAttribHandler(mContext, attrs);
    initTextPaint();

    if (attrs != null) {
        String text;
        int textColor;
        int textSize;
        int textSizeUnit;

        text = mXmlParser.getTextValue();
        textColor = mXmlParser.getColorValue();
        textSize = mXmlParser.getTextSize();
        textSizeUnit = mXmlParser.gettextSizeUnit();

        setText(text);
        setTextColor(textColor);
        if (textSizeUnit == -1)
            setTextSize(textSize);
        else
            setTextSize(textSizeUnit, textSize);

    }

    ViewTreeObserver observer = getViewTreeObserver();

    observer.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {

        @Override
        public void onGlobalLayout() {

            if (hasTextBeenDrown)
                return;
            hasTextBeenDrown = true;
            setTextAreaWidth(getWidth() - (getPaddingLeft() + getPaddingRight()));
            calculate();

        }

    });

}

private void calculate() {
    setLineHeight(getTextPaint());
    lineList.clear();
    lineList = divideOriginalTextToStringLineList(getText());
    setMeasuredDimentions(lineList.size(), getLineHeight(), getLineSpace());
    measure(getMeasuredViewWidth(), getMeasuredViewHeight());
}

private void initTextPaint() {
    textPaint = new TextPaint(TextPaint.ANTI_ALIAS_FLAG);
    textPaint.setTextAlign( Paint.Align.RIGHT);
}

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    if (getMeasuredViewWidth() > 0) {
        requestLayout();
        setMeasuredDimension(getMeasuredViewWidth(), getMeasuredViewHeight());
    } else {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    }
    invalidate();
}

private int rowIndex = 0, colIndex = 0;

@Override
protected void onDraw(Canvas canvas) {

    rowIndex = getPaddingTop();
    if (getAlignment() == Paint.Align.RIGHT)
        colIndex = getPaddingLeft() + getTextAreaWidth();
    else
        colIndex = getPaddingLeft();

    for (int i = 0; i < lineList.size(); i++) {
        rowIndex += getLineHeight() + getLineSpace();

        canvas.drawText(lineList.get(i), colIndex, rowIndex, getTextPaint());
    }

}

/**
 * this method get the string and divide it to a list of StringLines according to textAreaWidth
 *
 * @param originalText
 * @return
 */
private List<String> divideOriginalTextToStringLineList(String originalText) {

    List<String> listStringLine = new ArrayList<String>();

    String line = "";
    float textWidth;

    String[] listParageraphes = originalText.split("\n");

    for (int j = 0; j < listParageraphes.length; j++) {
        String[] arrayWords = listParageraphes[j].split(" ");

        for (int i = 0; i < arrayWords.length; i++) {

            line += arrayWords[i] + " ";
            textWidth = getTextPaint().measureText(line);

            //if text width is equal to textAreaWidth then just add it to ListStringLine
            if (getTextAreaWidth() == textWidth) {

                listStringLine.add(line);
                line = "";//make line clear
                continue;
            }
            //else if text width excite textAreaWidth then remove last word and justify the StringLine
            else if (getTextAreaWidth() < textWidth) {

                int lastWordCount = arrayWords[i].length();

                //remove last word that cause line width to excite textAreaWidth
                line = line.substring(0, line.length() - lastWordCount - 1);

                // if line is empty then should be skipped
                if (line.trim().length() == 0)
                    continue;

                //and then we need to justify line
                line = justifyTextLine(textPaint, line.trim(), getTextAreaWidth());

                listStringLine.add(line);
                line = "";
                i--;
                continue;
            }

            //if we are now at last line of paragraph then just add it
            if (i == arrayWords.length - 1) {
                listStringLine.add(line);
                line = "";
            }
        }
    }

    return listStringLine;

}

/**
 * this method add space in line until line width become equal to textAreaWidth
 *
 * @param lineString
 * @param lineWidth
 * @param textAreaWidth
 * @return
 */
private String justifyTextLine(TextPaint textPaint, String lineString, int textAreaWidth) {

    int gapIndex = 0;

    float lineWidth = textPaint.measureText(lineString);

    while (lineWidth < textAreaWidth && lineWidth > 0) {

        gapIndex = lineString.indexOf(" ", gapIndex + 2);
        if (gapIndex == -1) {
            gapIndex = 0;
            gapIndex = lineString.indexOf(" ", gapIndex + 1);
            if (gapIndex == -1)
                return lineString;
        }

        lineString = lineString.substring(0, gapIndex) + "  " + lineString.substring(gapIndex + 1, lineString.length());

        lineWidth = textPaint.measureText(lineString);
    }
    return lineString;
}

/**
 * this method calculate height for a line of text according to defined TextPaint
 *
 * @param textPaint
 */
private void setLineHeight(TextPaint textPaint) {

    Rect bounds = new Rect();
    String sampleStr = "این حسین کیست که عالم همه دیوانه اوست";
    textPaint.getTextBounds(sampleStr, 0, sampleStr.length(), bounds);

    setLineHeight(bounds.height());

}

/**
 * this method calculate  view's height   according to line count and line height and view's width
 *
 * @param lineListSize
 * @param lineHeigth
 * @param lineSpace
 */
public void setMeasuredDimentions(int lineListSize, int lineHeigth, int lineSpace) {
    int mHeight = lineListSize * (lineHeigth + lineSpace) + lineSpace;

    mHeight += getPaddingRight() + getPaddingLeft();

    setMeasuredViewHeight(mHeight);

    setMeasuredViewWidth(getWidth());
}

private int getTextAreaWidth() {
    return textAreaWidth;
}

private void setTextAreaWidth(int textAreaWidth) {
    this.textAreaWidth = textAreaWidth;
}

private int getLineHeight() {
    return lineHeight;
}

private int getMeasuredViewHeight() {
    return measuredViewHeight;
}

private void setMeasuredViewHeight(int measuredViewHeight) {
    this.measuredViewHeight = measuredViewHeight;
}

private int getMeasuredViewWidth() {
    return measuredViewWidth;
}

private void setMeasuredViewWidth(int measuredViewWidth) {
    this.measuredViewWidth = measuredViewWidth;
}

private void setLineHeight(int lineHeight) {
    this.lineHeight = lineHeight;
}

public String getText() {
    return text;
}

/**
 * Sets the string value of the JustifiedTextView. JustifiedTextView does not accept HTML-like formatting.
 * Related XML Attributes
 * -noghteh:text
 *
 * @param text
 */
public void setText(String text) {
    this.text = text;
    calculate();
    invalidate();
}

public void setText(int resid) {
    setText(mContext.getResources().getString(resid));
}

public Typeface getTypeFace() {
    return getTextPaint().getTypeface();
}

public void setTypeFace(Typeface typeFace) {
    getTextPaint().setTypeface(typeFace);
}

public float getTextSize() {
    return getTextPaint().getTextSize();
}

public void setTextSize(int unit, float textSize) {
    textSize = TypedValue.applyDimension(unit, textSize, mContext.getResources().getDisplayMetrics());
    setTextSize(textSize);
}

private void setTextSize(float textSize) {
    getTextPaint().setTextSize(textSize);
    calculate();
    invalidate();
}

public TextPaint getTextPaint() {
    return textPaint;
}

public void setTextPaint(TextPaint textPaint) {
    this.textPaint = textPaint;
}

/**
 * set text color
 *
 * @param textColor
 */
public void setTextColor(int textColor) {
    getTextPaint().setColor(textColor);
    invalidate();
}

/**
 * define space between lines
 *
 * @param lineSpace
 */
public void setLineSpacing(int lineSpace) {
    this.lineSpace = lineSpace;
    invalidate();
}

/**
 * @return text color
 */
public int getTextColor() {
    return getTextPaint().getColor();
}

/**
 * space between lines - default is 0
 *
 * @return
 */
public int getLineSpace() {
    return lineSpace;
}

/**
 * get text alignment
 *
 * @return
 */
public Paint.Align getAlignment() {
    return getTextPaint().getTextAlign();
}

/**
 * Align text according to your language
 *
 * @param align
 */
public void setAlignment(Paint.Align align) {
    getTextPaint().setTextAlign(align);
    invalidate();
}}

And this class :
public class XmlToClassAttribHandler {
private Resources mRes;
private Context mContext;
private AttributeSet mAttributeSet;

private String namespace="http://noghteh.ir";
private final String KEY_TEXT="text";
private final String KEY_TEXT_SIZE="textSize";
private final String KEY_TEXT_COLOR="textColor";

public XmlToClassAttribHandler(Context context,AttributeSet attributeSet){
    mContext=context;
    mRes=mContext.getResources();
    mAttributeSet=attributeSet;

}

public String getTextValue(){

    String value=mAttributeSet.getAttributeValue(namespace, KEY_TEXT);

    if (value==null)
        return "";

    if (value.length()>1 &&
            value.charAt(0)=='@' &&
            value.contains("@string/")){
        int resId=mRes.getIdentifier(mContext.getPackageName()+":"+value.substring(1), null,null);
        value=mRes.getString(resId);
    }

    return value;

}

public int getColorValue(){

    String value=mAttributeSet.getAttributeValue(namespace, KEY_TEXT_COLOR);

    int color= Color.BLACK;

    if (value==null)
        return color;

    if (value.length()>1 &&
            value.charAt(0)=='@' &&
            value.contains("@color/")){
        int resId=mRes.getIdentifier(mContext.getPackageName()+":"+value.substring(1), null,null);
        color=mRes.getColor(resId);

        return color;
    }

    try{
        color=Color.parseColor(value);
    }
    catch(Exception e){
        return Color.BLACK;
    }

    return color;
}

public int getTextSize() {
    int textSize=12;

    String value=mAttributeSet.getAttributeValue(namespace, KEY_TEXT_SIZE );

    if (value==null)
        return textSize;

    if (value.length()>1 &&
            value.charAt(0)=='@' &&
            value.contains("@dimen/")){
        int resId=mRes.getIdentifier(mContext.getPackageName()+":"+value.substring(1), null,null);
        textSize=mRes.getDimensionPixelSize(resId);

        return textSize;
    }

    try{
        textSize=Integer.parseInt(value.substring(0, value.length()-2));
    }
    catch(Exception e){
        return 12;
    }

    return textSize;
}

public int gettextSizeUnit() {

    String value=mAttributeSet.getAttributeValue(namespace, KEY_TEXT_SIZE );

    if (value==null)
        return TypedValue.COMPLEX_UNIT_SP;

    try{
        String type=value.substring(value.length()-2, value.length());

        if (type.equals("dp"))
            return TypedValue.COMPLEX_UNIT_DIP;
        else if (type.equals("sp"))
            return TypedValue.COMPLEX_UNIT_SP;
        else if (type.equals("pt"))
            return TypedValue.COMPLEX_UNIT_PT;
        else if (type.equals("mm"))
            return TypedValue.COMPLEX_UNIT_MM;
        else if (type.equals("in"))
            return TypedValue.COMPLEX_UNIT_IN;
        else if (type.equals("px"))
            return TypedValue.COMPLEX_UNIT_PX;
    }
    catch(Exception e){
        return -1;
    }

    return -1;
}}

and then define a JustifiedTextView instead of simple TextView in your XML file...!!

A: Follow the instructions in the readme.

*

*Add to your build.gradle
dependencies {
    compile 'com.github.bluejamesbond:textjustify-android:2.1.1'
 }

*Then you define a DocumentView instead of a TextView:
<com.bluejamesbond.text.DocumentView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"/>
You could also use https://github.com/merterhk/JustifiedTextView which is just a single class to avoid having to incorporate a new library.


text:
Q: Grabbing just the subfolder and filename from current page I couldn't find another questions with the exact specs I'm needing here. So I'm posting this.
I need to use php to grab the url of the current page.
http//example.com/mysubfolder/filename.php
I need it to print out:
mysubfolder/filename
And if the filename.php has a get formula ?action=move or ?id=798 I would simply need to strip those portions off. The farthest I've seen in manuals will help to subtract only a specific portion of the .?action=doesntchangeathing
Most of what I have seen includes just the filename or a complete list of subfolders, not just one and would be using an absolute path rather than the url.
Anyone have any ideas?

A: You can use $_SERVER['PHP_SELF'] and cut filename extension and leading slash, so resulted expression may look something like this:
$path = implode('/', [trim(dirname($_SERVER['PHP_SELF']), '/'), pathinfo($_SERVER['PHP_SELF'], PATHINFO_FILENAME)]);

redpajama_set_name: RedPajamaStackExchange


text:
How to Recharge RV Refrigerator Cooling Units
••• rv,rving image by Greg Pickens from Fotolia.com
Explore America's Campgrounds
Suburban RV Furnace Service Information
Specifications for an Engine Tune-Up of a Mercruiser Marine Engine 470
By Karen Waggoner
Items you will need
RV refrigerator
As in any kitchen, the refrigerator in a recreational vehicle is not only useful but essential. When the refrigerator fails to cool, most commonly because of a leak of the ammonia-based coolant mixture, it must be repaired or replaced. The problem likely occurs when the refrigerator has not been used for a period of time and rust has formed in the cooling coils. Owners are encouraged never to attempt to recharge the unit because the coolant mixture is highly flammable and possibly explosive.
Allow the refrigerator to operate for 12 to 24 hours before deciding that it requires repair. It should attain a good operating temperature near freezing in that length of time. These units are always slow to cool even in good working condition.
Sniff the interior of the refrigerator for the odor of ammonia. The most common problem causing poor performance is leakage of the liquid coolant from one or more corroded or rusted spots in the coils. The coolant consists of a precise mixture of ammonia gas, hydrogen gas, water and rust inhibitor.
Drive the recreational vehicle to the showroom of the dealer who sells the same or similar models. Inquire about repair and rebuilding service — who will perform the service, what it consists of and how much it will cost. Because RV dealers generally do not perform repair or rebuilding, inquire about how long the refrigerator will be out of service.
Choose to have the cooling unit rebuilt. The process will include sandblasting the coils, replacing corroded lines, repairing leaks and weak spots, addition of rust inhibitors, recharging, testing and re-insulating. Most rebuilt units will be accompanied with a warranty from the service provider. Rebuilding is more expensive than repair but will last longer.
Choose to have the unit repaired instead of rebuilt. The service will involve repairing the leak and recharging the unit with liquid coolants. Generally this service is not guaranteed, and the unit may fail again at any time.
RV News Daily: Has Your Refrigerator Lost Its Cool?
Gas Refrigeration: Why They Fail
GMC East: RV Refrigerator
Karen W. Waggoner is a retired teacher and lifetime scribbler. She has published short stories, essays in anthologies and periodicals. Waggoner is the author of the memoir, "On My Honor, A Navy Wife's Vietnam War." She is a graduate of Stetson University, the University of Connecticut and Christian College for Women.
Copyright © Leaf Group Ltd
Leaf Group Lifestyle, all rights reserved

redpajama_set_name: RedPajamaCommonCrawl


text:
Jeep Elite: Roca Team lost to Metropolitans 71-80
AS Monaco lost 0-1 to Saint-Etienne and was eliminated from the Coupe de France
Home/News/Interviews/Terre de Monaco: Rooftop veggie gardens? Easy!
InterviewsMade in Monaco
Terre de Monaco: Rooftop veggie gardens? Easy!
2 November , 2017
Jessica Sbaraglia with Prince Albert II. @ www.rfj.ch
For Jessica Sbaraglia, founder of «Terre de Monaco», nothing is impossible! This motivated young athlete joins a long list of entrepreneurial Monegasque women. She wanted to create something that Monaco hasn't seen for centuries—urban agriculture. And with the help of local businesses and a crowd-funding campaign, and the blessing of Prince Albert II, Jessica inaugurated her organic enterprise in 2016. Since then, it has blossomed into productive «micro farms», bringing Monegasque-grown food to the market!
"Terre de Monaco" multiple gardens are already showing amazing results for 2017: 3,971 kg of completely organic fruits and vegetables, grown on rooftops, balconies and small private gardens across the principality. Hard to believe? Well, a simple glance at her Instagram feed will make you a believer! Jessica is, after all, a businesswoman. She makes sure to post every collection from her gardens, turning the virtual term «feed» into a reality.
«Terre de Monaco» brings a «terra-a-terre» solution, allowing not only businesses to produce eco-agricultural produce, but also for individuals to grow gorgeous produce on a small terrace. Terre de Monaco offers 3 types of cultivation: container gardens with custom organic soil; hydroponic gardens, where the plants are grown in fortified water channels; and aeroponics, where the roots of the plant are placed in an air stream and fed by foggers. These innovative methods are truly 100% bio, as all the materials that are being used for the cultivation are from sustainable sources and support sustainable development of Monaco. Jessica has thought of everything, including the wood for the containers, which comes from sustainable, managed forests, and all the products are delivered by electric vehicle.
HelloMonaco interviewed Monaco's «Veggie Godmother» during the height of the summer harvest. Jessica shared her ideas for future business development, explained problems that she had to face in the very beginning and added some personal inspirations that influenced her choice of business track.
HM: How did you arrive at to the idea of starting an agricultural business?
Jessica Sbaraglia: I've worked for 3 years on the development of «Terre de Monaco», accumulating ideas and establishing the concept of my future business. First of all, I was doing it to set myself up in the gardening market and then to build a viable structure. The idea of creating an agricultural business had several triggers. I'm originally from Switzerland, where my parents had a vegetable garden of 500 square meters working on which was their hobby. This gave me a real understanding of what natural produce is, and what kind of taste it should have. When I came to Monaco 8 years ago to start my own business, I needed to close after 2 years. This was when I started asking myself: What do I do? What is my mission? What are my values? And I naturally returned to the ground to heal myself after the frustration. «Terre de Monaco» was born as a deep reflection of myself and, what's more important – my soul.
HM: Do you have specialized education?
JS: Yes, I've been studying on farms in France, especially on the Bec-Hellouin Farm, which specializes in permaculture (a farming technique using good sense, working with the land and respecting the environment).
HM: What were you doing before starting «Terre de Monaco»?
JS: I graduated from business school in Switzerland and was devoted to different kinds of activities: I was playing tennis and became the 3rd Swiss Junior Tennis player, also have tried modelling. Later I worked in sales of luxury watches, boats, cars and as a PR ambassador for the Formula E.
HM: Why did you move to Monaco?
JS: It happened 8 years ago when I came to open a design centre that included several projects, most importantly, yachting.
HM: Did you receive any support from HSH Albert II, Prince of Monaco?
JS: I am so happy to receive the support from HSH Albert II, Prince of Monaco!! It's amazing that he supports eco-oriented projects, and «Terre de Monaco» is part of that. I think It is vital for our future to make a difference and create something new!
HM: What challenges have you encountered in your business?
JS: It has been 200 years that agriculture in Monaco no longer exists. In addition, the city is 80% concrete. This already constitutes some difficulties and that's why it requires a lot of work. However, we have an innovative, ecological, non-mechanized agriculture adapted to small areas. All these things give a great taste and nutritious quality to our products!
HM: Do you have problems related to humidity, insects, and if so, how do you combat it?
JS: Our products are produced respecting organic values, so no treatments, pesticides, or insecticides are used. We must accept the fact that we have to eat or destroy 10 to 15% of our production, as it is the law of equilibrium.
HM: Do you plan to expand your business to neighbouring regions?
JS: The project was developed for Monaco and its neighbouring areas. We become farmers if the land exceeds 300m2. If not, we propose the development of vegetable gardens in the ground, or in our tailor-made containers. Since we also produce our organic seedlings, we can offer year-round planting crops following with our advice and maintenance.
Facebook Twitter LinkedIn Share via Email Print
Monaco's own Space Program Aims Skywards with High Tech NanoSatellites
Prince Albert on his mother, Princess Grace, and his environmental efforts
CityMapper – A Smart Way to Travel Around Monaco!
Made in Monaco: Sabrina Monte-Carlo
Pro Club: Fem Galore — the long-awaited women's club in Monaco with a unique atmosphere
Back-to-School 2019-2020 Press Conference: Monaco Educational System Transition is under innovation
7 September , 2019
Interview with Jean-René Palacio, SBM Artistic Director
Russia Loves Monaco
Louis Ducruet: the true love and professional ambition of Prince Albert's nephew
Made in Monaco: Banana Moon or how to swim in Monaco
Princely reflections on current events and developments in Monaco
First Boy George Exhibition
November 15, 2019 @ 1:00 pm - February 1, 2020 @ 6:00 pm
Open-Air Skating Rink
December 6, 2019 - March 1, 2020
December 21, 2019 - March 15, 2020
Latest news, exclusive offers- all you need to know about Monaco!


text:
import {Injector, ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR} from '@angular/core';

export class NgAdapterInjector implements Injector {
  constructor(private modInjector: Injector) {}

  // When Angular locate a service in the component injector tree, the not found value is set to
  // `NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR`. In such a case we should not walk up to the module
  // injector.
  // AngularJS only supports a single tree and should always check the module injector.
  get(token: any, notFoundValue?: any): any {
    if (notFoundValue === NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR) {
      return notFoundValue;
    }

    return this.modInjector.get(token, notFoundValue);
  }
}

redpajama_set_name: RedPajamaGithub


text:
Updated 9/22/2018 10:26 PM
Baez powers Chicago Cubs to a fast start toward win
Chicago Cubs' Javier Baez hits a two-run home run against the Chicago White Sox during the first inning of a baseball game Saturday, Sept. 22, 2018, in Chicago.
Bruce Miles
Follow @BruceMiles2112
Javier Baez made only his 43rd start of the season at shortstop for the Chicago Cubs on Saturday night.
That didn't stop manager Joe Maddon from heaping high praise on Baez as a shortstop.
"We're kind of lucky," Maddon said before the Cubs defeated the White Sox 8-3 at Guaranteed Rate Field.
Coupled with Milwaukee's loss at Pittsburgh, the Cubs (90-64) increased their lead in the National League Central to 2½ games over the Brewers and reduced their magic number to clinch the division to 6.
"We're kind of lucky Javy's able to do that as well as he does," Maddon said. "He's had a lot of play out there already this year. I feel very comfortable about it."
Baez likely will finish out the season as the team's starter at short, with Addison Russell on administrative leave as Major League Baseball conducts an investigation into allegations of domestic violence against Russell.
Baez made his presence felt early Saturday when he lined a 2-run homer over the left-field wall in the first inning against Lucas Giolito. It was Baez's 34th homer of the year, and it gave him 109 RBI for the season. He drove in a run in the ninth inning with a single to make it 110 RBI.
Even though Baez was drafted as a shortstop by the Cubs in 2011, he has played mostly second base and some third with Russell the mainstay at short.
But Baez looks like a natural at short, and he may be one of the best in the business there.
"He fits," Maddon said. "Look at our league. (The Dodgers' Corey) Seager's out this year (with injury), he's been out the whole season. A lot of good shortstops, really good in San Francisco (Brandon Crawford).
"But for the most part, think about it. He might be the best overall shortstop in the league right now if you wanted to grade it all out with his offense and defense, baserunning, etc."
Baez said he was heartened to hear of Maddon's praise.
"Feels great," he said. "Obviously, it gives me confidence, more than what I have. I think they believe in me. Obviously I will do everything for the team to get them to the next step."
Baez's home run staked starting pitcher Jon Lester to an early lead. Lester gave up an unearned run in the bottom of the first, thanks in part to a throwing error by Baez. The Sox tied the game at 2-2 in the third on a home run by Tim Anderson. It was a battle for Lester. He lasted 5 innings, throwing 102 pitches and giving up 8 hits.
"Little bit of a grind," said Lester, who is 17-6 with a 3.43 ERA. He has 60 wins in his Cubs career. "A lot of foul balls, it seemed like. The weak contact I was able to get, it seemed like I wasn't able to get it at anybody.
"I tried to talk Joe into managing an American League game and letting me go back out there for the sixth, but it wasn't happening. The bullpen did a great job picking me up for the rest of the game."
Hawk Harrelson pays a visit to Chicago Cubs' Maddon
Addison Russell placed on leave; Cub denies ex-wife's domestic violence claims
Cubs insist fatigue not a factor in 10-4 rout by White Sox
Schwarber gets back in swing of things
How Cubs weathered odyssey of 30 games in 30-day stretch
Injuries aside, Chicago Cubs' bullpen just keeps doing its job
Cubs Newsletter
Get articles sent to your inbox.
Click here to sign up for the Cubs Newsletter


text:
BioM: Holt, Barbara (1957)
Surnames: Holt, Henchen, Johnson, Schlinkert, Zager, Thompson, Holmes
----Source: Clark County Press (Neillsville, Clark Co., WI.) May 16, 1957
Holt, Barbara (Marriage - 11 May 1957)
Miss Barbara Holt, daughter of Mr. and Mrs. Albert Holt of 1101 Hewett Street Neillsville, became the bride of Louis A. Henchen of route 3, Neillsville, in a ceremony performed Saturday at 2:30 p.m. in the Methodist Church, Neillsville. The double ring ceremony was performed by the pastor, the Rev. Virgil L. Holmes, before 200 guests, relatives and friends of the bride and groom. The groom is a son of Mrs. Imogene D. Henchen of route 3, Neillsville.
The church decorations were baskets of pink and white snapdragons and stocks with daisy and ribbon pew markers.
The bride, who was given in marriage by her father, wore a gown of white satin and lace, fashioned with a short train. She wore an appliquéd tulle fingertip veil and carried a shower bouquet of red roses and stephanotis. The bride's gown was made by an aunt, Mrs. Alfred Holt of Marshfield.
The matron of honor was her sister, Mrs. Gerald A. Johnson. Bridesmaids were Miss Eileen E. Henchen, sister of the groom, and (missing words) dressed in blue, pink and yellow; respectively, in gowns identically styled. Each wore a matching pixie-type headdress.
Herbert Henchen served his cousin as best man. The groom's other attendants were Clarence Schlinkert and Gerald A. Johnson. Ushers were Robert A. Zager and Arthur Henchen, cousin of the groom.
Organ music was played by Mrs. T. N. Thompson. Mrs. Virgil L. Holmes sang, "O Promise Me" and "Because," accompanied by Mrs. Thompson.
A reception for 200 guests was held at the Masonic Temple. The reception room was decorated in colors of he wedding party, with bouquets of tulips and narcissi.
The bride was graduated from the Neillsville High School with the class of 1948 and has been employed in Stevens Point. The groom, who attended the Clark County public schools, Is employed by a Neillsville auto firm. Their wedding trip included visits to Wisconsin points of interest. They will reside on route 3, Neillsville.
Guests were present from Abbotsford, Colby, Marshfield, Milwaukee, Green Bay, Viroqua, Rice Lake, Cambria, Wisconsin Rapids, Greenwood, Granton, Loyal, Owen, Fond du Lac, Wausau, Oshkosh, Stevens Point, Antigo, Willard, Franksville, Adams, Sheboygan, Merrillan, Humbird, Baraboo, Black River Falls, hales Corners, Thorp and West Allis, all of Wisconsin; Detroit lakes, Minneapolis, New Brighton, Elk River and Princeton, all of Minn.; and Mendham, N. J.


UPVC entrance door with stained glass inserts and porch canopy. Radiator. Stairs rising to first floor landing. Door to lounge.
Double glazed window to front elevation. Radiator. television and telephone points. Wood effect laminate flooring. Door to kitchen/dining room.
Double glazed window to rear elevation. Radiator. Fitted with a range of wall mounted and base level units and drawers with roll top work surfaces. Inset sink and drainer unit with mixer tap over. Built in oven and hob with filter hood over. Space for white goods. Wall mounted gas fired boiler. Tiling to water sensitive areas/. UPVC double glazed door to rear elevation leading to the rear garden.
Double glazed window to rear elevation. Radiator. Wood effect laminate flooring.
Double glazed window to front elevation. Radiator. Built in overstairs wardrobe and hot water tank.
Double glazed window to front elevation. Radiator. Built in eaves storage cupboard.
Radiator. Fitted with a white three piece suite comprising low level WC, pedestal wash hand basin and panelled bath with electric shower over. Tiling to water sensitive areas. Extractor fan.
Open plan and mainly laid to shingle with paving at the entrance door. A driveway to the side provides off road parking for one vehicle, and in turn leads to the garage.
Up and over door. Pedestrian door to the rear garden.
There is a large paved patio seating area to the immediate rear of the property with a step to the garden beyond, which is laid to lawn with a planted border to the end. Enclosed by timber fencing.


text:
Europe's Barbarians (Longman Pearson, Harlow, 2009), 344pp. (Italian translation as I Barbari, by Società Editrice Il Mulino, Bologna, 2011)
Britain in the First Millennium (Edward Arnold, London, 2001), 320pp.
The Franks ('The Peoples of Europe' series: Blackwells, Oxford, 1988), 265pp. (Dutch translation, as De Franken, published by Ambo/Baarn, in 1990; Czech translation as Frankové, published by Nakladatelství, Lidové Noviny, 1997; Italian translation, as I Franchi. Agli Albori dell'Europa. Storia e Mito, published by Edizioni Culturali Internazionale Genova, Genoa 1998)
Gregory of Tours: Life of the Fathers (translation, introduction and commentary) (Translated Texts for Historians: University of Liverpool Press, 1985), 180pp (second revised edition published in 1991; second edition with new foreword, 30th Anniversary edition, 2015).
The Origins of France: from Clovis to the Capetians, AD 500-1000 (Macmillan, London, 1982), 253pp. Translation, as Les Origines de la France, published by Editions Errance, Paris, 1986, 271pp.
Ed. Visigothic Spain: New Approaches (Oxford University Press, 1980), 303pp.
The Merovingian Archaeology of South-West Gaul, 2 vols (British Archaeological Reports, Suppl. Series 25, Oxford, 1977), 529pp.
Our Ancient Heritage (Educational Company of Ireland, Dublin, 1977), 280pp.
Transl. (with Columba James): Lucien Musset, The Germanic Invasions: the Making of Europe AD 400-600 (Elek, London, 1975), xiii + 287pp.


Summary: A first solo outing for a long time co-author, Andrew Gross has crossed safely over into a realm all of his own. The Blue Zone is, as James Patterson says, tense and chilling and in my view, quite unputdownable!
America's Witness Protection programme has three stages of involvement, the Red Zone, the Green Zone and the Blue Zone. The FBI are in total control of the first two phases; we would call the final phase certain death. The FBI call it the Blue Zone.
Benjamin Raab's life is about to fall apart. As the FBI crash into his office and arrest him for racketeering, the world as Ben knows it suddenly evaporates as he is faced with the prospect of either spending the next 25 years in a Federal Penitentiary or taking his family into the Witness Protection Programme.
Only his eldest daughter Kate remains on the outside, her questions unanswered, her life altered beyond recognition and her heart aching for her family in hiding. It is only when a case agent is tortured to death and Kate's father vanishes, into what the FBI call "the Blue Zone", that her sadness turns to terror. It seems that Kate remains the only tie to her father and both the FBI and the men that Kate's family is being protected from are both keen to see what she knows.
Kate simply wants to find out if this man, her father, who walked through the door that fateful day is the same man she has known all her life. And because Ben can't give her an answer, she must find out for herself and try not to get killed in the process.
If you have read any of Andrew Gross's co-written works namely Judge and Jury and Lifeguard you will know that he was more than ready to leave the nest and go solo. Not that James Patterson in any way masked Gross's talent; quite the opposite as I believe Patterson has taught this little birdy how to fly. I was, however, delighted to learn that Andrew Gross had finally published a novel of his own and was only too keen to read it.
And he did not disappoint. Boy did he not disappoint! The Blue Zone is everything it promised to be, from the catchy, in-cover FBI manual's description of the Witness Protection Programme stages to the opening line in Part One. I was literally hooked and read pretty much constantly for three days (with only my day job interrupting me in between).
The twists in the plot are simply unimaginable. I love this genre of novel and like to think I can "see it coming". I can assure you with my hand on my heart and standing on a stack of bibles, this story changed direction three times and I had no idea or readers' precognition about any of it. In fact, when I tried to imagine the direction the story might next take, I got it wrong. Deliciously so! Being wrong has never felt so right!
In summary, The Blue Zone was a feast of the senses. I became utterly absorbed in the lives of the very multi-dimensional characters and became excited about the ending. It's been a while since that happened to me and I cannot stress enough my recommendation of this book to you.
Whilst I doubt that Andrew will get to read my humble ramblings, I would request that he set about writing his next novel with great haste!
The Blue Zone was sent to us by its publisher, Harper, for which we thank them very much.
For a similarly well written book you might like to read Sharp Objects by Gillian Flynn.
You can read more book reviews or buy The Blue Zone by Andrew Gross at Amazon.com.
This page was last modified on 9 May 2018, at 12:33.


When the cat food started smelling good, I knew I had a problem.
I'd always considered eating disorders to be extreme. Someone who never eats. Someone who weighs less than 100 pounds. Someone who gets hospitalized.
My behavior didn't fit the mental health definition of an eating disorder. I ignored it because I didn't know how to articulate it. It took me several years after the cat food smelled good to have the language to describe what was going on.
I had decided to become a vegetarian at 17. It started in earnest as a way to protest my dad hunting birds and bringing them home for my family to eat. First, I wrote off the meat he hunted. Then (enjoying the rebellion of it), I wrote off all meat.
It was circa 2001 and at that time books like "Fast Food Nation" were on the rise. I read up on the inhumane practices of the meat industry. I morally got behind my choice to be a vegetarian.
As a bit of time passed, I began to use my vegetarianism as a way to write off eating a healthy amount of food. "Oh, I can't eat that" or "I'll meet up after dinner" were frequent responses that came out of my mouth in my early 20s. Vegetarianism had become my excuse. It was a socially acceptable way to get out of eating.
Don't get me wrong—to this day I love animals and have met some vegetarians who are informed and balanced about their nutrition. That was not my case.
Having rice and vegetables for every meal, I thought I was eating like an enlightened monk. I did no research on what I needed to eat as a substitute for meat. But I had a well-rehearsed (and well-researched) speech ready about the meat industry's treatment of animals to defend my choices. I was often light-headed, and not from being enlightened. It was because I was malnourished.
Also, I was a professional dancer. Somehow, I didn't connect the dots. I knew about how many dancers had eating disorders. But I've honestly never met one dancer who doesn't obsess over their body. Seeing my behavior as fairly normal, I thought it'd be weird to ask for help.
New York City-based dietician Kelly Hogan, MS, RD, recently explained to me that there is a difference between eating disorders and disordered eating. An eating disorder has a set of diagnostic criteria and is diagnosable by a doctor. Disordered eating encompasses various behaviors such as restricting food intake, restricting food groups, having rigid rules, bingeing, purging and over-exercising. Disordered eating can be really complicated, but it's technically not diagnosable by the mental health standards manual, the DSM-5.
"Most women?" I asked. She confirmed. "This is a newer finding that is currently being looked into in a deeper way now." Hogan told me that women in aesthetic-based sports such as dance, gymnastics, running, ice skating and diving are at the most risk.
"Early signals for disordered eating include thinking about food all the time, finding ways to cut out foods or food groups from your diet, if your relationship with food affects your social life, or if you have low energy, aches and pains," she said. Hogan acknowledges that, for dancers, it can be difficult to discern if low energy, aches and pains are from their activity or a lack of nourishment. "Losing your period is a clear sign that you may not be eating enough to fuel your activity and that your body is under a significant amount of stress because of this energy deficiency." This can put you at risk of injury, especially bone injuries.
I rationalized my own disordered eating as, "I am still eating. I eat healthy food. I eat three meals per day." I didn't know how much more I needed to eat because I was dancing six to eight hours a day. I also didn't try to learn. Instead, I was restricting an entire food group from my diet for a non-health-based reason.
I also became really into looking as thin and as long as I could—the idealized version of a dancer body. Hogan says that research shows dancers are as much as three times more likely than other people to exhibit disordered eating patterns.
That first barbecue was more than 8 years ago. Since then, I've noticed a ton of other dancers whose relationships to food aren't extreme disorders, but they live in the gray area. Maybe it's over exercising. Maybe it's no food after 7 pm. Coffee after every meal to stimulate digestion. Hopping on the most recent fad diets. Or eliminating gluten when it's not a health concern.
Whatever it is, know that there are so many people with you.


text:
Q: How to reuse data from a JSONArray which got data in onPostExecute this is my code for getting data from a PHP site into a ListView.
package be.pressd.arrangementen;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONObject;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener{
    Button fetch;
    EditText et;
    String aantalPersonen;

    private ListView lv;
    private ArrayAdapter<String> listAdapter ;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        fetch = (Button) findViewById(R.id.fetchButton);
        et = (EditText) findViewById(R.id.aantalPersonen);

        // Find the ListView resource.
        lv = (ListView) findViewById(R.id.arrangementenLijst);
        listAdapter = new ArrayAdapter<String>(this, R.layout.line_row);

        lv.setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                //Toast.makeText(getApplicationContext(), "Click nummer " + position, Toast.LENGTH_LONG).show();
                String arrangement = (String) lv.getItemAtPosition(position);

                // Launching new Activity on selecting single List Item
                Intent i = new Intent(getApplicationContext(), ArrangementItem.class);

                // sending data to new activity
                i.putExtra("arrangement", arrangement);
                startActivity(i);
            }

        });

        fetch.setOnClickListener(this);
    }

    class task extends AsyncTask<String, String, Void>
    {
        private ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);
        InputStream is = null ;
        String result = "";

        protected void onPreExecute() {
            progressDialog.setMessage("Fetching data...");
            progressDialog.show();
            progressDialog.setOnCancelListener(new OnCancelListener() {

                @Override
                public void onCancel(DialogInterface arg0) {
                    task.this.cancel(true);
                }
            });
        }

        @Override
        protected Void doInBackground(String... params) {

            String url_select = "http://mywebsite/thephpform.php?aantpers=" + aantalPersonen;

            HttpClient httpClient = new DefaultHttpClient();
            HttpPost httpPost = new HttpPost(url_select);

            ArrayList<NameValuePair> param = new ArrayList<NameValuePair>();

            try
            {
                httpPost.setEntity(new UrlEncodedFormEntity(param));

                HttpResponse httpResponse = httpClient.execute(httpPost);
                HttpEntity httpEntity = httpResponse.getEntity();

                //read content
                is =  httpEntity.getContent();

            } catch (Exception e) {

                Log.e("log_tag", "Error in http connection "+e.toString());
            }

            try {
                BufferedReader br = new BufferedReader(new InputStreamReader(is));
                StringBuilder sb = new StringBuilder();

                String line = "";

                while((line=br.readLine())!=null)
                {
                    sb.append(line+"\n");
                }

                is.close();
                result=sb.toString();

            } catch (Exception e) {

                Log.e("log_tag", "Error converting result "+e.toString());
            }
            return null;
        }

        protected void onPostExecute(Void v) {

            try
            {   listAdapter.clear();
                JSONArray Jarray = new JSONArray(result);

                for(int i=0; i < Jarray.length(); i++)
                {
                    JSONObject Jasonobject = null;
                    Jasonobject = Jarray.getJSONObject(i);

                    String name = Jasonobject.getString("naam");

                    listAdapter.add(name);
                }
                this.progressDialog.dismiss();

                lv.setAdapter( listAdapter);

            } catch (Exception e) {

                Log.e("log_tag", "Error parsing data "+e.toString());
            }
        }
    }

    @Override
    public void onClick(View v) {
        switch(v.getId()) {
            case R.id.fetchButton :

                aantalPersonen = et.getText().toString();
                if (aantalPersonen.trim().equals("")) {
                    Toast.makeText(this, "Gelieve het aantal personen in te geven", Toast.LENGTH_SHORT).show();
                    return;
                }
                else
                {
                        new task().execute();
                        break;
                }
        }
    }
}

It is my first Android code ever, so besides my question it is possible that this code can be made better.
What I would like to do is to show ALL data, nicely, which was gotten from the website. But, as a ListView can not contain the ID and other data, I'm wondering if I can reuse the data in the JSONObject to be shown in next screen (on click of ListView item) ?
Greetings and thanks in advance,
Davy

A: You could

*

*save the JSON and parse it again later (you would have to do a lot of parsing)

*save the data you parse from the json

*

*in sharedpreferences (only if small amount of data)

*in a local sqlite db (probably cleanest approach with best user experience, but a lot of work since you have to create a class that does all the db CRUD operations)

It depends on your data. For user preferences I would use SharedPreferences, for larger amounts a local DB. Also you could create some objects to store the data you need, maybe as signletons or something, and parse the stored JSONs everytime you start the app.
See the google docs on data storage for reference.

A: Create variables for which you want to store information and loop through JsonArray and get each JsonObject and parse/extract information that you need and store it in variables.
here is sample code to iterate JsonArray //Here response is JsonArray
Create Simple class like
 public class PersonInfo{

   String name,address; //Create variables of your requirement.

   //Add Getter Setter Methods for these variables

  }

//End of class  PersonInfo
  ArrayList<PersonInfo> persons = new ArrayList<PersonInfo>();
  PersonInfo person;
  JSONObject product;

  try
   {
      for (int j = 0; j < response.length(); j++)
       {
          person = new Person();

          product = response.getJSONObject(j);

          person.name =  product.getString("JSON_KEY_NAME"); //like these assign values to each variable of PersonInfo class
          //Other values initialization
       }

     persons.add(person); // Add PersonInfo object to ArrayList

  }
    catch (Exception e)
    {
           e.printStackTrace();
    }

something like that .
you can get json values upon your requirments.
This is just sample code .

A: To save data you are getting in background task you have to use shared preferences.
Refer this link to get details about shared preferences.
To pass data to next page you have to use following code :
Intent intent = new Intent( currentActivity.this, NextActivity.class);
intent.putExtra("key", "value");
startActivity(intent);

On nextActivity.java add following code inside onCreate()
Intent currentPageIntent = getIntent();
String strValue = currentPageIntent.getStringExtra("key");

If you are having any other data type than string you have to use other method instead of getStringExtra()
To get id of item clicked, you can use following code :
list.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            try {
                JSONArray jsonArray = new JSONArray(jsonData);

                if (jsonArray != null) {
                    for (int i = 0; i < jsonArray.length(); i++) {
                        if (i == id) {
                            //Add your code here
                        }
                    }
                }

            } catch (Exception e) {
                e.printStackTrace();
            } finally { }
        }
    });

Note that you have to process jsonData on your own. This is just sample code I used in one of my porjects.


text:
Science Spotlights
Primordial Portrait of the Universe
Central to the science of cosmology is the zeal to build better time machines. These are not designed literally to travel to the distant past, of course, but to get a better look at it. The latest of these is the Planck Surveyor satellite, due for launch in 2008. A few months after it starts its journey, if all goes well, Planck will be at an orbital sweet spot about a million miles from earth, transmitting images of unprecedented sharpness showing the radiation left over from the Big Bang.
Researchers of the Kavli Institute of Cosmology at the University of Cambridge are looking to a new space-based telescope to learn what happened in the first moments of the Universe.
Artist's view of Planck heading toward its destination, the second Lagrangian point in space, known as L2. About 2.5 hours after being launched with ESA's Herschel spacecraft on an Ariane-5 from the Guiana Space Centre, Kourou, French Guiana, Planck separates from Herschel and starts its cruise to L2, where it will arrive in less than 6 months. Image: ESA
Researchers of the Kavli Institute of Cosmology at the University of Cambridge (KICC) played a central role in developing the scientific case for the European Space Agency's Planck mission. They will again be key participants in the work of analyzing the mission's data. KICC Director George Efstathiou, a Cambridge professor of Astrophysics, says Planck is one of the Institute's first "flagship projects" focused on its core mission of studying the early Universe. "Provided that it works, it will produce really exquisite images of the cosmic background radiation in temperature and polarization," Efstathiou says. "It will define the cosmic background radiation sky."
The Birth of a Universe
The potential knowledge to be gained from Planck goes far beyond mere images, as good as these may be. Scientists hope to find evidence that sheds light on the very early Universe, as it was around 10-35 to 10-33 seconds after its birth. Most cosmologists believe that something happened in this unimaginably brief period to make the universe expand with enormous speed – much faster than the speed of light – rather than collapse into itself under the force of gravity, like a black hole. This "inflation," as it's called, would have swelled the universe from a diameter vastly smaller than a proton to that of a grapefruit. That's still puny, compared to its size some 13.7 billion years later, but the force expanding it to that point would have been enough to break the hold of gravity and allow it to continue expanding from that point.
Why is inflation important? And what can Planck tell us about it? One answer to the first question is that, the more we know about how the Universe started, the more we understand about how it works now, at the largest and smallest of scales, and what its future may look like. In particular, studying the inflationary epoch may help resolve the differences between the physics of the very large, such as Einstein's theory of General Relativity, and quantum mechanics, where sub-atomic particles follow laws that seem quite different from those that govern the stars and galaxies. Planck's role in unlocking the secrets of inflation will be to record small irregularities (called anisotropies) in the temperature and polarization of the cosmic microwave background (CMB), which covers the whole sky at a temperature less than three degrees above absolute zero.
A "Quantum Leap" in Resolution
When the CMB was discovered in 1965, most scientists took it as convincing evidence that the Big Bang had indeed taken place. Since then, they have been studying it for clues about the just what happened in those first moments of the Universe. Although the CMB was not generated right at the Big Bang – it dates from about 300,000 to 400,000 years later – it carries the signature of that primordial event. The forces that first gave the Universe its structure are believed to be reflected in the CMB's anisotropies. Those fluctuations were first discovered by Cosmic Background Explorer (COBE), and satellite launched by NASA in 1989, and they were mapped in more detail by another NASA mission, the Wilkinson Microwave Anisotropy Probe (WAMP) launched in 2001. Earth-based observatories also have contributed to our knowledge of the CMB, including the Degree Angular Scale Interferometer (DASI) in Antarctica and the Cosmic Background Imager (CBI) in Chile.
Artist's view showing the Planck satellite and the microwave radiation being collected by the telescope's primary and secondary mirrors. The mirrors focus the radiation at the focal planes of the two instruments (LFI Low Frequency Instrument and the HFI (High Frequency Instrument). LFI is designed to convert the lower-energy microwaves into electrical voltages. HFI works by converting the higher energy microwaves to heat, which is then measured by a tiny electrical thermometer. Image: ESA – AOES Medialab
Efstathiou says space-based instruments have a great advantage of working in a "clean environment" with little interference, and WAMP has been "incredibly successful" at imaging the CMB with radio frequency detectors. But he expects Planck to achieve a quantum leap in resolution by using bolometers, super-cooled sensors that precisely measure the heat of radiation.
In producing its high-resolution map of the CMB, the Planck observatory will deliver the most precise measurement yet of anisotropies. Scientists then can analyze these fluctuations to see how they match up with the patterns predicted by various models of inflationary physics. They will be looking at the largest-scale fluctuations, associated with the earliest phase of inflation, for signs of a rapid expansion followed by a sharp slowing. Planck may also be able to spot another sign of inflation, a gravitational wave (on a scale with the whole Universe in length) that shows up in the polarization pattern of the CMB.
The Planck mission is expected to run about five years, with up to three years for data collection and two for data analysis. Efstathiou says a "tight-knit" team of KICC scientists representing all three Kavli-affiliated departments in Cambridge has been working on the Planck project. These include Professor Anthony Lasenby and Dr Mike Hobson of the Cavendish Laboratory, Professor Neil Turok and Dr Paul Shellard from the Department of Applied Mathematics and Theoretical Physics, and Efstathiou himself.
Efstathiou is the U.K. principal investigator for the mission and is also on scientific teams overseeing the satellite's high-frequency and low-frequency instruments.
Planck is just one of several research initiatives related to KICC's mission of observing and understanding the early Universe. One in the works is a ground-based effort to detect the gravitational wave from inflation (it will operate in Chile's Atacama Desert). The Institute also is involved -- as a contributor to the design of instruments or facilities – to projects focused on the period during which the first stars and galaxies formed. And to ensure the fullest and most creative collaboration, KICC scientists will soon have a new building, due to be built in 2008, designed to bring them together for their KICC work. Efstathiou says this is a first for Cambridge, where cosmology researchers traditionally been housed separately in a physics building (Cavendish) and the Institute for Astronomy. Between the two will sit the new KICC building, providing the space for what Efstathiou calls a "critical mass of cosmologists."
Science Tags:
Cosmic Microwave Background
Cosmic Inflation


We've run so many iconic photos and artworks over the years that we figured it'd be selfish not to share them. So, bearing that in mind, here's your one and only chance to own a print of a Josh Pall Back Smith by Andrew Peters.
Andrew Peters feature shot from Monster Children Issue 58, featuring Josh Pall. Exclusively available from MC.
*Please note: All prints are sold unframed. Framed images are for reference only. Email shop@monsterchildren.com for any additional information.


text:
The East Des Moines Union Depot is in a Dutch Revival style in the Market District of Des Moines, Iowa. Construction of the East Des Moines Union Depot was completed in 1909. The building is in the East Village Historic District, east of the Des Moines River. The depot was built by William H. Brereton for the Des Moines Union Railway, and served the Wabash Railroad, Chicago Great Western Railway and Milwaukee Railway, Chicago Burlington Quincy Railroad and the Des Moines, Iowa Falls & Northern Railway. The building operated as a depot until the 1950s when it was sold and converted to cold storage for tomatoes. In 2017 the building was purchased by The Des Moines Heritage Trust which completed a $4 million renovation in 2021.

References

Former railway stations in Iowa
Transportation buildings and structures in Polk County, Iowa

redpajama_set_name: RedPajamaWikipedia


text:
UK, EU make one more push for elusive Brexit trade deal
Posted: Nov 9, 2020 / 08:59 AM HST / Updated: Nov 9, 2020 / 08:59 AM HST
European Commission's Head of Task Force for Relations with the United Kingdom Michel Barnier arrives for Brexit talks at the Conference Centre in London, Monday, Nov. 9, 2020. With less than two months to go before the U.K. exits the EU's economic orbit, trade deal talks resume in London on Monday. (AP Photo/Matt Dunham)
LONDON (AP) — Negotiators from Britain and the European Union met Monday to seek a breakthrough in gridlocked trade talks, with just days until a deadline to strike a post-Brexit deal.
As EU chief negotiator Michel Barnier met his British counterpart, David Frost, in London, members of Britain's House of Lords were trying to rip up a contentious Brexit bill that threatens to derail negotiations.
British Prime Minister Boris Johnson has infuriated the EU with a bill that breaches parts of the legally binding withdrawal agreement that allowed for Britain's exit from the bloc in January. The Internal Market Bill gives the U.K. power to override sections of the agreement dealing with Northern Ireland trade.
The U.K. acknowledges that the bill breaches international law, and the legislation has been condemned by the EU, U.S. President-elect Joe Biden and scores of British lawmakers, including many from Johnson's Conservative Party.
On Monday members of Parliament's upper chamber, the House of Lords, slammed the bill, ahead of a vote that is likely to remove the law-breaking clauses from the legislation.
Michael Howard, a former Conservative Party leader who now sits in the Lords, said he was "dismayed" by the government's behavior.
"I voted and campaigned for Brexit, and I do not for one moment regret or resile from that vote," he said. "But I want the independent sovereign state that I voted for to be a country that holds its head up high in the world, that keeps its word, that upholds the rule of law and that honors its treaty obligations."
Charlie Falconer, who served as justice minister in a previous Labour government, said the bill was making the U.K. an "international pariah."
"The House of Lords is doing the government a favor by seeking to take out these lawbreaking provisions now," he told Sky News.
The government says it will restore the contentious measures when the bill returns to the House of Commons in the coming weeks.
It says the bill is needed as "vital safety net" to ensure smooth trade among all parts of the U.K. no matter what happens to U.K.-EU trade after Brexit.
Environment Secretary George Eustice said that fears the bill could lead to border checks between Northern Ireland and EU member Ireland — something that could undermine Northern Ireland peace — were unfounded.
"There will be no need for checks on the Northern Ireland border," he told the BBC.
Biden, who was declared winner of the U.S. presidential election on Saturday, has warned that Northern Ireland's Good Friday peace agreement can't "become a casualty of Brexit." He says the U.S. won't sign a trade deal with Britain if the peace process is harmed.
Britain left the EU's political structures on Jan. 31 but remains in its economic embrace until a transition period ends on Dec. 31. The two sides say any deal must be agreed by mid-November so it can be ratified by the end of the year.
Although Johnson said Sunday that a trade deal is "there to be done," Frost and Barnier have both warned that serious "divergences" remain.
The bloc accuses Britain of wanting to "have its cake and eat it" — retaining access to the EU's lucrative markets without agreeing to follow its rules. The EU fears Britain will slash social and environmental standards and pump state money into U.K. industries, becoming a low-regulation economic rival on the bloc's doorstep.
Britain says the EU is making unreasonable demands and is failing to treat it as an independent, sovereign state.
If there is no deal, businesses on both sides of the English Channel will face tariffs and other barriers to trade starting on Jan. 1. That would hurt economies on both sides, with the impact falling most heavily on the U.K., whose economy is already reeling under the coronavirus pandemic.
With the outcome of trade talks still in doubt, U.K. Treasury chief Rishi Sunak sought to reassure Britain's huge financial sector that European businesses and institutions would continue to have access to British financial markets, even if there is no deal.
Sunak told the House of Commons that the government is working to ensure U.K. financial rules remain aligned with those of the EU, to ensure markets remain open and well regulated.
"Of course, we're ready to continue the conversation (with the EU) where we haven't yet been able to take decisions," Sunak said. "But in the absence of clarity from the EU, we're acting unilaterally to provide certainty to firms both here and in Europe."
Danica Kirka in London contributed to this story.
Follow all developments on Brexit at https://apnews.com/Brexit


text:
December 6, 2016 ~ mariasjostrand
A/N: I apologize for the delay, but I honest to God thought I'd posted it. Sorry! Anyway, enjoy!
"Because I'm trying to figure out if you're hard or not!"
Hades stared at her, and Persephone could feel the seconds ticking away. One. Two. Three. Four. Five.
"What?" he finally whispered, and Persephone cringed. It seemed like she was about to have the most awkward conversation of a lifetime.
"I meant… I was just…. I'd heard," she stammered, looking anywhere but in his eyes.
"You had heard what?"
"That you're dead. In the from-the-waist-down kind of way." Never before had Persephone been so fascinated by the ground between her feet.
"And you wanted to… check?"
Persephone merely nodded, too embarrassed to speak.
She wasn't sure if it was comforting or not that he seemed just as uncomfortable as she.
"Why?" he asked, and her surprise made Persephone look up once again.
"Why what?"
"Why would you want to know? Would you be relieved to know that I would not be able to function in that regard?"
"What? No. I wouldn't."
"No?" His eyes seemed suspiciously bright and Persephone wasn't sure if he was happy or sad. Perhaps just being honest would be the best choice.
"I found myself rather… disappointed by the thought," she admitted.
"Why disappointed?"
"I just… I just wanted to know if… if you wanted me like I wanted you," she whispered, glancing up at him from beneath her lashes.
"You… you want me?" Hades asked her, and Persephone finally looked directly at him.
"Your voice is all hoarse," she said, worried. "Are you ill?" Except gods didn't get ill. Which made it even more worrying.
Hades laughed and there was something almost fragile in his laughter. A word she'd never thought she'd associate with the feared Lord of the Underworld.
"No," he said, staring at her like it was the first time he saw her. "I am… happy. And I do want you. Very much so."
"But you never try to… to… well, you know."
Hades grinned at her, looking far happier than she'd ever seen him. It was a good look on him.
"I have never tried to trick you into my bed?" he guessed, and Persephone nodded, relieved that she wouldn't have to put her thoughts into words.
Hades reached out and grasped her hand in his. His hand was cold to the touch, and Persephone instinctively closed hers around it to warm it up.
"I suppose I could have tried," Hades told her softly. "Except I did not want you for a single night. I wanted you for every night and every day, and tricking you would not give me that. Not to mention that you are an intelligent girl. I am not sure I would have been able to trick you had I tried."
Persephone thought of the way it had felt when he'd kissed her and blushed. "You might have succeeded," she admitted, before sighing.
"It's funny," she said, almost sadly. "I used to desperately hope that the effect of the arrow would wear off and you would tire of me. I don't hope that anymore."
Hades seemed to hesitate. Then he leant forward and kissed her. It was a far softer kiss than their previous ones and Persephone found that she liked it very much. It was like that one time where a tip of a butterfly's wing had brushed against her skin as it flew off.
"I won't tire of you," he told her softly. "I love you."
"I know that. You were hit with the arrow of love. You can't help it."
"I would have gotten there eventually even without the arrow. I already admired you greatly."
Persephone looked up at him, curious. "Why?"
Hades shrugged. "Does it really matter? Because you reminded me of life I suppose. Sunshine and growth trapped in a young girl. Because you were all the best in people, and very little of the worst. Genuinely good and with a deep thirst for adventure. Anyone would be able to see that if only they bothered to look. I just bothered."
"I don't… I don't love you," Persephone said, feeling like his speech deserved some sort of answer.
Hades' face closed off. "I know," he said. "Though I had begun to hope otherwise." He took a step back, and Persephone grasped for him, suddenly terrified that he might leave.
"I don't love you," she repeated. "But I have grown fond of you. You are my friend, and I enjoy it when you touch me. I enjoy seeing you smile. Maybe I will come to love you one day even if that day is not today."
There was a bitter-sweet tinge in Hades' smile. "I assure you that that is a hope that I will be able to live on for millennia."
Persephone rolled her eyes at him. "That's a bit over-dramatic," she said, used to her mothers antics. "I hardly think it will take me millennia. It only took a couple of months to forgive you."
Hades frowned. "It took you close to a year," he corrected her, and Persephone rolled her eyes again.
"I meant since I came up here. Since I didn't have to worry about how awful my mother had to be feeling."
"I am quite certain that your mother is still feeling awful," Hades noted.
"Yeah, but now it's less reasonable and easier to ignore." Persephone hesitated. "Is that awful of me to say?"
"Not at all. Your mother is a very manipulative woman. You will never be happy if you care too much for how she feels."
Persephone frowned, feeling like she should defend her mother, but ultimately knowing that Hades was correct, if a bit insensitive about it.
"She's never had anyone but me," she said. "I'm not sure if she knows how to live her life without me in it."
"Then she should learn."
"And if you were told the same? To learn to simply live without me?"
Hades stilled. "I suppose that you do make an excellent point. Maybe I should have married someone of a lesser intellect."
Persephone stared at him. Then she saw the glint in his eyes. "You made a joke," she said, baffled. "But you never joke."
Hades grimaced. "Well, it is certainly clear that my wife does not find me funny. I suppose that I will have to work on that."
Persephone smiled at him. "I like you the way you are," she told him, secretly pleased by the delighted look in his eyes.
"And I you," he said softly, brushing a lock of hair away from her face. "Do you currently have other plans?"
"Do you have plans before our dinner tonight? Besides checking if I can… how was it that you put it? Get hard."
Persephone blushed. "You're never going to let me live that one down, are you? But no, I was with Hermes, but I doubt he's expecting me back anytime soon. Actually I think he will be exceedingly disappointed if I do come back this early."
"Then perhaps you would be open to spending the time with me?"
Persephone smiled at him, wondering how she could have been so blind in the beginning of their marriage to not be able to see how much her favour meant to him. "I'd love to," she assured him. "What did you have in mind?"
"I was admittedly planning to ask you the very same."
Persephone blushed, steadfastly avoiding his eyes. "Well, I thought perhaps, if you were open for it… we could check if that being-dead-rumour was true? Hermes did say all I needed to do was kiss you and I find that I enjoy that immensely much."
She got her answer as Hades' lips were suddenly on hers, and letting her eyes fall shut she gave into the kiss with a sigh of pleasure.
Perhaps they should be checking if the rumour was true a bit more often than they'd done so far. Checking it about daily or so sounded ideal.
Posted in FanFiction, Greek Mythology	Greek MythologyHadesLoved By DeathPersephone
‹ PreviousLoved By Death; Chapter 18
Next ›Loved By Death; Chapter 20


This was a really busy Monday morning and a fast lunch with no fancy bits was perfect. It was Amy's first day back at school after being sick for over a week and we had lots of things to remember to take into school. Amy baked the snickerdoodles the night before as part of her Me Museum presentation. I helped her a bit but she really did most of the work. They were delicious. To make the sandwich hearts I used a Wilton flower cutter to cut out the whole prepared sandwich, then made a couple of knife cuts to transform the flower into three hearts.


From 17 April 2019, a family sponsor will need to be approved before a visa can be lodged. The biggest effect will likely be to applicants looking to lodge applications onshore while holding a temporary visa while in Australia.
As is often the case with legislative changes; the sponsorship processing times remain uncertain at this stage, however applicants may not have sufficient time to lodge their visas onshore during the validity of their temporary visa.
What visa classes will this affect?
What should I do if I am planning to lodge one of the above visas?
We strongly encourage all applicants who meet the visa criteria to apply before 17 April 2019. If you are in a position to lodge a family visa application by 16 April 2019, it is advised that do so to avoid any delays and extra costs as a result of the new approved sponsor requirement.
If you have lodged a family visa application prior to 17 April 2019 you will not be affected by the new approved sponsor requirement.
Are you currently looking to apply under one of the Australian visa classes impacted by these changes? Let us know in our comments below.


Macy's has been suffering from a slump in sales, but it's hoping a renewed focus on private label brands will improve its outlook with investors. According to Jeff Gennette, chairman and CEO of Macy's, the goal is to boost private label sales to eventually rake in 40 percent of the retailer's total business. That would be 11 percent more than the current 29 percent contribution it's making.
The news comes as Gennette also hopes to improve Macy's fashion offerings. This strategy, when paired with the department store's private label push, is aimed at discovering desirable, attractive fashion offerings on the private side and keeping them as an exclusive benefit of shopping at Macy's — which is easier said than done, of course. Retail apparel brands aim to be fashionable, and for this trick to work for Macy's, the retailer will have to have the right, fashion-forward merchandise and then make sure the price point matches up.
This job has largely fallen to Molly Langenstein, the company's new chief private brands officer.
"It is part of our equation for profitability," Langenstein recently said at an industry event — and it's a part the chain is heavily promoting through an upgraded advertising push behind those private label brands and by re-centering much of its in-house advertising efforts through streamlined messaging, a focus on both private and national brands carried by Macy's and a effort to make its entire marketing mechanism simpler and more tailored toward shoppers.
The hope is that all this change will bring Macy's what it really wants: a return to the status quo in the form of renewed growth. Unfortunately, the climb back to some sense of normalcy will not be short, as Macy's has many stores on the chopping block in 2018 as it attempts to prune its footprint.
Those store closures are the easier part of the turnaround for the company. The real trick — and challenge in the age of Amazon — is attracting consumers back into the stores they're keeping open and then getting those customers to open their wallets.
It will be an interesting journey to watch.


text:
Kitboga (Kitbuka; , ) był jednym z dowódców mongolskich, służył pod rozkazami Hulagu-chana. Pochodził z plemienia Najmanów wchodzącego w skład Imperium mongolskiego i podobnie jak duża część jego współplemieńców był nestorianinem. Brał udział w kampanii przeciwko Asasynom perskim, Kalifowi, najeździe mongolskim na Syrię i walkach z Mamelukami. Nie znamy daty jego narodzin, zginął w bitwie pod Ajn Dżalut w 1260 roku, starając się bronić Syrii przed najazdem mameluckim.

Życiorys
Organizując siły do wyprawy na Persję Hulagu w 1252 zlecił Kitbodze, jednemu ze swoich najbardziej zaufanych dowódców, przygotowanie gruntu pod przybycie głównej armii. Kitboga zgodnie z rozkazem wkroczył na Płaskowyż Irański podporządkowując sobie główne miasta i zdobywając kilka pomniejszych twierdz Asasynów. Po przybyciu właściwej armii Hulagu najprawdopodobniej przyłączył się do niego i wziął udział w pozostałej części kampanii, która zakończyła się sukcesem i doprowadziła do zniszczenia potęgi Asasynów w Persji.

Kolejną kampanią w której Kitboga wziął udział była wyprawa na Bagdad, przeciwko Abbasydom. Hulagu powierzył mu dowództwo lewego skrzydła armii. Po dotarciu w okolice stolicy Kalifatu, jego wojska zajęły pozycję na wschód od miasta. Po upadku i złupieniu Bagdadu wraz z resztą wojsk wyruszył w kierunku Syrii, jako dowódca straży przedniej. Na początku marca wkroczył do Damaszku odbierając kapitulację miasta. Wraz z chrześcijańskimi sojusznikami mongolskimi – księciem Antiochii Boemundem VI i królem Ormiańskim Hetumem I miał wówczas odbyć triumf, ale wiarygodność tej opowieści jest dzisiaj kwestionowana.

Gdy Hulagu z głównymi siłami opuścił Syrię, pozostawił na miejscu Kitbogę jako swojego zarządcę z zadaniem prowadzenia dalszych działań wojennych wobec niezdobytych jeszcze twierdz i miast muzułmańskich. Miał również pilnować porządku na nowo zdobytych terenach. Na wiosnę 1260 roku jego wojska zajęły Nabulus i Gazę. Wydaje się, że jako nestorianin prowadził politykę faworyzowania chrześcijan na opanowanych terenach o czym wspomina ormiański mnich Hetum:

Kitboga nie miał problemów z chrześcijanami wschodnimi, pozostawał z nimi w sojuszu i korzystał z ich oddziałów posiłkowych. Szybko jednak doszło do tarć między jego wojskami a łacinnikami, którzy w najeździe mongolskim upatrywali szansę na wzbogacenie się kosztem muzułmanów. Do starcia doszło gdy Julian, senior Sydonu i Beaufortu, który przodował w grabieżach, napadł na muzułmańskie wioski pozostawione pieczy bratanka Kitbogi. Ten wystąpił w obronie podporządkowanej mu ludności i zginął w zwycięskiej dla łacinników walce. Reakcją Kitbogi była wyprawa poważniejszych sił wojskowych, które złupiły Sydon. Późniejszy najazd Jana II z Bejrutu na Galileę również spotkał się z odpowiedzią mongolską.

W czasie pobytu Kitbogi w Syrii doszło do walki o władzę nad Imperium Mongolskim między Kubilajem a jego bratem, Arykiem Böge. Większość wojsk zaangażowana była w ten konflikt a Kitboga w zasadzie nie mógł liczyć na pomoc innych mongolskich sił w razie problemów. Co gorsza popsuły się stosunki Hulagu z najbliższymi Syrii mongolskimi sąsiadami- władcami Złotej Ordy, doszło nawet do starć zbrojnych. W tej sytuacji Mamelucy zdecydowali się na zbrojną wyprawę do Syrii. Kitboga przeciął im drogą w okolicach Źródła Goliata (Ajn Dżalut). Bitwa stoczona 3 września skończyła się jego klęska, według relacji został pojmany i stanął przed obliczem sułtana Kutuza. Na jego drwiny miał odpowiedzieć, iż z pewnością zostanie pomszczony i nigdy nie zdradził swego władcy (Kutuz doszedł do władzy w wyniku przewrotu). Został ścięty na miejscu.

Przypisy

Dowódcy imperium mongolskiego
Ludzie związani z państwem Ilchanidów
Zmarli w 1260


text:
Q: Force users to run setup.exe instead of *.msi I've been searching the solution for a while but ended up finding nothing. I would like to ask with Microsoft Setup Project, is there any way to force user to run setup from setup.exe instead of msi file? I tried some solution such as add Launch Condition but do not know how to pass parameter from setup.exe to the msi file...
The reason I ask this is because I need to run some exe files in the setup process and those files require administrator privilege. As you know already we cannot add something like manifest file to require admin privilege for msi file.
I would appreciate any idea.

A: No, this is not supported by the Visual Studio setup EXE.
A solution is to wrap all your installation files into a self-extracting EXE archive. This archive can launch your setup EXE after extraction. For example, you can use IExpress: http://technet.microsoft.com/en-us/library/dd346760.aspx
Another solution is to use a different setup authoring tool which supports this directly:
http://en.wikipedia.org/wiki/List_of_installation_software


The Readers Cosmos is in the list of Top Indian Blogs since 2012!
Share book reviews and ratings with Readers, and even join a book club on Goodreads.
Snapshot: As the sub-title of the book says, this is the first hand account of a liver transplant patient in India.
The Review: Radhika Sachdev, a former journalist with leading newspapers such as Times of India, Hindustan Times, Indian express, etc. pens her journey as a patient suffering from liver tumor with secondary tumors in the breasts to needing a liver transplant and later successfully getting one. She begins with what led her to the disease and how was her life in general before. She focuses on personal life and her bonds with her family. After all it is family that comes in support during such situations and its family that you fear about the most in such circumstances. She delves deeper into her relationship with her daughter Aarzoo, the experience with her adoption and the slowly developing bond between them. She has responsibilities of an old father too and she has to live. But when the disease is huge, mere responsibilities do not make you survive and overcome it, it is bits of everything and she describes these factors as well.
The reader is acquainted with microscopic details of the options available for liver transplant, how to register for one, the pre-tests and other medical pre-requisites needed to register oneself as a recipient. Did you know that you would get rejected if anything was wrong there and your chances of survival were compromised? The organ actually went to fit recipients. She also describes the government policies in place, ensuring this in India and other countries. Spain has the highest organ transplant rates, India is very low in comparison and this is mainly due to a huge gap in ratios of donor is to recipients. One reason affecting this which the author stresses upon is pledging to donate organs (something her entire family practices).
The other major question is finance, for how would you manage without money? She gives all the details of how she managed her funds and the hacks around the pricing of drugs etc. in the post-surgery period. She also has compiled a list of trusts which donate for the cause. But taken all of this together, her situation wasn't all sorted till her and her family find strength in Buddhism. She has mentioned her journey from being a skeptic to finding Soka Gakkai its role in retaining their motivation.
Overall, it is a holistic journey of the writer from managing her finance, to her family life and their support and running her business all throughout her business. The best part about the book was in no part was it melancholic as to "why me?" but truly pragmatic and balanced. She actually wrote all of this while going through it so that it could one day help someone else. Now that is some foresight and dedication into it, isn't it? The glossary at the end of the book with micro-details on finance, diet, etc. is extremely helpful.
What I disliked about the book was the whatsapp message text part and that might have been done in a very upfront manner for people to relate to the content but the intricacies of reading a chat conversation is something rarely interesting to a reader. Important conversations in first person as they happened would be a better idea. The other part was her sisters chapter on the situation and the placing it at the end of the story, seemed like a disruption in the flow.
This book will be a helpful read if you or a loved one is going through liver transplant. It will get you acquainted with a lot of facts that would have been alien for you so far but critical later on. It also serves as an eye-opening motivator for the reader to pledge to donate organs with accurate statistics!
About the Author: Radhika Sachdev is an independent journalist who has held senior editorial positions with leading news banners – the Times of India, Hindustan Times, Indian Express, Financial World and The Pioneer. Presently, she runs her own advertising outfit, Write Solutions.
Legends Over Generations by Ashraf Haggag Now Available in Hindi.
Gauri Sinh's mystery novel The Miss India Murders launched at Crossword Bookstores.
Crossword Bookstores Brings the Enthralling Poetry of Rupi Kaur to Mumbai.
The most affordable book summary app on the planet!


text:
Posted on April 23, 2020 April 24, 2020 by PIO TEAM
Covid 19 Exposes Need For COBOL Programmers
We Are Exposed (to a lack of COBOL Programmers)
The current pandemic has exposed a hole in the programming workforce, one that insiders reported on for almost ten years. The hole is the lack of COBOL programmers to support COBOL mainframes that power crucial commerce, government and financial systems. For the record, COBOL is a 50+ year old programming language invented to power IBM's AS400 mainframes. In the Fifties, implementing mainframes saved industries millions of dollars paying for man hours. It replaced manual data-entry, computation, and manipulation. In 2020, it still powers 95% of any ATM swipes and 80% of in-personal financial transactions. According to a 2014 report in American Banker, 92% of top banks and 71% of Fortune 500 still used mainframes. Then COVID devastated the economy, and the systems used to mitigate the crisis couldn't keep up with the demands.
Consider how the Social Security Department has systems that include 60 million lines of COBOL code. That department, the IRS, and states' unemployment offices can't keep up with the tasks of recording and sending relief to millions of US citizens. For the most part, COBOL is still secure and reliable, but it needs to be scaled, if not migrated. Many states and companies have started COBOL migration but much of the work halted with the shelter in place orders, that is until state and federal departments realized they are handicapped by 40 or 50-year-old systems. Then they put out an "All Hands on Deck" call for COBOL developers, most of whom have retired.
How This Gap Happened
With 220 billion lines of code still in use worldwide, how did this gap happen? In part, technological evolution, a shift in training towards new languages, and a dismissive attitude towards COBOL programmers and the IBM AS400 mainframes contribute. COBOL was treated as on its way to obsolescence. It was a language to maintain, its developers no longer earned top salaries, and colleges pushed COBOL courses to second tiers. The population of COBOL experts aged; the average age is 60+. "Younger" COBOL developers are often in their 40's and 50's. Hiring COBOL programmers out of college was like finding the needle in the haystack. In the programming industry, COBOL was described as "not sexy" and like swallowing a painful pill. Not only did it feel stodgy because programmers couldn't design anything fresh, but also one coder described it as loaded "with technical debt… modified, extended, moved to new hardware." Worse yet, documentation was missing or out of date. In fact, most of the documentation was like a disappearing language, stuck in the heads of retired COBOL AS400 programmers. They hold the key to the language that needs updating to COBOL.net or to migrate to newer systems.
COBOL Programmers Are Essential (Workers)
It's striking how COBOL developers are "essential workers" now that we are in crisis. They had been sidelined, their industry slowly paying developers less and less, not unlike CNA's in a long-term care facility. Now that systems cannot keep up with the unemployment claims and CARES distributions, COBOL developers are on the front lines. And there are not enough of them.
To be fair, Computerworld reported in 2017 that IBM had ramped up its partnerships to increase the number of training programs. At that time 75 colleges taught COBOL. IBM invited almost 70,000 students into its "Master the Mainframe" Contest between 2012-2014 and has since provided fellowships and scholarships to about 15,000 students a year to learn COBOL. This month IBM partnered with Linux Open Source on three initiatives to help companies find developers. They boast a new call out forum, a temporary technical forum for managing issues and sharing techniques, as well as a COBOL with VSCode training program.
There is one overlooked source for expanding the Offshore development team: hire Programmers.io, which has international COBOL programmers at the ready for the task at hand.
Previous PostPrevious .Net Development Tools for Smart Development in 2020
Next PostNext Part Ninja, Part Carpenter: The Qualities of Today's RPG Programmers


Where do our clothes come from? What's the link between gorillas and mobile phones? Does chocolate grow on trees? Answering these questions and many more, How We Make Stuff is an engaging exploration of the way we use Earth's natural resources.


The Truffle Day at Château Sainte Roseline will celebrate the Black Diamond from the Var on Sunday, January 21, 2017 for lovers of wine and gastronomy.
The Truffle Day at Château Sainte Roseline will bring together on Sunday, January 21, 2018, from 10h to 17h, lovers of truffles, gastronomic products with truffle, truffle growers and rabassiers with their dogs. On the classified estate from the twelfth century, the gourmets are invited to celebrate the Tuber Melanosporum, the Black Truffle, the gastronomic treasure from the Var soil that ennobles the pleasures of the table in winter.
An exceptional gastronomi lunch Around the Truffle, signed by Chef David Carré, will delight the taste buds with flaovors from the terroir, sublimated by the great Crus Classés Côtes de Provence wines from the domain.
From 10h to 17h, the Truffle Day at Château Sainte Roseline offers a small market of regional products and truffle-based products in the estate's wine cellar. Sale, tastings, explanations on the culture of truffles throughout the day, a set of discoveries to please the lovers of culture, gastronomy and history.
Guided visits of the cellars will take place without interruption, with explanations on the elaboration of the wine, the grape varieties used, the assemblages. A tasting of the Château's classified wines will follow the visit.
The rabassiers will demonstrate the "cavage" of truffle with the truffle dogs at 11:45 and 15:00.
To savor the ineffable carnal flavor of the Black Truffle, the Tuber Melanosporum, some "brouillades de truffes" (scrambled eggs with fresh truffles) will be prepared and served in the tasting cellar.
The Château Sainte Roseline offers a tasty menu Around the Truffle at the gastronomic lunch at 12:30 prepared by David Carré, Chef at restaurant Le Carré d'Ange in Montauroux. Meal Price: 98 € per person, including Cru Classé wine.
Since 1996, David Carré has been living his passion of cooking and sharing around the gastronomy. David Carré has perfected his culinary skills in great houses: the Château de Bagnols (1 Michelin star), the Château des Crayères in Reims (3 stars) and then, La Maison Lameloise of the famous chef Jacques Lameloise (3 stars) in Chagny in Burgundy, where he officiated as Second de cuisine.
Today, in his restaurant Le Carré d'Ange in Montauroux, he elaborates with his second Pierre-Alexandre some dishes between classic and modern, high in flavors, based on noble local products, respecting the seasons.
Located thirty minutes away from Saint-Tropez, Cannes and the Gorges du Verdon, the Château Sainte Roseline, with seven centuries of wine culture, is producing Cru Classé des Côtes de Provence Rosé, Red and White wines. A pioneer of ecotourism in France, the Château offers a harmonious combination of oenology, terroir and landscapes. Lovers of art, culture, history and heritage will be pleased to discover the Sainte Roseline Chapel housing – besides the relics of Sainte Roseline – works by Chagall, Giacometti, Bazaine and Ubac.
83460 Les Arcs sur Argens.


SYSMAC MANAGEMENT CONSULTANT was established in United Arab Emirates in the year 2010 through its regional office in Dubai in response to the increasing need for qualified professional consultants in the Middle East to introduce and help in implementing the highest standards of management systems and practices.
We are professional energy and sustainability consultants that help developers navigate the dynamic world of energy ratings, building certifications, and regulations.
iMCC is predominantly a Project Management, Commercial Management and Sustainability Consulting company established by a team of highly qualified professionals.
Instinctif Partners is a leading international business communications consultancy with areas of expertise including capital markets, corporate affairs, sustainability, public policy, engagement, life sciences, content and creative, strategic insight and research.


text:
Media and its Glorification of Serial Killers
The serial killer obsession seems to be on the rise once again
Vincent Garcia, Staff Writer|February 13, 2019
For many years TV shows, movies, documentaries, and short films have all transformed the horrifically violent serial murders into entertaining motion pictures with the killers being portrayed by A-list actors. This obsession with serial killers, however, is not a new phenomenon and has been going on long before major entertainment companies decided to pick them up.
Fascination with these killers has been going on in pop culture since the 50s and 60s when the term "serial killer" was first being coined. One of the first killers that had gained a large following is Charles Manson who, once out of jail, had managed to convince a significant number of people that there was an impending race war and that they needed to carry out a series of murders to speed it up and come out as the victors. Today, Manson's name still rings through pop culture and is even being made into a Quentin Tarantino directed movie titled "Once Upon a Time in Hollywood."
The same exact thing is happening with the notorious Ted Bundy, the "charming" serial killer who raped and murdered a number of women. At the time of Bundy's trial, he had amassed a following astonishingly larger than Manson's and twice as perplexing, consisting mainly of women who had become infatuated with the killer and convinced of his innocence. In 2019 alone, there has been both a documentary and a film telling the story of Bundy; the latter of which features heartthrob actor Zac Efron.
This isn't to say that any and every show or piece of entertainment involving serial killers and freaky murderers should be completely done away with. Shows such as "Criminal Minds" and "Law and Order" offer some of the most well-written and suspenseful stories in television that remain one-offs, only ever shown again in reruns. Unfortunately, these serial killers are continuing their share of major motion picture showings and being put in the spotlight once again, further cementing their legacy and keeping their lives in the essence of pop culture.
Frontline intends for this area to be used to foster healthy, thought-provoking discussion. Comments are expected to adhere to our standards and to be respectful and constructive. As such, we do not permit the use of profanity, foul language, personal attacks, or the use of language that might be interpreted as libelous. Comments are reviewed and must be approved by a moderator to ensure that they meet these standards. We do not allow anonymous comments, and require a valid email address. The email address will not be displayed but will be used to confirm your comments.
Alternative Halloween Movies
Beetlejuice is a movie where a pair of ghosts must learn to live with their new housemates, all while dealing with a mischievous magic salesman....
New Movies: Five Feet Apart
Five Feet Apart, released on March 15 of this year, follows 17 year old Stella, played by Haley Lu Richardson, as she battles Cystic Fibrosis. He...
The Foodie Space
Beginning a Bullet Journal
Scream and Shout, He's From In N' Out
A Chat with the Chats
What Football Has Done For Me
Lemon Drops, Bubblegum, and Summer Salt
Lady Gaga Makes History
Trump vs the Crazies
Yellow: La couleur du changement
What a RUN-derful Life


WASHINGTON: A top US think-tank today launched a knowledge web portal which tracks the policy and regulatory environments of major Indian states.
An initiative of the Centre for Strategic and International Studies (CSIS), the online web portal the 'Engaging Indian States,' was launched by Griffin Thompson, Acting Deputy Assistant Secretary of State for Energy Transformation and Richard Rossow, senior adviser and Wadhwani Chair in the US-India Policy Studies.
"In its initial phase, the online portal focuses on energy - a sector that is critical to India's development and pivotal to Prime Minister Narendra Modi's power for all agenda. India's states have the resources to generate the energy India needs, but they take different approaches to fostering the growth of the industry," Rossow said.
The online knowledge portal provides first-of-its-kind one-stop shop tool for businesses, research institutions, policymakers, and journalists for greater insight into the potential for engagement with India's sub-national governments.
This portal is the only platform which will allow readers to follow state-level policy and regulatory changes in key sectors identified as critical to India's growth, he said.
"In an effort to spur innovation and effective governance, Modi has championed cooperative federalism in his strategy to develop the nation and has continued to devolve more and more power to the state," a media release said.
In order for states to create development schemes to suit the needs of their citizens, the 14th Finance Commission devolved the share of taxes shared between the centre and the state by an increase of 10 per cent and has now allowed states to access overseas development assistance directly, Rossow said.
"Yet bigger state budgets alone will not solve the development challenges of the states. With greater freedom to legislate and spend on many issues important to peoples' daily lives comes greater responsibility," he said.