text:
The Damascene Blog
Aleppan Wisdom
Words of wisdom on the show window of a souvenir shop in Aleppo:
"A civilized person only spits in his handkerchief! Cleanliness is part of faith."
Posted by Ayman Haykal at 2/28/2005 11:55:00 pm 4 comments:
Hotel Controversy
It was announced today that construction works of the Four Seasons Hotel have been completed and that the Hotel will officially open next summer. There has been a lot of controversy in Damascus about the Hotel, which is 65% owned by the Saudi Billionaire Al-Walid Bin Talal, 17% by the Governorate of Damascus and 17% by the Ministry of Tourism:
( - ) Many feel that the building's design does not fit the area. Towering in Shukri Al-Quwatli Street and overlooking Barada River and the historic Tekiyyeh Mosque, the huge block of glass and marble now dominates the skyline of central Damascus. Some have complained about the fact that the hotel consumed a large part of Al-Menshieh Park and surrounded the eight-century-old dome covering the tomb of Faroukh Shah, the nephew of Saladin.
( + ) This is going to be the largest hotel in Syria and the first five-star hotel to be opened in Damascus in nearly 2 decades. In addition, the new Hotel occupies an advantageous "strategic" site in the heart of Damascus. It will boost the tourist industry in the country and create an atmosphere of competition that will result in better tourist services. The building looks great, especially when lit at night; it gives a touch of modernity to the center of the nation's capital, the home to an estimated 5 million people.
Posted by Ayman Haykal at 2/26/2005 07:54:00 pm 15 comments:
Damascene Breakfast
A no-longer-new trend in Damascus is opening restaurants and cafes in restored traditional Damascene houses of the Old City. As well as making good money for investors, this helped to preserve many beautiful houses that were neglected for a long time and to breathe life back into the Old City. An example is Beit Jabri, an 18th-century house with 23 rooms that was turned into a restaurant in 1996. On Friday mornings, Beit Jabri is crowded with people who gather for a traditional Damascene breakfast of fatteh or tess'iyeh: A mixture of broken pieces of toasted pita bread and chickpeas, covered with a special sauce made of yogurt and tahini (sesame seeds paste) and served in two types: with olive oil or with samneh (ghee).
Posted by Ayman Haykal at 2/25/2005 12:29:00 am 9 comments:
Tram-why?
One of the last surviving pieces of the tramway rails that were laid in Damascus in 1907. It was the year when electricity was first introduced into the city by a Belgian-Turkish company and the tramway (pronounced in Damascus as tram-why) began to compete with carts as the main method of transportation. By 1931, the tramway had a network of 6 lines: Al-Midan, Al-Jisr Al-Abyad, Sheikh Muheddine, Muhajireen, Kassa' and Douma. The picture shows where the tramway used to turn right, after an exhausting day of carrying hundreds of people, to be parked inside the complex of the Electricity Company in Al-Mutanabbi Street. The last tramway to make this journey ran on these rails in 1961.
With the substitute now being the air-polluting, chaos-producing, uncomfortable micro-buses, many people in Damascus yearn for the tramway days and tell their children (or grandchildren) nostalgic stories about the jabee or commissiari and his wooden ticket box, the 7.5 eresh (Piastre = 1/100 Syrian Pound) they used to pay for the first class ride and the 5 they used to pay for the second class one.
Two Peoples
Lebanese daily Assafir wrote:
"For the past couple of days, the Syrian-Lebanese border has been witnessing one-way traffic. Thousands of Syrian workers 'fled' to their country, fearing strong Lebanese feelings against them on the background of the assassination of ex-prime minister Rafik Al-Hariri. Although racism against Syrian workers has always been there, it did not make up the whole scene like it does now [...] A quick visit to the Syrian-Lebanese border last Friday and Saturday is enough to draw a sad picture of how recent developments have affected relations between the two peoples"
To the people in the Lebanese media and opposition who are fueling hatred against Syria; to all the narrow-minded people who are insulting Syria, the country and the people, in the streets of Beirut: Picturing Syrian people as an enemy will only harm your cause and make you lose the sympathy and support of many Syrians. Even after the Syrian army withdraws, Syria will remain on Lebanon's doorstep, your neighbor till the end of time. Don't let filthy politics separate the two peoples. Don't cut new wounds that can take a long time to heal.
Picture: Syrian-Lebanese border at Jdaideh.
Posted by Ayman Haykal at 2/22/2005 11:25:00 am
Never Repaired
The Hijaz Station was erected in 1908 after the construction of the Hijaz Railway that connected Damascus to Mecca and made Muslim pilgrimage easier than ever before. The railway was used to supply Turkish armies during World War I so it was subject to destructive attacks by Arab rebels aided by Lawrence of Arabia in 1916. Although parts of it remained intact and still connect Syria and Jordan, the railway to Mecca (now in Saudi Arabia) was severely damaged during the Arab Revolt and was never reconstructed.
Although setup in an area of Damascus crowded with offices of sworn translators, the government-owned Real Estate Bank did not bother to hire somebody to check the spelling on this elegant signboard announcing its new ATM "serves".
Black Banner
During this period of the Islamic year, Shiite Muslims celebrate 'Ashura, the anniversary of Imam Hussein's death in the battle of Karbala against the army of Yazid, the Umayyad Caliph of Damascus in the year 680. 'Ashura, the 10th of the Islamic month of Muharram, is the peak of 10 days of commemorative events that start on the 1st of Muharram. Black banners in praise of Hussein have been put up in Al-Ameen neighborhood of Old Damascus. This one reads:
"Hassan and Hussein are the leaders of the youth of Paradise"
Lebanese Shrapnel
Main headline of Asharq Al-Awsat:"Hariri's Assasination: Shrapnel Hits Syria"
Gloomy weather in Damascus today. Nervousness is in the air. People woke up to listen to thousands swearing at Syria during Hariri's funeral. Yesterday Syrian workers were attacked in Sidon and a Syrian truck was set on fire. One mourner told Reuters: "I want to kill someone today -- a Syrian."
It's sadly funny how masses can easily be used as a mere plaything in a big dirty political game. Funny how a lie is repeated over and over until it becomes a common belief that nobody can/dares challenge.
With the US and Syria seemingly heading towards confrontation, many Syrians feel like the Iraqi scenario is being repeated. Did Syria kill Hariri? Find the answer here: Did Iraq really have weapons of mass destruction?
Posted by Ayman Haykal at 2/16/2005 02:20:00 pm
Valentine's Events
Be it cultural invasion, shallow commercialization of love or genuine celebration of it, Valentine's Day was "observed" in Damascus with flower and gift shops decorated in red and prices of red roses doubling several times. The day was spoiled by the news about the horrible explosion that killed ex-Lebanese prime minister Rafik al-Hariri in Beirut. Around noon, everybody was rushing back home to call friends and relatives in Beirut and to watch scenes of destruction in Beirut's beautiful Cornische, an area many Syrians know very well. May Allah bless Lebanon and spare it (and Syria) the consequences.
Rush hour in downtown Damascus, dominated by yellow cabs from different eras: 1983 Mitsubishi Lancer, Mid-1990s Daewoo Cielo and late-1990s Daewoo Matiz, newer but cheaper Skoda-Lada, Dacia and Turkish-made Sahin. Try to recognize the typical 1980s white Peugeot 504 with black curtains (the driver is probably a young army conscript and the owner is a low-ranking army officer) and the white Mercedes Benz E300 with a special number plate (high-ranking officer). The scene is not complete without the small white Suzuki carry pick-up, commonly known in Syria as Tertayra because of the "terrr.. terrr" sound it produces.
Selfishness-Ugliness
With no efforts made to enforce laws that do not permit people to selfishly damage the appearance of the buildings they share with others, this mess of a building is not an uncommon sight in Damascus.
Before you go for a walk around Jahez Park or in the busy streets of Sha'lan, spare 10 Syrian Pounds to buy roasted peaunts wrapped in old newspaper. Delicious!
Damascus Bride
The Minaret of the Bride is the oldest and most beautiful minaret of the Umayyad Mosque. According to a 17th century historian, its name is attributed to the daughter of a Damascene merchant who was asked by the King to provide lead, a scarce material at this time, to cover the roof of the minaret. The merchant's daughter would not give him the material before he paid her the weight of the lead in silver, which he eventually did. Convinced that he was a man of his word, she donated the lead for free and agreed to marry the king. The minaret was thereafter given the title of the woman who provided the leaden covering: Al-Arous - The Bride.
Modern Damascus: In the foreground is Tishreen Park, the largest and most visited in Damascus; in the background is Al-Mazzeh neighborhood with some of its landmarks: Al-Assad University Hospital, the Faculty of Medicine, the Faculty of Pharmacy and Damascus University dormitories. Also in the background on the far left is the still-under-construction building of the Ministry of Foreign Affairs in Kafarsousseh.
Posted by Ayman Haykal at 2/06/2005 01:18:00 am 1 comment:
Foggy Scene
Mount Qassyoun and the blinking red light of its giant TV transmission tower disappeared behind thick fog that fell over Damascus today. The picture was shot in Abu Rummaneh Street near Rawdah Square.
Damascene Disciple
Now there was a disciple at Damascus named Ananias. The Lord said to him in a vision, "Ananias." And he said, "Here I am, Lord." And the Lord said to him, "Rise and go to the street called Straight, and inquire in the house of Judas for a man of Tarsus named Saul; for behold, he is praying, and he has seen a man named Ananias come in and lay his hands on him so that he might regain his sight. -- (The Bible, Acts 9:10-12)
Picture: The House of Ananias (Arabic Hanania) is located in Bab Sharqi, and now hosts a small chapel.
Souk Saroujah was the first neighborhood in Damascus to be built outside the city walls in the 13th century. Known as Damascus's "Little Istanbul," Sarouja contains some perfect examples of traditional Damascene architecture, including houses, mosques and baths. The neighborhood had to struggle against the merciless invasion of steel and concrete, and had already lost some battles when the Governorate of Damascus decided to declare it as a protected historical site and started to "think", along with the Ministry of Tourism, about renovating the ailing buildings and opening the area up to tourists.
Ayman Haykal


text:
Kent County Economic Summit going virtual
Aug 26th, 2020 · by Delaware State News · Comments: 0
DOVER — The 12th annual Kent County Economic Summit "Navigating Now: Pivoting for Success" will be held virtually Sept. 15 from 9 to 11:30 a.m.
Presented in partnership between Delaware Technical Community College Terry Campus and the Central Delaware Business and Entrepreneurship Consortium, the summit will be offered at no cost, but preregistration at dtcc.edu/economicsummit is required.
The keynote address will be delivered by Steven Pedigo, an expert in economic and urban development, city strategy and management, and placemaking. Mr. Pedigo is a professor of practice at the Lyndon B. Johnson School of Public Affairs at the University of Texas at Austin and the director of the LBJ Urban Lab.
Additional panelists include Kim Adams, president and CEO of Mountain Consultants; Thomas Dougherty, administrator of labor market information at the Delaware Department of Labor; Lin Outten, human resources director at USA Fulfillment; Dr. Gary Siegelman, senior vice president and chief medical officer at Bayhealth; and Katherine Wilkinson, senior vice president and market executive at Fulton Bank.
Visit dtcc.edu/economicsummit for more information.
Reach the Delaware State News newsroom at newsroom@newszap.com

redpajama_set_name: RedPajamaCommonCrawl


text:
//---------------------------------------------------------------------------------
//
//  Little Color Management System
//  Copyright (c) 1998-2010 Marti Maria Saguer
//
// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the "Software"),
// to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
// and/or sell copies of the Software, and to permit persons to whom the Software
// is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
// THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
//---------------------------------------------------------------------------------
//

#include "lcms2_internal.h"

// ----------------------------------------------------------------------------------
// Encoding & Decoding support functions
// ----------------------------------------------------------------------------------

//      Little-Endian to Big-Endian

