text:
Finding the poetry, Michael Hulse
Posted on February 27, 2014 by NZ Books
Sarah Broom
Auckland University Press, $25.00,
The Baker's Thumbprint
Paula Green
Seraph Press, $25.00,
Family Songbook
Victoria University Press, $25.00,
Louise Wallace
The sad story of Sarah Broom has already entered into the canon of contemporary poetry's mythologies. In her mid-30s, in the late stages of pregnancy, she was diagnosed with cancer and given months to live. That was in early 2008. The daughter, her third child, was born safely; Broom herself survived for more than five years beyond the diagnosis, and died in Auckland in April 2013. Her first collection of poems, Tigers at Awhitu, marked in its pages the fearful watershed of the diagnosis, and was well received both in New Zealand and in the UK: W N Herbert's phrase, "the fragile sanctuary of the imagination", catching with memorable delicacy the nature of the space all of us occupy – whatever happens in our mind and spirit has but a frail and relative tenure, and is contingent on the physical realities that the body faces.
Gleam, published posthumously, must necessarily be read in the light of what we know of Broom's end. In the obituary that appeared on the website of Broom's UK publishers, Carcanet, her Irish friend, Selina Guinness (author of an applauded memoir), wrote that Gleam, which she had seen pre-publication, "contains some of the most beautiful and startling poems about dying I have ever read", and singled out for quotation these closing lines from "vigil":
and when I walked out last night
it was cold, the coldest night this winter,
and when the stars asked me to join them
in the sting of their bareness, I let them
take me, and they carried me between them,
clusters of stars all along my body, and I
right back and pointed my toes and fingertips
and was as long as ever you could imagine,
and they did not let me go
Guinness is right. In lines such as these, Broom achieved an arresting and starkly simple beauty. How like naivety the phrasing of that dark invitation is! – "the stars asked me to join them / in the sting of their bareness" – and yet how rich in knowledge: knowledge of the sting that is death, knowledge of the nakedness in which we all go into the dark, knowledge, too, of the vast emptiness that the stars stand for.
There are other passages in Gleam where Broom achieves a comparable power:
I look for that place
where breath becomes so light it vanishes,
pulls away like a small plane turning steeply
and heading up, straight up,
fishbone thin in a thin blue sky
then gone.
Or, in a poem that includes an explicit variation on John 3:8 ("The wind bloweth where it listeth"):
and though every cell
of my newly bare bones
cried out for protection
I wanted that wind
it comes and goes
as it pleases.
She became aware, with a fierceness resembling passion, of the materiality of the body, and the fact that it would rejoin the material world; and her meditations on body and spirit took her to a primal, pared-back vocabulary of wind and water, sea and moon, body and bones, and the different kinds of leave-taking. It would be wrong to claim that everything in Gleam is genuinely interesting as poetry, but Broom's journey possesses a universal existential meaning: "so is every one that is born of the Spirit", as John put it.
I mean no disrespect to Broom's memory if I say that, as readers, we must face up to the fact that this is poetry that depends very heavily for its impact on our knowledge of the poet – and, what's more, since Broom lived with her diagnosis for several years, it is poetry that was written in the knowledge that we would be reading with that knowledge. Much of the vast body of poetry written out of terminal illness is both conceived and received in this way, in the confidence that the person of the writer is at the centre of attention. Now that we have wearied of pointing to the sublimity of Nature (eco-poetry has substituted a different language of response), and now that the juxtaposition of "poetry" and "pity" no longer seems a complete response to the extremis of the self in war, illness and dying have become the principal site of the Romantic ego.
Paula Green looks, at first glance, as if she isn't especially interested in the Romantic ego, since Plato, Copernicus, Einstein, Florence Nightingale, Simone de Beauvoir, Mick Jagger and others stroll in and out of her poems as if conspiring to prove that the self is no more than an assembly of personae. But, in fact, there's a good old-fashioned ego at work in The Baker's Thumbprint, and any use of the masks and costumes of multiple identities is chiefly for the party fun of dressing up, rather than for any engagement with philosophy, physics or nursing reform, just as any resemblance to the real Plato, Einstein, Florence Nightingale etcetera is purely coincidental. So we read: "I have warm jam sandwiches in my yellow lunchbox / homemade raspberry or plum, a soft apple and a little box of raisins." And "I think I have the moment in me / that I want to last like the instant the light / catches the hills to make them sharp …." Or, early in the book, this poem titled "Bethells Beach":
Sammy is eating sandwiches with me
at the lookout point.
He likes the combination of
cos lettuce, pecorino shavings and
anchovy dressing, and the way
the Tasman Sea lifts the imagination
like an old-fashioned washing machine
willing to take any load.
The sandwiches sound delicious. And I can relate, as they say, to that washing machine image, being the one in our house who does the washing, drying and ironing. But I'd better come clean and admit that I've changed a word in the poem – the name that starts it off, which ought to read "Einstein". Einstein? She can't mean the Einstein, so either she was at the lookout point with a friend she's renamed Einstein, or she was there alone and found the poem more interesting if she inserted Einstein into it. If she was there alone, presumably the taste for these sandwiches and for the resemblance of the Tasman to a washing machine were Green's own, and she finds it – what? amusing? enhancing of some point she's making? – to assign her response to an alter ego. But, if she was there in company, why not use the actual name of Sammy (or Jenny or whoever)? The quirkiness of substituting Einstein, if that's what happened here, would epitomise the age's trademark privileging of effect over truth. I find I prefer the poem as above, with Sammy (or whoever), not Einstein; and the best poem of all would have been the unwritten one that gave us Green without mirrors. The Baker's Thumbprint is an energetic and engaging book, yes, complete with sestina, villanelle, and poems set in Rome and New York; I loved it, hated it, loved it again; and I feel certain it would have been stronger stripped of some of its tricks.
The two books from Victoria University Press are very slim volumes, and feel thin in other respects, too. In one poem, remembering a writing retreat to "the wilderness" and an aborted long walk, John Newton writes,
In the end Ken came to rescue me. Man,
was I pleased to see him! He had a half
ounce of weed and an inch or two of scotch
and we sat on the roof (for some reason)
and played our guitars ….
It's possible to imagine the reader who would think this tone resembles that of late Baxter – the foregrounding of matey attitude, the use of "Man" (which, in Baxter, was the language of the day but, in Newton, possesses a museum quality requiring quotation marks), and the profile of Ken, all bear a superficial similarity. But Newton has no interest in rhythm, his language lacks the savour and sinew that were in everything Baxter wrote, and nothing in Family Songbook suggests he takes the hard-wiring of poetry as seriously as Baxter did. Three of the four parts of this poem, "High Lonesome", are written in lines of 10 syllables, but the dynamics available to syllabics are absent. I find this very disappointing, not least since Family Songbook is packaged as poetry of landscape, "New Zealand pastoral in a different key", and I opened the book with real interest. I, too, know those drops of poisoned carrots that Newton refers to, and once, on a dark trail not 20 miles from Alexandra, I met the strangest of apparitions on a motorbike, the rabbit counter, with a second headlamp mounted on his head so that he could survey the impact of the poison on the rabbit population. They froze in the light, to be counted, as he walked the hillsides in the night. But that is another story; and Newton is frustratingly niggardly with his stories.
Page for page, Louise Wallace's book reads like a set of early drafts; it made me so cross that I had to hide it from myself. "Dear Wellington" is the last poem in the book, and it reads:
We have taken the time
to get a tan
we are coming home.
Well, that's nice. But in all seriousness now: where's the poem? I tried to imagine telling Ariosto or Chaucer: one day, poets will be admired for this. There are poems in Enough on the poet's late grandmother with Alzheimer's, and I took as particular an interest in these as I did in Broom's collection, since I have co-led the Hippocrates initiative for poetry and medicine these last five years and have a serious concern with how poetry reflects the experience of illness and dying. Prose poetry also interests me greatly; but the samples here put me in mind of Glyn Maxwell's sardonic definition of it as "prose written by poets". How I longed for Wallace to borrow an elegant stanza from Herrick, or write a poem on Karl Popper in Christchurch, or simply startle me with a fresh image – the Tasman Sea as a washing machine, say.
Michael Hulse co-edited The Twentieth Century in Poetry in 2011; his latest collection, Half-Life (Arc, 2013), was named a Book of the Year by John Kinsella.
Tagged with: Auckland University Press, Autumn 2014, Issue 105, John Newton, Louise Wallace, Michael Hulse, Paula Green, Sarah Broom, Seraph Press, Victoria University Press
Posted in Literature, Poetry, Review
Browse the Literature category
Leading by the nose, Elizabeth Crayford
Opening the fifth dimension, Lydia Wevers
"The frequent flyer friar" John McCrystal
Absolutely fabulous, Thom Conroy
The life and the work, Martin Edmond
In the hybrid zones, Airini Beautrais
"Unlicked selves", Hugh Roberts
"The play's the thing", Sarah Ross
Timeless and timely, Hannah Marshall
Back to the future, Harvey Molloy
Express lane, John Horrocks
Marking time, Maggie Trapp
Challenging, touching, persuading, Janet Hughes
Here be gods, monsters and mortals, David Eggleton
Keeping it in the family, Tina Shaw
Warning and consolation, Mark Houlahan
Blank spaces, Tim Grgec


To gain insight into the contribution of platelet-dependent thrombin formation in haemostasis and thrombosis, we investigated under flow conditions the haemostatic functions of platelets from a patient with Scott syndrome. Scott platelets are characterised by a diminished platelet-dependent thrombin generation. Thrombin generation was determined by calibrated automated thrombography and flow-based experiments were performed to reveal collagen-mediated platelet activation and fibrin deposition. Our studies indicate that adherent Scott platelets do not differ from control platelets in the formation of stable platelet aggregates under static and flow conditions. While for adherent control platelets a shape change, e.g. balloon formation, and externalisation of phosphatidylserine (PS) is associated with an increase in intracellular calcium concentration, this is not the case for Scott platelets. The calcium-induced morphological changes in control platelets are accompanied with a diminished recruitment of free flowing platelets. Scott platelets, not showing a calcium-induced shape change, also lost the ability to recruit free flowing platelets. These findings rebut the hypothesis that the mild bleeding tendency of Scott syndrome patients is due to a preserved adhesive activity of patient's platelets. Perfusion of tissue factor (TF)-activated control blood over immobilised collagen results in the formation of fibrin fibers that radiate from platelet aggregates. Although platelet aggregates were also observed after perfusion with TF-activated Scott blood, fibrin deposition was not observed. In conclusion, our findings indicate that platelet adhesion and spreading on a collagen matrix in the absence of fibrin formation is sufficient to sustain haemostasis under non-traumatic conditions.


