text:
The Free Library > Business and Industry > Business > Caribbean Update > November 1, 2014
The Free Library > Business and Industry > Business, regional > Caribbean Update > November 1, 2014
The Free Library > Science and Technology > Economics > Caribbean Update > November 1, 2014
The Free Library > Date > 2014 > November > 1 > Caribbean Update
World bank endorses strategy.
<a href="https://www.thefreelibrary.com/World+bank+endorses+strategy.-a0387059541
MLA style: "World bank endorses strategy.." The Free Library. 2014 Caribbean Update, Inc. 20 Jan. 2020 https://www.thefreelibrary.com/World+bank+endorses+strategy.-a0387059541
Chicago style: The Free Library. S.v. World bank endorses strategy.." Retrieved Jan 20 2020 from https://www.thefreelibrary.com/World+bank+endorses+strategy.-a0387059541
APA style: World bank endorses strategy.. (n.d.) >The Free Library. (2014). Retrieved Jan 20 2020 from https://www.thefreelibrary.com/World+bank+endorses+strategy.-a0387059541
The World Bank Board of Executive Directors endorsed a new strategy to support the DR's efforts to broaden economic and social opportunities for citizens, reports Caribbean360.com (Sept. 26, 2014). The strategy offers a new lending program of US$550 million and advisory services over the next four years. The new strategy was jointly prepared by the DR, and the World Bank Group (WBG) comprised by the Intl Bank for Reconstruction and Development (IBRD) the Intl Finance Corp. IFC) and the Multilateral Investment Guarantee Agency (MIGA). While the DR grew at an average of 6.7% per year over the last decade, making it one of the top performers in the Latin America and Caribbean region, poverty and unemployment have remained high, with 46% of rural Dominicans living in poverty and about 30% of young people unemployed. A critical part in the strategy will be played by IFC, the largest global development institution focused exclusively on the private sector. The IFC's committed portfolio in the DR stands at US$208 million
COPYRIGHT 2014 Caribbean Update, Inc.
Caribbean Update
Brief article
5DOMN
Number one cruise port.
Top in organic cacao.
Foreign economic assistance
Forecasts and trends


text:
Tax and banking cause concern for expats
The governing body of the Swiss Abroad organisation meets twice a year Keystone
The Swiss abroad community has vowed to fight any discrimination by financial institutions amid a row with the United States over tax compliance. Expatriates are also worried about a tightening of French inheritance tax rules.
This content was published on March 16, 2013 - 18:18 March 16, 2013 - 18:18
Urs Geiser
Worked in radio and newspaper journalism, as well as teaching and tourism before joining swissinfo.ch's predecessor Swiss Radio International in the 1980s. He reports from parliament, and focuses on direct democracy issues.
More about the author | English Department
The Council of the Swiss Abroad called on the government to ensure that Swiss banks no longer refuse to open accounts or manage assets for Swiss expats. At a meeting in Bern on Saturday, it also stressed that bank fees must not be excessive.
The move comes as expats in the US or with dual American and Swiss nationality in particular face being shunned by Swiss banks.
The issue of tax compliance and a perceived discrimination of certain Swiss expatriate bank clients came to the fore in 2008 in the context of the global financial crisis. The Swiss Abroad Council has voted several resolutions over the years.
It argues that for a Swiss citizen living abroad who respects tax rules, it is inacceptable to be denied an account at reasonable conditions.
However, the government came out last December against a proposal by Roland Büchel, a senior member of the Swiss Abroad Council and parliamentarian, to guarantee Swiss expats access to the financial arm of the state-run Swiss Post.
Innovation in women's health comes in small doses
As awareness of women's specific health needs grows, Swiss researchers and entrepreneurs help counteract a history of neglect.
It said any extension of PostFinance's mandate to provide a guaranteed service for the Swiss Abroad was too complex and costly. Parliament still has to debate the proposal.
Büchel for his part called for renewed efforts to maintain pressure on the authorities and banks. "Constant dripping wears the stone," he told the governing body of the Organisation of the Swiss Abroad (OSA).
Its president Jacques-Simon Eggly added that it was worthwhile pursuing the issue even if parliament were unwilling to follow suit.
Swiss citizens live in all corners of the world
This content was published on Jan 29, 2016 Jan 29, 2016 One in ten Swiss lives abroad. More than half of them live in Europe, with France, Germany and Italy the most popular countries. Elsewhere, the...
The council hopes a proposed deal on tax compliance with Washington, known as Foreign Account Tax Compliance Act (Fatca), could be a step towards resolving fiscal issues for 76,000-strong Swiss expat community in the US.
Nevertheless, the council urged the government to bear in mind the interests of Swiss expatriates in negotiations about international treaties.
"Fatca is just one example. Negotiations with France over inheritance tax leave no doubt that more problems will follow," said Remo Gysin, a senior member of the Swiss Abroad Council.
The Swiss government signed the controversial Fatca deal with the US last month. Parliament is due to discuss it later this year and political parties on the right and left have already announced they will reject it.
Sign up for our free newsletters and get the top stories delivered to your inbox.
Fatca obliges foreign banks to report offshore accounts held by US tax payers, including expats. The law is part of a policy by the US authorities to crack down on tax dodgers.
French concerns
The double taxation agreement with neighbouring France has recently become a controversial issue.
France has announced it wants to revise a 1953 accord in a bid to recover inheritance tax from its citizens living in Switzerland and force Swiss who own property in France to be taxed there.
The Swiss Abroad community as well as the cantons strongly oppose the amendments by Paris, saying it is discriminatory. Senior council member Jean-Paul Aeschlimann from France warned it could also set a precedent for other countries.
The Swiss government has been given until the end of June to negotiate a compromise before parliament is scheduled to discuss it.
Georgia elections in US showcase the nuts and bolts of democracy building
This content was published on Jan 11, 2021 Jan 11, 2021 Zurich-based American law lecturer Alexandra Dufresne sees both positive signs and cautionary tales in recent US political developments.
There are about 186,000 Swiss citizens living in France – making it Switzerland's largest expat community.
The agreement would also affect the estimated 2,000 French millionaires currently living in Switzerland.
Expat pressure groups
The Organisation of the Swiss Abroad (OSA) represents expatriates' interests at home and outside Switzerland
The federal authorities recognise it as official voice of the expat community worldwide.
The Council of the Swiss Abroad is its governing body and currently has 129 members. It meets twice a year, in spring and in summer, just ahead of the annual Congress of the Swiss Abroad.
Limiting mandate
A proposal to limit the mandate of OSA presidents to two terms – or a maximum of eight years – prompted a lively debate on Saturday.
It was welcomed by many members of the council, but rejected by a majority of the leading committee.
Supporters argued the time was right to bring young blood into the OSA leadership, while opponents warned it was not easy to find suitable personalities to lead the organisation as OSA director Rudolf Wyder will step down later this year.
There was also criticism of the perceived attempt to undermine the position of the current president, who took up his post in 2007 and would not able to stand for re-election in August.
A final decision is expected in 2014.
More than 715,000 Swiss citizens live abroad according to official data from December 2012.
Most of them are registered in neighbouring countries France, Germany and Italy.
There is also large Swiss community in North America.
About 150,000 Swiss expats have registered to take part in nationwide votes and in elections in Switzerland.
This article was automatically imported from our old content management system. If you see any display errors, please let us know: community-feedback@swissinfo.ch
Council of the Swiss Abroad (CSA)
Organisation of the Swiss Abroad (OSA)
Foreign ministry - Living abroad
Tax compliance deal signed with US
This content was published on Feb 14, 2013 Feb 14, 2013 Switzerland and the United States have signed a controversial deal aimed at cracking down on wealthy American tax dodgers. The accord further...
Banking data debate offers no easy answers
This content was published on Jan 17, 2013 Jan 17, 2013 To preserve its financial sector, should Switzerland launch a counter-attack asserting its sovereignty or take an active role in reducing the...
Hollande rules out tax amnesty with Swiss
This content was published on Dec 7, 2012 Dec 7, 2012 There will be no fiscal amnesty as part of any agreement on banking secrecy with Switzerland, said French President François Hollande on Friday...
Concern over Franco-Swiss inheritance tax plans
This content was published on Aug 25, 2012 Aug 25, 2012 Plans to revise a 1953 Franco-Swiss inheritance tax accord are making waves. The new treaty would help France recover inheritance tax from its...

redpajama_set_name: RedPajamaCommonCrawl


A leading designer and manufacturer of electrically heated equipment for diverse industrial and commercial applications.
TRENT is a leading electrically heated process equipment manufacturer for diverse industrial and commercial applications. Among the products in our line are electrical heating elements, replacement industrial furnace and oven parts, industrial electric jackets, industrial plug heaters, oil immersion heaters and hot plates.


text:
Q: Lost my Windows XP after bot-repair from the boot menu I had ubuntu 12.04 alongside windows XP and was working fine.
Then I did following,
1. Reinstall windows XP and I lost grub
2. Booted using Ubuntu live CD and installed boot-repair
3. Did boot-repair with 'recommended repair'
Now the notebook boots with grub, but windows XP option is missing.
http://paste.ubuntu.com/6649686/
thanks,
Aniket

A: You installed windows XP on /dev/sda5 which was a logical partition.Windows can't be able to boot if it was installed on a logical partition.
So try to reinstall Windows XP on a Primary partition.

A: I always do the following -

*

*If you installed Windows XP and lost GRUB, then get EasyBCD and get your Ubuntu back.

*If you installed Ubuntu and lost Windows, use Windows XP boot-repair (from its CD/DVD) to get your Windows booting.

If you do not know how to use EasyBCD, follow the steps 2 and 3 mentioned here under the Adding Ubuntu to the Windows Bootloader heading.

redpajama_set_name: RedPajamaStackExchange


Why update to the pro 3.
Get the best out of FDM 3D printing with the FELIX Pro 3. The upgrades gives you an as good as new printer. The features of the Pro 3 give you the following benefits compared to the FELIX Pro 1 or 2.
Better Performance. The print quality is improved in terms of detail and consistent extrusion. The hot-ends are more stably fixed in the extruder and also the new hot-end with small heater body gives better performance. The airflow is now coming from 2 sides giving a nicer print results and overhangs are printed better from all sides.
2x Faster dual head printing. The small heater body, ensures very fast heatup and cooldown times, making extruder switching approx 2 times as fast!
Bed leveling is more reliable and accurate due to improved construction.
Remove large 3d printed objects easily and without damage. The new magnetic flexplate solution.
Easier maintenance. The new extruder construction enables even easier hot-end replacement and further maintenance if needed. Saving you precious time.
Improved reliabilty. The z-sensor to sense the bed and also enable automated features, is now more reliable due to changed contact material and construction. Also there are no critically moving parts anymore. The cable assembly is changed and also the bed contact pins are exchanged by the flexplate solution with fixed wire.
A fully checked machine and updated with tweaks to the latest standard. If applicable and necessary the following gets also replaced.
New touchscreen + camera, with printfarm and remote print monitoring capabilities.


