text:
Bowler's strike
25 October, 2010 by IF
By Michelle Pearson
Versatile Australian actor Grant Bowler is striking both the Australian and American film and television market head on.
Renowned for performances in Blue Heelers and The Mole Down Under, and Ugly Betty and Lost in the US, Bowler has just finished shooting three films back to back – The City of Gardens, Atlas Shrugged and The Killer Elite.
Don't be fooled however – the 1991 NIDA graduate hasn't been handed his international career on a silver platter but instead has worked hard to break into the realm of Hollywood.
With the illustrious Hollywood being so cut-throat, Bowler spent five long years attempting to break into the industry.
When asked what inspired Bowler to persevere within the American industry and not chuck in the towel, he told INSIDEFILM: "I'm pig headed. It's as simple as that".
"I thought to myself you've gone so far down the hole that surely it has to turn around soon and then I'd go further down the hole," Bowler says from a Los Angeles hotel room.
"There's something to be said for being ignorant – you either give it a shot or you don't."
The key to international success appeared to be perseverance and consistency, with Bowler auditioning for so many roles that his exposure witnessed casting agent's getting behind him and supporting his acting potential.
Bowler initially commenced acting due to his drive to find a job that he ironically could "never get right".
"I've always been the type of person who would work really hard at a job and then when I got the hang of it, I would 'coast'.
"I am always up for a challenge and I get bored when it's obtainable. I wanted to do something that I can't complete."
Bowler's sheer motivation to arrive where he is today has forced him to take part in both tedious and trivial auditions.
For instance, one audition pulled 15 people at a time into a small room with two chairs.
The casting directors told one person to sit on the chair and wear a goldilocks wig (playing the character of goldilocks) and the other to wear a green wig and red nose (playing the clown).
Goldilocks and the clown were asked to improvise a scene together. Luckily for Bowler he was the clown – although goldilocks may have made for a very unique, entertaining performance.
These moments of utter embarrassment have been far outweighed by Bowler's recent successes, with his now well-established international career rewarding him with diverse character roles – from True Blood's Cooter, The City of Gardens' delusional Jesus Christ and the male lead in Atlas Shrugged, Henry Rearden.
The City of Gardens, directed by Camilo Vila and shot in Peru, has loads of festival buzz surrounding the film for next year's Toronto, Cannes and Sundance Film Festivals.
As one of Bowler's most challenging roles yet, he plays a schizophrenic prisoner who genuinely believes he is Jesus Christ.
Out of all the characters that Bowler could have received, Jesus Christ tops the lot – inevitably having very, very big shoes to fill.
"It was frightening – you're playing Jesus!" he says.
"I felt I was up for it and said 'yes' immediately, and then I thought, what have I done?
"I loved it though. I was given the opportunity to look into the internal [nature] of the character; I wanted to create another reality for this character on top of the true reality."
Bowler is attracted to these roles in particular due to the inside nature not being pre-defined, aiming up at these roles because of his passion to autonomously research and define the internal life of the character.
His character research doesn't conclude after reading the script however, with Bowler using particular tactics to formulate the character's being.
Strategies included reading the New Testament numerous times in order to determine which 'Jesus' Bowler would portray.
"I wanted to be specific. Jesus went through phases – he was 'The Lamb of God,' 'The Fisher of Men', 'The Carpenter.' These were different eras in Christ's life so it was necessary to pick one specifically. I built him up from there."
Through Bowler's collaboration with Vila and writer Monty Fisher, all but one line of dialogue was changed.
"It's always an absolute treat working on a film that allows me to take part in the collaboration process," the passionate Bowler says.
"The film was based on real life events of the writer. The dialogue was brilliant and the character amazing but it didn't necessarily give him a function, so we workshopped it and talked about how we could bring this guy in to play a role."
From Jesus Christ to werewolf, Captain Gault to businessman, Bowler is a man of many talents.
Atlas Shrugged, a film adaptation of the novel written by Ayn Rand which premieres in the latter half of 2011, stars Bowler as the male lead – playing the role of steel magnate Henry Reardon.
With this film falling at number two on the world list of 'Top 10 Hardest Movies To Film' and categorised as the 'Harry Potter of America', Bowler felt slightly daunted as he strived to do the role justice.
"The novel is so famous in America, with everybody having an opinion on it. Everyone read it at college and had a strong take on the author and her philosophy," the LA-based actor said.
The philosophically-challenging novel to the reader is set to intrigue audiences with its condensed film adaptation, with the common difficulty lying in which elements of the story were essential and those which were not vital to the plotline and could be removed.
This however might not be the last time we see Atlas Shrugged or Bowler for that matter on the big screen, with rumors swirling that the novel will be made into a film trilogy similar to The Lord Of The Rings, meaning big things for the Kiwi-raised actor.
Within the past year, Bowler has been running a tight schedule as he juggles family and work commitments, flying between Los Angeles and Australia in order to coincide with the filming of True Blood and Border Security, with wife Roxanne Wilson and children Edie, 7, and Zeke, 3, living in Australia.
After much traveling and acting of late in films and teleseries collectively, Bowler is currently on a well-deserved holiday with no current projects in production, although admittedly stating: "I've got three scripts I'm reading. My holidays so far have consisted of catching up with my agent and my manager, paying my bills and getting life back in order."
Although Bowler is interested in other facets of production, having done a little bit of directing last year, he would like to continue centering his attention on acting.
"I don't envy directors at all – they work way too hard. My biggest love in the world is working with them, but they have to listen to so many people. My focus for the meantime is very much on acting," the 42 year old says.
With Bowler seemingly at the peak of his acting career and joining other NIDA graduates such as Simon Baker (The Mentalist) and Cate Blanchett (The Curious Case of Benjamin Button) in Hollywood, Bowler is an inspiration to struggling Australian actors, proving that genuine talent and perseverance paves the way to success within the mainstream screen industry- no matter how many 'U-Turn's' or 'No Through Road's' you have to take.
atlas-shrugged,
border-security,
grant-bowler,
nida,
the-city-of-gardens,
the-killer-elite,
the-mole,
true-blood,
ugly-betty
AFTRS and NIDA to produce film
De Niro to star in Killer Elite
NIDA names Kate Cherry as new director and CEO
Killer Elite set for major US release through Open Road Films
NIDA graduate's film to screen at Cannes


Established by renowned music educator and music literacy expert Deborah Smith, DS Music provides outstanding support and resources for teaching musicianship and aural training in the secondary school.
Our flagship series Musicianship & Aural Training for the Secondary School is a COMPETE CLASSROOM MUSIC PROGRAM comprising a comprehensive set of resources for Years 7 to 12.
These amazing books and accompanying resources can be used in any classroom in any state of Australia, or internationally, and can easily be adapted to suit ALL class types and abilities.
They are easy to use and have LITERALLY EVERYTHING you need to teach a great music literacy based curriculum, regardless of your personal music training background. In addition to the workbooks, students and their teachers have access to teaching and practice videos, mp3 (audio) files, information sheets and worksheets, lesson plans and curriculum documents and free, flexible online study courses.
Deborah Smith has forged a vital role in the advancement of the Kodály method in Secondary Schools throughout Victoria. In addition to her extensive experience as a leading music educator, lecturer and author, she has been a key contributor to the development of the Kodály Secondary Teacher Training Courses in Victoria, and continues to be a knowledgeable and dedicated lecturer for KMEIA Vic. As a member of KMEIA Vic., Deborah provides invaluable advice and guidance in Secondary music education.
Produce students to whom music is not a living but a way of life.


text:
static egwDoublyLinkedListNode* egwDLListSortMerge(egwDoublyLinkedList* list_inout, egwDoublyLinkedListNode* nodeL_in, egwDoublyLinkedListNode* nodeR_in) {
    if(!nodeL_in)
        return nodeR_in;
    else if(!nodeR_in)
        return nodeL_in;
    else {
        EGWcomparefp compareFunc = (list_inout->dFuncs && list_inout->dFuncs->fpCompare ? (EGWcomparefp)list_inout->dFuncs->fpCompare : (EGWcomparefp)&memcmp);

        if(compareFunc((EGWbyte*)((EGWuintptr)nodeL_in + (EGWuintptr)sizeof(egwDoublyLinkedListNode)),
                       (EGWbyte*)((EGWuintptr)nodeR_in + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), list_inout->eSize) < 0) {
            nodeL_in->next = egwDLListSortMerge(list_inout, nodeL_in->next, nodeR_in);
            return nodeL_in;
        } else {
            nodeR_in->next = egwDLListSortMerge(list_inout, nodeL_in, nodeR_in->next);
            return nodeR_in;
        }
    }
}

static egwDoublyLinkedListNode* egwDLListSortSplit(egwDoublyLinkedListNode* nodeL_in) {
    if(nodeL_in && nodeL_in->next) {
        egwDoublyLinkedListNode* nodeR = nodeL_in->next;
        nodeL_in->next = nodeR->next;
        nodeR->next = egwDLListSortSplit(nodeR->next);
        return nodeR;
    }

    return NULL;
}

static egwDoublyLinkedListNode* egwDLListSortRecurse(egwDoublyLinkedList* list_inout, egwDoublyLinkedListNode* nodeL_in) {
    if(nodeL_in && nodeL_in->next) {
        egwDoublyLinkedListNode* nodeR = egwDLListSortSplit(nodeL_in);
        nodeL_in = egwDLListSortRecurse(list_inout, nodeL_in);
        nodeR = egwDLListSortRecurse(list_inout, nodeR);
        return egwDLListSortMerge(list_inout, nodeL_in, nodeR);
    }

    return nodeL_in;
}

egwDoublyLinkedList* egwDLListInit(egwDoublyLinkedList* list_out, egwDataFuncs* funcs_in, EGWuint elmSize_in, EGWuint flags_in) {
    memset((void*)list_out, 0, sizeof(egwDoublyLinkedList));

    list_out->lFlags = (EGWuint16)flags_in;
    list_out->eSize = (EGWuint16)elmSize_in;

    if(funcs_in) {
        if(!(list_out->dFuncs = (egwDataFuncs*)malloc(sizeof(egwDataFuncs)))) { egwDLListFree(list_out); return NULL; }
        memcpy((void*)list_out->dFuncs, (const void*)funcs_in, sizeof(egwDataFuncs));
    }

    return list_out;
}

