text:
// Implemented features:
//  [X] Renderer: User texture binding. Use 'GLuint' OpenGL texture identifier as void*/ImTextureID. Read the FAQ about ImTextureID!
//  [x] Renderer: Desktop GL only: Support for large meshes (64k+ vertices) with 16-bit indices.

// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
// https://github.com/ocornut/imgui

// CHANGELOG
// (minor and older changes stripped away, please see git history for details)
//  2020-05-08: OpenGL: Made default GLSL version 150 (instead of 130) on OSX.
//  2020-04-21: OpenGL: Fixed handling of glClipControl(GL_UPPER_LEFT) by inverting projection matrix.
//  2020-04-12: OpenGL: Fixed context version check mistakenly testing for 4.0+ instead of 3.2+ to enable ImGuiBackendFlags_RendererHasVtxOffset.
//  2020-03-24: OpenGL: Added support for glbinding 2.x OpenGL loader.
//  2020-01-07: OpenGL: Added support for glbinding 3.x OpenGL loader.
//  2019-10-25: OpenGL: Using a combination of GL define and runtime GL version to decide whether to use glDrawElementsBaseVertex(). Fix building with pre-3.2 GL loaders.
//  2019-09-22: OpenGL: Detect default GL loader using __has_include compiler facility.
//  2019-09-16: OpenGL: Tweak initialization code to allow application calling ImGui_ImplOpenGL3_CreateFontsTexture() before the first NewFrame() call.
//  2019-05-29: OpenGL: Desktop GL only: Added support for large mesh (64K+ vertices), enable ImGuiBackendFlags_RendererHasVtxOffset flag.
//  2019-04-30: OpenGL: Added support for special ImDrawCallback_ResetRenderState callback to reset render state.
//  2019-03-29: OpenGL: Not calling glBindBuffer more than necessary in the render loop.
//  2019-03-15: OpenGL: Added a dummy GL call + comments in ImGui_ImplOpenGL3_Init() to detect uninitialized GL function loaders early.
//  2019-03-03: OpenGL: Fix support for ES 2.0 (WebGL 1.0).
//  2019-02-20: OpenGL: Fix for OSX not supporting OpenGL 4.5, we don't try to read GL_CLIP_ORIGIN even if defined by the headers/loader.
//  2019-02-11: OpenGL: Projecting clipping rectangles correctly using draw_data->FramebufferScale to allow multi-viewports for retina display.
//  2019-02-01: OpenGL: Using GLSL 410 shaders for any version over 410 (e.g. 430, 450).
//  2018-11-30: Misc: Setting up io.BackendRendererName so it can be displayed in the About Window.
//  2018-11-13: OpenGL: Support for GL 4.5's glClipControl(GL_UPPER_LEFT) / GL_CLIP_ORIGIN.
//  2018-08-29: OpenGL: Added support for more OpenGL loaders: glew and glad, with comments indicative that any loader can be used.
//  2018-08-09: OpenGL: Default to OpenGL ES 3 on iOS and Android. GLSL version default to "#version 300 ES".
//  2018-07-30: OpenGL: Support for GLSL 300 ES and 410 core. Fixes for Emscripten compilation.
//  2018-07-10: OpenGL: Support for more GLSL versions (based on the GLSL version string). Added error output when shaders fail to compile/link.
//  2018-06-08: Misc: Extracted imgui_impl_opengl3.cpp/.h away from the old combined GLFW/SDL+OpenGL3 examples.
//  2018-06-08: OpenGL: Use draw_data->DisplayPos and draw_data->DisplaySize to setup projection matrix and clipping rectangle.
//  2018-05-25: OpenGL: Removed unnecessary backup/restore of GL_ELEMENT_ARRAY_BUFFER_BINDING since this is part of the VAO state.
//  2018-05-14: OpenGL: Making the call to glBindSampler() optional so 3.2 context won't fail if the function is a NULL pointer.
//  2018-03-06: OpenGL: Added const char* glsl_version parameter to ImGui_ImplOpenGL3_Init() so user can override the GLSL version e.g. "#version 150".
//  2018-02-23: OpenGL: Create the VAO in the render function so the setup can more easily be used with multiple shared GL context.
//  2018-02-16: Misc: Obsoleted the io.RenderDrawListsFn callback and exposed ImGui_ImplSdlGL3_RenderDrawData() in the .h file so you can call it yourself.
//  2018-01-07: OpenGL: Changed GLSL shader version from 330 to 150.
//  2017-09-01: OpenGL: Save and restore current bound sampler. Save and restore current polygon mode.
//  2017-05-01: OpenGL: Fixed save and restore of current blend func state.
//  2017-05-01: OpenGL: Fixed save and restore of current GL_ACTIVE_TEXTURE.
//  2016-09-05: OpenGL: Fixed save and restore of current scissor rectangle.
//  2016-07-29: OpenGL: Explicitly setting GL_UNPACK_ROW_LENGTH to reduce issues because SDL changes it. (#752)

//----------------------------------------
// OpenGL    GLSL      GLSL
// version   version   string
//----------------------------------------
//  2.0       110       "#version 110"
//  2.1       120       "#version 120"
//  3.0       130       "#version 130"
//  3.1       140       "#version 140"
//  3.2       150       "#version 150"
//  3.3       330       "#version 330 core"
//  4.0       400       "#version 400 core"
//  4.1       410       "#version 410 core"
//  4.2       420       "#version 410 core"
//  4.3       430       "#version 430 core"
//  ES 2.0    100       "#version 100"      = WebGL 1.0
//  ES 3.0    300       "#version 300 es"   = WebGL 2.0
//----------------------------------------

#if defined(_MSC_VER) && !defined(_CRT_SECURE_NO_WARNINGS)
#define _CRT_SECURE_NO_WARNINGS
#endif

#include "imgui.h"
#include "imgui_impl_opengl3.h"
#include <stdio.h>
#if defined(_MSC_VER) && _MSC_VER <= 1500 // MSVC 2008 or earlier
#include <stddef.h>     // intptr_t
#else
#include <stdint.h>     // intptr_t
#endif

// GL includes
#if defined(IMGUI_IMPL_OPENGL_ES2)
#include <GLES2/gl2.h>
#elif defined(IMGUI_IMPL_OPENGL_ES3)
#if (defined(__APPLE__) && (TARGET_OS_IOS || TARGET_OS_TV))
#include <OpenGLES/ES3/gl.h>    // Use GL ES 3
#else
#include <GLES3/gl3.h>          // Use GL ES 3
#endif
#else
// About Desktop OpenGL function loaders:
//  Modern desktop OpenGL doesn't have a standard portable header file to load OpenGL function pointers.
//  Helper libraries are often used for this purpose! Here we are supporting a few common ones (gl3w, glew, glad).
//  You may use another loader/header of your choice (glext, glLoadGen, etc.), or chose to manually implement your own.
#if defined(IMGUI_IMPL_OPENGL_LOADER_GL3W)
#include <GL/gl3w.h>            // Needs to be initialized with gl3wInit() in user's code
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLEW)
#include <GL/glew.h>            // Needs to be initialized with glewInit() in user's code.
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLAD)
#include <glad/glad.h>          // Needs to be initialized with gladLoadGL() in user's code.
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLBINDING2)
#ifndef GLFW_INCLUDE_NONE
#define GLFW_INCLUDE_NONE       // GLFW including OpenGL headers causes ambiguity or multiple definition errors.
#endif
#include <glbinding/Binding.h>  // Needs to be initialized with glbinding::Binding::initialize() in user's code.
#include <glbinding/gl/gl.h>
using namespace gl;
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLBINDING3)
#ifndef GLFW_INCLUDE_NONE
#define GLFW_INCLUDE_NONE       // GLFW including OpenGL headers causes ambiguity or multiple definition errors.
#endif
#include <glbinding/glbinding.h>// Needs to be initialized with glbinding::initialize() in user's code.
#include <glbinding/gl/gl.h>
using namespace gl;
#else
#include IMGUI_IMPL_OPENGL_LOADER_CUSTOM
#endif
#endif

// Desktop GL 3.2+ has glDrawElementsBaseVertex() which GL ES and WebGL don't have.
#if defined(IMGUI_IMPL_OPENGL_ES2) || defined(IMGUI_IMPL_OPENGL_ES3) || !defined(GL_VERSION_3_2)
#define IMGUI_IMPL_OPENGL_MAY_HAVE_VTX_OFFSET   0
#else
#define IMGUI_IMPL_OPENGL_MAY_HAVE_VTX_OFFSET   1
#endif

// OpenGL Data
static GLuint       g_GlVersion = 0;                // Extracted at runtime using GL_MAJOR_VERSION, GL_MINOR_VERSION queries (e.g. 320 for GL 3.2)
static char         g_GlslVersionString[32] = "";   // Specified by user or detected based on compile time GL settings.
static GLuint       g_FontTexture = 0;
static GLuint       g_ShaderHandle = 0, g_VertHandle = 0, g_FragHandle = 0;
static int          g_AttribLocationTex = 0, g_AttribLocationProjMtx = 0;                                // Uniforms location
static int          g_AttribLocationVtxPos = 0, g_AttribLocationVtxUV = 0, g_AttribLocationVtxColor = 0; // Vertex attributes location
static unsigned int g_VboHandle = 0, g_ElementsHandle = 0;

// Functions
bool    ImGui_ImplOpenGL3_Init(const char* glsl_version)
{
    // Query for GL version (e.g. 320 for GL 3.2)
#if !defined(IMGUI_IMPL_OPENGL_ES2)
    GLint major, minor;
    glGetIntegerv(GL_MAJOR_VERSION, &major);
    glGetIntegerv(GL_MINOR_VERSION, &minor);
    g_GlVersion = major * 100 + minor * 10;
#else
    g_GlVersion = 200; // GLES 2
#endif

    // Setup back-end capabilities flags
    ImGuiIO& io = ImGui::GetIO();
    io.BackendRendererName = "imgui_impl_opengl3";
#if IMGUI_IMPL_OPENGL_MAY_HAVE_VTX_OFFSET
    if (g_GlVersion >= 320)
        io.BackendFlags |= ImGuiBackendFlags_RendererHasVtxOffset;  // We can honor the ImDrawCmd::VtxOffset field, allowing for large meshes.
#endif

    // Store GLSL version string so we can refer to it later in case we recreate shaders.
    // Note: GLSL version is NOT the same as GL version. Leave this to NULL if unsure.
#if defined(IMGUI_IMPL_OPENGL_ES2)
    if (glsl_version == NULL)
        glsl_version = "#version 100";
#elif defined(IMGUI_IMPL_OPENGL_ES3)
    if (glsl_version == NULL)
        glsl_version = "#version 300 es";
#elif defined(__APPLE__)
    if (glsl_version == NULL)
        glsl_version = "#version 150";
#else
    if (glsl_version == NULL)
        glsl_version = "#version 130";
#endif
    IM_ASSERT((int)strlen(glsl_version) + 2 < IM_ARRAYSIZE(g_GlslVersionString));
    strcpy(g_GlslVersionString, glsl_version);
    strcat(g_GlslVersionString, "\n");

    // Dummy construct to make it easily visible in the IDE and debugger which GL loader has been selected.
    // The code actually never uses the 'gl_loader' variable! It is only here so you can read it!
    // If auto-detection fails or doesn't select the same GL loader file as used by your application,
    // you are likely to get a crash below.
    // You can explicitly select a loader by using '#define IMGUI_IMPL_OPENGL_LOADER_XXX' in imconfig.h or compiler command-line.
    const char* gl_loader = "Unknown";
    IM_UNUSED(gl_loader);
#if defined(IMGUI_IMPL_OPENGL_LOADER_GL3W)
    gl_loader = "GL3W";
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLEW)
    gl_loader = "GLEW";
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLAD)
    gl_loader = "GLAD";
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLBINDING2)
    gl_loader = "glbinding2";
#elif defined(IMGUI_IMPL_OPENGL_LOADER_GLBINDING3)
    gl_loader = "glbinding3";