// Adjust a word value after being readed/ before being written from/to an ICC profile
cmsUInt16Number CMSEXPORT  _cmsAdjustEndianess16(cmsUInt16Number Word)
{
#ifndef CMS_USE_BIG_ENDIAN

    cmsUInt8Number* pByte = (cmsUInt8Number*) &Word;
    cmsUInt8Number tmp;

    tmp = pByte[0];
    pByte[0] = pByte[1];
    pByte[1] = tmp;
#endif

    return Word;
}

// Transports to properly encoded values - note that icc profiles does use big endian notation.

// 1 2 3 4
// 4 3 2 1

cmsUInt32Number CMSEXPORT  _cmsAdjustEndianess32(cmsUInt32Number DWord)
{
#ifndef CMS_USE_BIG_ENDIAN

    cmsUInt8Number* pByte = (cmsUInt8Number*) &DWord;
    cmsUInt8Number temp1;
    cmsUInt8Number temp2;

    temp1 = *pByte++;
    temp2 = *pByte++;
    *(pByte-1) = *pByte;
    *pByte++ = temp2;
    *(pByte-3) = *pByte;
    *pByte = temp1;
#endif
    return DWord;
}

// 1 2 3 4 5 6 7 8
// 8 7 6 5 4 3 2 1

void CMSEXPORT  _cmsAdjustEndianess64(cmsUInt64Number* Result, cmsUInt64Number* QWord)
{

#ifndef CMS_USE_BIG_ENDIAN

    cmsUInt8Number* pIn  = (cmsUInt8Number*) QWord;
    cmsUInt8Number* pOut = (cmsUInt8Number*) Result;

    _cmsAssert(Result != NULL);

    pOut[7] = pIn[0];
    pOut[6] = pIn[1];
    pOut[5] = pIn[2];
    pOut[4] = pIn[3];
    pOut[3] = pIn[4];
    pOut[2] = pIn[5];
    pOut[1] = pIn[6];
    pOut[0] = pIn[7];

#else
    _cmsAssert(Result != NULL);

#  ifdef CMS_DONT_USE_INT64
    (*Result)[0] = QWord[0];
    (*Result)[1] = QWord[1];
#  else
    *Result = *QWord;
#  endif
#endif
}

// Auxiliar -- read 8, 16 and 32-bit numbers
cmsBool CMSEXPORT  _cmsReadUInt8Number(cmsIOHANDLER* io, cmsUInt8Number* n)
{
    cmsUInt8Number tmp;

    _cmsAssert(io != NULL);

    if (io -> Read(io, &tmp, sizeof(cmsUInt8Number), 1) != 1)
            return FALSE;

    if (n != NULL) *n = tmp;
    return TRUE;
}

cmsBool CMSEXPORT  _cmsReadUInt16Number(cmsIOHANDLER* io, cmsUInt16Number* n)
{
    cmsUInt16Number tmp;

    _cmsAssert(io != NULL);

    if (io -> Read(io, &tmp, sizeof(cmsUInt16Number), 1) != 1)
            return FALSE;

    if (n != NULL) *n = _cmsAdjustEndianess16(tmp);
    return TRUE;
}

cmsBool CMSEXPORT  _cmsReadUInt16Array(cmsIOHANDLER* io, cmsUInt32Number n, cmsUInt16Number* Array)
{
    cmsUInt32Number i;

    _cmsAssert(io != NULL);

    for (i=0; i < n; i++) {

        if (Array != NULL) {
            if (!_cmsReadUInt16Number(io, Array + i)) return FALSE;
        }
        else {
            if (!_cmsReadUInt16Number(io, NULL)) return FALSE;
        }

    }
    return TRUE;
}

cmsBool CMSEXPORT  _cmsReadUInt32Number(cmsIOHANDLER* io, cmsUInt32Number* n)
{
    cmsUInt32Number tmp;

    _cmsAssert(io != NULL);

    if (io -> Read(io, &tmp, sizeof(cmsUInt32Number), 1) != 1)
            return FALSE;

    if (n != NULL) *n = _cmsAdjustEndianess32(tmp);
    return TRUE;
}

cmsBool CMSEXPORT  _cmsReadFloat32Number(cmsIOHANDLER* io, cmsFloat32Number* n)
{
    cmsUInt32Number tmp;

    _cmsAssert(io != NULL);

    if (io -> Read(io, &tmp, sizeof(cmsFloat32Number), 1) != 1)
            return FALSE;

    if (n != NULL) {

        tmp = _cmsAdjustEndianess32(tmp);
        *n = *(cmsFloat32Number*) &tmp;
    }
    return TRUE;
}

cmsBool CMSEXPORT   _cmsReadUInt64Number(cmsIOHANDLER* io, cmsUInt64Number* n)
{
    cmsUInt64Number tmp;

    _cmsAssert(io != NULL);

    if (io -> Read(io, &tmp, sizeof(cmsUInt64Number), 1) != 1)
            return FALSE;

    if (n != NULL) _cmsAdjustEndianess64(n, &tmp);
    return TRUE;
}

cmsBool CMSEXPORT  _cmsRead15Fixed16Number(cmsIOHANDLER* io, cmsFloat64Number* n)
{
    cmsUInt32Number tmp;

    _cmsAssert(io != NULL);

    if (io -> Read(io, &tmp, sizeof(cmsUInt32Number), 1) != 1)
            return FALSE;

    if (n != NULL) {
        *n = _cms15Fixed16toDouble(_cmsAdjustEndianess32(tmp));
    }

    return TRUE;
}

// Jun-21-2000: Some profiles (those that comes with W2K) comes
// with the media white (media black?) x 100. Add a sanity check

static
void NormalizeXYZ(cmsCIEXYZ* Dest)
{
    while (Dest -> X > 2. &&
           Dest -> Y > 2. &&
           Dest -> Z > 2.) {

               Dest -> X /= 10.;
               Dest -> Y /= 10.;
               Dest -> Z /= 10.;
       }
}

cmsBool CMSEXPORT  _cmsReadXYZNumber(cmsIOHANDLER* io, cmsCIEXYZ* XYZ)
{
    cmsEncodedXYZNumber xyz;

    _cmsAssert(io != NULL);

    if (io ->Read(io, &xyz, sizeof(cmsEncodedXYZNumber), 1) != 1) return FALSE;

    if (XYZ != NULL) {

        XYZ->X = _cms15Fixed16toDouble(_cmsAdjustEndianess32(xyz.X));
        XYZ->Y = _cms15Fixed16toDouble(_cmsAdjustEndianess32(xyz.Y));
        XYZ->Z = _cms15Fixed16toDouble(_cmsAdjustEndianess32(xyz.Z));

        NormalizeXYZ(XYZ);
    }
    return TRUE;
}

cmsBool CMSEXPORT  _cmsWriteUInt8Number(cmsIOHANDLER* io, cmsUInt8Number n)
{
    _cmsAssert(io != NULL);

    if (io -> Write(io, sizeof(cmsUInt8Number), &n) != 1)
            return FALSE;

    return TRUE;
}

cmsBool CMSEXPORT  _cmsWriteUInt16Number(cmsIOHANDLER* io, cmsUInt16Number n)
{
    cmsUInt16Number tmp;

    _cmsAssert(io != NULL);

    tmp = _cmsAdjustEndianess16(n);
    if (io -> Write(io, sizeof(cmsUInt16Number), &tmp) != 1)
            return FALSE;

    return TRUE;
}

cmsBool CMSEXPORT  _cmsWriteUInt16Array(cmsIOHANDLER* io, cmsUInt32Number n, const cmsUInt16Number* Array)
{
    cmsUInt32Number i;

    _cmsAssert(io != NULL);
    _cmsAssert(Array != NULL);

    for (i=0; i < n; i++) {
        if (!_cmsWriteUInt16Number(io, Array[i])) return FALSE;
    }

    return TRUE;
}

cmsBool CMSEXPORT  _cmsWriteUInt32Number(cmsIOHANDLER* io, cmsUInt32Number n)
{
    cmsUInt32Number tmp;

    _cmsAssert(io != NULL);

    tmp = _cmsAdjustEndianess32(n);
    if (io -> Write(io, sizeof(cmsUInt32Number), &tmp) != 1)
            return FALSE;

    return TRUE;
}

cmsBool CMSEXPORT  _cmsWriteFloat32Number(cmsIOHANDLER* io, cmsFloat32Number n)
{
    cmsUInt32Number tmp;

    _cmsAssert(io != NULL);

    tmp = *(cmsUInt32Number*) &n;
    tmp = _cmsAdjustEndianess32(tmp);
    if (io -> Write(io, sizeof(cmsUInt32Number), &tmp) != 1)
            return FALSE;

    return TRUE;
}

cmsBool CMSEXPORT  _cmsWriteUInt64Number(cmsIOHANDLER* io, cmsUInt64Number* n)
{
    cmsUInt64Number tmp;

    _cmsAssert(io != NULL);

    _cmsAdjustEndianess64(&tmp, n);
    if (io -> Write(io, sizeof(cmsUInt64Number), &tmp) != 1)
            return FALSE;

    return TRUE;
}

cmsBool CMSEXPORT  _cmsWrite15Fixed16Number(cmsIOHANDLER* io, cmsFloat64Number n)
{
    cmsUInt32Number tmp;

    _cmsAssert(io != NULL);

    tmp = _cmsAdjustEndianess32(_cmsDoubleTo15Fixed16(n));
    if (io -> Write(io, sizeof(cmsUInt32Number), &tmp) != 1)
            return FALSE;

    return TRUE;
}

cmsBool CMSEXPORT  _cmsWriteXYZNumber(cmsIOHANDLER* io, const cmsCIEXYZ* XYZ)
{
    cmsEncodedXYZNumber xyz;

    _cmsAssert(io != NULL);
    _cmsAssert(XYZ != NULL);

    xyz.X = _cmsAdjustEndianess32(_cmsDoubleTo15Fixed16(XYZ->X));
    xyz.Y = _cmsAdjustEndianess32(_cmsDoubleTo15Fixed16(XYZ->Y));
    xyz.Z = _cmsAdjustEndianess32(_cmsDoubleTo15Fixed16(XYZ->Z));

    return io -> Write(io,  sizeof(cmsEncodedXYZNumber), &xyz);
}

// from Fixed point 8.8 to double
cmsFloat64Number CMSEXPORT _cms8Fixed8toDouble(cmsUInt16Number fixed8)
{
       cmsUInt8Number  msb, lsb;

       lsb = (cmsUInt8Number) (fixed8 & 0xff);
       msb = (cmsUInt8Number) (((cmsUInt16Number) fixed8 >> 8) & 0xff);

       return (cmsFloat64Number) ((cmsFloat64Number) msb + ((cmsFloat64Number) lsb / 256.0));
}

cmsUInt16Number CMSEXPORT _cmsDoubleTo8Fixed8(cmsFloat64Number val)
{
    cmsS15Fixed16Number GammaFixed32 = _cmsDoubleTo15Fixed16(val);
    return  (cmsUInt16Number) ((GammaFixed32 >> 8) & 0xFFFF);
}

// from Fixed point 15.16 to double
cmsFloat64Number CMSEXPORT _cms15Fixed16toDouble(cmsS15Fixed16Number fix32)
{
    cmsFloat64Number floater, sign, mid;
    int Whole, FracPart;

    sign  = (fix32 < 0 ? -1 : 1);
    fix32 = abs(fix32);

    Whole     = (cmsUInt16Number)(fix32 >> 16) & 0xffff;
    FracPart  = (cmsUInt16Number)(fix32 & 0xffff);

    mid     = (cmsFloat64Number) FracPart / 65536.0;
    floater = (cmsFloat64Number) Whole + mid;

    return sign * floater;
}

// from double to Fixed point 15.16
cmsS15Fixed16Number CMSEXPORT _cmsDoubleTo15Fixed16(cmsFloat64Number v)
{
    return ((cmsS15Fixed16Number) floor((v)*65536.0 + 0.5));
}