From its inception, the idea of the Toneprint pedal was a winner. Users of the pedal would buy one of the various Toneprint pedals, download the Toneprint app on their phone, and connect the phone to the pedal. Then, players could transform the pedal from tape delay to reverb to distortion simply by downloading new templates on their phone. Different templates can also be downloaded on the computer, and then transferred to the phone.
This all inclusive method may not be practical on stage (imagine having to change the settings on your phone in the middle of the song), but for in home practice it can open up a wide range of sounds. One of Toneprints strongest assets is its signature celebrity pedals, which simulate popular effects made famous by specific musicians, including legends Deep Purple.
That's right, bassists and guitarists can now simply download the Roger Glove or Steve Morse templates to get the exact tone of the heavy rocker stars. The two musicians actually worked with TC Electronics, assuring fans that the tones are genuine.
Currently, 5 different templates based on these two musical icons are available. In the Roger Glove bass set, the Fun at Home Hall Reverb and the Spare Room reverb are available. Reportedly, Glove likes the Spare Room tone so much, he actually uses it while playing live.
The Steve Morse guitar set, on the other hand, features a spring reverb, a delay, and a self-proclaimed "Beautiful Reverb". All 5 of these pedals are available for free download, which should further incentivize fans to experiment with these unique effects.


text:
Q: I'm getting a Key Error Message after using a For loop and then trying to access the columns by name in a Python Series
I hope that someone can help me here. I'm pretty new to Python and I got stuck with a For Loop to create a couple of time shifts for my datetime Series. Once I iterated over the shifts and want access the columns by name to calculate the percentage change, I get a Key Error.
Here is what my code looks like:
i=1
x=50
for i in range (x):
    df_data_1['visits_lag_',i] = df_data_1['visits'].shift(i)

The output looks the following:
df.dtypes
Now, If I want to calculate or access one of the newly created columns, I receive a Key Error Message:
 df_data_1['percent_change_test'] =
(df_data_1['visits']/df_data_1['(visits_lag_, 1)'])*100

It says:

Please, can anyone help me here, what I'm doing all wrong.

A: I think the problem is related to how you call the newly created column.
Instead of:
df_data_1["(visits_lag_, 1)"]

Try to do:
df_data_1[("visits_lag_", 1)]


The scores for the tune of Rock & Roll Band can be previewed further down. Rock & Roll Band is a Boston composition.
Below you can find all our currently available arrangements for Rock & Roll Band. You can preview any arrangement before purchasing. In order to do this, please navigate to the appropriate score that you would like to see and click on the preview button in that line. If we offer the composition for a number of different instruments, you can switch to see the available arrangement for only one instrument, or all instruments. To do this change the selection in the drop down box marked "All Instruments".
We have a Comments tab below where you can write your thoughts about this Boston song. Simply click on it to view existing customer feedback, and to type your own. All you need to do is choose a screen-name (one that has not yet been taken - we will tell you if it has been), and you are ready to post. Did you dig this piece of music? Would you like others to know how much you enjoyed playing this track? Then simply click on the share button and you can select from a number sharing options. We offer the sheet music for Rock & Roll Band for 5 instruments. In total our sheet music selection for this song has 3 arrangements to choose from.


text:
21st Century Problems – the short version
It's taken me longer than usual to get through this assignment, partially because I was presenting at the Vietnam Tech Conference last weekend in Saigon, and partially because I had trouble deciding on what story to tell. I considered some of the stories of my own past, but realized that most of the most meaningful stories to me don't have an easy set of visuals to accompany them. Additionally, they didn't seem to really fit with the themes current in my life.
I've been doing storytelling for the past 10 years or so. When I moved to Bloomington, Indiana one of my close friends there told me about the Bloomington Storytellers' Guild, a group that met monthly to share stories and techniques, as well as twice a year to perform for the community: a Festival of Ghost Stories in October and a Wintertelling event in Jan / Feb.
As I began my training to become a history teacher, I knew that I wanted to improve my storytelling craft so that I could bring some of the stories from history to life. Every October I worked to find a story that fit with mood or theme that seemed most relevant. My first year, I told the story of The Monkey's Paw by W.W. Jacobs because my father had told me a variation of it when I was young. The next year, I sought out the scariest story I could find and ended up with The Room in the Tower by E.F. Benson.
For the next few years, I tried (with varying success) to write my own stories and tell them for the community. Yet in all of these cases, the stories used a single modality, words, to both tell the story and to connect with the audience. This year, as I've been studying and practicing how to create engaging, effective presentations, I still keep coming back to the importance of words, ideas, and content over graphics or transitions.
That said, digital storytelling is a different beast than a live storytelling presentation, and the visuals give an opportunity to connect directly with the audience in a way that words can't. Since much of my work this year has revolved around my 21st Century Problems presentation, I thought this might made a good opportunity to strip it down to the essentials, condense the ideas into a 5 minute script, and then turn it into a pecha kucha style presentation with slides every 15 seconds.
First I recorded the script with Audacity, cleaned up the noise, and tried to edit it so that it would fit into 15 second chunks. Then I fit the script into a story-grid and began to look for pictures that were in the Creative Commons that would fit with each chunk. Once I had all the pictures and the attributions, I loaded the photos into Adobe Premiere Essentials and tested to see how it ran against the audio track.
Right away, I could tell that a strict pecha kucha format wasn't going to work as well. The transitions of the script simply didn't match the slide transitions, so the flow felt very much off. I threw away the strict timings and instead matched the transitions with the actual points in the script that made the most sense. In this process I ended up adding a few new photos as well.
Finally, I found an audio track called "Red Steam" by Boogie Belgique that was about the right length and available under CC through the website Jamendo. I put the song in, added titles and credits, rendered it, and uploaded it to YouTube.
Overall, I think the video came out fairly well, though there are always things that can be tweaked. If you have any suggestions, please offer them in the comments!
Google Script Lesson 10 – Full-scale feedback	Google Fusion Tables: My Kind of Infographic