BOSTON — With a policy battle on the Beacon Hill horizon, the short-term rental company Airbnb has launched a TV advocacy campaign framing itself as a boon to local small business, a check against inequality and a reliable source of income for hosts.
The charm offensive comes as legislative leaders appear to be positioning themselves to regulate the short-term rental market, including Airbnb, HomeAway and VRBO, when the Legislature returns to formal sessions in January. Attempts to craft legislation related to the industry never truly got off the ground this session.
In a one-minute TV ad, which Airbnb said is part of a "mid-seven figures" ad buy, four Airbnb hosts from greater Boston talk in glowing terms about renting out part or all of their homes to strangers, and how Airbnb impacts the community.
Sherry, who is identified in the ad as a teacher, said the additional income she earns through Airbnb allows her to stay in her home amid rising housing costs and growing economic inequality.
Another host, Andrea from Jamaica Plain, talks about directing the guests who rent from her to local shops and restaurants as a way to boost the local economy.
"It's a symbiosis between the hosts and the small businesses here, and we help each other," she says in the ad.
Airbnb generated $110 million in economic activity last year in the Boston area, according to the San Francisco-based company.
The ad began airing on TV channels in the Boston metro area in late September, Airbnb spokeswoman Crystal Davis said, and will continue to run through the middle of next month. The online booking service is also running radio ads in the Boston market, she said.
House Speaker Robert DeLeo recently said the short-term rental industry will likely be the focus of more legislative attention next year.
"I suspect that that's going to be one of the — similar to Uber — I think it's going to be the Uber issue of next session," DeLeo said earlier this month, likening it to the challenge lawmakers had in tackling the ride-hailing industry regulation earlier this session.
The Senate this year approved a proposal to apply the state's lodging tax to short-term rentals through online websites such as Airbnb to help pay for an expansion of the earned income tax credit. The Senate measure was stripped from an economic development bill that lawmakers rushed to Gov. Charlie Baker's desk in late July as formal sessions ended for the year.
Though some on Beacon Hill may be split on taxing Airbnb, the company has said it wants to be taxed and regulated. In a July radio ad, Airbnb said it supported the Senate's proposal.
"If Massachusetts families pay taxes, we should too," Airbnb said in the 30-second spot.
Airbnb said Boston could have collected $3 million in hotel, tourist and occupancy taxes from Airbnb rentals in 2015.
As of January, the company said it had worked with more than 20 cities around the world to collect and remit hotel, occupancy, and tourist taxes on behalf of its hosts and guests.
DeLeo this month suggested Beacon Hill will be glad to regulate and possibly tax services like Airbnb, but noted the oddity of an organization specifically asking to be taxed.
Records filed with the secretary of state's office show Airbnb has retained Boston law firm Nutter McClennen & Fish LLP to lobby policymakers on its behalf. While it's not clear who is lobbying on Airbnb issues, the firm lists three Beacon Hill lobbyists — Melissa Scorzoni, former Rep. Steven Walsh's chief of staff Joshua Harrell, and William Kennedy, former chief of staff under Speaker Thomas Finneran.


Expiration Date is Minimum 8 Months dating.
You are ordering the OneTouch Ultra Blood Glucose Test Strip 100ct. The is a bulk pack of 5 boxes of 100ct. 500 total test strips.
OneTouch Ultra Blue Test Strips with FastDraw Design make blood glucose testing fast, easy, and less painful. The OneTouch Ultra Meter gives results in just 5 seconds and requires just a speck of blood, making the test an easier process for anyone with Diabetes.


text:
An RSS feed (or news feed) is a means by which you can stay informed about what's going on at Greater Harmony Chorus without having to regularly visit the website.
To make use of an RSS feed, you need some "feed reader" (or "aggregator") software. Most modern web browsers have feed readers built in.
The RSS feeds for Greater Harmony Chorus are listed below...
Greater Harmony Chorus upcoming events:
https://www.greaterharmony.org/dbaction.php?action=rss&dbase=events
Greater Harmony Chorus news:
https://www.greaterharmony.org/dbaction.php?action=rss&dbase=uploads
Book Us!
Visit a Rehearsal
About Greater Harmony Chorus
Have a Listen!
The best way to see what we are about and if you'd like to become a member is to visit a rehearsal.
Greater Harmony Chorus is a chapter of Sweet Adelines International, a highly respected worldwide organization of women singers committed to advancing the musical art form of barbershop harmony through performance, competition, and education. This independent, nonprofit music education association is one of the world's largest singing organizations for women. Every member of Greater Harmony takes immense pride in her commitment and dedication to excel in the field of four-part harmony a cappella style. Some of our members live right in Wexford, PA, while others come from places such as Grove City, Beaver County, and as far away as Poland, Ohio. Our members are teachers, secretaries, professors, nurses, retirees, and many more. We would love to add you to our ranks.
Auditions are low-stress, and we will work with you to help you with your audition. Of course, you can continue coming as our guest until you are ready to audition.
Book us for your next event
Support GHC
We are a not-for-profit organisation, and welcome donations, no matter how large or small.
No news right now
Every Tuesday evening at 6:45
PYCO School of Music
150 Lake Drive, Suite 103
Powered by HarmonySite
Copyright © 2023 Greater Harmony Chorus
Greater Harmony Chorus Privacy Policy | HarmonySite Data Protection Policy

redpajama_set_name: RedPajamaCommonCrawl


