text:
Home Venues Archives Museum of Liverpool Archive
Museum of Liverpool Archive
Museum Of Liverpool: On Display – Hagrid's Bike from Harry Potter
The motorbike and sidecar belonging to Hagrid, Harry Potter's loyal friend and Hogwart's gamekeeper, goes on display at the Museum of Liverpool from 16 May to 9 June 2016.
Museum of Liverpool: 'Dry Your Eyes Princess' Photography Exhibition
Wednesday 16 December 2015 - Sunday 31 January 2016. A special exhibition by local award-winning photographer Stephen King, following a collaboration with trans military veterans and Liverpool John Moores University.
Museum of Liverpool: Display – Everyman Theatre
14 October 2015 to (To be confirmed). Display of artefacts from the Everyman theatre on Hope Street which won the RIBA Stirling Prize in 2014.
Museum of Liverpool: It's Glam Up North: Curated by Rankin
Friday 25 September - Sunday 6 December 2015. Works from celebrated artists, filmmakers, fashion and graphic designers feature in the exhibition, as well as pieces by Rankin himself.
Museum of Liverpool: Poppies: Women and War
Friday 24 July 2015 – Sunday 5 June 2016. This is an exhibition by Lee Karen Stow, remembering women in times of war from the First World War to the present day.
Museum of Liverpool: Ticket to Ride (Mencap Exhibition)
15 June - Friday 4 September 2015. To celebrate learning disability week, Mencap Liverpool are to stage a twelve week exhibition named Ticket to Ride at the Museum of Liverpool located on the Liverpool Waterfront.
Museum of Liverpool: L8 Unseen
3 April - 6 September 2015. L8 Unseen, an exhibition of photography and filmed interviews exploring the communities living in Liverpool 8, opens at the Museum of Liverpool.
Museum of Liverpool: H.A.I.R.
13 February - 31 August 2015. H.A.I.R uncovers the evolution of Black hair from its roots to its tips. From dreads to afros, high tops to weaves – all are statements of Black attitude, pride and identity.
Museum of Liverpool: BSL tour of Unsung
10 February 2pm Free, drop-in Explore the campaigners throughout the Museum of Liverpool with a focus on our display about the life of Edward Rushton. This tour...
Museum of Liverpool: Touch Tour of Rushton exhibition
5, 14 (Valentine's Day special!) & 19 February 2015 1pm Free Explore the Museum of Liverpool with a focus on our display about the life of William...
Museum of Liverpool: Tour of April Ashley
3 February 3pm Free Join Social History Curator Kay Jones for a tour of this popular exhibition, as part of LGBT History month.
Museum of Liverpool: Liverpool Landscape Lunchtimes
30 January 2015 1pm Free Have a go at sketching the spectacular view from our second floor windows. Absolute beginners very welcome. Drop in, no booking or ticket...
Unsung – Liverpool's Most Radical Son
7 November - 10 May 2015 10am to 5pm Free (Except Mondays & Sundays at Victoria Gallery and Museum) Three displays to celebrate Rushton's life; highlighting his...
Museum of Liverpool: Now+then: Three Decades of HIV in Merseyside
10 October 2014 - 8 February 2015 Open daily Free Now+then uncovers Merseyside's journey with HIV from the 1980s to the present day, through people's own stories....
Museum of Liverpool: First World War: Reflecting on Liverpool's Home Front
23 July 2014 - 1 March 2015 Open daily Free This WW1 Centenary exhibition explores some of the city's lesser-known stories of the First World War, asking...
Museum of Liverpool: From There to Here Free Events Programme
14 May - 9 July 2014 Free, no need to book Liverpool Museum Tours 14 May, 19 June and 9 July at 15.00 Skylight Gallery Meet the Wicked Fish team to find...
Museum of Liverpool: From There to Here: The Hidden History of...
2 May - 13 July 2014 The Museum of Liverpool's newest exhibition explores how people with learning difficulties have been excluded from history. From There to...
Museum of Liverpool: Rosana Cade – Walking:Holding
9 November 14.00 - 17.00 Outside Museum of Liverpool A woman with a shaved head takes your hand in a station. A large man dressed in black...
Museum of Liverpool: By Jove! It's Ken Dodd! Photographs by...
8 November 2013 - 21 April 2014 This exhibition captures the man behind the performer through the lens of an award-winning Liverpool photographer who has...
Museum of Liverpool: April Ashley: Portrait of a Lady
27 September 2013 - 1 March 2015 Open daily Free This unique and ground-breaking year-long exhibition of trans* history places the previously unseen private archive of April Ashley...
Museum of Liverpool: The Lost Buildings of Liverpool pt 2
22 September 2013 14.00, 15.00 Free Learn more about the architectural history of Liverpool with Ged Fagan who will discussGerard Gardens at 2pm. Then at 3pm Liz Stewart, Curator of Archaeology will...
Museum of Liverpool: Liverpool Signing Choir
15 September 2013 14.00 -15.00 Free This group of young people are best known for their performance at the Olympic Games closing ceremony. Here they will be...
Museum of Liverpool: Sunday Crafternoon: Heritage Open Month
15 September 14.00 - 16.00 Free Bring along a box and make one of Liverpool's magnificent buildings. Can you create an entire city? Drop in, no booking required
Museum of Liverpool: Tales from the Tent
14 September 15.00 - 15.30 Free Wind down from your busy day with story time in the magical story tent. Drop in, no booking required.
Museum of Liverpool: Finds Fridays
6 September 2013 11.00 - 12.00 Free Join the Museum's archaeology team to discover what is fresh from the ground. Drop in, no booking required.
Museum of Liverpool: Spotlight on the Beatles
5, 12, 19 September 2013 15.00 - 15.30 Free This talk will focus on the Beatles collection in the Museum of Liverpool followed by the opportunity for a Q&A with the curator...


The whole idea of art is to experiment and use your creativity to the maximum. You might not get it right every time, but you can create something and then just see how it looks. I'm getting really creative this week, with PhotoScape.
This week I am editing photos with PhotoScape. It's a freeware download and will make a big difference to your photographs. You can use any camera and edit to produce art. I used the fish-eye distort on this photo.


text:
Tobacco, State Clash
On Behalf of Paoli Law Firm, P.C. | Oct 23, 2010 | Firm News
Photo by Eliza Wiley of the Helena Independent Record. From left: Chicago-based Philip Morris attorney Steve Patton returning to his seat after his argument, Missoula-based attorney for the "Subsequent Participating Manufacturers" Sean Morris, David Paoli of our firm, and John Kutzman of our firm rising to begin his argument.As the Independent Record explains:
The district court sided with the tobacco manufacturers and determined that the matter should be left to arbitration. But the state appealed to the Montana Supreme Court, which reversed the decision and asked for further proceedings within the district court. In its opinion, the court stated that "the State filed the instant action not to challenge any calculation, determination, or course of action actually performed, made, or chosen by the Independent Auditor. Rather, the State sought a declaration that Montana had, in fact, diligently enforced the provisions of the (settlement agreement) during 2003."The Montana court was the only one to ultimately decide that the issue should remain in the state courts instead of going on to arbitration. The other states have already worked with the tobacco companies to assemble a panel for the arbitration proceedings and start holding pre-trial hearings. So the companies have asked for a "stay" on Montana's next round in the district court, requesting that proceedings stop until arbitration is complete.Which is why both parties showed up in Sherlock's court on Friday — the tobacco companies, represented by a lawyer for Philip Morris Inc., came to ask for a temporary suspension; the state was there to argue against the idea.. . . .Missoula-based attorney John Kutzman, representing the state, countered that Montana is not planning to participate in any aspect of arbitration because it is not required to do so in this circumstance, despite what Patton was implying. He reiterated that the Master Settlement Agreement does not require arbitration unless it is related to the calculations and decisions of the independent auditor, which he contends is not the case in this situation.He added that Patton continued to hint that the state was trying to be deceptive, when it simply wants its courts to investigate and determine whether its statute was "diligently enforced." He also disregarded Patton's point about waiting for funds."We didn't ask for the money. What we asked for was a declaratory ruling," he said.

redpajama_set_name: RedPajamaCommonCrawl


text:
from __future__ import absolute_import
# Licensed under the Apache License Version 2.0: http://www.apache.org/licenses/LICENSE-2.0.txt
"""Celery tasks relating to Twitter."""

__author__ = 'Giles Richard Greenway'

from datetime import datetime

from celery import chain, group

from socialminer.celery import app
from socialminer.db_settings import cache
from socialminer.twitter_settings import *
from socialminer.twitter_tools import *

@app.task
def twitterCall(methodName,args,credentials=False):
    """Attempt a given Twitter API call, retry if rate-limited. Returns the result of the call.

        Positional arguments:
        methodName -- the Twitter API method to call
        args -- a dicionary of keyword arguments

    """
    api = ratedTwitter(credentials=credentials)
    limit = api.__can_we_do_that__(methodName)
    if limit:
        print '*** TWITTER RATE-LIMITED: '+methodName+' ***'
        raise twitterCall.retry(exc=Exception('Twitter rate-limited',methodName), countdown = limit)
    else:
        okay, result = api.__method_call__(methodName,args)
        if okay:
            print '*** TWITTER CALL: '+methodName+' ***'
            return result
        else:
            assert False

@app.task
def pushRenderedTwits2Neo(twits):
    pushUsers2Neo(twits)

@app.task
def pushRenderedTwits2Cass(twits):
    pushUsers2Cass(twits)

@app.task
def pushTwitterUsers(twits):
    """Store Twitter users returned by a Twitter API call in Neo4J and Cassandra.

    Positional arguments:
    twits -- a list of Twitter users as returned by Twython
    """
    rightNow = datetime.now().isoformat()
    for twit in twits:
        twit['last_scraped'] = rightNow

    renderedTwits = [ renderTwitterUser(twit) for twit in twits ]
    pushRenderedTwits2Neo.delay(renderedTwits)
    pushRenderedTwits2Cass.delay(renderedTwits)
    #return True

@app.task
def getTwitterUsers(users,credentials=False):
    """Look-up a set of Twitter users by screen_name and store them in Neo4J/Cassandra

    Positional arguments:
    users -- a list of screen_names

    """
    userList = ','.join(users)
    chain(twitterCall.s('lookup_user',{'screen_name':userList},credentials), pushTwitterUsers.s())()

@app.task
def pushRenderedTweets2Neo(user,tweetDump):
    tweets2Neo(user,tweetDump)

@app.task
def pushRenderedTweets2Cass(user,tweetDump):
    tweets2Cass(user,tweetDump)

@app.task
def pushRenderedTweets2Solr(tweets):
    tweets2Solr(tweets)

@app.task
def pushTweets(tweets,user,cacheKey=False):
    """ Dump a set of tweets from a given user's timeline to Neo4J/Cassandra/Solr.

    Positional arguments:
    tweets -- a list of tweets as returned by Twython.
    user -- screen_name of the user

    Keyword arguments:
    cacheKey -- a Redis key that identifies an on-going task to grab a user's timeline

    """

    tweetDump = filterTweets(tweets) # Extract mentions, URLs, replies hashtags etc...

    pushRenderedTweets2Neo.delay(user,tweetDump)
    pushRenderedTweets2Cass.delay(user,tweetDump)
    pushRenderedTweets2Solr.delay(tweetDump['tweets']+tweetDump['retweets'])

    if cacheKey: # These are the last Tweets, tell the scaper we're done.
        cache.set(cacheKey,'done')
        print '*** '+user+': DONE WITH TWEETS ***'

    #return True

@app.task
def getTweets(user,maxTweets=3000,count=0,tweetId=0,cacheKey=False,credentials=False):
    """Get tweets from the timeline of the given user, push them to Neo4J/Cassandra.

    Positional arguments:
    user -- The screen_name of the user

    Keyword arguments:
    maxTweets -- The maximum number of tweets to retrieve
    cacheKey -- a Redis key that identifies an on-going task to grab a user's timeline
    count -- The number of tweets already retrieved, set when the task calls itself
    tweetId -- The maximum tweet ID to retrieve, set when the task calls itself

    """
    api = ratedTwitter(credentials=credentials)
    limit = api.get_user_timeline_limited()
    if limit:
        print '*** TWITTER RATE-LIMITED: statuses.user_timeline:'+user+':'+str(count)+' ***'
        raise getTweets.retry(countdown = limit)
    else:
        args = {'screen_name':user,'exclude_replies':False,'include_rts':True,'trim_user':False,'count':200}
        if tweetId:
            args['max_id'] = tweetId

        okay, result = api.get_user_timeline(**args)

        if okay:
            print '*** TWITTER USER_TIMELINE: '+user+':'+str(tweetId)+' ***'
            if result:
                newCount = count + len(result)
                if maxTweets:
                    if newCount > maxTweets: # No need for the task to call itself again.
                        pushTweets.delay(result,user,cacheKey=cacheKey) # Give pushTweets the cache-key to end the job.
                        return
                    else:
                        pushTweets.delay(result,user)

                newTweetId = min([t['id'] for t in result]) - 1
                # Not done yet, the task calls itself with an updated count and tweetId.
                getTweets.delay(user,maxTweets=maxTweets,count=newCount,tweetId=newTweetId,cacheKey=cacheKey,credentials=credentials)
            else:
                pushTweets.delay([],user,cacheKey=cacheKey) # Nothing more found, so tell pushTweets the job is done.
        else:
            if result == '404':
                setUserDefunct(user)
            cache.set('scrape_tweets','done')
            if result == 'limited':
                raise getTweets.retry(countdown = api.get_user_timeline_limited())

@app.task
def pushRenderedConnections2Neo(user,renderedTwits,friends=True):
    pushConnections2Neo(user,renderedTwits,friends=friends)

@app.task
def pushRenderedConnections2Cass(user,renderedTwits,friends=True):
    pushConnections2Cass(user,renderedTwits,friends=friends)

@app.task
def pushTwitterConnections(twits,user,friends=True,cacheKey=False):
    """Push the Twitter connections of a given user to Neo4J/Cassandra.

    Positional arguments:
    twits -- a list of Twitter users as returned by Twython
    user -- The screen_name of the user

    Keyword arguments:
    friends -- "twits" are the user's friends if True, (default) else they're followers
    cacheKey -- a Redis key that identifies an on-going task to grab a user's friends or followers

    """

    if friends:
        job = ' FRIENDS'
    else:
        job = ' FOLLOWERS'

    if twits:
        renderedTwits = [ renderTwitterUser(twit) for twit in twits ]
        pushRenderedConnections2Neo.delay(user,renderedTwits,friends=friends)
        pushRenderedConnections2Cass.delay(user,renderedTwits,friends=friends)
# These are the last Tweets, tell the scaper we're done.
    if cacheKey: # These are the last connections, tell the scaper we're done.
        cache.set(cacheKey,'done')
        print '*** '+user+': DONE WITH'+job+' ***'

@app.task
def getTwitterConnections(user,friends=True,cursor = -1,credentials=False,cacheKey=False):
    """Get the connections of the given user, push them to Neo4J/Cassandra.

    Positional arguments:
    user -- The screen_name of the user

    Keyword arguments:
    friends -- "twits" are the user's friends if True, (default) else they're followers
    cacheKey -- a Redis key that identifies an on-going task to grab a user's friends or followers
    cursor -- Id of the next block of connections to retrieve, set when the task calls itself
    """
    api = ratedTwitter(credentials=credentials)
    if friends:
        method = api.get_friends_list
        limit = api.get_friends_list_limited()
        methodName = 'get_friends_list'
    else:
        method = api.get_followers_list
        limit = api.get_followers_list_limited()
        methodName = 'get_followers_list'
    if limit:
        print '*** TWITTER RATE-LIMITED: '+methodName+':'+str(cursor)+' ***'
        raise getTwitterConnections.retry(countdown = limit)
    else:
        okay,result = method(screen_name=user, cursor=cursor, count=200) # We can get a maximum of 200 connections at once.
        if okay:
            print '*** TWITTER CURSOR: '+methodName+':'+user+':'+str(cursor)+' ***'
            twits = result['users']
            nextCursor = result.get('next_cursor',False)
            if nextCursor: # Unless the next cursor is 0, we're not done yet.
                getTwitterConnections.delay(user,friends=friends,cursor=nextCursor,cacheKey=cacheKey,credentials=credentials)
                pushTwitterConnections.delay(twits,user,friends=friends)
            else:
                pushTwitterConnections.delay(twits,user,friends=friends,cacheKey=cacheKey) # All done, send the cacheKey.

        else:
            if result == 'limited':
                 raise getTwitterConnections.retry(exc=Exception('Twitter rate-limited',methodName),countdown = API_TIMEOUT)
            if result == '404':
                setUserDefunct(user)
                if friends:
                    cache.set('scrape_friends','done')
                else:
                    cache.set('scrape_followers','done')

@app.task
def seedUser(user,scrape=False):
    """Retrieve the given Twitter user's account, and their timelines, friends and followers. Optionally, start scraping around them."""
    print '*** SEEDING: '+user+' ***'
    if scrape:
        chain(getTwitterUsers.s([user]),getTwitterConnections.si(user), getTwitterConnections.si(user,friends=False),
              getTweets.si(user,maxTweets=1000), startUserScrape.si(user))()
    else:
        chain(getTwitterUsers.s([user]),getTwitterConnections.si(user), getTwitterConnections.si(user,friends=False),
              getTweets.si(user,maxTweets=1000))()

@app.task
def startScrape(latest=False):
    """Start the default scrape, retrieving the users that need timelines, friends or followers updated,
    in the order that they were first added. """
    print '*** STARTED SCRAPING: DEFAULT: ***'
    cache.set('default_scrape','true')
    cache.set('scrape_mode','default')

    for key in ['scrape_friends','scrape_followers','scrape_tweets']:
        cache.set(key,'')

    doDefaultScrape.delay(latest=latest)

@app.task
def doDefaultScrape(latest=False):
    """Retrieve the tweets, friends or followers of trhe next users in the default scrape."""
    keepGoing = cache.get('default_scrape')
    if (not keepGoing) or keepGoing <> 'true':
        print '*** STOPPED DEFAULT SCRAPE ***'
        return False

    print '*** SCRAPING... ***'

    thisFriend = cache.get('scrape_friends')
    if (not thisFriend) or thisFriend == 'done':
        cache.set('scrape_friends','running')
        getTwitterConnections.delay(whoNext('friends',latest=latest),cacheKey='scrape_friends')
    else:
        print '*** FRIENDS BUSY ***'

    thisFollower = cache.get('scrape_followers')
    if (not thisFollower) or thisFollower == 'done':
        cache.set('scrape_followers','running')
        getTwitterConnections.delay(whoNext('friends',latest=latest),friends=False,cacheKey='scrape_followers')
    else:
        print "*** FOLLOWERS BUSY ***"

    thisTweet = cache.get('scrape_tweets')
    if (not thisTweet) or thisTweet == 'done':
        cache.set('scrape_tweets','running')
        getTweets.delay(whoNext('tweets',latest=latest),maxTweets=1000,cacheKey='scrape_tweets')
    else:
        print '*** TWEETS BUSY ***'

    doDefaultScrape.apply_async(kwargs={'latest':latest},countdown=30)

@app.task
def startUserScrape(user):
    """Start scraping around the given user."""
    print '*** STARTED SCRAPING: USER: '+user+' ***'
    cache.set('user_scrape','true')
    cache.set('scrape_mode','user')
    cache.set('scrape_user',user)

    for key in ['scrape_friends','scrape_followers','scrape_tweets']:
        cache.set(key,'')

    for job in ['friends','followers','tweets']:
        cacheKey = '_'.join(['nextnearest',job,user])
        cache.set(cacheKey,False)

    doUserScrape.delay()

@app.task
def doUserScrape():
    """Retrieve the next timelines, friends and followers for the next accounts in the user scrape. """
    keepGoing = cache.get('user_scrape')
    if (not keepGoing) or keepGoing <> 'true':
        print '*** STOPPED USER SCRAPE ***'
        return False

    user = cache.get('scrape_user')
    print '*** SCRAPING USER: '+user+'... ***'

    thisFriend = cache.get('scrape_friends')
    if (not thisFriend) or thisFriend == 'done':
        nextFriends = nextNearest(user,'friends')
        if nextFriends:
            cache.set('scrape_friends','running')
            getTwitterConnections.delay(nextFriends, cacheKey='scrape_friends')
    else:
        print '*** FRIENDS BUSY ***'

    thisFollower = cache.get('scrape_followers')
    if (not thisFollower) or thisFollower == 'done':
        nextFollowers = nextNearest(user,'followers')
        if nextFollowers:
            cache.set('scrape_followers','running')
            getTwitterConnections.delay(nextFollowers,friends=False, cacheKey='scrape_followers')
    else:
        print '*** FOLLOWERS BUSY ***'

    thisTweet = cache.get('scrape_tweets')
    if (not thisTweet) or thisTweet == 'done':
        nextTweets = nextNearest(user,'tweets')
        if nextTweets:
            cache.set('scrape_tweets','running')
            getTweets.delay(nextTweets,maxTweets=1000,cacheKey='scrape_tweets')
    else:
        print '*** TWEETS BUSY ***'

    if 'running' in [ cache.get(k) for k in ['scrape_friends','scrape_followers','scrape_tweets'] ]:
        doUserScrape.apply_async(countdown=30)
    else:
        cache.set('user_scrape','')
        cache.set('scrape_mode','')
        print '*** FINISHED SCRAPING USER: '+user+' ***'

redpajama_set_name: RedPajamaGithub


Hyperbaric chambers are vessels in which patients breathe oxygen at pressures up to three times greater than normal atmospheric pressure. They are used to treat divers suffering from decompression illness or to administer hyperbaric oxygen therapy, also known as HBOT.
Although oxygen therapy might be a novelty for most of us, the concept is certainly not new. Documentation shows that breathing hyperbaric oxygen as therapy has been around for nearly 350 years. It wasn't until the mid-1800s that clinical use of hyperbaric oxygen therapy started. Decades later, the military developed and tested hyperbaric chambers for purposes related to deep sea diving and aeronautics.
But in a complex and sometimes crowded marketplace, it can be difficult to research and choose the right hyperbaric chamber for your needs, whether you're a medical professional looking to add to your facility or an individual looking for the right home hyperbaric chamber.
Whether you're in the market for a new hyperbaric chamber, or you're just beginning your research journey to determine whether HBOT is right for you, browse our guide and click through the pages listed below to learn everything you need to know about this remarkable and versatile therapy.
Is Hyperbaric Therapy Right for You?
What does the FDA say about Hyperbaric Oxygen Therapy?
What is a Hyperbaric Chamber and What Does it Do?
Hyperbaric oxygen therapy is a medical treatment that entails the use of oxygen at increased pressures for therapeutic purposes. The treatment is administered in hyperbaric chambers and sometimes involves the circulation of pure oxygen.
What's the difference between hyperbaric oxygen therapy and mild hyperbaric oxygen therapy?
The difference is simple and boils down to the level of oxygen in the pressurized environment: Mild hyperbaric oxygen therapy (mHBOT) generally involves a pressure protocol up to 1.3 ATA or 4 psi, or, a mildly greater pressure than what's experienced at sea level. High pressure hyperbaric oxygen therapy involves pressure above 1.5 ATA, a substantially greater percentage of oxygen than you normally breathe. You can achieve different levels of pressure depending on the type of hyperbaric chamber you use, including monoplace, multiplace and portable chambers. Read more about air pressure and oxygen density here.
How does hyperbaric therapy work?
Hyperbaric technology involves increasing the air pressure in the environment (a hyperbaric chamber) to enable the body to absorb more oxygen per volume of compressed air. Normally, your body transports the oxygen you breathe via hemoglobin in your red blood cells, but if you inhale pressurized air with a higher concentration of oxygen, that oxygen is driven into the body's fluids to more intensely saturate the bodily tissues and organs. This increased pressure can even impact injuries involving damaged circulation (such as a blood clot in the brain that leads to a stroke) by infusing the body with oxygen.
How often do most people receive HBOT treatment?
Frequency varies, but most people see the best results after completing a treatment plan of two sessions a day, five days a week. At the least, those seeking effective hyperbaric oxygen therapy should commit to three sessions per week. After 40 sessions, it's often wise to review progress and adjust session frequency as needed.
Read more about navigating hyperbaric therapy with your healthcare provider here.
What's the difference between hard hyperbaric chambers and soft hyperbaric chambers?
Hard chambers are typically made of steel and most commonly found in a hospital or clinical environment, while mild (or soft) chambers are purchased most often by private individuals for their portability, compact size, and ease of use. Hard (or steel) chambers in a hospital environment are often connected to an oxygen tank outside the building that supplies the chamber with 100% pure oxygen, while mild chambers will never reach 100% oxygen density and saturation.
What pieces or parts are sold with hyperbaric chambers?
All of Rehabmart's mild HBOT chambers are shipped with the internal wire frame, air compressors and an internal mattress. Essentially, the chamber arrives with all the required components necessary for full chamber operation. Oxygen concentrators are sold separately and require a prescription.
Is there a chamber available that would accommodate larger adults?
It depends on the individual's size, and comfort preferences. The hyperbaric chambers available on Rehabmart.com come in a variety of internal diameters, so it's important to reference the size of the chamber you're considering.
How do I clean my mild hyperbaric chamber?
Consult the manufacturer's recommendations, but most chambers can be wiped down inside and out with a damp cloth and cleaned with mild hypoallergenic soap and water. Do not use bleach or harsh chemicals on the chamber bladder. Dry after cleaning. Any chamber covers may be laundered according to the manufacturer's instructions.
Will a hyperbaric chamber always be filled with 100% pure oxygen?
No. Mild hyperbaric chambers are inflated to their standard operating pressure using standard ambient air. Conversely, only medical-grade hyperbaric oxygen chambers are pressurized with 100% pure oxygen. Medical grade HBOT chambers may only be operated by specially trained technicians who work under the supervision of a physician.
How can a hyperbaric chamber help a diabetic person?
Check out this video to see how hyperbaric oxygen therapy can help diabetes patients.
What conditions are hyperbaric therapy used to treat?
What does mHBOT stand for?
mHBOT means "mild hyperbaric oxygen therapy," which is different from high-pressure hyperbaric oxygen therapy because of the level of oxygen delivered to the bloodstream in a pressurized environment.
Hyperbaric oxygen therapy began as a treatment for the bends, the condition most often seen in deep-sea divers. A hyperbaric treatment session is called a dive as a reference to that early use.
An oxygen concentrator is a medical device that supplies an oxygen-enriched gas stream by concentrating the oxygen in a gas supply (typically ambient air).
Monoplace hyperbaric chambers were first introduced in the 1960s. Made of clear acrylic material and shaped as a cylinder, they were designed to accommodate only one patient.
During the treatment, the monoplace chamber is filled with 100% pure oxygen and the atmospheric pressure is increased to up to three times higher than normal. Transparent walls allow the clinical staff to monitor the patient closely.
Because the time and access in a monoplace chamber is limited, they are used for less severe cases of injuries or decompression illness.
One of the primary disadvantages of monoplace chambers is that the patient is isolated and confined in a relatively small place. It might be a bit difficult to endure a two-hour treatment, especially if you're claustrophobic.
Though more expensive than monoplace chambers, and they require more hands to operate, multiplace chambers are a popular option in hospitals and medical centers. They can hold up to 18 patients and are used to treat various conditions, from injuries and hypoxia to decompression illness and burns. Patients may sit in a chair or recline.
In multiplace chambers, patients breathe oxygen through a face mask, hood, or endotracheal tube. The pressurized atmosphere is normal air in a multiplace hyperbaric chamber. Medical personnel monitor each patient's signs and symptoms and provide drugs and fluids if necessary. They can enter or exit the chamber during the treatment through doorways that can be independently pressurized to allow the transfer of patients and medical staff. One of the main advantages of multiplace chambers is that they allow for extended treatment times. As a result, they are best suited for patients who are in convalescence and need time to heal.
Portable hyperbaric chambers were first designed for emergency treatments and patient transportation after decompression illness (the bends). They are lightweight, inflatable, and operate on air from a compressor. A major disadvantage of small portable chambers is that they are pressurized to only 3 ATAs, limiting their use.
Manufacturers also developed large transport hyperbaric chambers. Made of steel, they are heavier and sturdier than small, inflatable version. More than that, they can be pressurized to up to 6 ATAs, enabling them to treat a number of injuries and medical conditions.
How long does an mHBOT session last?
You can expect the entire session to last around 90 minutes, though the first session may take longer. Pressurizing and depressurizing the chamber takes about 15 minutes while the chamber is pressurized for about an hour.
How does the air in the hyperbaric chamber stay fresh?
Normal air is filtered and ventilated continuously through the chamber, to minimize any "stuffiness" during your session.
Quite. Hyperbaric chambers are well ventilated, and you can use a blanket if you feel cold. Most treatment centers will request that you avoid wearing scented perfumes or deodorants, and abstain from smoking before going in for your session out of consideration for fellow clients.
What can I do to prepare for my first hyperbaric therapy session?
Keep in mind that you may experience mild discomfort in your ears (as you would during the ascending part of a commercial flight). You may also feel fatigued after your first few sessions. This is normal and temporary. It's advisable to wear comfortable, loose clothing, as tight garments may contribute to a claustrophobic feeling. You might also want to bring some form of entertainment, like a book, a movie or a portable game, as the sessions typically last about 60 minutes.
Most are not, however, the sound of air compressors may help mask outside noise, much like soothing white noise.
Individuals find HBOT helpful for a variety of therapeutic uses, including anemia; brain abscess; bubbles of air in your blood vessels (arterial gas embolism); burns; decompression sickness; carbon monoxide poisoning; crushing injuries; sudden deafness; gangrene; infection of skin or bone that causes tissue death; non-healing wounds, such as a diabetic foot ulcer; radiation injury; skin graft or skin flap at risk of tissue death and vision loss.
Does my child need a prescription for mHBOT?
While you should inform your doctor if you're considering mHBOT as a treatment option for your child, many doctors are not familiar with the therapy and can express resistance to the program. However, this trend is falling by the wayside as positive results are reported.
Can mHBOT cure autism, cerebral palsy or other conditions?
While the answer depends greatly on the individual case, in most instances, a child has developed skills and abilities previously considered beyond the scope of possibility. We see frequent cases in which the child's and his or her caregiver's lives are improved after undergoing mHBOT.
Do I need an oxygen concentrator for my hyperbaric chamber to work?
Your hyperbaric chamber will function properly without an accompanying oxygen concentrator, but the decision to enrich your oxygen intake while receiving hyperbaric oxygen therapy is one that should be made between you and your doctor.
If your doctor prescribes an oxygen concentrator, you can increase the oxygen density inside your home hyperbaric chamber.
If you receive hyperbaric oxygen therapy at a hospital or clinical environment, it's likely that the hyperbaric chamber will be pumped with air from an oxygen tank stored outside the building, using 100% pure oxygen to pressurize the chamber to the prescribed psi.
Mild hyperbaric chambers for home use pressurize and inflate with ambient air, which contains 21% oxygen at sea level. While the amount of oxygen in your mild hyperbaric chamber will never reach 100%, you can use a prescribed oxygen concentrator to increase the oxygen percentage, density and saturation used in your treatment.
The FDA has approved mild hyperbaric chambers for certain uses under the condition that they're pressurized with ambient air, as described above.
Why would a doctor prescribe an oxygen concentrator?
Research has shown positive results using mHBOT for many conditions when the individual is treated with additional oxygen delivered via an oxygen concentrator. However, evidence suggests different protocols are needed depending on the PSI and the oxygen concentrator.
I'm healthy. Can hyperbaric help me with my fitness and wellness goals?
Mild hyperbaric oxygen therapy is used by people from all walks of life - including professional athletes and mountain climbers, who find hyperbaric oxygenation helps with sports recovery and prevents muscle fatigue and the buildup of lactic acid that causes soreness.
What are the most common uses for mild hyperbaric chambers?
Many people seek hyperbaric oxygen therapy for off-label uses (that is, uses that are not cleared by the FDA) in both adults and children.
Children: Developmental disorders such as cerebral palsy, anoxic brain injury, traumatic brain injury, autism spectrum disorder and general autoimmune disorders.
Adults: Oxidative stress, sports injuries & sports recovery (fatigue and soreness), autoimmune disorders, stroke, nonhealing diabetic wounds and peripheral vascular disease.
Yes! Very few safety complications have ever been reported, and many visitors to hyperbaric centers report only mild discomfort, similar to the ear pressure you feel in an ascending or descending airplane. This kind of discomfort can be minimized by altering the pressure inside the chamber at a slower rate. Discuss any concerns you might have with your treating physician or a hyperbaric technician.
Is hyperbaric therapy safe for the elderly?
Yes. Hyperbaric therapy can be very beneficial in your golden years, even contributing to reducing the signs of aging. New research indicates hyperbaric oxygenation slows Apoptosis, or cell death, that ages us.
No, mHBOT is painless and noninvasive. As long as you can handle the air pressure change normally experienced on a commercial aircraft, you can tolerate mHBOT. Severely claustrophobic people may have some difficulty, but your hyperbaric technician can teach you techniques to relieve pressure and alleviate any discomfort.
What are the side effects of HBOT?
Some clients report vision changes after long-term treatments, but visual acuity returns to normal within three to four months after ending treatment. However, there is a chance that HBOT could contribute to the worsening of cataracts.
Is there any reason someone should not use a hyperbaric chamber?
Do not enter a hyperbaric chamber if you're under the influence of intoxicants, if you have ear canal problems or an ear infection, or if you're experiencing symptoms of a cold or influenza. It's also a good idea to refrain from wearing strongly scented perfumes or other products out of consideration for the next user.
Can I legally use an oxygen concentrator with a mild hyperbaric chamber?
Since oxygen is considered a drug by the FDA, oxygen must be prescribed by an MD, DO or DDS in the United States. Therefore, an oxygen concentrator should only be used when it's prescribed by your physician. It's the patient's responsibility to obtain a prescription and seek consultation for their mild HBOT treatment protocol.


text:
Q: Data Retrieval in Wrong Columns of DataGridView in C# While retrieving the data from database it shows it in wrong grid view columns and even some are empty and also the data is shown in wrong columns.
I tried checking everything and didn't find any solution, I pasted some of my code here:
Note: I am using xampp database for testing purposes.
Here is a screen shot of the problem:

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        gradeView3Intializer();

    }
    //ADD TO GDVIEW:
    private void populate3(string staffNo, string fName, string lName, string position, string sex, string dob, string salary, string branchNo)
    {
        dataGridView3.Rows.Add(staffNo, fName, lName, position, sex, dob, salary, branchNo);
    }

    //Retrive Function
    private void retrieve3()
    {
        dataGridView3.Rows.Clear();

        string sql = "SELECT * FROM staff;";
        cmd = new MySqlCommand(sql, con);

        try
        {
            con.Open();

            adapter = new MySqlDataAdapter(cmd);
            adapter.Fill(dt);

            //Loop through dt
            foreach (DataRow row in dt.Rows)
            {
                populate3(row[0].ToString(), row[1].ToString(), row[2].ToString(), row[3].ToString(), row[4].ToString(), row[5].ToString(), row[6].ToString(), row[7].ToString());
            }

            con.Close();

            //Clear DT
            dt.Rows.Clear();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, "Notice");
            con.Close();
        }
    }

    //Intializing GradView with Rows
    private void gradeView3Intializer()
    {
        dataGridView3.ColumnCount = 8;

        dataGridView3.Columns[0].Name = "Staff No";
        dataGridView3.Columns[1].Name = "First Name";
        dataGridView3.Columns[2].Name = "Last Name";
        dataGridView3.Columns[3].Name = "Position";
        dataGridView3.Columns[4].Name = "SEX";
        dataGridView3.Columns[5].Name = "DOB";
        dataGridView3.Columns[6].Name = "Salary";
        dataGridView3.Columns[7].Name = "Branch No";

        dataGridView3.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;

        // Selection Mode:

        dataGridView3.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
        dataGridView3.MultiSelect = false;
    }

    private void btnUpdate3_Click(object sender, EventArgs e)
    {
        try
        {
            string selected = dataGridView3.SelectedRows[0].Cells[0].Value.ToString();
            update3(selected, textBox8.Text, textBox7.Text, textBox6.Text, textBox5.Text, textBox25.Text, textBox26.Text, textBox27.Text, textBox28.Text);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, "Notice");
        }
    }

    private void btnRetrive3_Click(object sender, EventArgs e)
    {
        retrieve3();
    }

    private void dataGridView3_MouseClick(object sender, MouseEventArgs e)
    {
        try
        {
            textBox8.Text = dataGridView3.SelectedRows[0].Cells[0].Value.ToString();
            textBox7.Text = dataGridView3.SelectedRows[0].Cells[1].Value.ToString();
            textBox6.Text = dataGridView3.SelectedRows[0].Cells[2].Value.ToString();
            textBox5.Text = dataGridView3.SelectedRows[0].Cells[3].Value.ToString();

            textBox25.Text = dataGridView3.SelectedRows[0].Cells[4].Value.ToString();
            textBox26.Text = dataGridView3.SelectedRows[0].Cells[5].Value.ToString();
            textBox27.Text = dataGridView3.SelectedRows[0].Cells[6].Value.ToString();
            textBox28.Text = dataGridView3.SelectedRows[0].Cells[7].Value.ToString();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message, "Notice");
        }
    }