// Date/Time functions

void CMSEXPORT _cmsDecodeDateTimeNumber(const cmsDateTimeNumber *Source, struct tm *Dest)
{

    _cmsAssert(Dest != NULL);
    _cmsAssert(Source != NULL);

    Dest->tm_sec   = _cmsAdjustEndianess16(Source->seconds);
    Dest->tm_min   = _cmsAdjustEndianess16(Source->minutes);
    Dest->tm_hour  = _cmsAdjustEndianess16(Source->hours);
    Dest->tm_mday  = _cmsAdjustEndianess16(Source->day);
    Dest->tm_mon   = _cmsAdjustEndianess16(Source->month) - 1;
    Dest->tm_year  = _cmsAdjustEndianess16(Source->year) - 1900;
    Dest->tm_wday  = -1;
    Dest->tm_yday  = -1;
    Dest->tm_isdst = 0;
}

void CMSEXPORT _cmsEncodeDateTimeNumber(cmsDateTimeNumber *Dest, const struct tm *Source)
{
    _cmsAssert(Dest != NULL);
    _cmsAssert(Source != NULL);

    Dest->seconds = _cmsAdjustEndianess16((cmsUInt16Number) Source->tm_sec);
    Dest->minutes = _cmsAdjustEndianess16((cmsUInt16Number) Source->tm_min);
    Dest->hours   = _cmsAdjustEndianess16((cmsUInt16Number) Source->tm_hour);
    Dest->day     = _cmsAdjustEndianess16((cmsUInt16Number) Source->tm_mday);
    Dest->month   = _cmsAdjustEndianess16((cmsUInt16Number) (Source->tm_mon + 1));
    Dest->year    = _cmsAdjustEndianess16((cmsUInt16Number) (Source->tm_year + 1900));
}

// Read base and return type base
cmsTagTypeSignature CMSEXPORT _cmsReadTypeBase(cmsIOHANDLER* io)
{
    _cmsTagBase Base;

    _cmsAssert(io != NULL);

    if (io -> Read(io, &Base, sizeof(_cmsTagBase), 1) != 1)
        return (cmsTagTypeSignature) 0;

    return (cmsTagTypeSignature) _cmsAdjustEndianess32(Base.sig);
}

// Setup base marker
cmsBool  CMSEXPORT _cmsWriteTypeBase(cmsIOHANDLER* io, cmsTagTypeSignature sig)
{
    _cmsTagBase  Base;

    _cmsAssert(io != NULL);

    Base.sig = (cmsTagTypeSignature) _cmsAdjustEndianess32(sig);
    memset(&Base.reserved, 0, sizeof(Base.reserved));
    return io -> Write(io, sizeof(_cmsTagBase), &Base);
}

cmsBool CMSEXPORT _cmsReadAlignment(cmsIOHANDLER* io)
{
    cmsUInt8Number  Buffer[4];
    cmsUInt32Number NextAligned, At;
    cmsUInt32Number BytesToNextAlignedPos;

    _cmsAssert(io != NULL);

    At = io -> Tell(io);
    NextAligned = _cmsALIGNLONG(At);
    BytesToNextAlignedPos = NextAligned - At;
    if (BytesToNextAlignedPos == 0) return TRUE;
    if (BytesToNextAlignedPos > 4)  return FALSE;

    return (io ->Read(io, Buffer, BytesToNextAlignedPos, 1) == 1);
}

cmsBool CMSEXPORT _cmsWriteAlignment(cmsIOHANDLER* io)
{
    cmsUInt8Number  Buffer[4];
    cmsUInt32Number NextAligned, At;
    cmsUInt32Number BytesToNextAlignedPos;

    _cmsAssert(io != NULL);

    At = io -> Tell(io);
    NextAligned = _cmsALIGNLONG(At);
    BytesToNextAlignedPos = NextAligned - At;
    if (BytesToNextAlignedPos == 0) return TRUE;
    if (BytesToNextAlignedPos > 4)  return FALSE;

    memset(Buffer, 0, BytesToNextAlignedPos);
    return io -> Write(io, BytesToNextAlignedPos, Buffer);
}

// To deal with text streams. 2K at most
cmsBool CMSEXPORT _cmsIOPrintf(cmsIOHANDLER* io, const char* frm, ...)
{
    va_list args;
    int len;
    cmsUInt8Number Buffer[2048];
    cmsBool rc;

    _cmsAssert(io != NULL);
    _cmsAssert(frm != NULL);

    va_start(args, frm);

    len = vsnprintf((char*) Buffer, 2047, frm, args);
    if (len < 0) return FALSE;   // Truncated, which is a fatal error for us

    rc = io ->Write(io, len, Buffer);

    va_end(args);

    return rc;
}

// Plugin memory management -------------------------------------------------------------------------------------------------

// Specialized malloc for plug-ins, that is freed upon exit.
void* _cmsPluginMalloc(cmsContext ContextID, cmsUInt32Number size)
{
    struct _cmsContext_struct* ctx = _cmsGetContext(ContextID);

    if (ctx ->MemPool == NULL) {

        if (ContextID == NULL) {

            ctx->MemPool = _cmsCreateSubAlloc(0, 2*1024);
        }
        else {
            cmsSignalError(ContextID, cmsERROR_CORRUPTION_DETECTED, "NULL memory pool on context");
            return NULL;
        }
    }

    return _cmsSubAlloc(ctx->MemPool, size);
}

// Main plug-in dispatcher
cmsBool CMSEXPORT cmsPlugin(void* Plug_in)
{
    return cmsPluginTHR(NULL, Plug_in);
}

cmsBool CMSEXPORT cmsPluginTHR(cmsContext id, void* Plug_in)
{
    cmsPluginBase* Plugin;

    for (Plugin = (cmsPluginBase*) Plug_in;
         Plugin != NULL;
         Plugin = Plugin -> Next) {

            if (Plugin -> Magic != cmsPluginMagicNumber) {
                cmsSignalError(id, cmsERROR_UNKNOWN_EXTENSION, "Unrecognized plugin");
                return FALSE;
            }

            if (Plugin ->ExpectedVersion > LCMS_VERSION) {
                cmsSignalError(id, cmsERROR_UNKNOWN_EXTENSION, "plugin needs Little CMS %d, current version is %d",
                    Plugin ->ExpectedVersion, LCMS_VERSION);
                return FALSE;
            }

            switch (Plugin -> Type) {

                case cmsPluginMemHandlerSig:
                    if (!_cmsRegisterMemHandlerPlugin(id, Plugin)) return FALSE;
                    break;

                case cmsPluginInterpolationSig:
                    if (!_cmsRegisterInterpPlugin(id, Plugin)) return FALSE;
                    break;

                case cmsPluginTagTypeSig:
                    if (!_cmsRegisterTagTypePlugin(id, Plugin)) return FALSE;
                    break;

                case cmsPluginTagSig:
                    if (!_cmsRegisterTagPlugin(id, Plugin)) return FALSE;
                    break;

                case cmsPluginFormattersSig:
                    if (!_cmsRegisterFormattersPlugin(id, Plugin)) return FALSE;
                    break;

                case cmsPluginRenderingIntentSig:
                    if (!_cmsRegisterRenderingIntentPlugin(id, Plugin)) return FALSE;
                    break;

                case cmsPluginParametricCurveSig:
                    if (!_cmsRegisterParametricCurvesPlugin(id, Plugin)) return FALSE;
                    break;

                case cmsPluginMultiProcessElementSig:
                    if (!_cmsRegisterMultiProcessElementPlugin(id, Plugin)) return FALSE;
                    break;

                case cmsPluginOptimizationSig:
                    if (!_cmsRegisterOptimizationPlugin(id, Plugin)) return FALSE;
                    break;

                case cmsPluginTransformSig:
                    if (!_cmsRegisterTransformPlugin(id, Plugin)) return FALSE;
                    break;

                case cmsPluginMutexSig:
                    if (!_cmsRegisterMutexPlugin(id, Plugin)) return FALSE;
                    break;

                default:
                    cmsSignalError(id, cmsERROR_UNKNOWN_EXTENSION, "Unrecognized plugin type '%X'", Plugin -> Type);
                    return FALSE;
            }
    }

    // Keep a reference to the plug-in
    return TRUE;
}

// Revert all plug-ins to default
void CMSEXPORT cmsUnregisterPlugins(void)
{
    cmsUnregisterPluginsTHR(NULL);
}

// The Global storage for system context. This is the one and only global variable
// pointers structure. All global vars are referenced here.
static struct _cmsContext_struct globalContext = {

    NULL,                              // Not in the linked list
    NULL,                              // No suballocator
    {
        NULL,                          //  UserPtr,
        &_cmsLogErrorChunk,            //  Logger,
        &_cmsAlarmCodesChunk,          //  AlarmCodes,
        &_cmsAdaptationStateChunk,     //  AdaptationState,
        &_cmsMemPluginChunk,           //  MemPlugin,
        &_cmsInterpPluginChunk,        //  InterpPlugin,
        &_cmsCurvesPluginChunk,        //  CurvesPlugin,
        &_cmsFormattersPluginChunk,    //  FormattersPlugin,
        &_cmsTagTypePluginChunk,       //  TagTypePlugin,
        &_cmsTagPluginChunk,           //  TagPlugin,
        &_cmsIntentsPluginChunk,       //  IntentPlugin,
        &_cmsMPETypePluginChunk,       //  MPEPlugin,
        &_cmsOptimizationPluginChunk,  //  OptimizationPlugin,
        &_cmsTransformPluginChunk,     //  TransformPlugin,
        &_cmsMutexPluginChunk          //  MutexPlugin
    },

    { NULL, NULL, NULL, NULL, NULL, NULL } // The default memory allocator is not used for context 0
};

// The context pool (linked list head)
static _cmsMutex _cmsContextPoolHeadMutex = CMS_MUTEX_INITIALIZER;
static struct _cmsContext_struct* _cmsContextPoolHead = NULL;

// Internal, get associated pointer, with guessing. Never returns NULL.
struct _cmsContext_struct* _cmsGetContext(cmsContext ContextID)
{
    struct _cmsContext_struct* id = (struct _cmsContext_struct*) ContextID;
    struct _cmsContext_struct* ctx;

    // On 0, use global settings
    if (id == NULL)
        return &globalContext;

    // Search
    for (ctx = _cmsContextPoolHead;
         ctx != NULL;
         ctx = ctx ->Next) {

            // Found it?
            if (id == ctx)
                return ctx; // New-style context,
    }

    return &globalContext;
}

// Internal: get the memory area associanted with each context client
// Returns the block assigned to the specific zone. Never return NULL.
void* _cmsContextGetClientChunk(cmsContext ContextID, _cmsMemoryClient mc)
{
    struct _cmsContext_struct* ctx;
    void *ptr;

    if ((int) mc < 0 || mc >= MemoryClientMax) {

           cmsSignalError(ContextID, cmsERROR_INTERNAL, "Bad context client -- possible corruption");

           // This is catastrophic. Should never reach here
           _cmsAssert(0);

           // Reverts to global context
           return globalContext.chunks[UserPtr];
    }

    ctx = _cmsGetContext(ContextID);
    ptr = ctx ->chunks[mc];

    if (ptr != NULL)
        return ptr;

    // A null ptr means no special settings for that context, and this
    // reverts to Context0 globals
    return globalContext.chunks[mc];
}