If your question is not answered here, please feel free to contact our Customer Service Hotline at (852) 2255 8888 or email us.
On which stock markets can I trade?
Through MONEX BOOM, you could trade over 50,000 exchange-listed securities of 12 countries, including Hong Kong, US, Japan, Australia, Singapore, Malaysia, Thailand, Indonesia, the Philippines, South Korea, Taiwan, and China B-Shares.
How does MONEX BOOM charge commission?
Commission is charged on a per order basis. And different commission rates and pass-on charges apply to different stock market.
How can I find securities symbols?
Login to you MONEX BOOM account, then go to "Search for Stocks" > "Stock Codes" > "Symbol Lookup".
When can I submit my trading instructions?
As a MONEX BOOM trading member, you could submit your orders anytime regardless of trading hours of the stock markets. The orders submitted will be be stored and submitted for trading once the markets open.
Click here to view the trading hours of different stock markets.
Can I buy stocks and then sell them on the same day?
Yes, you can buy stocks and then sell them immediately in most of the markets we offer.
Due to the market regulations in Taiwan, Shanghai and Shenzhen, you can only sell the stocks on the next day after you bought them.
Figure A: All clients can buy stocks and then sell them on the same day (except for Taiwan, Shanghai and Shenzhen markets).
When will the proceeds of the sell shares be updated to my account?
The Total Fund Available in your portfolio page will be updated with the estimated proceeds of your sell shares immediately after execution.
Your "Fund Movement History" will reflect the actual proceeds of your sell shares a few hours after the market closed.
When can I use the sales proceeds to buy stocks again?
In general, you can use the sale proceeds to buy stocks immediately after you sold them.
However, U.S. market does not allow Cash Account holders to use the sale proceeds to buy U.S. stocks until T+3.
How can I track the status of my instructions?
Once you have sent an instruction, you can always view the "Pending Order / Intraday Executions" page of the Trading & Status section to see the status of your instruction.
How can I change or cancel my trading instructions?
To change or cancel your trading instruction, simply use the "Change" or "Cancel" function display next to the trading order found in the "Pending Orders" Section, then confirm your order by entering your Trading Keycode. Please note that only those remaining shares which have not been filled can be changed or cancelled.
Transactions may have been executed rapidly during trading hours, therefore your change or cancellation instructions are NOT guaranteed.
For US market, only the limit price and / or quantity can be amended while the Good Till Date cannot be changed after set. Please note that changing the limit price and / or quantity for a partially filled order will be treated as a new order and charged accordingly.
For Sell Stop-Limit Order, amendment is not allowed. If you want to modify a Sell Stop-Limit Order, you must cancel it first and then setup another order.
What will happen to a pending order if it is only partially filled at the end of the "Good Till Date"?
Any order(s) pending at the end of the Good Till Date will be cancelled by the system. This includes those orders, which have been partially filled by that time. The respective buying power will be credited back to your cash balance upon cancellation of pending buy orders. Unsold stocks will be reinstated to your portfolio upon cancellation of pending sell orders.
Can I trade stocks on margin?
Yes, we do provide margin trading services. All stocks listed in Hong Kong, US, Japan, Singapore and Australia are eligible for margin financing. Please click here for details.
Do I need to download any software to trade online with MONEX BOOM?
No. Simply login to your MONEX BOOM account, you can place all the instructions over the Internet browser. You do not need to download any software before you start trading online.
Are there any back-up services offered by MONEX BOOM in the event of network server difficulties?
Yes, we do. We do accept telephone orders. Simply call our 24-hours Customer Service Hotline at (852) 2255 8888 or MONEX BOOM Dealing Hotline at (852) 2255 8366.
What other trading channels MONEX BOOM provides other than the Internet?
Other than the Internet, you could also place orders by phone calls or in person.
What types of account notifications will I receive?
Instant trade confirmation - you will get a confirmation email right after your order is filled / executed.
Corporate action entitlement notices - including cash / script dividend, bonus share, rights issue, stock consolidation / conversion / subdivision, warrant expiry, etc.
IPO allotment results - you will be notified of the allotment result once it is announced by the issuer.
Why is a valid email address so important?
MONEX BOOM sends account notifications to you by email. If your email address is invalid, you will not be able to receive any of the important notices. In addition, you will need to pay the handling fee of HKD 10 for receiving Monthly Activity Statements by post.
How would I be notified of trade executions?
You will receive a trade confirmation by email for each trade execution. In addition, we will send you a Daily Activity Statement (also serves as contract note) on the following business day with a summary of your trading activities of the day.
When do I receive the contract notes?
Being environmental friendly, we issue Daily Activity Statement as a replacement for individual contract note. All your trading activities in a particular day will be stated in the Daily Activity Statement. It will be sent to you on the next business day after trade execution.
The details of your executed orders, including the executed price, quantity and the breakdown of pass-on charges, will be showed under the "Today Activity" section in the Daily Activity Statement.
What types of statement will I receive?
You will receive Daily Activity Statement, which includes all the executed trades / contracts for a trading day. You will also receive Monthly Activity Statement for your MONEX BOOM Account.
Why don't I receive my Daily Activity Statement everyday but irregularly?
Daily Activity Statements will be generated whenever there are account activities. However, we will only send you Daily Activity Statement after you have a buy/sell order executed. Therefore, if you only have non-trading activities (such as funds deposit / withdrawal) on a particular day, you will not receive any Daily Activity Statement or notice, but the respective statement can be viewed online under the "Statement (Daily / Monthly)" section after you login to your account.
Why don't I have Monthly Activity Statement?
Monthly Activity Statements are generated every month. However, you will not have Monthly Activity Statement if there are no account activity, no stock holding and no cash balance for that month.
Do I need to pay for account statements?
No. You can retrieve all Daily Activity Statements and Monthly Activity Statements within 15 calendar months. To view statement, please login and click "Funds & Account" > "Statement (Daily / Monthly)" section.
However, if you request to receive paper Monthly Activity Statement by post, you will need to pay the handling fee of HKD 10 per statement.
In addition, if you request statement(s) issued beyond 15 months, a handling fee of HKD 100 per statement will be charged. You are advised to print out or download the statement online if you wish to keep a copy for your records.
Do you provide yearly statements for tax reporting purpose?
No. MONEX BOOM only provides Daily Activity Statements and Monthly Activity Statements. We do not provide yearly statements that are specially designed for tax reporting purpose.
To fulfill your tax reporting needs, you are highly recommended to download or print out Monthly Activity Statements from your MONEX BOOM Account periodically for record keeping.
Kindly note that statements within 15 months are available to retrieve online for free, and there will be a handling fee of HKD 100 to charge for retrieving each statement beyond 15 months.
What are the benefits of using e-Statements?
You will be informed by email when a new statement is available.
No delay due to postage. You can review your new statement once it is issued.
Easy to print if needed. Layout and content are exactly the same as that of paper version.
Unlimited access to all statements within 15 months.
FREE email notifications and online access to electronic statements.
How can I view e-Statement online?
To view specific Daily Activity Statement, simply click the date that is in blue color on the calendar. If the date is in black, then you have no account activities on that day and no daily statement is generated.
Are the contents of e-Statements the same as the printed version sent by post?
Yes. The layout and contents of e-Statements are exactly the same as the printed version sent by post.
What is the file format of the e-Statements?
e-Statements are in PDF format. You are required to install Adobe Reader on your computer to view the e-Statements.
To download the Adobe Reader, please login to MONEX BOOM and go to the "Statement (Daily / Monthly)" section. Then click on the "Adobe Reader" link and follow the steps for installation.
How do I keep the e-Statements in my own storage?
You could simply click the "Save" icon on the Adobe Reader to download and save the e-Statements in your own computer.
By what mean(s) statements are delivered to me?
Base on your Statement Delivery Settings, we will send the statements to you by email or by post.
We will send you an email notification when new statement is available. Then you can view and download the statements online.
You may choose to receive printed copies of statements by post. Please note that a handling fee of HKD 10 per statement will be charged to your MONEX BOOM account if you request Monthly Activity Statement in paper form.
How do I change the preference of statements delivery?
Enter your Trading Keycode and press [Submit Change].
The changes made will be effective from the next statement.
Why is there no statement attached in the email?
For security reason, we will not send statement to clients by email. Instead, we will notify you by email when your statement is available for viewing online via your MONEX BOOM Account.
I have selected to receive statement notices by email, but why am I still receiving printed statements by post instead of email notices?
If email sent to your email address is returned to MONEX BOOM as undeliverable, we will not send out any further email notifications. Instead, we will send you paper statements by post. Please note that a handling fee of HKD 10 per statement will be charged to your MONEX BOOM account for receiving paper Monthly Activity Statement by post.
There are problems with your e-mail service providers such as network delay or system failure.
Why a valid correspondence address is so important?
We will mail the paper version of statements to you upon your request or when your email address is invalid. If your correspondence address in MONEX BOOM's record is invalid, you will not be able to receive the statements. In addition, your statements might be exposed to a third party at that wrong address.
Handling fee will be applied for receiving paper version of Monthly Activity Statements by post.
Handling fee will be charged to your MONEX BOOM account after the respective Statement is printed.
Handing fee charged is not refundable.
MONEX BOOM reserves the right to amend the handling fee associated with printed Statements from time to time at our absolute discretion at any time without your prior consent.
MONEX BOOM shall not be responsible for any delay or failure in transmission, receipt of information due to either a breakdown or failure of transmission of communication facilities, or any unreliable medium of communication or any other cause or causes beyond our control or anticipation.
No refund of charged handling fee if printed Statements are not delivered to you by post (including but not limited to the occasion that mails are bounced due to invalid correspondence address).
You are obligated to maintain valid and reachable email and correspondence address with MONEX BOOM for receiving the Notifications and Statements. If you change your email or correspondence address, you must inform MONEX BOOM with a signed instruction.
MONEX BOOM reserves the right to change the above terms and conditions from time to time. In case of disputes, MONEX BOOM reserves the right of final decision.
If there is inconsistency between the English and Chinese version of the above terms and conditions, the English version shall prevail.
How MONEX BOOM executes my US orders?
Once MONEX BOOM receives your US order, our system will immediately send it to our US agent for execution.
Depends on the listed exchange of the stock, the size and availability of the order, your US stock orders might be filled on a stock exchange (including NYSE, NYSE Arca, NYSE MKT and NASDAQ), on the Over the Counter Bulletin Board (OTCBB) or the Pink Sheets, or via a market specialist.
I can buy U.S. stocks then sell them on same day. Why can't I buy again after sold?
However, there is a restriction for Cash Account holders that they can only use the U.S. sales proceeds to buy U.S. stocks on T+3 (i.e. three days after the trade day). This is to comply with the industry standards regarding "Day Trading Rule" in cash accounts for U.S. securities trading.
Figure B: Cash Account holders cannot buy U.S. stocks by using the "unsettled" U.S. sales proceeds.
Can I "day-trade" U.S. stocks?
If you are holding a Cash Account and would like to do "day-trading" on U.S. stocks, you can change your account to Margin Account. The procedure is simple and free of charge.
All the fees and charges remains the same as the Cash Account.
There is NO margin interest if you do not use the margin facilities.
You can request us to set your credit line to ZERO to prevent over-buying unintentionally.
Figure C: Margin Account holders can sell stocks and then buy stocks in any market on the same day.
What are Bulletin Board and Pink Sheet stocks?
OTC Bulletin Board is a listing of quotes of over-the-counter (OTC) stocks that don't meet the minimum-net worth and other requirements of the Nasdaq stock listing system.
Pink Sheets are quotations from market makers of over-the-counter stocks published daily by the National Quotation Bureau. The Pink Sheets get their name from the paper they are printed on.
In general, the OTC Bulletin Board and Pink Sheets are different from national exchanges in a way that they serve only as a source of price information for market makers. The listing requirements for stocks that are traded under OTC Bulletin Board and Pink Sheet systems are generally less stringent than those of stocks listed in the major exchanges.
How do corporate actions affect my pending order(s)?
Your pending order(s) will be either cancelled or adjusted, dependent upon the nature of the Corporate action and the Exchange activity.
Your pending order will be cancelled if any of the corporate actions identified in the table below occur. Cancellation will occur irrespective of whether or not the order has reached its Good Till Date.
Your pending order will be adjusted if any of the corporate actions identified in the table below occur. Your order would then be executed at the adjusted limit price.
However, an action by the Exchange may cause your pending order to be either cancelled or adjusted if any of the corporate actions identified in the table below occur.
How do corporate action adjustments affect my executed order(s) and account balance?
An adjustment on a pending order, either changing of price and / or quantity, will affect the final executed order amount, causing a difference from the original order amount.
If the executed order amount is smaller than the original amount of a buy order, the extra held funds will be released to your available cash balance. However, a smaller amount of proceeds will be added to your available cash balance where sell order(s) are affected.
If the executed order amount is larger than the original amount of a buy order, the extra funds needed will be deducted from your available cash balance. More sales proceeds will be added to your cash balance where sell order(s) are affected.
Please note that we will not allot shares to your account in the event that your account has insufficient funds to accommodate adjusted buy order(s). You will be contacted by MONEX BOOM where this situation arises.
You may view all adjustments made by the system under the "Order History" page of the Trading Section.
Does MONEX BOOM provide investment advice?
MONEX BOOM does not provide investment advice but offers links to other Internet sites that contain third-party investment information.
Can I short sell securities?
Currently, Monex Boom Securities (H.K.) Limited does not provide short selling service.
How do I exercise my warrant contracts?
You may exercise your warrant contracts by sending email to us. Your warrant contracts will be exercised as soon as market circumstances allow and your account will be updated immediately upon execution.
How are dividends and other corporate actions managed by the MONEX BOOM system?
When you receive a dividend or other corporate action, you will be notified by email. If necessary, MONEX BOOM will ask for a response from you concerning the corporate action. For example, a message will ask you whether you would like your dividend in cash or shares.
Get free Hong Kong Real-time Snap Quotes ("H.K. Snap Quotes"): Client will be granted the first 100 free H.K. Snap Quotes ("Basic Quotes") on a one-off basis when the client's MONEX BOOM account has Hong Kong stock holdings and/or cash balance at a minimum total value of HK$10,000 (or equivalent).
Client will earn 10 free H.K. Snap Quotes ("Bonus Quotes") for every HK$10 commission paid for the executed Hong Kong stock trades ("eligible trades") on a day, excluding those trades enjoying other commission offers (including but not limited to commission waivers, rebates or discounts), unless otherwise specified.
There is no maximum on the number and value of eligible trades applicable to earn Bonus Quotes.
There is no maximum on the number of the Bonus Quotes that a client can be granted.
Purchase price is at HK$10 for 100 H.K. Snap Quotes ("Paid Quotes").
Purchase amount will be charged to client's MONEX BOOM account immediately.
Purchase amount deducted is non-refundable.
Cut-off time for purchasing Paid Quotes is 9 pm HKT of the day.
Basic Quotes granted, Bonus Quotes earned and Paid Quotes purchased will be effective and reflected to the H.K. Snap Quotes balance (the "Quote Meter") the following day.
At the end of the calendar month, if client has subscribed to a Hong Kong real-time streaming quotes package for the following calendar month ("H.K. streaming quotes package") through client's MONEX BOOM account, client will be granted with a cash refund automatically based on the number of the unused H.K. Snap Quotes.
Redeem Conversation Ratio: 1 (One) Unused H.K. Snap Quote = HK$0.1 cash refund.
Cash refund amount is limited to the price of the H.K. streaming quote package subscribed by client.
Example 1: Client A has 1,000 unused H.K. Snap Quotes and subscribed to the H.K. streaming quotes package that costs HK$300. Client A will gain HK$100 cash refund (1,000*HK$0.1).
Example 2: Client B has 5,000 unused H.K. Snap Quotes and subscribed to the H.K. streaming quotes package that costs HK$300. Client B will gain HK$300 cash refund (3,000*HK$0.1).
Based on the Redeem Conversation Ratio, the number of the unused H.K. Snap Quotes required for the redemption of cash refund will be deducted from the Quote Meter.
To enjoy the H.K. Streaming Cash Refund, client must have successfully subscribed and paid for the H.K. streaming quotes package before 4 pm of the last Hong Kong business day of the calendar month.
Cash refund will be credited to client's MONEX BOOM account the following calendar month.
After deducting the unused H.K. Snap Quotes for the H.K. Streaming Cash Refund, maximum 500 unused H.K. Snap Quotes can be carried forward to client's MONEX BOOM account the following calendar month. The remaining H.K. Snap Quotes will be expired. Refer to the Example 2 (Term 5.c.), Client B has 2,000 unused H.K. Snap Quotes remained. 500 of them can be carried forward to the following calendar month and the remaining 1,500 will be expired.
According to the HKEx, stock quotes used from market opening of each trading session to 15 minutes after market close of each trading session will be considered as real-time quote usage. On any normal trading day, stock quotes from 9:00 to 12:15 and from 13:00 to 16:15 will be considered as real-time quotes.
Monex Boom Securities (H.K.) Limited ("MONEX BOOM") reserves the right to change the Terms and Conditions or delay the Real-time Snap Quotes to specific clients or suspend or withdraw part or all of the offers above at any time at its discretion without prior notice.
MONEX BOOM's corporate partners and clients introduced by them are not eligible to the offers above.
In the event of a dispute arising out of offers above, the decision of MONEX BOOM shall be final and conclusive.
Where there is any discrepancy between the Chinese and English versions of the Terms and Conditions, the English version shall apply and prevail.
No person other than the client and MONEX BOOM (which includes its successors and assigns) will have any right under the Contracts (Rights of Third Parties) Ordinance to enforce or enjoy the benefit of any of the provisions of these terms and conditions.
Risk Disclosure: Investment involves risks. Prices of securities may go up as well as down and may even become valueless. Investors should not only base on this website alone to make any investment decision, but should read in detail of the relevant Risk Disclosure Statements. Investors should seriously consider if investment in the relevant shares is suitable for his/her investment needs by reference to his/her financial position and other conditions and needs before deciding whether to invest in the relevant shares. If required, investors should obtain independent legal, financial and other professional advice before making any investment decision.
Important Disclaimer: This website shall not constitute or be regarded as an offer or a solicitation of an offer to buy or sell any security, and no offers or sales of any security will be made in jurisdictions where such offers or sales are not authorized, qualified or exempted from regulation.
The content of this website is issued by MONEX BOOM and has not been reviewed by the SFC.