text:
Portrait of a Press: Write Bloody Fights to Bring the Stage to the Page
June 7, 2014 • By Isla McKetta
IT'S NOT EVEN nine o'clock in the morning and the Write Bloody Publishing crew is looking a little weary. We're all a little weary after two full days and nights of panels and parties at the Association of Writers & Writing Programs (AWP) Conference in Seattle. With a few minutes to go before their presentation starts, Cristin O'Keefe Aptowicz is joking around with Derrick C. Brown, founder of Write Bloody, about how many retweets she got on a topless picture she posted of him. Performance poets Taylor Mali, Jonathan Sands, and Mindy Nettifee are slowly gathering behind the tables at the front of the room while Brown rearranges the furniture. In a black T-shirt and jeans, he looks out of place against the beige carpet and faux-marble chandeliers of the Sheraton's Willow Room.
A former paratrooper with the 82nd Airborne, Brown describes being a publisher and author as "A war against the working self and the creative self. A war for more knowledge that demands speed, so you don't go broke, and a push to be a better businessperson." In the 10 years since Write Bloody was "born out of rejection and other failed presses," he has continued to wage that war, and he's learned a lot along the way.
Aptowicz interrupts Brown's furniture shuffle to ask, "Who do you think you are, Sherman Alexie?" in reference to the way he's taking over the room. Even before the panel starts, it's clear how much they all like one another.
Brown and his fellow panelists may still be recovering from their show earlier in the week at Seattle's Rebar, an event that included performances by more than 20 slam poets, but when the clock strikes nine, they switch to performance mode. The Write Bloody 10th Anniversary Reading and Honky Tonk Badonkadonk is now ready to rock this sleepy crowd. Brown cues up "Tainted Love" on his phone and holds it up to the mic. The music is jarringly loud, but makes this hotel conference room a little less generic, which is a good thing for the 40 or so 20- or 30-somethings in the room. It's the hippest crowd I've seen so far at the conference, and the least likely to be at an event this early. Brown then announces, "Ladies and gentlemen, I will be changing the song to something a little more suited to the 9 a.m. hour" before switching the music over to "Whoomp! (There It Is)." They are pumped and they want us to be pumped too.
Write Bloody isn't your average poetry press. Brown is a self-proclaimed "spoken word poet" who writes work that is meant to be heard rather than seen. The work he publishes at Write Bloody is mostly writing by other spoken word poets, many of whom come from the slam poetry scene. If you've never been to a poetry slam, it's an experience you won't soon forget. First conceived by Marc Smith at Chicago's Get Me High Lounge in 1984, the competition moved to the Green Mill in 1986, where luminaries like Patti Smith, John Rives, and Rebecca Bridge dominated the mic. During these wild events, random audience members judge the poets and their performances. It all starts with a "sacrificial poet" who is used both as a warm-up act and to create a baseline for scoring. Spectators cheer, boo, snap their fingers (unlike at the Beat readings of yore, a snap is a signal that the audience dislikes what they're hearing), and stomp their feet as poets leave their hearts onstage. It's not unusual for the noise to be as deafening as a rock concert.
At the Sheraton, Brown steps up to the mic again and says, "Ladies and gentlemen, I realize I chose the wrong song again. I will be changing it again." Instead he summons his best pro-wrestling announcer voice to introduce Aptowicz, who gives the crowd a quick rundown of Write Bloody's accolades. The press now partners with over 50 writers who have toured everywhere from Bangladesh to Germany and performed with everyone from the Flaming Lips to Cold War Kids and David Cross. One of their poets, Sarah Kay, has given two TED talks. Another, Taylor Mali, has YouTube videos with more than five million views.
The Origin of the Press
Brown shouts a falsely modest and playful, "What?" in answer to all the praise. He steps up to the podium to explain the Write Bloody origin story, which consists of three elements: bankruptcy, awful book covers, and a lie.
He doesn't elaborate on the bankruptcy, but the awful book covers may have been a contributing factor. A record label published Brown's book, If Lovin' You Is Wrong then I Don't Want To Be Wrong with the bar code for an album by The Get Up Kids on the back. The label folded, but Brown was undeterred. He says,
I was about to tour Europe and no one wanted to re-launch a book that was already released years ago. All my friends also had stapled chapbooks and the price point wasn't right. We were paying three bucks to staple and print and selling for five or six bucks. Everyone was beyond broke after every tour.
When Brown realized that publishers got discounts on printing, he created a website and voilà, instant small press. "I printed up all my chapbooks into one and made it look pro." He tells the crowd that the press expanded when he announced, "Hey friends, you want some books? I have 10 barcodes."
Brown describes some lessons learned by saying that there was "not a lot of proofreading in the early years. Sorry about that. If you've been to our backlist and been like, 'This looks like a drunk person did this'… Yeeees."
If only it was all that easy. Write Bloody has bounced around the country over the past 10 years. At one point, Brown moved to Long Beach, California, after a break-up and ran Write Bloody out of a storage unit. In 2012, the press moved to Austin, Texas, where Write Bloody had a storefront for a brief time.
The bookstore was first going to be an operational office and a small display area for book samples. It turned much bigger and we met all kinds of wonderful local presses during the bookstore period. I hunted, and I think we were the only poetry store that just sold our own books. We had pens and journals, but I learned a lot about why that wasn't profitable. We didn't go red but I couldn't hire anyone.
You almost get the sense that the press is chasing Brown, knocking on his door at midnight saying, "I can't quit you." Luckily for readers of poetry, Brown can't quit Write Bloody either.
Reinventing Poetry and Performance
The next speaker on the panel is Taylor Mali, a poet and teacher. In a button-down shirt, he explains his start with Write Bloody by saying, "I had been touring a lot when Derrick called me up and said, 'Do you want to use one of my barcodes?'" Mali shares how a friend asked him to present at a school, which led to an invitation to speak at an international school conference in Nice. There was no pay. The other panelists heckle him lightly at this point as if to say cheekily, "A poet, working for no pay?" He goes on to describe how much he enjoys connecting children with poetry. He shares how a 16-year-old Sarah Kay said to him, "I can never tell when you're reciting a poem and when you're just talking," and how, now that she's an internationally famous poet, a student recently emailed her the same thing.
Mali then reads from "Plagiarism in the Service of Art," an ars poetica that is so good and so well performed, it leaves the audience in a peculiar state of charged hush.
At this point in the Honky Tonk Badonkadonk, Brown begins walking through the audience passing around the traditional glass dish of wrapped candies you might find at any conference center in America. Aptowicz calls out, "We also lace candy with drugs. So you can enjoy the rest of AWP. Sherman Alexie's face is melting…"
Even among the slam poetry crowd, Write Bloody has a reputation for non-traditional approaches to shows. They've tapped into an underserved niche in poetry — something evidenced by the fact that student groups are more likely to invite the poets on this press to speak than teachers. In an interview, Brown recalled his favorite "reading series": a poetry cruise where he loaded up the boat on which he was living with wine and snacks and then added performance poetry and acoustic music. He described one night when "Buddy Wakefield swam from shore with a light on his head and freaked everyone out, screaming his poem from the sea to us. The poor exhausted dude. It was worth it." Not to mention the double-decker party bus poetry tours which Brown called "drunken spectacles" where the bus "stopped at lifeguard towers to read to everyone below in the moonlight." It's all a little closer to Ken Kesey's Merry Pranksters than Hemingway's A Moveable Feast. The Write Bloody Poetry Potluck I attended last year at Longbranch Inn in artsy East Austin was a raucous display of southern hospitality as poets performed poems related to the snacks they had brought for the audience. It was also a chance for Write Bloody to help out Timber Mouse Press, another slam poetry press just emerging in Austin, by sharing the stage with some of its authors.
At the Sheraton, Brown says it's "war to get people to come to your shows." A poet has to "convince people to come to this thing that's going to crush you." He advises that a successful event ought to have "great poetry, a DJ, candy laced with acid," and that the poets have to "fun it up; then hit them like a hammer with grief and the sugars of sorrow."
That sense of community and generosity is how Write Bloody really became a press. Brown says, "When I toured in the late 1990s, I'd hit the Green Mill and see someone who blew my mind and thought, that person needs a book. Everything changes or can change with a legit book." Aptowicz describes this as "horizontal loyalty." Write Bloody has published a wide variety of spoken poets including Anis Mojgani, David Perez, Karen Finneyfrock, and Franny Choi as well as prose writers like Idris Goodwin and Rebecca Bridge. Touring is still an important part of the life (and income) of Write Bloody authors; new recruits are required to set up 20 dates in their first year under contract. Most years, getting signed by Write Bloody involves a highly-competitive submission process that requires the author to undergo several rounds of jury review.
Performance Poetry on Paper
You might wonder how spoken word poetry translates to the page. According to Brown, "The live show is everything. Books can easily be free now that even the simplest program like Scrivener or Pages for Mac has an ePub function. You can scan anything and load it up." The book becomes a memento much like the program from a play. The audience member can't recapture the magic of the stage, but the experience can be recalled by leafing through the book. Write Bloody doesn't produce or sell many ebooks, because, according to Brown, "Ebooks don't work for every kind of title. Bibles and books of poetry want to be held. How to Play Tennis is a great ebook." When it comes to poetry, especially spoken word poetry writ on paper, the connection with the audience and the performance itself are essential.
Poetry in Unexpected Places
Jon Sands is next up on the panel. Now Director of Poetry Education at the Positive Health Project (a syringe exchange center located in Midtown Manhattan), he got his big break when playing ultimate Frisbee with a friend. He'd only been a slam poet for months when a friend asked him to teach. Wearing a blazer, the youthful Sands describes the "moment as an artist when someone presents an opportunity you don't officially have credentials for. I said yes." This approach has served him well. Sands became a Write Bloody poet through one of their submission contests. "Write Bloody pushes you to put yourself in the path of the opportunity to grow or to deliver."
Building an Effective Squadron of Authors
Brown met the next panelist, Mindy Nettifee, when she was 15 and he was home on leave from the Airborne. Nettifee jokes with the audience, "Pre-internet, you actually went out to coffee shops." She says, "Derrick is the biggest believer in the power of poetry. He believes in it so badly it's like osmosis." That osmosis has served her well. Although Nettifee looks impossibly young, she also serves as director of the Write Now Poetry Society, which she co-founded with actress Amber Tamblyn. She says, "Every single opportunity you have to get people to take poetry seriously, you have to grab it […] You have to do the work to get the people to the poetry." She tells the audience about one event where she invited Marilyn Manson to come and read William Blake.
Authors can be (and in the case of Write Bloody sometimes are) a press' best friend. This is especially true when a huge part of the press' business model involves authors hand-selling books at performances. According to Brown:
The bigger sellers love the people. They have long lines to get books signed after an event, and they sign something unique in each one. The book becomes a souvenir of the reading. Our bigger sellers were champions of the road. They didn't over-saturate their hometowns. They did a great huge book release party at home and then hit the libraries, theaters, house shows, and slams of the United States. The big sellers, before we signed them, had a website, press kit, press photo, mailing list, and merch. They had merch beyond just their book. Cool hand towels with sayings on them, book bags, posters, koozies. It all made the road a place to make money, instead of just a promotional money dump by the press.
He insists that not being able to pay for author tours made the authors work harder to put on a better show:
If they didn't put on a good live reading, they wouldn't sell books, and thus wouldn't be able to afford the hotel room or good meal, and then would be tired for the next reading. Every reading, all of the sudden, really matters. The audience begins to feel like the author gives a shit about being there and they are often rewarded financially and with a lasting fan base.
Authors can be a liability, too. This is particularly true when it comes to cover art where, as Brown puts it, "Tinkering will grind down your budget fast." He advises presses to "work with authors and ask them their current favorite covers, but don't let them grind you down when they might not even be sure of what they want. There will always be tiny changes that do not help the movement, mood, or sale of the book." As a result, Brown is careful about whom he works with and how much control he lets authors have over the process.
Publishing as a Financial Battlefield
The financial realities of a small press are not always pretty. Brown says, "I am getting better about trying to not lose money. I sadly have to let some books go when authors lose a passion for sharing the book. It's all to keep the family alive." One might imagine that the cash saved by this streamlining would result in larger advances for authors, but most poetry presses don't even use the word "advance." From layout to printing, running a press is just plain expensive. Brown has to juggle logistical and ethical issues like, "Do we order 1,000 copies and pay two bucks a book in China, or order 250 for $3.90 a book and print locally? It was important for us to print in the USA. We had to pay more, but we also get to hold our head up higher."
Sometimes it's hard for him to know where the landmines are before he steps on them. "As I was mentoring a local young press here in Austin," Brown says,
I realized I have spent many years dumbfounded and naïve in terms of making money at publishing. You aren't sure how long it will take to move 1,000 copies. One misstep, where you hire three new authors and all the books tank and take too long to make back the money, can fold and shut down a press.
He has opted for slower growth and smaller quantities to avoid renting another storage unit or taking out a loan.
Brown also made some mistakes early on with royalties. At first, he paid his authors quarterly. He says,
Books have returns. I was paying out money that didn't exist — meaning that I should've waited to see how the year played out. I would pay an author for their sales of 200 books and that money was gone. Five months later 120 of those copies would come back as destroyable returns, but I had already paid out the money on 200.
Then Brown
found out that Amazon takes 50 percent and a distributor takes 27 percent. (This is if you get an awesome distributor that sends out a sales force every season to pitch your new titles.) Collecting money myself from fifty bookstores was a nightmare. The manager wasn't in, some books might have been stolen, the check was delayed, etc.
It's easy to see how the money from the 22,000 copies Write Bloody sold last year could get eaten up by man-hours alone.
Still, Brown's committed to putting out a product he's proud of and, starting in 2006, he says, "We cut into our profits a little more by using Eco-Libris to plant trees for the first run of books. It was a good way to drum up press for our publishing house and the authors thought it was badass. It never made us get more sales, but it felt good."
So how does Brown make it work? He advises,
Make talented friends. I found Lily Lin, the cover designer, in Berlin on tour. She is a Canadian who didn't speak a lick of German and just packed up and gave it a go. Jennifer Heuer is an award-winning designer I found online randomly. Matt Maust [a graphic designer] is the bassist for The Cold War Kids. Nik Ewing, who did my cover, is the bassist for Local Natives and we met through Maust. [Designer] Brandon Lyon and I worked on a kids show together for four years when I was a graphic design director and writer. Matt Wignall is a Volcom photographer and shoots all kinds of bands. Bill Jonas [cover artist] is a set designer. Ashley Siebels [book designer] is an improv comic and designer in Austin who worked with us as an intern first. There are many freelancers who show up and make it all happen with very tight deadlines and low pay. Someday I will give them pedicures for their faces.
Friends like Amber Tamblyn and Taylor Mali also helped Brown out in 2010 when he put together a Kickstarter campaign to gather $20,000 to fulfill warehouse stock demands. Because of the sheer amount of time submission contests have involved in the past, these days Brown has returned to the model of asking friends and trusted authors to recommend new authors for Write Bloody to check out.
For many people, starting a press is a decision to focus on the business side of publishing, but Brown continues to fight for both the business and his art. In his words, "The press suffers from my needing to tour. But I need to tour." He says, "If you want to start a press yourself, you can. Maybe you should put out poetry and porn, to offset the losses." All kidding aside, Brown shares the financial reality of a small press: "Even if we sell 25,000 books in a year, that doesn't lead to much profit. I look forward to giving more talks to help others learn and not make my mistakes."
Knowing Brown, this podium in this bland hotel room is the last he'll stand behind any time in the near future. Unless, of course, it's part of a performance piece. And that is part of the energy that keeps Write Bloody so vital 10 years — and over 100 titles — later. When Brown wraps up the panel with a poem about the cities he's visited on tour, we are all glued to our seats, knowing there will be more.
Isla McKetta reviews books at A Geography of Reading. She co-authored Clear Out the Static in Your Attic: A Writer's Guide for Transforming Artifacts into Art and is the author of Polska, 1994, forthcoming in May 2014 from Editions Checkpointed.
Isla McKetta
Isla McKetta reviews books at A Geography of Reading. She co-authored Clear Out the Static in Your Attic: A Writer's Guide for Transforming Artifacts into Art and is the author of Polska, 1994, a novella from Editions Checkpointed.
Portrait of a Press: Canarium Books, A River of Songs
CANARIUM BOOKS — edited by Joshua Edwards, Robyn Schiff, Nick Twemlow, and Lynn Xu — is publishing some of the most compelling poetry being written today. I interviewed Josh, Lynn, and Nick, as well as managing editor Russell Brakefield, over the ...
Portrait of a Press: Four Way Books, 20 Years On
On the thriving, New York–based small press...
Portrait of a Press: Wave Books
"If you're getting the sense that Wave has a different idea of what constitutes a 'book' than other publishers, you're on to something."...


