(11/P31) TRENTON - In furtherance of Governor Chris Christie's Executive Order No. 2 that seeks to establish "Common Sense Principles" to govern New Jersey, the Department of Environmental Protection has proposed a rule to enable it to remove unreasonable impediments to economic growth while ensuring net environmental benefit for the state.
Developed through extensive consultation and meetings with environmental advocates, local government officials and the business community, the rule would permit the Department to waive strict compliance with regulations in certain limited circumstances that do not compromise protections for the environment or public health.
"We must understand that policies adopted in Trenton affect employers, job creators, local governments and families throughout the State," added Commissioner Martin. "We have an opportunity to change how government operates in a positive way. We can cut through unnecessary red tape and provide real solutions to real-world problems, while maintaining our high protective standards."
"This proposal would not allow waivers to be routinely or commonly granted," said Commissioner Martin. "The application of any waiver must be site- and fact-specific. It cannot compromise protections for the environment or public health. In fact, most waivers will result in greater net environmental benefit for New Jersey."
Under the rule, the DEP would consider whether a proposed waiver is consistent with the Department's core mission; whether the waiver is consistent with the intent of any underlying statute; whether the site is a redevelopment or brownfield; and/or whether a net environmental benefit would be achieved by granting the waiver.
A waiver would not be granted in any case inconsistent with any State or Federal laws, regional air agreements, emissions trading programs, or health and safety standards. Permit fees also cannot be waived. The review process would be transparent: all applications to and approvals by DEP would be publicly noticed.
When promulgating its rules, the Department cannot anticipate every circumstance or personal hardship that may exist. The standards of each chapter are designed to capture nearly all situations that could come before the DEP. Strict compliance with a regulatory provision can, in some limited circumstances, lead to unreasonable, unfair and unintended results, which can adversely affect not only prospective applicants, but also the public and the environment.
The proposed rule, published this week in the New Jersey Register, is available online at http://www.nj.gov/dep/rules/notices.html.
A public hearing on the waiver proposal is scheduled for April 14 at 3 pm, in the DEP's public hearing room at 401 East State Street in Trenton. Written comments may be submitted through May 6 to: Gary J. Brower, Esq., ATTN: DEP Docket No. 03-11-02, NJDEP, Office of Legal Affairs, 4th Floor, PO Box 402, Trenton, NJ 08625-0402.