A: Just a suggestion, in relation to:
string sql = "SELECT * FROM staff;";
Your code is relying on the the result fields being in the index positions you are expecting, but SELECT * will return data as per the database table structure, which may not match your expectation.
It is probably better to explicitly define the list of field names you want in your SQL statement. In the following example I can be confident in knowing exactly which positions my result fields are in, even if a column is moved in the underlying table structure.
string sql = "SELECT Field1, Field2, Field3 FROM staff;";

A: Finally after lots of struggles, I found a solution. I added:
dataGridView1.AutoGenerateColumns = true;
dataGridView2.AutoGenerateColumns = true;
dataGridView3.AutoGenerateColumns = true;

to each retrieve() functions of my code and defined a new DataTable for each of the table in database, here is the code:
// NEW DataTables for each Table in Database
DataTable dt = new DataTable();
DataTable dt2 = new DataTable();
DataTable dt3 = new DataTable();

So this solved the problem for me :)

redpajama_set_name: RedPajamaStackExchange


text:
Wandsworth Council approves new Embassy Gardens plan
Wandsworth Council approves new Embassy Gardens plan | Published 21st February, 2012 © Estates IT Limited
New flats to rent in Wandsworth could be created after the local council signed off on plans to develop a new business and residential area called Embassy Gardens.
To be situated in the Nine Elms regeneration zone, the development is being planned by property company Ballymore and would provide up to 1,982 new homes, as well as shops, cafes, restaurants and bars.
Also planned for Embassy Gardens are six acres of outdoor public space, a health centre, children's playgrounds and a 100-bed hotel, all situated in the vicinity of the new US embassy.
The proposals are expected to bring thousands of new jobs to the Wandsworth area.
Wandsworth Council's planning chairman Nick Cuff said: "Through the scheme's legal agreement we have ensured that Wandsworth residents directly benefit from the rising property values in Nine Elms."
This comes in the same week that the council announced plans to extend the Northern Line Tube route to Nine Elms, which could deliver between £1.6 billion and £7.9 billion in growth to the national economy.
Published 21st February, 2012
Email All Wandsworth Letting Agents
Plans for a new 15-acre residential and business development in the Nine Elms regeneration zone have been approved by Wandsworth Council.