egwDoublyLinkedList* egwDLListCopy(const egwDoublyLinkedList* list_in, egwDoublyLinkedList* list_out) {
    memset((void*)list_out, 0, sizeof(egwDoublyLinkedList));

    if(list_in->lFlags & EGW_LIST_FLG_FREE) // Ownership sharing not permitted
        return NULL;

    list_out->lFlags = list_in->lFlags;
    list_out->eSize = list_in->eSize;
    list_out->eCount = list_in->eCount;

    if(list_in->dFuncs) {
        if(!(list_out->dFuncs = (egwDataFuncs*)malloc(sizeof(egwDataFuncs)))) { egwDLListFree(list_out); return NULL; }
        memcpy((void*)list_out->dFuncs, (const void*)list_in->dFuncs, sizeof(egwDataFuncs));
    }

    if(list_in->eCount) {
        EGWmallocfp mallocFunc = (list_out->dFuncs && list_out->dFuncs->fpMalloc ? (EGWmallocfp)list_out->dFuncs->fpMalloc : (EGWmallocfp)&malloc);
        EGWelementfp addFunc = (list_out->dFuncs && list_out->dFuncs->fpAdd ? (EGWelementfp)list_out->dFuncs->fpAdd : (EGWelementfp)NULL);
        egwDoublyLinkedListNode* node = list_in->lHead;
        egwDoublyLinkedListNode* newNode = NULL;
        EGWuintptr data = 0;

        while(node) {
            if(!(newNode = (egwDoublyLinkedListNode*)mallocFunc(((size_t)list_out->eSize + sizeof(egwDoublyLinkedListNode))))) { egwDLListFree(list_out); return NULL; }
            memset((void*)newNode, 0, ((size_t)list_out->eSize + sizeof(egwDoublyLinkedListNode)));

            if(list_out->lTail) {
                newNode->prev = list_out->lTail;
                list_out->lTail = list_out->lTail->next = newNode;
            } else
                list_out->lHead = list_out->lTail = newNode;

            data = (EGWuintptr)newNode + (EGWuintptr)sizeof(egwDoublyLinkedListNode);
            memcpy((void*)data, (const void*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), (size_t)list_out->eSize);

            if(list_out->lFlags & EGW_LIST_FLG_RETAIN)
                [(id<NSObject>)*(void**)data retain];

            if(addFunc)
                addFunc((EGWbyte*)data);

            node = node->next;
        }
    }

    return list_out;
}

egwDoublyLinkedList* egwDLListFree(egwDoublyLinkedList* list_inout) {
    EGWfreefp freeFunc = (list_inout->dFuncs && list_inout->dFuncs->fpFree ? (EGWfreefp)list_inout->dFuncs->fpFree : (EGWfreefp)&free);

    while(list_inout->lHead) {
        egwDoublyLinkedListNode* node = list_inout->lHead;

        if(list_inout->dFuncs && list_inout->dFuncs->fpRemove)
            list_inout->dFuncs->fpRemove((EGWbyte*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)));
        if(list_inout->lFlags & EGW_LIST_FLG_RETAIN)
            [(id<NSObject>)*(void**)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)) release];
        if(list_inout->lFlags & EGW_LIST_FLG_FREE)
            free((void*)*(void**)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)));

        list_inout->lHead = list_inout->lHead->next;
        freeFunc(node);
    }

    if(list_inout->dFuncs)
        free((void*)(list_inout->dFuncs));

    memset((void*)list_inout, 0, sizeof(egwDoublyLinkedList));

    return list_inout;
}

EGWint egwDLListAddAt(egwDoublyLinkedList* list_inout, EGWuint index_in, const EGWbyte* data_in) {
    if(index_in != 0) {
        if(index_in < list_inout->eCount - 1) {
            egwDoublyLinkedListNode* newNode = NULL;

            {   EGWmallocfp mallocFunc = (list_inout->dFuncs && list_inout->dFuncs->fpMalloc ? (EGWmallocfp)list_inout->dFuncs->fpMalloc : (EGWmallocfp)&malloc);
                if(!(newNode = (egwDoublyLinkedListNode*)mallocFunc(((size_t)list_inout->eSize + sizeof(egwDoublyLinkedListNode))))) { return 0; }
                memset((void*)newNode, 0, ((size_t)list_inout->eSize + sizeof(egwDoublyLinkedListNode)));
            }

            ++list_inout->eCount;

            if(data_in)
                memcpy((void*)((EGWuintptr)newNode + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), (const void*)data_in, (size_t)list_inout->eSize);

            {   register egwDoublyLinkedListNode* node = list_inout->lHead;
                register EGWuint index = 1;

                while(index != index_in) {
                    node = node->next;
                    ++index;
                }

                newNode->prev = node;
                newNode->next = node->next;
                node->next = node->next->prev = newNode;
            }

            if(data_in && list_inout->lFlags & EGW_LIST_FLG_RETAIN)
                [(id<NSObject>)*(void**)((EGWuintptr)newNode + (EGWuintptr)sizeof(egwDoublyLinkedListNode)) retain];
            if(list_inout->dFuncs && list_inout->dFuncs->fpAdd)
                list_inout->dFuncs->fpAdd((EGWbyte*)((EGWuintptr)newNode + (EGWuintptr)sizeof(egwDoublyLinkedListNode)));

            return 1;
        } else
            return egwDLListAddTail(list_inout, data_in);
    } else
        return egwDLListAddHead(list_inout, data_in);
}

EGWint egwDLListAddHead(egwDoublyLinkedList* list_inout, const EGWbyte* data_in) {
    egwDoublyLinkedListNode* newNode = NULL;

    {   EGWmallocfp mallocFunc = (list_inout->dFuncs && list_inout->dFuncs->fpMalloc ? (EGWmallocfp)list_inout->dFuncs->fpMalloc : (EGWmallocfp)&malloc);
        if(!(newNode = (egwDoublyLinkedListNode*)mallocFunc(((size_t)list_inout->eSize + sizeof(egwDoublyLinkedListNode))))) { return 0; }
        memset((void*)newNode, 0, ((size_t)list_inout->eSize + sizeof(egwDoublyLinkedListNode)));
    }

    ++list_inout->eCount;

    if(data_in)
        memcpy((void*)((EGWuintptr)newNode + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), (const void*)data_in, (size_t)list_inout->eSize);

    if(list_inout->lHead) {
        newNode->next = list_inout->lHead;
        list_inout->lHead = list_inout->lHead->prev = newNode;
    } else
        list_inout->lHead = list_inout->lTail = newNode;

    if(data_in && list_inout->lFlags & EGW_LIST_FLG_RETAIN)
        [(id<NSObject>)*(void**)((EGWuintptr)newNode + (EGWuintptr)sizeof(egwDoublyLinkedListNode)) retain];
    if(list_inout->dFuncs && list_inout->dFuncs->fpAdd)
        list_inout->dFuncs->fpAdd((EGWbyte*)((EGWuintptr)newNode + (EGWuintptr)sizeof(egwDoublyLinkedListNode)));

    return 1;
}

EGWint egwDLListAddTail(egwDoublyLinkedList* list_inout, const EGWbyte* data_in) {
    egwDoublyLinkedListNode* newNode = NULL;

    {   EGWmallocfp mallocFunc = (list_inout->dFuncs && list_inout->dFuncs->fpMalloc ? (EGWmallocfp)list_inout->dFuncs->fpMalloc : (EGWmallocfp)&malloc);
        if(!(newNode = (egwDoublyLinkedListNode*)mallocFunc(((size_t)list_inout->eSize + sizeof(egwDoublyLinkedListNode))))) { return 0; }
        memset((void*)newNode, 0, ((size_t)list_inout->eSize + sizeof(egwDoublyLinkedListNode)));
    }

    ++list_inout->eCount;

    if(data_in)
        memcpy((void*)((EGWuintptr)newNode + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), (const void*)data_in, (size_t)list_inout->eSize);

    if(list_inout->lTail) {
        newNode->prev = list_inout->lTail;
        list_inout->lTail = list_inout->lTail->next = newNode;
    } else
        list_inout->lHead = list_inout->lTail = newNode;

    if(data_in && list_inout->lFlags & EGW_LIST_FLG_RETAIN)
        [(id<NSObject>)*(void**)((EGWuintptr)newNode + (EGWuintptr)sizeof(egwDoublyLinkedListNode)) retain];
    if(list_inout->dFuncs && list_inout->dFuncs->fpAdd)
        list_inout->dFuncs->fpAdd((EGWbyte*)((EGWuintptr)newNode + (EGWuintptr)sizeof(egwDoublyLinkedListNode)));

    return 1;
}

EGWint egwDLListAddAfter(egwDoublyLinkedList* list_inout, egwDoublyLinkedListNode* node_inout, const EGWbyte* data_in) {
    if(node_inout) {
        if(list_inout->lTail != node_inout) {
            egwDoublyLinkedListNode* newNode = NULL;

            {   EGWmallocfp mallocFunc = (list_inout->dFuncs && list_inout->dFuncs->fpMalloc ? (EGWmallocfp)list_inout->dFuncs->fpMalloc : (EGWmallocfp)&malloc);
                if(!(newNode = (egwDoublyLinkedListNode*)mallocFunc(((size_t)list_inout->eSize + sizeof(egwDoublyLinkedListNode))))) { return 0; }
                memset((void*)newNode, 0, ((size_t)list_inout->eSize + sizeof(egwDoublyLinkedListNode)));
            }

            ++list_inout->eCount;

            if(data_in)
                memcpy((void*)((EGWuintptr)newNode + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), (const void*)data_in, (size_t)list_inout->eSize);

            newNode->prev = node_inout;
            newNode->next = node_inout->next;
            node_inout->next = node_inout->next->prev = newNode;

            if(data_in && list_inout->lFlags & EGW_LIST_FLG_RETAIN)
                [(id<NSObject>)*(void**)((EGWuintptr)newNode + (EGWuintptr)sizeof(egwDoublyLinkedListNode)) retain];
            if(list_inout->dFuncs && list_inout->dFuncs->fpAdd)
                list_inout->dFuncs->fpAdd((EGWbyte*)((EGWuintptr)newNode + (EGWuintptr)sizeof(egwDoublyLinkedListNode)));

            return 1;
        } else
            return egwDLListAddTail(list_inout, data_in);
    } else
        return egwDLListAddHead(list_inout, data_in);
}

EGWint egwDLListAddBefore(egwDoublyLinkedList* list_inout, egwDoublyLinkedListNode* node_inout, const EGWbyte* data_in) {
    if(node_inout) {
        if(list_inout->lHead != node_inout) {
            egwDoublyLinkedListNode* newNode = NULL;

            {   EGWmallocfp mallocFunc = (list_inout->dFuncs && list_inout->dFuncs->fpMalloc ? (EGWmallocfp)list_inout->dFuncs->fpMalloc : (EGWmallocfp)&malloc);
                if(!(newNode = (egwDoublyLinkedListNode*)mallocFunc(((size_t)list_inout->eSize + sizeof(egwDoublyLinkedListNode))))) { return 0; }
                memset((void*)newNode, 0, ((size_t)list_inout->eSize + sizeof(egwDoublyLinkedListNode)));
            }

            ++list_inout->eCount;

            if(data_in)
                memcpy((void*)((EGWuintptr)newNode + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), (const void*)data_in, (size_t)list_inout->eSize);

            newNode->prev = node_inout->prev;
            newNode->next = node_inout;
            node_inout->prev = node_inout->prev->next = newNode;

            if(data_in && list_inout->lFlags & EGW_LIST_FLG_RETAIN)
                [(id<NSObject>)*(void**)((EGWuintptr)newNode + (EGWuintptr)sizeof(egwDoublyLinkedListNode)) retain];
            if(list_inout->dFuncs && list_inout->dFuncs->fpAdd)
                list_inout->dFuncs->fpAdd((EGWbyte*)((EGWuintptr)newNode + (EGWuintptr)sizeof(egwDoublyLinkedListNode)));

            return 1;
        } else
            return egwDLListAddHead(list_inout, data_in);
    } else
        return egwDLListAddTail(list_inout, data_in);
}