text:
| Home | China Travel | China Life | China Culture | China Facts | China Map | History of China | China News |
Home >> History of China >> Index
History of China
China boasts for more than 5,000 years of history which begins with the Shang Dynasty (ca. 1550BCE - ca. 1046 BCE). History of China has progressed through five major stages - Primitive Society, Slave Society, Feudal Society, Semi-feudal and Semi-colonial Society, and Socialist Society. During the ancient era society, there were more than 5 dynasties in history of China, including Xia dynasty, Shang dynasty, Zhou dynasty, Spring and Autumn Period, Warring States Period. After tha, China went into the Imperial Era including Qin Dynasty, Han Dynasty, Wei and Jin Period, Wu Hu Period, Southern and Northern Dynasties, Sui Dynasty, Tang Dynasty, Five Dynasties and Ten Kingdoms, Song Dynasty and Liao, Jin, Western Xia, Yuan Dynasty, Ming Dynasty and Qing Dynasty. In modern era, there are two period, including People's Republic of China and 1949 to Present. Chinese civilization originated in and along the Yellow River (China's mother River) in the Neolithic era.
Prehistory Era of China History (1.7 million years - the 21st century BC)
One million years ago, China was inhabited by Homo erectus. It was said that the earliest human being in China was known as Yuanmou Man who lived lived 1,700,000 years ago. Yuanmou Man's Heritage sites were found in Yunnan Province in Southern and Western China. Besides Yuanmou Man, There were two kinds of Human being living in China. They were Lantian Man and Peking Man. The earliest man used the simple tools in their life in the whole Paleolithic Age. China is a great cradle of Human being civilization. In recent years, many new ancient human being sites were found in mainland China. Read More
Neolithic
After Paleolithic Age , China come into the Neolithic Age, which can be dated back to 10,000 BCE. People in this age learned how to use advanced tools to keep living and getting more food and resources. They learned how to carve and spin. Life became easy with the growing knowldege. People in Neolithic age could built their simple house and making simple clothes. The Yellow River, China's mother river become the civilization cradle for the 5000 years of history. The famous Banpo Culture which was discovered in Banpo, Xian became the earliest culture. Read More
Ancient Era of History of China (21st BC - 221 BC)
Xia Dynasty (21st - 16th century BC)
It was said that Xia Dynasty was the first dynasty of China. Xia Dynasty was lasted from from ca. 2,100 BCE to 1,600 BCE. Xia Dynasty played an important role in history of China. It's establishment put an end to the Chinese primitive society and began to come into the Class society. Until now, there are many people douted about the existence of Xia Dynasty. But more and more evidence foud in recent years proved that Xia Dynasty existenced in history of China. Xia Dynasty's people mainly live around Henan Province, China. Read More
Shang Dynasty (16th - 11th century BC)
After the Xia Dynasty, China came into the second dynasty, Shang Dynasty which was also called Yin Period. Because the capital of Shang Dynaty was located in Yin, a village in Xiaotun, in Anyang City of Henan Province. It was said that Xia Dynasty's last emperor, whose name is Jie, was a tyrannical. Jie was a rude emperor who served his people badly and finally overthrowed by a a tribe living in the lower regions of the Yellow River . The leader of the tribe was Kng Tang, who established Shang Dynasty. Read More
Zhou Dynasty (11th century BC - 771 BC)
The last emper of Shang Dynasty was King Zhou, who was very cruel to his people. King Zhou was also a cosher to his imperial concubine, whose name in Chinese was Daji. At the same age, there was a strong tribe in the Yellow River Valley, whose learder is Zhou Wenwang. He was too old to overthrowed the Shang Dynasty. He asked his son Ji Fa to attact Shang Dynasty and became the King of Zhou Dynasty. Zhou Dynasty lasted from from 1045 to approximately 221 B.C.E. It may be one of the longest dynasty in history of China. Read More
Spring and Autumn Periods (770 BC - 476 BC)
Spring and Autumn Periods was belong to Western Zhou Dynasty. Zhou Dynasty was divided into two parts, Western Zhou and Eastern Zhou Dynasty. The capital city of Western Zhou Dynaty was located in Fengyi which was near to today's Xian City, Shaanxi Province. The most famous activity in Spring and Autumn Periods maybe the Hundred Schools of Thoughts, including Confucianism, Taoism, Legalism and Mohism. They are the most read and know ancient Chinese philosophy in the 5000 years of History of China. Read More
Warring States Period (476 BC - 221 BC)
In Eastern Zhou, there were many states in and around the Yellow River. At this time, Zhou was always invaded by the north people like Qin to force Zhou moving their capital from Xian to Luoyang, Henan Province. After several years of battling, there were seven strong states remained by the end of 5th century BCE. These few states continued to fight each other. These period was call the Warring States Period. These states including Qi, Chu, Yan, Han, Zhao, Wei, Qin states. Among them, Qin was the most strong states. Its leader, Ying Zheng made great effort to unify the other six states, which enabled him to proclaim himself the First Emperor. So the Qin Dynasty was found at this stage. Read More
Imperial Era of History of China (221 BC - 1911 AD )
Qin Dynasty (221 BC - 206 BC)
After Ying Zheng, the first emperor in Chinese history, established his States, Qin Dynasty, He unified the whole China's use of money and Character. His political action made China become the first power centralized state. It was also the first Chinese imperial dynasty. Qin Dynaty lasted from 221 BC to 206 BC. There were only two emperors in this dynasty including Ying Zheng and his son Hu Hai. Although not a long dynasty, it played a very important role in history of China. It also leaved the most valuable historical sites for people to day, including the famous Great Wall of China and Terra Cotta Warriors. Read More
Han Dynasty (206 BC-220 AD)
Qin Dynasty's brutal political system made its people unbearing for living. Two people's uprising buring the Qin's palace Epang Palace. The army leaders Liu Bang and Xiang Yu conquered most troops of Qin Dynaty. Finally, Liu Bang sized Xian Yang, capital city of Qin Dynasty and overthrewed the first imperial dynasty. After several years of war with Xiang Yu, another strong and famous genral, Liu Bang finally won the whole war and established his own state, Han Dynasty, making Changan (Today's Xian, Shaanxi Province) its capital city. It was also the first dynasty embraced the philosophy of Confucianism. Read More
Three Kingdoms Period (220 - 280)
In the end of Eastern Han, there were three states in China. They were Wei States, leaded by Cao Cao, Shu States, leaded by Liu Bei, and Wu States, leaded by Sun Quan. Cacao's reign was in Noth of China and Shu state located in Western China and Wu states seized the eastern of China. There many big wars between these three states which leaded to its name Three Kingdoms. Each state made great effort to develop the economy and improve its army power. Among them, Cao Cao was the most strong states leader who want to unify the whole country. Read More
Wei and Jin Period (265 - 316)
Each state of the three kingdoms anounced its emperor and their own dynasty. After Cao Cao died, his son Cao Pi proclaimed himself the emperor of Wei States, making Luoyang as its capital city. At the end of Wei dynasty, a chancellor whose name is Sima Yan forced last emperor of Wei to turn over his throne and become the emperor of Jin Dynasty which can be seprated into two parts the Western Jin Dynasty (265 -316) and the Eastern Jin Dynasty (317 - 420). Being based on the strong economy and army power, Sima Yan lead its troops to attract the other two States and unify the whole Country. Read More
Wu Hu Period (317 - 420)
During the Jin Dynasty, there were also many wars between each states. At the same time, the normandic ethnic grops in western and northern China took the chance to invade the south China, including Chengdu, and most western Yangtze River area and the central plains of China. They set up many states which was call sixteen Kingdoms. At this period, China came into a process of assimilation for Han-Chinese with other ethnic groups people. Because the continued warring made people's living misery, Buddism developed quickly in this period. It was also the most popular religion in the following dynasties. Read More
Southern and Northern Dynasties (386 - 589)
In the end of Eastern Jin Dynaty, China went into the Southern and Northern Dynasties. In the north of China, most territories were controled by the normandic ethnic groups, including Xianbei ethnic group. Xianbei ethnic groups leader Tuoba conqured the other states and unified the north of China. These ethnic grops's civilization continue to develop and grew faster in economic. In the south of China, there were four states, including Song, Qi, Liang and Chen. Among them, Song was the largest states and lasted for the longest period. Read More
Sui Dynasty (581 - 618)
Sui Dynasty was set up in 581 and finally collapsed in 618 by Tang Emperor. Althou it only lasted for 38 years, it played a very important role in history of China. Many institutions established in Sui Dynasty were adopted by the following dynasties and emperors. Sui Dynasty brought the fragment Chinese people together and reunited the whole country. The economy and political system developed quickly at this time. Hower, Emperors of Sui Dynasty were not wise enough to keep this long. Three of its emperors, especially Emperor Yang, were another tyrannical like the Qin Shi Huang in Qin dynasty. Overuse of the political power lead to the collapse of Sui Dynasty. Read More
Tang Dynasty (618-907)
Tang Dynasty was established in 618 by Tang Gaozu, who took the throne on June 18. Tang Dynasty was the most important dynasty in history of China. It may be the most prosperous and innovative age of China ancient history. Tang Dynasty made a great achievement in economic, political, culture, military strenth and technology. Many of Tang's emperors were known by modern Chinese people such as Tang Taizong, whose name is Li Shimin. Many operors today showed this great dynasty. It's capital city Changan, today's Xian City was the largest and also the most prosperous international city at that time. But Tang Dynasty was finally declined in 907. Read More
Five Dynasties and Ten Kingdoms (907-979)
After the decline of Tang Dynasty, China came into a disunity period which lasted for more than 50 years from 907 to 960. During this time, another military learder Zhu Quanzhong estalished his own dynasty which was called later Liang, following by Later Tang, Later Jin, Later Han and Later Zhou. These dynasties were so called Five Dynasty. In the same time, China's west and south were controled by the military departments of Tang dynasty. They called themself the kingdoms. There were ten kingdoms at that time, which was called Ten Kingdoms in history of China. They were Southern Wu, Southern Tang, Wuyue, Souther Chu and Southern Han, Former Su, Later Su, SoutherN Ping and Min. Read More
Song Dynasty (960-1234)
Song Dynasty was established in 960 and collapsed in 1234. There were two dynasty in Song including Northern Song Dynasty and Southern Song Dynasty. Song Dynasty made a great success in economy and political development. So Song Dynasty was also called a porperous age after Tang Dynasty. The first emperor of Song Dynasty was Zhao Kuangyin, who was a military general of Later Zhou in Five Dynasties. Song Dynasty set up its capital city in Kaifeng, Henan Porvince. Hower in late Nother Song Dynasty, the political class was fell into the corruption seriously which lead to the decline of Song Dynasty. At this time, Jin dynasty was tried its best to overthrewed the Norther Song. So the Nothern Song collapsed. Read More
Liao Dynasty (1271-1368)
During the Nothern Song Dynasty, another kingdom in Notheast of China was ruled by an ethnic minoriy fo China Qidan(Khitan) whose emperor was Yelu Abaoji. Abaoji made the Qidan kingdom into Liao Dynasty, setting its capital in Balin Left Banner, today's Inner Mongolia. Qidan people belong to Nomandic nation and has the habit of animal husbandry and hunting and fisery. Influenced by the Han people, Qidan learned the technoloy and methods of production including construction, ceramics, mining, texttile and other Han's production modes. Trade between Qidan people and other nationality was oftenly. Read More
Jin Dynasty (1271-1368)
During the era of Liao Dynasty, there were a ethnic minority in North China rised and became a unity. This ethnic minority was called Nuzhen by Chinese people and its leader whose name was Wanyan Aguda established the Jin Dynasty in Heilongjiang Province, setting the capital in Yanjing (ancient name for Beijing) and finally moved to Bianjing, today's Kaifeng in Henan province. After the establishment of Jin Dynasty, Nuzhen group attacted Liao dynasty for many times and captured many important cities of Liao Dynasty. Jin Dynasty finally ended the rule of Nothern Song after they seized its capital, Kaifeng. After the Nothern Song Dynasty, the royal family moved to the south China to establish Southern Song. Read More
Yuan Dynasty (1271-1368)
In late Southern Song Dynasty, there were three minorities in the north China, Nuzhen, Mongolian, and Xixia. Among them, Mogolian is the strongest tribe. Its leader Tiemuzhen had great ambition to unify the whole country and control the whole world. He ended the internal conflicts between the tribes of nothern Mongolian tribes and established a strong and rich Mongolian empire. After several wars to the Xixia and Jin Dynasty, he captured both of the areas and attempt to captured the Southern Song Dynasty. In 1260, son of Tiemuzhen, Kublai Khan took the throne and became the emperor of Yuan Dynasty, making its capital in Beijing. Several years later, Kublai Khan lead its army to conquered Southern Song dynasty and unified the whole country. More
Ming Dynasty (1368-1644)
Ming Dynasty was established by a peasant's uprising leader, Zhu Yuanzhang, a farmer's son. He joined the peasants army in 1352 when the peasants army captured Haozhou, today's Fengyang in Anhui Province. After he joined the army, Zhu Yuanzhang did a great job in leading his army and became a leader of the army. Several years later, he established his army base in Yingtian, today's Nanjing in Jiangsu Province. Zhu and his army developed quicly in economy and military strenth. They captured Yuan Dynasty's capital City Dadu, today's Beijing and Zhu proclaimed himself emperor. Thus the Ming Dynasty was began in 1368. During the reign of Zhu Yuanzhang, Ming dynasty became a prosperous country and achieved development in culture. Read More
Qing Dynasty (1644-1911)
In the late of Ming Dynasty, peasants rebles occured in many places of China. An army leader of them, Li Zicheng, firstly captured Beijing and overthrown the Ming Dynasty. In the same time, The Manchus, a minority ethnic in Notheast China allied with Wu Sangui who was a general of Ming Dynasty to fight with Li Zicheng's army and controled Beijing, which became the capital city of Qing Dynasty. After Qing Dynasty set capital in Beijing, the court government carried out several policies to revive the economy and social development. The rulers of the dynasty continued to strenthen the centralized system in government. After several years of development, Qing Dynasty became very prosperous and strong in economy and army, appearing emperors like Kangxi, Qianlong. More
Modern Era of History of China (1911 - 1949 )
People's Republic of China (1911-1949)
In the late Qing Dynasty, great change happend in the world. Many foreign western countries became industrial country and have more goods to sell to the eatern country and China. In order to protect the domestic development, Qing dynasty closed its connection with the foreign country. But the western tried every efforts to open the market of China. The Britan continued to push its opium in to China and many Chinese people became drug addictive. In order to prhibit the drug come into China, the Opium War erupted in 1840. Because Qing governments weekness, Britain seized Hong Kong as its colony. In order to overthrow the outdated imperial Dynasty, many young Chinese who influenced by revolutionary leader, Sun Yat-sen began to join. Read More
1949 to Present (1949-present)
After three years of domestic wars with KTM (Kuomingtang, Nationalist Party of KTM), Communist Party of China established the New China, prolcaimed as People's Republic of China. Kuomingtang's leader Chiang Kai-shek who was a protégés of Sun Yat-sen moved to Taiwan and make Taiwan as their base. Since the founding of People's Republic of China, great development in economc and political was achieved by the great efforts of Chinese people. Especially the leadership of Deng Xiaoping, China come into a modern and developing country. People's life have been improved greatly and now China has become the most important country in the world economy and political development. Great development in education, public transport, high-end technology achieved every day. Read More about Modern China.
| About Us | Contact Us | Copyright | Terms & Conditions | Privacy Policy | Advertising With Us |