// This function returns the given context its default pristine state,
// as no plug-ins were declared. There is no way to unregister a single
// plug-in, as a single call to cmsPluginTHR() function may register
// many different plug-ins simultaneously, then there is no way to
// identify which plug-in to unregister.
void CMSEXPORT cmsUnregisterPluginsTHR(cmsContext ContextID)
{
    _cmsRegisterMemHandlerPlugin(ContextID, NULL);
    _cmsRegisterInterpPlugin(ContextID, NULL);
    _cmsRegisterTagTypePlugin(ContextID, NULL);
    _cmsRegisterTagPlugin(ContextID, NULL);
    _cmsRegisterFormattersPlugin(ContextID, NULL);
    _cmsRegisterRenderingIntentPlugin(ContextID, NULL);
    _cmsRegisterParametricCurvesPlugin(ContextID, NULL);
    _cmsRegisterMultiProcessElementPlugin(ContextID, NULL);
    _cmsRegisterOptimizationPlugin(ContextID, NULL);
    _cmsRegisterTransformPlugin(ContextID, NULL);
    _cmsRegisterMutexPlugin(ContextID, NULL);
}

// Returns the memory manager plug-in, if any, from the Plug-in bundle
static
cmsPluginMemHandler* _cmsFindMemoryPlugin(void* PluginBundle)
{
    cmsPluginBase* Plugin;

    for (Plugin = (cmsPluginBase*) PluginBundle;
        Plugin != NULL;
        Plugin = Plugin -> Next) {

            if (Plugin -> Magic == cmsPluginMagicNumber &&
                Plugin -> ExpectedVersion <= LCMS_VERSION &&
                Plugin -> Type == cmsPluginMemHandlerSig) {

                    // Found!
                    return (cmsPluginMemHandler*) Plugin;
            }
    }

    // Nope, revert to defaults
    return NULL;
}

// Creates a new context with optional associated plug-ins. Caller may also specify an optional pointer to user-defined
// data that will be forwarded to plug-ins and logger.
cmsContext CMSEXPORT cmsCreateContext(void* Plugin, void* UserData)
{
    struct _cmsContext_struct* ctx;
    struct _cmsContext_struct  fakeContext;

    _cmsInstallAllocFunctions(_cmsFindMemoryPlugin(Plugin), &fakeContext.DefaultMemoryManager);

    fakeContext.chunks[UserPtr]     = UserData;
    fakeContext.chunks[MemPlugin]   = &fakeContext.DefaultMemoryManager;

    // Create the context structure.
    ctx = (struct _cmsContext_struct*) _cmsMalloc(&fakeContext, sizeof(struct _cmsContext_struct));
    if (ctx == NULL)
        return NULL;     // Something very wrong happened!

    // Init the structure and the memory manager
    memset(ctx, 0, sizeof(struct _cmsContext_struct));

    // Keep memory manager
    memcpy(&ctx->DefaultMemoryManager, &fakeContext.DefaultMemoryManager, sizeof(_cmsMemPluginChunk));

    // Maintain the linked list (with proper locking)
    _cmsEnterCriticalSectionPrimitive(&_cmsContextPoolHeadMutex);
       ctx ->Next = _cmsContextPoolHead;
       _cmsContextPoolHead = ctx;
    _cmsLeaveCriticalSectionPrimitive(&_cmsContextPoolHeadMutex);

    ctx ->chunks[UserPtr]     = UserData;
    ctx ->chunks[MemPlugin]   = &ctx->DefaultMemoryManager;

    // Now we can allocate the pool by using default memory manager
    ctx ->MemPool = _cmsCreateSubAlloc(ctx, 22 * sizeof(void*));  // default size about 32 pointers
    if (ctx ->MemPool == NULL) {

         cmsDeleteContext(ctx);
        return NULL;
    }

    _cmsAllocLogErrorChunk(ctx, NULL);
    _cmsAllocAlarmCodesChunk(ctx, NULL);
    _cmsAllocAdaptationStateChunk(ctx, NULL);
    _cmsAllocMemPluginChunk(ctx, NULL);
    _cmsAllocInterpPluginChunk(ctx, NULL);
    _cmsAllocCurvesPluginChunk(ctx, NULL);
    _cmsAllocFormattersPluginChunk(ctx, NULL);
    _cmsAllocTagTypePluginChunk(ctx, NULL);
    _cmsAllocMPETypePluginChunk(ctx, NULL);
    _cmsAllocTagPluginChunk(ctx, NULL);
    _cmsAllocIntentsPluginChunk(ctx, NULL);
    _cmsAllocOptimizationPluginChunk(ctx, NULL);
    _cmsAllocTransformPluginChunk(ctx, NULL);
    _cmsAllocMutexPluginChunk(ctx, NULL);

    // Setup the plug-ins
    if (!cmsPluginTHR(ctx, Plugin)) {

        cmsDeleteContext(ctx);
        return NULL;
    }

    return (cmsContext) ctx;
}

// Duplicates a context with all associated plug-ins.
// Caller may specify an optional pointer to user-defined
// data that will be forwarded to plug-ins and logger.
cmsContext CMSEXPORT cmsDupContext(cmsContext ContextID, void* NewUserData)
{
    int i;
    struct _cmsContext_struct* ctx;
    const struct _cmsContext_struct* src = _cmsGetContext(ContextID);

    void* userData = (NewUserData != NULL) ? NewUserData : src -> chunks[UserPtr];

    ctx = (struct _cmsContext_struct*) _cmsMalloc(ContextID, sizeof(struct _cmsContext_struct));
    if (ctx == NULL)
        return NULL;     // Something very wrong happened

    // Setup default memory allocators
    memcpy(&ctx->DefaultMemoryManager, &src->DefaultMemoryManager, sizeof(ctx->DefaultMemoryManager));

    // Maintain the linked list
    _cmsEnterCriticalSectionPrimitive(&_cmsContextPoolHeadMutex);
       ctx ->Next = _cmsContextPoolHead;
       _cmsContextPoolHead = ctx;
    _cmsLeaveCriticalSectionPrimitive(&_cmsContextPoolHeadMutex);

    ctx ->chunks[UserPtr]    = userData;
    ctx ->chunks[MemPlugin]  = &ctx->DefaultMemoryManager;

    ctx ->MemPool = _cmsCreateSubAlloc(ctx, 22 * sizeof(void*));
    if (ctx ->MemPool == NULL) {

         cmsDeleteContext(ctx);
        return NULL;
    }

    // Allocate all required chunks.
    _cmsAllocLogErrorChunk(ctx, src);
    _cmsAllocAlarmCodesChunk(ctx, src);
    _cmsAllocAdaptationStateChunk(ctx, src);
    _cmsAllocMemPluginChunk(ctx, src);
    _cmsAllocInterpPluginChunk(ctx, src);
    _cmsAllocCurvesPluginChunk(ctx, src);
    _cmsAllocFormattersPluginChunk(ctx, src);
    _cmsAllocTagTypePluginChunk(ctx, src);
    _cmsAllocMPETypePluginChunk(ctx, src);
    _cmsAllocTagPluginChunk(ctx, src);
    _cmsAllocIntentsPluginChunk(ctx, src);
    _cmsAllocOptimizationPluginChunk(ctx, src);
    _cmsAllocTransformPluginChunk(ctx, src);
    _cmsAllocMutexPluginChunk(ctx, src);

    // Make sure no one failed
    for (i=Logger; i < MemoryClientMax; i++) {

        if (src ->chunks[i] == NULL) {
            cmsDeleteContext((cmsContext) ctx);
            return NULL;
        }
    }

    return (cmsContext) ctx;
}

/*
static
struct _cmsContext_struct* FindPrev(struct _cmsContext_struct* id)
{
    struct _cmsContext_struct* prev;

    // Search for previous
    for (prev = _cmsContextPoolHead;
             prev != NULL;
             prev = prev ->Next)
    {
        if (prev ->Next == id)
            return prev;
    }

    return NULL;  // List is empty or only one element!
}
*/

// Frees any resources associated with the given context,
// and destroys the context placeholder.
// The ContextID can no longer be used in any THR operation.
void CMSEXPORT cmsDeleteContext(cmsContext ContextID)
{
    if (ContextID != NULL) {

        struct _cmsContext_struct* ctx = (struct _cmsContext_struct*) ContextID;
        struct _cmsContext_struct  fakeContext;
        struct _cmsContext_struct* prev;

        memcpy(&fakeContext.DefaultMemoryManager, &ctx->DefaultMemoryManager, sizeof(ctx->DefaultMemoryManager));

        fakeContext.chunks[UserPtr]     = ctx ->chunks[UserPtr];
        fakeContext.chunks[MemPlugin]   = &fakeContext.DefaultMemoryManager;

        // Get rid of plugins
        cmsUnregisterPluginsTHR(ContextID);

        // Since all memory is allocated in the private pool, all what we need to do is destroy the pool
        if (ctx -> MemPool != NULL)
              _cmsSubAllocDestroy(ctx ->MemPool);
        ctx -> MemPool = NULL;

        // Maintain list
        _cmsEnterCriticalSectionPrimitive(&_cmsContextPoolHeadMutex);
        if (_cmsContextPoolHead == ctx) {

            _cmsContextPoolHead = ctx->Next;
        }
        else {

            // Search for previous
            for (prev = _cmsContextPoolHead;
                 prev != NULL;
                 prev = prev ->Next)
            {
                if (prev -> Next == ctx) {
                    prev -> Next = ctx ->Next;
                    break;
                }
            }
        }
        _cmsLeaveCriticalSectionPrimitive(&_cmsContextPoolHeadMutex);

        // free the memory block itself
        _cmsFree(&fakeContext, ctx);
    }
}

// Returns the user data associated to the given ContextID, or NULL if no user data was attached on context creation
void* CMSEXPORT cmsGetContextUserData(cmsContext ContextID)
{
    return _cmsContextGetClientChunk(ContextID, UserPtr);
}

redpajama_set_name: RedPajamaGithub


text:
South Korean blogger cleared of spreading false information
Unemployed Seoul man who called himself Minerva gained reputation as a prophet with economic predictions
Mon 20 Apr 2009 04.32 EDT
A South Korean court today acquitted a blogger charged with spreading false information on the internet under a mysterious pseudonym, in a high-profile case that sparked heated debate over freedom of speech in cyberspace.
Park Dae-sung, 30, an unemployed Seoul resident, was acquitted by the Seoul central district court. Judge Yoo Young-hyeon said he could not see that Park "had the intention to undermine public interest" or that he "realised the contents of the articles in question that he wrote were completely false".
Park, writing anonymously under the pen name "Minerva" after the Greek goddess of wisdom, caused a sensation and gained a reputation as an economic prophet in South Korea last year by denouncing the government's handling of the economy and making largely negative predictions. Some, including the collapse of US investment bank Lehman Brothers, proved correct, helping create interest in his online postings and adding to his aura of mystery.
Prosecutors accused him of falsely writing that the government had banned major financial institutions and trade businesses from buying US dollars, and indicted him in January.
The charge carried a penalty of up to five years in prison or a fine of up to 50m won (£25,500), though prosecutors, who have one week to appeal, had sought an 18-month jail sentence.
Park, dressed casually, was present in the small, packed courtroom, but he did not speak. Some spectators, who appeared to be supporters, cheered when the verdict was announced.
"I'm just happy," Park's mother, Kim Chun-hwa, told reporters while wiping away tears.
Park described himself in web entries as a former securities firm employee with a master's degree earned in the United States and experience in the field of corporate acquisitions and takeovers.
But prosecutors said Park was an unemployed Seoul resident who studied economics on his own after graduating from a vocational high school and junior college with a major in information and communication.
Opposition political parties and government critics have argued that Park's arrest was aimed at silencing criticism of the government and that it restricted online freedom of speech in South Korea, one of the world's most wired and tech-savvy nations.
Park's identity became public only after his arrest in January. He had made 280 postings on bulletin boards on a popular internet portal. His writings were sprinkled with jargon that suggested he was an economic expert, and his identity was a hot topic of discussion in South Korea amid the global economic crisis.


text:
class PrefService;