EGWint egwDLListRemove(egwDoublyLinkedList* list_inout, egwDoublyLinkedListNode* node_inout) {
    if(node_inout) {
        if(list_inout->dFuncs && list_inout->dFuncs->fpRemove)
            list_inout->dFuncs->fpRemove((EGWbyte*)((EGWuintptr)node_inout + (EGWuintptr)sizeof(egwDoublyLinkedListNode)));
        if(list_inout->lFlags & EGW_LIST_FLG_RETAIN)
            [(id<NSObject>)*(void**)((EGWuintptr)node_inout + (EGWuintptr)sizeof(egwDoublyLinkedListNode)) release];
        if(list_inout->lFlags & EGW_LIST_FLG_FREE)
            free((void*)*(void**)((EGWuintptr)node_inout + (EGWuintptr)sizeof(egwDoublyLinkedListNode)));

        if(node_inout != list_inout->lHead) {
            if(node_inout != list_inout->lTail) {
                node_inout->prev->next = node_inout->next;
                node_inout->next->prev = node_inout->prev;
            } else {
                list_inout->lTail = list_inout->lTail->prev;
                if(list_inout->lTail)
                    list_inout->lTail->next = NULL;
                else
                    list_inout->lHead = NULL;
            }
        } else {
            list_inout->lHead = list_inout->lHead->next;
            if(list_inout->lHead)
                list_inout->lHead->prev = NULL;
            else
                list_inout->lTail = NULL;
        }

        {   EGWfreefp freeFunc = (list_inout->dFuncs && list_inout->dFuncs->fpFree ? (EGWfreefp)list_inout->dFuncs->fpFree : (EGWfreefp)&free);
            freeFunc((void*)node_inout);
        }

        --list_inout->eCount;

        return 1;
    } else
        return 0;
}

EGWint egwDLListRemoveAt(egwDoublyLinkedList* list_inout, EGWuint index_in) {
    if(index_in != 0) {
        if(index_in < list_inout->eCount - 1) {
            egwDoublyLinkedListNode* node = list_inout->lHead->next;

            {   register EGWuint index = 1;

                while(index != index_in) {
                    node = node->next;
                    ++index;
                }
            }

            if(list_inout->dFuncs && list_inout->dFuncs->fpRemove)
                list_inout->dFuncs->fpRemove((EGWbyte*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)));
            if(list_inout->lFlags & EGW_LIST_FLG_RETAIN)
                [(id<NSObject>)*(void**)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)) release];
            if(list_inout->lFlags & EGW_LIST_FLG_FREE)
                free((void*)*(void**)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)));

            node->prev->next = node->next;
            node->next->prev = node->prev;

            {   EGWfreefp freeFunc = (list_inout->dFuncs && list_inout->dFuncs->fpFree ? (EGWfreefp)list_inout->dFuncs->fpFree : (EGWfreefp)&free);
                freeFunc((void*)node);
            }

            --list_inout->eCount;

            return 1;
        } else
            return egwDLListRemoveTail(list_inout);
    } else
        return egwDLListRemoveHead(list_inout);
}

EGWint egwDLListRemoveHead(egwDoublyLinkedList* list_inout) {
    egwDoublyLinkedListNode* node = list_inout->lHead;

    if(node) {
        if(list_inout->dFuncs && list_inout->dFuncs->fpRemove)
            list_inout->dFuncs->fpRemove((EGWbyte*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)));
        if(list_inout->lFlags & EGW_LIST_FLG_RETAIN)
            [(id<NSObject>)*(void**)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)) release];
        if(list_inout->lFlags & EGW_LIST_FLG_FREE)
            free((void*)*(void**)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)));

        list_inout->lHead = node->next;
        if(list_inout->lHead)
            list_inout->lHead->prev = NULL;
        else
            list_inout->lTail = NULL;

        {   EGWfreefp freeFunc = (list_inout->dFuncs && list_inout->dFuncs->fpFree ? (EGWfreefp)list_inout->dFuncs->fpFree : (EGWfreefp)&free);
            freeFunc((void*)node);
        }

        --list_inout->eCount;

        return 1;
    } else
        return 0;
}

EGWint egwDLListRemoveTail(egwDoublyLinkedList* list_inout) {
    egwDoublyLinkedListNode* node = list_inout->lTail;

    if(node) {
        if(list_inout->dFuncs && list_inout->dFuncs->fpRemove)
            list_inout->dFuncs->fpRemove((EGWbyte*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)));
        if(list_inout->lFlags & EGW_LIST_FLG_RETAIN)
            [(id<NSObject>)*(void**)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)) release];
        if(list_inout->lFlags & EGW_LIST_FLG_FREE)
            free((void*)*(void**)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)));

        list_inout->lTail = node->prev;
        if(list_inout->lTail)
            list_inout->lTail->next = NULL;
        else
            list_inout->lHead = NULL;

        {   EGWfreefp freeFunc = (list_inout->dFuncs && list_inout->dFuncs->fpFree ? (EGWfreefp)list_inout->dFuncs->fpFree : (EGWfreefp)&free);
            freeFunc((void*)node);
        }

        --list_inout->eCount;

        return 1;
    } else
        return 0;
}

EGWint egwDLListRemoveAfter(egwDoublyLinkedList* list_inout, egwDoublyLinkedListNode* node_inout) {
    if(node_inout) {
        if(list_inout->lTail != node_inout) {
            egwDoublyLinkedListNode* node = node_inout->next;

            if(list_inout->dFuncs && list_inout->dFuncs->fpRemove)
                list_inout->dFuncs->fpRemove((EGWbyte*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)));
            if(list_inout->lFlags & EGW_LIST_FLG_RETAIN)
                [(id<NSObject>)*(void**)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)) release];
            if(list_inout->lFlags & EGW_LIST_FLG_FREE)
                free((void*)*(void**)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)));

            if(list_inout->lTail == node)
                list_inout->lTail = node_inout;
            else
                node->next->prev = node_inout;

            node_inout->next = node->next;

            {   EGWfreefp freeFunc = (list_inout->dFuncs && list_inout->dFuncs->fpFree ? (EGWfreefp)list_inout->dFuncs->fpFree : (EGWfreefp)&free);
                freeFunc((void*)node);
            }

            --list_inout->eCount;

            return 1;
        } else
            return 0;
    } else
        return egwDLListRemoveHead(list_inout);
}

EGWint egwDLListRemoveBefore(egwDoublyLinkedList* list_inout, egwDoublyLinkedListNode* node_inout) {
    if(node_inout) {
        if(list_inout->lHead != node_inout) {
            egwDoublyLinkedListNode* node = node_inout->prev;

            if(list_inout->dFuncs && list_inout->dFuncs->fpRemove)
                list_inout->dFuncs->fpRemove((EGWbyte*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)));
            if(list_inout->lFlags & EGW_LIST_FLG_RETAIN)
                [(id<NSObject>)*(void**)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)) release];
            if(list_inout->lFlags & EGW_LIST_FLG_FREE)
                free((void*)*(void**)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)));

            if(list_inout->lHead == node)
                list_inout->lHead = node_inout;
            else
                node->prev->next = node_inout;

            node_inout->prev = node->prev;

            {   EGWfreefp freeFunc = (list_inout->dFuncs && list_inout->dFuncs->fpFree ? (EGWfreefp)list_inout->dFuncs->fpFree : (EGWfreefp)&free);
                freeFunc((void*)node);
            }

            --list_inout->eCount;

            return 1;
        } else
            return 0;
    } else
        return egwDLListRemoveTail(list_inout);
}

EGWuint egwDLListRemoveAny(egwDoublyLinkedList* list_inout, const EGWbyte* data_in, EGWuint findMode_in) {
    EGWcomparefp compareFunc = (list_inout->dFuncs && list_inout->dFuncs->fpCompare ? (EGWcomparefp)list_inout->dFuncs->fpCompare : (EGWcomparefp)&memcmp);
    EGWuint retVal = 0;

    switch(findMode_in & EGW_FIND_MODE_EXMETHOD) {
        default:
        case EGW_FIND_MODE_LINHTT: {
            egwDoublyLinkedListNode* node = list_inout->lHead;
            egwDoublyLinkedListNode* prev = NULL;

            if(!(findMode_in & EGW_FIND_MODE_ISSORTED)) {
                while(node) {
                    if(0 != compareFunc((EGWbyte*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), data_in, list_inout->eSize)) {
                        prev = node;
                        node = node->next;
                    } else {
                        if(egwDLListRemove(list_inout, node)) {
                            ++retVal;
                            node = (prev ? prev->next : list_inout->lHead);
                        } else {
                            prev = node;
                            node = node->next;
                        }
                    }
                }
            } else {
                while(node) {
                    EGWint cmpResult = compareFunc((EGWbyte*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), data_in, list_inout->eSize);

                    if(0 != cmpResult) {
                        if(cmpResult > 0)
                            break;
                        prev = node;
                        node = node->next;
                    } else {
                        if(egwDLListRemove(list_inout, node)) {
                            ++retVal;
                            node = (prev ? prev->next : list_inout->lHead);
                        } else {
                            if(cmpResult > 0)
                                break;
                            prev = node;
                            node = node->next;
                        }
                    }
                }
            }
        } break;

        case EGW_FIND_MODE_LINTTH: {
            egwDoublyLinkedListNode* node = list_inout->lTail;
            egwDoublyLinkedListNode* prev = NULL;

            if(!(findMode_in & EGW_FIND_MODE_ISSORTED)) {
                while(node) {
                    if(0 != compareFunc((EGWbyte*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), data_in, list_inout->eSize)) {
                        prev = node;
                        node = node->prev;
                    } else {
                        if(egwDLListRemove(list_inout, node)) {
                            ++retVal;
                            node = (prev ? prev->prev : list_inout->lTail);
                        } else {
                            prev = node;
                            node = node->prev;
                        }
                    }
                }
            } else {
                while(node) {
                    EGWint cmpResult = compareFunc((EGWbyte*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), data_in, list_inout->eSize);

                    if(0 != cmpResult) {
                        if(cmpResult < 0)
                            break;
                        prev = node;
                        node = node->prev;
                    } else {
                        if(egwDLListRemove(list_inout, node)) {
                            ++retVal;
                            node = (prev ? prev->prev : list_inout->lTail);
                        } else {
                            if(cmpResult < 0)
                                break;
                            prev = node;
                            node = node->prev;
                        }
                    }
                }
            }
        } break;
    }

    return retVal;
}