text:
"""Script for creating TF examples, training and evaluation."""

import dataclasses
import enum
import functools
import os
import random
import time
from typing import Mapping, Optional, Text

from absl import app
from absl import flags
from absl import logging
from tapas.experiments import prediction_utils as exp_prediction_utils
from tapas.models import tapas_classifier_model
from tapas.models.bert import modeling
from tapas.retrieval import e2e_eval_utils
from tapas.scripts import calc_metrics_utils
from tapas.scripts import prediction_utils
from tapas.utils import file_utils
from tapas.utils import hparam_utils
from tapas.utils import number_annotation_utils
from tapas.utils import pruning_utils
from tapas.utils import task_utils
from tapas.utils import tasks
from tapas.utils import tf_example_utils
import tensorflow.compat.v1 as tf
from tensorflow.compat.v1 import estimator as tf_estimator

tf.disable_v2_behavior()

FLAGS = flags.FLAGS

flags.DEFINE_string('input_dir', None,
                    'Directory where original shared task data is read from.')
flags.DEFINE_string('output_dir', None,
                    'Directory where new data is written to.')
flags.DEFINE_string(
    'model_dir', None,
    'Directory where model checkpoints and predictions are written to. '
    'f"{output_dir}/model" will be used if None.')
flags.DEFINE_string('task', None, 'Task to run for.')

flags.DEFINE_string('bert_vocab_file', None, 'Bert vocab file.')
flags.DEFINE_string('bert_config_file', None, 'Bert config file.')
flags.DEFINE_string('init_checkpoint', None, 'Init checkpoint.')
flags.DEFINE_string('tapas_verbosity', None, 'Logging verbosity.')

flags.DEFINE_bool('use_tpu', False, 'Whether to use TPU or GPU/CPU.')

flags.DEFINE_string(
    'tpu_name', None,
    'The Cloud TPU to use for training. This should be either the name used '
    'when creating the Cloud TPU, or a grpc://ip.address.of.tpu:8470 url.')

flags.DEFINE_string(
    'tpu_zone', None,
    '[Optional] GCE zone where the Cloud TPU is located in. If not '
    'specified, we will attempt to automatically detect the GCE project from '
    'metadata.')

flags.DEFINE_string(
    'gcp_project', None,
    '[Optional] Project name for the Cloud TPU-enabled project. If not '
    'specified, we will attempt to automatically detect the GCE project from '
    'metadata.')

flags.DEFINE_string('master', None, '[Optional] TensorFlow master URL.')

flags.DEFINE_integer(
    'num_tpu_cores', 8,
    'Only used if `use_tpu` is True. Total number of TPU cores to use.')

flags.DEFINE_integer('test_batch_size', 32, 'Test batch size.')

flags.DEFINE_integer(
    'train_batch_size', None,
    'Train batch size, if None will use the value from the hparams of the task '
    '(recommended).')

flags.DEFINE_integer('gradient_accumulation_steps', 1,
                     'Accumulate gradients across multiple steps.')

flags.DEFINE_integer('iterations_per_loop', 1000,
                     'How many steps to make in each estimator call.')

flags.DEFINE_bool('test_mode', False,
                  'Cut some corners to test the pipeline end-to-end.')

flags.DEFINE_integer('tf_random_seed', None, 'Random seed for tensorflow.')

flags.DEFINE_integer('max_seq_length', 512, 'Max sequence length of the input.')

flags.DEFINE_string('mode', '', 'See Mode below.')

flags.DEFINE_bool('loop_predict', True,
                  'Loop predictions as new checkpoints appear while training')

flags.DEFINE_string(
    'compression_type',
    'GZIP',
    "Compression to use when reading tfrecords. '' for no compression.",
)

flags.DEFINE_bool('reset_position_index_per_cell', False,
                  'If true, reset absolute position index at every cell.')

flags.DEFINE_bool('prune_columns', False,
                  'Use word overlap heuristics to keep most relevant columns.')

flags.DEFINE_bool(
    'reset_output_cls',
    False,
    'If true, reset classification output layer on init from checkpoint. This '
    'is useful when fine-tuning a classifier model from a model pre-trained '
    'with a different number of classes.',
)

flags.DEFINE_boolean('use_document_title', False,
                     'Use table title to encode the input.')

flags.DEFINE_boolean('update_answer_coordinates', False,
                     'Re-computes answer coordinates from the answer text.')

flags.DEFINE_boolean(
    'drop_rows_to_fit', False,
    'Drop last rows if table does not fit within max sequence '
    'length.')

flags.DEFINE_string('table_pruning_config_file', None,
                    'Table pruning config file.')

_MAX_TABLE_ID = 512
_MAX_PREDICTIONS_PER_SEQ = 20
_CELL_CLASSIFICATION_THRESHOLD = 0.5

class Mode(enum.Enum):
  CREATE_DATA = 1
  TRAIN = 2
  PREDICT_AND_EVALUATE = 3
  EVALUATE = 4
  PREDICT = 5

class TestSet(enum.Enum):
  DEV = 1
  TEST = 2

@dataclasses.dataclass
class TpuOptions:
  use_tpu: bool
  tpu_name: Optional[Text]
  tpu_zone: Optional[Text]
  gcp_project: Optional[Text]
  master: Optional[Text]
  num_tpu_cores: int
  iterations_per_loop: int

def _create_measurements_for_metrics(
    metrics,
    global_step,
    model_dir,
    name,
):
  """Reports metrics."""
  for label, value in metrics.items():
    _print(f'{name} {label}: {value:0.4f}')
  logdir = os.path.join(model_dir, name)
  calc_metrics_utils.write_to_tensorboard(metrics, global_step, logdir)

def _print(msg):
  print(msg)
  logging.info(msg)

def _warn(msg):
  print(f'Warning: {msg}')
  logging.warn(msg)

def _create_all_examples(
    task,
    vocab_file,
    test_mode,
    output_dir,
    test_batch_size,
):
  """Converts interactions to TF examples."""
  interaction_dir = task_utils.get_interaction_dir(output_dir)
  example_dir = os.path.join(output_dir, 'tf_examples')
  file_utils.make_directories(example_dir)

  _create_examples(
      task,
      interaction_dir,
      example_dir,
      vocab_file,
      task_utils.get_train_filename(task),
      batch_size=None,
      test_mode=test_mode)
  _create_examples(task, interaction_dir, example_dir, vocab_file,
                   task_utils.get_dev_filename(task), test_batch_size,
                   test_mode)
  _create_examples(task, interaction_dir, example_dir, vocab_file,
                   task_utils.get_test_filename(task), test_batch_size,
                   test_mode)

def _to_tf_compression_type(
    compression_type,):
  if not compression_type:
    return tf.io.TFRecordCompressionType.NONE
  if compression_type == 'GZIP':
    return tf.io.TFRecordCompressionType.GZIP
  if compression_type == 'ZLIB':
    return tf.io.TFRecordCompressionType.ZLIB
  raise ValueError(f'Unknown compression type: {compression_type}')

def _create_examples(
    task,
    interaction_dir,
    example_dir,
    vocab_file,
    filename,
    batch_size,
    test_mode,
):
  """Creates TF example for a single dataset."""

  filename = f'{filename}.tfrecord'
  interaction_path = os.path.join(interaction_dir, filename)
  example_path = os.path.join(example_dir, filename)

  config = tf_example_utils.ClassifierConversionConfig(
      vocab_file=vocab_file,
      max_seq_length=FLAGS.max_seq_length,
      use_document_title=FLAGS.use_document_title,
      update_answer_coordinates=FLAGS.update_answer_coordinates,
      drop_rows_to_fit=FLAGS.drop_rows_to_fit,
      max_column_id=_MAX_TABLE_ID,
      max_row_id=_MAX_TABLE_ID,
      strip_column_names=False,
      add_aggregation_candidates=False,
      expand_entity_descriptions=(task == tasks.Task.HYBRIDQA),
  )
  converter = tf_example_utils.ToClassifierTensorflowExample(config)

  examples = []
  num_questions = 0
  num_conversion_errors = 0
  for interaction in prediction_utils.iterate_interactions(interaction_path):
    number_annotation_utils.add_numeric_values(interaction)
    for i in range(len(interaction.questions)):
      num_questions += 1

      try:
        examples.append(converter.convert(interaction, i))
      except ValueError as e:
        num_conversion_errors += 1
        logging.info("Can't convert interaction: %s error: %s", interaction.id,
                     e)
    if test_mode and len(examples) >= 100:
      break

  _print(f'Processed: {filename}')
  _print(f'Num questions processed: {num_questions}')
  _print(f'Num examples: {len(examples)}')
  _print(f'Num conversion errors: {num_conversion_errors}')

  if batch_size is None:
    random.shuffle(examples)
  else:
    # Make sure the eval sets are divisible by the test batch size since
    # otherwise examples will be dropped on TPU.
    # These examples will later be ignored when writing the predictions.
    originial_num_examples = len(examples)
    while len(examples) % batch_size != 0:
      examples.append(converter.get_empty_example())
    if originial_num_examples != len(examples):
      _print(f'Padded with {len(examples) - originial_num_examples} examples.')

  with tf.io.TFRecordWriter(
      example_path,
      options=_to_tf_compression_type(FLAGS.compression_type),
  ) as writer:
    for example in examples:
      writer.write(example.SerializeToString())