namespace ash {

// BootTimesRecorder is used to record times of boot, login, and logout.
class BootTimesRecorder : public content::NotificationObserver,
                          public content::RenderWidgetHostObserver {
 public:
  BootTimesRecorder();
  BootTimesRecorder(const BootTimesRecorder&) = delete;
  BootTimesRecorder& operator=(const BootTimesRecorder&) = delete;
  ~BootTimesRecorder() override;

  static BootTimesRecorder* Get();

  // TODO(oshima): Deprecate following 3 methods and just use
  // LoginEventRecorder.
  void AddLoginTimeMarker(const char* marker_name, bool send_to_uma);
  void AddLogoutTimeMarker(const char* marker_name, bool send_to_uma);

  void RecordCurrentStats(const std::string& name);

  // Saves away the stats at main, so the can be recorded later. At main() time
  // the necessary threads don't exist yet for recording the data.
  void SaveChromeMainStats();

  // Records the data previously saved by SaveChromeMainStats(), using the
  // file thread. Existing stats files will not be overwritten.
  void RecordChromeMainStats();

  // Records the time that a login was attempted. This will overwrite any
  // previous login attempt times.
  void RecordLoginAttempted();

  // content::NotificationObserver implementation.
  void Observe(int type,
               const content::NotificationSource& source,
               const content::NotificationDetails& details) override;

  // Records "LoginDone" event.
  void LoginDone(bool is_user_new);

  // Writes the logout times to a /tmp/logout-times-sent. Unlike login
  // times, we manually call this function for logout times, as we cannot
  // rely on notification service to tell when the logout is done.
  void WriteLogoutTimes();

  // Mark that WriteLogoutTimes should handle restart.
  void set_restart_requested() { restart_requested_ = true; }

  // This is called on Chrome process startup to write saved logout stats.
  void OnChromeProcessStart();

  // This saves logout-started metric to Local State.
  void OnLogoutStarted(PrefService* state);

  // content::RenderWidgetHostObserver:
  void RenderWidgetHostDidUpdateVisualProperties(
      content::RenderWidgetHost* widget_host) override;
  void RenderWidgetHostDestroyed(
      content::RenderWidgetHost* widget_host) override;

 private:
  // Adds optional URL to the marker.
  void AddLoginTimeMarkerWithURL(const char* marker_name,
                                 const std::string& url);

  // Clear saved logout-started metric in Local State.
  // This method is called when logout-state was writen to file.
  static void ClearLogoutStartedLastPreference();

  // Used to hold the stats at mai().
  LoginEventRecorder::Stats chrome_main_stats_;

  // Used to track notifications for login.
  content::NotificationRegistrar registrar_;
  base::AtomicSequenceNumber num_tabs_;
  bool have_registered_;

  base::ScopedMultiSourceObservation<content::RenderWidgetHost,
                                     content::RenderWidgetHostObserver>
      render_widget_host_observations_{this};

  bool login_done_;

  bool restart_requested_;
};

}  // namespace ash

#endif  // CHROME_BROWSER_ASH_BOOT_TIMES_RECORDER_H_


text:
En filosofia política, el dret de rebel·lió o dret a la revolució és el dret o el deure del conjunt d'una nació d'enderrocar un govern que actuï en contra dels seus interessos comuns i/o posi en perill la seguretat de les persones sense causa probable. Emprat al llarg de la història d'una manera o altra, la creença en aquest dret s'ha utilitzat per justificar diverses revolucions, incloent la Guerra Civil Anglesa, la Revolució Americana i la Revolució Francesa.

Filosofia política

redpajama_set_name: RedPajamaWikipedia


text:
Bulgarian-Czechoslovak Treaty of 1968 on Friendship, Cooperation, and | Article about Bulgarian-Czechoslovak Treaty of 1968 on Friendship, Cooperation, and by The Free Dictionary
https://encyclopedia2.thefreedictionary.com/Bulgarian-Czechoslovak+Treaty+of+1968+on+Friendship%2c+Cooperation%2c+and
Bulgarian-Czechoslovak Treaty of 1968 on Friendship, Cooperation, and
Bulgarian-Czechoslovak Treaty of 1968 on Friendship, Cooperation, and Mutual Assistance
signed in Prague on April 26 by T. Zhivkov, first secretary of the Central Committee of the Bulgarian Communist Party and chairman of the Council of Ministers, for the People's Republic of Bulgaria; and by A. Dubček, first secretary of the Central Committee of the Czechoslovak Communist Party, and O. Černík, chairman of the government, for the Czechoslovak Socialist Republic. It was concluded for a period of 20 years. The treaty states that the German Democratic Republic is an important factor in European security, whereas the West German forces of militarism and revanchism are a threat to peace. In view of the important role of the Bulgarian-Czechoslovak Treaty of 1948 and of the changes that have taken place in Europe and the world, the contracting parties, in conformity with the principles of socialist internationalism, and on the basis of equality, sovereignty, and mutual noninterference in domestic affairs, pledged in the future to strengthen friendship and develop overall cooperation. The two parties also agreed to coordinate their national economic plans on the basis of socialist division of labor, specialization, and cooperation in production, promote cooperation within the framework of the Council of Mutual Economic Aid (COMECON), strengthen the consolidation of the world socialist commonwealth, and work toward the solution of the major international problems of our time on the basis of the policy of peaceful coexistence and the UN Charter. The two parties, pointing out that the Munich Pact of 1938 had been illegal from the very beginning, expressed the desire to ensure peace in Europe, an important factor of which is the inviolability of the existing frontiers. In accordance with the Warsaw Pact of 1955 and Article 51 of the UN Charter, Bulgaria and Czechoslovakia pledged to render each other immediate aid, including military aid, in the case of an armed attack of any state or group of states and also consult each other on all questions of mutual interest.
Rabotnichesko delo, April 28, 1968.
Rudé právo, April 27, 1968.
Bulgarian-Czechoslovak Treaty of 1968 on Friendship, Cooperation, and
Bulgaria Day of Liberation from Ottoman Domination
Bulgaria Independence Day
Bulgaria on the Volga
Bulgaria, Christmas in
Bulgaria, Vampires in
Bulgarian Academy of Sciences
Bulgarian Agrarian People's Union BAPU
Bulgarian Communist Party BCP
Bulgarian Culture Day
Bulgarian Foreign Trade Bank
Bulgarian Legion
Bulgarian literature
Bulgarian Militia
Bulgarian National Bank
Bulgarian National Theater
Bulgarian News Agency
Bulgarian People's Republic-German Democratic Republic Treaty of
Bulgarian Revolutionary Central Committee BRCC
Bulgarian Secret Central Revolutionary Committee BSCRC
Bulgarian Workers Social Democratic Party
Bulgarian-German Treaty of 1915, on Friendship and Alliance
Bulgarian-Hungarian Treaty of 1948 on Friendship, Cooperation, and
Bulgarian-Mongolian Treaty of 1967 on Friendship and Cooperation
Bulgarian-Polish Treaty of 1948 on Friendship, Cooperation, and Mutual
Bulgarian-Rumanian Treaty of 1948 on Friendship, Cooperation, and
Bulgarian-Turkish Treaty of 1915
Bulgarian-Yugoslav Agreement of 1944 on Military Cooperation in the
Bulgarin, Faddei
Bulgarin, Faddei Venediktovich
Bulgarin, Faddey Venediktovich
Bulgars
Bulgars, Eastern
bulge forming
Bulgunniakh
Bulic, Frane
Bulich, Sergei
Bulich, Sergei Konstantinovich
Buliminacea
bulk acoustic wave
Bulgarian Properties Cooperative Project
Bulgarian Quality and Productivity Centre
Bulgarian Red Cross Youth
Bulgarian Ship Hydrodynamics Centre
Bulgarian Slavs
Bulgarian Small and Medium Enterprises Promotion Agency
Bulgarian Social Democratic Party
Bulgarian Socialist Party
Bulgarian Society for Animal Protection and Preservation
Bulgarian Society for Regional Cultural Studies
Bulgarian Society for the Protection of Birds
Bulgarian Software Quality Association
Bulgarian Software Solutions
Bulgarian State Railways
Bulgarian Students' Pharmaceutical Scientific Society
Bulgarian Studies Association
Bulgarian Symphony Orchestra
Bulgarian Telecommunication Company
Bulgarian Telegraph Agency
Bulgarian Telework Association
Bulgarian Trade Promotion Agency
Bulgarian Union for Physical Culture and Sport
Bulgarian Warcraft Champions League
Bulgarian-American Enterprise Fund
Bulgarian-Canadian Society of British Columbia
Bulgarian-Dutch Business Club
Bulgarian-language
Bulgarian-Macedonian National Educational and Cultural Center
Bulgarian-Maltese Cultural Association
Bulgarian-Romanian Interuniversity Europe Center
Bulgarian-Swiss Biodiversity Conservation Programme
Bulgarian-Swiss Forestry Programme
Bulgarian-Vlach Kingdom
Bulgarien Initiative Deutschland e.V.
Bulgariya
Bulgarska Nacionalna Federaciq Karate


Do you have to avoid hot beverages this season because of tooth pain and sensitivity? If so, you may need to save your tooth with a root canal therapy procedure.Our teeth can sustain damages and become infected from large cavities, repeated restorative work, or dental injuries. You can make an appointment with the experienced dental surgeons of Piney Point Oral and Maxillofacial Surgery, for the root canal therapy you need today. Dr. Weil and Dr. Koo can immediately eliminate tooth pain and discomfort while saving your tooth from extraction. Piney Point OMS proudly serves patients throughout the greater Houston, TX, area including Stafford, Meyerland, Bellaire, Lamar Terrace, Galleria, Briargrove, Rice Military, Heights, Bunker Hill Village, Hunters Creek Village, Hedwig Village, Katy, and the surrounding communities.
When the pulp chambers, or root canals, inside of your tooth become infected with harmful bacteria, a root canal therapy procedure may be needed to save the tooth from extraction. The first step in a root canal procedure is to administer a local anesthetic to block any pain and discomfort. Next, the dentist with block off the infected tooth from surrounding teeth with a dental dam to protect the tooth opening from excess saliva. Then, the dentist will drill a hole in the center of the tooth to gain access to the pulp chambers. The chambers will be cleaned out, disinfected, shaped, and filled with a rubber like material called gutta-percha. Finally, the dentist will seal the hole and cover the tooth with a filling or dental crown. Depending on the severity of the infection, your root canal therapy procedure may be completed in one or two dental visits.
Not only will root canal therapy free you from tooth pain and sensitivity, it will also save you thousands of dollars in tooth replacement costs. To save your natural teeth from extraction, make an appointment with Piney Point Oral and Maxillofacial Surgery today. Dr. Weil and Dr. Koo are highly qualified dental surgeons. Piney Point OMS proudly serves patients daily throughout the greater Houston, TX, area including Stafford, Meyerland, Bellaire, Lamar Terrace, Galleria, Briargrove, Rice Military, Heights, Bunker Hill Village, Hunters Creek Village, Hedwig Village, Katy, and nearby areas.