EGWint egwDLListRemoveAll(egwDoublyLinkedList* list_inout) {
    EGWfreefp freeFunc = (list_inout->dFuncs && list_inout->dFuncs->fpFree ? (EGWfreefp)list_inout->dFuncs->fpFree : (EGWfreefp)&free);

    while(list_inout->lHead) {
        egwDoublyLinkedListNode* node = list_inout->lHead;

        if(list_inout->dFuncs && list_inout->dFuncs->fpRemove)
            list_inout->dFuncs->fpRemove((EGWbyte*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)));
        if(list_inout->lFlags & EGW_LIST_FLG_RETAIN)
            [(id<NSObject>)*(void**)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)) release];
        if(list_inout->lFlags & EGW_LIST_FLG_FREE)
            free((void*)*(void**)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)));

        list_inout->lHead = list_inout->lHead->next;
        list_inout->lHead->prev = NULL;
        freeFunc(node);
    }

    list_inout->eCount = 0;
    list_inout->lHead = list_inout->lTail = NULL;

    return 1;
}

EGWint egwDLListPromoteToHead(egwDoublyLinkedList* list_inout, egwDoublyLinkedListNode* node_inout) {
    if(list_inout->lHead != node_inout) {
        if(node_inout == list_inout->lTail) {
            list_inout->lTail = node_inout->prev;
            list_inout->lTail->next = NULL;
        } else {
            node_inout->next->prev = node_inout->prev;
            node_inout->prev->next = node_inout->next;
        }

        node_inout->prev = NULL;
        node_inout->next = list_inout->lHead;
        list_inout->lHead->prev = node_inout;
        list_inout->lHead = node_inout;

        return 1;
    } else
        return 0;
}

EGWint egwDLListPromoteToTail(egwDoublyLinkedList* list_inout, egwDoublyLinkedListNode* node_inout) {
    if(list_inout->lTail != node_inout) {
        if(node_inout == list_inout->lHead) {
            list_inout->lHead = node_inout->next;
            list_inout->lHead->prev = NULL;
        } else {
            node_inout->next->prev = node_inout->prev;
            node_inout->prev->next = node_inout->next;
        }

        node_inout->next = NULL;
        node_inout->prev = list_inout->lTail;
        list_inout->lTail->next = node_inout;
        list_inout->lTail = node_inout;

        return 1;

    } else
        return 0;
}

void egwDLListGetElement(const egwDoublyLinkedList* list_in, const egwDoublyLinkedListNode* node_in, EGWbyte* data_out) {
    memcpy((void*)data_out, (void*)((EGWuintptr)node_in + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), (size_t)(list_in->eSize));
}

void egwDLListGetElementAt(const egwDoublyLinkedList* list_in, EGWuint index_in, EGWbyte* data_out) {
    if(index_in < list_in->eCount) {
        if(index_in <= list_in->eCount >> 1) {
            register egwDoublyLinkedListNode* node = list_in->lHead;

            while(index_in--)
                node = node->next;

            memcpy((void*)data_out, (void*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), (size_t)(list_in->eSize));
        } else {
            register egwDoublyLinkedListNode* node = list_in->lTail;

            index_in = list_in->eCount - (index_in + 1);
            while(index_in--)
                node = node->prev;

            memcpy((void*)data_out, (void*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), (size_t)(list_in->eSize));
        }
    }
}

void egwDLListGetElementHead(const egwDoublyLinkedList* list_in, EGWbyte* data_out) {
    memcpy((void*)data_out, (void*)((EGWuintptr)(list_in->lHead) + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), (size_t)(list_in->eSize));
}

void egwDLListGetElementTail(const egwDoublyLinkedList* list_in, EGWbyte* data_out) {
    memcpy((void*)data_out, (void*)((EGWuintptr)(list_in->lTail) + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), (size_t)(list_in->eSize));
}

EGWbyte* egwDLListElementPtr(const egwDoublyLinkedListNode* node_in) {
    return (EGWbyte*)((EGWuintptr)node_in + (EGWuintptr)sizeof(egwDoublyLinkedListNode));
}

EGWbyte* egwDLListElementPtrAt(const egwDoublyLinkedList* list_in, EGWuint index_in) {
    if(index_in < list_in->eCount) {
        if(index_in <= list_in->eCount >> 1) {
            register egwDoublyLinkedListNode* node = list_in->lHead;

            while(index_in--)
                node = node->next;

            return (EGWbyte*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode));
        } else {
            register egwDoublyLinkedListNode* node = list_in->lTail;

            index_in = list_in->eCount - (index_in + 1);
            while(index_in--)
                node = node->prev;

            return (EGWbyte*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode));
        }
    } else
        return 0;
}

EGWbyte* egwDLListElementPtrHead(const egwDoublyLinkedList* list_in) {
    return (EGWbyte*)((EGWuintptr)(list_in->lHead) + (EGWuintptr)sizeof(egwDoublyLinkedListNode));
}

EGWbyte* egwDLListElementPtrTail(const egwDoublyLinkedList* list_in) {
    return (EGWbyte*)((EGWuintptr)(list_in->lTail) + (EGWuintptr)sizeof(egwDoublyLinkedListNode));
}

egwDoublyLinkedListNode* egwDLListNodePtr(const EGWbyte* data_in) {
    return (egwDoublyLinkedListNode*)((EGWuintptr)data_in - (EGWuintptr)sizeof(egwDoublyLinkedListNode));
}

egwDoublyLinkedListNode* egwDLListFind(const egwDoublyLinkedList* list_in, const EGWbyte* data_in, EGWuint findMode_in) {
    EGWcomparefp compareFunc = (list_in->dFuncs && list_in->dFuncs->fpCompare ? (EGWcomparefp)list_in->dFuncs->fpCompare : (EGWcomparefp)&memcmp);

    switch(findMode_in & EGW_FIND_MODE_EXMETHOD) {
        default:
        case EGW_FIND_MODE_LINHTT: {
            egwDoublyLinkedListNode* node = list_in->lHead;

            if(!(findMode_in & EGW_FIND_MODE_ISSORTED)) {
                while(node) {
                    if(0 != compareFunc((EGWbyte*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), data_in, list_in->eSize))
                        node = node->next;
                    else
                        return node;
                }
            } else {
                while(node) {
                    EGWint cmpResult = compareFunc((EGWbyte*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), data_in, list_in->eSize);

                    if(0 != cmpResult) {
                        if(cmpResult > 0)
                            return NULL;
                        node = node->next;
                    } else
                        return node;
                }
            }
        } break;

        case EGW_FIND_MODE_LINTTH: {
            egwDoublyLinkedListNode* node = list_in->lTail;

            if(!(findMode_in & EGW_FIND_MODE_ISSORTED)) {
                while(node) {
                    if(0 != compareFunc((EGWbyte*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), data_in, list_in->eSize))
                        node = node->prev;
                    else
                        return node;
                }
            } else {
                while(node) {
                    EGWint cmpResult = compareFunc((EGWbyte*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), data_in, list_in->eSize);

                    if(0 != cmpResult) {
                        if(cmpResult < 0)
                            return NULL;
                        node = node->prev;
                    } else
                        return node;
                }
            }
        } break;
    }

    return NULL;
}

EGWint egwDLListContains(const egwDoublyLinkedList* list_in, const EGWbyte* data_in, EGWuint findMode_in) {
    return (egwDLListFind(list_in, data_in, findMode_in) ? 1 : 0);
}

EGWuint egwDLListOccurances(const egwDoublyLinkedList* list_in, const EGWbyte* data_in, EGWuint findMode_in) {
    EGWuint retVal = 0;
    EGWcomparefp compareFunc = (list_in->dFuncs && list_in->dFuncs->fpCompare ? (EGWcomparefp)list_in->dFuncs->fpCompare : (EGWcomparefp)&memcmp);

    switch(findMode_in & EGW_FIND_MODE_EXMETHOD) {
        default:
        case EGW_FIND_MODE_LINHTT: {
            register egwDoublyLinkedListNode* node = list_in->lHead;

            if(!(findMode_in & EGW_FIND_MODE_ISSORTED)) {
                while(node) {
                    if(0 == compareFunc((EGWbyte*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), data_in, list_in->eSize))
                        ++retVal;
                    node = node->next;
                }
            } else {
                while(node) {
                    EGWint cmpResult = compareFunc((EGWbyte*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), data_in, list_in->eSize);
                    if(0 == cmpResult)
                        ++retVal;
                    else if(cmpResult > 0)
                        break;
                    node = node->next;
                }
            }
        } break;

        case EGW_FIND_MODE_LINTTH: {
            register egwDoublyLinkedListNode* node = list_in->lTail;

            if(!(findMode_in & EGW_FIND_MODE_ISSORTED)) {
                while(node) {
                    if(0 == compareFunc((EGWbyte*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), data_in, list_in->eSize))
                        ++retVal;
                    node = node->prev;
                }
            } else {
                while(node) {
                    EGWint cmpResult = compareFunc((EGWbyte*)((EGWuintptr)node + (EGWuintptr)sizeof(egwDoublyLinkedListNode)), data_in, list_in->eSize);
                    if(0 == cmpResult)
                        ++retVal;
                    else if(cmpResult < 0)
                        break;
                    node = node->prev;
                }
            }
        } break;
    }

    return retVal;
}

void egwDLListSort(egwDoublyLinkedList* list_inout) {
    if(list_inout->eCount > 1) {
        list_inout->lHead = egwDLListSortRecurse(list_inout, list_inout->lHead);

        list_inout->lTail = list_inout->lHead;
        if(list_inout->lTail) {
            list_inout->lHead->prev = NULL;

            while(list_inout->lTail->next) {
                list_inout->lTail->next->prev = list_inout->lTail;
                list_inout->lTail = list_inout->lTail->next;
            }
        }
    }
}

EGWint egwDLListEnumerateStart(const egwDoublyLinkedList* list_in, EGWuint iterMode_in, egwDoublyLinkedListIter* iter_out) {
    memset((void*)iter_out, 0, sizeof(egwDoublyLinkedListIter));

    if(list_in->eCount) {
        iter_out->pList = list_in;
        iter_out->nPos = NULL;
        iter_out->iMode = iterMode_in;
        iter_out->eIndex = -1;

        switch(iter_out->iMode & EGW_ITERATE_MODE_EXLIN) {
            case EGW_ITERATE_MODE_LINHTT: {
                iter_out->nPos = list_in->lHead;
            } break;

            case EGW_ITERATE_MODE_LINTTH: {
                iter_out->nPos = list_in->lTail;
            } break;
        }

        return 1;
    } else
        return 0;
}