def _get_train_examples_file(task, output_dir):
  return os.path.join(output_dir, 'tf_examples',
                      f'{task_utils.get_train_filename(task)}.tfrecord')

def _get_test_filename(task, test_set):
  if test_set == TestSet.TEST:
    return task_utils.get_test_filename(task)
  if test_set == TestSet.DEV:
    return task_utils.get_dev_filename(task)
  raise ValueError(f'Unknown test set: {test_set}')

def _get_test_examples_file(
    task,
    output_dir,
    test_set,
):
  filename = _get_test_filename(task, test_set)
  return os.path.join(output_dir, 'tf_examples', f'{filename}.tfrecord')

def _get_test_interactions_file(
    task,
    output_dir,
    test_set,
):
  filename = _get_test_filename(task, test_set)
  return os.path.join(output_dir, 'interactions', f'{filename}.tfrecord')

def _get_test_prediction_file(
    task,
    model_dir,
    test_set,
    is_sequence,
    global_step,
):
  """Get prediction filename for different tasks and setups."""
  suffix = '' if global_step is None else f'_{global_step}'
  if is_sequence:
    suffix = f'_sequence{suffix}'
  filename = _get_test_filename(task, test_set)
  return os.path.join(model_dir, f'{filename}{suffix}.tsv')

def _get_token_selector():
  if not FLAGS.prune_columns:
    return None
  return pruning_utils.HeuristicExactMatchTokenSelector(
      FLAGS.bert_vocab_file,
      FLAGS.max_seq_length,
      pruning_utils.SelectionType.COLUMN,
      # Only relevant for SQA where questions come in sequence
      use_previous_answer=True,
      use_previous_questions=True,
  )

def _train_and_predict(
    task,
    tpu_options,
    test_batch_size,
    train_batch_size,
    gradient_accumulation_steps,
    bert_config_file,
    init_checkpoint,
    test_mode,
    mode,
    output_dir,
    model_dir,
    loop_predict,
):
  """Trains, produces test predictions and eval metric."""
  file_utils.make_directories(model_dir)

  if task in (tasks.Task.SQA, tasks.Task.HYBRIDQA, tasks.Task.HYBRIDQA_RC):
    num_aggregation_labels = 0
    num_classification_labels = 0
    use_answer_as_supervision = False
  elif task in [
      tasks.Task.WTQ, tasks.Task.WIKISQL, tasks.Task.WIKISQL_SUPERVISED
  ]:
    num_aggregation_labels = 4
    num_classification_labels = 0
    use_answer_as_supervision = task != tasks.Task.WIKISQL_SUPERVISED
  elif task == tasks.Task.TABFACT:
    num_classification_labels = 2
    num_aggregation_labels = 0
    use_answer_as_supervision = True
  elif task == tasks.Task.NQ_RETRIEVAL:
    num_aggregation_labels = 0
    num_classification_labels = 2
    use_answer_as_supervision = False
  else:
    raise ValueError(f'Unknown task: {task.name}')

  do_model_aggregation = num_aggregation_labels > 0
  do_model_classification = num_classification_labels > 0

  hparams = hparam_utils.get_hparams(task)
  if test_mode:
    if train_batch_size is None:
      train_batch_size = 1
    test_batch_size = 1
    num_train_steps = 10
    num_warmup_steps = 1
  else:
    if train_batch_size is None:
      train_batch_size = hparams['train_batch_size']
    num_train_examples = hparams['num_train_examples']
    num_train_steps = int(num_train_examples / train_batch_size)
    num_warmup_steps = int(num_train_steps * hparams['warmup_ratio'])

  bert_config = modeling.BertConfig.from_json_file(bert_config_file)
  if 'bert_config_attention_probs_dropout_prob' in hparams:
    bert_config.attention_probs_dropout_prob = hparams.get(
        'bert_config_attention_probs_dropout_prob')
  if 'bert_config_hidden_dropout_prob' in hparams:
    bert_config.hidden_dropout_prob = hparams.get(
        'bert_config_hidden_dropout_prob')
  tapas_config = tapas_classifier_model.TapasClassifierConfig(
      bert_config=bert_config,
      init_checkpoint=init_checkpoint,
      learning_rate=hparams['learning_rate'],
      num_train_steps=num_train_steps,
      num_warmup_steps=num_warmup_steps,
      use_tpu=tpu_options.use_tpu,
      positive_weight=10.0,
      num_aggregation_labels=num_aggregation_labels,
      num_classification_labels=num_classification_labels,
      aggregation_loss_importance=1.0,
      use_answer_as_supervision=use_answer_as_supervision,
      answer_loss_importance=1.0,
      use_normalized_answer_loss=False,
      huber_loss_delta=hparams.get('huber_loss_delta'),
      temperature=hparams.get('temperature', 1.0),
      agg_temperature=1.0,
      use_gumbel_for_cells=False,
      use_gumbel_for_agg=False,
      average_approximation_function=(
          tapas_classifier_model.AverageApproximationFunction.RATIO),
      cell_select_pref=hparams.get('cell_select_pref'),
      answer_loss_cutoff=hparams.get('answer_loss_cutoff'),
      grad_clipping=hparams.get('grad_clipping'),
      disabled_features=[],
      max_num_rows=64,
      max_num_columns=32,
      average_logits_per_cell=False,
      disable_per_token_loss=hparams.get('disable_per_token_loss', False),
      mask_examples_without_labels=hparams.get('mask_examples_without_labels',
                                               False),
      init_cell_selection_weights_to_zero=(
          hparams['init_cell_selection_weights_to_zero']),
      select_one_column=hparams['select_one_column'],
      allow_empty_column_selection=hparams['allow_empty_column_selection'],
      span_prediction=tapas_classifier_model.SpanPredictionMode(
          hparams.get('span_prediction',
                      tapas_classifier_model.SpanPredictionMode.NONE)),
      disable_position_embeddings=False,
      reset_output_cls=FLAGS.reset_output_cls,
      reset_position_index_per_cell=FLAGS.reset_position_index_per_cell,
      table_pruning_config_file=FLAGS.table_pruning_config_file)

  model_fn = tapas_classifier_model.model_fn_builder(tapas_config)

  is_per_host = tf_estimator.tpu.InputPipelineConfig.PER_HOST_V2

  tpu_cluster_resolver = None
  if tpu_options.use_tpu and tpu_options.tpu_name:
    tpu_cluster_resolver = tf.distribute.cluster_resolver.TPUClusterResolver(
        tpu=tpu_options.tpu_name,
        zone=tpu_options.tpu_zone,
        project=tpu_options.gcp_project,
    )

  run_config = tf_estimator.tpu.RunConfig(
      cluster=tpu_cluster_resolver,
      master=tpu_options.master,
      model_dir=model_dir,
      tf_random_seed=FLAGS.tf_random_seed,
      save_checkpoints_steps=1000,
      keep_checkpoint_max=5,
      keep_checkpoint_every_n_hours=4.0,
      tpu_config=tf_estimator.tpu.TPUConfig(
          iterations_per_loop=tpu_options.iterations_per_loop,
          num_shards=tpu_options.num_tpu_cores,
          per_host_input_for_training=is_per_host))

  # If TPU is not available, this will fall back to normal Estimator on CPU/GPU.
  estimator = tf_estimator.tpu.TPUEstimator(
      params={'gradient_accumulation_steps': gradient_accumulation_steps},
      use_tpu=tpu_options.use_tpu,
      model_fn=model_fn,
      config=run_config,
      train_batch_size=train_batch_size // gradient_accumulation_steps,
      eval_batch_size=None,
      predict_batch_size=test_batch_size)

  if mode == Mode.TRAIN:
    _print('Training')
    bert_config.to_json_file(os.path.join(model_dir, 'bert_config.json'))
    tapas_config.to_json_file(os.path.join(model_dir, 'tapas_config.json'))
    train_input_fn = functools.partial(
        tapas_classifier_model.input_fn,
        name='train',
        file_patterns=_get_train_examples_file(task, output_dir),
        data_format='tfrecord',
        compression_type=FLAGS.compression_type,
        is_training=True,
        max_seq_length=FLAGS.max_seq_length,
        max_predictions_per_seq=_MAX_PREDICTIONS_PER_SEQ,
        add_aggregation_function_id=do_model_aggregation,
        add_classification_labels=do_model_classification,
        add_answer=use_answer_as_supervision,
        include_id=False,
    )
    estimator.train(
        input_fn=train_input_fn,
        max_steps=tapas_config.num_train_steps,
    )

  elif mode == Mode.PREDICT_AND_EVALUATE or mode == Mode.PREDICT:

    # Starts a continous eval that starts with the latest checkpoint and runs
    # until a checkpoint with 'num_train_steps' is reached.
    prev_checkpoint = None
    while True:
      checkpoint = estimator.latest_checkpoint()

      if not loop_predict and not checkpoint:
        raise ValueError(f'No checkpoint found at {model_dir}.')

      if loop_predict and checkpoint == prev_checkpoint:
        _print('Sleeping 5 mins before predicting')
        time.sleep(5 * 60)
        continue

      current_step = int(os.path.basename(checkpoint).split('-')[1])
      _predict(
          estimator,
          task,
          output_dir,
          model_dir,
          do_model_aggregation,
          do_model_classification,
          use_answer_as_supervision,
          use_tpu=tapas_config.use_tpu,
          global_step=current_step,
      )
      if mode == Mode.PREDICT_AND_EVALUATE:
        _eval(
            task=task,
            output_dir=output_dir,
            model_dir=model_dir,
            global_step=current_step)
      if not loop_predict or current_step >= tapas_config.num_train_steps:
        _print(f'Evaluation finished after training step {current_step}.')
        break

      prev_checkpoint = checkpoint

  else:
    raise ValueError(f'Unexpected mode: {mode}.')