redpajama_set_name: RedPajamaCommonCrawl


text:
static INT64                    g_Time = 0;
static INT64                    g_TicksPerSecond = 0;

static HWND                     g_hWnd = 0;
static ID3D10Device*            g_pd3dDevice = NULL;
static ID3D10Buffer*            g_pVB = NULL;
static ID3D10Buffer*            g_pIB = NULL;
static ID3D10Blob *             g_pVertexShaderBlob = NULL;
static ID3D10VertexShader*      g_pVertexShader = NULL;
static ID3D10InputLayout*       g_pInputLayout = NULL;
static ID3D10Buffer*            g_pVertexConstantBuffer = NULL;
static ID3D10Blob *             g_pPixelShaderBlob = NULL;
static ID3D10PixelShader*       g_pPixelShader = NULL;
static ID3D10SamplerState*      g_pFontSampler = NULL;
static ID3D10ShaderResourceView*g_pFontTextureView = NULL;
static ID3D10RasterizerState*   g_pRasterizerState = NULL;
static ID3D10BlendState*        g_pBlendState = NULL;
static int                      g_VertexBufferSize = 5000, g_IndexBufferSize = 10000;

struct VERTEX_CONSTANT_BUFFER
{
    float        mvp[4][4];
};

// This is the main rendering function that you have to implement and provide to ImGui (via setting up 'RenderDrawListsFn' in the ImGuiIO structure)
// If text or lines are blurry when integrating ImGui in your engine:
// - in your Render function, try translating your projection matrix by (0.5f,0.5f) or (0.375f,0.375f)
void ImGui_ImplDX10_RenderDrawLists(ImDrawData* draw_data)
{
    // Create and grow vertex/index buffers if needed
    if (!g_pVB || g_VertexBufferSize < draw_data->TotalVtxCount)
    {
        if (g_pVB) { g_pVB->Release(); g_pVB = NULL; }
        g_VertexBufferSize = draw_data->TotalVtxCount + 5000;
        D3D10_BUFFER_DESC desc;
        memset(&desc, 0, sizeof(D3D10_BUFFER_DESC));
        desc.Usage = D3D10_USAGE_DYNAMIC;
        desc.ByteWidth = g_VertexBufferSize * sizeof(ImDrawVert);
        desc.BindFlags = D3D10_BIND_VERTEX_BUFFER;
        desc.CPUAccessFlags = D3D10_CPU_ACCESS_WRITE;
        desc.MiscFlags = 0;
        if (g_pd3dDevice->CreateBuffer(&desc, NULL, &g_pVB) < 0)
            return;
    }

    if (!g_pIB || g_IndexBufferSize < draw_data->TotalIdxCount)
    {
        if (g_pIB) { g_pIB->Release(); g_pIB = NULL; }
        g_IndexBufferSize = draw_data->TotalIdxCount + 10000;
        D3D10_BUFFER_DESC bufferDesc;
        memset(&bufferDesc, 0, sizeof(D3D10_BUFFER_DESC));
        bufferDesc.Usage = D3D10_USAGE_DYNAMIC;
        bufferDesc.ByteWidth = g_IndexBufferSize * sizeof(ImDrawIdx);
        bufferDesc.BindFlags = D3D10_BIND_INDEX_BUFFER;
        bufferDesc.CPUAccessFlags = D3D10_CPU_ACCESS_WRITE;
        if (g_pd3dDevice->CreateBuffer(&bufferDesc, NULL, &g_pIB) < 0)
            return;
    }

    // Copy and convert all vertices into a single contiguous buffer
    ImDrawVert* vtx_dst = NULL;
    ImDrawIdx* idx_dst = NULL;
    g_pVB->Map(D3D10_MAP_WRITE_DISCARD, 0, (void**)&vtx_dst);
    g_pIB->Map(D3D10_MAP_WRITE_DISCARD, 0, (void**)&idx_dst);

    for (int n = 0; n < draw_data->CmdListsCount; n++)
    {
        const ImDrawList* cmd_list = draw_data->CmdLists[n];
        memcpy(vtx_dst, &cmd_list->VtxBuffer[0], cmd_list->VtxBuffer.size() * sizeof(ImDrawVert));
        memcpy(idx_dst, &cmd_list->IdxBuffer[0], cmd_list->IdxBuffer.size() * sizeof(ImDrawIdx));
        vtx_dst += cmd_list->VtxBuffer.size();
        idx_dst += cmd_list->IdxBuffer.size();
    }
    g_pVB->Unmap();
    g_pIB->Unmap();

    // Setup orthographic projection matrix into our constant buffer
    {
        void* mappedResource;
        if (g_pVertexConstantBuffer->Map(D3D10_MAP_WRITE_DISCARD, 0, &mappedResource) != S_OK)
            return;

        VERTEX_CONSTANT_BUFFER* pConstantBuffer = (VERTEX_CONSTANT_BUFFER*)mappedResource;
        const float L = 0.0f;
        const float R = ImGui::GetIO().DisplaySize.x;
        const float B = ImGui::GetIO().DisplaySize.y;
        const float T = 0.0f;
        const float mvp[4][4] =
        {
            { 2.0f/(R-L),   0.0f,           0.0f,       0.0f },
            { 0.0f,         2.0f/(T-B),     0.0f,       0.0f },
            { 0.0f,         0.0f,           0.5f,       0.0f },
            { (R+L)/(L-R),  (T+B)/(B-T),    0.5f,       1.0f },
        };
        memcpy(&pConstantBuffer->mvp, mvp, sizeof(mvp));
        g_pVertexConstantBuffer->Unmap();
    }

    // Setup viewport
    {
        D3D10_VIEWPORT vp;
        memset(&vp, 0, sizeof(D3D10_VIEWPORT));
        vp.Width = (UINT)ImGui::GetIO().DisplaySize.x;
        vp.Height = (UINT)ImGui::GetIO().DisplaySize.y;
        vp.MinDepth = 0.0f;
        vp.MaxDepth = 1.0f;
        vp.TopLeftX = 0;
        vp.TopLeftY = 0;
        g_pd3dDevice->RSSetViewports(1, &vp);
    }

    // Bind shader and vertex buffers
    unsigned int stride = sizeof(ImDrawVert);
    unsigned int offset = 0;
    g_pd3dDevice->IASetInputLayout(g_pInputLayout);
    g_pd3dDevice->IASetVertexBuffers(0, 1, &g_pVB, &stride, &offset);
    g_pd3dDevice->IASetIndexBuffer(g_pIB, sizeof(ImDrawIdx) == 2 ? DXGI_FORMAT_R16_UINT : DXGI_FORMAT_R32_UINT, 0);
    g_pd3dDevice->IASetPrimitiveTopology(D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST);
    g_pd3dDevice->VSSetShader(g_pVertexShader);
    g_pd3dDevice->VSSetConstantBuffers(0, 1, &g_pVertexConstantBuffer);
    g_pd3dDevice->PSSetShader(g_pPixelShader);
    g_pd3dDevice->PSSetSamplers(0, 1, &g_pFontSampler);

    // Setup render state
    const float blendFactor[4] = { 0.f, 0.f, 0.f, 0.f };
    g_pd3dDevice->OMSetBlendState(g_pBlendState, blendFactor, 0xffffffff);
    g_pd3dDevice->RSSetState(g_pRasterizerState);

    // Render command lists
    int vtx_offset = 0;
    int idx_offset = 0;
    for (int n = 0; n < draw_data->CmdListsCount; n++)
    {
        const ImDrawList* cmd_list = draw_data->CmdLists[n];
        for (int cmd_i = 0; cmd_i < cmd_list->CmdBuffer.size(); cmd_i++)
        {
            const ImDrawCmd* pcmd = &cmd_list->CmdBuffer[cmd_i];
            if (pcmd->UserCallback)
            {
                pcmd->UserCallback(cmd_list, pcmd);
            }
            else
            {
                const D3D10_RECT r = { (LONG)pcmd->ClipRect.x, (LONG)pcmd->ClipRect.y, (LONG)pcmd->ClipRect.z, (LONG)pcmd->ClipRect.w };
                g_pd3dDevice->PSSetShaderResources(0, 1, (ID3D10ShaderResourceView**)&pcmd->TextureId);
                g_pd3dDevice->RSSetScissorRects(1, &r);
                g_pd3dDevice->DrawIndexed(pcmd->ElemCount, idx_offset, vtx_offset);
            }
            idx_offset += pcmd->ElemCount;
        }
        vtx_offset += cmd_list->VtxBuffer.size();
    }

    // Restore modified state
    g_pd3dDevice->IASetInputLayout(NULL);
    g_pd3dDevice->PSSetShader(NULL);
    g_pd3dDevice->VSSetShader(NULL);
}