EGWint egwDLListEnumerateGetNext(egwDoublyLinkedListIter* iter_inout, EGWbyte* data_out) {
    EGWbyte* data = egwDLListEnumerateNextPtr(iter_inout);

    if(data) {
        memcpy((void*)data_out, (const void*)data, (size_t)iter_inout->pList->eSize);
        return 1;
    } else
        return 0;
}

EGWbyte* egwDLListEnumerateNextPtr(egwDoublyLinkedListIter* iter_inout) {
    if(iter_inout->nPos) {
        EGWbyte* retVal = (EGWbyte*)((EGWuintptr)iter_inout->nPos + (EGWuintptr)sizeof(egwDoublyLinkedListNode));

        if(++(iter_inout->eIndex) < iter_inout->pList->eCount - 1) {
            switch(iter_inout->iMode & EGW_ITERATE_MODE_EXLIN) {
                case EGW_ITERATE_MODE_LINHTT: {
                    iter_inout->nPos = iter_inout->nPos->next;
                } break;

                case EGW_ITERATE_MODE_LINTTH: {
                    register egwDoublyLinkedListNode* node = iter_inout->pList->lHead;

                    while(node->next != iter_inout->nPos)
                        node = node->next;

                    iter_inout->nPos = node;
                } break;
            }
        } else
            iter_inout->nPos = NULL;

        return retVal;
    }

    return NULL;
}

redpajama_set_name: RedPajamaGithub


text:
Propaganda and Big Pharma Exposed
Published on December 12, 2022 December 12, 2022 by Shema Satya
The unholy dynasty of the big drug companies,
the medical establishment,
the Rockefeller syndicate
and the evils of the cut-slash-and-burn cancer racket
"Eustace Mullins (1923-2010), discusses one of his best-selling books; 'Murder by Injection' exposing the unholy dynasty of the big drug companies, the medical establishment, the Rockefeller syndicate and the evils of the cut-slash-and-burn cancer racket that has killed millions in the name of 'fighting cancer.'
While there are many books on the corruption of modern medicine, there is no other book out there that so effectively tells the whole story as does this seminal volume, laying bare the criminal machinations of those who profit in the name of "promoting good health." The federal bureaucracy that ostensibly "regulates" the big drug companies is all part and parcel of the problem."
Eustace Mullins – Murder by Injection (Full Length)
Book – online free
Murder by Injection, The Story of the Medical Conspiracy Against America
By Eustace Mullins
Book- PDF
Murder By Injection
The Story of the Medical Conspiracy Against America
"The present work, the result of some forty years of investigative research, is a logical progression from my previous books: the expose of the international control of monetary issue and banking practices in the United States; a later work revealing the secret network of organizations through which these alien forces wield political power-the secret committees, foundations, and political parties through which their hidden plans are implemented; and now; to the most vital issue of all, the manner in which these depredations affect the daily lives and health of American citizens.
Despite the great power of the hidden rulers, I found that only one group has the power to issue life or death sentences to any American-our nation's physicians. I discovered that these physicians, despite their great power, were themselves subjected to very strict controls over every aspect of their professional lives. These controls, surprisingly enough, were not wielded by any state or federal agency, although almost every other aspect of American life is now under the absolute control of the bureaucracy. The physicians have their own autocracy, a private trade association, the American Medical Association.
This group, which is headquartered in Chicago, Illinois, had gradually built up its power until it assumed total control over medical schools and the accreditation of physicians. The trail of these manipulators led me straight to the same lairs of the international conspirators whom I had exposed in previous books. I knew that they had already looted America, reduced its military power to a dangerously low level, and imposed bureaucratic controls on every American. I now discovered that their conspiracies also directly affected the health of every American. This conspiracy has resulted in a documented decline in the health of our citizens. We now rank far down the list of civilized nations in infant mortality and other significant medical statistics.
I was able to document the shocking record of these cold-blooded tycoons who not only plan and carry out famines, economic depressions, revolutions and wars, but who also find their greatest profits in their manipulations of our medical care. The cynicism and malice of these conspirators is something beyond the imagination of most Americans. They deliberately mulct our people of millions of dollars each year through "charitable" organizations and then use these same organizations as key groups to bolster their Medical Monopoly.
Fear and intimidation are the basic techniques by which the conspirators maintain their control
over all aspects of our health care, as they ruthlessly crush any competitor who challenges their profits.
As in other aspects of their "behavioural control" over the American people, their most constantly used weapon against us is their employment of federal agents and federal agencies to carry out their intrigues. The proof of this operation may be the most disturbing revelation of my work."
Propaganda Exposed!
Documentary Mini-series held May 4th 2022
Another impactful offering from Charlene & Ty Bollinger
What if the US Government knowingly performed medical experiments on its own citizens, without their knowledge or consent? Discover the TRUTH in this eye-opening documentary – "Propaganda EXPOSED!" Don't miss this incredible FREE broadcast.
In total, over 50 doctors, scientists, health experts, and freedom fighters are featured in this "one of a kind" docu-series which will change lives, influence friends and family, and quite possibly "wake up" enough people to create a "tipping point" for truth and liberty.
It's time to expose the propaganda and lies! It's time to unite to fight back the forces of evil and censorship when it comes to freedom of choice in medical treatments, as well as saying "no" to forced vaccines. If we don't stand up for health freedom and liberty now, then we may lose it forever.
Free as part of signing up for event
We share copy of the gift here for you
Big Pharma Exposed
Free 75 Page Ebook
Oftentimes, today's doctors are trained, funded, and accountable to Big Pharma. Our friends, Ty and Charlene Bollinger, over at The Truth About Cancer® have put together a collection of true stories from the past several years exposing the corruption of Big Pharma.
They've compiled these stories in a 75-page eBook – 'Big Pharma EXPOSED!' — which you can get as a download FREE, right now!
Here is another free book offered
177 Years of Medical Experimentation
Just the table of contents alone is mind bending!
The following gives you a feel for the material covered in the docu-series
Nov 9 – 17 2022
Propaganda Exposed Uncensored
10/31/2022 Health Ranger Report with Mike Adams ft. Ty and Charlene Bollinger
This interview discusses the relaunch of the Propaganda Exposed Docuseries, fully updated
Episode 1 11/9
QUESTION EVERYTHING!
A Primer on Pervasive Propaganda
From the Founding Fathers to Flexner to Fauci
Episode 2 11/10
SOME WARS AREN'T MEANT TO BE WON
Cancer & Cannabis | Germ Hunters | Medical Experiments
PCR * HIV * AIDS * AZT * CIA * HELA * SV40 * 9/11
WEAPONIZING FEAR & MANDATING COMPLIANCE
Vaccine Adverse Events & CDC Coverups
Practitioner Persecution * Intellectual Idiocy * Political Poppycock
EUGENICS & MEDICAL APARTHEID
Race-Specific "Top Secret" Vaccines
Man-made Viruses & Putting Profits over People
BIG "PHARMA-CIDE"
Government Coercion & CDC Fraud
Pfizer Prevarications & Natural Immunity
FORCED MEDICINE & THE BANKING CARTEL
The Federal Reserve | Fluoride Facts | Scientific Fraud
Collectivism * Covid Bigotry * Vaccine Prejudice
MODERN DAY ROBBER BARONS
Cancer-Causing Vaccines & Depopulation
GMO * Genocide * Geoengineering
DEFEATING DECEIT & TRIUMPHING OVER TYRANNY
The Great Reset * Global Surveillance * Track & Trace
CRUSHING CENSORSHIP, COLLUSION & CONSPIRACY
WHO IS SHAKING THE JAR?
PATRIOTS THIS IS OUR 1776! * SPOILER ALERT: WE WIN!
Last Modified on December 12, 2022
This entry was posted in Medical Tyranny, Pandemic
Bookmark this article Propaganda and Big Pharma Exposed
Congress Gets A Backbone
Big Pharma Is It A Criminal Conspiracy

redpajama_set_name: RedPajamaCommonCrawl


When only the best will do for your next occasion, contact Paladin for the best in Classic Rock, Country Rock, and Top 40 Music.
No Punk - No Junk - No Rap and No Crap!
Call now for great rates. Some dates are still open!
Look for us at Drummer Boy Campground, Gettysburg, PA this summer.
Back for a fifth season!
Bands seldom sound like the original artist of the songs they perform.
Lyrics Finder: Click here to find the lyrics to your favorite songs.


text:
Millions of years ago, the region around Calgary was covered by an inland sea teeming with marine life. The land to the west featured rivers draining from the ancestral Rocky Mountains and swamps covered by dense vegetation.
The land to the west featured rivers draining from the ancestral Rocky Mountains and swamps covered by dense vegetation.
Burial of Land Plants Creates Coal
Dead land plants were buried by mud and sand as environments shifted. Through heat and pressure resulting from burial over millions of years, the sediments gradually transformed into sedimentary rock. The plant matter, concentrated at levels that were formerly swamps, became the coal seams of the Canmore and Bankhead areas. They were deformed to mineable thicknesses by faulting and folding.
Accumulations of buried plants are transformed to coal.
Burial of Marine Life Produces Oil and Gas
When the marine plants and animals died, their remains settled on the seafloor where they were buried by layers of sediment and fossilized. As the soft organic tissue was buried, heat and pressure transformed it into oil and gas: lower heat preserves oil whereas gas can survive to higher temperatures.
Organic material is transformed to oil and gas.
Migration and Entrapment
The rocks in which oil and gas form are called 'source rocks'. Due to the pressure of overlying rock layers, oil and gas seldom remain in the source rock. Instead, they migrate with water through the layers of rock until they either escape at the surface or are trapped by an impermeable barrier. There are two main types of traps: stratigraphic and structural.
Stratigraphic Trap
These occur when overlying impermeable layers act as a seal above the permeable strata below. The porous reservoir fills up with fluids. This is the kind of trap found commonly in the plains around Calgary. Gas and lighter fluids rise to the top.
Oil, gas and water are trapped by an impermeable layer.
Structural Trap
In this case, folding and faulting place porous and permeable rock full of fluids next to impermeable rock. This kind of trap is found throughout the Foothills to the west of Calgary.
A magnified view of sandstone showing sand grains surrounded by films of water with oil in the remaining pore space.
Petroleum Today
Abundant oil and gas reserves make Alberta Canada's energy storehouse. The province produces about 85% of Canada's daily oil requirements and the Jumping Pound gas field, discovered in 1944 just west of Cochrane, supplies over half the natural gas needs of Calgary.
Pump jack (Photo: B. Groulx)
Coal was mined at Canmore from the late 1800s until 1979, and sold to the Canadian Pacific Railway to fuel coal-powered locomotives. The building of new subdivisions in Canmore must take into account subsidence hazards over the abandoned mines. Today, coal provides more than 80% of Alberta's electrical energy.
The Number 1 mine in Canmore produced coal from 1886 to 1916 (Photograph courtesy Canmore Museum and Geosciences Centre)
Folded coal-bearing zone at Three Sisters Mountain