def _predict(
    estimator,
    task,
    output_dir,
    model_dir,
    do_model_aggregation,
    do_model_classification,
    use_answer_as_supervision,
    use_tpu,
    global_step,
):
  """Writes predictions for dev and test."""
  for test_set in TestSet:
    _predict_for_set(
        estimator,
        do_model_aggregation,
        do_model_classification,
        use_answer_as_supervision,
        example_file=_get_test_examples_file(
            task,
            output_dir,
            test_set,
        ),
        prediction_file=_get_test_prediction_file(
            task,
            model_dir,
            test_set,
            is_sequence=False,
            global_step=global_step,
        ),
        other_prediction_file=_get_test_prediction_file(
            task,
            model_dir,
            test_set,
            is_sequence=False,
            global_step=None,
        ),
    )
  if task == tasks.Task.SQA:
    if use_tpu:
      _warn('Skipping SQA sequence evaluation because eval is running on TPU.')
    else:
      for test_set in TestSet:
        _predict_sequence_for_set(
            estimator,
            do_model_aggregation,
            use_answer_as_supervision,
            example_file=_get_test_examples_file(task, output_dir, test_set),
            prediction_file=_get_test_prediction_file(
                task,
                model_dir,
                test_set,
                is_sequence=True,
                global_step=global_step,
            ),
            other_prediction_file=_get_test_prediction_file(
                task,
                model_dir,
                test_set,
                is_sequence=True,
                global_step=None,
            ),
        )

def _predict_for_set(
    estimator,
    do_model_aggregation,
    do_model_classification,
    use_answer_as_supervision,
    example_file,
    prediction_file,
    other_prediction_file,
):
  """Gets predictions and writes them to TSV file."""
  # TODO also predict for dev.
  predict_input_fn = functools.partial(
      tapas_classifier_model.input_fn,
      name='predict',
      file_patterns=example_file,
      data_format='tfrecord',
      compression_type=FLAGS.compression_type,
      is_training=False,
      max_seq_length=FLAGS.max_seq_length,
      max_predictions_per_seq=_MAX_PREDICTIONS_PER_SEQ,
      add_aggregation_function_id=do_model_aggregation,
      add_classification_labels=do_model_classification,
      add_answer=use_answer_as_supervision,
      include_id=False)
  result = estimator.predict(input_fn=predict_input_fn)
  exp_prediction_utils.write_predictions(
      result,
      prediction_file,
      do_model_aggregation=do_model_aggregation,
      do_model_classification=do_model_classification,
      cell_classification_threshold=_CELL_CLASSIFICATION_THRESHOLD,
      output_token_probabilities=False,
      output_token_answers=True)
  tf.io.gfile.copy(prediction_file, other_prediction_file, overwrite=True)

def _predict_sequence_for_set(
    estimator,
    do_model_aggregation,
    use_answer_as_supervision,
    example_file,
    prediction_file,
    other_prediction_file,
):
  """Runs realistic sequence evaluation for SQA."""
  examples_by_position = exp_prediction_utils.read_classifier_dataset(
      predict_data=example_file,
      data_format='tfrecord',
      compression_type=FLAGS.compression_type,
      max_seq_length=FLAGS.max_seq_length,
      max_predictions_per_seq=_MAX_PREDICTIONS_PER_SEQ,
      add_aggregation_function_id=do_model_aggregation,
      add_classification_labels=False,
      add_answer=use_answer_as_supervision)  # pytype: disable=wrong-arg-types
  result = exp_prediction_utils.compute_prediction_sequence(
      estimator=estimator, examples_by_position=examples_by_position)
  exp_prediction_utils.write_predictions(
      result,
      prediction_file,
      do_model_aggregation,
      do_model_classification=False,
      cell_classification_threshold=_CELL_CLASSIFICATION_THRESHOLD,
      output_token_probabilities=False,
      output_token_answers=True)
  tf.io.gfile.copy(prediction_file, other_prediction_file, overwrite=True)

def _eval(
    task,
    output_dir,
    model_dir,
    global_step = None,
):
  """Evaluate dev and test predictions."""
  for test_set in TestSet:
    _eval_for_set(
        model_dir=model_dir,
        name=test_set.name.lower(),
        task=task,
        interaction_file=_get_test_interactions_file(
            task,
            output_dir,
            test_set,
        ),
        prediction_file=_get_test_prediction_file(
            task,
            model_dir,
            test_set,
            is_sequence=False,
            global_step=None,
        ),
        global_step=global_step,
    )
    if task == tasks.Task.SQA:
      _eval_for_set(
          model_dir=model_dir,
          name=f'{test_set.name.lower()}_seq',
          task=task,
          interaction_file=_get_test_interactions_file(
              task,
              output_dir,
              test_set,
          ),
          prediction_file=_get_test_prediction_file(
              task,
              model_dir,
              test_set,
              is_sequence=True,
              global_step=None,
          ),
          global_step=global_step,
      )

def _eval_for_set(
    model_dir,
    name,
    task,
    interaction_file,
    prediction_file,
    global_step,
):
  """Computes eval metric from predictions."""
  if not tf.io.gfile.exists(prediction_file):
    _warn(f"Can't evaluate for {name} because {prediction_file} doesn't exist.")
    return
  test_examples = calc_metrics_utils.read_data_examples_from_interactions(
      interaction_file)
  calc_metrics_utils.read_predictions(
      predictions_path=prediction_file,
      examples=test_examples,
  )
  if task in [
      tasks.Task.SQA, tasks.Task.WTQ, tasks.Task.WIKISQL,
      tasks.Task.WIKISQL_SUPERVISED
  ]:
    denotation_accuracy = calc_metrics_utils.calc_denotation_accuracy(
        examples=test_examples,
        denotation_errors_path=None,
        predictions_file_name=None,
    )
    if global_step is not None:
      _create_measurements_for_metrics(
          {'denotation_accuracy': denotation_accuracy},
          global_step=global_step,
          model_dir=model_dir,
          name=name,
      )
  elif task == tasks.Task.TABFACT:
    accuracy = calc_metrics_utils.calc_classification_accuracy(test_examples)
    if global_step is not None:
      _create_measurements_for_metrics(
          {'accuracy': accuracy},
          global_step=global_step,
          model_dir=model_dir,
          name=name,
      )
  elif task == tasks.Task.NQ_RETRIEVAL:
    e2e_metrics = e2e_eval_utils.evaluate_retrieval_e2e(
        interaction_file=interaction_file,
        prediction_file=prediction_file,
        vocab_file=FLAGS.bert_vocab_file,
    ).to_dict()
    e2e_metrics = {
        key: val for key, val in e2e_metrics.items() if val is not None
    }
    if global_step is not None:
      _create_measurements_for_metrics(
          e2e_metrics,
          global_step=global_step,
          model_dir=model_dir,
          name=name,
      )
  else:
    raise ValueError(f'Unknown task: {task.name}')

def _check_options(output_dir, task, mode):
  """Checks against some invalid options so we can fail fast."""

  if mode == Mode.CREATE_DATA:
    return

  if mode == Mode.PREDICT_AND_EVALUATE or mode == Mode.EVALUATE:
    interactions = _get_test_interactions_file(
        task,
        output_dir,
        test_set=TestSet.DEV,
    )
    if not tf.io.gfile.exists(interactions):
      raise ValueError(f'No interactions found: {interactions}')

  tf_examples = _get_test_examples_file(
      task,
      output_dir,
      test_set=TestSet.DEV,
  )
  if not tf.io.gfile.exists(tf_examples):
    raise ValueError(f'No TF examples found: {tf_examples}')

  _print(f'is_built_with_cuda: {tf.test.is_built_with_cuda()}')
  _print(f'is_gpu_available: {tf.test.is_gpu_available()}')
  _print(f'GPUs: {tf.config.experimental.list_physical_devices("GPU")}')

def main(argv):
  if len(argv) > 1:
    raise app.UsageError('Too many command-line arguments.')

  if FLAGS.tapas_verbosity:
    tf.get_logger().setLevel(FLAGS.tapas_verbosity)

  task = tasks.Task[FLAGS.task]
  output_dir = os.path.join(FLAGS.output_dir, task.name.lower())
  model_dir = FLAGS.model_dir or os.path.join(output_dir, 'model')
  mode = Mode[FLAGS.mode.upper()]
  _check_options(output_dir, task, mode)

  if mode == Mode.CREATE_DATA:
    # Retrieval interactions are model dependant and are created in advance.
    if task != tasks.Task.NQ_RETRIEVAL:
      _print('Creating interactions ...')
      token_selector = _get_token_selector()
      task_utils.create_interactions(task, FLAGS.input_dir, output_dir,
                                     token_selector)
    _print('Creating TF examples ...')
    _create_all_examples(
        task,
        FLAGS.bert_vocab_file,
        FLAGS.test_mode,
        test_batch_size=FLAGS.test_batch_size,
        output_dir=output_dir)

  elif mode in (Mode.TRAIN, Mode.PREDICT_AND_EVALUATE, Mode.PREDICT):
    _print('Training or predicting ...')
    tpu_options = TpuOptions(
        use_tpu=FLAGS.use_tpu,
        tpu_name=FLAGS.tpu_name,
        tpu_zone=FLAGS.tpu_zone,
        gcp_project=FLAGS.gcp_project,
        master=FLAGS.master,
        num_tpu_cores=FLAGS.num_tpu_cores,
        iterations_per_loop=FLAGS.iterations_per_loop)
    _train_and_predict(
        task=task,
        tpu_options=tpu_options,
        test_batch_size=FLAGS.test_batch_size,
        train_batch_size=FLAGS.train_batch_size,
        gradient_accumulation_steps=FLAGS.gradient_accumulation_steps,
        bert_config_file=FLAGS.bert_config_file,
        init_checkpoint=FLAGS.init_checkpoint,
        test_mode=FLAGS.test_mode,
        mode=mode,
        output_dir=output_dir,
        model_dir=model_dir,
        loop_predict=FLAGS.loop_predict,
    )

  elif mode == Mode.EVALUATE:
    _eval(
        task=task,
        output_dir=output_dir,
        model_dir=model_dir,
    )

  else:
    raise ValueError(f'Unknown mode: {mode}')

if __name__ == '__main__':
  app.run(main)

redpajama_set_name: RedPajamaGithub


text:
Welcome to Kolkata Dock System
Last Updated On: 24-Jan-2014
Commissioned in 1870, the journey of the first major as well as the only riverine port of the country continues through the tortuous process of ebb and tide, expectancy and challenges, intricately woven with the varying draft/siltation of the river Hooghly which cradles it, as it continues to adapt and re-engineer itself in newer locales and diversifying functions.
Kolkata Port, which celebrated its 143rd birthday recently, was once the premier port of the country but since 1966-67 faced a steady decline in its fortunes. However, due to its innate nature of innovation and adaptability including gravitating southwards to harness its deep drafted facilities and its huge potential in respect of movement of cargo through Inland Water Transport (IWT) mode, there had been a steady flourish in