IMGUI_API LRESULT ImGui_ImplDX10_WndProcHandler(HWND, UINT msg, WPARAM wParam, LPARAM lParam)
{
    ImGuiIO& io = ImGui::GetIO();
    switch (msg)
    {
    case WM_LBUTTONDOWN:
        io.MouseDown[0] = true;
        return true;
    case WM_LBUTTONUP:
        io.MouseDown[0] = false;
        return true;
    case WM_RBUTTONDOWN:
        io.MouseDown[1] = true;
        return true;
    case WM_RBUTTONUP:
        io.MouseDown[1] = false;
        return true;
    case WM_MBUTTONDOWN:
        io.MouseDown[2] = true;
        return true;
    case WM_MBUTTONUP:
        io.MouseDown[2] = false;
        return true;
    case WM_MOUSEWHEEL:
        io.MouseWheel += GET_WHEEL_DELTA_WPARAM(wParam) > 0 ? +1.0f : -1.0f;
        return true;
    case WM_MOUSEMOVE:
        io.MousePos.x = (signed short)(lParam);
        io.MousePos.y = (signed short)(lParam >> 16);
        return true;
    case WM_KEYDOWN:
        if (wParam < 256)
            io.KeysDown[wParam] = 1;
        return true;
    case WM_KEYUP:
        if (wParam < 256)
            io.KeysDown[wParam] = 0;
        return true;
    case WM_CHAR:
        // You can also use ToAscii()+GetKeyboardState() to retrieve characters.
        if (wParam > 0 && wParam < 0x10000)
            io.AddInputCharacter((unsigned short)wParam);
        return true;
    }
    return 0;
}