Magnétika have audiovisual artistic solutions for your projects.
We make audiovisual installations, medium or large format, in order to promote events or celebrations.
The visual poetry is part of our grammar backbone and we use it to represent, transform, deform and develop our own audio-visual universes, made to be projected out of the common screen as an audio-visual fleeting graffiti. Magnétika tries to give light, color, form and textures to perspectives of buildings and other surfaces.
We adapt to the point of the event..
We hear your idea, we understand your concept and join it with our Visual technique, to create an original event.
Conceptual & original video installations. .
Own gallery content, 100% original.
Solutions art in decoration audiovisual.
Specific content: Record, edit and optimize the visual content that you need.
Own gallery content: or… you can choose among our wide Gallery visual with content 100% original.


From elegance to bold look, any look can be achieved using this versatile Choco Brown Granite. This is sure to add statement of class and style to spaces with its matchless appeal and design. With the ideal combination of high utility and low maintenance, this is sure to make interiors and exteriors of homes, offices and other places the best. Due to no cracking, chipping proof and erosion resistant design, this provides easy to cleaning properties. In addition to this, you can avail the product in varied specifications to match up with a range of applications and usages.


During the year at D2dance students who take classes in Ballet, Modern and Tap will learn a syllabus set out by The ISTD. There will then be the opportunity for students who are viewed ready by the teachers, to take an exam in their chosen subject. Exams are completely optional as all students will move up a Grade regardless of whether they took the exam or not. ISTD Exams are designed for those who wish to pursue a profession in dance or purely for those who think of dance as a fun activity.