text:
CONTACTS | LOCATION
Rooms Products
HOME | REGION |
TOMAR - 40 MIN
The development of Tomar is closely linked to the Order of the Templars, which received these lands in 1159 as a reward for the assistance they gave Dom Afonso Henriques (the First King of Portugal) in the Christian reconquest of the territory.
It was Dom Gualdim Pais, the first Grand Master of the Order in Portugal, who founded the castle and the remarkable Convent of Christ inside. Enlarged and altered over the centuries, this retains the influences of various architectural styles; it is the centrepiece of the city and classified as a World Heritage site by UNESCO.
Tomar, known as the city of the Templars, reveals other traces of their influence, particularly the Sete Montes Park, where traditionally rites of initiation are said to have taken place, and the Church of Santa Maria do Olival, founded by the Templars in the 12th century and containing the tombs of various Masters of the Order.
The Order of the Templars was suppressed in France in the early 14th century, but in Portugal it was transformed into the Order of Christ on the initiative of King Dom Dinis. This was subsequently approved by the Pope, and it was decided that the immense wealth they possessed should pass to the Order of Christ, which came to play an important part in the historic Portuguese Discoveries.
The Jews, after being expelled from Spain, founded a colony here in the narrow streets of the historical centre, in which one of the oldest synagogues in Portugal is conserved, complemented by the Abraão Zacuto Luso-Hebrew Museum.
The spectacular Festas dos Tabuleiros (a procession of white-clad virgins carrying headdresses made of bread loaves) are held every four years in July. Their origin is associated with the cult of the Holy Spirit.
About 14 kms from Tomar lies the lagoon of the Castelo de Bode dam, which captures the water to supply Lisbon, and whose islets and banks are covered with pine groves. There are ideal places here to spend some holiday time in contact with Nature.
Source: www.visitportugal.com
ENJOY THE LOCATION OF OUR HOTEL AND EXPLORE THE WEST REGION
OPEN REGION MAP
Beach Paredes de Vitória
Almourol Castle
Mountain and Caves
Church and Sanctuaries
Alcobaça Monastery
Castelo de Leiria
Praia da Nazaré
Praia de S. Martinho do Porto
Beach S. Pedro de Moel
I authorize the use of this data for marketing purposes and I have read and accept the Privacy Policy
Development and Design :
We use cookies to help give you the best experience on our website. If you continue without changing your cookie settings, we'll assume you are happy to receive cookies on the website. However, if you would like to, you can change your cookie settings at any time.


3 day 'BEGINNER' cleanse with tote – Franklin Juice Co.
You have a goal in mind and you're ready to start working towards it! Welcome to the"beginner" cleanse. We're going to get you started on your journey by starting with the basics.


text:
Tracy Randolph Porter (born June 1, 1959) is a social activist, entrepreneur and former American football wide receiver. He played for the Detroit Lions and Baltimore/Indianapolis Colts in the National Football League (NFL).

Porter studied Business Administration at Louisiana State University in 1983. He played college football for the LSU Tigers. He now serves as the CEO of Premiere Solutions, a fleet-management company based in California.

Porter is on the executive committee of the Sigma Pi Phi fraternity where he heads the national initiative to increase African-American diversity on company boards and serves as the chairman of the board at the National Football League Alumni Association.

He is not related to former New Orleans Saints cornerback Tracy Porter, although the younger Porter is a native of Port Allen, Louisiana, which sits on the opposite bank of the Mississippi River from Baton Rouge,, the elder Porter's hometown and home to LSU.

References

1959 births
Living people
American football wide receivers
Detroit Lions players
Baltimore Colts players
Indianapolis Colts players
LSU Tigers football players

redpajama_set_name: RedPajamaWikipedia


text:
Knitting the Continuum Together: Seizing the Opportunity to Improve Medical Education
Timothy P. Brigham, MDiv, PhD, Chief of Staff and Senior Vice-President, Accreditation Council for Graduate Medical Education (ACGME), and Kate Regnier, MA, MBA, ACCME Executive Vice President, reflect on strategic opportunities for medical education accreditors and hospital leaders to collaborate to improve health care safety and quality.
>>REGNIER: What could we work on together?
>>BRIGHAM: I think one of the things, one of the opportunities that we have here, at this place in time, you know, I talked a little bit earlier about where the space time continuum has torn a hole in the fabric of the Universe. And there's this really neat
>>REGNIER: [laughs] such a great opportunity
>>BRIGHAM: it's such a great opportunity is to really knit the continuum together. Nationally we're siloed, UME, CME, GME And the institutions that I visit most of the time there's this amazing silo of the CME people not knowing really what the GME people do and the GME people and the CME people tangentially knowing what's going on in the undergraduate arena. I think we have a rare opportunity to do this on a national stage to knit the continuum together, to do the kinds of things that only our two organizations can do because of our resources and the kinds of aspirational pressures we can put on the field. But also, to have that be a model for what happens in an institution, you said it earlier, you know, one of the things that the CLER Visits will do will almost force in a really good way the QI and the patients safety people and then the organizations that talk with the CME people. And their going to be engaging with the designated institutional officials in GME. What a powerful, powerful group of people that would be, if we could get those, the patient safety and quality people with the GME people and with the CME people all doing the things that are within their realms but collaborating in a way that we have not seen before. Faculty development from the CME side, resident learning from the GME side, and you know, those boundaries mesh in a lot of ways.
>>REGNIER: And at the same time, making sure that the accreditation process and requirements support that kind of collaboration
>>BRIGHAM: Correct.
>>REGNIER: As opposed to, worst case scenario, pointing in different directions
>>BRIGHAM: Right.
>>REGNIER: Best case scenarios, the redundancies are eliminated. And
>>BRIGHAM: Yes.
>>REGNIER: And what we require, what we look for in terms of documentation or compliance is just supportive of CME practice that supports what you're talking about.
>>BRIGHAM: Yes. We're, you know, in 2005 our Board came up with four strategic imperatives, which were like their dream. And those four strategic imperatives were, to create a accreditation system where we spark innovation not thwart it, that we reduce burden not increase it, that we move away from process, how many times did you do something, not that that's unimportant in all areas, but can you do it at the end of the day and to increase communication with internal and external stakeholders. That's what our next accreditation system is; those are the principles on which they're based. And the philosophical principles underlying even those things came from that task force that renamed itself the Patient Safety and Quality Task Force. And those are three things that we can partner with in ways that I don't think we've even imagined now, those three things are the safety and the quality of care of the patient under the care of the resident today; the safety of the patient and the quality of care of the patient under the resident when the resident is in practice. And the creation of a humanistic learning environment, where they can learn aspects of professionalism and effacement of self interest that will make them the kind of physicians that they want to be not just that we want to be. We can, we can meaning CME at the ACCME level and the AGME level and CME at the local level and GME at the local level I think can partner in those three areas and those four other areas that I just talked about in ways that we haven't even dreamed of that are creative and innovative in and of themselves.
>>REGNIER: I like, I like your, your sort of description, knitting the continuum together, I would agree with you I think we have a real opportunity to do that. And I'm always struck about the fact that, you know, whether you consider them to be silos or this concept of sort of making it linear in, in fact, it's really almost more circular. You know, because it's not something you start with in UME and you end with in CME
>>BRIGHAM: Right
>>REGNIER: What happens in CME or in practice
>>REGNIER: Informs what's going on in UME and GME
>>BRIGHAM: Sure
>>REGNIER: So, it's really, in my mind, more about making this continuous
>>BRIGHAM: No, I look at it as organic. Where there should be, sort of, continual mixing. I mean the studies on creativity that they've done show that most creative moments are when you can get creative thoughtful intelligent dynamic people together in same room and they bump up or in the same place and they bump up against one another and those sparks those are the sparks of creativity that can take us to the next level.
>>REGNIER: Certainly, right.
>>BRIGHAM: When I was in CME, I was in CME and GME and I had that privilege, which was rare back when I first started, you were either in CME or you were in GME. Most of my colleagues back in the Nineties if they were in CME they were sometimes in a totally separate building from the GME folk and the UME folk. I think that's changing and I think we can help drive that change.
>>REGNIER: Yeah I think hat's changing too and I think, you know, we have an opportunity to sort of learn from the, like you described, sort of the innovative organizations institutions where they actually are now together. We have, we have quite a few accredited providers where the, the person in charge of CME is in charge of GME
>>REGNIER: And in fact, we also have a couple where they're also in charge of QI.
>>BRIGHAM: Oh that's really neat.
>>REGNIER: Where that comes together is incredible because that QI data those QI initiatives are informing everything they're doing in CME and they're integrating GME. I mean that's you know it doesn't get much better than that.
>>BRIGHAM: And I think one of the things we need to do as the two accrediting organizations is set ourselves up so that we do the things that I talked about with the four strategic imperatives. In other word that we don't have the people who are running around in CME in GME just being mini compliance officers for accreditation standards. What we would like to do is have a rigorous accreditation model that guarantees, you know, that we will be graduating the kind of physicians for us that the public needs and deserves and wants. And that you'll be having the kinds of physicians that will be educating and keeping up and moving to the practices of the future rather than keep doing what they learned in their residency program sometimes 30 years ago. We have to, our responsibility in some ways is to link up our accreditation, I think, in a way that gets us out of the way a little bit, but still motivates in all kinds of ways the behaviors that we want. I went to a, I gave a talk at one of our major institutions in the country and we had a great, great, great time. We were talking and at one point somebody asked me a question and somebody else stood up in the audience stood up and said you can't ask Tim that question. And I said, why? Well, because that would give the indication that we don't know what we're doing in terms of accreditation. The DIO's office here is a, is a, is a, DIO designated institutional official and that office is a compliance office of the ACGME and all our program directors are compliance officers for the DIO's office, mini compliance offices for the ACGME. And I said, That's what you are? And they said, Yes. And I said, Well, that's the problem. We don't want mini-compliance officers, who are just spending 90 percent of their time wondering if they're adhering to accreditation standards. We want the accreditation standards to be so much so exciting and enticing in some ways that what we want to do we want to create educational leaders.
>>REGNIER: Right, right.
>>BRIGHAM: Who take it to the next level. And if we can do that, if we can link ourselves up so that people can make sense of this accreditation model between the LCME and ACGME and the ACCME and including in the practice realm, maintenance of licensure and maintenance of communication I think we will have done a great thing a great service for, for the learners, for the faculty and various dimensions and ultimately and most importantly for the patients under the care of all of our learners. Whether they be in practice or all the way down to whether they're first year medical student or before. That's an important piece, I don't even know if you want to put that piece in
[laughs]
>>REGNIER: No, I agree I agree
>>BRIGHAM: that's sort of subversive
>>REGNIER: I would sort of comment on that by saying I agree. I think that we've had the opportunity here at the ACCME to be trying to promote accreditation requirements that are exactly like you describe. Reflective of the organizations doing effective, independent education.
>>REGNIER: Right. And what happens is the conversation usually terms around into documentation
>>BRIGHAM: Yes
>>REGNIER: What do we need to demonstrate compliance what documentation do we have to have? And, and we would benefit greatly I think from focusing our accreditation systems, both of us, on this approach and particularly for those organizations that are accredited by both of us and really decreasing the amount of work necessary but, but retaining the value.
>>REGNIER: I mean accreditation should be about value. Right?
>>BRIGHAM: Increasing the value.
>>REGNIER: Increasing, perfect. Perfect.
>>BRIGHAM: And one of the things I think that people should know is how hard we are working together right now to do that, to do that very thing. We've just come from a couple of meetings that are talking specifically about how we get the accreditors to work more fruitfully together. And you've been there and I've been there and the LCME has been there, the American Hospital Association has been there. I still think, maybe this is my final comment, I think we are in a rare moment in time where we can actually make a fundamental positive transformative change. And it's up to us on the merry-go-round to take that brass ring and do something with it and I feel amazingly privileged to be working with you, to be working with the caliber of people I've been working with in the milestone groups, who are doing work way above and beyond the call of duty, Specifically because they believe so much in the education of young physicians and they want to do it, I love your thing, adding value to it not talking away. So, thank you.
>>REGNIER: Thank, you.
© 2013 Accreditation Council for Continuing Medical Education; all rights reserved. For non-commercial educational use only. For permission to reproduce and/or distribute for other purposes, please contact info@accme.org.