text:
State Holidays
Holidays by Country
How Many Days Until July 30, 2023?
If you are wondering how many days are left until July 30th, 2023? Use our counter! The counter will show you the exact number of days left until July 30, 2023.
Countdown to July 30, 2023
July 30th: FAQ
Which day of the year is July 30th?
What is the 211th day of the year?
What zodiac sign is a person born on July 30?
Disclaimer: We are using UTC (Coordinated Universal Time) timezone to calculate the number of days. Therefore, if you are in a different time zone the number of days may be different.
July 30th is the 211th day of the year (the 212th day of the year if the year is a leap year).
The 211th day of the year is July 30, except in leap years.
For People born on July 30th, the Zodiac sign is Leo.
How Many Sundays Are There in January 2023?
July 31st, 2023 Holidays and Observances
July 30th, 2023 Holidays and Observances
bob junior on Iowa (IA) State Holidays 2023: "put a holiday that is only celebrated in Iowa" Nov 11, 19:50
Kim Snively on Alaska (AK) State Holidays 2023: "If my employer gives its employees Christmas Eve and Christmas Day off, would we have Friday and Monday off or…" Oct 24, 18:12
MO on West Virginia (WV) State Holidays 2023: "Look at the WV state holidays for 2023 & 2024 that holiday is now on 19 and it is called…" Jun 10, 04:33
C on Hawaii (HI) State Holidays 2023: "How is it this calendar misses kam day." Jun 5, 05:09
Gabriela on Public Holidays in Cuba in 2023: "Donde, en que ciudad, se celebrara, el 26 de julio en el 2022? Where, in which city, will be the…" May 16, 21:51
How Many Sundays Are There in January 2023? 10/31/2022
July 31st, 2023 Holidays and Observances 09/30/2022
July 30th, 2023 Holidays and Observances 09/30/2022
July 23rd, 2023 Holidays and Observances 09/30/2022
2023 Public Holidays Dates


text:
Rowan Armour-Brown Memorial Trust Fund
Supporting Student Violin Makers
Rowan Armour-Brown
UK Colleges
RAB Trust blog
Workshop placements
Search the Rab Trust website...
Maurice Bouette cello 1965
The RAB Trust is delighted to have been given a cello made by the founder of the Newark School of Violin Making, Maurice Bouette. This is a generous donation from his family.
Maurice made the cello in 1965, while he was still living in London. It had been completely finished – you can tell that a bridge has been on it – but he must have been dissatisfied with the varnish, which had been stripped. The cello languished for years, latterly in the loft of his son Martin. A big sort-out followed Martin's untimely death in 2017 and the cello came the way of the RAB Chair, Helen Michetschläger who has varnished it and set it up.
The sound is good; even, well-balanced, with a lovely warmth and clarity all the way up the A string; focussed and responsive on the C. It would make a great instrument for a talented teenager or a serious amateur.
The cello was sold in April 2022. The entire sale price was donated to the Trust, and we like to think that Maurice would have been delighted that his work will help support the next generation of violin makers, many of whom are students at the school he founded.
Rowan Armour-Brown Memorial Trust Fund. Registered Charity No: 1102888
Copyright © 2023 · Privacy Policy · Site Map
Site by: Fernandes Creative


The weeks following a funeral can be very lonely.
We know first-hand that whilst the rest of the world returns to normal, those close to the person who has died can struggle with the knowledge that life will never be the same.
There will be those that need help coping with how life has changed, particularly in the case of elderly people.
Personal effects clearance of a loved one is particularly difficult, but is an area that more than likely will need to be faced when a death occurs.
Health reasons or distance may prohibit some family members from visiting the final resting place of their loved one so making maintenance difficult.
Then complicated issues of Probate, Will writing and in some cases the support of a Bereavement Counsellor will be required for certain members of the family.
Children will often want to talk to someone about how they are feeling but the signs may not always be immediately visible.
Whatever issues to be faced our clients can rest assured that The Personal Touch team will still be there for them.
Our comprehensive 'Aftercare' program covers all the essential services to help our clients make forward progress.
Our funeral consultants remain familiar faces to turn to for help and can advise on a wide selection of our excellent after care services.
These cover a broad range of specialist fields, and advice is given to help client's choose which service best suits their needs, and is offered free of charge to the families of all our clients.


text:
Holzheim am Forst (ufficialmente Holzheim a.Forst) è un comune tedesco di 1.017 abitanti, situato nel land della Baviera.

Altri progetti

Collegamenti esterni

Comuni del circondario di Ratisbona

redpajama_set_name: RedPajamaWikipedia


If your commercial property have Wasp pests in the Bristol area, we can help you identify and exterminate the wasp problem or even control your commercial wasp problem.
The wasp pest around Bristol can be a serious threat to people's health should they have an allergy to wasp stings. Although the wasp does not carry disease, the wasp sting will certainly leave its mark and wasps can sting multiple times. Wasp nests near or even in the workplace can be a serious pest problem and should be tackled by professionals. A typical Bristol wasp nest could contain up to 1000 or more wasps. Wasp nests are built by wasps chewing wood into paper type material.
What can we do to prevent or control your wasp pest problem around your commercial property?
Approach a wasp nest with caution. Some nests in the UK have reported to house up to half a million insects. These insects can attack when provoked and their stings can be fatal to some, sending them into anaphylactic shock. We will use the best wasp extermination methods currently employed by our wasp removal experts and will deal swiftly with your wasp pest problem, whatever time of day or night.
Pest Hive Small umbrella-shaped papery combs hanging horizontally in protected spaces such as attics, eaves or soil cavities.
Pest Special Ability Venom in Wasps Contains a Pheromone that Causes Other Wasps to Become more Aggressive.


text:
Home Small Business VALinux, O'Reilly, SGI Partner to Support Debian GNU/Linux
VALinux, O'Reilly, SGI Partner to Support Debian GNU/Linux
By Maura Ginty | October 12, 1999
Linux software distributor VA Linux Systems, book publisher O'Reilly and SGI Inc. Tuesday formed a partnership to bring the Debian GNU/Linux operating system to the masses by packaging the system into a CD-ROM book offering.
The companies will donate all sales profits to Software in the Public Interest, a Open Source project non-profit which also supports the Debian project. Debian is a popular noncommercial version of Linux used to develop over 2,500 free software packages, which until now has only been available as an Internet download.
The flagship feature of Debian GNU/Linux is "apt-get," which allows users to freely download all software upgrades contributed by the software's developers. VA Linux said the Debian GNU/Linux is its second most requested Linux package.
"The combined sponsorship of VA, O'Reilly and SGI is a unique effort allowing everyone to try the non-commercial Debian distribution," said Wichert Akkerman, the current Debian project leader. "The distribution has been built with the loving care of over 500 Debian developers, and we hope it will give everyone the same pleasant experience it gives us."
The Debian GNU/Linux package is priced at $19.95, and will include 1440 open source software alternatives. O'Reilly has also promised to offer the book for free online under the open publication license.