text:
Bob Robbins In The Morning
Crystal Gayle Gathers Her Family for Classics Album
By: Craig Shelburne on cmt.com
Crystal Gayle entered the country music landscape as a teenager, and now she's honoring the legends who influenced her with a lovely new album, You Don't Know Me. In addition to co-producing the project with her son, Christos, Gayle made it a family affair by singing with her sisters, Peggy Sue and Loretta Lynn, and covering a song written and recorded by her late brother, Jay Lee Webb.
Between 1970 and 1990, Gayle won countless awards and charted 52 singles for multiple labels, most notably with 1977's Grammy Award-winning "Don't It Make My Brown Eyes Blue." Yet it all started with "I Cried the Blue Right Out of My Eyes" on Decca Records, her first single on the Billboard country chart in 1970. An early demo of that song (written by Loretta Lynn) appears on You Don't Know Me, along with 14 classic country compositions ranging from Jack Greene's "There Goes My Everything" to the evergreen title track.
Chatting with CMT.com in her spacious office on Music Row, Gayle explains, "I really started out the project with letting Chris see and hear what country music is really all about."
CMT: When you are playing this new record for people, what's been the response?
CG: They've loved it. I've been sort of surprised, and maybe it's because I haven't had anything out in a while, when people say, "I love this style." Other people have done this type of music and they call it the country classics, and I call mine classic country. I put one of my brother's songs on there that I love ["You Never Were Mine"]. He had a great recording of it and he had written the song. These are songs that mean something to me. And they are country. They are what I love.
What did you enjoy most about having Chris in the room with you for these sessions?
I trusted him that if I did something he thought sounded weird, he's going to tell me. "You might've been flat on that one." "OK, let's redo it." And that's what you want. You want someone that's not going to just say, "Oh, that was great," and you go back and listen later and it's like, "Well, I could've done better…." So it took a while, too, for him to want to tell me things, but hey, we all want to know.
Did you develop a thick skin pretty early on in your career?
When I first came to Nashville, I believed everything everybody was telling me, and it didn't take long to know that that was not the truth. And that's what I tell people when they're starting out. Hey, don't be hurt when someone tells you they're going to do something and they don't, because that's just the business. You can say the music business is sort of like politics. They only tell you what you want to hear and then they do what they want.
So that's how I grew up with it, and I always say there's as much bull in Nashville as there is in Hollywood. So you have to be true to yourself. You have to know that you've got to take those chances, but still don't let everybody step on you either. Put that fence around you that if they tell you one thing, don't be so hurt that you want to leave the next day.
Right. You have to let some of that frustration go.
When doing concerts early on, I read my reviews. People would bring them to me. And I'd be panned on a day I thought, "Oh, I was great." Then the days I thought I did lousy, "Oh, it's just wonderful, over the moon!" Then there were times in reviews where I had instruments on the stage I never heard of, or I wore something I never had. I don't know where they were getting that. I think they sent someone that didn't know what they were doing.
So you get everything. So I said I'm not going to read them anymore. I'm not going to read those reviews because I don't need that in my life. I'd rather just sing, have a good time, and meet and greet the people that come that love my music or they wouldn't be there. I call them friends, not fans.
Tell me how the bonus track of "I Cried the Blue (Right Out of My Eyes)" found its way into this recording.
The bonus track is actually a demo that I did of the song before I recorded it. Surefire Music, which was The Wilburn Brothers' publishing company, would let me come down and do some demos and it was really, I think, to let me see what the studio was all about, and to learn to sing in front of the mic.
This particular song was one of the songs they let me do the demo and, of course, Owen [Bradley at Decca] liked it and wanted to have me record it — but I'm not sure who changed the melody in the beginning of it. It was either Teddy Wilburn or Owen, but what you hear on here is the original one. Just a little bit of difference in the beginning, but … what was I, 15? I was young in there. They didn't have the big reel-to-reel, it was just the two-track they found, and I said, "Yeah, put it on."
There's several more. Some of the tracks were a little wobbly, but there's some that I'll turn on to listen, and I'm thinking, "Was that Loretta?" Because I was trying to sing just like her. That's why she said, "Quit singing my songs. Don't sing anything I would." She said, "You'll only be compared" and I would have been.
Speaking of Loretta, she's on here with Peggy Sue, and you're all singing "Put It Off Until Tomorrow." What goes through your mind when you hear that song now, and those three voices at the same time?
A lot of different emotions. I wish we could have done an album together, but also I wish we could have performed more shows together. We had actually been talking about doing a family show before her stroke. You know, we always have fun together. We have fun on stage and just rehearsing. We're sisters. She says blood is thicker than water. So, we can argue amongst each other, but someone else gets onto us, we're going to stick up for each other!
"You Don't Know Me" is like a movie in three minutes — somebody drifts by, you can't tell them you're in love with them, then they drift away again.
"You Don't Know Me." If you only knew…. Cindy Walker was the writer on there with Eddy Arnold. Cindy had recorded it and I listened to her version and I chose the lyrics that she put in her version. Some people do the one that Eddy would sing but a couple of lines are different. I've had a few people say, "Well, that's not the line." I said, "That's what's Cindy wrote. I'm singing it!"
Why did you choose to include "There Goes My Everything"?
When I was on the road opening for Jack, my husband would be upset because I couldn't sing it then. [laughs] Because he loved the song. So, he said, "You have to put that on this album!" Of course I would, because I love the song and it was an honor to open for Jack Greene. Incredible singer. I love it when I look back on all the people that I've known and I've seen, and it's just good memories.
You knew them as people, more than just entertainers. That's the wonderful part of this.
I would be backstage when I was working with them and usually there weren't separate dressing rooms. So the women would go in the bathroom and change, and you'd still be in the room where everybody was tuning their guitar or their banjo or their fiddle. It was fun!
Did it strike you then how incredible of an experience you were having at that moment? Or was it just, "Well, this is my career"?
It was incredible to me to be around that type of musicians because I think I felt intimidated. I grew up singing folk music in school, and country, but I'd just play a little guitar and sing. When I started recording, I put the guitar down as far as accompanying myself. I think one of the reasons was because Loretta had, because she used to play all the time. But it was seeing these people and what they could do — and they were all supportive of me. They had always the pat on the back of, "I wish you best." And I love that.
Want to know more about Bob Robbins In The Morning? Get their official bio, social pages & articles on 105.1 The Wolf! Read more
Email bobrobbins@iheartmedia.com


text:
A l'antic Egipte el jeroglífic d'una llebre va ser una representació gràfica de les llebres del desert d'Egipte. Els antics egipcis utilitzaren el nom del sejat per a la llebre.

Als jeroglífics expressa el so biconsonàntic un, de l'ús freqüent a les expressions:
E34:N35 o E34:N35:N35
Com a jeroglífic del so «un», o «unen» és l'ideograma el verb "ser", o "existir" i significa "està", "es", "era", etc. També es troba al nom del faraó Unis, als seus famosos Textos de les Piràmides, on utilitza aquest jeroglífic.

Referències
Notes

Bibliografía
 Schumann-Antelme, i Rossini (1998) Illustrated Hieroglyphics Handbook, Ruth Schumann-Antelme, y Stéphane Rossini. c 1998, Trad. anglès. 2002. Sterling Publishing Co.

Jeroglífics egipcis


If you want the best paper shredding Tulsa has ever seen. Then you have to come to a company they can do it. Our paper shredding services are going to be above anybody else because were so good a paper shredding recently can shred any kind of paper and make it look very easy. All of the wonderful things that we do for you when it comes to document shredding going to really pertain to confidentiality. Were very trustworthy them are going to make sure that these documents get disposed of correctly.
If there is sensitive information on these documents, we can help you get rid of them. Nobody else is going to do a better job at getting rid of these documents that we will. Our services are going to be provided to you by people who truly cared you to be happy about all of these things right now. Please come and see it today and find out just how simple it can be to get everything you need right now for a good price because I'm telling you today were going to be the best option available for you.
If anyone does want to get really great document shredding they need to come and see us because the best paper shredding Tulsa has ever seen is definitely got to be right here. Nobody else does it better than we do we do it on site and we make you feel comfortable. The entire way to meet for goodness sake steps one thing is very hard to find his people, they can actually make you felt comfortable bolt on getting the paper shredding even asking pal.
We find whatever is going to make you most comfortable and we work with that. We dispose of everything including hard drives correctly. There's risk assessments. We can decide is something going to be risky to dispose of. I was getting information compliance development so much more even know how to get the needed education and training on how to do it yourself. Let us help you get everything you need people that come at their documents shredded here love working with us because we keep their information secure. The entire time so many times we see people that don't do it right.
One of the most amazing places to come and get help from is going to be right here to do a great job at getting a paper shredding you could ever ask for. We ensure that there is going to be shredded perfectly and that no information will be lost on those. We love helping people to continue doing whatever we can to help you right now so please give us a call come by. The best paper shredding Tulsa has ever seen is right here. Whatever it is he looking for definitely give us a chance to check with you and see what's up.
If you want to learn more about the wonderful health we have available to let us know we can do to help you. We had the best paper shredding Tulsa has ever seen. Were very easily going to be one of the most amazing companies ever to be really happy to come and see us. We simply love being able to help you do anything you want to. Our services are going to be awesome were to be great.
But I can say about getting your documents shredded right here that you're going to get them done correctly. The wonderful health we help you get things done with this can be great. We worked with the company just like this. The best paper shredding Tulsa has ever seen. You have to come and see us first. Please give us a call come by. Whatever you do, make sure the two analogous there are very few people that are going to be able to help quite like we can. Check us out come by. Whatever you need do it.
Any questions answered. Please let us know we can do to help. We are very easily going to make these situations very sensitive. We have all the information you could ever ask for you to be right here to help. Everything we do is going to be amazing. I promise are going to love you. Please let us know what we need to do right now to be able to help US four. Our services are going to be awesome. You definitely going to look at them and please come by and you'll be able to tell us right now. What kind of document you want to get shredded. Resources are awesome find out anything more about the service we offer. Definitely let us know and we can help you. Our service saying you love getting definitely want to come by your time and time again. As I said, please check us out.


text:
Q: Usage of "On" vs "About" In a recent history essay, I wrote the following sentence:
"As banks began to fail, the regional banks were divided on whether to assist all banks or only member banks."
My teacher corrected the "on", explaining that it should be replaced with "about".
So, is he correct?
Thanks,
~Hom

A: Continuing from where Edwin Ashworth has left, I will show you the links for these core expressions at Google Books:
"divided on whether to"
About 18,600 results
"divided over whether to"
About 19,500 results
"divided about whether to"
About 3,320 results
The first two use the "official" collocations for "to divide," i.e. "on," and "over," the only ones mentioned say by The BBI Dictionary of English Word Combinations. However, my edition is 1997, things might have changed since.
They are also the most frequent.
However, the relatively large numbers of examples with "about," in books that have been written by native speakers clearly of outstanding education (professors, etc.), and which have certainly been checked by some of the most capable editors, indicate that this usage is growing in acceptance, and I for one would not reject it.

redpajama_set_name: RedPajamaStackExchange


text:
9825 7200 View map Search
Home / School principals are learners, too
School principals are learners, too
Michelle Green /
Contemporary schools are expected to prepare their students to become lifelong learners who can adapt to rapid change.
The same applies to teachers, who have regular professional training built into their career structures. At Independent Schools Victoria, we recognise that school principals require similar support. Leaders are learners, too.
That's why we run a number of programs for principals, providing mentoring, networking and professional education throughout their careers. This support starts with our program for new principals in the early stages of their leadership roles.
This is followed by Principals Connect, a new program that offers principals in their third to fifth year the opportunity to learn from scholars, researchers and practitioners from ISV and Project Zero and The Principals' Center at the Harvard Graduate School of Education.
And over the past seven years, close to 30 highly experienced principals have benefitted from taking part in Leading Learning that Matters (LLTM), our program that helps them meet the challenges and opportunities of modern education during a two-year research project.
The research is supported through residential workshops, an international study tour and seminar at Harvard, site visits and meetings with international business leaders, and continuing support from the Harvard team and ISV.
LLTM gives principals a chance to assess and address their school's internal challenges by looking outward. It allows them to survey the international landscape of innovative practices and curricula, consider ways of applying these techniques in their school, and then embark on practical projects that can improve educational processes and ultimately benefit their students.
The current cohort of eight principals has just concluded their first year in the program, which has involved a study tour in the United States that included work with Harvard scholars, and residential programs conducted through ISV. Their involvement continues next year.
Participants are already seeing the benefits.
One of them, Dr Michelle Kearney, principal of Bayview College in Portland, has reflected on the program in an interview with her local newspaper, The Portland Observer.
Her comments highlight one of the benefits – providing long-term stability in school leadership.
'The LLTM program is designed to provide principals with a network, a series of provocations, and strategic skills, to enable them to continue to lead creatively into the future, providing stability for school communities,' she said.
'Being a part of this network and working with Harvard staff made accepting the invitation [to join LLTM] a no-brainer.'
Her particular aim in joining the program is to help Bayview College's strategic planning and its focus on building partnerships in the community.
'The main benefits included joining a network of principals with shared experience, learning the importance of building strong partnerships outside of the school community, and having the courage to be creative as a leader.'
Her comments are particularly heartening for ISV and its staff, again confirming that our investment in leadership is paying off.
Subscribe to our eCommunications
Register to stay up to date with the latest education news and insights
The Parents' Website
Employment Website
isEducation Suite
isConnect
isAnalyse
isLearn
isCommunicate
40 Rosslyn Street
enquiries@is.vic.edu.au