#elif defined(IMGUI_IMPL_OPENGL_LOADER_CUSTOM)
    gl_loader = "custom";
#else
    gl_loader = "none";
#endif

    // Make a dummy GL call (we don't actually need the result)
    // IF YOU GET A CRASH HERE: it probably means that you haven't initialized the OpenGL function loader used by this code.
    // Desktop OpenGL 3/4 need a function loader. See the IMGUI_IMPL_OPENGL_LOADER_xxx explanation above.
    GLint current_texture;
    glGetIntegerv(GL_TEXTURE_BINDING_2D, &current_texture);

    return true;
}

void    ImGui_ImplOpenGL3_Shutdown()
{
    ImGui_ImplOpenGL3_DestroyDeviceObjects();
}

void    ImGui_ImplOpenGL3_NewFrame()
{
    if (!g_ShaderHandle)
        ImGui_ImplOpenGL3_CreateDeviceObjects();
}

static void ImGui_ImplOpenGL3_SetupRenderState(ImDrawData* draw_data, int fb_width, int fb_height, GLuint vertex_array_object)
{
    // Setup render state: alpha-blending enabled, no face culling, no depth testing, scissor enabled, polygon fill
    glEnable(GL_BLEND);
    glBlendEquation(GL_FUNC_ADD);
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
    glDisable(GL_CULL_FACE);
    glDisable(GL_DEPTH_TEST);
    glEnable(GL_SCISSOR_TEST);
#ifdef GL_POLYGON_MODE
    glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
#endif

    // Support for GL 4.5 rarely used glClipControl(GL_UPPER_LEFT)
    bool clip_origin_lower_left = true;
#if defined(GL_CLIP_ORIGIN) && !defined(__APPLE__)
    GLenum current_clip_origin = 0; glGetIntegerv(GL_CLIP_ORIGIN, (GLint*)&current_clip_origin);
    if (current_clip_origin == GL_UPPER_LEFT)
        clip_origin_lower_left = false;
#endif

    // Setup viewport, orthographic projection matrix
    // Our visible imgui space lies from draw_data->DisplayPos (top left) to draw_data->DisplayPos+data_data->DisplaySize (bottom right). DisplayPos is (0,0) for single viewport apps.
    glViewport(0, 0, (GLsizei)fb_width, (GLsizei)fb_height);
    float L = draw_data->DisplayPos.x;
    float R = draw_data->DisplayPos.x + draw_data->DisplaySize.x;
    float T = draw_data->DisplayPos.y;
    float B = draw_data->DisplayPos.y + draw_data->DisplaySize.y;
    if (!clip_origin_lower_left) { float tmp = T; T = B; B = tmp; } // Swap top and bottom if origin is upper left
    const float ortho_projection[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,        -1.0f,   0.0f },
        { (R+L)/(L-R),  (T+B)/(B-T),  0.0f,   1.0f },
    };
    glUseProgram(g_ShaderHandle);
    glUniform1i(g_AttribLocationTex, 0);
    glUniformMatrix4fv(g_AttribLocationProjMtx, 1, GL_FALSE, &ortho_projection[0][0]);
#ifdef GL_SAMPLER_BINDING
    glBindSampler(0, 0); // We use combined texture/sampler state. Applications using GL 3.3 may set that otherwise.
#endif

    (void)vertex_array_object;
#ifndef IMGUI_IMPL_OPENGL_ES2
    glBindVertexArray(vertex_array_object);
#endif

    // Bind vertex/index buffers and setup attributes for ImDrawVert
    glBindBuffer(GL_ARRAY_BUFFER, g_VboHandle);
    glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, g_ElementsHandle);
    glEnableVertexAttribArray(g_AttribLocationVtxPos);
    glEnableVertexAttribArray(g_AttribLocationVtxUV);
    glEnableVertexAttribArray(g_AttribLocationVtxColor);
    glVertexAttribPointer(g_AttribLocationVtxPos,   2, GL_FLOAT,         GL_FALSE, sizeof(ImDrawVert), (GLvoid*)IM_OFFSETOF(ImDrawVert, pos));
    glVertexAttribPointer(g_AttribLocationVtxUV,    2, GL_FLOAT,         GL_FALSE, sizeof(ImDrawVert), (GLvoid*)IM_OFFSETOF(ImDrawVert, uv));
    glVertexAttribPointer(g_AttribLocationVtxColor, 4, GL_UNSIGNED_BYTE, GL_TRUE,  sizeof(ImDrawVert), (GLvoid*)IM_OFFSETOF(ImDrawVert, col));
}

// OpenGL3 Render function.
// (this used to be set in io.RenderDrawListsFn and called by ImGui::Render(), but you can now call this directly from your main loop)
// Note that this implementation is little overcomplicated because we are saving/setting up/restoring every OpenGL state explicitly, in order to be able to run within any OpenGL engine that doesn't do so.
void    ImGui_ImplOpenGL3_RenderDrawData(ImDrawData* draw_data)
{
    // Avoid rendering when minimized, scale coordinates for retina displays (screen coordinates != framebuffer coordinates)
    int fb_width = (int)(draw_data->DisplaySize.x * draw_data->FramebufferScale.x);
    int fb_height = (int)(draw_data->DisplaySize.y * draw_data->FramebufferScale.y);
    if (fb_width <= 0 || fb_height <= 0)
        return;

    // Backup GL state
    GLenum last_active_texture; glGetIntegerv(GL_ACTIVE_TEXTURE, (GLint*)&last_active_texture);
    glActiveTexture(GL_TEXTURE0);
    GLint last_program; glGetIntegerv(GL_CURRENT_PROGRAM, &last_program);
    GLint last_texture; glGetIntegerv(GL_TEXTURE_BINDING_2D, &last_texture);
#ifdef GL_SAMPLER_BINDING
    GLint last_sampler; glGetIntegerv(GL_SAMPLER_BINDING, &last_sampler);
#endif
    GLint last_array_buffer; glGetIntegerv(GL_ARRAY_BUFFER_BINDING, &last_array_buffer);
#ifndef IMGUI_IMPL_OPENGL_ES2
    GLint last_vertex_array_object; glGetIntegerv(GL_VERTEX_ARRAY_BINDING, &last_vertex_array_object);
#endif
#ifdef GL_POLYGON_MODE
    GLint last_polygon_mode[2]; glGetIntegerv(GL_POLYGON_MODE, last_polygon_mode);
#endif
    GLint last_viewport[4]; glGetIntegerv(GL_VIEWPORT, last_viewport);
    GLint last_scissor_box[4]; glGetIntegerv(GL_SCISSOR_BOX, last_scissor_box);
    GLenum last_blend_src_rgb; glGetIntegerv(GL_BLEND_SRC_RGB, (GLint*)&last_blend_src_rgb);
    GLenum last_blend_dst_rgb; glGetIntegerv(GL_BLEND_DST_RGB, (GLint*)&last_blend_dst_rgb);
    GLenum last_blend_src_alpha; glGetIntegerv(GL_BLEND_SRC_ALPHA, (GLint*)&last_blend_src_alpha);
    GLenum last_blend_dst_alpha; glGetIntegerv(GL_BLEND_DST_ALPHA, (GLint*)&last_blend_dst_alpha);
    GLenum last_blend_equation_rgb; glGetIntegerv(GL_BLEND_EQUATION_RGB, (GLint*)&last_blend_equation_rgb);
    GLenum last_blend_equation_alpha; glGetIntegerv(GL_BLEND_EQUATION_ALPHA, (GLint*)&last_blend_equation_alpha);
    GLboolean last_enable_blend = glIsEnabled(GL_BLEND);
    GLboolean last_enable_cull_face = glIsEnabled(GL_CULL_FACE);
    GLboolean last_enable_depth_test = glIsEnabled(GL_DEPTH_TEST);
    GLboolean last_enable_scissor_test = glIsEnabled(GL_SCISSOR_TEST);

    // Setup desired GL state
    // Recreate the VAO every time (this is to easily allow multiple GL contexts to be rendered to. VAO are not shared among GL contexts)
    // The renderer would actually work without any VAO bound, but then our VertexAttrib calls would overwrite the default one currently bound.
    GLuint vertex_array_object = 0;
#ifndef IMGUI_IMPL_OPENGL_ES2
    glGenVertexArrays(1, &vertex_array_object);
#endif
    ImGui_ImplOpenGL3_SetupRenderState(draw_data, fb_width, fb_height, vertex_array_object);

    // Will project scissor/clipping rectangles into framebuffer space
    ImVec2 clip_off = draw_data->DisplayPos;         // (0,0) unless using multi-viewports
    ImVec2 clip_scale = draw_data->FramebufferScale; // (1,1) unless using retina display which are often (2,2)

    // Render command lists
    for (int n = 0; n < draw_data->CmdListsCount; n++)
    {
        const ImDrawList* cmd_list = draw_data->CmdLists[n];

        // Upload vertex/index buffers
        glBufferData(GL_ARRAY_BUFFER, (GLsizeiptr)cmd_list->VtxBuffer.Size * sizeof(ImDrawVert), (const GLvoid*)cmd_list->VtxBuffer.Data, GL_STREAM_DRAW);
        glBufferData(GL_ELEMENT_ARRAY_BUFFER, (GLsizeiptr)cmd_list->IdxBuffer.Size * sizeof(ImDrawIdx), (const GLvoid*)cmd_list->IdxBuffer.Data, GL_STREAM_DRAW);

        for (int cmd_i = 0; cmd_i < cmd_list->CmdBuffer.Size; cmd_i++)
        {
            const ImDrawCmd* pcmd = &cmd_list->CmdBuffer[cmd_i];
            if (pcmd->UserCallback != NULL)
            {
                // User callback, registered via ImDrawList::AddCallback()
                // (ImDrawCallback_ResetRenderState is a special callback value used by the user to request the renderer to reset render state.)
                if (pcmd->UserCallback == ImDrawCallback_ResetRenderState)
                    ImGui_ImplOpenGL3_SetupRenderState(draw_data, fb_width, fb_height, vertex_array_object);
                else
                    pcmd->UserCallback(cmd_list, pcmd);
            }
            else
            {
                // Project scissor/clipping rectangles into framebuffer space
                ImVec4 clip_rect;
                clip_rect.x = (pcmd->ClipRect.x - clip_off.x) * clip_scale.x;
                clip_rect.y = (pcmd->ClipRect.y - clip_off.y) * clip_scale.y;
                clip_rect.z = (pcmd->ClipRect.z - clip_off.x) * clip_scale.x;
                clip_rect.w = (pcmd->ClipRect.w - clip_off.y) * clip_scale.y;

                if (clip_rect.x < fb_width && clip_rect.y < fb_height && clip_rect.z >= 0.0f && clip_rect.w >= 0.0f)
                {
                    // Apply scissor/clipping rectangle
                    glScissor((int)clip_rect.x, (int)(fb_height - clip_rect.w), (int)(clip_rect.z - clip_rect.x), (int)(clip_rect.w - clip_rect.y));

                    // Bind texture, Draw
                    glBindTexture(GL_TEXTURE_2D, (GLuint)(intptr_t)pcmd->TextureId);
#if IMGUI_IMPL_OPENGL_MAY_HAVE_VTX_OFFSET
                    if (g_GlVersion >= 320)
                        glDrawElementsBaseVertex(GL_TRIANGLES, (GLsizei)pcmd->ElemCount, sizeof(ImDrawIdx) == 2 ? GL_UNSIGNED_SHORT : GL_UNSIGNED_INT, (void*)(intptr_t)(pcmd->IdxOffset * sizeof(ImDrawIdx)), (GLint)pcmd->VtxOffset);
                    else
#endif
                    glDrawElements(GL_TRIANGLES, (GLsizei)pcmd->ElemCount, sizeof(ImDrawIdx) == 2 ? GL_UNSIGNED_SHORT : GL_UNSIGNED_INT, (void*)(intptr_t)(pcmd->IdxOffset * sizeof(ImDrawIdx)));
                }
            }
        }
    }

    // Destroy the temporary VAO
#ifndef IMGUI_IMPL_OPENGL_ES2
    glDeleteVertexArrays(1, &vertex_array_object);
#endif

    // Restore modified GL state
    glUseProgram(last_program);
    glBindTexture(GL_TEXTURE_2D, last_texture);
#ifdef GL_SAMPLER_BINDING
    glBindSampler(0, last_sampler);
#endif
    glActiveTexture(last_active_texture);
#ifndef IMGUI_IMPL_OPENGL_ES2
    glBindVertexArray(last_vertex_array_object);
#endif
    glBindBuffer(GL_ARRAY_BUFFER, last_array_buffer);
    glBlendEquationSeparate(last_blend_equation_rgb, last_blend_equation_alpha);
    glBlendFuncSeparate(last_blend_src_rgb, last_blend_dst_rgb, last_blend_src_alpha, last_blend_dst_alpha);
    if (last_enable_blend) glEnable(GL_BLEND); else glDisable(GL_BLEND);
    if (last_enable_cull_face) glEnable(GL_CULL_FACE); else glDisable(GL_CULL_FACE);
    if (last_enable_depth_test) glEnable(GL_DEPTH_TEST); else glDisable(GL_DEPTH_TEST);
    if (last_enable_scissor_test) glEnable(GL_SCISSOR_TEST); else glDisable(GL_SCISSOR_TEST);
#ifdef GL_POLYGON_MODE
    glPolygonMode(GL_FRONT_AND_BACK, (GLenum)last_polygon_mode[0]);
#endif
    glViewport(last_viewport[0], last_viewport[1], (GLsizei)last_viewport[2], (GLsizei)last_viewport[3]);
    glScissor(last_scissor_box[0], last_scissor_box[1], (GLsizei)last_scissor_box[2], (GLsizei)last_scissor_box[3]);
}