Agreement on the basis these terms and conditions arise upon the fulfilment of all the following: receipt by Forest Knights of a completed booking form accompanied by the payment or deposit specified; clearance of the payment into the bank account; acceptance by Forest Knights in writing.
Forest knights reserves the right to without the need give reasons, to refuse to accept a booking. In such circumstances no agreement arises and Forest Knights will return any payment accompanying the booking.
The agreement is between Forest Knights and the client(s) and is the sole agreement between them. No changes in the terms and conditions shall be applicable unless agreed in writing by Forest Knights prior to the course.
Full payment is required for courses commencing in 6 weeks or under. For courses starting due to start in 6 weeks or greater then a deposit of 50% of the total course fee is required. The remainder of the outstanding balance is required 4 weeks to the commencement of the course. Should this not be received then the agreement shall be considered cancelled by the client.
Whilst every effort is made to limit prices to those given at booking, Forest Knights reserves the right to alter prices should the costs in hosting a course increase beyond our reasonable control. In the event of an increase then the client will be informed in writing as soon as possible. In the unlikely event of an increase beyond 10% then the client may cancel the booking and all monies paid will be refunded.
If the booking is cancelled by the client(s) for any reason the following cancellation charge will arise.
Cancellations before 8 weeks from the commencement of the course will incur a 50% charge. Cancellations before 1 month from the commencement of the course will incur a 100% charge.
VARIATION OF THE COURSE BY FOREST KNIGHTS.
A Forest Knights course is exposed to the elements, therefore it my be necessary to alter a course itinerary at short notice to account for the conditions. The client accepts that this may be necessary occasionally and does not hold Forest Knights liable for any losses associated with that change.
Forest Knights courses take place in the natural environment and by their nature is not totally risk free. Forest Knights endeavours to ensure that all risks are minimised and instructs clients how to negotiate those hazards that remain. The client acknowledges there are circumstances were an accident could befall a client without Forest Knights being at fault and accepts that to hat extend that the clients is participating at their own risk.
Forest Knights only accepts liability for physical injury to a client that is shown to result from negligence on the part of Forest Knights.
In the unlikely event that a client has a complaint about a Forest Knights event then the client should bring this to the attention of Forest Knights during the event so that corrective action can be taken where possible. However should a complaint not be resolved during the event then a letter should be sent to Forest Knights within 28 days? To this extent under the law Forest Knights shall not be liable if a complaint in not received within 28 days from the close of the relevant event.
The client accepts that for the duration of the course he/she is required to summit to the reasonable instructions of the Forest Knights team. The client accepts that Forest Knights may without giving a reason arrange for them to be removed from a course. Forest Knights operates a zero tolerance policy towards disorderly or abusive behaviour. Substance misuse will result in the client being removed from the course. A client may be removed if they have inadequate clothing or equipment or are incapable of meeting the demands of the course. In such circumstances a client will not be entitled to a refund of any monies paid and Forest Knights will not be liable to any losses.
The client accepts that they must sign and complete a consent form, which must be returned to Forest Knights 2 weeks prior to the start of the course. The consent forms will be sent to the clients on receipt of the final payment.
All clients must sign and complete a medical questionnaire, which must be returned to Forest Knights 2 weeks prior to the start of the course. The client(s) acknowledges consent for Forest Knights to perform any First Aid treatment they deem necessary until the emergency services arrive. No liability will be accepted for any losses incurred as a result of any First Aid intervention performed by suitably qualified Forest Knights staff.
Forest Knights holds full third party and public liability insurance.
However it is the client(s) responsibility to ensure that they have adequate holiday cover for personal injury and cancellation.


Shopping for low cost homeowners insurance in Muncie, IL does not have to be difficult. We are here to help you find and compare multiple providers. Simply enter your Zip in the form above and you will be taken to a page which will list the top most reputable home insurance companies in your Vermilion county.
The coverage mentioned above is a basic form of coverage that you absolutely need to have. There are optional coverage items that you can add, such as guaranteed replacement cost, which provides the most complete coverage. If your house gets totally damaged, the insurance company will pay for the cost of building it. However, as you might expect, most insurers require you to meet specific underwriting requirements and pay a higher premium. This brings us to another important point: How much does it cost to insure your home in Muncie, IL?
To get cheap Muncie, IL home insurance quotes use our simple comparison tool and you will be ahead of most regular consumers who do not do their own comparison or rely on an agent to do it for them.
Catastrophe can strike anywhere, at any time. That is why it is so critical that your residence is insured. You in no way know when some thing could take place to it, so you want to be geared up need to everything occur. In the adhering to report, you are going to be presented advice that will help you to be all set.
Reduce your homeowner's insurance coverage by browsing for insurance policy businesses that offer you reductions to clients who have several insurance policies. Many insurance organizations supply discount rates of up to ten percent or a lot more, so be confident to store all around right up until you uncover the very best deal. This can let you to conserve on two or much more distinct policy premiums.
There are two techniques to preserve cash on homeowners insurance coverage. Commence with setting up a new protection system inside of the property. That will minimize the premium you shell out by about five %. Be sure to send out a duplicate of your set up bill or security system deal to your insurance policies company. Also, make sure you have smoke alarms put in in the house. Collectively, these two advancements will preserve you safer and help save you a complete of 10% yearly.
If you need to file a assert with your homeowner's insurance coverage firm, do so instantly. Quickly reply to any ask for for info as entirely as you can. The far more details the insurance policy business has, the more quickly they can approach your assert. Also, much harm endured by properties will only worsen with time, indicating that if you permit it sit, the value will be greater.
Low premiums are something we all need. A larger deductible is a single way you can obtain this. The larger the deductible, the more compact the rates will be. Make certain you maintain adequate cash reserves to deal with scaled-down troubles that will now be your responsibility.
Prior to receiving homeowner's insurance policies, consider to get your complete house loan paid off. That can assist minimize your premium in a big volume. A house which is fully owned appears to be much more cared for than one which is below house loan to insurers.
To decrease the value of your property insurance coverage, you require to lessen the pitfalls of incident. You can start by getting fire evidence home furniture and resources. Install smoke detectors and fireplace extinguishers. Your insurance policy company will contemplate your home as safer, and in situation of fire you must be able to have the fire a lot more easily.
Continue to be vigilant more than the cost of your home insurance coverage rates by doing an once-a-year check out of your policy statements, and look for rates from other organizations to guarantee you are spending the cheapest costs. Your insurance coverage will not constantly automatically mirror alterations that can reduce your prices, so you want to make confident any reductions for adding alarms, sprinkler techniques or taking away a swimming pool are used. Keeping vigilant is the ideal way to conserve money!
If you have children away at college, research your home owner's insurance policy coverage coverage to see if their belongings in the dormitory are coated. Most guidelines supply some coverage in scenario of theft or injury as prolonged as the little one is part of your family, but it also depends on the price of their belongings. If your child is dwelling off-campus in an apartment, they may not be covered at all.
Install a innovative alarm system in your house, preferably a single that is monitored by a trustworthy security company, or is connected right to the local law enforcement station. Insurance policy businesses lessen your yearly quality by up to five% if you can show by an bill or contract that you have a centrally monitored security technique put in.
Make particular to insure your property and personal residence sufficiently for replacement. You absolutely do not want a catastrophe getting spot, but not have the resources to correct or rebuild your residence thanks to insufficient protection. Bear in mind that the resources utilized to develop and renovate your residence can also affect insurance coverage costs.
Appear at the cost difference between having a higher deductible and a decrease one particular. A deductible is the price you will spend out of pocket if you have a assert. You can go with a higher deductible for a decrease value normally, which will help save you cash throughout the several years, especially if you do not have any claims.
If you are purchasing for a new homeowner's insurance coverage plan, you ought to seem for user welcoming companies. You will want to deal with a company that is able to simply procedure any promises you could have. Verify out evaluations from present, as well as previous, clients of the insurance organizations you are contemplating for some unbiased opinions.
Saving money is a huge deal to a good deal of people with insurance, and these tips will most definitely assist you do that. But the largest point right here is that you in fact purchase a policy to shield the property in which you live. Anything can happen, so you usually need to keep safeguarded when it does.


In an environment where e-commerce is more important than ever—a trend that is only expected to grow—B2B companies can learn important lessons from B2C companies when it comes to the DSD food distribution last mile. Traditionally, the last mile is riddled with high costs, transparency, efficiency, and other challenges. And as companies like Walmart and Best Buy increasingly double brick-and-mortar retail centers for distribution, B2B food distribution companies can take a page from their playbook and gain a fresh perspective on new tactical solutions.
3. Money. In the past, B2C companies determined parcel shipping costs through a combination of box size and weight, and special packages meant additional handling surcharges. But in an era of free shipping, B2C companies can look at the food distribution last mile as part of the total cost of business and what it means to the big picture. Rather than sticking with the traditional shipping charges that they've used for years, B2B companies can look at the total cost of business and may find growth opportunity in happier customers and larger orders thanks to the food distribution last mile.
4. Technology. As consumer expectations increase, B2B customer expectations will follow, and this means that everything from inventory to timelines needs to be on-point now more than ever. Efficiencies in the food distribution last mile discipline, along with order accuracy utilizing proof of delivery tools, are available to meet this growing need.