Canadian Celebrity Chef Chuck Hughes in Hong Kong!
Hong Kong Jockey Club at Happy Valley, Hong Kong, was quite a happening place last week. This was because Montreal-based celebrity chef Chuck Hughes was here to mesmerise his guests, including the media, with his exceptional culinary talent. He played host to an exclusive dining event for selected people. I am thankful to the American Express and the Asian Food Channel, for inviting me as a part of the media to sample the food cooked by him right in front of us!
Chef at work: so easy-going and competent!
If you are a fan of Celebrity Chef Series on Asian Food Channel (AFC), reason for you to smile! The series returns this month once again and will be showcasing Chuck Hughes who will make cooking an easy-going and fun-filled experience for his fans! AFC broadcasts on "now TV", channel 527, in Hong Kong.
Chuck emphasised on cooking with fresh and quality ingredients. As he cooked food for his guests, I noticed his confidence in his cooking skills and playfulness with his ingredients. The dishes demonstrated were easy, less time-consuming and tasted scrumptious! I particularly loved the dessert very much: tasting absolutely out-of-the-world with a touch of style!
Speaking about style, Chuck Hughes has a positive and a truly magnetic personality. His sense of humour is something which comes naturally to him. In his first dish (popcorn shrimp) which he cooked in front of us, he used honey as an ingredient. When one of my journalist friends enquired about which kind of honey to use, he innocently replied, "Canadian!", before telling us the actual answer, which set everyone laughing!
These dishes are one of his most popular dishes. So I was really inquisitive on how he makes them!
The first dish was deep-fried shrimps with a crunchy coating. I loved the spicy honey which the chef prepared to drizzle over the shrimps. It was simple, unique and flavourful. The spicy honey was infused with garlic, peppercorns, chilli flakes, smoked paprika and sea salt. I noticed that he loved adding citrus zest in his dishes, which really added a subtle flavour and aroma to his treats.
The second dish was classy. The beef was succulent and not overcooked. First, he coated the beef tenderloin with crushed coriander seeds, cumin seeds, mustard seeds, kosher salt, black pepper and oil (we use the same spices to marinate meat in India as well!). He made a terrific lemon aioli to go with it, which is basically an emulsion of spices and beaten egg in olive oil. Here too, he added lemon zest for a refreshing flavour. I must say, I never had such lemon aioli before, so tasty and made in minutes! The presentation with spinach leaves, fried capers and potato chips made it all the more inviting.
Frankly, I was eagerly waiting for the final dish, as it was a dessert and I am highly sweet-toothed. I never tried experimenting much with tapioca before, but now I am definitely going to explore with tapioca in my upcoming recipes on Cosmopolitan Currymania. Thanks, Chuck Hughes, for inspiring me! He deep fried a mixture of soaked tapioca, cream and milk by making small balls out of them. Not only that, the balls were oozing with sinful chocolate ganache filling, which gave the dish a level of its own!
Cosmopolitan Currymania would like to thank American Express and the Asian Food Channel for highlighting cooking as an art and for introducing Hong Kong to such amazing talents. I really learnt a lot of culinary nuances from him in that event. Full of life and having a down-to-earth personality, the chef is an exemplary that with hard work and enthusiasm, only sky is the limit!
This looks like such a great event. I don't know of this chef but his food looks fantastic.
Oh wowww..Love the photos Purabi..you are very pretty lady!!! All the dishes look so so delicious!!!Great post!!!
What an AWESOME event!!! Gosh, wish I was with you. LOVE the photos!
nice event!!!great pics!……….what an amazing time you would've had!very nice..i like the popcorn shrimps with that lovely dressing!
Wow…great…hope u had a very great time.
Looks like you had a great time! The dishes look spectacular and so delicious!
Looks like you had a rocking time…the food looks drool worthy and what a handsome chef!
Yay, Purabi! I'm so glad you got to go — what fun! Your descriptive write-up of the flavors and ingredients were inspiring, too — thanks. Looking forward to your "playfulness" in the kitchen in future posts. GREAT photos of you enjoying this event!
Great shots! Lucky u, managed to capture clear & stunning shots. I couldn't get very nice pix during my sessions with Bob Blumer & Bobby Chinn when they were in S'pore last time :< Looks like u'd fun! Hey, I've been nominated for this Int'l Women's Day. Appreciate if you could support this event & click on "Like" @ Support International Women's Day! Thks, dear!
I am so jealous!!! I love him…. not LOVE lol but I think he's pretty great. 🙂 The food looks awesome what a fun day for you.
Looks like a terrifically fun time! Food photos are great. Looking forward to seeing all of these dishes on Cosmopolitan Currymania!
a lovely treat for you! and us virtually!
Hey, thanks again for stopping by! This looked like a really fun event, I love cooking with honey!
Congrats on witnessing the Celebrity Chef Chuck in Action. As pics suggests , it must have been a gala event.
Thank you, dear followers and blogger friends, for your kind comments. I really learnt a lot of things in the event. It was great meeting a celibrity chef like Chuck Hughes and sampling his culinary creations!!
Great event…looks like u have enjoyed and experienced a lot…after all hardwork is paying you…keep it up…my best wishes are always with you.
What a fun-looking event–and those dishes look amazing! I wish I knew the secret to the tapioca arancini.


text:
Q: soap inspecting the xml in Delphi I am trying to understand how to configure a SOAP set of functions for ebXML in DELPHI, but I am stuck at first base.
I have followed Craig Chapman's tutorial (at http://web.archive.org/web/20150822142243/http://chapmanworld.com/2015/03/30/creating-and-consuming-soap-services-in-delphi/) and got it to run OK.
However, I want to see the xml that it is passing when it is running "live", so I can see how close it is to the XML that I am trying to deliver, via SOAP, and to work out how it links to the WSDL that Craig's tutorial has produced.
I can see the WSDL info, but I cannot see the information that the program has passed.