static void ImGui_ImplDX10_CreateFontsTexture()
{
    ImGuiIO& io = ImGui::GetIO();

    // Build
    unsigned char* pixels;
    int width, height;
    io.Fonts->GetTexDataAsRGBA32(&pixels, &width, &height);

    // Create DX10 texture
    {
        D3D10_TEXTURE2D_DESC texDesc;
        ZeroMemory(&texDesc, sizeof(texDesc));
        texDesc.Width = width;
        texDesc.Height = height;
        texDesc.MipLevels = 1;
        texDesc.ArraySize = 1;
        texDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
        texDesc.SampleDesc.Count = 1;
        texDesc.Usage = D3D10_USAGE_DEFAULT;
        texDesc.BindFlags = D3D10_BIND_SHADER_RESOURCE;
        texDesc.CPUAccessFlags = 0;

        ID3D10Texture2D *pTexture = NULL;
        D3D10_SUBRESOURCE_DATA subResource;
        subResource.pSysMem = pixels;
        subResource.SysMemPitch = texDesc.Width * 4;
        subResource.SysMemSlicePitch = 0;
        g_pd3dDevice->CreateTexture2D(&texDesc, &subResource, &pTexture);

        // Create texture view
        D3D10_SHADER_RESOURCE_VIEW_DESC srvDesc;
        ZeroMemory(&srvDesc, sizeof(srvDesc));
        srvDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
        srvDesc.ViewDimension = D3D10_SRV_DIMENSION_TEXTURE2D;
        srvDesc.Texture2D.MipLevels = texDesc.MipLevels;
        srvDesc.Texture2D.MostDetailedMip = 0;
        g_pd3dDevice->CreateShaderResourceView(pTexture, &srvDesc, &g_pFontTextureView);
        pTexture->Release();
    }

    // Store our identifier
    io.Fonts->TexID = (void *)g_pFontTextureView;

    // Create texture sampler
    {
        D3D10_SAMPLER_DESC samplerDesc;
        ZeroMemory(&samplerDesc, sizeof(samplerDesc));
        samplerDesc.Filter = D3D10_FILTER_MIN_MAG_MIP_LINEAR;
        samplerDesc.AddressU = D3D10_TEXTURE_ADDRESS_WRAP;
        samplerDesc.AddressV = D3D10_TEXTURE_ADDRESS_WRAP;
        samplerDesc.AddressW = D3D10_TEXTURE_ADDRESS_WRAP;
        samplerDesc.MipLODBias = 0.f;
        samplerDesc.ComparisonFunc = D3D10_COMPARISON_ALWAYS;
        samplerDesc.MinLOD = 0.f;
        samplerDesc.MaxLOD = 0.f;
        g_pd3dDevice->CreateSamplerState(&samplerDesc, &g_pFontSampler);
    }

    // Cleanup (don't clear the input data if you want to append new fonts later)
    io.Fonts->ClearInputData();
    io.Fonts->ClearTexData();
}