We list the top Cooking Classes in or near Petroleum IN. You can make a great night out of a cooking course by making it a date – cooking classes are perfect for couples to bond and get the hang of each other while having fun over a glass of wine. Recreational cooking classes are easy going and are cost-effective for the value they produce. Classes are being filled up quickly, so get registered now!
If you are looking at cooking classes for professional development, visit our culinary schools section – The restaurant and food industry will continue to fuel U. S. employment in the year ahead as the nation's 2nd largest private sector employer. In 2014, restaurant revenue will reach a record of $683 billion, a 3.6% improvement over 2013. The restaurant industry will add jobs at a 2.8% pace increase in 2014, out-doing the 1.8% gain seen for the total U.S. employment.


text:
Cercospora moricola är en svampart som beskrevs av Cooke 1884. Cercospora moricola ingår i släktet Cercospora och familjen Mycosphaerellaceae.   Inga underarter finns listade i Catalogue of Life.

Källor

Sporsäcksvampar
moricola

redpajama_set_name: RedPajamaWikipedia


There are many beard trimmers out there that will leave a mess right after you are done shaving. It makes the men wish for a beard trimmer that will clean up the mess itself. In this way, a lot of time will be saved. There are many reasons why people choose trimmers over the typical razor. One of them is to save time. If they have to waste time cleaning the shavings, there is no point in purchasing something a razor can do.
The Philips Norelco Beard Trimmer 7300 is a machine that comes with fairly a few exclusive features. The most distinguished feature is the in-built vacuum that handles of all the wandering hairs without causing any untidiness. The internal dial is used for beard and hair cutting. There are two separate settings in the device, turbo power button and multifunctional display to aid users achieve the perfect cut with absolute comfort.
The shiny body of the device guarantees decent grip during usage, thus allowing users to achieve a clear and smooth cut all over. The user does not have to check the back side again and again to change the settings. The multipurpose display provides operators with all the data that they require. Also, altering the settings is a comparatively simple process.
An advantage of the machine is that it provides 18 protected length settings initially from 1 mm to 18 mm. The settings safeguards sample room for shaping, letting users to attempt different style and length with their beard. The best part is that the maintenance is not difficult. You do not need to sharpen the blades or oil them. A quick rinse is the only thing you have to do to maintain the beard trimmer's proper condition.
You can use the Philips Norelco Beard Trimmer 7300[Model no. QT4070/ 41], vacuum trimmer as a cordless device. It comes with variable length settings and helps you get the proper shave. You have to charge it for one hour and it will be operating for at least fifty minutes. That means, you can charge it once and you do not have to do it again in a week.
You can take it out with you or when you ae travelling out of city. It is safe because it will not turn on itself because of the ' travel lock' feature. There are many beard trimmers that broke quickly or within a year. The beard trimmer is not that vulnerable. It is well-built. The size lets you have a proper grip and control during usage. You will not lose balance.
There is a LCD screen at the base of the trimmer which delivers rudimentary information such as the length setting that you are using, battery percentage etc. The outline head attachment is a desirable point because it prevents the device from jerking one's face or skin.
As you can see that it is full of positives, you may want to purchase this. There is a small problem that it does not accompany a pouch unlike many beard trimmers that comes with the pouches inside the package. It is also not waterproof.