TALLAHASSEE - When Gary Fineout went to the Clay County Sheriff's Office and asked for the sheriff's latest e-mail regarding the budget, the office requested Fineout's name and a telephone number.Two days later, he got a letter from the department's attorney saying no such record existed."I just gave my name and a cell phone number. I gave no other information," said Fineout, a former reporter for The Miami Herald. "In order to find out who I was, somebody had to do a little bit of checking."His experience outraged Barbara Petersen, president of the open government watchdog group First Amendment Foundation and chairwoman of a commission on open government formed by Gov. Charlie Crist."How much do you think it costs to have the lawyer write a letter to Gary Fineout?" Petersen asked. "Why do they go to all that effort because someone makes a public records request? And then to have the attorney write him a letter. It's such a simple thing."Fineout's request, part of an audit organized by the Florida Society of Newspaper Editors, shows that many school districts, sheriff's offices and county administrative offices don't understand how they should respond to public records requests - even though the state constitution and law clearly requires access with minimal restrictions.Under Florida law, anyone can request a public record for any reason and expect to get it, no questions asked. But in reality, what residents face are confused public employees and questions: Who are you? Why do you want this? Can you put your request in writing?FSNE sent reporters from Florida newspapers and The Associated Press, plus volunteers from Florida universities, to 56 of Florida's 67 counties. They walked into 163 school, administrative and sheriff's offices last month and asked for e-mails about the local budgets. (In Duval County, the Times-Union asked for e-mails regarding the Jacksonville Journey budget from the mayor and sheriff.)Failure to complyMany were told that the superintendent,administrator or sheriff didn't send e-mails on the budget. In those cases, auditors were instructed to ask for the latest correspondence or written record related to budgets.Almost 43 percent of the offices failed to comply with the law, either because they required a name, reason or written request or because they weren't able to reasonably produce a record.Overall, county administrative offices were the best at providing records, with only about a quarter failing to comply with the law. Sheriff's offices were the worst, with more than 60 percent failing to comply.In Jacksonville, the Times-Union intern who made the requests was asked for his name specifically as part of the records request at the Sheriff's Office and City Hall. His name was requested by school officials to enter the building.No records were provided the day of the request but were received within a few days from the office of Mayor John Peyton and schools Superintendent Ed Pratt-Dannals. Sheriff John Rutherford's office never sent the record."It's unacceptable. Citizens are more and more frustrated with government and how it works and when they feel they're not going to have a smooth process, it discourages them from utilizing what is their right," said Mark Tomasik, editor of Scripps Treasure Coast Newspapers and president of the Florida Society of Newspaper Editors, said of the audit's overall findings. "Organizations like FSNE and AP and all the newsrooms throughout Florida will continue to make this a priority in our coverage."In many cases, auditors were told no one was available who could help them and to come back another time. Some were sent directly to top officials and still met a dead end.Suspicious mindsBut sometimes the results were more extreme.TaMaryn Waters walked into the Jefferson County school district offices with a simple request: She wanted a copy of the most recent e-mail the superintendent sent School Board members about the district budget.But it wasn't so simple. What she found was a staff that was confused and suspicious and a superintendent who didn't understand public record laws. Waters never told them who she was, but a week later the superintendent's secretary called her and admitted the staff tracked her down by running her license plate number."This seems like an awful lot of trouble to go through to find out who a person is because they asked for an e-mail," Waters said recently. "They have my address and everything. For what? Because I asked for an e-mail."Waters, who is an education reporter for the Tallahassee Democrat, usually doesn't have a problem getting records in her professional role. So she was surprised at what happened when she asked for records as if she were just a regular citizen.Jefferson County schools Superintendent Phil Barker asked Waters who she was. Waters asked him if she had to give her name to get the record."Well, I don't know. I think so," Barker said.Barker's secretary, Shirley Cannon, readily admits she doesn't understand open government laws, and that Waters' request caught her off guard."When she came in and she didn't identify herself, it seemed kind of suspicious. These days you've got to be careful," Cannon said, explaining why her license plate was run. "We did that out of just safety precautions."Cannon said if Waters had just let her know she was a reporter, she would have been glad to help. "I would have knocked myself out to make sure she got it."That's the problem. The laws are meant to benefit everybody, not just the media."I was just a regular person asking for an e-mail, but I feel like if I had come in there as TaMaryn Waters, an education reporter for the Tallahassee Democrat, I would have gotten it," Waters said. "It was a totally different response and that's just not right."


The big guns in the UK have all today confirmed they will be selling BlackBerry 10 devices soon after the January 30th launch event – dates are yet to be confirmed though. Three, O2, Vodafone and EE all sent out statements today highlighting their commitment to the new operating system from Research in Motion, along with high street retailers Carphone Warehouse and Phones 4U.
While the news is great, it doesn't come as a great surprise to me. Of course they are all going to support BlackBerry 10. Why wouldn't they? With RIIM having around 9 million BlackBerry subscribers here in the UK it would be rather foolish for anyone to not sell it.
Roll on January 30th when we should get confirmation of availability etc.


text:
Trump makes last-ditch pitch to Black Americans in op-ed
Black Americans are a crucial voting bloc
By Paul Best | Fox News
Trump unveils 'Platinum Plan' for Black Americans in Atlanta
President tells Black voters Democrats take them for granted; correspondent Kristin Fisher reports
After losing Black Americans by 85 points to Hillary Clinton in 2016, President Trump has made a concentrated push to win a larger share of that crucial voting bloc, culminating in an op-ed this week entitled, "My Message to Black America."
The president took direct aim at his competitor, claiming he's "done more for the Black community than Democrats like Joe Biden have done in 47 years."
"The unemployment and poverty rates for Black Americans hit record lows just before we were attacked by the China Virus," Trump wrote. "Wages are now growing faster than they have in over a decade, especially for blue-collar workers."
ELECTION 3 DAYS AWAY: TRUMP, BIDEN BARNSTORM SWING STATES
He also touted the Opportunity Zones program created through the 2017 GOP tax bill, his work with HBCUs, and the criminal justice reform bill known as the First Step Act.
There is some evidence that Black voters have started to swing towards the president, but they still overwhelmingly support Joe Biden. According to the latest Fox News poll, 80% of Black Americans support the Biden-Harris ticket, while 14% back Trump and Pence.
Black voters were a big part of the reason Biden became the Democratic nominee. When the former vice president's candidacy was imperiled earlier this year, he delivered a forceful victory in South Carolina by capturing 61% of the state's Black vote, according to Washington Post exit polls.
TRUMP CLAIMS BIDEN 'NO LONGER WORTHY' OF THE BLACK VOTE
After locking up the nomination, Biden then picked Sen. Kamala Harris, D-Calif., as his running mate, making her the first Black woman ever on a major party's presidential ticket.
Trump is pitching an economic renewal for Black Americans in the second term to pull some of those voters away from the Biden-Harris ticket.
"We've unveiled my second-term agenda called the 'Platinum Plan' for Black Economic Empowerment, to ensure even more Black Americans have the opportunity to succeed over the next four years," the President wrote in his op-ed pubbed on the Dallas Weekly website Friday.
"I've committed to adding 3 million new jobs for the Black community, creating 500,000 new Black-owned businesses and increasing access to capital in Black communities by almost $500 Billion to create an era of new prosperity and to finally close the wealth gap."
TRUMP COULD HAVE OPENING WITH BLACK, LATINO MEN AS BIDEN UNDERPERFORMS IN POLLS
President Trump also worked with the rapper Ice Cube, whose real name is O'Shea Jackson, on the Platinum Plan.
Another rapper, Lil Wayne, born Dwayne Michael Carter Jr., met with the President Thursday, saying that "the platinum plan is going to give the community real ownership."
50 Cent, real name Curtis James Jackson III, appeared to endorse the president earlier this month when he publicly criticized Biden's tax policies, but he has since reversed his support.
CLICK HERE FOR THE FOX NEWS APP
Black voter turnout fell for the first time in two decades in 2016, declining to 59.6% from a record-high of 66.6% in 2012, according to Pew Research.
But with early voting turnout already breaking records in the U.S. this year, the Black vote will be an important bloc that could swing the election for Republicans or Democrats.
Paul Best is a reporter for FOX Business and Fox News. Follow him on twitter at @KincaidBest.


Local beer aficionados can soon sip a locally crafted brew fresh from the tap when Elizabeth City's first microbrewery opens late this fall in the downtown area. Thomas and Tabitha Reese, owners of the new Ghost Harbor Brewing Co., are looking to attract those with a taste for craft beer and newcomers who may be trying one for the first time.
Operating as a four-barrel brewery, Ghost Harbor Brewing Co. is located at 606-B East Colonial Ave. in a building that served as a horse stable and livery in the early 1900s. When completed, patrons can visit the indoor tasting room or take their drinks outside to the adjoining and recently renovated Palin's Alley, an Elizabeth City landmark. A selection of local wines from nearby Sanctuary Vineyards will be offered, and take-out dining from nearby restaurants is encouraged. Hoppin' Johnz New South Cuisine sits adjacent to the brewery, and a variety of independently owned restaurants are within an easy walk.
In addition to putting the finishing touches on the building, the couple, who resides with their family in Elizabeth City, has enjoyed spreading the word about their venture. Thomas spoke about the "Science of Brewing" at a continuing education night at Port Discover, talked up the business at a Committee of 100 meeting of local business leaders and staged a pop-up event during October's First Friday ArtWalk event.