bool ImGui_ImplOpenGL3_CreateFontsTexture()
{
    // Build texture atlas
    ImGuiIO& io = ImGui::GetIO();
    unsigned char* pixels;
    int width, height;
    io.Fonts->GetTexDataAsRGBA32(&pixels, &width, &height);   // Load as RGBA 32-bit (75% of the memory is wasted, but default font is so small) because it is more likely to be compatible with user's existing shaders. If your ImTextureId represent a higher-level concept than just a GL texture id, consider calling GetTexDataAsAlpha8() instead to save on GPU memory.

    // Upload texture to graphics system
    GLint last_texture;
    glGetIntegerv(GL_TEXTURE_BINDING_2D, &last_texture);
    glGenTextures(1, &g_FontTexture);
    glBindTexture(GL_TEXTURE_2D, g_FontTexture);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
#ifdef GL_UNPACK_ROW_LENGTH
    glPixelStorei(GL_UNPACK_ROW_LENGTH, 0);
#endif
    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, pixels);

    // Store our identifier
    io.Fonts->TexID = (ImTextureID)(intptr_t)g_FontTexture;

    // Restore state
    glBindTexture(GL_TEXTURE_2D, last_texture);

    return true;
}

void ImGui_ImplOpenGL3_DestroyFontsTexture()
{
    if (g_FontTexture)
    {
        ImGuiIO& io = ImGui::GetIO();
        glDeleteTextures(1, &g_FontTexture);
        io.Fonts->TexID = 0;
        g_FontTexture = 0;
    }
}

// If you get an error please report on github. You may try different GL context version or GLSL version. See GL<>GLSL version table at the top of this file.
static bool CheckShader(GLuint handle, const char* desc)
{
    GLint status = 0, log_length = 0;
    glGetShaderiv(handle, GL_COMPILE_STATUS, &status);
    glGetShaderiv(handle, GL_INFO_LOG_LENGTH, &log_length);
    if ((GLboolean)status == GL_FALSE)
        fprintf(stderr, "ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to compile %s!\n", desc);
    if (log_length > 1)
    {
        ImVector<char> buf;
        buf.resize((int)(log_length + 1));
        glGetShaderInfoLog(handle, log_length, NULL, (GLchar*)buf.begin());
        fprintf(stderr, "%s\n", buf.begin());
    }
    return (GLboolean)status == GL_TRUE;
}

// If you get an error please report on GitHub. You may try different GL context version or GLSL version.
static bool CheckProgram(GLuint handle, const char* desc)
{
    GLint status = 0, log_length = 0;
    glGetProgramiv(handle, GL_LINK_STATUS, &status);
    glGetProgramiv(handle, GL_INFO_LOG_LENGTH, &log_length);
    if ((GLboolean)status == GL_FALSE)
        fprintf(stderr, "ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to link %s! (with GLSL '%s')\n", desc, g_GlslVersionString);
    if (log_length > 1)
    {
        ImVector<char> buf;
        buf.resize((int)(log_length + 1));
        glGetProgramInfoLog(handle, log_length, NULL, (GLchar*)buf.begin());
        fprintf(stderr, "%s\n", buf.begin());
    }
    return (GLboolean)status == GL_TRUE;
}

bool    ImGui_ImplOpenGL3_CreateDeviceObjects()
{
    // Backup GL state
    GLint last_texture, last_array_buffer;
    glGetIntegerv(GL_TEXTURE_BINDING_2D, &last_texture);
    glGetIntegerv(GL_ARRAY_BUFFER_BINDING, &last_array_buffer);
#ifndef IMGUI_IMPL_OPENGL_ES2
    GLint last_vertex_array;
    glGetIntegerv(GL_VERTEX_ARRAY_BINDING, &last_vertex_array);
#endif

    // Parse GLSL version string
    int glsl_version = 130;
    sscanf(g_GlslVersionString, "#version %d", &glsl_version);

    const GLchar* vertex_shader_glsl_120 =
        "uniform mat4 ProjMtx;\n"
        "attribute vec2 Position;\n"
        "attribute vec2 UV;\n"
        "attribute vec4 Color;\n"
        "varying vec2 Frag_UV;\n"
        "varying vec4 Frag_Color;\n"
        "void main()\n"
        "{\n"
        "    Frag_UV = UV;\n"
        "    Frag_Color = Color;\n"
        "    gl_Position = ProjMtx * vec4(Position.xy,0,1);\n"
        "}\n";

    const GLchar* vertex_shader_glsl_130 =
        "uniform mat4 ProjMtx;\n"
        "in vec2 Position;\n"
        "in vec2 UV;\n"
        "in vec4 Color;\n"
        "out vec2 Frag_UV;\n"
        "out vec4 Frag_Color;\n"
        "void main()\n"
        "{\n"
        "    Frag_UV = UV;\n"
        "    Frag_Color = Color;\n"
        "    gl_Position = ProjMtx * vec4(Position.xy,0,1);\n"
        "}\n";

    const GLchar* vertex_shader_glsl_300_es =
        "precision mediump float;\n"
        "layout (location = 0) in vec2 Position;\n"
        "layout (location = 1) in vec2 UV;\n"
        "layout (location = 2) in vec4 Color;\n"
        "uniform mat4 ProjMtx;\n"
        "out vec2 Frag_UV;\n"
        "out vec4 Frag_Color;\n"
        "void main()\n"
        "{\n"
        "    Frag_UV = UV;\n"
        "    Frag_Color = Color;\n"
        "    gl_Position = ProjMtx * vec4(Position.xy,0,1);\n"
        "}\n";

    const GLchar* vertex_shader_glsl_410_core =
        "layout (location = 0) in vec2 Position;\n"
        "layout (location = 1) in vec2 UV;\n"
        "layout (location = 2) in vec4 Color;\n"
        "uniform mat4 ProjMtx;\n"
        "out vec2 Frag_UV;\n"
        "out vec4 Frag_Color;\n"
        "void main()\n"
        "{\n"
        "    Frag_UV = UV;\n"
        "    Frag_Color = Color;\n"
        "    gl_Position = ProjMtx * vec4(Position.xy,0,1);\n"
        "}\n";

    const GLchar* fragment_shader_glsl_120 =
        "#ifdef GL_ES\n"
        "    precision mediump float;\n"
        "#endif\n"
        "uniform sampler2D Texture;\n"
        "varying vec2 Frag_UV;\n"
        "varying vec4 Frag_Color;\n"
        "void main()\n"
        "{\n"
        "    gl_FragColor = Frag_Color * texture2D(Texture, Frag_UV.st);\n"
        "}\n";

    const GLchar* fragment_shader_glsl_130 =
        "uniform sampler2D Texture;\n"
        "in vec2 Frag_UV;\n"
        "in vec4 Frag_Color;\n"
        "out vec4 Out_Color;\n"
        "void main()\n"
        "{\n"
        "    Out_Color = Frag_Color * texture(Texture, Frag_UV.st);\n"
        "}\n";

    const GLchar* fragment_shader_glsl_300_es =
        "precision mediump float;\n"
        "uniform sampler2D Texture;\n"
        "in vec2 Frag_UV;\n"
        "in vec4 Frag_Color;\n"
        "layout (location = 0) out vec4 Out_Color;\n"
        "void main()\n"
        "{\n"
        "    Out_Color = Frag_Color * texture(Texture, Frag_UV.st);\n"
        "}\n";

    const GLchar* fragment_shader_glsl_410_core =
        "in vec2 Frag_UV;\n"
        "in vec4 Frag_Color;\n"
        "uniform sampler2D Texture;\n"
        "layout (location = 0) out vec4 Out_Color;\n"
        "void main()\n"
        "{\n"
        "    Out_Color = Frag_Color * texture(Texture, Frag_UV.st);\n"
        "}\n";

    // Select shaders matching our GLSL versions
    const GLchar* vertex_shader = NULL;
    const GLchar* fragment_shader = NULL;
    if (glsl_version < 130)
    {
        vertex_shader = vertex_shader_glsl_120;
        fragment_shader = fragment_shader_glsl_120;
    }
    else if (glsl_version >= 410)
    {
        vertex_shader = vertex_shader_glsl_410_core;
        fragment_shader = fragment_shader_glsl_410_core;
    }
    else if (glsl_version == 300)
    {
        vertex_shader = vertex_shader_glsl_300_es;
        fragment_shader = fragment_shader_glsl_300_es;
    }
    else
    {
        vertex_shader = vertex_shader_glsl_130;
        fragment_shader = fragment_shader_glsl_130;
    }

    // Create shaders
    const GLchar* vertex_shader_with_version[2] = { g_GlslVersionString, vertex_shader };
    g_VertHandle = glCreateShader(GL_VERTEX_SHADER);
    glShaderSource(g_VertHandle, 2, vertex_shader_with_version, NULL);
    glCompileShader(g_VertHandle);
    CheckShader(g_VertHandle, "vertex shader");

    const GLchar* fragment_shader_with_version[2] = { g_GlslVersionString, fragment_shader };
    g_FragHandle = glCreateShader(GL_FRAGMENT_SHADER);
    glShaderSource(g_FragHandle, 2, fragment_shader_with_version, NULL);
    glCompileShader(g_FragHandle);
    CheckShader(g_FragHandle, "fragment shader");

    g_ShaderHandle = glCreateProgram();
    glAttachShader(g_ShaderHandle, g_VertHandle);
    glAttachShader(g_ShaderHandle, g_FragHandle);
    glLinkProgram(g_ShaderHandle);
    CheckProgram(g_ShaderHandle, "shader program");

    g_AttribLocationTex = glGetUniformLocation(g_ShaderHandle, "Texture");
    g_AttribLocationProjMtx = glGetUniformLocation(g_ShaderHandle, "ProjMtx");
    g_AttribLocationVtxPos = glGetAttribLocation(g_ShaderHandle, "Position");
    g_AttribLocationVtxUV = glGetAttribLocation(g_ShaderHandle, "UV");
    g_AttribLocationVtxColor = glGetAttribLocation(g_ShaderHandle, "Color");

    // Create buffers
    glGenBuffers(1, &g_VboHandle);
    glGenBuffers(1, &g_ElementsHandle);

    ImGui_ImplOpenGL3_CreateFontsTexture();

    // Restore modified GL state
    glBindTexture(GL_TEXTURE_2D, last_texture);
    glBindBuffer(GL_ARRAY_BUFFER, last_array_buffer);
#ifndef IMGUI_IMPL_OPENGL_ES2
    glBindVertexArray(last_vertex_array);
#endif

    return true;
}