3D Printing Lighting – Advertise with Us!
Thank you for your interest to advertise with us, we highly appreciate your intentions!
Please contact our team to learn about the possibilities and discuss your custom offer!


text:
A Germanodactylus ("német ujjú") a pteroszauruszok rendjébe tartozó repülő őshüllők fosszilis neme, amely a késő jura korban élt. Fosszíliái Németországból, főleg a solnhofeni mészkőből kerültek elő. Jellegzetessége volt a feje tetején végigfutó, félig csontos taraj.

Megjelenése

A Germanodactylusok súlyra hollóméretű állatok voltak. A G. cristatus szárnyfesztávolsága 98 cm volt, koponyája pedig 13 cm hosszú. A G. rhamphastinus valamivel nagyobb volt, fesztávja 108 cm, feje pedig 21 cm-es.

A Germanodactylus fején tarajt viselt, amelynek volt egy csontos része (a koponya közepén végigfutó alacsony kiemelkedés) és egy lágyszövetes rész, amely több mint megkétszerezte a taraj magasságát. A G. rhamphastinus-nál a csontos kiemelkedés magasabb volt, mint a G. cristatus-nál. A lágyszövetes rész létét csak 2002-ben ismerte fel S. Christopher Bennett; feltehetően elszarusodott bőrszövetből állt. A Germanodactylus az első repülő őshüllő, amelyiknél sikerült bebizonyítani, hogy a taraj nem csak csontból állt, de feltehetően a többi pteroszaurusz fején is díszelegtek hasonló struktúrák. Az ismert fajok kozül a legkisebb taraja az Austriadactylus-nak volt, míg a legfejlettebb a Hamipterus-é és Tapejara-é. A Darwinopterus és a Cuspicephalus fején sajátos szerkezetű, rostos csontból álló kiemelkedést viselt.

Taxonómia
A Germanodactylus nem annyira specializált, mint a kréta pteroszauruszai és a csoporton belül többször átsorolták. A genus elnevezője, Jang Csung-tien külön családot is alkotott a részére. Bennett a genust a Pterodactylidae családba helyezte, Alexander W.A. Kellner is a Pterodactylusok rokonának vélte 2003-as filogenetikai könyvében. David M. Unwin a Dsungaripteroideákkal rokonította őket; ez a család később kagylóevésre specializálódott.

Felfedezése

A G. cristatus első fosszíliáját 1892-ben találták a németországi Eichstättben, solnhofeni mészkőben. Leírását 1901-ben közölte Plieninger, aki Pterodactylus kochi-nak nevezte el. Mai fajnevét (cristatus, jelentése tarajos) Carl Wiman adta neki 1925-ben. 1964-ben Jang Csung-tien külön genusba helyezte a fajt. A G. ramphastinus-t már 1851-ben leírta Johann Andreas Wagner, mint az (azóta már elavult) Ornithocephalus nem egyik tagját. Fajneve a tukán görög nevéből (ramphastinos) származik. A fosszíliát ugyanebben az évben találták a német Daitingban. A Germanodactylus nembe Peter Wellnhofer sorolta 1970-ben.