The feeling I have right at this moment as I start to write this post is one of quiet respect, mournful solitude, prayerful sorrow, and complete and utter sadness for those brave men and women we lost on December 7, 1941 in the attack on Pearl Harbor. This will not be an easy post to write, but, I will try my best to give you the overall feeling of how touring the World War II Valor in the Pacific site affected me.
When I awoke and we were docked alongside Honolulu, my mind started to go to that fateful day and to all of the details that I've read in all of the history books; I knew that I was going to experience, in the only way we who were not alive on that fateful day can experience, the horror of the deadly attack on Pearl Harbor that the United States endured. One of the main reasons that I wanted to go to Hawaii was so that I could pay my own respects to all that perished that day and to somehow, even if it was only by my quiet, respectful attitude while on that hallowed ground, convey my thoughts and prayers and most humbled reflection. It was not going to be an easy day for me, but, it was one that I had looked forward to for some time.
We had also gotten this pamphlet when we first boarded, this gives a list of all of the excursions that were available in Honolulu–We had already made our excursion reservations online before we set sail.
Also, at every port, we got this nice little pamphlet to give us more information about where we were going to be visiting.
The day before we pulled into port, we had received this letter explaining how things would work on our excursion-stringent rules that I was actually quite glad to see. As well, on our excursion tickets, we were asked to dress appropriately…no bathing suits or shorts with holes in them etc…I was really glad to see that too…We were going to a hallowed place, not the beach, and not somewhere that was necessarily going to be fun.
Here was our ticket for our time to see the 20-minute documentary film depicting the attack on Pearl Harbor…We would have time to visit 2 museums onsite before and after the film and subsequent motor launch ride over to the Arizona Memorial.
Here was our motor coach for the day, the bus driver was absolutely awesome, she told story after story, I was brought to tears so many times while listening to her–she also made me laugh too. She was the perfect person to narrate our trip (Princess does such a great job at choosing these companies and their personnel…honestly, they really do).
I was quite touched as I walked through those two museums, they are very well done!
Next it was time to go and see the 20 minute documentary film–I did not take pictures of that probably because I was quite moved. After the film was over, it was time to take the boat over to the Arizona Memorial.
If you'd like to know more about the Arizona Memorial, click here.
Okay, I'm finished with my rant…Onward we go with our day in Honolulu…Now that we had experienced the beginning of the war, we were now on our way over to Mighty Mo to experience the end of the war. Aboard the Missouri is where Japanese envoys Foreign Minister Mamoru Shigemitsu and Gen. Yoshijiro Umezu signed their surrender on September 2, 1945 while in Tokyo Bay.
We were given a guided tour and were told all about the Missouri's illustrious battle career, if you'd like to read more about Mighty Mo, check out this link.
When I did a similar tour on one of my Princess cruises we also stopped at an amazing little museum called the Home of the Brave which I think you would have enjoyed also had you been fortunate to stop.
OH yes, I do think I would have loved to have seen that Home of the Brave museum. Maybe if we are ever fortunate to go again, I'll look into it. 🙂 Thanks so much Karen!
I totally agree about the excursion companies and their tour guides, we did one in both Kauai and Maui and the two guides were excellent. We were fortunate that my husband has a cousin livng near Honolulu, she and her husband drove us all over the Island.
I'm a Canadian who's father was a career Officer in the Army, I'm appalled that people could behave that way at a War memorial.
Totally agree with your comments about the lack of respect. Sheer ignorance! My husband and I are going to Hawaii and Tahiti on Dawn Princess out of Sydney later this year and can't wait! Your blogs are so informative and love your humour! Keep them coming!!
Hi Gail…Thank you so much for your wonderful words; I really enjoy doing these blogs, it is so nice to hear that folks are enjoying them! 🙂 OH and will you please pack me in your suitcase and take me on that Hawaii/Tahiti trip on the Dawn (never sailed on her)? 😉 🙂 I'd love to see Sydney too!!
what I felt and could not put into words….thank you.
OH wow, 2 weeks in Honolulu…What a lovely vacation for you and yours Donna!! NICE!! 🙂 Thank you so very much for your sweet words about my post here, that day at the Memorial was full of emotions and those emotions ran the gambit, trust me on that note. I will admit, that this post was one of the most difficult ones that I've written since I began putting my thoughts and feelings down on 'paper'; thank you for saying that I was able to capture the essence of 'feeling' that that solemn places exudes.
In 2003 when I was 17, I went to Pearl Harbor. I felt such a strong connection, because I was the age of the men when they died. It was a beautiful and yet such a haunting place. I had completely forgotten the beauty that was Hawaii. Especially after leaving the video presentation. The part that surprised was oil was still seeping out of the USS Arizona.
Thank you for giving the place justice in your blog.
Arlynn, I think you've done a great job of capturing the solemnity of the place, and your respect for the sacrifices of others. It is not an easy thing to write about, agreed. ❤ Thank you for sharing your perspective!
Thank you for sharing your experience. We look forward to seeing it for ourselves, but you have done a wonderful job preparing us to enjoy it even more.


Mp3 for htab Virk: Jhidkaan song download is a Punjabi song by Mehtab Virk, Jhidkaan mp3 download launched on 2- September- Jhidkaan Mehtab Virk Mehtab Virk Jhidkaan Mp3 Song. Presented by Speed Records.
Music Composed by Jatinder Shah. Lyrics By Jatinder Shah. Jhidkaan Mehtab Virk Album Mp3 Song. Download mehtab virk jhidka.
Download new song, Jhidkan - Mehtab Virk song download from Djyoungster in High Quality. Jhidkaan Punjabi released on.
Preet Hundal – Jhidkaan. Jhidkan - Mehtab Virk - mp3 song releasing on 6th September. Jhidkaan song belongs to Punjabi Jhidkaan by Mehtab Virk Jhidkaan available To free download Download Mehtab Virk Jhidkaan Mp3 Song.
Jhidkaan Single Track released on 15 Jun Download This Punjabi Song From Mn to Jhidkaan song by Mehtab Virk Preet Hundal now on JioSaavn. Download Punjabi songs listen online free only on JioSaavn.
Click to Share on Facebook - Song - Jhidkaan Artist - Mehtab Virk Lyrics - Veet Baljit Music - Preet Hundal D. P - Vikcee Video - Rah.
Presenting Mehtab Virk Proposal song from his album Panj- aab Vol. This song portrays the feeling of college love, romance and breakups.
Enjoy and stay connected with us! Download Mehtab Virk' s Jhidkaan Mp3 Single htab Virk Jhidkaan Released On.
Download This Song In Mp3 And Othe Available Jhidkaan Song Mehtab Virk, Jhidkaan Mp3 belongs to Mehtab Virk and available here to download free - ee download Mehtab Virk Feat Preet Hundal Jhidkaan Mp3. To start this download lagu you need to click on [ Download] Button.
Remember that by downloading this song you accept our terms and conditions. Enjoy downloading Mehtab Virk Feat.


text:
Christian Living and Discipleship
John Stott's Global God
The evangelical leader invested resources in Christian leaders around the world. Now those leaders are blessing the Western church.
Christopher J. H. Wright| December 13, 2021
Image: Illustration by Mallory Rentsch / Source Images: Unsplash
John Stott believed strongly in mutuality and reciprocity within the global church. Though a son of the Western church, Stott, like the apostle Paul, was passionately committed to the worldwide body of Christ. He not only knew and loved so many church leaders in many denominations outside the West, but he also wanted to enable their voices to be heard, to affirm their leadership, and to facilitate the development of their giftings, academically and spiritually. "We must be global Christians," he used to say, "with a global vision, because our God is a global God."
I have sometimes said that John Stott was both apostolic and Abrahamic. There was something apostolic about his evangelistic commitment to the gospel and to the faithful teaching of biblical truth. And there was something Abrahamic about his "all nations" perspective. Not only was he himself a blessing to many nations; he also modeled and taught the "obedience of faith" (to quote Paul) that characterized Abraham's combination of faith demonstrated in works (Rom. 1:5, ESV; James 2:20–26).
So for John Stott, to strengthen the leadership of the church outside the West would be to strengthen global church leadership, including the West. He prayed and longed for the greater health and maturity of the worldwide church, including the West. So whatever he could do to strengthen the Majority World church, the whole body of Christ would benefit.
Stott recognized an additional benefit that would adorn the truth of the gospel. As the leadership of the global church outside the West was strengthened, resourced, and recognized, then the truly international, multicultural nature of the church itself would be far more visible and more in line with the biblical portrait of the church.
We who are Western Christians need help. We need to acknowledge that we are the minority church in global terms. We need to recognize the vast and alarming extent to which, like the people of Israel before the Exile, we have succumbed to a range of idolatries and syncretisms—"going after the gods of the people around us" (to paraphrase the frequent warnings of Deuteronomy). We should be lamenting the way many who profess to be Christian succumb to frightening collusion with political leaders and policies that bear no resemblance whatsoever to the teachings and demands of Christ.
It is from Asia, Africa, and Latin America that God is already raising up leaders, scholars, thinkers, writers, and preachers who can speak with the authenticity of their contexts (and especially the authenticity of suffering for the Word of God and the testimony of Jesus Christ) into the moribund churches of the West. And some of those emerging (and already fully emerged and established) leaders are undoubtedly part of the fruit of John Stott's vision and initiatives, including the Langham Partnership, which equips and publishes theologians. As Tim Keller has said in commending Langham's work, "John Stott foresaw the rise of Christianity in the Global South before most anybody. He got there and saw the need for training. … This ministry has been a game changer."
So there is, in my view, a rather delightful irony about how John Stott's vision has turned out. His initiatives for theological education and literature were initially born of his desire that the well-resourced Western church should come alongside the underresourced churches of the Global South with generous assistance. But in God's long-term providence and the grand sweep of church history, there will most likely be a reverse impact. Stott's efforts will have helped to empower and equip the non-Western churches to come to the aid of the Western church in its decline.
We in the West are already finding ourselves the recipients and beneficiaries of the spiritual, missional, and theological leadership in the non-Western church that is in part the fruit of such investment over decades.
Adapted from Living Radical Discipleship, edited by Laura S. Meitzner Yoder, Langham Global Library, Carlisle, UK (2021). Available at langhamliterature.org.
Have something to add about this? See something we missed? Share your feedback here.
Living Radical Discipleship: Inspired by John Stott
Langham Global Library
134 pp., 17.99
CT Book Awards | Education | Global Church | International | John Stott
January/February 2022, Vol. 66, No. 1, Pg 47, "'Our God Is a Global God'"
More From: Christopher J. H. Wright
This article is from the Jan/Feb 2022 issue.
Jan/Feb
Jul/Aug
More from this Issue


Since ages Oracle has always said that a well written application should use bind variables to avoid hard parsing and to limit shared pool usage (this can also be found on multiple blogs dealing with development). One of the first drawbacks of bind variables are the explain plan. Initially Oracle optimlizer did not know what was the value of the bind vairable when first parsing (hard parsing) the query and statistics/histograms were not used correctly and so generating quite often a bad plan.
This has been corrected in Oracle 9i with bind variable peeking. Since this release Oracle optimizer is able to peek the value of the bind variable and generate a plan like if the query where with a fixed value and so using histograms and statistics. issue you could see with this si that it is the first query that is issued that generate an explain plan for all the further query. For example the first query could do a full table scan while 98% of the query would better benefit from an index usage (see example below). This has finally been solved in 11g with Adaptive Cursor Sharing (ACS) that allow Oracle to generate multiple child of the same parent cursor in case multiple value of the bind variable would make the query run faster with a different plan (see example below).
Please note, as stated in official documentation, that ACS is independent of CURSOR_SHARING value.
SQL> ALTER SYSTEM flush shared_pool; System altered. SQL> ALTER SYSTEM flush shared_pool; System altered.
It's anyway expected behavior and it looks quite complex to get rid of it but Oracle made it with 11g and called this feature adaptive cursor sharing (ACS).
IS_BIND_SENSITIVE: Tells you if optimizer peeked a bind variable value and if a different value may change the explain plan.
IS_BIND_AWARE: Tells you if a query uses cursor sharing, occurs only after the query has been marked bind sensitive.
The explain plan for child number 2 is the same as the one of child number 0.
We also see that child number 1 is also not shareable anymore and will so be aged out. When the plan generated for a different value of the bind variable is the same as an existing one then Oracle merge the two cursors (internally Oracle increase the selectivity range of the new cursor to include the selectivity of the new bind) and the first one is marked as not shareable (this is what happened between child 1 and 2, both are doing an index range scan).
Bind Variable Peeking – Drives Me Nuts!
This entry was posted in Oracle and tagged 11gR2, Adaptive Cursor Sharing (ACS), SQL, Tuning. Bookmark the permalink.