text:
// Copyright 2010 Chris Patterson
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use
// this file except in compliance with the License. You may obtain a copy of the
// License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software distributed
// under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
// CONDITIONS OF ANY KIND, either express or implied. See the License for the
// specific language governing permissions and limitations under the License.
namespace Stact.Workflow.Internal
{
	public abstract class ActivityBase<TInstance> :
		Activity<TInstance>
		where TInstance : class
	{
		readonly Event _event;
		readonly State<TInstance> _state;

		protected ActivityBase(State<TInstance> state, Event @event)
		{
			_state = state;
			_event = @event;
		}

		public State State
		{
			get { return _state; }
		}

		public Event Event
		{
			get { return _event; }
		}

		public abstract void Execute(TInstance instance);
		public abstract void Execute<TBody>(TInstance instance, TBody body);

		public virtual void Accept(StateMachineVisitor visitor)
		{
			visitor.Visit(this);
		}
	}
}


The Audit & Risk Recruitment Company (ARRC) has been engaged to recruit self motivated and driven Internal Audit Manager's for one of the Big 4 practice firms in Bristol. This is an area of the business that is currently undergoing a heavy period of sustained growth, with the potential for further wins.
You will hold a relevant qualification (ACA/ACCA/CIA), and have experience working within an internal audit/ risk management function. We will look at candidates from either a public or private sector background and also consider candidates coming directly from another practice. To succeed in this autonomous role, you will need to be driven, resilient and highly self motivated as you will not be micromanaged. An assertive personality coupled with good communication and interpersonal skills are a must, as is possessing strong stakeholder management.


text:
Q: Is Jmeter allow to select the option/value from the dropdown list In My application which I am testing there is a drop down and I have to select the option/value from the list, After selection the value there is a text field which get auto populated. So can we do the same in Jmeter.
Please share the experience if any body has done.
Thanks in advance!

A: This will be quite difficult.
Selecting the value from the dropdown list is easy.  But then your application probably makes an AJAX request to the server to populate the other values.  So you would have to :

*

*set up a separate HTTP Request which simulates your AJAX request

*parse the HTTP response for the variables you need

*save them into jMeter variables

*use those to populate your next page request (the form submit)

A much easier way is to use some test data which you already know, and just submit your form with those fields hardcoded into jMeter.


text:
Russia Culture Ministry accuse US Netflix of "sneaking into people's heads"
US government supports Netflix to manipulate public opinion, Medinskiy says
Unian
"Our ideological friends, US authorities have quite good understanding of the importance of the art. They know how to use Netflix to sneak into the houses, than into TV and then into people's heads", he said.
According to UNIAN, Medinskiy stressed that the US government supports Netflix not only financially, but by protecting it too.
The internet television network started its work in Russia from January 2016. Federal Service for Supervision of Communications, Information Technology, and Mass Media has decided to regulate Netflix activity in Russia. The Under Secretary of Mass Media and Communication Minister Aleksey Volin stated that the service has to present the mass media or TV Channel license to work in Russia.
Related: Head of Russian Union of fans deported from France
Russia US propaganda media Netflix


text:
Vernon Jordan Dies at 85 [VIDEO]
Roz Edward
Black American Hero and Civil Rights Activist Vernon Jordan Dies at 85.
Vernon Eulion Jordan Jr. (August 15, 1935 – March 1, 2021). Vernon Jordan an American business executive and civil rights activist in the United States passed last night at 85 years old. After working for several Civil Rights Movement organizations, he was chosen by President Bill Clinton as a close adviser and remained close to the Clintons until his death on Monday night. Jordan was revered as an influential figure in American politics throughout his stellar career.
Jordan's remarkable journey from modest origins in Atlanta to national renown as a distinguished, pioneering attorney, businessman and civil rights leader; and as an influential powerbroker and counselor to American presidents spanning the era from LBJ to Barack Obama.
Jordan, 85, a partner at corporate law firm Akin Gump Strauss Hauer & Feld and a principal at financial behemoth Lazard, achieved extraordinary success throughout his career endeavors, paving the way for people of color in the realms of business, law and politics.
Tracking his meteoric rise to power and fortune, and the sacrifices he made along the way, the PBS documentary Vernon Jordan: Make It Plain follows one man's attainment of the American dream as he achieved success on his own terms.
Jordan's cause of death has not yet been disclosed, although he is believed to have died from natural causes.
Tags: Barack Obama, Bill Clinton, Hillary Clinton, LBJ, National Urban League


Full service, branding and marketing agency specialising in design, web development and the management of large scale multi-channel, online marketing strategies.
We are a full service, branding and marketing agency specialising in design, web development and the management of large scale multi-channel, online marketing strategies. We can offer your brand a truly integrated digital experience taking your project from the initial stages of brand conceptualisation, right the way to the delivery of commercially focused, multi-channel online marketing campaigns.
Design Lobby is a friendly creative studio established in 2011. We provide high quality branding, web design and online marketing services to a wide range of clients, working with everyone from start-up businesses to leading national brands.
DM CUBED LTD own, operate and develop online dating websites and apps. Our portfolio of sites covers a range of niches and many geographic regoins. We originally started with traditional web based sites, migrated to mobile web and now to iOS and Android apps. Ethics, privacy and secuirty are key drivers as well as providing our dating services for free.
Our latest app based product is called ooOo® and is our focus for the future.
We are an integrated branding and web design agency with a people-focused mindset. We put our clients' services, brands or products 'front of mind' and create solutions that deliver ROI.
magneticNorth (or mN to our nearest and dearest) is an independent, multi-award winning digital design company. We've been doing digital since 2000 and in that time we've created an unrivalled collection of digital firsts for some of the world's most interesting companies and brands. Whether it's a Smart TV app, a Smart city solution or a good old fashioned website, our approach is firmly focused on large scale engagement of people in new and interesting ways.
A results-driven digital agency offering web design, marketing and online strategy to a close-knit community of clients. We like to form deep-rooted partnerships with our customers - with relationships built on trust and ongoing improvements rather than lengthy contracts.
We are industry specialists with strong links to the manufacturing sector. Managing Director Rick Lees has worked as a digital consultant with the Manufacturing Advisory Service and the Business Growth Service.