void    ImGui_ImplOpenGL3_DestroyDeviceObjects()
{
    if (g_VboHandle)        { glDeleteBuffers(1, &g_VboHandle); g_VboHandle = 0; }
    if (g_ElementsHandle)   { glDeleteBuffers(1, &g_ElementsHandle); g_ElementsHandle = 0; }
    if (g_ShaderHandle && g_VertHandle) { glDetachShader(g_ShaderHandle, g_VertHandle); }
    if (g_ShaderHandle && g_FragHandle) { glDetachShader(g_ShaderHandle, g_FragHandle); }
    if (g_VertHandle)       { glDeleteShader(g_VertHandle); g_VertHandle = 0; }
    if (g_FragHandle)       { glDeleteShader(g_FragHandle); g_FragHandle = 0; }
    if (g_ShaderHandle)     { glDeleteProgram(g_ShaderHandle); g_ShaderHandle = 0; }

    ImGui_ImplOpenGL3_DestroyFontsTexture();
}

redpajama_set_name: RedPajamaGithub


No. 6 Two Strap Clog on High Heel, $265, no6store.com.
I admit that when it comes to wearing heels I am not the most graceful, but as hemlines get shorter, it's nice to have a little extra height. Happily, I discovered this pair of two-strap clogs from No. 6, which are as wearable as they are chic and calf-flattering. Bring on the minis!


Hoop to Hoop is proud to announce team assignments and schedules for the 2nd week of Summer Basketball. Please check your emails for team assignments and the schedules which are now posted on the HOME page. Get ready for games to begin on Monday June 23rd and see everyone on the court playing this week.


text:
New Payments Architecture Programme
Faster Payments Transition Questionnaire
NPA Programme Advisory Groups
New Payments Architecture Core
End User Deliverables
Confirmation of Payee
Enhanced Data
Request to pay
The Leading Retail Payments Authority
Copyright ©Pay.UK 2020
Back to all news Back to all news
Pay.UK response to Which? comments on scams reimbursement
Pay.UK recognises the devastating effect of authorised push payment (APP) fraud on innocent victims. We are committed to playing our part in supporting the delivery of an effective mechanism to help make sure that payment service providers are able to reimburse their customers who are victims of APP fraud. This is why we recently ran a detailed and comprehensive Call for Information seeking views on the FPS Rule Change that has been proposed by a group of banks and building societies.
Our Call for Information is the first time that there has been an open, public consultation regarding the "no blame" funding mechanism, so it is essential that we give proper and due consideration to all of the responses and evidence provided. We have received 39 responses to our Call for Information, which closed on 1 October, from a wide selection of organisations both within and outside the payments industry, and we are now analysing the evidence provided in these submissions in detail.
Pay.UK is an independent not-for profit body, with an independent board, and regulated by both the Bank of England and the Payment Systems Regulator. As such, it is vital that we take into consideration the range of views we have received, regarding the way any funding mechanism works, as part of our overall assessment of the proposal. Once we have completed our full analysis, including our policy, operational and legal assessment, our Board will then be in a position to make a properly informed evidence-based decision on the proposal.
We expect to publish our decision by the end of November.
We recognise the significant work that a range of stakeholders, including UK Finance and Which?, continue to undertake to ensure that bank transfer fraud victims get their money back. In particular, we welcome the work that UK Finance is coordinating to consider alternative mechanisms to provide reimbursement. Any mechanism to reimburse victims will operate alongside the voluntary Contingent Reimbursement Model Code, which will continue to protect consumers under the administration of the Lending Standards Board.
It is pragmatic to provide this contingency, and also demonstrates the continued commitment of the payments industry to work together to tackle APP scams. The power to compensate individual customers is, and always has been, in the hands of the payment service providers should they wish to do so.
Letter of response - Authorised Push Payment Scams - UK Finance and Which?
Go to next article
Current Account Switch Service completes over six million switches
See all news See all news
Collaboration between Pay.UK and the Bank of England on ISO 20022 payment messages
Current Account Switch Service publishes new report on financial vulnerability among the young
Don't leave Christmas payments until the last minute
enquiries@wearepay.uk
2 Thomas More Square
London E1W 1YN
Pay.UK Limited is a company limited by guarantee, incorporated in England. Company Number 10872449.
Pay.UK Limited's registered office is 2 Thomas More Square, London, E1W 1YN.

redpajama_set_name: RedPajamaCommonCrawl


text:
VANQUISH TECH CLOUD
HYBRID | PRIVATE | PUBLIC
CONTROL YOUR OWN CLOUD
Vanquish Tech become West Ham United Women's Shorts Partner whilst CEO Simeon Taylor Joins the Women's Team as Vice President
London, UK, 4th September 2020
Vanquish Tech is delighted to announce an extension to the partnership with West Ham United Women.
The renewed partnership will see Vanquish Tech become the team's new back-of-shorts partner, with the company logo featuring from this weekend's 2020/21 Barclays FA Women's Super League opening fixture away to Tottenham Hotspur.
Women's Managing Director Jack Sullivan said: "I am delighted that Vanquish Tech have elected to extend their partnership with our team and expanded their relationship with us further by becoming our new back-of-shorts partner.
"Simeon and the entire team at Vanquish Tech have been a pleasure to work with since they joined the West Ham United women's family last season and they have been a champion of the women's game, helping to push our side even further.
"It is also a pleasure to welcome Simeon as a Vice President of the West Ham United Women's team. I believe his technology background can help the Club to push forward even further, and I am looking forward to collaborating closely with them throughout the new campaign."
Vanquish Tech CEO Simeon Taylor said: "Over the past year, Vanquish Tech has been privileged to have the opportunity to sponsor and work with the West Ham women's team. Over the course of this time we have seen the team's intent, ambition and desire to compete at the top level of the Barclays FA WSL; Coupled with their professionalism and work ethic, this has left a marked impression upon us as individuals and as an organisation, as we share such similar values.
"These synergies of collaboration, passion, perseverance and intent not only resonates with me but with the values Vanquish Tech continually strives to meet for ourselves, our clients, our partners and the institutions we support such as the Spinal Injuries Association.
"We also feel it is such a fantastic platform to promote our business and help encourage more women to become involved in the tech industry by combining sport, technology and innovation.
"Based on these synergies we are proud to announce the extension of our partnership for a further two years and look forward to both Vanquish Tech and the West Ham Women's Team growing and learning together, both on our individual journeys and together as partners while competing at the highest level.
"I am also delighted to come on board as Vice President, and I will be embracing this role wholeheartedly by working closely with Jack to bring new ideas to the club. We will help grow the fan base and assist the team from a technology point whilst providing Jack with whatever support he needs to help him achieve his vision and goals.
"I look forward to the two years ahead with West Ham United women's team. It promises to be an exciting journey which we are thrilled to be part of."
About West Ham United Women
West Ham United Women Football Club is an English women's football club affiliated with West Ham United. They were formed in 1991 and play home games at Dagenham & Redbridge F.C.'s Chigwell Construction Stadium on Victoria Road.
For more information about West Ham United Women, please visit their website or follow them across Twitter, LinkedIn and Facebook.
sales@vanquishtech.co.uk
| +44 203 141 2910
Copyright © 2020 Vanquish Tech. All rights reserved.


Request ground handling at EPBY / BZG / I J Paderewski Intl in Bydgoszcz, Poland. EVO Jet contracts with primary ground handling providers / FBOs at I J Paderewski Intl to ensure you receive the best value on every trip to Poland.
Contact EVO for your next business jet, government air mission, or cargo flight to EPBY / I J Paderewski Intl.