bool    ImGui_ImplDX10_CreateDeviceObjects()
{
    if (!g_pd3dDevice)
        return false;
    if (g_pFontSampler)
        ImGui_ImplDX10_InvalidateDeviceObjects();

    // Create the vertex shader
    {
        static const char* vertexShader =
            "cbuffer vertexBuffer : register(b0) \
            {\
            float4x4 ProjectionMatrix; \
            };\
            struct VS_INPUT\
            {\
            float2 pos : POSITION;\
            float4 col : COLOR0;\
            float2 uv  : TEXCOORD0;\
            };\
            \
            struct PS_INPUT\
            {\
            float4 pos : SV_POSITION;\
            float4 col : COLOR0;\
            float2 uv  : TEXCOORD0;\
            };\
            \
            PS_INPUT main(VS_INPUT input)\
            {\
            PS_INPUT output;\
            output.pos = mul( ProjectionMatrix, float4(input.pos.xy, 0.f, 1.f));\
            output.col = input.col;\
            output.uv  = input.uv;\
            return output;\
            }";

        D3DCompile(vertexShader, strlen(vertexShader), NULL, NULL, NULL, "main", "vs_4_0", 0, 0, &g_pVertexShaderBlob, NULL);
        if (g_pVertexShaderBlob == NULL) // NB: Pass ID3D10Blob* pErrorBlob to D3DCompile() to get error showing in (const char*)pErrorBlob->GetBufferPointer(). Make sure to Release() the blob!
            return false;
        if (g_pd3dDevice->CreateVertexShader((DWORD*)g_pVertexShaderBlob->GetBufferPointer(), g_pVertexShaderBlob->GetBufferSize(), &g_pVertexShader) != S_OK)
            return false;

        // Create the input layout
        D3D10_INPUT_ELEMENT_DESC localLayout[] = {
            { "POSITION", 0, DXGI_FORMAT_R32G32_FLOAT,   0, (size_t)(&((ImDrawVert*)0)->pos), D3D10_INPUT_PER_VERTEX_DATA, 0 },
            { "TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT,   0, (size_t)(&((ImDrawVert*)0)->uv),  D3D10_INPUT_PER_VERTEX_DATA, 0 },
            { "COLOR",    0, DXGI_FORMAT_R8G8B8A8_UNORM, 0, (size_t)(&((ImDrawVert*)0)->col), D3D10_INPUT_PER_VERTEX_DATA, 0 },
        };

        if (g_pd3dDevice->CreateInputLayout(localLayout, 3, g_pVertexShaderBlob->GetBufferPointer(), g_pVertexShaderBlob->GetBufferSize(), &g_pInputLayout) != S_OK)
            return false;

        // Create the constant buffer
        {
            D3D10_BUFFER_DESC cbDesc;
            cbDesc.ByteWidth = sizeof(VERTEX_CONSTANT_BUFFER);
            cbDesc.Usage = D3D10_USAGE_DYNAMIC;
            cbDesc.BindFlags = D3D10_BIND_CONSTANT_BUFFER;
            cbDesc.CPUAccessFlags = D3D10_CPU_ACCESS_WRITE;
            cbDesc.MiscFlags = 0;
            g_pd3dDevice->CreateBuffer(&cbDesc, NULL, &g_pVertexConstantBuffer);
        }
    }

    // Create the pixel shader
    {
        static const char* pixelShader =
            "struct PS_INPUT\
            {\
            float4 pos : SV_POSITION;\
            float4 col : COLOR0;\
            float2 uv  : TEXCOORD0;\
            };\
            sampler sampler0;\
            Texture2D texture0;\
            \
            float4 main(PS_INPUT input) : SV_Target\
            {\
            float4 out_col = input.col * texture0.Sample(sampler0, input.uv); \
            return out_col; \
            }";

        D3DCompile(pixelShader, strlen(pixelShader), NULL, NULL, NULL, "main", "ps_4_0", 0, 0, &g_pPixelShaderBlob, NULL);
        if (g_pPixelShaderBlob == NULL)  // NB: Pass ID3D10Blob* pErrorBlob to D3DCompile() to get error showing in (const char*)pErrorBlob->GetBufferPointer(). Make sure to Release() the blob!
            return false;
        if (g_pd3dDevice->CreatePixelShader((DWORD*)g_pPixelShaderBlob->GetBufferPointer(), g_pPixelShaderBlob->GetBufferSize(), &g_pPixelShader) != S_OK)
            return false;
    }

    // Create the blending setup
    {
        D3D10_BLEND_DESC desc;
        ZeroMemory(&desc, sizeof(desc));
        desc.AlphaToCoverageEnable = false;
        desc.BlendEnable[0] = true;
        desc.SrcBlend = D3D10_BLEND_SRC_ALPHA;
        desc.DestBlend = D3D10_BLEND_INV_SRC_ALPHA;
        desc.BlendOp = D3D10_BLEND_OP_ADD;
        desc.SrcBlendAlpha = D3D10_BLEND_INV_SRC_ALPHA;
        desc.DestBlendAlpha = D3D10_BLEND_ZERO;
        desc.BlendOpAlpha = D3D10_BLEND_OP_ADD;
        desc.RenderTargetWriteMask[0] = D3D10_COLOR_WRITE_ENABLE_ALL;
        g_pd3dDevice->CreateBlendState(&desc, &g_pBlendState);
    }

    // Create the rasterizer state
    {
        D3D10_RASTERIZER_DESC desc;
        ZeroMemory(&desc, sizeof(desc));
        desc.FillMode = D3D10_FILL_SOLID;
        desc.CullMode = D3D10_CULL_NONE;
        desc.ScissorEnable = true;
        desc.DepthClipEnable = true;
        g_pd3dDevice->CreateRasterizerState(&desc, &g_pRasterizerState);
    }

    ImGui_ImplDX10_CreateFontsTexture();

    return true;
}

void    ImGui_ImplDX10_InvalidateDeviceObjects()
{
    if (!g_pd3dDevice)
        return;

    if (g_pFontSampler) { g_pFontSampler->Release(); g_pFontSampler = NULL; }
    if (g_pFontTextureView) { g_pFontTextureView->Release(); g_pFontTextureView = NULL; ImGui::GetIO().Fonts->TexID = 0; }
    if (g_pIB) { g_pIB->Release(); g_pIB = NULL; }
    if (g_pVB) { g_pVB->Release(); g_pVB = NULL; }

    if (g_pBlendState) { g_pBlendState->Release(); g_pBlendState = NULL; }
    if (g_pRasterizerState) { g_pRasterizerState->Release(); g_pRasterizerState = NULL; }
    if (g_pPixelShader) { g_pPixelShader->Release(); g_pPixelShader = NULL; }
    if (g_pPixelShaderBlob) { g_pPixelShaderBlob->Release(); g_pPixelShaderBlob = NULL; }
    if (g_pVertexConstantBuffer) { g_pVertexConstantBuffer->Release(); g_pVertexConstantBuffer = NULL; }
    if (g_pInputLayout) { g_pInputLayout->Release(); g_pInputLayout = NULL; }
    if (g_pVertexShader) { g_pVertexShader->Release(); g_pVertexShader = NULL; }
    if (g_pVertexShaderBlob) { g_pVertexShaderBlob->Release(); g_pVertexShaderBlob = NULL; }
}

bool    ImGui_ImplDX10_Init(void* hwnd, ID3D10Device* device)
{
    g_hWnd = (HWND)hwnd;
    g_pd3dDevice = device;

    if (!QueryPerformanceFrequency((LARGE_INTEGER *)&g_TicksPerSecond))
        return false;
    if (!QueryPerformanceCounter((LARGE_INTEGER *)&g_Time))
        return false;

    ImGuiIO& io = ImGui::GetIO();
    io.KeyMap[ImGuiKey_Tab] = VK_TAB;                       // Keyboard mapping. ImGui will use those indices to peek into the io.KeyDown[] array that we will update during the application lifetime.
    io.KeyMap[ImGuiKey_LeftArrow] = VK_LEFT;
    io.KeyMap[ImGuiKey_RightArrow] = VK_RIGHT;
    io.KeyMap[ImGuiKey_UpArrow] = VK_UP;
    io.KeyMap[ImGuiKey_DownArrow] = VK_DOWN;
    io.KeyMap[ImGuiKey_PageUp] = VK_PRIOR;
    io.KeyMap[ImGuiKey_PageDown] = VK_NEXT;
    io.KeyMap[ImGuiKey_Home] = VK_HOME;
    io.KeyMap[ImGuiKey_End] = VK_END;
    io.KeyMap[ImGuiKey_Delete] = VK_DELETE;
    io.KeyMap[ImGuiKey_Backspace] = VK_BACK;
    io.KeyMap[ImGuiKey_Enter] = VK_RETURN;
    io.KeyMap[ImGuiKey_Escape] = VK_ESCAPE;
    io.KeyMap[ImGuiKey_A] = 'A';
    io.KeyMap[ImGuiKey_C] = 'C';
    io.KeyMap[ImGuiKey_V] = 'V';
    io.KeyMap[ImGuiKey_X] = 'X';
    io.KeyMap[ImGuiKey_Y] = 'Y';
    io.KeyMap[ImGuiKey_Z] = 'Z';

    io.RenderDrawListsFn = ImGui_ImplDX10_RenderDrawLists;  // Alternatively you can set this to NULL and call ImGui::GetDrawData() after ImGui::Render() to get the same ImDrawData pointer.
    io.ImeWindowHandle = g_hWnd;

    return true;
}

void ImGui_ImplDX10_Shutdown()
{
    ImGui_ImplDX10_InvalidateDeviceObjects();
    ImGui::Shutdown();
    g_pd3dDevice = NULL;
    g_hWnd = (HWND)0;
}

void ImGui_ImplDX10_NewFrame()
{
    if (!g_pFontSampler)
        ImGui_ImplDX10_CreateDeviceObjects();

    ImGuiIO& io = ImGui::GetIO();

    // Setup display size (every frame to accommodate for window resizing)
    RECT rect;
    GetClientRect(g_hWnd, &rect);
    io.DisplaySize = ImVec2((float)(rect.right - rect.left), (float)(rect.bottom - rect.top));

    // Setup time step
    INT64 current_time;
    QueryPerformanceCounter((LARGE_INTEGER *)&current_time);
    io.DeltaTime = (float)(current_time - g_Time) / g_TicksPerSecond;
    g_Time = current_time;

    // Read keyboard modifiers inputs
    io.KeyCtrl = (GetKeyState(VK_CONTROL) & 0x8000) != 0;
    io.KeyShift = (GetKeyState(VK_SHIFT) & 0x8000) != 0;
    io.KeyAlt = (GetKeyState(VK_MENU) & 0x8000) != 0;
    // io.KeysDown : filled by WM_KEYDOWN/WM_KEYUP events
    // io.MousePos : filled by WM_MOUSEMOVE events
    // io.MouseDown : filled by WM_*BUTTON* events
    // io.MouseWheel : filled by WM_MOUSEWHEEL events

    // Hide OS mouse cursor if ImGui is drawing it
    SetCursor(io.MouseDrawCursor ? NULL : LoadCursor(NULL, IDC_ARROW));

    // Start the frame
    ImGui::NewFrame();
}

redpajama_set_name: RedPajamaGithub


A top pick from Kowalski's head of culinary, Rachael Perron.
While Mom tends to be the unsung hero of the home, chances are she has some opinions about how she'd like to be pampered this month.
Crepes are perfect for a Mother's Day brunch with Grandma, too, because they are so diverse and can easily be altered to satisfy any taste. Of course, flowers and some sparkling wine are always nice to go with it, she adds before divulging this simple recipe for you to DIY Mother's Day just right.
In a medium mixing bowl, whisk together flour, sugar, baking powder and salt; add remaining ingredients all at once, and whisk until smooth. Heat a 6- to 8-inch nonstick skillet over medium heat. Spray pan lightly with cooking spray; wipe with a paper towel to coat pan evenly and absorb excess. Pour scant 1/4 cup batter into hot skillet, rotating skillet quickly to thinly coat the bottom of the pan. Cook until light brown at the edges and slightly dry (about 2 minutes). Flip crêpe, and cook other side until light brown (about 30 seconds). Repeat by wiping and respraying skillet for each crêpe until all batter has been used. Serve immediately with desired filling or keep warm in a 200° oven until all crêpes are done; placing waxed or parchment paper between each crêpe.


text:
Opioid overdoses killed over 4000 Canadians in 2017
By Janet Browning
The Public Health Agency of Canada announced last month that an estimated 4,000 Canadians lost their lives due to drug overdoses in 2017—more than ten per day. Dr. Theresa Tam, chief public health officer of Canada, said this estimate is probably lower than the true figure because Ontario, Quebec and Manitoba had yet to report all of their opioid-related overdose deaths for even the first half of the year.
Three-quarters of overdose deaths in 2017 were males, with the highest proportion, 28 percent, clustered among those aged 30 to 39.
In 2016, there were 2,861 overdose deaths, with the Yukon and British Columbia having the highest death rates, at more than 15 per 100,000 people. This means that even based on preliminary statistics for 2017, opioid deaths increased by more than 30 percent last year.
The dramatic increase in deaths is primarily the result of the spread of fentanyl, a synthetic opioid estimated to be a hundred times stronger than heroin. Even a tiny amount of the substance can be enough to trigger a fatal overdose.
Successive federal and provincial governments bear political responsibility for creating the terrible social conditions that have exacerbated the drug crisis and of chronically underfunding the healthcare system, which has proven utterly incapable of coping with the opioid emergency. Justin Trudeau's Liberals have imposed a miserly 3-4 percent increase in provincial health transfers, which amounts to a substantial cut in health spending when the rising cost of healthcare and population growth and aging are taken into account.
In the worst-affected provinces, BC and Alberta, New Democratic Party (NDP) governments are in power. In Alberta, the NDP has enforced austerity budgets since 2015, including for healthcare and critical social services. Last year, it even cut the number of available hospital beds in public mental health facilities in the face of warnings from psychiatrists about the devastating impact this would have on those suffering as a result of the opioid crisis.
Meanwhile, BC Premier John Horgan has frequently boasted that his budgetary plans are based on the financial framework laid down by the former Liberal government, which held power for 16 years and slashed public spending, gave tax handouts to big business and attacked workers' living conditions. The few token measures the NDP has proposed, including the creation of a mental health ministry and testing various pilot projects to tackle the overdose crisis, are a drop in the bucket.
Canada's public health care system does not cover the cost of prescription drugs nor drug rehabilitation programs. Injured workers, or those who have a medical condition requiring pain-killing medications over an extended period of time, frequently cannot afford the prescribed pain medications and instead turn to much cheaper, but highly addictive street drugs. Drug users cannot just check themselves into a hospital or detox centre to remove the drugs from their system because there are not enough publicly-funded beds and because detox programs run by provincial health services often require the addict be clean for a period of months in order to gain admission, creating a Catch-22 situation. Barrier-free housing to help drug users get a stable routine before attempting to manage their addiction is virtually non-existent.
Private rehabilitation clinics are out of reach for the vast majority of working people, with average care packages for a month-long treatment program running into the tens of thousands of dollars.
For every overdose death in BC, 27 others are treated and survive. A January 11 Angus Reid Poll on the effects of opioid use in Canada found 49 percent of BC residents and 28 percent of Albertans thought there was a province-wide opioid crisis. Yet only BC has declared a public health emergency. It also found that 81 percent of Canadians support mandatory treatment programs for people who have survived overdoses and 64 percent of Albertans support safe supervised-consumption sites.
Health Canada has only approved supervised consumption sites in Vancouver, Surrey, Victoria, Kelowna, Kamloops in BC, Calgary, Edmonton and Lethbridge in Alberta, Toronto and Ottawa in Ontario, and Montreal in Quebec.
The Angus Reid survey also found one in eight Albertans have close friends or family members who have become addicted to opioids in the last 5 years, which is in line with the national average. One-fifth of Albertans have been prescribed opioids for pain in the last 5 years.
Alberta Health's quarterly report in November 2017 projected 550 fentanyl-related deaths for the year. It said carfentanyl, an opioid up to 100 times more toxic than fentanyl, had been detected in 138 of the fentanyl-related overdoses in 2017, as compared with 29 in 2016.
Growing numbers of paramedics, police and hospital workers require assistance to process what they are dealing with. Paramedic and police suicide rates are rising and PTSD-related despair is believed to be a major contributor.
While BC and Alberta have been hit hardest, overdose deaths are rising across the country. In New Brunswick, paramedics administered naloxone, a drug that reverses the effects of an opioid overdose, 214 times in the first 9 months of 2017, with 22 deaths. There were 32 overdose deaths in New Brunswick in 2016.
In September 2017, Dr. Robert Strang, Nova Scotia's chief public health officer, reported that about 800 people were being treated through the province's addiction program and another roughly 450 through charity Direction 180's methadone program. Another 250 were on a waiting list for detox. Data released the same month by the Federal, Provincial and Territorial Special Advisory Committee on the Epidemic of Opioid Overdoses showed 57 Nova Scotians died of overdoses between March 2016 and June 2017. Nearly a quarter of those deaths were adults aged 30 to 39 years.
Between July and September 2017, there were 2,449 emergency-department visits related to opioid overdoses in Ontario, a 29 percent increase from the 1,896 such visits in the previous 3 months and a staggering 115 percent increase over the same period a year earlier. Chief coroner Dr. Dirk Huyer said the data revealed "the mean age of the deaths were 41." Fifty-one percent of the deaths occurred in those between the ages of 25 and 44. "It's a terrible tragedy from that perspective," he said, noting a skyrocketing amount of fentanyl found in overdose victims. "In 2015, it was 19 percent; in 2016 it was 41 percent; and in the three months ... of our snapshot (for 2017), 67 percent of the time fentanyl was detected."


text:
GamingE3 2012
SimCity to build its bridges in February 2013
E3 2012, Gaming, News
The previews we've seen of the rebirth of SimCity are nothing short of jaw-dropping. In fact, with an entirely Mac-based editorial room, the game makes us think it'll be worth it to partition our drives and install Windows just to get a taste of Maxis's latest.
The game has been an official release date, slated for early in the new year. Maxis is saying February, but isn't giving us an exact date as of yet. Either way, it'll likely be a Tuesday which only gives us four options, so take your pick and start your city planning.
Some other information about the different versions of the game has also been released since a pre-order portal has been thrown up on the official SimCity website. There are two versions, the Limited Edition which is actually the lower of the two, retailing for sixty dollars and containing the game and the "Heroes and Villains Set", including new characters, crime waves, and an evil villain, among other things. The Digital Deluxe version will cost you twenty dollars more but also include the British, French, and German City Sets. We're not exactly sure how valuable these things are, but for twenty dollars and no option for a physical version of the game at that price, we'll skip the Origin download and pick up a copy of SimCity at Wal-Mart or something.
If you haven't already seen the new SimCity in action, we'll have more information about the game at E3 this coming week. Of course, you can always head over to the game's website at www.SimCity.com to find out more.
eaelectronic artsmaxismicrosoftsimcitythe simswindows
Judgment is the next Gears of War game
Resistance: Burning Skies Review
Christopher Kalanderopoulos founded Eggplante in 2009 to cover one event in Los Angeles. It never occurred to him that it would make him the Editor of an online magazine for the next decade. He spends most of his time gaming, backing cool Kickstarter projects, and hanging out with his wicked cool nieces and nephews.
NHL 18 Review
Expect to be able to play State of Decay 2 in May


text:
Dismantling Racism Commission
Anti-racism Training
The Commission leads a 14-hour training grounded in Biblical scripture and based on Episcopal Church teaching. The training is open to all persons who would like to deepen their understanding of racism, prejudice, and privilege — and begin to define strategies to confront those issues in our society today. It is mandatory for clergy, wardens, and other designated leaders of the Episcopal Diocese of Missouri, but will be valuable for anyone. There is no cost for this two-day training; lunch, beverages, and snacks are included. Registration required. Child care is available with registration.
The training scheduled for Jan. 18 & 19, 2020 at St. Paul's in Carondelet has been canceled.
Our next training session will be announced soon.
This is the REQUIRED workshop for all clergy, persons seeking ordination, youth workers, employees, and wardens. It is suggested training for any lay leadership in the Diocese of Missouri. This two-day workshop will account for 14 hours of canonically required training. There is no cost for this workshop.
The training is an intense two-day workshop which includes historic and current material, multimedia, small groups, role plays, facilitated dialogue, and spiritual nourishment.
Dismantling racism training was mandated by the 73rd General Convention of the Episcopal Church in 2000 (Resolution B049), and the diocesan Commission for Dismantling Racism offers workshops on recognizing and eliminating institutional racism in the Church.
Workshops are free and include lunch and refreshments. Space in the training is generally limited to thirty participants and training will occur with a minimum of fifteen registrations.
In the Diocese of Missouri, who should take this training? (PDF chart of diocesan standards)
Every year the Commission holds at least one training in the St. Louis metro area and partners with one additional diocesan community outside of the metro area.
Annual Absalom Jones Commemoration
Repairing the Breach Through the Lens of Economic Justice
Saturday, Feb. 8, 2020
8:30 a.m. - Noon
Register Online Here
or call 314-231-1220, ext. 1385 to register
The Dismantling Racism Commission invites all to a morning of engaging discussion as we gather for our annual event to celebrate the life and ministry of the Episcopal Church's first black priest, Absalom Jones.
This year's event will feature guest speaker Valerie E. Patton, the Senior Vice President of Economic Inclusion and Talent Attraction and the Executive Director of St. Louis Business Diversity Initiative. We'll gather in the Cathedral Nave for our keynote speaker, then engage in breakout sessions focusing on health, employment, education and wealth.
Breakfast snacks and lunch will be served. Child care will be provided to those who register.
Learn more about The Reverend Absalom Jones, 1746-1818
Download a flyer for this event
Please register no later than Feb. 3.
Sacred Ground: A Film-Based Dialogue Series on Race & Faith
This dialogue series is a part of Becoming Beloved Community, The Episcopal Church's long-term commitment to racial healing, reconciliation, and justice in our personal lives, our ministries, and our society.
Small groups are invited to walk through chapters of America's history of race and racism, while weaving in threads of family story, economic class, and political and regional identity.
The 10-part series is built around a powerful online curriculum of documentary films and readings that focus on Indigenous, Black, Latino, and Asian/Pacific American histories as they intersect with European American histories.
The diocese began a pilot program in September of 2019 which runs through March of 2020 at Emmanuel Episcopal Church in Webster Groves. Any parish or group can create their own Sacred Ground circle. Dismantling Racism committee members Adrienne Dillon, Kurt & Janis Greenbaum, and Margaret Rowe are facilitating the program with Emmanuel and would be happy to discuss how to set up a program elsewhere.
About Sacred Ground
About Becoming Beloved Community
The Commission maintains a library of resources on dismantling racism: books, videos, DVDs, and children's books. The materials are hosted by St. Peter's Episcopal Church, 110. N. Warson Road in Ladue, and available to check out during normal business hours, Monday through Friday, 9 a.m. to 5 p.m.
You may access the list of resources here. Books are listed alphabetically by author.
If you have any questions, you may email the Commission's Resource Center task force at drc.resource.center@gmail.com.
Seeking Our Past, Creating Our Future
Commission History
Contact: the Rev. Chester Hines, chair, Dismantling Racism Commission.
Seeking Our Past: Pilot Report


The Volga River city of Volgograd (formerly Stalingrad) marks on Feb. 2 74 four years since the victory of Soviet troops in the Battle of Stalingrad, the press service of the regional administration reports.
Mamayev Kurgan, a dominant height overlooking the city, and the state panoramic museum Battle of Stalingrad will be traditionally the main sites to attract thousands of local residents and guests.
They will climb 200 stairs, the number of days that the battle against German troops continued, to lay flowers to the Eternal Flame.
All in all, according to the city administration, about 100 different events timed to the date will be held in the city - meetings with veterans, tours to battle sites, exhibitions, concerts and a race. A minute of silence will be observed at noon at all schools of Volgograd.
A total of 212 veterans of the Battle of Stalingrad still live in the city.
The battle (Aug. 23, 1942 - Feb. 2, 1943) was the bloodiest in the history of humankind, with more than two million people killed on both sides.