text:
Business Education & Training
Discounts For Your Business
Online Contractor Forum
Financing For Your Customers
Industry Trend Research
Giving Back To The Industry
Cracking the Code Show
Unfiltered Show
Business Blueprint
Sample Training Packages
About EGIA
The Nonprofit Difference
Utilities & Government
Marketplace Vendors
Careers at EGIA
Brand Tools
Edit Your Account Log In Join Now
The Ultimate Educational Experience for Contractors
Financial Structure: From Novice to Expert
By Gary Elekes - October 1, 2018
Many of our contractors came up through the school of hard knocks, learning the trade from the ground up, studying the mechanical aspects of the trade. It is a fantastic way to be sure the technical aspects of our business are covered; after all, what we do requires us to be able to solve mechanical issues and application work.
However, as many companies grow due to the Michael Gerber "E-Myth Contractor" model -- that the better we are technically, the more referrals and growth we get, causing us to reach our own Peter Principle -- our inability to control the new business as well when we hire folks.
The E-Myth is classic text, defining the very idea of why a company can prosper in one phase then struggle in the next phase, and therein lies what this material is all about. The technical phase is where we start, growing as an entrepreneur, then finally becoming more of a managerial company -- IF we make the steps of the progression happen.
The business of business requires us to layer on in that growth phase (and even BEFORE the growth phase) financial structure. The growth (entrepreneurial) phase is where many get into trouble.
The idea of financial structure is simple: have the company's accounting and reporting capability such that an owner gets the right information, on a timely, accurate basis.
The PURPOSE of financials is: to give a clear indication of how a company's operational practices are performing in reality.
This sounds simple in the vacuum of a business article. Timely, accurate, interpret -- simple words but rather tough to execute day in and day out in the real world, where so many areas of static are attacking the business like cruise missiles coming in one after another.
Financial structure starts with knowing there are three financial statements:
The Projected Cash Flow Statement
Now most all basic software packages have these as statements which need to be set-up, but they do NOT come organized for the homes service trades. In fact, it's all ordered by the alphabet and, well, we don't run our business by the alphabet, so we have to take the 1st step:
Configure your chart of accounts
This is one of the biggest challenges we see. It is a recipe of sorts, and we use the GAAP (Generally Accepted Accounting Principles) to define it. What is crazy is they rarely conform to the GAAP standards, thus making it very difficult to review KPI's and compare your company to other great companies for operational changes.
Review the EGIA suggested chart of accounts for each statement. They exist based on GAAP and an example is the burden (benefit costs for field labor) – these costs are a "cost of goods sold (COGS)", and most companies do not have them attached as a chart of accounts in COGS. FICA, FUTA, SUTA are all attached to payroll, and are part of the benefit burden along with Dental, Medial, Vacation, Holiday Pay, Paid Time-off, etc.
A basic income statement example may look like this, given that revenue (sales) is simple and already understood:
Revenues (sales)
Gross Profit $
Overhead (operating expenses)
Now if you have this in your company operating expenses and not as a cost of goods sold, your gross profit is all wrong, so the accuracy issue is now a problem. Your data is misleading you, and this affects your pricing and even operational discussions.
The basis of having a properly organized chart of accounts is to be sure that our reporting and data are telling us what OPERATIONS are actually performing. A more refined version of the Income Statement may look like:
Revenue 100
Direct Labor 9
Burden on Labor 3
Permits 1
Parts/Materials 7
Subcontracts 1
Rebates/Financing-Promotions 2
Extended Warranties 2
Warranty Expense Plan 1
Sales Commissions 6
Total Cost of Goods Sold 57
Gross Profit Dollars 43
This of course is over simplified, but we are talking about structure. The next layer is the operating expenses. These expenses are very different than cost of goods sold-type expenses, in that they exist whether we sell anything or not. Rent is an example. It's due even if we have a poor sales month.
We should group those into 5 categories and make them sub groups.
Employee Related Expenses
Vehicle Related Expenses
Plant & Equipment Expenses
These five areas are called functional areas of operating expenses: we function to make a sale happen and then produce it.
Once again, we can review the EGIA chart of accounts and budget tools to help us define these accounts. When we allocate our costs in real life to the proper areas, we begin to see a picture emerge of our operating practices.
The second major lesson in this discussion is departmentalization. Once a company has the basic structure of what the accounting should look like, we need to execute the same idea across all business segments. So add-on is an income statement; service will have its own income statement; as will maintenance, light commercial, and so forth. Any business segment a company has that is important to its success needs to be accountable and tracked as a part of a departmental statement. Once again, giving clear, timely, accurate, and interpreting meaning for each segment.
And once we have this, we can effectively use "Key Performance Indicators" (KPI's) to compare our operations to the best of the best and make adjustments.
The KPI's are broken down by each business segment so we can analyze operations and be very definitive about our patterns of success and what may need to adapt.
There is a great deal more to all these conversations, and ideas, so feel free to reach out to EGIA and learn more. The model of success exists and is waiting for you as a contractor to take action. Get control, get timely, get accurate, and learn the next phase of how to grow by becoming more effective at being a manager not just technically superior.
Gary Elekes
President, EPC Training
Gary Elekes is serial entrepreneur with a passion for helping others become more successful by sharing what he has learned over the past 3 decades working closely with all facets of the contracting industry. During his career, Gary has held senior management positions at Lennox and Service Experts. In 2000, Gary moved into entrepreneurship and started his training and consulting business EPC. Today, EPC continues to support growth oriented businesses aspiring to reach 20% EBIT. He also designed the very first web based learning platform for the residential contracting industry, which acts as a support system for training and learning in HVAC and plumbing trades, and has over 5,000 subscribers.
In 2003, Gary began acquiring contracting firms with a focus on developing turn-around opportunities. He also opened and operated several start-up businesses. In 2010, he added web design/SEO and online marketing to his company portfolio starting Imarket Solutions as a co-founder. Gary graduated from Ohio State University with a BSBA and also holds a Master's Degree in Business and Finance.
Sign-Up for Free Educational Emails from EGIA
3800 Watt Ave, Suite 105
Contact Us • Privacy Policy • Terms of Service


text:
Posts tagged "Food Facts"
February 21 is Pancake Day
Many celebrate today with rolled thin pancakes topped with caster sugar(powdered) a dash of lemon juice and a dollop of jelly or jam
slidebean.com
Here are today's five thing to know about Pancake:
Throughout Europe most people celebrate Shrove Tuesday with pancakes
Pancakes are associated with the day before lent because it was a way to use up "rich foods" such as eggs, milk, & sugar, before the 40 days fast begins
The word 'shrove' refers to an old English word shrive meaning 'confess'
Most people call today Mardi Gras, which in French means Fat Tuesday. Marking seven weeks before Easter Day.
In Iceland they celebrate today with salted meats, fish, and peas. Known as Sprengidagur (Bursting Day)
Today's Pinterest Board : Foodimentary
1554 Hieronymus Bock died. A German botanist whose work contributed to the transition from medieval beliefs to modern science.
1741 Jethro Tull died. He was an English agriculturalist and inventor whose ideas were instrumental in the development of modern English agriculture. One of his inventions was a horse drawn seed planting drill that sowed 3 even rows of seeds at once. (1701). The music group 'Jethro Tull' was named for him.
1858 Edwin T. Holmes sells the first electric burglar alarm in the U.S., in Boston, Massachusetts. His workshop was later used by Alexander Graham Bell.
1895 Carl Peter Henrik Dam was born. Dam was a Danish biochemist who discovered vitamin K in 1939.
1927 Erma Bombeck was born. Writer, humorist, you will find some of her quotes about family and food on the Food Reference website.
1931 Alka Seltzer was introduced.
1985 Nathan Pritikin died. A nutritionist who believed that exercise and a low fat, high unrefined carbohydrate diet helped reverse his own heart disease. He founded the Pritikin Longevity Center in 1976.
1989 The USDA approved 'Simplesse,' a low calorie fat substitute.
1994 Whirlpool began manufacturing a refrigerator that was significantly more efficient, and did not use freon. Freon has been implicated in the destruction of ozone in the atmosphere.
Categories: February food holidays, Food Holidays
Tagged: caster sugar, dollop, easter day, fat tuesday, Food Facts, mardi gras food, original social media foodie, pancake day, shrove tuesday, social media foodie, thin pancakes
Most call it Fat Tuesday, Some call is Shrove Tuesday, I call it Pancake Day!
Five Food Facts about Shrove Tuesday
1. Throughout Europe most people celebrate Shrove Tuesday with pancakes
2. Pancakes are associated with the day before lent because it was a way to use up "rich foods" such as eggs, milk, & sugar, before the 40 days fast begins
3. The word 'shrove' refers to an old English word shrive meaning 'confess'
4. Most people call today Mardi Gras, which in French means Fat Tuesday. Marking seven weeks before Easter Day.
5. In Iceland they celebrate today with salted meats, fish, and peas. Known as Sprengidagur (Bursting Day)
Know your shrimp!
Did you know? All shrimp were not created equal. Here are a few tips on telling the good from the bad. Shrimp are marketed and commercialised with several issues in mind. Most shrimp are sold frozen and marketed based on their categorisation of presentation, grading, color, and uniformity. The main forms of presentation are head on shell on (HOSO), shell on (SO or "green headless shrimp"), peeled tail on (PTO), peeled undeveined (PUD), peeled and deveined (P&D), and butterfly tail on (BTTY-TO). Sometimes a letter 'F' is placed in front of these abbreviation for the presentation in order to state that the shrimp comes from a farm (example: FSO – farmed, shell on). European and Asian markets prefer the HOSO presentation (which is a…
Categories: 101 - lessons in food, Daily Food History, Encyclopedia, Food Facts
Tagged: coloring, facts, food, Food Facts, food finds, foodimentary, fun, fun facts, history, life, presentation, shrimp, shrimp grading, shrimp marketing, shrimp types, uniformity, weight, wordpress
Origins of Pigs in a Blanket
Did you know that pigs-in-a-blanket may be as old as the 1600's? Despite rumors that it is an invention as modern as 1957, field laborers in the England of the 1600's had what was essentially the same dish. Putting meat inside of dough was an obvious solution for a quick and nourishing meal on the go. The earliest written record of the modern dish is in Betty Crocker's "Cooking for Kids", which was published in 1957. However there are various personal testimonies claiming to have enjoyed this dish before the book's publication. There is a trucker legend that puts its creation at an even later date, some time in the 1960's, attributing its creation to a diner along route 66 in Oklahoma. Still other…
Tagged: facts, food, Food Facts, foodimentary, fun, life, pigs in a blanket
Origins of Sushi
Did you know that sushi was the world's earliest form of Tupperware? Sushi became popular when Japanese fishermen realized that you could wrap fish and other meats inside sticky rice to cause it to ferment much more quickly. The fermentation of the meant prevented damaging bacteria from being able to thrive within it. Sushi has a very interesting origin that has lasted for centuries and continues to be a very popular food source today. Sushi is made with a combination of shellfish, cooked or raw fish, vegetables, and seasoned rice. Although Sushi is most commonly linked to the Japanese heritage, it actually began in China during the 7th Century. At that time, any fish caught had to be preserved. The only method possible was by fermentation. Raw fish was cleaned,…
Tagged: facts, food, Food Facts, foodimentary, fun, history of sushi, life, origins of sushi, sushi, wordpress
A History of Cheese
Did you know that cheese is one of the oldest and most diverse foods in the world? Every major civilization in history has records of their creation and use of cheese. Archaeologists have discovered that as far back as 6000 BC cheese had been made from cow's and goat's milk and stored in tall jars. Egyptian tomb murals of 2000 BC show butter and cheese being made, and other murals which show milk being stored in skin bags suspended from poles demonstrate a knowledge of dairy husbandry at that time. Cheesemaking, thus, gradually evolved from two main streams. The first was the liquid fermented milks such as yoghurt, koumiss and kefir. The second through allowing the milk to acidify to form curds and whey.…
Tagged: cheese, facts, food, Food Facts, foodimentary, fun, history, history of cheese, life, wordpress
A Legend is Born: Coca Cola Founder's Day
Did you know that Coca Cola comes from the use of coca and kola? Originally intended as a patent medicine when it was invented in the late 19th century by (Doc) John Pemberton, Coca-Cola was bought out by businessman Asa Griggs Candler, whose marketing tactics led Coke to its dominance of the world soft-drink market throughout the 20th century. Food Finds for Coca Cola Coca Cola was first invented by a pharmacist name John Pemberton as a medicine to cure headaches. Coca-Cola is called "Coca-Cola" because of the original ingredients used in the medicine, Coca leaves and Kola seeds. Wine was also added in place of sugar similar to the coke we drink today. When Mentos is added to Coca-Cola, the carbon dioxide in the…
Categories: Encyclopedia
Tagged: atlanta, coca cola, coke, facts, food, Food Facts, foodimentary, fun, historical, life, patent medicine


text:
Joseph Boudreau
(412) 624–9022 boudreau@pitt.edu
Joe Boudreau works on the ATLAS experiment at CERN, the European Center for Particle Physics which is located in Geneva, Switzerland, where protons are collided at the world's highest energies. In the past he has worked on the CDF experiment at the Tevatron proton-antiproton collider, and on the ALEPH experiment at the LEP electron-positron collider. His main pursuit in each of these experiments has been precise measurements of the properties of elementary particles, including the Z boson, b-flavoured hadrons, and most recently the top quark, which is the world's most massive particle. He also specializes in computing and software and is an expert in visualization of collision events.
Analysis of the Wtb vertex from the measurement of triple-differential angular decay rates of single top quarks produced in the t-channel at √s=8 TeV with the ATLAS detector, ATLAS Collaboration, arXiv:1707.05393 (2017), submitted the the Journal of High Energy Physics.
The fully differential top decay distribution, J. A. Aiguilar-Saveedra, J. Boudreau and J. Mueller, European Physical Journal C 77 (2017) 200
Deconvolving the detector in Fourier space, J. Boudreau, C. Escbobar, J. Mueller, and J. Su, Proceedings, 17th International Workshop on Advance Computing and Analysis Techniques (ACAT 2016): Valparaiso, Chile January 18-22 2016, J. Phys. Conf. Ser. 752 (2016) no 1 012041
Search for anomalous couplings in the Wtb vertex from the measurement of double differential angular decay rates of single top quarks produced in the t-channel with the ATLAS detector, The ATLAS Collaboration, JHEP 04 (2016) 023
Measurement of the Bottom-Strange Meson Mixing Phase in the Full CDF Data Set, T. Aaltonen et al., Phys. Rev. Lett. 109, (2012) 171802
Measurement of the CP-Violating Phase βs in B0s →J/ψφ Decays with the CDF II Detector, T. Aaltonen et al., Phys. Rev. D85 (2012) 072002
Measurement of b hadron lifetimes in exclusive decays containing a J/ψ in pp̅ collisions at √s=1.96 TeV, T. Aaltonen et al., Phys. Rev. Lett. 106 (2011) 121804
Measurement of the inclusive and dijet cross-sections of b→jets in pp collisions at √s=7 TeV with the ATLAS detector, G. Aad et al., Eur. Phys. J. C 71 (2011), 1846
The ATLAS Simulation Infrastructure, G. Aad et al., Eur. Phys. J. C 70 (2010) 823-874
Formulae for the Analysis of the Flavor-Tagged Decay B0s → J/ψφ, F. Azfar et al., JHEP 11 (2010) 158
Measurement of Lifetime and Decay-Width Difference in B0s → J/ψ φ Decays, Phys. Rev. Lett. 100 (2008) 121803
First Flavor-Tagged Determination of Bounds on Mixing-Induced CP Violation in B0s → J/ψ φ Decays, Phys. Rev. Lett. 100 (2008) 161802
Graduate Advisor
Runyu Bi


Tequila 5 Años belongs to "Agaves Selectos" a company founded in 1998 by a direct descendant of Don Antonio De Aceves (Javier Aceves), founder of picturesque town in 1821, where he distills this fine tequila.
-He had barrels aging Tequila, which has been abandoned for over 5 years.
-It took him 5 years of hard work to set up his first Tequilera.
-He tried to register 5 brands, and this one was actually the first admitted.


Public AppearancesKrysten attending various premieres, award shows, and other events.
Film ProductionsPosters, stills, screen captures and more from movie projects.
Television ProductionsPosters, stills, and screen captures from television shows.
Photo SessionsKrysten posing for outtakes, portraits, and more.
Magazines & ScansScans of Krysten featured in various magazines.
Other ProjectsKrysten's other projects including ad campaigns, music and more.
There is 1 registered user. The newest registered user is admin. In total there are 26 visitors online: 0 registered users and 26 guests. Most users ever online: 79 on 01/08/19 at 22:37. Registered users who have been online in the past 10 minutes: .