Bennett 1996-ban felvetette, hogy a Germanodactylus a Pterodactylus fiatal formája lehet, de ezt az állítását később többen cáfolták (köztük saját maga is). 2006-ban újraértékelte a genust és mindkét faját megalapozottnak találta. A G. cristatus-nak négy fosszíliája ismert, közülük kettő fiatal példány; a G. rhamphastinus-nak két kövülete maradt fenn. Jellegzetes tulajdonságaik az állkapocs egészen hegyes vége, az erőteljes 4-5 premaxilláris és 8-12 maxilláris fog (külön a bal és jobb oldalon), amelyek mérete a Pterodactylus-tól eltérően nem növekszik az állkapocs csúcsa irányában; a fenestra antorbitalis (szemüreg előtti koponyanyílás) kétszer hosszabb a szemüregnél és más, arányokban mutatkozó különbségek. A G. cristatus és a G. rhampastinus közötti különbség, hogy az elsőnek nincsenek fogai az állkapocs csúcsán és általában kevesebb foga van (~13 a felső állkapocs mindkét oldalán, ~12 alul; szemben a G. rhamphastinus felül 16, alul 15 fogszámával.

Jegyzetek

Fordítás

Jura időszaki pteroszauruszok
Hüllőnemek
Solnhofen élővilága


text:
"As if a woman of education bought things because she wanted 'em."
English architect, writer
("The Relapse")
"I always take blushing either for a sign of guilt, or of ill breeding."
William Congreve
English writer (died near his birthday)
("The Way of the World")
"A crown is merely a hat that lets the rain in."
King Frederick II the Great
Prussian royalty
"It is not necessary to understand things in order to argue about them."
French polymath
("The Barber of Seville or the Useless Precaution")
"Mrs. Ballinger is one of the ladies who pursue Culture in bands, as though it were dangerous to meet it alone."
("The Age of Innocence")
"No comment. I saw her once at her very worst. I do not condone sadism."
Estelle Winwood
US actor , on Joan Crawford
"Marriage always demands the finest arts of insincerity possible between two human beings."
Vicki Baum
Austrian-US writer
("Grand Hotel")
"To end up with a canvas that is no less beautiful than the empty canvas is to begin with."
US artist , purpose
"I think we all have the urge to be a clown, whether we know it or not."
US actor
"Well, I can't figure out God."
US televangelist
"Clearly, then, the city is not a concrete jungle, it is a human zoo."
English zoologist, writer
("The Naked Ape")
"I think I need to be married. Having a wife and family makes some sense out of all that I do, because I can't make any sense out of 20,000 adoring fans watching me for two hours."
US singer, songwriter
"Sexiness is all in the eye of the beholder. I think it should be. Absolutely. My sex appeal, whatever it might be, isn't obvious... at least to me."
Sharon Tate
US actor (was married to Roman Polanski)
"I'm OK with it, but it'll be a drag if I don't make it till the next James Bond movie comes out."
US singer, songwriter , on his terminal lung cancer; he lived to see "Die Another Day"
"I never said I had no idea about most of the things you said I had no idea about."
Elliott Abrams
"I owe it all to little chocolate donuts."
US comic, actor (SNL)
"They don't have a page that broad."
US presidential girlfriend , on the prospect of Hillary Clinton baring her rear in a magazine
"I'm actually quite a decent chap, and the rest of the group are wankers."
English singer, songwriter (Squeeze), talk show host , on his bandmates
"Actors, after all, dream."
German actor (daughter of Klaus Kinski)
"I am ready to meet my Maker. Whether my Maker is prepared for the great ordeal of meeting me is another matter."
English Prime Minister (41) (son of Jennie Jerome Churchill)
("A History of the English-Speaking Peoples")
"Personally, I thought Curly was the greatest because he was a natural comedian who had no formal training. Whatever he did he made up on the spur of the moment."
US comic, actor, violinist, boxer (The Three Stooges)
"A person is either the effect of his environment or is able to have an effect upon his environment."
("Dianetics: The Modern Science of Mental Health")
"Sometimes history takes things into its own hands."
US Supreme Court Justice
"I distinguished myself by flunking out of college three times."
"In general we are least aware of what our minds do best."
Marvin Minsky
US computer scientist
("The Emotion Machine: Commonsense Thinking, Artificial Intelligence, and the Future of the Human Mind")


text:
Q: didEnterRegion event fired when out of beacon area When you are outside the area of the beacon, you sometimes enter didEnterRegion.
Sometimes not entering didEnterRegion when in beacon area.
This lasts a long time.
The terminal is Fujitsu arrows M03. Android ™ 6.0
You can get beacon information with didRangeBeaconsInRegion when you are in didEnterRegion.
The activity is used by the foreground service.
BeaconManager is used as a foreground in that service.
Screen is off. However, wakeLock is acquired in the service.
The beacon scan interval is 4 seconds. setForegroundBetweenScanPeriod (4000);
Monitoring is turned off / on at 10-second intervals.
never enter didExitRegion.
I think it is necessary to turn on monitoring for more than 10 seconds to enter.
Is it necessary to generate didExitRegion firmly?
Is it better not to turn monitoring ON / OFF every 10 seconds? Is ON always better?
Beacon detection settings
g_beaconManager = BeaconManager.getInstanceForApplication(this);
g_beaconManager.getBeaconParsers().add(new BeaconParser().setBeaconLayout("m:2-3=0215,i:4-19,i:20-21,i:22-23,p:24-24"));
g_beaconManager.bind(this);
g_beaconManager.setForegroundBetweenScanPeriod(4000);
g_region = new Region("iBeacon", null, null, null);

BeaconManager Services
@Override
public void onBeaconServiceConnect() {

    g_beaconManager.addMonitorNotifier(new MonitorNotifier() {
        public void didEnterRegion(Region region) {
            Log.d("Beacon", "didEnterRegion Success!!");

            if (g_beaconManager.getRangedRegions().size() == 0) {
                try {
                    g_beaconManager.startRangingBeaconsInRegion(g_region);
                } catch (RemoteException e) {
                    e.printStackTrace();
                }
            }
        }

        @Override
        public void didExitRegion(Region region) {
            Log.d("Beacon", "didExitRegion Success!!");

            if (g_beaconManager.getRangedRegions().size() != 0) {
                try {
                    g_beaconManager.stopRangingBeaconsInRegion(g_region);
                } catch (RemoteException e) {
                    e.printStackTrace();
                }
            }
        }

        @Override
        public void didDetermineStateForRegion(int i, Region region) {
            Log.d("Beacon", "didDetermineStateForRegion Success!!");

            if (g_beaconManager.getRangedRegions().size() == 0) {
                try {
                    g_beaconManager.startRangingBeaconsInRegion(g_region);
                } catch (RemoteException e) {
                    e.printStackTrace();
                }
            }
        }
    });

    try {
        g_beaconManager.startMonitoringBeaconsInRegion(g_region);
    } catch (RemoteException e) {
        e.printStackTrace();
    }

    g_beaconManager.addRangeNotifier(new RangeNotifier() {
        @Override
        public void didRangeBeaconsInRegion(Collection<Beacon> Beacons, Region region) {

            Beacon lBeacon_Most_Near_Distance = null;

            Log.d("Beacon" , "addRangeNotifier Success!!");

            for (Beacon beacon : Beacons) {

                if (lBeacon_Most_Near_Distance == null)
                {
                    lBeacon_Most_Near_Distance = beacon;
                }
                else
                {
                    if (lBeacon_Most_Near_Distance.getDistance() > beacon.getDistance())
                    {
                        lBeacon_Most_Near_Distance = beacon;
                    }
                }
            }
        }
    });
}

Monitoring OFF / ON every 10 seconds
try {
    if (g_beaconManager.getRangedRegions().size() != 0) {
        g_beaconManager.stopRangingBeaconsInRegion(g_region);
    }

    if (g_beaconManager.getMonitoredRegions().size() != 0) {
        g_beaconManager.stopMonitoringBeaconsInRegion(g_region);
    } else {
        g_beaconManager.startMonitoringBeaconsInRegion(g_region);
    }
} catch (RemoteException e) {
    e.printStackTrace();
}

A: The library determines it has exited a region by not seeing any visible beacon packets for 10 seconds.  This constant can be overridden to any value you want by calling BeaconManager.setRegionExitPeriod(15000); // change to 15 seconds  If you don't let monitoring run for this long, you won't get any region exit events.
The library is designed for you to turn on monitoring and leave it on for an extended period of time.  Turning it off after such a short period is asking for trouble, not just with region exits, but by starting and stopping scanning frequently, which is an intensive operation that can lead the Android OS to block future scans.

A: Thank you for your answer.
I want you to tell me another
startMonitoringBeaconsInRegion or startRangingBeaconsInRegion
It better to do removeAllMonitorNotifiers or removeAllRangeNotifiers just before doing?
Also after stopping.
In the sample code, it is done only when connecting the service.
https://altbeacon.github.io/android-beacon-library/samples.html
The program to which this is applied is as follows.
@Override
public void onBeaconServiceConnect() {

    g_beaconManager.removeAllMonitorNotifiers();
    g_beaconManager.removeAllRangeNotifiers();

    g_beaconManager.addMonitorNotifier(new MonitorNotifier() {
        public void didEnterRegion(Region region) {
            Log.d("Beacon", "didEnterRegion Success!!");

            if (g_beaconManager.getRangedRegions().size() == 0) {
                try {
                    g_beaconManager.removeAllRangeNotifiers();
                    g_beaconManager.startRangingBeaconsInRegion(g_region);
                } catch (RemoteException e) {
                    e.printStackTrace();
                }
            }
        }

        @Override
        public void didExitRegion(Region region) {
            Log.d("Beacon", "didExitRegion Success!!");

            if (g_beaconManager.getRangedRegions().size() != 0) {
                try {
                    g_beaconManager.stopRangingBeaconsInRegion(g_region);
                    g_beaconManager.removeAllRangeNotifiers();
                } catch (RemoteException e) {
                    e.printStackTrace();
                }
            }
        }

        @Override
        public void didDetermineStateForRegion(int i, Region region) {
            Log.d("Beacon", "didDetermineStateForRegion Success!!");

            if (g_beaconManager.getRangedRegions().size() == 0) {
                try {
                    g_beaconManager.removeAllRangeNotifiers();
                    g_beaconManager.startRangingBeaconsInRegion(g_region);
                } catch (RemoteException e) {
                    e.printStackTrace();
                }
            }
        }
    });

    try {
        g_beaconManager.startMonitoringBeaconsInRegion(g_region);
    } catch (RemoteException e) {
        e.printStackTrace();
    }

    g_beaconManager.addRangeNotifier(new RangeNotifier() {
        @Override
        public void didRangeBeaconsInRegion(Collection<Beacon> Beacons, Region region) {

            Beacon lBeacon_Most_Near_Distance = null;

            Log.d("Beacon" , "addRangeNotifier Success!!");

            for (Beacon beacon : Beacons) {

                if (lBeacon_Most_Near_Distance == null)
                {
                    lBeacon_Most_Near_Distance = beacon;
                }
                else
                {
                    if (lBeacon_Most_Near_Distance.getDistance() > beacon.getDistance())
                    {
                        lBeacon_Most_Near_Distance = beacon;
                    }
                }
            }
        }
    });
}


text:
US approves social media checks for visa applicants
The Trump administration has unveiled a new questionnaire for U.S. visa applicants that asks for social media handles from the last five years, Reuters reported Thursday.
The Office of Management and Budget (OMB) approved the new measures — which also request applicants' biographical information for the last 15 years — on May 23, the report said.
Consular officials can now request all prior passport numbers, five years of social media handles, email addresses and phone numbers from applicants, as well as addresses, employment and travel history stretching back 15 years.
Reuters reported that the OMB granted emergency approval for the new questions for six months rather than the usual three years.
The new questions are reportedly voluntary, but the form says that failure to provide the information may delay or prevent the processing of an individual visa application.
Critics argue that the new questions are overly burdensome, could produce long delays in applicant processing and may discourage foreigners from applying for visas.
The Trump administration late Thursday asked the Supreme Court to consider a judge's block on its travel ban that would temporarily bar citizens from six Muslim-majority nations from entering the U.S.
President Trump repeatedly pledged to improve U.S. border and national security during his 2016 campaign.
source: The Hill
Museveni vows to use his good intelligence to sought out criminals infiltrating police
South Africa allegedly asks Uganda security to confirm Ivan Ssemwanga's death
Uganda Cup: Vipers, Soana qualify for round of 16 as record winners Express bow out
MP in China sentenced to death for bribery and corruption
12th October 2016 at 11:52


Verse 1-7 — There is that pleasantness in the converse of servants of God, which can make those who listen to them forget the pain and the weariness of labour. Even the sons of the prophets must not be unwilling to labour. Let no man think an honest employment a burden or a disgrace. And labour of the head, is as hard, and very often harder, than labour with the hands. We ought to be careful of that which is borrowed, as of our own, because we must do as we would be done by. This man was so respecting the axe-head. And to those who have an honest mind, the sorest grievance of poverty is, not so much their own want and disgrace, as being rendered unable to pay just debts. But the Lord cares for his people in their smallest concerns. And God's grace can thus raise the stony iron heart, which is sunk into the mud of this world, and raise up affections, naturally earthly.
Verse 8-12 — The king of Israel regarded the warnings Elisha gave him, of danger from the Syrians, but would not heed the warnings of danger from his sins. Such warnings are little heeded by most; they would save themselves from death, but will not from hell. Nothing that is done, said, or thought, by any person, in any place, at any time, is out of God's knowledge.
Verse 13-23 — What Elisha said to his servant is spoken to all the faithful servants of God, when without are fightings, and within are fears. Fear not, with that fear which has torment and amazement; for they that are with us, to protect us, are more than they that are against us, to destroy us. The eyes of his body were open, and with them he saw the danger. Lord, open the eyes of our faith, that with them we may see thy protecting hand. The clearer sight we have of the sovereignty and power of Heaven, the less we shall fear the troubles of earth. Satan, the god of this world, blinds men's eyes, and so deludes them unto their own ruin; but when God enlightens their eyes, they see themselves in the midst of their enemies, captives to Satan, and in danger of hell, though, before, they thought their condition good. When Elisha had the Syrians at his mercy, he made it appear that he was influenced by Divine goodness as well as Divine power. Let us not be overcome of evil, but overcome evil with good. The Syrians saw it was to no purpose to try to assault so great and so good a man.


text:
Q: Is there a way to be notified in the fullcalendar vue component when someone switches views? I'm using the fullcalendar vue component with the resource-timeline and I can't seem to find a way to be notified when a user switches between views.
I'm sure it's super simple, but the docs are't too great for the vue component.  Many thanks for any assistance.


Kaley Cuoco Gives Health Update After Shoulder Surgery: "Ice Is My Best Friend"
Kaley Cuoco is maintaining her sense of humor as she continues her recovery after shoulder surgery.
The 32-year-old Big Bang Theory actress underwent the scheduled procedure done several days after her June 30 wedding to fellow equestrian Karl Cook. He is taking care of her at home, making her snacks, making sure she's comfortable and even helping her style her hair.
"Day 3 in the same shirt," Cuoco said in a video posted on Instagram Stories on Saturday. "Braids are hanging in. Karl might have to redo them. Could write a sitcom around his hairstyles."
She also wrote on the video, "Ice is my best friend."
And speaking of best friends, Cuoco is also getting some love from the pair's dogs. She posted a video of their little pup Ruby sitting on her lap.
"Ruby living her best life 'cause her mom is immobile," Cuoco said. "Ruby is this the best time in your life? She has never been happier."


Had you been following the news on the Connectix and Bleem! cases, you will find the insights of the dissertation particularly interesting.
You may download and host this file in your site without obtaining a permission, but it would be nice to send me an email at takis@emuunlim.com just to let me know and keep track. Questions, suggestions and objections should also be addressed at the same mail. You may not copy, publish, translate, transform or exploit in any sense, commercially or otherwise, parts or the entirety of this document without my express written in paper consent or by acknowledging the source if it is for reference purposes, nor should you change this file in any way.


text:
Q: How convert html or URL output of Scala to JSON val url = "http://api.hostip.info/get_json.php?ip=12.215.42.19"
val result = scala.io.Source.fromURL(url).mkString
println(result)

This gives me the complete HTML page. I want to access individual html elements of this web-page now to do some data analysis. In C# we did it using DYNAMIC variable and then putting html data into some class (json object).
How can we format this URL result to some classes for analysis?
Problem is to download HTML URL page, access its individual elements through Scala code.

A: Give a look to scala-scraper: https://github.com/ruippeixotog/scala-scraper


In my house, Santa brings the presents under the tree. Kevin and I fill the stockings. My kids open the gifts from Santa first, and save the Stockings for last. That's a great deal of pressure to put on a weary mother. I thought I would share what some of our favorite stocking stuffers have been, and one's that I have researched for your blogging pleasure!
1. Movies and DVDs – It started with Disney Movies sticking out the top…and now it's Wii Games, Twilight Movies, and Madden 2011. Season 8 of 24 would be a perfect stocking stuffer for Moi.
2. Gift Cards – iTunes; Visa; Target; Nordstrom…fits perfectly into a stocking…a miniature stocking stuffed with multiple gift cards will make a great hit! Utilize a blank CD jacket by tucking in a music store gift card or iTunes gift card. Purchase a very inexpensive wallet and slip a gift card or two into the billfold section.
3. Lip Gloss/Lip Balm – Bonnie Bell Lip Balm…or good ole chapstick! Chicago winters require this.
4. ornaments hanging from the stocking – the kids always get an ornament that's reminiscent of the year.
6. Mini handheld games – my brothers use to spend hours playing this Mattel Football game…which Patrick received in the stocking several years back as well.
7. Playing cards – Z Gallerie has Great playing cards. I gave my friend Cathy some Barbie playing cards that were a scream! You forget how much fun card playing can be, till you lose yourself in an evening of Kings in the Corner!
8. Little books – Life's Little Instruction books fit perfectly into the stockings.
9. Candy – my favorite candy in the world is Pink Ladies from Fannie May…Coconut dipped in Pink Chocolate. Doesn't get any better than that! And you can get small boxes of 4 pieces.
10. Sporting Tickets – Go Bears!
11. Socks – a sock in a sock.
12. Mini tools – the high heel shoe opener or the high heel hammer (abernook.com) , fit perfectly into stockings.
13. Cologne – purse or small little bottles of something that smells fabulous…Amazing Grace by Philosophy is my personal favorite…and some of my dearest friends love it too!
13. Jewelry – anything will do. Girls are not picky…and these match my Tiffany snowflake necklace! What luck!
Previous Tis the Season for Tipping! Ho Ho Ho!!
First of all, too many of your friends sleep late Terry! I'm always the early bird commenter. Fab ideas here, as usual (a sock in a sock). Was looking for an extra gift for mother in law…Amazing Grace it is (love the name), maybe some for me, too. Great inspiration. Thanks for all your tips and giggles this year. Merry Christmas!
I'm calling my mom and dad and asking them why we've never had our stockings filled. So many people have filled stockings and it's never been a tradition for us. I think after reading this…it's time for a new tradition. I have two days to fill five stockings but I believe I can do it!
I'm also a big fan of Philosophy scents, especially Pure Grace, but it just doesn't last on me. Any tips? And yes, I did layer body lotion and the parfum. Merry Christmas to you and yours!
Kate, because you are used to the scent, you may no longer smell it, as others do. Ask Eric if he can still smell it. They say to "layer", so use bath gel, lotion, and cologne. Perfume lasts longer then cologne, but not sure Philosophy makes an actual perfume. They also say to put on the cologne right after a shower or bath, when your pores are open, and it will absorb into your skin.
Will you fill stocking? Merry Christmas to one and all!
Hello Dear Ms.O'Brien, I love your website, you have such amazing ideas! thank you.
Where did you find the polka dot and star stockings? I absolutely them!
Or you can also purchase DIY Christmas Stocking Kits – Felt. You can glue on the circles and pom poms. The stars/snow flakes would be trickier, but could absolutely be done.


text:
Rice expert available to discuss possible compromise on border security
Amy McCaig
– February 13, 2019Posted in: News Releases
EXPERT ALERT
amym@rice.edu
HOUSTON – (Feb. 13, 2019) – As the clock counts down toward another government shutdown, President Donald Trump reportedly may compromise on a border security deal. Rice University political scientist Paul Brace is available to comment on the situation.
Paul Brace. Photo by Jeff Fitlow/Rice University.
An agreement must be reached by the end of Friday between the House of Representatives and the Senate — and signed by the president — to avoid a partial shutdown beginning on Saturday.
"As the last shutdown taught us, another government shutdown would be bad — and not just for the finances of hundreds of thousands of federal workers and contractors," said Brace, the Clarence L. Carter Professor of Political Science in Rice's School of Social Sciences.
Although media reports suggest Trump will approve the proposed deal, he is also reportedly still weighing his funding options for building a wall along the U.S.-Mexico border.
"As it stands, the President may sign a bill that is less favorable to him than the legislation he rejected in December, signaling a defeat for the president," Brace said. "He may now be forced to augment these funds by scavenging from other sources through executive actions. This could include declaring a national emergency, which will inevitably end up in the courts."
Brace is widely published in the areas of U.S. politics and judicial decision-making. He comments regularly on presidential politics, the judiciary and the U.S. government. For more information on Brace, visit http://www.ruf.rice.edu/~pbrace/. To schedule an interview, contact him directly at 832-628-5285.
This news release can be found online at http://news.rice.edu.
Paul Brace bio: https://politicalscience.rice.edu/paul-brace
Paul Brace headshot: https://news.rice.edu/files/2019/02/190204_-Brace_fitlow_029-1exe76e.jpg
Photo credit: Rice University
Located on a 300-acre forested campus in Houston, Rice University is consistently ranked among the nation's top 20 universities by U.S. News & World Report. Rice has highly respected schools of Architecture, Business, Continuing Studies, Engineering, Humanities, Music, Natural Sciences and Social Sciences and is home to the Baker Institute for Public Policy. With 3,962 undergraduates and 3,027 graduate students, Rice's undergraduate student-to-faculty ratio is just under 6-to-1. Its residential college system builds close-knit communities and lifelong friendships, just one reason why Rice is ranked No. 1 for lots of race/class interaction and No. 2 for quality of life by the Princeton Review. Rice is also rated as a best value among private universities by Kiplinger's Personal Finance. To read "What they're saying about Rice," go to http://tinyurl.com/RiceUniversityoverview.
Tags: Political Science, Social Sciences
About Amy McCaig
Amy is a senior media relations specialist in Rice University's Office of Public Affairs.


The Wyoming Oil and Gas Conservation Commission was host of the Region 8 UIC Manager's Meeting. Attendees are made up of Underground Injection Control (UIC) program managers and staff from EPA Region 8 and the region 8 states. The annual meetings discuss issues and topics related to UIC within the region as wells as receiving an update from each program on activity over the past year.
This year, there were 25 participants in the three day session, which included staff from WOGCC and DEQ, and representation from North Dakota and Fort Peck, Colorado, Utah, South Dakota and Montana as well as the EPA Region 8 offices in Denver, CO.
During each meeting the organizing state tries to include outside speakers to present on interesting topics that are related to UIC. Sarah Young, Director of Public Affairs and Communications for the Wyoming Infrastructure Authority spoke on Wyoming's Integrated Test Center and the Carbon XPrize. Kipp Coddington, Director of Energy Policy & Economics and the Carbon Management Institute at the University of Wyoming's School of Energy Resources focused on Wyoming's plans for storing CO2 into the subsurface including both EOR and saline formations while Dr. Benjamin Cook from Wyoming's Enhanced Oil Recovery Institute presented on the state's CO2 demand and economics.
The last day of the session usually incorporates a field tour somewhere in the hosting state that pertains to UIC programs. Aethon Energy graciously hosted the group on a tour of their reverse osmosis plant and their Marlin injection well in the Moneta Divide. The tour wrapped up with a visit to Castle Gardens and its unique petroglyphs and ended a very successful event.


The Department has prepared a draft permit and has made a tentative determination to issue a modification to the Air State Facility permit for Fishkill Downstate Correctional Facility.
This modification serves to add three 17.57 MMBtu/hr, natural gas-fired Unilux boilers to the permit. These boilers will be located in the Downstate powerhouse, each with a separate stack. VOC emissions from the spray booths have also been limited to 2.5 tpy in order to cap out of 6 NYCRR Part 228.
The Fishkill Downstate Correctional Facility is located in Dutchess County, NY. Two separate boiler plants are used to meet the heating needs of the two campuses. The Fishkill powerhouse contains four 55 MMBtu/hr boilers firing natural gas and No. 6 fuel oil. The Downstate powerhouse is in the process of adding three 17.57 MMBtu/hr, natural gas-fired boilers. Until this boiler project for the Downstate facility is completed, one 34 MMBtu/hr, No. 2 oil-fired boiler remains on site (since 2014) providing steam to the Downstate facility as necessary. Additional facility sources include two paint spray booths, four diesel generators in the Coordinated Demand Response Program and three diesel generators used strictly for emergency purposes.
The facility is subject to requirements under 6 NYCRR Parts 201, 211, 225, 227, and 40 CFR Parts 60 and 63.
By acceptance of this permit, the permittee agrees that the permit is contingent upon strict compliance with the ECL, all applicable regulations, the General Conditions specified and any Special Conditions included as part of this permit.
Persons wishing to inspect the subject files, including the application with all relevant supporting materials, the draft permit, and all other materials available to the DEC (the "permitting authority") that are relevant to this permitting decision should contact the DEC representative listed below. The Draft Permit may be viewed and printed from the Department web site at: http://www.dec.ny.gov/chemical/32249.html.
DEC will evaluate the application and the comments received on it to determine whether to hold a public hearing. Comments and requests for a legislative public hearing should be in writing and addressed to the Department representative listed below. A copy of the Department's permit hearing procedures is available upon request of on the Department website at: http://www.dec.ny.gov/permits/6234.html.
Comments on this project must be submitted in writing to the Contact Person no later than Nov 14, 2016.
The applicant has applied for an initial permit for the continued withdrawal of 750 gallons per minute of water from an on-site well for golf course irrigation. The facility has been in operation since at least 2011. No changes in current operations from recent years are proposed.
Comments on this project must be submitted in writing to the Contact Person no later than Oct 27, 2016.
The Town of North Castle proposes to disturb approximately 4,876 SF of NYS Freshwater Wetland K-29, Class 1, within the 100 foot adjacent area, for the constuction of a gravel access road, and repair and maintenance activities to the Dam that impounds Duck Pond (Tribs of Mianus River, Waters Index No. CT-4-16A-P1108M, Class AA-S). An 8 foot wide gravel acess road will be installed from Long Pond Road to the dam. Trees along the face of the dam will be flush cut; the existing concrete spillway walls will be repaired; and an eroded low area at the dam face will be filled.


text:
Medevac Bell 47
Graham Ashby | Mar 5, 2007
As many will already know, I'm a bit of a helicopter fan on the quiet and a sucker for anything that remotely resembles a scale job. The detail doesn't have to be minute but if the overall scale impression is good and a model's flown with some appreciation of the full-size, I can sit and watch for ages. No, really! Clever as it is, 3D helicopter flying does little to inspire me. Indeed, given the choice between watching a 90-size hot ship thrash its jolly old nuts off in Sustained Chaos or seeing a 30-size Bell 47 fly a sedate figure eight, I'm afraid the old whirlybird gets my vote every time. You see, I have a basic fascination with helicopter flight that needs no frills to keep me amused, and that, perhaps, is the reason I chose to sample this rather attractive little package from Model Engines (Australia).
To begin, let's discuss the advantages and disadvantages of the twin rotor design. Contra-rotating (coaxial) helicopters are particularly suited to beginners for two very important reasons: firstly, they offer greater stability in the hover and, secondly, they're more docile to operate.
For the budding novice who might end up frozen on the sticks wondering how to correct a rapidly deteriorating flight pattern, this inherent stability provides a second or two of valuable thinking time. It doesn't sound much but every second counts in the learning game and often that's all you need to realise what's going wrong and correct the mistake before the model hovers uncontrollably into a curtain, chair, lampshade or other unforgiving household feature. Now that's a pretty important asset for learners, but there's more! The twin rotor set-up also eliminates the torque effect that, on a conventional helicopter, has a tendency to spin the fuselage in the opposite direction to the rotor disk. Ordinarily, of course, this would be counteracted by a tail rotor using a regular tail drive and pitch change mechanism. However, on something as small as the Twister Medevac the mechanics would be fiddly, difficult to manufacture and highly prone to damage. So, the advantages are clear but, as you might have guessed, there's a trade-off and in this case it comes in the form of appearance (real Bell 47s don't have contra-rotating blades) and the helicopter's behaviour in forward flight, which we'll discuss later.
BETTER BY DESIGN
The Mk.1 Bell 47 had a few shortcomings and whilst these were generally minor, it's interesting to see how this latest version has been improved. First and foremost, I guess, there's the obvious fact that the model now looks far more realistic than the early version. Starting at the front, the two-piece vacuum-formed canopy has been replaced with a one-piece bubble that's glued to a plastic rear cockpit moulding and floor pan. The flimsy vac-moulded original always seemed a bit of an afterthought, especially with the very distasteful centre joint that, inevitably, was smeared with glue.
Further cosmetic enhancements are evident in the form of stretchers mounted atop the skids, a more convincing undercarriage detail with dummy 'walkie' wheels, a painted scale-effect tail rotor and re-shaped fuel tanks. Most significant of all, though least noticeable perhaps, is that the mechanics of the new one have been redesigned. Again, the reason for this is purely cosmetic and with the twin motors now mounted side-by-side directly behind the canopy, the overall fuselage width has been reduced to echo that of the full-size. The two cyclic servos, incidentally, have been positioned behind the mainshaft in an easily accessible and much tidier configuration. Finally, the last discernible innovation is a purpose-made underslung battery cradle that replaces the rather hit-and-miss banded version of before. This should (but doesn't quite) locate the Li-Po in the right place to achieve the desired C of G - more later!
In all, the various tweaks make this a very cute and attractive representation of a US Army Bell 47 Medevac helicopter of the type flown by M.A.S.H. (Mobile Army Surgical Hospital) units and, of course, featured in the popular TV series - cue Suicide is Painless and hum quietly to yourself for the remainder of this article! Anyway, as Bell 47s go this is the version that most enthusiasts will relate to and, for the general public, it's probably one of the few helicopters with which most can identify. Clearly, converting the existing, rather inconspicuous, Twister into a Medivac '47 was a very shrewd, yet seemingly obvious move that's sure to pay off. Medevacs will doubtless find their way into the homes of existing owners who want to treat themselves to an upgrade, whilst also titillating the hordes of people out there who've always fancied a model helicopter but have never quite had the time or motivation to learn the hard way.
FULLY COMPREHENSIVE
Okay, we've established that the concept is a good'un, but what exactly does the Medevac package contain? Well, in a word: everything! Yes folks, you'll not be left wanting if you buy this package for it's all in the box. Beautifully packed so that it reaches you in tip-top condition, you'll find:
A fully assembled model Bell 47
A pair of clip-on stretchers
35MHz transmitter
Eight AA batteries (for the above)
A 7.4V 800mAh Li-Po battery
A Li-Po battery charger / balancer
Mains power supply
Four spare rotor blades
Introductory DVD covering assembly and flight tuition
Printed assembly and flight training guide
Preparing the helicopter for action involves simply clipping the flybar and stretchers in place, charging the Li-Po and installing the batteries in the transmitter. The charger supplied is specifically designed for the 2-cell Li-Po pack and, running from either the mains or a 12V lead-acid type battery it'll charge the cells in just over the hour. A further improvement worth noting is the fact that the Li-Po pack is now automatically balanced during charging. Here each cell is charged to within a very tight tolerance in order that it can reach its fullest safe voltage. Given that accidents and fires have occurred as a result of unbalanced Li-Po charging the system is not only welcome but, arguably, essential.
PILOTS' NOTES
As you can see from the photos we took delivery of both the Army and Navy versions and in each case getting the little model airborne was remarkably uneventful. Having two choppers proved quite interesting in as much as both needed almost identical amounts of trim in order to maintain a relatively hands-off hover. I say relatively as in both cases full right rudder, full rear cyclic and three-quarters of the available left cyclic was required to stop them wandering off. Even then both needed a small amount of pressure on the rudder stick to keep the tail in line. As it happens this latter point can be dealt with very easily by adjusting the 'yaw trimmer' potentiometer on the 4 in 1 mixer unit that's housed in the cockpit. Labelled 'proportional' and located to the right of the gyro gain pot' you'll need to turn it clockwise to trim the nose back to the left and centre the trim accordingly. When I get a minute I plan to address the cyclic problem by altering the pushrod lengths (they're adjustable in the usual way) and shifting the battery carrier very slightly forward. Once airborne and trimmed this is a stable little machine and very docile in comparison to any single rotor indoor job I've ever flown. As a regular Sunday morning i.c. chopper jockey I'm rather embarrassed to admit that I had a bit of trouble at first with what seemed like a total lack of response from the controls, the heli' wandering a little before I realised the amount of input required to keep her still. However, I soon got the measure of it and thereafter began to relax and thoroughly enjoy the coaxial experience once again. As a matter of interest I swapped my first Twister Bell for an ARTF warbird shortly after reviewing it and have often regretted the decision, particularly on the occasion of a recent school talk to a hall full of eight year olds. They'd have loved it. Oh well...
Test flying took place here in the office, starting with a photography session for the front cover and continuing with various lunchtime and evening sessions in which I eventually mustered the courage to pilot my little heli' over and around all manner of modern workplace obstacles: plants, desks, filing trays, etc. Finally, having flown the heli' on half-a-dozen occasions I bit the bullet and sent it from one end of our open-plan office to the other (and back again), navigating the narrow 'corridor' between computer screens and the polystyrene suspended ceiling. With a gentle turn at each end I soon had some very rewarding circuits going and, truly, I didn't want to stop. Landing every so often on a bookcase or cabinet, then rising into the air, blowing paper everywhere (oops!), and continuing on its way the little Bell looked a real treat and prompted many 'oohs' and 'aahs' from one's somewhat distracted colleagues.
Now in truth, twin rotor helis are not ideally suited to circuit work. Whilst they're superbly stable hovering machines, when you push the nose down they fight to return to the hover and you need to really work the cyclic to keep the forward speed constant and progressive. As such, and unless you have bags of space, flat rudder-induced turns are the order of the day. Rudder authority, incidentally, is very positive and she displays no discernible torque-induced yaw when rapidly throttling up or down.
After eight flights - to cycle the Li-Po a bit and let things bed in - I timed a full hovering flight at a gnat's whisker under nine minutes. Not quite the ten-to-fifteen suggested but very respectable and plenty enough for a beginner to learn something with each go and build on their experience. If you plan to use one of these as a learning tool, buy an extra battery and charge them both up for a session. Moreover, if you run the model continuously using more than one flight pack it might be worth considering the optional aluminium heat-sink upgrade that straddles the top of the motors. The little brushed one-eighties are certainly pretty hot after a flight.
CONLUSION
For the raw beginner, the Twister Bell 47 Medevac is perfect - it's cheap, robust, relatively easy to fly and very forgiving of the mistakes that new pilots tend to make. Moreover, the package comes with a foolproof DVD that guides the owner from opening the box, to setting up and, finally, flying.
Compared to the earlier Twister Bell this new job is prettier, more refined and an altogether better package. For what it is, it's a cracking product that's sure to encourage many people to try their hand at helicopter flying whilst providing a good deal of light relief to those who have already mastered the art. My considered opinion is that they'll sell like hot cakes. Go and buy one without hesitation.