text:
Sultan 'Ibrahim/Ahok' in a period of ascetic practice: a Raja-Pandita in the prison of Depok?
Russell Jones published in 1983 a short Malay text, in Jawi script (Malay with Arab characters), together with transcription and English translation about a Muslim version of the story of Siddharta Gautama, the Buddha. A king (of Irak) left his richness and royal position to become a religious mendicant, living in Mecca. His son Muhammad Tahir hears from his mother later that his father has gone. He finds him in Mecca, learns from him and returns to the city of Irak as a mendicant (seorang fakir). The wazir who ruled the country in the name of Sultan Ibrahim recognizes him as a princely son and gves him many goods, the possession of his father. Tahir travels to Kufah and find his mother and gives her rich gifts from the wazir and stayed with her. Every year the wazir sends goods to Muhammad Tahir, who does not claim a political position, but continuous to live as an ascetic man.
This text came into my mind when I followed the story of the Ahok trial last months. The public prosecutor asked six months suspended detention for his comments on Qur'anic verses. On 9 May Ahok was sentenced to two years prison: heavier than was asked. Initially both parties appealed against the verdict, both by Ahok (in a moving letter, 21 May, read by his wife Veronica under tears) and also by the public prosecutor. From the side of Ahok, he did not blame any person or group in particular but stated that the whole process went into the wrong direction for all parties:
The city of Jakarta has suffered much loss because of the traffic jams and economic problems. I do not like that my struggle will continue and cause problems for the town. ... Let us all show that we believe that God is ruling this world and decides about the direction of history for all people. We all want to show that we are people who believe in the One Allmighty God, we want to love all people, the whole of humanity and we want to confirm truth and justice for all people.
Tuhan does not sleep [in Javanese, not Indonesian: Gusti ora sare].
Psalm 131 verse 3: Put your hope in the Lord now and always [written in English]
According to my faith I say: [again in English] The Lord will work out his plans for my life , Psalm 138, 8a.
Signed as Ahok BTP [Basuki Tjahaja Purnama]
I took the text from
https://news.detik.com/berita/d-3509010/ini-isi-surat-yang-ditulis-ahok-di-tahanan
Ahok has asked for a laptop, and will spend his time writing, reading the Bible and refresh his Mandarin. In 2008 he has published a book Merubah Indonesia on the way how to change Indonesia, while giving more attention to the poor. I hope the borrow it next week from the library in Leiden University and to read it. I wish our ruler turned into hermit a good spirit and result for his personal physical and mental health and Indonesian society as a whole!
In the story of Sultan Ibrahim the ladies are always waiting, but do not join the spiritual exercises or trips. What about Veronica?
There is an old term in Javanese: the status of a Raja-Pandita, a Priest-King as was the case until 1625 in Giri and also in Ceribon (Syarif Hidayatullah). It is too much to label Ahok as a Raja Pandita, but it is nice to remember the word.
Dutch Colonialism revised and revived
From 1970 until 1988 I was busy with and in Indonesia: research for the PhD on pesantren and teaching in Jakarta and Yogyakarta. After returning to the Netherlands I wrote a first book for the Dutch market with the title De Islam bekeken door Koloniale Nederlanders. ('Islam in the eyes of Dutch Colonials')
Islam was a new issue in Dutch society and I wrote from my experience of Indonesian studies. The book was published in 1991. An English translation followed in 1993 and an Indonesian one in 1995 thanks to the translator Drs (now professor) Suryan A. Jamrah.
The Indonesian translation was published by Mizan and sold quite well. 4000 copies. But there was no reprint. I was told that the Arab connections of this publisher were not happy with the account of the warm cooperation of Sayyid Uthman with the colonial government.
The English edition was reprinted in 2006 with a new concluding chapter about the last 50/70 years. Times are changing quickly. Now again the translation by Suryan Jamrah has been published with a new concluding chapter and prefaces by Azyumardi Azra and Mujiburrahman. The latter wrote a nice poem for me here:
Steenbrink bukan sarjana menara gading;
Masalah antar agama dia turut berunding;
Di Belanda dan Indonesia dia pontang panting;
Didukung isterinya yang selalu menggandeng.
In English translation it can be read as:
Steenbrink is not a scholar of the ivory tower
he is always concerned with interreligious things
active in Indonesia and the Netherlands
supported by his loving wife
Thank you, Suryan Jamrah, Mujib and Azyumardi, as well as Farid Wajdi of Gading Publishers for this edition. Mujib wrote me that he considers it the proper gift for the end of Ramadan this year. To all readers: Mohon maaf lahir batin: I ask for all the mistakes made in this book and elsewhere in my life! May it contribute to peace and understanding.
Gepost door Karel Steenbrink op 21:50 1 opmerking:
Shariatism as another bad ideology, preaching a truncated Islam, now also in Indonesia
The Moroccans and Turks are the largest Muslim groups in the Netherlands. Observers note that they did not bring a 'full and rich Islam' to our country. Among the Moroccans, they have left the rich history of maraboutism, holy men, healers, a history of pilgrimage and holy graves. They only took a number of imams to our country, people who control the mosque, preach the right observations for prayers, for halal food, proper dress. And civil and political support for the King! If people say that migrant Muslims have become more devout Muslims than in their country of origin, they mean: the formal rules are better tought and kept by many. Why? Because the alternative, especially for women, the marabout as a personal advisor and a key figure in popular religion is not present. It is a truncated Islam that has arrived in the 500 mosques in our country!
The same can be said about Turkish Islam, with some variations. When the caliphate was abolished in 1923 also the Muslim brotherhoods were banned. Not only the azan should be said in Turkish, but the graves of saints were no longer sacred places. In Konya there is a museum, where you have to buy a ticket to see the grave of Maulana Jamaluddin Rumi, where it is not allowed to kiss the grave or to offer a letter with prayers and vows to this grave. Diyanet is the equivalent of the Ministry of Religion in Indonesia. It is used to look after the proper rituals in the mosques and at marriages, burials, circumcisions.. It is preaching a 'moderate' style of Islam, which is also a 'tamed' Islam with no straight or direct interference in politics, but it has served to bow for politicians who wanted to condem and even ban Shi'a and Ahmadi Islam. Elsewhere I have written about the verdict against Fethullah Gülen by Diyanet (as if he is no longer a Muslim, because in meetings of interreligiosu dialogue 'he skipped the prophethood of Muhammad').
Leiden University Press has recently (2016) published an angry book: Kees van Dijk, & Nico Kaptein (eds), Islam, Politics and Change. The Indonesian Experience after the fall of Suharto. It has in part the story of PKS as the most popular Muslim party for some time. Even some Leiden scholars (like Henk Schulte Nordholt) considered it as a promising initiative. But it has now proven that it is as vulnerable for corruption as other parties. So, for the sake of a relevant and healthy Islam, it should abstain from politics!
For me the most interesting contributions in this book were by Moch. Nur Ichwan (MNI) and Reza Idria on the disastrous introduction of some aspects of sharia in the province of Aceh. MNI studies a non-Sharia oriented sufi group around Syeikh Amran Waly. In 17th century there was a period when Sufism was 'state Islam' when sharia Islam was marginalised. Now we see the opposite, but he pleads for a good balance at least. P. 229 quotes Teungku Zamhuri as saying that 'implementation of sharia as it is today will not bring people closer to God. For him, God should be approached by dhikr and good deed to others.' .. 'The sharia euphoria has neglected the inner dimension of Islam and marginalised sufi groups' (234) in these circles 'There was a feeling of being oppressed by the sharia ulama and the government with its 'simplistic' policies, as they saw it, of Islamisation taking the form of formal Shariatization. The implementation of sharia in Aceh was dismissed as trivial and artifical, because the qanuns and official sharia discourse neglected the richness of the esoteric dimensions of Islam.' (243)
Quite funny is the debate about dress for women: Alyasa Abubakar (one of the first architects of sharia implementation in Aceh, now at a distance quite critical) considered the regulation unnecssary, pointing out that trousers are the traditional attire of Acehnese women. (244) And it may be added: it also can be modernised in a nice way!
Idul Fitr AH 1438 Happy End of Ramadan!
Dear readers, friends,:this is written in the last week of Ramadan 1438: a difficult week for Dutch Muslims because weather is very hot and the days start very early (04:00), and iftar is only at about ten in the evening. And this at 30 Celsius during daytime!
But there is much more. Themedia continuously report about attacks in London, Brussels, with a limited number of victims, while in Syria and Irak, not to speak about Somalia, casualties run into the hundred. Recently I had some idea about how al-Ghazzali must have felt amidst the attacks of Sassanid terrorists, who caused him to flee from Baghdad and seek security in a calm desert place.
The most painful messages are about the fraternal problems between Muslims: Turkish Muslims in our country are divided between followers of Erdogan and his Diyanet who call Fethullah Gülen a terrorist and instigator of the failed coup of 15 July 2016. Gülen followers now no longer use his name. Their website with the name Hizmet or 'service' has been stopped, and what is left of the Zaman New Agency has now been given another name as well.
Nevertheless, we all ask forgiveness for the mistakes we have made and pray that the near future may be better.
Our son Floris saught a long holiday, three month adventure, with his wife Inge and the son Doemer (5 years) and daughter Mette (2 1/2). Not to any southern country, but here they are crossing the polar circle: cold, but empty places and quiet! Enjoy freedom and peace!
donderdag 1 juni 2017
A criminal or a victim? Pius Rasi Wangge of Flores.
The latest issue of BKI, the journal of Indonesian and Caribbean Studies (in full Bijdragen tot de Taal-, Land- en Volkenkunde uitgegeven door het Koninklijk Instituut..) has an interesting article by Steve Farram ( 2017, vol 173:23-52) on the reasons why West or Indonesian Timor was integrated in an independent Indonesia in the period 1945-1950, while Portuguese Timor received support from Australia and first of all from the USA to retain it status as a colony. The major reason was that the USA wanted to use the harbour of the Azores Islands during Worldwar II and made the promise not to disturb the colonial relations of Portugal in Africa and Asia. Anyway: Portugal lost the colonies after 1975!
Part of the article is also about the court cases against two Indonesian for 'war crimes' during the Japanese period, 1942-5. One of these was about Pius Rasi Wangge. He was the son of a village head in Central Flores. Born about 1890 he was in 1909 the guide to the first Catholic missionary visiting the region from Sikka. In 1914 he was nominated in the new position of raja for a region of five villages, a colonal creation, also to curb the influence of Islam. This duty expanded to the great territory of Lio where he was raja with some 50 kapitan under him. The Dutch officials found him efficient but also somewhat irregular with taxes and talked about 'extortion'. A native raja is different from a colonial official. This 'irregularity' became so serious that in the late 1930s he was condemned by the Resident of Kupang and expelled to that town for ten years. He was also accused of some killings and practices that now would be called corruption.
It is clear that he prevented the growth of Islam in his region and made Lio a truly 'Catholic' territory, although his methods were not always applauded.
I could not find pictures for Raja Pius and so above is a picture of Don Lorenzo of Larantuka (who died in exile in Yogyakarta and Raja Don Thomas of Sikka, the last to bear this dignity until he died in 1954.
While reading the life story of Raja Pius again (most of it is in the second volume of Catholics in Indonesia, 107-9), I wondered whether it was a wise and just verdict: was he only the subect of death sentence only for his support to the Japanese since 1942 (after he was condemned by the Dutch to a simple exile in 1941): was he really a criminal or was it is 1946-7 also a frustrated Dutch government anxious to get its colonial power back and made Raja Pius a victim of the last colonial war? I must look to the documents in the National Archives in the Hague.
Sultan 'Ibrahim/Ahok' in a period of ascetic pract...
Shariatism as another bad ideology, preaching a tr...
A criminal or a victim? Pius Rasi Wangge of Flores...


text:
Nursing & Health
Law, Crime & Punishment
TOP Essay Categories
Haven`t found
the right essay?
Home / Essay Samples / Religion / World Religions / Hinduism / Comparison Of Hinduism And Buddhism
Comparison of Hinduism and Buddhism
Buddhism, World Religions
Buddha, Hinduism
Words: 1144 (3 pages)
Please note! This essay has been submitted by a student.
Religious values are known as a crucial factor in the cultures of all countries. Traditions, monuments, duties are part of all religions. Hinduism and Buddhism have significant issues that are people curious about. Hinduism and Buddhism have a special role in the composition of the classical civilization of India. It is also interesting for people to get information about different values. There are lots of similarities and diversities which we can discuss.
Hinduism and Buddhism have a special role in the social life of people. Hinduism existed in the Indian continent before Buddhism, chronologically 2000 BCE. Although Hinduism does not have a certain founder, its followers are called Hindus. It is a nationally strong religion with a strong regional influence, which surrounds the Indian subcontinent from North India to the Indus. Hindus call their religion "Sanatana Dharma" (eternal law), not Hinduism. Classical Hinduism covers the period from its appearance to the appearance of the Advaita movement. In this period, some religious beliefs started to exist like Jainism and Buddhism. When it comes to Buddhism, it is a religious system, which chronologically started to emerge in 6 BCE after Hinduism. It first appeared in North India. It is named by the influence of the founder Buddha. The name of this character is not the Buddha. This name is used as an adjective in terms of meaning, for the person whose real name is 'Siddharta Gautama Sakyamuni' as 'enlightened, awakened'.
Essay due? We'll write it for you!
Any subject
Min. 3-hour delivery
Pay if satisfied
There are a lot of issues that are known as similarities between these two religious systems. Firstly, it is obvious that both of them have an origin in India. And they always have a significant impression on the lifestyle of the Indian population. Both religions have the belief that one's destiny is composed of one's movements, thoughts, and states of consciousness. So, both religions have an understanding of karma. Both of them believe that a person is born until his evolution, like a theory of rebirth. But there are some diversities about this statement. Hinduism has an understanding of the transmigration of the soul. In Buddhism, there is no existence of unchanging belief in the soul that is completely separate from one's self. Buddhists just call it simply a rebirth. Both religions have an understanding of Nirvana, but there are differences in perception. In Hinduism concept of Nirvana is identified as the concept of Moksha. In Buddhism, the concept of Nirvana is known as a theory that is very difficult to describe in words and very hard to understand without experience. Both religions indicate the sacredness of all life and living things; they deserve respect, love. It is called a harmless principle (ahimsa). Moreover, we can say that meditation exists in both of them. And lastly, there is an existence of sculptures, statues, and a high sense of symbolism in both religions.
Some differences are discussable in Hinduism and Buddhism. This paragraph illustrates the differences and diversities of these two religions. As a first difference, it can be diversities in belief in god. Hinduism is a polytheistic religion. On the other hand, gods are defined as male and female, and they are human characteristics, birth, death, jealousy, and protection. they also contain emotions. So they have God's anthropomorphic imagination. Respect-compassion ceremonies and rituals underlying the worship theory are successful in getting their Gods ' numbers. In Hinduism, powerful gods have assumed males, and they are assigned divine duties and actions, such as especially creating and destroying. Essentially, in Hinduism, there is a trinity of God called "Trimurti". And each God has their own responsibility: Brahma as a creator, Vishnu as a preserver, and Shiva as a destroyer. On the issue of Buddhism, it has not been created as clearly and distinctly as the belief system of God in Hinduism, and the Buddha has not said much about it. Historically, although Buddha chose Hinduism doctrines as the focal point and inspiration of his teachings as the focal point of criticism and established doctrines against them, it does not mean entirely denying God's imagination that the supreme beings are mortal and unnecessary. Secondly, we can compare the holy figures of these two religious systems. In Hinduism religious culture, the holiness of the people, or the incarnation of the gods, their mission in history, and the compilation of sacred texts of a revelation within the framework of these missions have given them extraordinary qualifications and thus have become sacred figures. But Buddhism is a religious system within the religious framework that, as a result of individual efforts and not social salvation, focuses on liberating and finalizing human desires. There is, therefore, no sacred religious figure in Buddhism except for Buddha and his followers. We can also analyze varieties of principles of worship in Hinduism and Buddhism. In Hinduism, worship is communication with God through convincing and consistent words. This communication is carried out in the form of saying, making wishes, calling, singing, praising, and especially worshiping magical words. In Hinduism, there is no congregation worship. Worship, although individual, is not bound to a certain shape. They believe that the gods see worship everywhere. Therefore, worship can be performed anywhere, in any form, and at any time. Although it is stated that there are many religious ceremonies and practices in Hinduism, Hindus suffice the fulfillment of a few of these worships. Buddhism did not initially include the idea of worship. Later, some worships emerged. A fasting ceremony can be considered as one of these worship. Buddhist monks meet twice a month, either on the moon or on the fourteenth, and check whether Buddhism is fully practiced. In Buddhism, the places where the Buddha was born, gained high inspiration, turned the wheels of the law, and reached Nirvana is considered sacred and visits are made. After Buddha's death, two sects named "Mahayana" and "Hinayana" appeared. The main feature of the first of these is that one believes in the Buddha, surrenders to it, and trusts his eternal contract. Therefore, one should try to save not only himself but all living things in dangerous situations. The second is a Buddhist community based on the idea of the basic trio of Buddhism (Buddha, Dharma, Sangha), which does not care much about Gods and souls, believe that the temporality of events, life, and rebirth are painful and that man can only be saved by reaching Nirvana. As a result, Hinduism, which has regional characteristics, is a national religion. Buddhism, which emerged after it, is a religion with universal characteristics. The theses and doctrines they developed against Hinduism play an important role in the development of Buddhism.
In conclusion, we can easily say that there are lots of similarities and diversities, which are interesting to discuss on every occasion. This essay contains the comparison of values, beliefs, and dogmas between Hinduism and Buddhism that leads to breaking the phenomenon of "considering them as a source of one cultural background".
writers online
to help you with essay
More Essay Samples on Topic
Hinduism and Buddhism in Early Life
3 Pages 1381 Words
Celebrations & Rituals
My Experience Performing Satyanarayana Pooja
2 Pages 969 Words
Comparison Between Hinduism and Sikhism
Comparative Study Between Hinduism and Buddhism
Religious Values of Hinduism, Buddhism and Islam in War and Peace
The Three Marks of Existence According to Buddha
Thai Festivals and History
Mandalas and Their Use for Reducing Stress and Tension
Burial Rites and Rituals Devoted to Kings in Jewish Religion
1 Page 459 Words
The Remarkable Achievements of 14th Dalai Lama, Tenzin Gyatso
The Leadership and Traits of a Leader in Dalai Lama
The Church of Scientology and Reasons for Its Following
Clock is ticking and inspiration doesn't come?
We`ll do boring work for you. No plagiarism guarantee. Deadline from 3 hours.
We use cookies to offer you the best experience. By continuing, we'll assume you agree with our Cookies policy.
We can write it better! Just try!
Choose your writer among 300 professionals!
You cannot copy content from our website.
If you need this sample, insert an email and we'll deliver it to you.
Please, provide real email address.
This email is exists.
By clicking "Send", you agree to our Terms of service and Privacy statement.
We will occasionally send you account related emails.
We have emailed you this sample.
Would you like to have an original essay?
We can edit this essay and make it 100% plagiarism free
Contacts Support FAQ DMCA Donate Essay
Write My Research Paper Dissertation Writing Services College Essay Help
Education Literature Nursing & Health Business
Email for Customers:
support@eduzaurus.com
Term of Use Privacy Policy Donate Essay
© 2022 EduZaurus.com. All rights reserved


text:
Top 10 Anime with Unrealistic Ninja Characters [Japan Poll]
3:51 AM July 29, 2016
Everyone loves a good ninja anime - but how realistic are the ninjas on our screens? Well, with many of them wearing incredibly bright outfits and having loud personalities, not very.
Goo Ranking held a poll from June 28 to July 1 asking Japanese fans which anime they thought has the least ninja-like ninja characters.
So, which anime made the list in this Japan Poll? How many of the series showed up in our ranking? Let's get to the results and find out!
Top 10 Ninja Anime [Updated Best Recommendations]
Top 10 - Top 6
10. Sasuga no Sarutobi / 18 votes
9. Basilisk: Kouga Ninpou Chou / 22 votes
7. Ninja Slayer From Animation / 26 votes
7. Pyuu to Fuku! Jaguar / 26 votes
6. Kagaku Ninja-tai Gatchaman / 28 votes
Top 5 - Top 1
5. Kinnikuman
Episodes: 137
Aired: April 1983 - October 1986
Kinnikuman is a superhero... a bad one. The one day a person named Meat tells Kinnikuman that he is the prince of an alien planet. Kinnikuman must save the day numerous times fighting evil chiyojins and competing in tournaments to prove himself to his family and to gain respect and money.
(Source: MAL)
4. Gintama
Aired: April 2006 - March 2010
The Amanto, aliens from outer space, have invaded Earth and taken over feudal Japan. As a result, a prohibition on swords has been established, and the samurai of Japan are treated with disregard as a consequence.
However one man, Gintoki Sakata, still possesses the heart of the samurai, although from his love of sweets and work as a yorozuya, one might not expect it. Accompanying him in his jack-of-all-trades line of work are Shinpachi Shimura, a boy with glasses and a strong heart, Kagura with her umbrella and seemingly bottomless stomach, as well as Sadaharu, their oversized pet dog. Of course, these odd jobs are not always simple, as they frequently have run-ins with the police, ragtag rebels, and assassins, oftentimes leading to humorous but unfortunate consequences.
Who said life as an errand boy was easy?
(Source: MAL Rewrite)
3. Ninja Hattori-kun
Aired: September 1981 - December 1987
he everyday Sanyo family gets an unexpected surprise in the shape of a new lodger-Hattori is a ninja boy who has come down from the Iga mountains to attend normal school. Befriending Kenichi Sanyo, who is the same age as he, Hattori starts attending school undercover, occasionally accompanied by his brother, Shinzo, Shishimaru the ninja dog, and Kenichi's girlfriend, Yumeko. The gang is also threatened by the rival Koga ninja, Kemumaki, and his evil sidekick, Kagechiyo the Shadow-cat.
(Source: The Anime Encyclopedia)
2. Nintama Rantarou
Episodes: TBA
Aired: April 1993 - Present
Rantarou, Shinbei and Kirimaru are ninja apprentices in the Ninja Gakuen, where first grade ones are called "Nintamas" (contraction of the words ninja+tama (egg)). They must learn everything a ninja must know, but as for our heroes, money, food or playing are more interesting. The series show the everyday adventures of our heroes, segmentated in a cartoon fashion, like 2 small episodes in a 30-min show. The cast also includes the teachers (Doi-sensei and crossdressing Yamada-sensei), nintama kunoichis, evil guys (Dokutake ninjas) and even family members of all the cast...
(Source: ANN)
1. Naruto
Aired: October 2002 - February 2007
Moments prior to Naruto Uzumaki's birth, a huge demon known as the Kyuubi, the Nine-Tailed Fox, attacked Konohagakure, the Hidden Leaf Village, and wreaked havoc. In order to put an end to the Kyuubi's rampage, the leader of the village, the Fourth Hokage, sacrificed his life and sealed the monstrous beast inside the newborn Naruto.
Now, Naruto is a hyperactive and knuckle-headed ninja still living in Konohagakure. Shunned because of the Kyuubi inside him, Naruto struggles to find his place in the village, while his burning desire to become the Hokage of Konohagakure leads him not only to some great new friends, but also some deadly foes.
Source: Goo Ranking
I can see what they mean about the ninjas not being realistic, but it looks to me like Japanese fans like a lot of really old, really long anime...
We've got a few of the same series on our list, but yeah... Naruto may be the least realistic ninja, but he's still the best!
Top 10 Anime Ninja Girls
Top 10 Historical Anime [Japan Poll]
Top 10 Police Anime [Japan Poll]
[ad_dfp position="bottom1" unit_pc1="true" unit_pc2="true" unit_sp1="true" class="mt40"]


If you have an aquatic system that is not functioning properly, has not been upgraded in years, or is in a state of disrepair Waterworks Industries, Inc.'s experienced staff can perform a complete inspection of your system and diagnose the issues that are preventing the system from operating at its optimal level. Waterworks Industries, Inc. can then use this data to recommend repairs and/or upgrades to get your system back up and running.
Above image shows before and after.


We have corporate membership of the Guild of Master Craftsmen.
We are a member of the Guild of Master Craftsmen. The Guild of Master Craftsmen provides consumers with a database of skilled and reputable professionals who are masters of their particular trade.


Our upscale all-suite hotel offers 96 suites that feature separate living and sleeping rooms with fully equipped kitchens. For the most comfortable hotel accommodations in South Dayton Ohio, stay at the Homewood Suites by Hilton®.
When your travels to Dayton Ohio require large upscale suites with kitchens, then the Homewood Suites by Hilton® is ready and waiting for you! Best of all, we're a proud member of the Hilton Family® of hotels where service is guaranteed and members can earn valuable Hilton HHonors® rewards.


There are many ways to get to fully know Singapore's local culture. Greyloft shows you how to live like a local and explore the city like a real traveller!
Singapore may be known as a fast-paced metropolis, but this tiny Southeast Asian nation has so much more up its sleeve: its unique local culture. As a cosmopolitan melting pot, the Little Red Dot easily manages to attract expats from all corners of the world.
To get closely acquainted with Singapore, Greyloft taps on 10 unique ways that will help you experience a full immersion in its distinctive culture.
It's a known fact that Singapore's culinary scene can keep you busy for weeks on end. Influenced by a myriad of tastes and aromas, the local cuisine is perceived as a real form of art.
At ubiquitous hawker centres and food courts like Maxwell Road Hawker Centre, Chomp Chomp Food Centre and Lau Pa Sat, you will be able to enjoy local favourites such as laksa, roti prata, hokkien mee and satay and literally get a taste of one of the global capitals of the world.
Although Singapore is a new nation, its heritage is incredibly vivid as it comprises cultures such as Chinese, Malay, Indian and Eurasian. These tight-knit communities have been shaping up the nation for decades, so to get to know them better, head to institutions such as the Malay Heritage Centre, Chinatown Heritage Centre or the Eurasian Association, which showcase compelling aspects about these cultures through compelling permanent and temporary exhibitions.
You may be living in the concrete jungle, but it's important to be connected to nature and wildlife, so don't miss the chance to spend your weekend at the Singapore Zoo or The Night Safari, the world's first park for nocturnal animals.
Your little ones will thank you for these awesome animal adventures, which inspire and educate. For a more off-the-beaten track experience, there's also the Jurong Bird Park, where you can enjoy close interactions with a kaleidoscope of birds at feeding sessions.
For the uninitiated, the Singapore culture is something extremely versatile and the local language Singlish may sound a bit abrupt, but if you spend some time learning the basics, you will learn its subtleties and may even come across as a local yourself. Fusing English, Malay and Chinese dialects such as Hokkien, Teochew and Cantonese, this unique language will certainly come in handy when ordering an authentic breakfast in a coffeeshop.
You may think that this bustling city is all about modern architecture and ultra-sleek skyscrapers, but if you're into nature, you will be pleased to spend your weekends exploring green spaces such as MacRitchie Reservoir Park, the UNESCO World Heritage Botanic Gardens, the futuristic-looking Gardens by the Bay, Bukit Timah Nature Reserve and East Coast Park. These lush oases of greenery will give you and your family plenty of reasons to escape, have an active time or simply take in the surroundings.
If you're an urbanite, Singapore won't disappoint as it's dotted with a slew of eye-catching buildings. Just spend the weekend discovering colonial shophouses home to fancy restaurants and quaint cafes and museums boasting European influences.
You can also explore cool neighbourhoods such as Tiong Bahru, Tanjong Pagar and Holland Village, teeming with restaurants, cafes and shops as well as modern housing options, which add to the eclectic skyline of the city.
For artisanal goodies and fresh produce, skip supermarkets and head to some of the city's most popular farmers' markets, which will take your grocery-shopping experience to a different level.
These are constantly popping up on the island so do keep a lookout for Kranji Countryside Farmers' Market, Bolly Jolly Farmers' Market and Open Farm Community Social Market.
Singapore can easily pass as one of the world's shopping capitals and this can be primarily seen on Orchard Road, the most vivid retail streets in the city. Expect an enormous choice of shops and malls offering everything from clothing to homeware to jewellery and accessories.
If you're a shopaholic, you'll also want to check out some popular malls such as Raffles City, Suntec City, Millenia Walk, Marina Square and Esplanade Mall, which are connected via the underground Citylink Mall as well as VivoCity, located along the waterfront opposite Sentosa Island.
Singapore has been recently named one of the best places to live and work, so it's no wonder that expats from all around the world will appreciate the booming industries here, the excellent healthcare system, the top-rated education kids can receive and the great housing options, which will make them feel at home.
Another important aspect it's also the balance between work and leisure, so it's safe to say that the country offers an endless choice of hangout spots in bustling bar clusters such as Robertson Quay, Clarke Quay, Boat Quay, Holland Village and Ann Siang Hill.
With so many ways to get to know the Little Red Dot's local culture so well, all you have to do is just enjoy your new adventure in the city!
Singapore may be a small nation, but it has many reasons to take pride in its versatile mix of museums. If you crave for a dose of culture in the Lion City, you surely won't be disappointed. Simply take some time to explore quaint, quirky museums such as MINT Museum of Toys, a private museum, which displays about 50,000 pieces of vintage toys and, of course, heavyweights such as ArtScience Museum, which beautifully fuses art and science in 21 awe-inspiring galleries.


text:
Women and the Burning Mouth Syndrome
Although it usually appears in older women, the burning mouth syndrome, also known as BMS, can also appear in younger females. The thing that you should be worried about is the symptoms, which only show up when the condition has already installed itself very well. This means that BMS appears early in life and it only shows signs when you start growing older.
BMS is a very painful condition which usually appears due to bad nutrition, allergies and other medical problems left untreated. BMS is a very frustrating condition, especially due to the pains and weird sensations felt in the mouth, on the tongue and on the palate and even lips.
Causes, Signs and Symptoms
Most well known and common symptom and sign which should alert you with regard to BMS is the sensation of burning mouth. Most people who suffer from burning mouth syndrome usually feel their mouth burning in the morning and the peak of this sensation has been reported to happen during the evening.
The sensation subsides during the night, but in the morning it is there again. Given that the pain felt due to the burning mouth syndrome is so intense, many people can even develop anxieties and depression and these two are other two signs which should make people think of BMS.
The causes of BMS are quite a few, considering that it can appear due to hormonal changes, poor nutrition, oral candidiasis, which is a fungal infection of the mouth appearing mostly due to antibiotics, conditions such as diabetes and many other.
The worst part is that, as I have already mentioned, even though it is characteristic to older women, who have already passed their menopause, there are high chances for younger ladies to develop the burning mouth syndrome and that because of the many things which can cause it.
Treatments for BMS
Depending on the cause of the burning mouth syndrome, each patient will surely have their own, personalized type of treatment. Mostly, these treatments consist of taking supplements, in people who have a poor nutrition, treating disorders left untreated, which can cause BMS, such as diabetes and even changing medication, if a certain type of drug give this sensation of a burning mouth.
There are some drugs which can be taken to relieve the symptoms of the burning mouth syndrome, to relieve the pain and to feel a little better, but all these drugs work only for short period of times.
The best thing you can do is to protect your mouth now, that you are still young and can do it without problems. Always keep an eye on your nutrition, on your conditions and make sure that you do not have allergies to anything a dentist may use to treat you for a certain condition in the mouth.
In any case, BMS is extremely painful and everyone should be aware of its symptoms and causes and try to avoid it.
Sinusitis: 8 Methods to Breath Better
Solve Your Ear Infection Problems
Fixing Hormone Imbalance Problems
Information about Mesothelioma
Asperger Syndrome's Symptoms
What You Need to Know About Bronchopneumonia
burning mouth syndrome burning mouth syndrome causes burning mouth syndrome symptoms treating bms women and bms
Stay Two Steps Ahead of Allergy Season
Removing Glasses and Contact Lenses or Refractive...


Harrisburg Area Community College (HACC)is unique because students are given the opportunity to receive an excellent education at a reasonable price. In addition, students who have graduated (high school) from one of the sponsored districts can get reduced tuition because their district will help pay for your education. Also, HACC offers evening classes for those who are working and online courses for those who prefer to learn at home. Blended courses are also availabe so that students can do some of their class work online and still have a teacher who they can interact with at the campus.
Many colleges accept HACC's credits. This means, if you are trying to keep cost down, you can take your first two years there and then transfer to a four year as a junior and finish your schooling then. Also, there are many different kinds of professors. Some are professional teachers but many are from the actual work force. An example is a district attorney teaching a criminal justice course. This helps students not only learn but have some one to talk to when deciding what to do.
HACC is well known for having a diverse group of students and the five different campuses allow for flexibility and variety of classes. Professors at HACC are well aware of students who are working full and/or part time jobs off campus as well as students with families and are willing to work schedules around that.
It is a community college. I had planned on attending a 4 year college but after doing some research on some of the schools i realized that i wasnt ready to attend a 4 year school. HACC is a good place to start if you are not ready to move on or if you are not financially able to go away.
HACC is a local community college that seems to make the effort to landscape beautifully that would rival four year colleges. The college is spaced out to make going from class to class easy.
Harrisburg Area Community College is much different then all the other schools I have in consideration because the other schools are all universities adn this is my first community college.
Even though it is a community college there are many things to do on campus. There are a lot of students from so many different back grounds.
The teachers in the education department really like what they are doing and are motivated to motivate you.


text:
PREGUNTAS? LLÁMENOS AL +571 743 5384
Leadership in promoting stem cell research and patient applications
+571 743 5384 // +571 744 6539 // Móvil: +57 3115001751
Email: info@globalstemcellsgroup.co
Adimarket
Cra 23 · 124 - 87 Edificio Zentai - torre 1, oficina 501 Bogotá , Colombia
Global Stem Cells Group, Inc. Announces Collaboration with VidaCel Laboratories and Stem Cell Bank, Chile
by Benito Novas / Tuesday, 22 December 2015 / Published in Press Releases
Global Stem Cells Group announces a new alliance with Santiago, Chile-based VidaCel Laboratories, Latin America's oldest and largest cryopreserved umbilical cord blood bank.
MIAMI (PRWEB) SEPTEMBER 25, 2015
Global Stem Cells Group has announced a new collaboration with Santiago, Chile-based VidaCell Laboratories, Latin America's oldest and largest cryopreserved umbilical cord cell bank. The alliance is focused on creating new protocols for cryopreservation of cord blood, cord tissue, adipose tissue and dental pulp stem cells, and the culture and expansion of cell colonies.
The GSCG / VidaCel alliance will provide both companies broader access to the newest stem cell technologies for application in new territories. With Global Stem Cells Group's growing presence in Latin America, the collaboration with VidaCel will eliminate the potential for significant delays in collecting and processing stem cells, which can result in a loss of cell viability.
According to Global Stem Cells Group CEO Benito Novas, the rules of the National Program for Bone Marrow Donation in the U.S. provide the guidelines used by VidaCel for processing cord blood cells within 24 hours.
"VidaCel's location in Chile guarantees immediate availability of cells," Novas says.
"Their process of collecting, processing and preserving stem cells is performed under the strictest standards of biosecurity, and designed to better safeguard the material over a lifetime, which makes them a perfect collaborator for Global Stem Cells Group."
Tissue stem cells, or mesenchymal stem cells, harvested from umbilical cord blood and tissue, can differentiate and generate cells of different tissues, mainly connective or supportive, such as bone, cartilage or muscle. Studies show that they can also participate in the process of tissue regeneration through other mechanisms such as immunosuppression, production factors and cell stimulators present in tissue or a damaged organ. Tissue stem cells also have characteristics that allow them to adapt fairly easily to the action of the immune system of an individual, which is why they are essential for use in allogeneic procedures in which immunologic compatibility is a factor.
Stem cells harvested from adipose tissue can differentiate into bone, cartilage, tendon and muscle, and can strengthen defensive and regenerative function. Adipose stem cells are found in adipose (fat) tissue.
Stem cells harvested from dental pulp can also differentiate into bone, cartilage, tendon and muscle to reinforce their defensive and regenerative function. These cells are found in the teeth.
Over time, the body's stem cells succumb to environmental insults, a common occurrence in the aging process. Cryopreserving stem cells from young patients at an early stage means preserving their maximum viability.
To learn more, visit the Global Stem Cells Group website, email bnovas(at)regenestem(dot)com, or call
About the Global Stem Cells Group:
Global Stem Cells Group, Inc. is the parent company of six wholly owned operating companies dedicated entirely to stem cell research, training, products and solutions. Founded in 2012, the company combines dedicated researchers, physician and patient educators and solution providers with the shared goal of meeting the growing worldwide need for leading edge stem cell treatments and solutions. With a singular focus on this exciting new area of medical research, Global Stem Cells Group and its subsidiaries are uniquely positioned to become global leaders in cellular medicine.
Global Stem Cells Group's corporate mission is to make the promise of stem cell medicine a reality for patients around the world. With each of GSCG's six operating companies focused on a separate research-based mission, the result is a global network of state-of-the-art stem cell treatments.
About VidaCel:
Established in 2004,VidaCel® is the largest cell blood bank in Latin America, known for its cryopreservation of umbilical cord stem cells, adipose tissue stem cells and dental pulp stem cells. VidaCel follows the rules of the National Program for Bone Marrow Donation's. U.S. entity, which also provides guidelines concerning Cord Blood Banks.
Located in Santiago, Chile, VidaCel is the first and only public access stem cell bank in Chile, and guarantees immediate availability of cells. VidaCel is committed to the advancement of new technologies and treatments, in conjunction with leading universities. VidaCel is accredited by the Ministry of Health and the Public Health Institute, and all processes are certified by the international quality standard ISO-9001.
About Benito Novas
Founder and Chief Operating Officer for Global Stem Cells Group and subsidiaries
Adimarket Named Latin American Distributor for Bioquark Biologic Products for the Regeneration and Repair of Human Organs and Tissue with Stem Cells
Global Stem Cells Group to Hold Intensive, Two-day Training Course on Stem Cell Harvesting, Isolation and Re-integration Sept. 27 and 28 Following International Symposium
Global Stem Cells Group, Inc. to Launch Two New Editions of "Diplomat in Cell Therapy and Tissue Engineering" Post-Graduate Diploma Program
Video Channel:
Error type: "Forbidden". Error message: "Requests from referer are blocked." Domain: "global". Reason: "forbidden".
Check in YouTube if the id StemCellsGroup belongs to a username. Check the FAQ of the plugin or send error messages to support.
(Almost) Everything You Wanted to Know About Stem Cells But Were Afraid to Ask
Stem cells have captured the interest of biolog...
Global Stem Cells Group and Adimarket Announces Agreement with MyStem to Distribute Stem Cell Technology Products in Latin America
Adimarket , a division of Global Stem Cells Gro...
Stemlab.com Founder and Prominent Plastic Surgeon Alfredo Hoyos to Head Global Stem Cells Group faculty
MIAMI, Oct. 5, 2015— Global Stem Cells Group, I...
Global Stem Cells Group, Inc. Announces New Regenerative Medicine Software App StemData to launch in 2016
MIAMI, Sept. 21, 2015—Global Stem Cells Group, ...
Global Stem Cells Group, Inc. Announces Strategic Alliance with Cellus
Global Stem Cells Group has announce a new alli...
2 days agoA look back: CIRM funded trial aims to help patients suffering from chronic viral infections https://t.co/Islkz0nQFn
4 days agoAnticipating the Future of Regenerative Medicine: CIRM's Alpha Stem Cell Clinics Network https://t.co/dKKnOeaouy
9 days agoMonth of CIRM: Reviewing Review https://t.co/U1isNdcVb0
18 days ago"Mini-brains" model an autism spectrum disorder and help test treatments https://t.co/z0GdCvduET
24 days agoPersistence pays off in search for clue to heart defects https://t.co/V0kHoxKpKg
Follow @@StemCellGroupUS


Inpired by my own love of books, technology and coffee I made these somewhat nerdy themed earrings. They dangle nicely with the robot the lowest down and most prominent. These bronze earrings will come in a lovely gift box, making it suitable as a geeky gift.
☼ You will receive a pair of earrings (fish hook style) in a gift box.


text:
Q: how to use jquery to display images from a json array in a php file I have a php file that creates a json array for my images and corresponding text:
<?php
$images = array(
"Image 1" => array("name" => "Image 1",
            "price" => "$299",
            "desc" => "Description 1",
            "image" =>"images/image1.jpg"),
"Image 2"   => array("name" => "Image 2",
            "price" => "$199",
            "desc" => "Description 2",
            "image" => "images/image2.jpg"),
"Image 6"   => array("name" => "Image 6",
            "price" => "$199",
            "desc" => "Description 6",
            "image" => "images/image6.jpg")
);

echo json_encode($images);

and my jQuery function looks like this:
$(document).ready(function(){
var $div = $("#thumbs");
$.getJSON('getProducts.php', function(data) {
    jQuery.each(data, function(key, val){
        $("").attr("src", val).appendTo($div);
    });
});
});

When I run this, I only get broken image links. Firebug shows:
"NetworkError: 404 Not Found - http://localhost/wpdhw8/%5Bobject%20Object%5D"

Thanks in advance for your help!
Oh, and I've moved the images to the root so I took out the 'images/' from the filename.
And to answer my own question, I added a caption to the image by adding the line:
$($div).append('
' + val.name + '
');

right under:
$("").attr("src", val.image).appendTo($div);

I really appreciate the help on this site! Thank-you!

A: the line
$("").attr("src", val).appendTo($div);

should be
$div.append('');

EDIT
oops misread it
for either line change val to val.image

A: It should be:
$.getJSON('getProducts.php', function(data) {
    jQuery.each(data, function(key, val){
        $("").attr("src", val.image).appendTo($div);
    });
});

Each val is an object like:
{ name: "Image 1",
  price: "$299",
  desc: "Description 1",
  image: "images/image1.jpg"
}

A: Your url 'getProducts.php' is not correct
Perhaps it needs to be '/getProducts.php' or have and other part in it ..
From your how url remove domain part...
http://localhost.local/getProducts.php => /getProducts.php

404 Not found - means that the page you have set cant be found..

redpajama_set_name: RedPajamaStackExchange


Shortly after midnight, in the early morning hours of Saturday, May 10th, 1980, Sister Mary Alicia Shader died at our Maryknoll Nursing Home and began her eternal life in Christ Jesus.
Sister Alicia was born on June 30, 1908 in Troy, New York, and was baptized "Anna Gladys" two weeks later. Gladys, as she was then called, had little opportunity for a prolonged education and, as a young woman, engaged in cooking and laundry work, and also became an excellent seamstress. She entered Maryknoll on October 15th, 1928. At Reception, she received the name Sister Mary Alicia. She made her first vows on January 6, 1931 and her final vows 3 years later in Hawaii.
In talking with some of Sister Alicia's friends and other members of her group of 1928, I discovered an interesting bit of historical data. When the 40 or so young women came to Maryknoll that year, they filled the existing facilities to overflowing. The Motherhouse was yet to be built; so, they filled up the old farm house, "Regina Coeli", where the Cloister now stands, and others were scattered around in old St. Teresa's and the Chalet. Hers was the first group to use the Chalet. Hers also was one of 2 or 3 groups required to bring with them 8 pairs of shoes! Some post-Golden Jubilarians from that group still claim to be wearing theirs out!
Sister Alicia spent over 25 years in Hawaii, from 1931 to 1956. She was one of the first group to open St. Augustine's in Waikiki. She later spent many years in the Children's Home on Maui. During the war years, she carried the extra burdens of work and anxiety with the other Sisters. At another point in her time in Hawaii she was in charge of the Sodality at Saint Catherine's in Nuuanu, Honolulu. Two members of that Sodality, now Maryknoll Sisters Bernadette and Mary Louise Higa, remember how Sister Alicia helped them prepare to enter Maryknoll.
Over the years in Hawaii and after 1956, at St. Teresa's and at Bethany, Sister Alicia is remembered as a generous and hard worker, a wonderful seamstress, a person with a good sense of humor and dry wit. She had a strong will and a deep concern for others.
Sister was assigned to Cohoes, New York in September, 1977 where she was the first to start a new kind of apostolate for Senior Sisters at a Federal Housing Project for senior citizens. Sister Alicia's sister, was instrumental in getting Maryknoll Sisters to start this new work. She suggested to Sister Alicia that Maryknoll Senior Sisters come to live there and be a caring presence in the building. So, Sister Alicia was one of the first to go. While at Cohoes, she took Communion to the residents, and visited the people to check on those who might be ill, or just to sit and talk and relax a bit. She helped organize "Meals on Wheels" and other activities for some of the residents. We now have Senior Sisters in 3 places in New York involved in this special apostolate.
Sister Alicia's last assignment was to the Nursing Home in 1979. It was there that she died after a short illness.
We are very happy to have with us at Maryknoll today members of Sister Alicia's family. We extend our prayers and sympathy to her whole extended family.
The beautiful flowers on the altar and in the sanctuary are from Sister Alicia's family, and from friends in Hawaii, the white and red ginger especially expressive of their fond "Aloha" to one they knew and loved so well.
The Mass of the Resurrection was concelebrated in the main Chapel at 11:00 a.m. today by Maryknoll Fathers John K. Halbert, principal celebrant, assisted by Gervis J. Coxen, James J. Logue, Frank S. Meccia, and Robert E. Sheridan.


Xterra Fort Yargo turned into a great family vacation this year. We took the camper down right after work and decided to make a fun trip out of it since the race was on Saturday and we would have all afternoon plus Sunday to relax. As always we got in late Friday night, setup our site, probably woke up a few other athletes doing so (sorry Tingles) and got in bed as soon as possible.
Kim was not so excited to have to get up so early for race day, but since coffee and breakfast were included in early morning prep she was happier. After breakfast we went back to the campsite to walk the dogs, grab race gear and head to check in / transition.
After checking in I surprisingly got my transition area ready and had extra time to spare before the race (I think I'm getting the hang of this).
After a nice swim warm up it was time for the race to start. Somehow the "half mile swim" turned into about a three quarters of a mile. I swear those buoys were floating away as we are sitting there waiting for the race to start.
While listening to the racers meeting I found multiple feet of fishing line wrapped around Tony and I. Not sure why it was left there, but that sure created a lump of stress in my stomach thinking I might get hooked trying to take off from the shore (nothing happened and no one did). I felt that I was flying in the swim again; this winter's work was really paying off. I was not with the front pack but each time I looked forwards and back I was near the lead. As I was coming into the shore I kept looking up to spot and realized that I was veering wide right. So I'm sure I turned that 1300 yards into 1500. I was coming in fast to the finish of the swim, there were four of us all shoulder to shoulder and I wanted to beat them out so that I could get into transition first. As I was coming in, pulling and kicking hard on each side WHAM!!! I ran straight into a submerged stump. I am gonna guess that's what the fishing line was probably wrapped around. Next time I will remember it is over there. I crawl around it trying not to hurt myself anymore and get into transition without stepping on any roots or pine cones.
The bike started out pretty rough (just like my water exit) where I felt that my legs just had no power in them. I passed many people early on but as I stood up to hammer up the hills I just had nothing to give. It took about three miles for my legs to start feeling normal and once they did I was off like a herd of turtles. I was going as fast as I could to both catch people and try to see any leaders up ahead. I could feel the training I put in this week between Myrtle and Fort Yargo setting in on my legs but I was not going to let my mind take over. As I was pedaling through a fast part I hear a loud SNAP and PING. I could now hear what sounded like a spoke smacking my frame with every wheel rotation. I pulled over to the side and wrapped the spoke around the next closest one then got back on and kept moving. As I was going, I felt weird pressure and changing in my gears. I was not sure what but that stick had definitely messed something else up. As I was coasting down the next hill the chain wraped around the cassette, ripped off the front ring, and this is when the fun began. I stopped to put the chain back on, could tell the derailer was no longer straight but I was going to limp it as best I could. I lost count how many times I had to stop after twelve to put the chain back on the bike. Each time I would stop pedaling I would have the same issue and the chain would come off the front ring. I finally got to the point where I would take my feet off the pedals to let the pedals go round like it was a fixie but found that I was being pogo stick ejected off the seat and into the weeds when I would hit a bump. My next act was to stand on the rear triangle of the frame thus allowing my legs to soak up the bumps but this proved to be quite dangerous also. The best solution I came up with was to brake enough on the downhills that I could pedal fast enough to keep it in line. After half the bike course riding my crazy acting bike I finally made it back to transition. All smiles because I just endured one of the most comical rides I have had.
I knew that the race was lost for a top placement but I wanted to still give it a good shot. I passed as many people as I could, putting in one of the top three fastest runs of the day. I heard multiple people tell me how much bad luck it was to get such a tough race, but that's just how it goes. All in all it was still a blast of a race, enough with all of these "experiences" of the day. Glad that I got all the bad things out this early in the season, must mean the rest will be flawless haha.
Thankfully I have an awesome bike shop that will get my bikes back up and rolling ASAP. Check out Blood Sweat Gears if your ever in the Charlotte area, especially around Xterra Whitewater time.
What I learned: Not every race can go well, the key is to just have fun and enjoy what you're doing. If you're not enjoying it you're in the wrong sport.


text:
Daily Archive: June 30, 2018
Team USSR Weightlifting (1950)
History in Color: Team USSR Weightlifting during the friendly matches with Team Hungary (Budapest, 1950, left to right:) Front row: K. Nazarov, L. Sviridov, V. Svetilko, L. Sviridov (Delegation Lead), Ya. Kutsenko, Ye. Lopatin;...
Kanybek Osmonaliev
History in Color: May 12, 1980, Moscow, Russia – Olympic champion Kanybek Osmonaliev competes in the 52kg class for the Burevestnik Club of Frunze, Kirgizia at the 1980 USSR championship in Moscow. Kanybek Osmonaliev...
World Records in Tallinn
History in Color: April 14, 1972, Tallinn, Estonia – Legendary Soviet heavyweight Jaan Talts of Tallinn, Estonia wins his 3rd gold medal at the 1972 USSR Championships in Tallinn. Jaan Talts' final total was...
Gudmundur Sigurdsson (Iceland)
History in Color: Gudmundur Sigurdsson (b. 1946) is one of the finest athletes that represented Iceland on the international arena in Olympic weightlifing. He was a 2x Olympian of Iceland. Sigurdsson represented his country...
Ingvar Asp (Sweden)
History in Color features one of the best Swedish Olympic weightlifters of the 20th Century Per Ingvar Asp. Per Ingvar (b. 1938) was a Swedish Olympian. Asp competed for Team Sweden at the 1964...


text:
Guardo, ci penso e nasco (Delivering Milo) è un film del 2001 diretto da Nick Castle.

Nel film compare in un cameo lo sceneggiatore Dan O'Bannon.

Trama
Durante il travaglio di una madre, Elmore un angelo custode ha il compito di convincere Milo, il futuro figlio della donna, ad uscire dall'utero materno ed affrontare la vita bella o brutta che sia, anche nella frenetica e caotica New York. L'angelo ha solo 24 ore e chiede in cambio la vita sulla terra.

Riconoscimenti

 2001 - Festival internazionale del cinema fantastico di Bruxelles
 Corvo d'Argento

Collegamenti esterni

Film commedia

redpajama_set_name: RedPajamaWikipedia