Last Updated: 3/24/2010 | File Size: 2970 KB | Price: $24.95 | Downloads: 166 | Developer: Alice Software Inc.
Alice DVD to Pocket PC Converter is a powerful easy-to-use DVD to Pocket PC converter software which helps you easily convert DVD Movies to a format that Pocket PC understands. No other software can do job with great quality and super fast converting speed like Alice DVD to Pocket PC Converter. With Alice DVD to Pocket PC Converter, DVD to Pocket PC video has never been easier!
Statement: First, please download the orginal installation package by clicking the download link. Of course you may also download it from the publisher's website. Using Alice DVD to Pocket PC Converter crack, key, patch, serial number, registration code, keygen is illegal. The download file hosted at publisher website. We do not provide any download link points to Rapidshare, Hotfile, Depositfiles, Mediafire, Filefactory, etc. or obtained from file sharing programs such as Limewire, Kazaa, Imesh, Ares, BearShare, BitTorrent, WinMX etc. Software piracy is theft. If you like Alice DVD to Pocket PC Converter please buy it.


text:
Home Cricket Cricket Features From soft-ball cricket to youth internationals, the tale of Dilshan Madushanka
From soft-ball cricket to youth internationals, the tale of Dilshan Madushanka
Sharmeegan Sridheran
"It's a small town, nothing special about it."
This is what Dilshan Madusanka had to say about the town he comes from. Hungama. A coastal town located about 26 kilometers west of Hambantota.
Dilshan scooted in as we sat down for a chat, lean and relatively tall, he has a visible sense of awareness of his surroundings. He seems like he has the urge to voice his thoughts but is also holding himself back a little. With great care about what escaped his lips, he began to tell us his story.
"My first encounters with cricket was when I saw a set of seniors playing cricket in the school grounds. Our school organized a big match about 4 or 5 years ago and it's after watching that game that I wanted to play cricket"
Dilshan's father is a fisherman and his mother a stay-at-home mum. He has two brothers, he is the middle child.
"My father didn't like me playing cricket. He used to blame cricket for my bad academic results. He didn't like the sport and didn't even watch a game on the television. I used to sneak out for matches with the help of my mother. But now he watches a lot of cricket on television and comes to the ground to see me play if the games are at Sooriyawewa."
Dilshan got into the game through his school, Hungama Vijayaba National School, a rural school of about 3000 kids. Cricket was an ill affordable luxury for the kids at his school and so they only contested in the junior level tournaments. They did not have a first XI team and couldn't afford the two-day game either.
"Even to travel for matches, the kids had to pool in money. We didn't get new balls for practices, we used the used match-balls. The entire school had about 3 pairs of pads and 3 or 4 bats, that's what everyone used."
Dilshan dropped out of the sport early as he stopped playing for his school following the under-15 season after captaining his team.
Video – 2019 යොවුන් ආසියානු කුසලාන ක්‍රිකට් තරගාවලියට ශ්‍රී ලංකා කණ්ඩායම සූදානම්
But he did find an alternative to satisfy his thirst for cricket. A less expensive means – he started playing soft-ball cricket. The pace Dilshan generated attracted the attention of the mainstream soft-ball cricket teams of his area very soon.
While playing for the school Dilshan also represented the district team. And even after he quit schools cricket he was in constant contact with the district coach, Mr. Manjula Karunaratne. He attended coaching camps organized by Mr Karunaratne on and off but apart from that, all his cricket was with the soft-ball.
"Until the day I came to Colombo for Sri Lanka under-19 practices, all I did was play soft-ball cricket. We went for all the tournaments around. We were never at home during weekends. At times we played tournaments through the night and returned home only in the evening of the following day."
This is when he was picked by Mr. Karunaratne in the district team for an inter-district tournament which was also a selection for the provincial team. Dilshan picked up 8 wickets in 2 games including a five-wicket haul but was not named in the provincial team initially.
"I have never been so disheartened by cricket like I was on that day"
But he was named in the squad later on, thanks to Mr. Karunaratne. That was Dilshan's first major tournament at the under-19 level. He played two games and picked up 3 wickets.
After about a year's time since that provincial tournament, Dilshan was asked by Mr Karunaratne to come to the Mahinda Rajapaksa International Cricket Stadium in Sooriyawewa as a net bowler for the India and Sri Lanka Under 19 teams prior to a youth international fixture.
Video – U19 Asia Cup 2019 launched in Colombo
At the time, Dilshan didn't own any cricket equipment. Not even a pair of boots. Those were all too expensive for the son of a fisherman and one of the main reasons he dropped out of the sport. But, luckily he had earned a few admirers through his soft-ball cricket circuit, who thought he was too good to limit to just soft-ball cricket and constantly offered him support in whatever way they could. It's through one such friend that Dilshan managed to borrow a pair of boots to attend the practice session he was asked to.
The left-arm seamer started bowling at the Indians who had the morning session at Sooriyawewa. The Sri Lanka under-19 team had their practices in the afternoon. Dilshan could not keep bowling as the pair of shoes he borrowed were too small for him and had started hurting him. The pain was so bad that he went up to the coach and lied that he had tuition classes and wanted to leave. But when Mr. Karunaratne asked him to stay and bowl to the Sri Lankans, Dilshan obeyed.
A few days later, he got a call from an unknown number and when answered the voice on the other end said, "Hello, this is Chaminda Vaas…" The rest is like a dream to Dilshan.
He was soon asked to join the under-19 team for practices in Colombo.
This left-arm speedster kept impressing everyone at the Sri Lanka under-19 camp and soon earned his spot in the playing eleven, still with a pair of borrowed boots and very little knowledge of the game.
"I just knew how to hold the seam straight and bowl. I didn't know how to swing the ball or anything. I just bowled the way I bowl while playing soft-ball cricket."
Chaminda Vaas has been a pillar of support to the youngster. "If not for Vaas sir, I wouldn't have been here. He has helped me a lot."
Since the time he joined the youth camp he has matured into a threatening fast bowler in a short period of time.
He is now a mainstay in the Sri Lanka U19 team and was a part of the Sri Lankan emerging squad which toured South Africa. He didn't even own a bat for himself when this conversation happened.
"I am happy that I have managed to be a part of the emerging squad at such a young age. It's a great addition to my career. As a kid I was hoping to join the army once I grew up to play cricket but now that all these things have happened, I just hope to give my maximum in the 2020 under-19 World Cup and then focus on making my mark in domestic cricket and someday, play for Sri Lanka!"
He starts his run-up slowly, a small skip mid-way, and then an acceleration as he approaches the crease. A steady jump, followed by a loud 'thwack' hard into the surface, before the ball flies out of his hand. If you watch this sequence happen, you will not just see a lean left-arm speedster generate serious pace with steep bounce, you also will see a boy who bowls his heart out with grit and determination sewn into every delivery he bowls.
Chaminda Vaas
ACCU19
Dilshan Madushanka
Manjula Karunaratne
Sri Lanka U19
Vijayaba National School Hungama
U19 Asia Cup 2019
Bowlers put Sri Lanka on top after another rain-affected day
New Zealand bitten by the injury bug as SL tour…
Misbah ul Haq named Pakistan head coach & chief selector
The forgotten warrior Ajantha Mendis
Video – කමිල් මිශාරගෙන් තවත් අර්ධ ශතකයක්
Video- Afghanistan U19 defeat Pakistan by 85 runs
Video – Lasith Malinga and the clan are in the right...
Video – 'මාලිංග කියන්නේ Champion bowler කෙනෙක්' – Cricketry: 3rd T20I


Global News The latest press releases of The Linde Group at a glance.
Linde North America, Inc. announced today that its second retail hydrogen fueling station for fuel cell automobiles in California is now operational.
Technology company The Linde Group has been listed on the Dow Jones Sustainability World Index (DJSI) for the fourth year in a row. Linde's sustainability performance thus continues to rank in the top ten percent of its industry.
An article on the Lane Fox REMEO Respiratory Centre was published in PSBJ (Public Sector Build Journal), a modern B2B specification publication for the UK Public Sector building market.
The winners of the AfH Design Awards 2015 were announced at a reception at the European Congress for Healthcare Design on 22 June 2015.
With the slogan "Collaborate. Innovate. Deliver." technology company The Linde Group will demonstrate how the world leader in gases and engineering delivers true value to its customers at this year's ACHEMA trade fair in Frankfurt, Germany, starting on 15 June.
Technology company The Linde Group will be presenting the latest advances in eco-friendly energy carriers at HANNOVER MESSE 2014. It will be focusing in particular on hydrogen and liquefied natural gas (LNG).
The technology company The Linde Group will intensify its involvement in the Shell Eco-marathon, becoming a "Global Paddock Partner" for this year's event. Shell Eco-marathon is one of the world's most challenging student innovation competitions and takes place annually in Europe, America and Asia.
The Supervisory Board of Linde AG, in its meeting today, has appointed Dr Wolfgang Büchele (54) as member of the Executive Board effective 1 May 2014 and designated CEO.
BASF, The Linde Group and ThyssenKrupp plan to develop an environmentally friendly and competitive basis for utilizing the climate gas carbon dioxide (CO2) on an industrial scale.
The technology company The Linde Group has received an order for a mid-scale liquefied naturals gas (LNG) plant from Malaysia LNG Sdn. Bhd., a production subsidiary of Malaysia's national oil and gas company PETRONAS.
The technology company The Linde Group has been commissioned by Norwegian-based Skangass AS to build a mid-scale liquefied natural gas (LNG) import terminal at the west coast of Sweden, in Lysekil, 100 kilometres north of Gothenburg.
The performance of the technology company The Linde Group has remained steady in the nine months ended 30 September 2012, with Group revenue and Group operating profit both increasing once again.
Starting point for the Bomin Linde LNG GmbH & Co. KG: The first project is the construction of a liquefied natural gas terminal intended to provide ships with the cleaner fuel in the P ort of Hamburg. This is based on the successful completion of a feasibility study conducted by the Hamburg Port Authority and Linde.