A: Create the event and add this code into the WebModule
procedure TWebModule1.WebModuleBeforeDispatch(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
  sl: TStringList;
begin
  sl := TStringList.Create;
  try
    sl.Add(Request.URL);
    sl.Add(Request.InternalScriptName);
    sl.Add(Request.Method);
    sl.Add(Request.ContentFields.Text);
    sl.SaveToFile('c:\temp\temp.txt');
  finally
    sl.Free;
  end;
end;

A: I don't monitor Stack Overflow too closely. On my blog I could have answered sooner...
I'd suggest you try running fiddler: https://www.telerik.com/download/fiddler/fiddler4 - It intercepts HTTP traffic and will give you the raw packet information sent back and forth. I find it invaluable for debugging JSON services.

*

*Craig Chapman


Very interesting site and I have been here quite a few times. It is a relief actually to find it.
I am still caught in the web of Christianity, but am convinced it to be untrue. I just wanted to call out really, to some people that understand. I feel a gulf has opened between me and the people I dearly love and don't want to lose- but I can't connect. It's like they live in a parallell universe.
And yet the "world" doesn't understand either - so here I am popular in both worlds, successful, but alone.
Any way no point to make, no axe to grind, but just wanting some empathy and advice.


text:
Q: NLog - Render username on the current request I setting up the NLog logging provider according to this documentation. I am using AspNetCore.Identity for authentication/authorization and I found out that I can log as well the requester's username by including ${aspnet-user-identity} in the layout renderer.
The problem is, the username does not show up:
2020-06-12 18:08:04.4495|ERROR|API.Controllers.ReportController|Hi |url: https://localhost/api/v1/reports/6|action: GetReport|user:

What I want is:
2020-06-12 18:08:04.4495|ERROR|API.Controllers.ReportController|Hi |url: https://localhost/api/v1/reports/6|action: GetReport|user: example@example.com

Here are my configurations:
nlog.config
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      autoReload="true"
      internalLogLevel="Info"
      internalLogFile=".\SystemLogs\internal-nlog.txt">

  <!-- enable asp.net core layout renderers -->
  <extensions>
    <add assembly="NLog.Web.AspNetCore"/>
  </extensions>

  <!-- the targets to write to -->
  <targets>
    <!-- write logs to file  -->
    <target name="500s" xsi:type="File" fileName=".\SystemLogs\nlog-all-${shortdate}.log"
            layout="${longdate}|${event-properties:item=EventId_Id}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}" />

    <!-- another file log, only own logs. Uses some ASP.NET core renderers -->
    <target name="catch-exception" xsi:type="File" fileName=".\ErrorLogs\${shortdate}\handled-errors-${shortdate}.log"
            layout="${longdate}|${uppercase:${level}}|${logger}|${message} ${exception:format=tostring}|url: ${aspnet-request-url}|action: ${aspnet-mvc-action}|user: ${aspnet-user-identity}" />
  </targets>

  <!-- rules to map from logger name to target -->
  <rules>
    <!--All logs, including from Microsoft-->
    <logger name="*" minlevel="Trace" writeTo="allfile" />

    <!--Skip non-critical Microsoft logs and so log only own logs-->
    <logger name="Microsoft.*" maxlevel="Info" final="true" />
    <!-- BlackHole without writeTo -->
    <logger name="*" minlevel="Error" writeTo="catch-exception" />
  </rules>
</nlog>

Program.cs - CreateWebHostBuilder Method
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
         WebHost.CreateDefaultBuilder(args)
             //attach additional JSON files
             .ConfigureAppConfiguration((hostingContext, config) =>
             {
                 config.AddJsonFile(Path.Combine(Environment.CurrentDirectory, "wwwroot", "Configurations", "EventTypes.json"), optional: false, reloadOnChange: true);
                 config.AddJsonFile(Path.Combine(Environment.CurrentDirectory, "wwwroot", "Notifications", "NotificationLangTemplates.json"), optional: false, reloadOnChange: true);
             })
            .ConfigureLogging(logging =>
            {
                logging.ClearProviders();
            })
            .UseNLog()
            .UseStartup<Startup>();

Sample Controller - When I try to log anything

    [Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
    [Produces("application/json")]
    public class UserReportController : Controller
    {
        private readonly ILogger<UserReportController> logger;

        public UserReportController(ILogger<UserReportController> logger)
        {
            this.logger = logger;
        }

        [HttpGet(ApiRoutes.UserReports.Get)]
        public async Task<IActionResult> GetReport(int reportId)
        {
            logger.LogError("Log error");
            return Ok();
        }

    }


Booth builders are primarily responsible for planning and implementing or producing the designed exhibition stands. In addition to the actual booth, this also involves various accessories like custom-made displays, counters, partition walls etc. The materials used are essential – they don't only have to be sturdy and durable, they also need to have a high quality design. The exhibition booth is a company's business card, so the stand fitter has to consider each company's individual requirements for size and layout when designing the booths. Often, the key criteria are easy assembly and disassembly, the possibility of transport and space-saving storage, as the exhibition materials are usually used several times and at different locations. In addition to supplying high quality products, trade fair construction companies and booth builders also need to work reliably and deliver on schedule. The perfect case is an after-sales service that is available for maintenance and repair works and acts quickly and without red tape in case of emergencies.


In the short run, some recovery can be expected in Macedonia due to some pick-up in investments, public and private, and the continuing positive contribution of net exports. In the medium run growth should speed up a bit on the assumption that both the EU and the local markets will improve. Additional fiscal consolidation is not contemplated, though fiscal stimulus is not to be expected either. The policy-makers will continue to take care of internal stability and wait for the tide, when and if it comes, to lift their boat too.


"First lady Melania Trump has wrapped up her first solo trip to Africa, where she made stops in Ghana, Malawi, Kenya, and Egypt … The point of Trump's tour was to highlight all the ways U.S. foreign aid is helping children in the developing world. … Melania Trump was promoting a more humanitarian-focused U.S. foreign policy at a time when her husband is trying to scale it back. And her trip was specifically focused on the effectiveness of USAID and its impact on children…" (Campbell, 10/9).


text:
He's British. She's American. Their Obsession? Harry and Meghan
Insiders Take
By Kate Samuelson
On paper, Kristen Meinzer and James Barr do not have much in common. Meinzer, an Asian-American woman originally from Minnesota, lives with her husband in New York. Barr, a red-haired, gay Londoner, grew up in a sleepy British seaside town called Eastbourne.
Yet the pair have a joint obsession which has helped them form a connection despite being 3,500 miles away from each other: they are fanatical about the British royal family.
Having been introduced through a mutual friend, Meinzer and Barr decided to launch a transatlantic podcast When Meghan Met Harry: A Royal Weddingcast, which began around the same time as the royal couple announced the date of their May 19 wedding.
"My boss thought, oh this is going to be great," Meinzer tells TIME. "We're going to have a woman of color in America and a red-haired white dude who loves the royals in England. We'll reflect the couple and we'll reflect the audience who is listening. And hopefully we'll all just feel like we're in one giant love fest together all the time."
The podcast is mainly listened to by royal fans in the U.S., Canada and other Commonwealth countries. "Americans are obsessed with this wedding," Barr says. "We hear a lot from royals fans, or royal watchers, in the U.S."
To Meinzer and Barr, the wedding of Prince Harry and Meghan Markle will be a significant historical moment, and a point when they too will come together. The pair are meeting up in Windsor, where Harry and Megan are tying the knot, and are looking forward to seeing whether their royal wedding predictions — from the length of Meghan Markle's train to whether she will bring her "Californian flair" to her outfit — will come true.
"I'll be talking with locals about how exciting the day is and giving some interviews to the press," Meinzer says. "But mostly I'll just be celebrating love. And knowing that the rest of the world is going to be celebrating too."
Write to Kate Samuelson at kate.samuelson@time.com.


I'm hopefully getting married this Septmenber, if we can get one orgnaised in time! lol.
We are hoping to get married abroad so I was hoping people might be able to help me in finding a good place to go and any good wedding co ordinators?
I love greece and we have also been thinking abouit majorcia as it is so family friendly. Olly will be around 18 months in Sept 2011 so want somewhere where it will be good for little ones, not too warm and also straight forward travel.
I didn't get married abroad but a friend of mine is a wedding planner in Italy and we went to her wedding in july which was amazing!!
She lives near Bologna and does weddings in Tuscany I think amongst other places.
If your interested let me know and I can message u her info.
OH would love to get married on Italy but I have to say Tuscany sounds lovely too!!! I'm going to disucss with him tonight and I'll let you know.
We got married in Bali, and Thomson Travel organised everything for us, and it was the most beautiful day!
I wouldn't recommend you go all that way with an 18 month old (I'm dying to go back, but have an 18 month old of my own and wouldn't want to fly that far with him) but I'd definately recommend Thomsons as they organised absolutely everything, and cover a wide range of destinations - all of which look absolutely stunning.
I got married in Bled Slovenia which was just picture perfect. Castle wedding followed by boat trip to the island to ring the church bell for luck, back to the castle for bottling of our own wine and then the most amazing dinner in the restaurant. Also massive bottle of sparkling opened with a sword. This was all arranged by a planner who I can recommended if your interested.
Also if your interested I can link you to my wedding photos on Facebook.
Also my sister got married in Bali which the travel agent arranged. Was a lovely day and had her then 11 month old with her.
Lake Bled!! I know it and have been. When we went we said this would be a beautiful place to get married. Can I ask, how long did you stey there and whihc hotel did you stay in?
We were staying in Austria and crossed the border for a day so did not get chance to see much and it was chucking it down all day lol! I was just worried there might not be much to do with a little one?
We got married in paphos, Cyprus and used igor at www.ido.com.cy. He was amazing and arranged everything. It was the most relaxing way to plan a wedding and the Cypriot people are very child friendly.
You mentioned Majorca as a possibility, you might want to look into that as when we got married in 2008 you needed to stay in Spain for 3 months before you could get married but it might have changed in the last few years.
Good luck with your planning, it's the most amazing time.
We stayed in hotel lovec, which was expensive but lovely we had a room with a view of the lake and a jucuzzi bath in the window which was great. Stayed for a week and a half as we wanted to do Christmas and new year out there ( got married on the 28th).
My parents stayed in a lovely apartment next to our hotel which also had lake views plus I was shown a brilliant lake side house we could of hired if everyone was going to be coming out for the same amount of time. I can give you all the detail if your interested.
My planners where www.weddings-in-slovenia.com/ they were great just make sure you go through all the details with them.
I am G/C but I saw this on the front page and thought I would just add a quick recommendation.
I got married 2 years ago in Lindos, Rhodes. I had never been there before and I got a co-ordinator company to help me with it as I didnt want to do it alone, but I didnt want to go via a travel company. They were AMAZING. They are called (simply) Lindos Weddings and their names are Karen and Lawrence. I really cannot recommend them enough!!! We ended up with 40 people coming with us to Lindos to share our day and that included our 18 month old neice and they were so helpful. They did a UK visit to go through everything with you, you choose everything without being told its impossible.
Good Luck with whatever you decide, and enjoy every second. It really is one of the best days ever and I would do it abroad again in a heartbeat!!
Poppygir1 - I agree, long haul is really too much with a little one but thanks for the Thomspon reccommendation. If I do go through a travel agent I will used Thompson as I know they are a good company and also less likely to go bust of something!
ycchick - My sister got married in Paphos too. It was amazing. She got married at a old church in Paphos and then had the reception at the Annabell hotel. It was so magical. I did wonder about Majorica. My OH said last night that spain can be a difficult place to get married. Although I love holidays, I don't think we'd want to be there for 3 months lol!
Jodibump - Thanks for futher info. A Christmas wedding is what I orgnially wanted but we decided to bring it forward to Sept if we are going abroad. Also means I can start ttc for baby 2 sooner lol!.
MrsJandTinkerbell - OMG, I cannot believe you have posted that! Me and OH have decided if we go for Greece then Lindos will be the place we get married!! We think our wedding party will be around 40 too!! I think I may well be contacting you in furture to see where you got married, stayed etc. Good luck with you LO. When are you due?


text:
package org.apache.hadoop.hive.ql.udf.generic;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.hadoop.hive.common.type.HiveDecimal;
import org.apache.hadoop.hive.ql.exec.Description;
import org.apache.hadoop.hive.ql.exec.PTFPartition;
import org.apache.hadoop.hive.ql.exec.UDFArgumentTypeException;
import org.apache.hadoop.hive.ql.exec.vector.VectorizedUDAFs;
import org.apache.hadoop.hive.ql.exec.vector.expressions.aggregates.gen.*;
import org.apache.hadoop.hive.ql.metadata.HiveException;
import org.apache.hadoop.hive.ql.parse.SemanticException;
import org.apache.hadoop.hive.ql.plan.ptf.PTFExpressionDef;
import org.apache.hadoop.hive.ql.plan.ptf.WindowFrameDef;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator.AbstractAggregationBuffer;
import org.apache.hadoop.hive.ql.udf.generic.GenericUDAFEvaluator.AggregationType;
import org.apache.hadoop.hive.ql.udf.ptf.BasePartitionEvaluator;
import org.apache.hadoop.hive.ql.util.JavaDataModel;
import org.apache.hadoop.hive.serde2.io.DoubleWritable;
import org.apache.hadoop.hive.serde2.io.HiveDecimalWritable;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorFactory;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils;
import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.StructField;
import org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils.ObjectInspectorCopyOption;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils.ObjectInspectorObject;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.DoubleObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.HiveDecimalObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.LongObjectInspector;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory;
import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorUtils;
import org.apache.hadoop.hive.serde2.typeinfo.DecimalTypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoFactory;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.util.StringUtils;

/**
 * GenericUDAFAverage.
 *
 */
@Description(name = "avg", value = "_FUNC_(x) - Returns the mean of a set of numbers")
public class GenericUDAFAverage extends AbstractGenericUDAFResolver {

  static final Logger LOG = LoggerFactory.getLogger(GenericUDAFAverage.class.getName());

  @Override
  public GenericUDAFEvaluator getEvaluator(TypeInfo[] parameters)
      throws SemanticException {
    if (parameters.length != 1) {
      throw new UDFArgumentTypeException(parameters.length - 1,
          "Exactly one argument is expected.");
    }

    if (parameters[0].getCategory() != ObjectInspector.Category.PRIMITIVE) {
      throw new UDFArgumentTypeException(0,
          "Only primitive type arguments are accepted but "
              + parameters[0].getTypeName() + " is passed.");
    }
    switch (((PrimitiveTypeInfo) parameters[0]).getPrimitiveCategory()) {
    case BYTE:
    case SHORT:
    case INT:
    case LONG:
    case FLOAT:
    case DOUBLE:
    case STRING:
    case VARCHAR:
    case CHAR:
    case TIMESTAMP:
      return new GenericUDAFAverageEvaluatorDouble();
    case DECIMAL:
      return new GenericUDAFAverageEvaluatorDecimal();
    case BOOLEAN:
    case DATE:
    default:
      throw new UDFArgumentTypeException(0,
          "Only numeric or string type arguments are accepted but "
              + parameters[0].getTypeName() + " is passed.");
    }
  }

  @Override
  public GenericUDAFEvaluator getEvaluator(GenericUDAFParameterInfo paramInfo)
  throws SemanticException {
    if (paramInfo.isAllColumns()) {
      throw new SemanticException(
          "The specified syntax for UDAF invocation is invalid.");
    }

    AbstractGenericUDAFAverageEvaluator eval =
        (AbstractGenericUDAFAverageEvaluator) getEvaluator(paramInfo.getParameters());
    eval.avgDistinct = paramInfo.isDistinct();
    eval.isWindowing = paramInfo.isWindowing();
    return eval;
  }

  @VectorizedUDAFs({
    VectorUDAFAvgLong.class, VectorUDAFAvgLongComplete.class,
    VectorUDAFAvgDouble.class, VectorUDAFAvgDoubleComplete.class,
    VectorUDAFAvgTimestamp.class, VectorUDAFAvgTimestampComplete.class,
    VectorUDAFAvgPartial2.class, VectorUDAFAvgFinal.class})
  public static class GenericUDAFAverageEvaluatorDouble extends AbstractGenericUDAFAverageEvaluator<Double> {

    @Override
    public void doReset(AverageAggregationBuffer<Double> aggregation) throws HiveException {
      aggregation.count = 0;
      aggregation.sum = Double.valueOf(0);
      aggregation.uniqueObjects = new HashSet<ObjectInspectorObject>();
    }

    @Override
    protected ObjectInspector getSumFieldJavaObjectInspector() {
      return PrimitiveObjectInspectorFactory.javaDoubleObjectInspector;
    }
    @Override
    protected ObjectInspector getSumFieldWritableObjectInspector() {
      return PrimitiveObjectInspectorFactory.writableDoubleObjectInspector;
    }

    @Override
    protected void doIterate(AverageAggregationBuffer<Double> aggregation,
        PrimitiveObjectInspector oi, Object parameter) {
      double value = PrimitiveObjectInspectorUtils.getDouble(parameter, oi);
      aggregation.count++;
      aggregation.sum += value;

    }

    @Override
    protected void doMerge(AverageAggregationBuffer<Double> aggregation, Long partialCount,
        ObjectInspector sumFieldOI, Object partialSum) {
      double value = ((DoubleObjectInspector)sumFieldOI).get(partialSum);
      aggregation.count += partialCount;
      aggregation.sum += value;
    }

    @Override
    protected void doMergeAdd(Double sum,
        ObjectInspectorObject obj) {
      sum += PrimitiveObjectInspectorUtils.getDouble(obj.getValues()[0], copiedOI);
    }

    @Override
    protected void doTerminatePartial(AverageAggregationBuffer<Double> aggregation) {
      if(partialResult[1] == null) {
        partialResult[1] = new DoubleWritable(0);
      }
      ((LongWritable) partialResult[0]).set(aggregation.count);
      ((DoubleWritable) partialResult[1]).set(aggregation.sum);
    }

    @Override
    protected Object doTerminate(AverageAggregationBuffer<Double> aggregation) {
      if(aggregation.count == 0) {
        return null;
      } else {
        DoubleWritable result = new DoubleWritable(0);
        result.set(aggregation.sum / aggregation.count);
        return result;
      }
    }
    @Override
    public AggregationBuffer getNewAggregationBuffer() throws HiveException {
      AverageAggregationBuffer<Double> result = new AverageAggregationBuffer<Double>();
      reset(result);
      return result;
    }

    @Override
    public GenericUDAFEvaluator getWindowingEvaluator(WindowFrameDef wFrameDef) {
      // Don't use streaming for distinct cases
      if (isWindowingDistinct()) {
        return null;
      }

      return new GenericUDAFStreamingEvaluator.SumAvgEnhancer<DoubleWritable, Object[]>(this, wFrameDef) {

        @Override
        protected DoubleWritable getNextResult(
            org.apache.hadoop.hive.ql.udf.generic.GenericUDAFStreamingEvaluator.SumAvgEnhancer<DoubleWritable, Object[]>.SumAvgStreamingState ss)
            throws HiveException {
          AverageAggregationBuffer<Double> myagg = (AverageAggregationBuffer<Double>) ss.wrappedBuf;
          Double r = myagg.count == 0 ? null : myagg.sum;
          long cnt = myagg.count;

          Object[] o = ss.retrieveNextIntermediateValue();
          if (o != null) {
            Double d = (Double) o[0];
            r = r == null ? null : r - d;
            cnt = cnt - ((Long) o[1]);
          }

          return r == null ? null : new DoubleWritable(r / cnt);
        }

        @Override
        protected Object[] getCurrentIntermediateResult(
            org.apache.hadoop.hive.ql.udf.generic.GenericUDAFStreamingEvaluator.SumAvgEnhancer<DoubleWritable, Object[]>.SumAvgStreamingState ss)
            throws HiveException {
          AverageAggregationBuffer<Double> myagg = (AverageAggregationBuffer<Double>) ss.wrappedBuf;
          return myagg.count == 0 ? null : new Object[] {
              myagg.sum, myagg.count};
        }

      };
    }

    @Override
    protected BasePartitionEvaluator createPartitionEvaluator(
        WindowFrameDef winFrame,
        PTFPartition partition,
        List<PTFExpressionDef> parameters,
        ObjectInspector outputOI,
        boolean nullsLast) {
      try {
        return new BasePartitionEvaluator.AvgPartitionDoubleEvaluator(this, winFrame, partition,
            parameters, inputOI, outputOI, nullsLast);
      } catch(HiveException e) {
        return super.createPartitionEvaluator(winFrame, partition, parameters, outputOI, nullsLast);
      }
    }
  }

  @VectorizedUDAFs({
    VectorUDAFAvgDecimal.class, VectorUDAFAvgDecimalComplete.class,
    VectorUDAFAvgDecimal64ToDecimal.class, VectorUDAFAvgDecimal64ToDecimalComplete.class,
    VectorUDAFAvgDecimalPartial2.class, VectorUDAFAvgDecimalFinal.class})
  public static class GenericUDAFAverageEvaluatorDecimal extends AbstractGenericUDAFAverageEvaluator<HiveDecimal> {

    private int resultPrecision = -1;
    private int resultScale = -1;

    @Override
    public ObjectInspector init(Mode m, ObjectInspector[] parameters)
        throws HiveException {

      // Intercept result ObjectInspector so we can extract the DECIMAL precision and scale.
      ObjectInspector resultOI = super.init(m, parameters);
      if (m == Mode.COMPLETE || m == Mode.FINAL) {
        DecimalTypeInfo decimalTypeInfo =
            (DecimalTypeInfo)
                TypeInfoUtils.getTypeInfoFromObjectInspector(resultOI);
        resultPrecision = decimalTypeInfo.getPrecision();
        resultScale = decimalTypeInfo.getScale();
      }
      return resultOI;
    }

    @Override
    public void doReset(AverageAggregationBuffer<HiveDecimal> aggregation) throws HiveException {
      aggregation.count = 0;
      aggregation.sum = HiveDecimal.ZERO;
      aggregation.uniqueObjects = new HashSet<ObjectInspectorObject>();
    }

    @Override
    protected ObjectInspector getSumFieldJavaObjectInspector() {
      DecimalTypeInfo typeInfo = deriveResultDecimalTypeInfo();
      return PrimitiveObjectInspectorFactory.getPrimitiveJavaObjectInspector(typeInfo);
    }

    @Override
    protected ObjectInspector getSumFieldWritableObjectInspector() {
      DecimalTypeInfo typeInfo = deriveResultDecimalTypeInfo();
      return PrimitiveObjectInspectorFactory.getPrimitiveWritableObjectInspector(typeInfo);
    }

    private DecimalTypeInfo deriveResultDecimalTypeInfo() {
      return deriveResultDecimalTypeInfo(inputOI.precision(), inputOI.scale(), mode);
    }

    public static DecimalTypeInfo deriveResultDecimalTypeInfo(int precision, int scale, Mode mode) {
      if (mode == Mode.FINAL || mode == Mode.COMPLETE) {
        int intPart = precision - scale;
        // The avg() result type has the same number of integer digits and 4 more decimal digits.
        scale = Math.min(scale + 4, HiveDecimal.MAX_SCALE - intPart);
        return TypeInfoFactory.getDecimalTypeInfo(intPart + scale, scale);
      } else {
        // For intermediate sum field
        return GenericUDAFAverage.deriveSumFieldTypeInfo(precision, scale);
      }
    }

    @Override
    protected void doIterate(AverageAggregationBuffer<HiveDecimal> aggregation,
        PrimitiveObjectInspector oi, Object parameter) {
      HiveDecimal value = PrimitiveObjectInspectorUtils.getHiveDecimal(parameter, oi);
      aggregation.count++;
      if (aggregation.sum != null) {
        aggregation.sum = aggregation.sum.add(value);
      }
    }

    @Override
    protected void doMerge(AverageAggregationBuffer<HiveDecimal> aggregation, Long partialCount,
        ObjectInspector sumFieldOI, Object partialSum) {
      HiveDecimal value = ((HiveDecimalObjectInspector)sumFieldOI).getPrimitiveJavaObject(partialSum);
      if (value == null) {
        aggregation.sum = null;
      }
      aggregation.count += partialCount;
      if (aggregation.sum != null) {
        aggregation.sum = aggregation.sum.add(value);
      }
    }

    @Override
    protected void doMergeAdd(
        HiveDecimal sum,
        ObjectInspectorObject obj) {
      sum.add(PrimitiveObjectInspectorUtils.getHiveDecimal(obj.getValues()[0], copiedOI));
    }

    @Override
    protected void doTerminatePartial(AverageAggregationBuffer<HiveDecimal> aggregation) {
      if(partialResult[1] == null && aggregation.sum != null) {
        partialResult[1] = new HiveDecimalWritable(HiveDecimal.ZERO);
      }
      ((LongWritable) partialResult[0]).set(aggregation.count);
      if (aggregation.sum != null) {
        ((HiveDecimalWritable) partialResult[1]).set(aggregation.sum);
      } else {
        partialResult[1] = null;
      }
    }

    @Override
    protected Object doTerminate(AverageAggregationBuffer<HiveDecimal> aggregation) {
      if(aggregation.count == 0 || aggregation.sum == null) {
        return null;
      } else {
        HiveDecimalWritable result = new HiveDecimalWritable(HiveDecimal.ZERO);
        result.set(aggregation.sum.divide(HiveDecimal.create(aggregation.count)));
        result.mutateEnforcePrecisionScale(resultPrecision, resultScale);
        return result;
      }
    }

    @Override
    public AggregationBuffer getNewAggregationBuffer() throws HiveException {
      AverageAggregationBuffer<HiveDecimal> result = new AverageAggregationBuffer<HiveDecimal>();
      reset(result);
      return result;
    }

    @Override
    public GenericUDAFEvaluator getWindowingEvaluator(WindowFrameDef wFrameDef) {
      // Don't use streaming for distinct cases
      if (isWindowingDistinct()) {
        return null;
      }

      return new GenericUDAFStreamingEvaluator.SumAvgEnhancer<HiveDecimalWritable, Object[]>(
          this, wFrameDef) {

        @Override
        protected HiveDecimalWritable getNextResult(
            org.apache.hadoop.hive.ql.udf.generic.GenericUDAFStreamingEvaluator.SumAvgEnhancer<HiveDecimalWritable, Object[]>.SumAvgStreamingState ss)
            throws HiveException {
          AverageAggregationBuffer<HiveDecimal> myagg = (AverageAggregationBuffer<HiveDecimal>) ss.wrappedBuf;
          HiveDecimal r = myagg.count == 0 ? null : myagg.sum;
          long cnt = myagg.count;

          Object[] o = ss.retrieveNextIntermediateValue();
          if (o != null) {
            HiveDecimal d = (HiveDecimal) o[0];
            r = r == null ? null : r.subtract(d);
            cnt = cnt - ((Long) o[1]);
          }

          return r == null ? null : new HiveDecimalWritable(
              r.divide(HiveDecimal.create(cnt)));
        }

        @Override
        protected Object[] getCurrentIntermediateResult(
            org.apache.hadoop.hive.ql.udf.generic.GenericUDAFStreamingEvaluator.SumAvgEnhancer<HiveDecimalWritable, Object[]>.SumAvgStreamingState ss)
            throws HiveException {
          AverageAggregationBuffer<HiveDecimal> myagg = (AverageAggregationBuffer<HiveDecimal>) ss.wrappedBuf;
          return myagg.count == 0 ? null : new Object[] { myagg.sum,
              myagg.count };
        }

      };
    }

    @Override
    protected BasePartitionEvaluator createPartitionEvaluator(
        WindowFrameDef winFrame,
        PTFPartition partition,
        List<PTFExpressionDef> parameters,
        ObjectInspector outputOI,
        boolean nullsLast) {
      try {
        return new BasePartitionEvaluator.AvgPartitionHiveDecimalEvaluator(this, winFrame,
            partition, parameters, inputOI, outputOI, nullsLast);
      } catch(HiveException e) {
        return super.createPartitionEvaluator(winFrame, partition, parameters, outputOI, nullsLast);
      }
    }
  }

  @AggregationType(estimable = true)
  private static class AverageAggregationBuffer<TYPE> extends AbstractAggregationBuffer {
    private HashSet<ObjectInspectorObject> uniqueObjects; // Unique rows.
    private long count;
    private TYPE sum;

    @Override
    public int estimate() {
      return 2*JavaDataModel.PRIMITIVES2;
    }
  };

  @SuppressWarnings("unchecked")
  public static abstract class AbstractGenericUDAFAverageEvaluator<TYPE> extends GenericUDAFEvaluator {
    protected boolean isWindowing;
    protected boolean avgDistinct;
    // For PARTIAL1 and COMPLETE
    protected transient PrimitiveObjectInspector inputOI;
    protected transient PrimitiveObjectInspector copiedOI;
    // For PARTIAL2 and FINAL
    private transient StructObjectInspector soi;
    private transient StructField countField;
    private transient StructField sumField;
    private LongObjectInspector countFieldOI;
    protected ObjectInspector sumFieldOI;
    // For PARTIAL1 and PARTIAL2
    protected transient Object[] partialResult;

    private boolean warned = false;

    protected abstract ObjectInspector getSumFieldJavaObjectInspector();
    protected abstract ObjectInspector getSumFieldWritableObjectInspector();
    protected abstract void doIterate(AverageAggregationBuffer<TYPE> aggregation,
        PrimitiveObjectInspector inputOI, Object parameter);
    protected abstract void doMerge(AverageAggregationBuffer<TYPE> aggregation, Long partialCount,
        ObjectInspector sumFieldOI, Object partialSum);
    protected abstract void doMergeAdd(TYPE sum, ObjectInspectorObject obj);
    protected abstract void doTerminatePartial(AverageAggregationBuffer<TYPE> aggregation);
    protected abstract Object doTerminate(AverageAggregationBuffer<TYPE> aggregation);
    protected abstract void doReset(AverageAggregationBuffer<TYPE> aggregation) throws HiveException;

    @Override
    public ObjectInspector init(Mode m, ObjectInspector[] parameters)
        throws HiveException {
      assert (parameters.length == 1);
      super.init(m, parameters);

      // init input
      partialResult = new Object[2];
      partialResult[0] = new LongWritable(0);
      if (mode == Mode.PARTIAL1 || mode == Mode.COMPLETE) {
        inputOI = (PrimitiveObjectInspector) parameters[0];
        copiedOI = (PrimitiveObjectInspector)ObjectInspectorUtils.getStandardObjectInspector(inputOI,
            ObjectInspectorCopyOption.JAVA);
      } else {
        soi = (StructObjectInspector) parameters[0];
        countField = soi.getStructFieldRef("count");
        sumField = soi.getStructFieldRef("sum");
        countFieldOI = (LongObjectInspector) countField.getFieldObjectInspector();
        sumFieldOI = sumField.getFieldObjectInspector();
        inputOI = (PrimitiveObjectInspector) soi.getStructFieldRef("input").getFieldObjectInspector();
      }

      // init output
      if (mode == Mode.PARTIAL1 || mode == Mode.PARTIAL2) {
        // The output of a partial aggregation is a struct containing
        // a "long" count and a "double" sum.
        ArrayList<ObjectInspector> foi = new ArrayList<ObjectInspector>();
        foi.add(PrimitiveObjectInspectorFactory.writableLongObjectInspector);
        foi.add(getSumFieldWritableObjectInspector());
        // We need to "remember" the input object inspector so that we need to know the input type
        // in order to determine the sum field type (precision/scale) for Mode.PARTIAL2 and Mode.FINAL.
        foi.add(inputOI);
        ArrayList<String> fname = new ArrayList<String>();
        fname.add("count");
        fname.add("sum");
        fname.add("input");
        // index 1 set by child
        return ObjectInspectorFactory.getStandardStructObjectInspector(fname, foi);
      } else {
        return getSumFieldWritableObjectInspector();
      }
    }

    public boolean isWindowingDistinct() {
      return isWindowing && avgDistinct;
    }

    @AggregationType(estimable = true)
    static class AverageAgg extends AbstractAggregationBuffer {
      long count;
      double sum;
      @Override
      public int estimate() { return JavaDataModel.PRIMITIVES2 * 2; }
    };

    @Override
    public void reset(AggregationBuffer aggregation) throws HiveException {
      doReset((AverageAggregationBuffer<TYPE>)aggregation);
    }

    @Override
    public void iterate(AggregationBuffer aggregation, Object[] parameters)
        throws HiveException {
      assert (parameters.length == 1);
      Object parameter = parameters[0];
      if (parameter != null) {
        AverageAggregationBuffer<TYPE> averageAggregation = (AverageAggregationBuffer<TYPE>) aggregation;
        try {
          // Skip the same value if avgDistinct is true
          if (isWindowingDistinct()) {
            ObjectInspectorObject obj = new ObjectInspectorObject(
                ObjectInspectorUtils.copyToStandardObject(parameter, inputOI, ObjectInspectorCopyOption.JAVA),
                copiedOI);
            if (averageAggregation.uniqueObjects.contains(obj)) {
              return;
            }
            averageAggregation.uniqueObjects.add(obj);
          }

          doIterate(averageAggregation, inputOI, parameter);
        } catch (NumberFormatException e) {
          if (!warned) {
            warned = true;
            LOG.warn("Ignoring similar exceptions: " + StringUtils.stringifyException(e));
          }
        }
      }
    }

    @Override
    public Object terminatePartial(AggregationBuffer aggregation) throws HiveException {
      if (isWindowingDistinct()) {
        throw new HiveException("Distinct windowing UDAF doesn't support merge and terminatePartial");
      }

      doTerminatePartial((AverageAggregationBuffer<TYPE>) aggregation);
      return partialResult;
    }

    @Override
    public void merge(AggregationBuffer aggregation, Object partial)
        throws HiveException {
      if (partial != null) {
        if (isWindowingDistinct()) {
          throw new HiveException("Distinct windowing UDAF doesn't support merge and terminatePartial");
        } else {
          doMerge((AverageAggregationBuffer<TYPE>)aggregation,
              countFieldOI.get(soi.getStructFieldData(partial, countField)),
              sumFieldOI, soi.getStructFieldData(partial, sumField));
        }
      }
    }

    @Override
    public Object terminate(AggregationBuffer aggregation) throws HiveException {
      return doTerminate((AverageAggregationBuffer<TYPE>)aggregation);
    }
  }

  /**
   * The intermediate sum field has 10 more integer digits with the same scale.
   * This is exposed as static so that the vectorized AVG operator use the same logic
   * @param precision
   * @param scale
   * @return
   */
  public static DecimalTypeInfo deriveSumFieldTypeInfo(int precision, int scale) {
    int intPart = precision - scale;
    intPart = Math.min(intPart + 10, HiveDecimal.MAX_PRECISION - scale);
    return TypeInfoFactory.getDecimalTypeInfo(intPart + scale, scale);
  }

}

redpajama_set_name: RedPajamaGithub


text:
https://www.ctpost.com/politics/article/Stefanowski-is-ahead-in-new-Hearst-SHU-Poll-13355803.php
Stefanowski pulls ahead in new Hearst/Sacred Heart poll
By Ken Dixon
Updated 9:33 pm EDT, Thursday, November 1, 2018
Hearst Connecticut Media Group/Sacred Heart University Poll:
Stefanowski - 40 percent
Photo: Christian Abraham / Hearst Connecticut Media
Republican Bob Stefanowski has inched ahead of Democrat Ned Lamont by 2.4 percentage points in the governor's race, which remains a statistical tie heading into the final weekend before Election Day, the latest Hearst Connecticut Media Group/Sacred Heart University Poll finds.
The poll, which was released Thursday, shows that Stefanowski is now up 40 percent to Lamont's 37.6 percent, with unaffiliated candidate Oz Griebel of Hartford at 9 percent.
Just over 12 percent of those surveyed remain undecided. Stefanowski gained a 5.8 percentage point swing over two weeks, the poll finds.
The landline and cell phone survey was conducted by GreatBlue Research, among 500 likely voters between Oct. 29 and 31, and has a margin of error of 4.32 percentage points for the full sample — larger for subgroups.
This is the fourth Hearst/Sacred Heart poll since Lamont and Stefanowski won their respective primaries on Aug. 14, and Stefanowski has advanced in the last two.
Dan Haar: Five lurking problems that could sink Stefanowski
Dan Haar: Five lurking problems that could sink Lamont
Dan Haar: Realtors hire ex-Cambridge Analytica gurus to back Stefanowski
"While unaffiliated voters are supporting the Republican (43.6 percent), 20 percent of them are still undecided, and the race continues to be highly competitive," said Lesley DeNardis, executive director of the Institute for Public Policy and director of Sacred Heart University's master of public administration program. "High taxes, the state budget crisis and low economic growth continue to be the major factors the race will hinge on. Ultimately, the candidate the voters believe will do a better job of returning Connecticut to economic health, creating new jobs and offering more long-term solutions tied to improved quality of life and cost-of-living issues will prevail."
"It's clear voters are rejecting Lamont's false attacks and scare tactics and they are rallying behind Bob Stefanowski's positive message of tax cuts, responsible government and stronger economic growth," said Kendall Marr, Stefanowski's spokesman.
"The only poll that counts is the one on Election Day and it's only five days away," said Marc Bradley, Lamont's campaign manager. "Bob Stefanowski has a reckless, Trump-like scheme to cut health care, decimate education and jack up property taxes across the state. This is someone who received an 'A' grade from the NRA because he would roll back Sandy Hook gun laws, gives Donald Trump an 'A' grade for job performance, opposes the Affordable Care Act, and questions the value of common-sense mandates on vaccinations for children in public schools."
In the previous Hearst/Sacred Heart poll, conducted between Oct. 13 and 17, voters gave Lamont, a Greenwich investor, a 39.5 percent to 36.1 percent edge, 3.4 percentage points, over Stefanowski, a Madison consultant and former corporate executive. Both the new poll and the last one have been within the margin of error and show the two major-party candidates are locked in a close race.
Much of Stefanowski's gains were among women, who in the earlier poll showed 50 percent support for Lamont. That has dropped to 40.8 percent, the new poll finds, with 34.8 for Stefanowski. Griebel's support among women was 9.2 percent. Stefanowski leads among men, 45.2 percent to 34.4 percent, with 8.8 percent of male likely voters picking Griebel.
Unaffiliated voters support Stefanowski by 43.6 percent to 22.8 percent, similar to the 43.2 percent to 24 percent in the previous poll. Griebel clocked in at 12.1 percent of unaffiliated voters, and showing is stronger among Democrats than Republicans, indicating more of his voters might otherwise favor Lamont than Stefanowski.
On Monday, the Quinnipiac University poll found that Lamont held a 47-43 percent edge over Stefanowski, with 7 percent for Griebel, a former Hartford economic development executive. That survey contacted 1,201 likely voters from Oct. 22 to 28, with a margin of error of plus or minus 4 percentage points.
The top issues for voters contacted by the Hearst/Sacred Heart poll remain the "high overall tax burden" and the state budget crisis, each by 17.6 percent of those surveyed.
State voters who approve of President Donald Trump increased more than 3 percentage points over the previous poll, for a total of 38.4 percent.
While 48.2 percent of voters overall say they will support Democrats in the race for Congress, nearly 41 percent of unaffiliated voters support Republican congressional candidates compared to about 35 percent for Democrats.
The most recent state registration data shows there are 460,279 Republicans, 785,615 Democrats and 870,171 unaffiliated voters eligible to cast ballots on Election Day, Nov. 6.