The Euro returned to strength, with fresh acceleration of recovery from 1.3671, 04 Apr low, probing above psychological 1.380 barrier. The rally was capped just under pivotal 1.3820 resistance, 02 Apr previous high / Fibonacci 38.2% retracement of 1.3965/1.3671 rally and bear-channel resistance. Positive near-term technicals are supportive for eventual break here, to confirm near-term bottom and open way for further recovery towards 1.3853, Fibonacci 61.8% retracement and lower top of 24 Mar at 1.3874. Corrective actions on overbought near-term studies are expected to precede fresh push higher, with 1.3750/60 zone, Fibonacci 38.2% retracement of 1.3671/1.3810 rally and previous base of 20/25 Mar, seen as ideal reversal point. Any weakness below 1.3740 higher platform / daily cloud top and rally's mid-point, would delay immediate bulls.
Cable surged yesterday, leaving higher base at 1.6548 and resuming the bull-phase off 1.6464, 24 Mar low, after clearing 1.6683, 31 Mar previous top. Break above bear-channel resistance and completion of inverted head-and shoulders pattern on 4-hour chart, sees scope for eventual push towards 1.6784, 07 Mar lower top and attack at key near-term barrier at 1.6821, 17 Feb peak. Near-term studies are positive, however, overbought conditions suggest pause ahead of fresh push higher, with previous peaks at 1.6716 and 1.6683 offering immediate supports. Further dips should be ideally contained at 1.6650, 50% retracement of 1.6548/1.6753 upleg / daily Tenkan-sen line, to keep the structure intact. Conversely, slide below previous barriers at 1.6620/00, reinforced by daily cloud top, will be bearish.
The pair resumes the downtrend from 104.11 peak, as fresh acceleration lower cleared 102, psychological / trendline support and found temporary footstep at 101.54. With the biggest part of 101.20/104.11 rally being already retraced, risk of retesting strong 101.20 base remain in play. Bears may be delayed as near-term studies are oversold, with initial 102 barrier being regained and rallies expected to find solid resistance at 102.65, previous support and 102.83, 50% retracement of 104.11/101.54, ahead of psychological 103 barrier, reinforced by double MA's bear-cross, where rallies should be capped. Violation of 102.20 base is expected to open another key support at 100.74, low of 04 Feb 2014.
The pair the pair remains supported and moves higher after eventual break above near-term congestion tops at 0.93 triggered fresh extension of larger uptrend that commenced from 0.8658. Fresh bulls probed above bull-channel resistance and Fibonacci 61.8% of 0.9755/0.8658 descend, on extension to 0.9385 so far, focusing psychological 0.9400 barrier and 0.9477, Fibonacci 138.2% expansion of the wave from 0.8889, 03 Mar higher low. However, overbought near-term studies see consolidative/corrective phase preceding fresh push higher. Initial support lies at 0.9330, ahead of more significant 0.9316, Fibonacci 38.2% of 0.9204/0.9385 upleg, reinforced by hourly 55SMA and 0.9300, previous range tops, where corrective dips should face good support.
Spot Gold remains supported and resumes recovery rally off 1277 low, after leaving higher base 1295. Fresh bulls tested next target at 1315, 25/26 Mar lower platform / daily Cloud top, above which to open 1319/21, daily 20SMA / Fibonacci 38.2% retracement of 1392/1277 descend, with break here to confirm bottom at 1277 for further recovery. Positive near-term studies are supportive, with consolidative phase expected to precede fresh extension higher. Conolidation floor at 1306 offers immediate support, ahead of 1300/1297, psychological support / 200SMA and 1295 base, where stronger dips should ideally find footstep.
Spot Silver trades in near-term sideways mode after recovery attempts above initial 20.00 barrier failed to sustain break. Near-term studies are losing traction as upside attempts above psychological 20.00 barrier stalled at 20.14. Sustained break above current range top at 20.21, reinforced by daily 100SMA and regain of 20.40, Fibonacci 38.2% retracement of 21.77/19.56 descend, is seen as minimum requirement to avert immediate downside risk and signal stronger recovery. Otherwise, increased downside risk will remain in play, as larger picture studies are bearish and 20/200SMA's death-cross and 20/55 bearish cross, keeping the downside pressured. Completion of near-term consolidation expected to fresh weakness for final push towards short-term target at 18.99, 30 Jan low.


text:
A play by sex workers about sex workers
The play Jhoraphuler Roopkatha has been conceptualised by Bengali film actor Nigel Akkara and directed by Chiranjib Guha
By Upala Sen
Published 9.06.19, 1:48 AM
Updated 9.06.19, 1:48 AM
A scene from the play Jhoraphuler Roopkatha Courtesy: Kolahal Theatre
Jhoraphul is Bengali for flowers that have fallen off a tree, from grace, a fair distance away from legitimacy. Roopkatha means fairy tale. The flier for the play, Jhoraphuler Roopkatha, says, "A tale from the red-light areas of Calcutta performed by sex workers and Kolahal Theatre workshop." (The Kolahal theatre group was set up in 2018 and it works with stigmatised people on issues that concern them.) When I am watching the play in south Calcutta's Tapan Theatre, I cannot tell who is a professional actor and who is a sex worker.
The setting of the play is a red-light area. The personas, the costumes, the mannerisms, the dialogues, all of it is gritty, grating even in places. It is the third show since January and the auditorium is nearly full.
The advert also makes the point about the characters finding solace in Rabindranath Tagore's creations. The director has, along with kirtan and folk music, woven in some of Tagore's songs. I am reminded of something I heard at the BJP party office on May 23. A man telling a foreign media channel with suitable outrage, "We are not allowed to invoke Tagore or his songs in Bengal, such is the state of affairs..."
Jhoraphuler Roopkatha has been conceptualised by Bengali film actor Nigel Akkara; the director is Chiranjib Guha. I learn from Guha later that apart from four or five characters, most of the actors are sex workers. He says, "The play is about sex workers. What they make of Tagore." As the play unravels it becomes clear though, the poet is a touchstone here, not the hero.
Guha says he chose to work with sex workers to refract Tagore, thinking this would be a section that would be less aware of the man's works. He tells me after the first workshop, after his hesitant speech about Tagore, one of the women said to him, "Shunun Sir, ekta kotha bolbo, Rabindranath na karur babar noi, Rabindranath shobar." She was basically giving him the verbal equivalent of boxing the ears, reprimanding him for assuming that the group would be unaware of Tagore simply by virtue of their profession. Guha, who is an actor himself, cannot have a regular conversation. He breaks into delightful impersonations — sans malice. One minute he is the affronted Kalidi, next minute he is he and he is saying: "It was a jolt. I realised she was right. Who the hell are we to judge anybody?"
Initially, Guha and Akkara tried to contact the sex workers directly by walking into the red-light area but they were shooed away by the pimps. After a few abortive attempts they found an intermediary in Durbar, an NGO that works with sex workers. The authorities at Durbar understood what they were trying to do and introduced them to a group of 40 sex workers. After a couple of interactions and workshops that number came down to 14. And these 14 came to be part of the cast of Jhoraphuler Roopkatha.
When Guha talks about theatre, this particular play, about life even, there is a word and its variant that keeps cropping up — shahosh or courage. He talks about his mother, a vocal and empowered woman. He talks about his wife, who didn't hesitate to confront civic officials of New Barrackpore when they tried to stop his earlier production, Bishakto Panchali, which was about transgenders. He uses shahoshi or courageous to describe Akkara, he uses the word for himself negotiating prejudices of relations, and he uses the word for the men and women in his theatre group and the sex workers they are collaborating with. He uses the word for Swarnakamal, the transgender actor who plays the transgender Billy. He says, "I had asked him to urinate on stage, in keeping with the character he was essaying and he readily accepted the challenge. But when we did a preview for some experts, I was told to tweak the scene as it came across as vulgar."
The act and from what Guha says itinerantly about the dedication of sex workers makes me wonder what it was that they got out of the whole effort. After all, it was not just one play or a few shows, but rehearsals, workshops, and most important perhaps, a certain way of looking at things one had perhaps gotten used to unseeing. And then there was Tagore.
Curiously enough, every time I throw the question at somebody, they turn the dagger of a question mark on themselves — what they got out of it. Tanni Chakraborty, a college student who plays Tia, one of the central characters, says, "What is the point of education if we are not going to see things in a different way?" Both she and Nilanjana Majumdar, who is doing her master's and played Padma, bring up the hours spent in Sonagachi observing the sex workers and the dalals and what they learnt from the experience. Nilanjana talks about the bond that she and the other professional actors eventually developed with their co-actors from the forbidden place. Mithun Gupta, another professional actor, who plays Tia's long lost love, Siddhartha, talks about the initial murmurs of protest from within his family when he embarked on project Jhoraphul. He then goes on to point out that after the first performance, his mother met a sex worker backstage and congratulated her. Nearly everyone talks about the meals shared with the sex workers as a wondrous and precious experience. I am reminded that Guha had said at the outset that he had wanted the play to work on the e para-o para bibhed, the us and them narrative.
I ask Guha too what in his opinion the sex workers got out of Jhoraphuler Roopkatha. First, he falls silent. Next, he repeats like Alexa: "What they got out of the whole endeavour." Thereafter, he proceeds to answer: "I have no idea. But I got a lot out of it all."
Clearly, the poet is just a touchstone here, the heroes, they are in plenty.
Ever thought of visiting a broom museum?
More from Arts
Exploring pain: A tribute to Dinkar Kowshik
Using theatre to explore child sexual abuse
Sudip Roy's watercolours: Commonplace in both subject and skill

redpajama_set_name: RedPajamaCommonCrawl


The Herschel Space Observatory of ESA was launched in May 2009 and is in operation since. From its distant orbit around L2 it needs to transmit a huge quantity of information through a very limited bandwidth. This is especially true for the PACS imaging camera which needs to compress its data far more than what can be achieved with lossless compression. This is currently solved by including lossy averaging and rounding steps on board. Recently, a new theory called compressed-sensing emerged from the statistics community. This theory makes use of the sparsity of natural (or astrophysical) images to optimize the acquisition scheme of the data needed to estimate those images. Thus, it can lead to high compression factors.
A previous article by Bobin et al. (2008) showed how the new theory could be applied to simulated Herschel/PACS data to solve the compression requirement of the instrument. In this article, we show that compressed-sensing theory can indeed be successfully applied to actual Herschel/PACS data and give significant improvements over the standard pipeline. In order to fully use the redundancy present in the data, we perform full sky map estimation and decompression at the same time, which cannot be done in most other compression methods. We also demonstrate that the various artifacts affecting the data (pink noise, glitches, whose behavior is a priori not well compatible with compressed-sensing) can be handled as well in this new framework. Finally, we make a comparison between the methods from the compressed-sensing scheme and data acquired with the standard compression scheme. We discuss improvements that can be made on ground for the creation of sky maps from the data.


text:
Review: Murder on Parade by: Jessica Fletcher & Donald Bain
By Paula Wednesday, October 30, 2013 // No comments
Title: Murder on Parade
Author: Donald Bain & Jessica Fletcher
Publisher: Penguin Group
Source: Barnes and Noble Purchase
Format: e-book
Series: Murder She Wrote #29
The Cabot Cove residents are pulling out all the stops for their celebration of the 4th of July this year. But amidst the pleasures of planning the big event, there is tension too. Joseph Lennon, a very successful businessman, has recently relocated to Cabot Cave and is funding a big fireworks show and rock concert. There are many in town who don't like him throwing his wealth and power around to get things done his way.
When Mr. Lennon's body is found the evening of the fireworks show, Jessica has a long list of potential suspects.
I have recently been introduced to the tv show within the past 8 years and have soaked up countless hours of it when I can. When I discovered they were also a book series I jumped at the chance to read them. I am partial to Cabot Cove books. I enjoy reading about Seth, Jessica and the Sheriff Mort Metzger. I find them to be a great cozy mystery.
This one dealt with Joseph Lennon a big money maker who decides to make Cabot Cove his home and tries to change parts of Cabot Cove that people love. Alot of the people love what he's done but just as many don't like the change they like the simpleness of Cabot Cove, and find what Mr. Lennon is trying to do a horrible shame.
This book also brings back Amos Tupper and a retired FBI agent that Jessica has worked with before. While things are heating up for the fourth of July so are tempers when it comes to the changes being made by Joseph Lennon. When he turns up dead it's up to Jessica to get to the bottom of it.
To me this series Murder She Wrote I think in a way started the world of cozy mysteries, after all she was a simple school teacher who wrote a mystery book and has continued to help friends who find themselves suspected of murder. The people she has saved is too large to name but in the end Jessica always gets her man or woman if the case maybe. While the show has long ended it's nice to have these books to read and see what they are up to.
Definitely a great book for those who love the show or characters from the show, you can almost hear them saying the lines in the book with the actors who portrayed them.


text:
Q: Are "revisited" and "revisiting" temporally different?
Possible Duplicate:
Using -ed vs. -ing in the "needs washed" construction

I used "revisited" in a sentence not unlike this:

In the past we decided policy X should be applied to certain types of users.
I wonder if this needs revisited?

The word revisited was corrected to revisiting:

I wonder if this needs revisiting?

I then did a search to find out what the difference in usage between the two words are and found these examples:
Revisited

*

*Revisited at a future meeting.

*Revisited regularly through out the school year.

*Revisited in the future.

Revisiting

*

*Revisiting the dream.

*Revisiting the treaty at such length, but will instead give a useful overview of its contents.

*Tired of constantly revisiting sites to check for new articles?

Is revisited used when it's something you do in the future, but revisiting is something you are doing at a current or past point of time?
I felt the original usage was fine because I didn't expect the "revisit" to happen immediately?
For clarity, I am a British English user (Scottish to be more precise).

redpajama_set_name: RedPajamaStackExchange


text:
Q: AngularJs: Auto scroll enclosing div when using angular bootstrap typeahead I have a parent div within which I have bootstrap angular typeahead. When the typeahead is loaded and displayed, the parent div should auto scroll to the bottom.
I have the following html code

            <input type="text" style="overflow:auto" ng-model="selected"
                 typeahead="item for item in filterInput($viewValue) |   limitTo:10"
                 typeahead-on-select='onSelect($item)'>

The parent div should scroll to the end once the typeahead options are filtered and rendered.
I have written the directive for auto scrolling but I am not sure where to add this directive
myDirective.js
myApp.directive('myRepeatDirective', function () {
        return {
            restrict: 'A',
            link: function (scope, element, attr) {
                var questionInput = document.getElementById("myQuestion");
                questionInput.scrollIntoView(true);
                questionInput.focus();
            }
        }
});

How can I achieve auto scrolling of parent div once the type ahead loads?


text:
Benazir Bhutto killed in blast
A SUICIDE bomber has killed Pakistan's opposition leader Benazir Bhutto today.
Ms Bhutto was killed by a blast as she left a public rally in Rawalpindi.
The explosion also killed at least 20 other people.
Ms Bhutto had been in Rawalpindi for a speech in the run-up to Pakistan's parliamentary elections which were due on January 8.
The news sent shockwaves through the Asian community in Suffolk, many of whom saw Ms Bhutto as a vital figure for the whole Indian Sub-Continent.
Ipswich-based businessman Mohammed Abid, who is originally from Pakistan, was shocked when the Evening Star broke the news to him.
He said: "This is dreadful news. I know Benazir Bhutto had been warned away from going to Rawalpindi last month, but this is appalling.
"I am not a supporter of the Pakistan People's Party (Ms Bhutto's party) but this is very bad news for the country and democracy."
Many of the Asian community in the Ipswich and Suffolk area were originally from Bangladesh which broke away from Pakistan in 1971 when Ms Bhutto's father was prime minister.
Manik Miah, who now runs the Maharani restaurant in Ipswich, said: "This is a tragedy for the whole Indian sub-continent.
"Benazir Bhutto was a very important figure for the whole region. All of us here today are shaking at this news. It is absolutely dreadful."


text:
Ideas. Action. Impact. The Washington Institute for Near East Policy The Washington Institute: Improving the Quality of U.S. Middle East Policy
Fikra Forum
Arab and Islamic Politics
Arab-Israeli Relations
Democracy and Reform
Energy and Economics
Gulf and Energy Policy
Military and Security
Persian Gulf States
Browse All Analysis Research Programs
Also available in العربية
Download High-Resolution Photograph
Diana Moukalled
Diana Moukalled is a veteran journalist that has extensive experience in both traditional and new media. In 1991 Diana graduated from Lebanese University faculty of journalism and started her career as a correspondent for Future Television where she covered many regional and international topics in her series "Through the Naked Eye." Her expertise varies from news writing and reporting, to documentary and TV production, and war coverages in hot zones including Afghanistan, Iraq and Lebanon. Human Rights, women, war, minorities and many other issues were topics of her long and extensive world coverages.
Since 2011, Diana has focused extensively on the online including social media strategies and training.
Diana is also a columnist and freelance documentary producer.
Most Recent Analysis
Sexuality and Social Media in Lebanese Politics
Follow Diana Moukalled
Follow Diana Twitter
The Washington Institute seeks to advance a balanced and realistic understanding of American interests in the Middle East and to promote the policies that secure them. | About the Institute
The Institute is a 501(c)3 organization; all donations are tax deductible. | Support the Institute
Maps & Graphics


text:
Air New Zealand warns of flight disruptions as Cyclone Gita bears down
Power to tens of thousands of people was cut as several areas declared a state of emergency and cl...
Venezuela's Petro cryptocurrency pre-sale starts tomorrow
The designers hope the Petro will raise the hard currency value and also act as a payment media fo...
Complaint: California Assemblywoman asked staffer to play spin the bottle
Kernick's complaint is the latest allegation of sexual misconduct against Garcia, who has taken a ...
Merkel Backs Close Ally For Key Party Role Amid Succession Debate
The EIB, which is based in Kirchberg and owned by all European Union member states, can only back "d...
Two lynched for raping minor in Arunachal
The girl's disappearance from Lohit district of Arunachal Pradesh state, and the discovery of her ba...
Flood warning advised for Red Cedar River, EL area
We then enter another period of rain chances Friday through Sunday, although the intense atmospheric...
Mueller charges lawyer with lying about interaction with Rick Gates
Gates is expected to reverse his plea in the coming days and to eventually testify against his co-...
Every Box Office Record 'Black Panther' Broke This Weekend
Evans recently spoke to ET Canada about the massive success of " Black Panther ", saying "There's ...
Iran: 'Scattered Bodies' at Aseman Airlines Wreckage Site
This means that helicopters and other non-fixed wing aircraft can not deliver rescue teams over to t...
DPRK blasts South Korean conservatives for trying to derail inter-Korean reconciliation
North Korea considers it possible to co-host with Seoul the 2021 Asian Winter Games, local media ...
Pennsylvania Supreme Court unveils new congressional map
Republicans blasted the ruling , saying it was unconstitutional and that the court didn't give lawm...
Qatari envoy says both Israel and Gaza militants want calm
The army also reported that a "launch was identified from the Gaza Strip at Israeli territory", wi...
Bombings Kill 94 In Syria In One Day: Syrian Observatory
Fighting has once again surged in the Damascus suburb of Eastern Ghouta, where the Syrian Army has b...
Donald Trump Jr 'cashing in' on father's name in India
In fact, he will launch two real estate projects - one in Gurgaon near Delhi and the other in the ...
Kvitova reigns supreme in Qatar to clinch top 10 spot
It also extended her winning streak to 13 matches, just one short of her career record. The victor...
Kosovo celebrates 10 years of independence with ceremony
The United States has been one of the strongest supporters of the Kosovo independence from the begin...
Olympic Roundup: US wins in women's hockey, Canadians dazzle in ice dancing
Forward Hilary Knight , who also scored on Monday, said after the semifinal win over Finland that...
Driver removed from presidential motorcade after gun found in bag
The driver then told reporters he forgot to leave the firearm inside his personal vehicle before ent...
Trump Will Hate This New Ranking of US Presidents
Just over 57% of those polled identified as Democrats, while 13% were Republican and 27%, Independen...
New format finally leads to competitive NBA All-Star Game
Curry finished with 11 points and shot 4-of-14; James Harden scored 12 and shot 5-of-19. "I think...
Prominent Republican donor issues ultimatum on assault weapons
Hoffman wrote, "For how many years now have we been doing this - having these experiences of terrori...
Netanyahu associates named as suspects in new corruption probe
Netanyahu has not been named as a suspect in the Bezeq affair, but a spokesman for his family had re...
21-year old Christian Coleman sets new 60m indoor world record
The time knocked 0.05sec off Greene's mark of 6.39, which he set in Madrid in 1998 and matched three...
Microsoft Explains Why It Won't Block Mouse And Keyboard On Xbox One
Now the games-maker teases that 1440p support will launch in a new preview build coming soon. The Xb...
Two Teenagers Arrested for Making Threats to Carmel High School
Wintersville Police confirm they are actively investigating threats involving Indian Creek High Scho...
Kids treated for injuries after jet dumps fuel over school
Delta Flight 89 took off from Los Angeles en route to Shanghai and was forced to turn back after exp...
Impeachment trial likely to begin next Tuesday
Because the White House chose not to participate in the House's impeachment investigation, it will b...
Pro-Iran Militias Conduct Another Rocket Attack on Iraqi Military Base
Thousands are of Iraqis still gathering in separate anti-government demonstrations in Baghdad's Tahr...
Russian hackers hit Burisma, Ukrainian firm from Trump impeachment
Hunter Biden , son of former U.S. vice president and Democratic presidential hopeful Joe Biden , ...
Start ← Back 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 Forward → End
Vince Vaughn and Donald Trump shook hands, and everyone has opinions
On Monday night, Hollywood star Vince Vaughn was spotted chatting amicably with President Donald Trump at the CFP National Championship Game in Ne...
India, US Discussing Dates For Donald Trump's Visit
In June 2019, the US cancelled India's preferential export "GSP" status, and the government hopes Mr. Trump will announce a revocation of that decisi...
The minimum period of notice is usually 28 days, meaning the first same-sex weddings are likely to take place from Monday 10 February. The Northern ...
Giant sinkhole swallows bus in China, killing six
The incident has also left 16 people injured, but they are in stable condition now. Several more people on the street fell in the hole as it widened...
President of Iran: Special court should be created for plane crash investigation
Iran's air defences had been on the highest state of alert before the shooting because the country had just fired more than a dozen ballistic missile...
A second Scottish independence referendum? Johnson says no
AOC Ignores Dems, Shares Cash With Progressive Candidates
Homeland Security officials announce milestone in southern border wall construction
France, Germany, UK pull diplomatic trigger on Iran deal dispute
MI5 chief dismisses UK-US security fears over Huawei
United States to join probe of Ukrainian plane crash in Iran: agency
© 2020 GkMen. All rights reserved.


text:
Five of the Best – Royal Ascot's Finest Ever Horses
Tue Jan 21, 2020 London
The Steeple Times
opulence & splendour
TIPPLE & FARE
the roll call
Longreach Publishing Limited
The Steeple Times is an online magazine with a following of upto 880,000 unique views per day on our best day yet.
We have 91,000 daily subscribers by email.
We typically average around 320,000 unique views per day.
We currently have 65 contributing authors who range from students to the actor, writer and producer Steven Berkoff and the champion jockey Frankie Dettori.
Combining a mix of society's last word and both wit and wisdom, The Steeple Times covers food, drink and fine dining as well as luxury, travel, the arts, individuals of influence and current affairs in the United Kingdom, America and elsewhere. We are best described as being akin to "a cross between The Huffington Post and Private Eye".
The magazine's following is affluent, engaged and international. With 41% of readers coming from the UK and 38% from America, The Steeple Times also has strong presence within Canadian, Italian, German and Australian territories.
From playing the field to buying a team The game changers in the worlds of polo, horse racing, sailing and other sports
Five of the Best – Royal Ascot's Finest
Racing enthusiast Jon Vine takes a look at the five most famous horses to ever run at Royal Ascot
Royal Ascot is approaching and as excitement begins to build, we take a look at a five of the greatest superstars to have previously graced the meeting.
Brown Jack
Between the years of 1929 and 1934, Brown Jack achieved a feat which is unlikely ever to be repeated, when he won the Queen Alexandra Stakes at Royal Ascot six seasons in a row.
What makes Brown Jack such a unique and popular horse, is that he started his career as a hurdler and even claimed Champion Hurdle glory at the Cheltenham Festival as a four-year-old, before switching to flat racing later that same year.
He won the Ascot Stakes title in the summer of 1928 and his trainer, Ivor Antony, saw his charge win ten more major titles over the next six years, including those incredible victories in the Queen Alexandra Stakes.
The Royal family have forever been closely associated with Ascot's most famous Festival and a victory for a horse carrying The Queen's colours is celebrated and treasured above any other winner during the week. In 2012, the Sir Michael Stoute trained Estimate carried her majesty's silks into the Royal Ascot winners' enclosure, when Ryan Moore guided her to the Queen's Vase title.
A year later, the four-year-old filly stepped into Grade 1 company for the first time in the Ascot Gold Cup. Moore once again timed his late charge to perfection and the Royal Ascot stands erupted as Estimate made history, claiming Gold Cup glory for the Royal Family for the very first time.
Aiden O'Brien's charge was never the flashiest, or most breath-taking runner in the sport, but Yeats' four successive Gold Cup triumphs between 2006 and 2009 ensured he would go down in history as one of the greatest horses ever to tread the Royal Ascot turf.
Victories in the Coronation and Goodwood Cups set a wonderful platform for his future successes and his dominant displays in the Gold Cup earned him the accolade of European Champion Stayer four years in a row.
Royal Ascot paid tribute to the four-time champion shortly after his retirement, as a statue was erected alongside the parade ring in 2011, forever immortalising Yeats' incredible accomplishments.
International superstars have often ventured to Royal Ascot over the years and watched their superstar reputations crash and burn in front of their trainer's horrified eyes – Black Caviar was not one of them.
Australia's most celebrated horse carried what seemed to be the weight of the world on her shoulders when she shuffled into the stalls in the 2012 Diamond Jubilee Stakes, but Peter Moody and the horses other connections had no need to worry. She soon established a commanding lead and was even eased down by her jockey, Luke Nolen over the final, triumphant furlong.
Black Caviar retired as one of the most famous horses around the world. She ended her career with an unblemished record of 25 consecutive victories, but her stunning performance at Royal Ascot shines brightest amongst her many achievements and the plaudits continue to arrive on social media through such mediums as the horse racing Twitter account @racingtips.
Described by his trainer, the late, great Sir Henry Cecil as "the best horse I have ever seen", Frankel's performance in the 2011 Queen Elizabeth II Stakes went a long way to establishing his reputation as the best in the business.
Anyone who was lucky enough to witness his commanding display in the 2000 Guineas that year, knew they were in the presence of greatness and as Tom Queally drove his mount clear of all his Royal Ascot pursuers with consummate ease, his legacy was cemented.
After another incredible showcase of sprinting in the Queen Anne Stakes on Champions Day at Ascot later in the season, Frankel was awarded a rating of 147 – the highest rating ever bestowed upon a flat racer and ensuring he will be remembered as the greatest of all time.
Royal Ascot 2017, Tuesday 20th to Saturday 24th June 2017, Ascot Racecourse, Ascot, Berkshire, SL5 7JX. General Enquiries: +44 (0) 844 346 3000.
Author Jon VinePosted on April 27, 2017 April 29, 2017 Categories THE SPORTING LIFETags 2009, Her Majesty The Queen, social media, 2007, Queen, horse racing, 2011, Queen Elizabeth II, Coronation, 2008, 1929, royalty, royal, Australia, Great Britain, 2012, The Queen, Cheltenham, Berkshire, statue, The Steeple Times, England, Twitter, horse, horses, champion, 2006, racing, jockey, winner, Festival, 2017, five of the best, win, 1928, bet, betting, horseracing, Sir Henry Cecil, winning, 2000 Guineas, greatest horse, runner, trainer, Gold Cup, racehorse, Cheltenham Festival, flat racing, jump racing, Aiden O'Brien, Royal Ascot, estimate, Ryan Moore, tips, Sir Michael Stoute, victory, glory, the turf, filly, hurdle, race horse, plaudit, 1934, Jon Vine, Racingtips.com, racing tips, June 2017, Royal Ascot 2017, Ascot Racecourse, SL5, SL5 7JX, @racingtips, racing enthusiast, five of the most famous horses to ever run at Royal Ascot, famous horses, Brown Jack, Queen Alexandra Stakes, Champion Hurdle, hurdler, Ivor Antony, Queen's Vase, Ascot Gold Cup, Michael Stoute, Yeats, turf, greatest horses, Goodwood Cup, European Champion Stayer, parade ring, Black Caviar, international superstar, crash and burn, Diamond Jubilee Stakes, Peter Moody, Luke Nolen, furlong, achievement, horse racing Twitter account, Queen Elizabeth II Stakes, best in the business, Tom Queally, Queen Anne Stakes, flat racer, greatest of all time
2 comments on "Five of the Best – Royal Ascot's Finest"
Black Caviar rules the roost and will do so forever!!!!!!!!!!!!!!!!!!!!!!! Yeah!!!!!!!!!!!!!!!!!
Ethel Jones says:
I enjoyed this feature very much as I do enjoy a little flutter now and again on the gee gees. I would publicly declare that I would like to see your old tipster The Tout come back and do more columns also. I have very much enjoyed this one by Jon Vine though and thank him for such a lovely set of memories. I won quite a bit on Frankel and on Estimate also.
Previous Previous post: A Big Priced Basement
Next Next post: A River Runs Through It
A Question of Meghan
Anth' Swings into Hyde Park
All You Need To Know About American Football in the UK
Epstein's Drinkers & Drivers
The Christy 1965 Chase
Where's Bernie?
Casino Calimities
Runners & Riders – Newmarket, Saturday 28th September
Runners & Riders –Ayr Gold Cup Festival 2019
Shame on The Sun
Runners & Riders – The St Leger 2019
The Best & Worst Roulette Strategies
The Priorities of Parliament
Runners & Riders –The Epic Ebor, Day Four
Runners & Riders –The Epic Ebor, Day Three
Runners & Riders –The Epic Ebor, Day Two
Runners & Riders –The Epic Ebor, Day One
Glorious for a Grouse Moor
Runners & Riders – Saturday 3rd August
Runners & Riders – Friday 2nd August
Runners & Riders – Thursday 1st August
Hero of the Hour – Khadijah Mellah
Picture of the Week – Scary Spiced Bernie
A Highland Dream
The World's Worst Gambling Strategies
Word of the Week – Milkshaking
Winless Italy
Parrot Trends
Shame, Sheep and Trumps
A Mega Priced Metro
Moron of the Moment – Larysa Switlyk
The Modern Macnab
Sick Sabs
Brilliant Berkoff
Casino London
A Half Million Hut
Put A Helmet On
Tigger Bounces into a Cowshed
Cheap in Chelsea
Harnessing a Horse Track
A Lot for Le Mans
Dwarfing Misogyny
A Bargain Boat
Bungling Bernie
Strictly Come Mayfair
Dogging Assange
Waving in the Wheat
Subscribe Daily Newsletter
@ 2020, thesteepletimes.com. All rights reserved.


Expert Spotlight: John Blaskey - The Exhibition Expert!
Expert Spotlight: John Blaskey – The Exhibition Expert!
Conferences, workshops, events, tradeshows. We've all attended them, and many of us have held exhibitions there too. But have you ever asked yourself whether or not you're exhibiting in a way that will actually benefit you, or your company? It's probably not something you've considered before. After all, you just show up and exhibit… right?
Well, it turns out that there's far, far more to it than that. Anything short of a fully thought-out and professionally presented exhibit will not only be a huge waste of time and money, but also be pretty damaging for your brand.
How do we know this? Well, we've spoken to the latest expert under our spotlight.
John Blaskey has found himself within an impressively tight niche, as an expert in the field of Exhibitions. In a nutshell, he coaches businesses on how to hold exhibitions, and measure their success.
He has over 40 years experience in this field, and now runs a strategy company called The Exhibiting Agency, where his years of philosophising on the subject have been combined into a multi-million consulting company.
But how did it all begin, and where is it going? We caught up with long term APCTC member John Blaskey to find out all of those things, and more!
Where did all of it begin? Can you give me a brief overview of your journey?
in 1974 – if anybody can remember as far back as that – I was in the business of manufacturing display panels for people who exhibit at trade shows and one day I was delivering such a system to a client. This was much later on, but they were simply saying to me, if I had this experience in trade shows, would I mind telling their sales reps how to behave on the stand? I obviously said yes, I could help them. What did they want to achieve at the show? The answer I got was, 'Well, don't worry about that. We always go. We have to go. What would people think if we don't go?' There was no rhyme or reason. There was no strategy, there was no planning, there was no process for their success, and the measurement of that success at trade shows.
Who – or what – has been the biggest influence on you?
The biggest influence has been not listening to traditional wisdom. The way that exhibitions are done, everybody thinks that's the right way to do it, just because everybody else is doing it. The key element in my approach has been: challenge. Challenge every existing convention, every existing habit, shine a spotlight on it and don't be consumed by traditional thinking, or by traditional habits.
The best factor, the best tool, has really been to not accept what the norm is, and from doing that, we've evolved the process, which we guarantee. We have a system, which will work every time, when it's put in place.
What makes you and your service different?
They would come to us because we guarantee the results. Quite simply, if they listen to what we suggest – and that comes in various formats; we can either do a workshop, we can consult during the whole live-marketing event, the trade show, or whatever; or we can even select a whole programme for them. If they do it our way, and they don't get the results, they don't need to pay us. We're happy to hold their hands and run a maintenance product.
It also applies to the organisers of conferences, trade shows and exhibitions, so they're hiring us as well, because they need to educate their exhibitors, so they need to know what these processes are. But that's really the differentiator. We will do the whole lot – that is strategy, the stand-design, and the staff. Put them all together, and guarantee the result, if people do it our way.
This is one of the most wasteful industries in the world, and when you ask people what result did they get: we've done surveys. Ninety-four percent don't know what results they get when they exhibit at a trade show or a conference. Very few people are happy with their results. Now, this speaks volumes for the industry. I see stand behaviour, which is not brand behaviour. People are actually not living their brand – they're making an exhibition of themselves. You might have a beautifully designed stand, but the human beings absolutely destroy it. They don't express the brand, which is a very valuable asset of any organisation, however large or small. I've seen terrible, terrible abuse of budget, and usually the wrong people on the stands. Not trained, not connected to the objectives or the strategy of the organisation, and it really is disruptive, dysfunctional, and very upsetting.
What have your biggest challenges been?
The biggest challenges are changing a mindset. People say they've always done it this way, and even when you ask them what results they got, they can't tell you. They are still very stuck in their own ways. It's unusual that when it comes to marketing – and I'm principally talking about marketing rather than selling – if you need a good ad campaign, you go to an agency. If you need a good PR campaign, you go to an agency. If you need a good social media campaign, you might go to an agency. When it comes to trade shows, where you're actually putting your own brand on display, right next to your competitors, in the same room, aiming at the same audience, you tend to do it yourself. It very rarely syncs with your other advertising or promotional activity. This is a real shame.
The biggest challenge is to get people to regard their live marketing as a strategy, in the same way you would have an ad strategy, and that it must be linked up with everything else, holistically. So, getting people to think of this as a strategy, and to do something different – because if you always do what you've always done, you'll already got what you've always had – that's the biggest challenge.
Did you ever feel like throwing the towel in and if so, what made you continue?
There's another time when you want to throw the towel in, and that is unfortunately when the organizer of the show does not deliver the audience they promise. Now, that can be a conference, where all the delegates are going into the lectures, but they're not visiting the exhibition that's attached. Or it can be an organizer who is promising thousands of visitors, and only gets hundreds, and isn't really prepared to do anything about it. It's very frustrating when you get stiff-necked organizers who are not really thinking of their exhibitors, who ultimately are paying the bills. They are paying for the whole thing.
You've got two mindsets here: The delegates to the conference want to listen to the lectures. They want to learn. They want to network. The last thing they want to do is to be sold to by exhibitors who are not appropriate. Now, the mindset of the exhibitors is: They're spending a fortune of money to get at these delegates, in very limited timeslots. Registration, coffee break, lunch break, tea break, and they want to sell – or at least they want to explain or showcase their products.
I'm of the mind that a different model needs to be introduced. It's a model I've seen in America. Should we, for example, be having the lectures in the morning, for the delegates? Maybe finishing at about eleven thirty. Opening the exhibition for two or three hours, finishing it at three o'clock, but you've got topic tables over lunch, you've got all that interaction, and then resuming the lectures in the evening, which gives everybody a fair crack of the whip. Equally, I don't know whether you should call it an exhibition? Should you not call it a "showcase"? Should you not call it an "innovation zone"? Because that at least gives the delegates a reason to look at what is new, and relevant, in their marketplace.
What do you think your clients value most about what you offer?
I think it's about performance. In all the interpretations of the word "performance". I think it's turning a stand, which is static, into an experience which is dynamic, and my mantra is: you have to engage, you have to entertain, and you have to educate. If you get all these three things into your stand experience, rather than a "stand-the-experience", you will stand out as a client.
We measure everything – we have a measurement tool called "Outcomes" – we stand out because, the staff disappear, the stand is dismantled, everything goes, except the data you've captured. That is your nugget for growth, so that's how we stand out. We're not woolly about anything. We're about listening, rather than talking. I think trade show stands are about listening, and everything we do is about getting ourselves and our companies to listen to what's happening in their industry.
What has your experience of APCTC membership been like?
I'm really impressed, and I'm not just saying that! because we're online. The very fact that I'm talking to you is testament to the fact that you do listen to your members. I was recommended to you by Growth Accelerator, and I've already had tremendous value from being a member.
What new and exciting plans do you have for this year?
We've decided to partner up with a very strong professional staff agency, and a couple of really good stand-design people who get our methodology, so we're now in a position to actually not just do a workshop of consultancy, but take the whole implementation away, so you could say to us, 'Okay, just run my stand', or, 'Run my programme', and then we will hand you back the results. We're repositioning ourselves as an implementer at every level. That's number one.
Number two, a really exciting development, is: we seem to be speaking at last to the organisers and the trade associations connected with countries, who are trying to promote their own economies. At the end of last year, and I've got some more this year, some very exciting keynote speaking slots in Dubai, in Malaysia, in Bangkok, in Hong Kong, and in China. We're trying to show people how to do it better.
I do feel that I'm going to leave a legacy this way. I'm going to be able to share forty years of experience with a lot more people, because if you get to these trade associations and organisers, and then transmit that learning on to their exhibitors and their clients, you feel that at least best practice is being pursued and shared.
This is a good tip, which I've given to other consultants. Every single talk we do, and some we have to almost give away for just expenses, rather than charging, but we insist that at every talk that we give (we do it in a nice way, obviously) we put out a feedback form on everybody's seat, and we always ask questions that are relevant to the topic on which we're speaking, and to the experience of the audience.
Up to now, I've run the business more or less for myself, for a lifestyle business, if you like. I employ only one person. She's invaluable to me. She's my business manager, and I've now made her a shareholder in the business, but we've done it on a capacity basis for, if you like, me and a very small team. Recently we've taken in partners – an excellent company called Shirlaw's Coaching. Shirlaw's are now helping us to scale the business up, and they're asking us the sort of questions that we would ask our clients and they're putting us on the spot.
In terms of financial performance, we've done all right for the last few years. Nothing spectacular, but we've lived very nicely. The next couple of years are going to be really interesting, because we're now looking at licensing our IP in its various formats, and scaling it up so that we can leave a much broader legacy, so that we can get more people in touch with this way of working, and that's going to be global. We want to do that through all sorts of channels, but watch this space.
Probably, I don't, and my passion takes over. So, for example, in November I was in thirty degrees in Dubai for four days, and next week I'm in Helsinki at minus twenty degrees, and a wind chill factor of ten. So this business really blows hot and cold! Having said that, when I stop enjoying it, I will stop doing it. What I want to do next is really share this stuff, and get a better work-life balance. I do want to work a little less now, and train the trainers, if you like. You may have some consultants in your association who might literally want to adopt this approach, and might even be interested in these techniques. So it's all open to them.
Do you have a final message for anyone who aspires to you?
Well, the interesting thing about what you provide, and what we are, revolves around this word "consultant", and very often, I hear almost a sigh when I say, 'We are consultants', and whilst we are consultants, I'm looking for other words.
I actually use the word "strategist". Rather than saying "marketing consultant", I use the word "strategist", because I do believe that what most consultants really are is strategists. They bring strategy, and process, and planning, where there is none. At least that's my experience, and I'm open to challenge on that. I think we need to actually improve the perception of what a consultant is and does. I think that would be enormously helpful in the fast-moving days of social media.
What can we be if we're not consultants? Or, what is the perception that would really illustrate the added value that we provide?
We are absolutely thrilled to hear that John Blaskey has found APCTC membership helpful for the development and growth of his unique business! If you would like to see what's it's like, why not sign up for a free 30 day trial? You can cancel at any time and it's just £27 a month (inc. VAT!) if you decide to stick around. Easy!


The following list is a guide of commonly used plant materials for specific site conditions.
The following tables represent the recommended root ball sizes for trees that are grown in the ground in a nursery and harvested by being balled and burlapped (B&B). Root ball size is based on height or caliper size of the trees. These root ball sizes can vary according to growing conditions surrounding a tree. For example, a plant might require a larger root ball than required due to a wide spreading root system because of natural habit, infrequent root pruning or out of season transplanting. There also might be circumstances when a smaller root ball is recommended as with container stock, or plants that have been frequently root pruned or transplanted. The following tables will help in determining estimated sizes and weights for trees.
To determine the height of field and container grown plant material, measure from ground level (or soil level) at or near the top of the trunk flare to the top of the plant.
To determine average height for coniferous evergreens measure from the top of the root ball (or trunk flare) to the midpoint between the upper-most whorl and the tip of the leader.
Caliper measurement of a tree trunk should be taken six inches above the ground, up to and including four-inch caliper size. If the caliper at six inches above the ground exceeds four inches, the caliper should be measured at 12 inches above the ground.


Our aim is to present our customers with the finest poster displays and snap frames on the market; therefore, you can trust that you will be offered the highest quality poster display and snap frames at Display Developments. We encourage you to browse through our collection today, as no matter what lockable poster display frames or snap frames you're looking for, you'll find them here.
We can provide both traditional and contemporary poster display frames in the UK to suit your needs with the ideal product to complement your property. Our poster display snap frame products are available in a wide variety of styles and sizes.
We can provide the most competitively-priced poster frames in the UK, so are confident you will find the perfect item to suit your budget and needs. Also, if you can't find a frame to suit your poster, just contact us today to discuss a made to measure service.
So, if you are looking to buy the best lockable poster display frames, snap frames and more, look no further than Display Developments, the UK's leading display stand and brochure holder specialists.
Looking to Buy Snap Frame Poster Holders?
If you are looking for snap frames or poster holders, Display Developments is the right place to come. Whatever the style of poster display frame i.e. snap frames, clip frames or click / clip frames, we will have the perfect solution.
Poster display frames, or snap frames as they are often referred to, have a large range of commercial uses, from literature presentation to menu display in the hospitality industry. These poster frames are extremely strong and will prove ideal for promoting events to the general public whether you have a restaurant, hotel or pub. Whatever your requirements, Display Developments have the ideal poster display or snap frame solution for you.
With such a vast array of poster and snap frames in several styles and sizes, from rounded corners to mitred corners, lockable tamper proof to quick release snap frames, you will find the right poster display frames to buy here at Display Developments.
Our poster display frames and snap frame products are readily available & with high stock levels they are available for fast delivery. If you have any queries regarding our range of snap frames, please contact our sales team and they will be only too happy to advise you.
Purchasing Poster Display and Snap Frames is incredibly easy!
The Display Developments order process for snap frames is very simple. Add your chosen poster display, poster frame or snap frames to the shopping basket, choose the quantity you require and pay at the checkout. It is really that simple to buy our poster display frames! Our sales team will always be there to help you with your enquiries.
We have a huge range of poster display and snap frames to choose from below, so we know you'll find exactly what you need. However, if you would like any more information about our poster display and snap frames, or indeed any of our display products, do not hesitate to contact one of our helpful and friendly team.


Beginner (tour of the Mountain) and Intermediate (with the Calamita's mine). Flow and gas!
The Tour of Monte Calamita can take purely landscaped connotations (even the most gravity biker will remain entranced) thanks to the high ring of Mount Calamita that takes us in the middle of nature with a total view of the sea for the entire Tour! This ride is perfect for beginners and also for the less fit, where our top-range e-bikes come to help.
Another variation is to put a pinch more than adrenaline thanks mainly to the descent of Poggio Polveraio or Val di Fosco, 2 trails that descend to the sea. The descent of Poggio Polveraio is certainly among the most beautiful of the island, certainly not the most technical but among the most fun, with a lunar landscape: black and shiny boulders, blue and green veins, wild coasts and red earth. It is in fact the old mine of the Vallone, an open-air site of the Capoliveri mine, which still bears the signs of a thousand-year work. The machines, still visible, worked until 1981, the year of closure for all the mines of Elba.
On Monte Calamita we can organize any kind of tour for any kind of need. Do not you know your level precisely? Do not worry, it is not a problem to modify the tour in "direct line", an advantage in having a guide at your side.


In response to popular demand, we are happy to now offer gift cards.
The next time you're in the giving mood, we've made the gift-card buying process extremely simple.
Gift cards are issued in the form of store credit redemption codes which are redeemable only in our online store.
Gift cards can be purchased in any denomination or quantity.
That's all there is to it. Now go spread the love.
Don't forget, if you're the sort of happy customer to buy our stuff as a gift for a loved one, then you're also likely to be the type who'd benefit from our Referral Program.


text:
A big Obamacare policy could help fight the heroin epidemic. Politics is holding it back.
By German Lopez@germanrlopez May 12, 2016, 2:40pm EDT
Share All sharing options for: A big Obamacare policy could help fight the heroin epidemic. Politics is holding it back.
With an opioid painkiller and heroin epidemic killing tens of thousands each year, lawmakers across the country have talked at length about dealing with the crisis by boosting access to drug abuse treatment.
"In Tennessee, we have a problem with prescription drug abuse and it's going to take all of us working together to tackle it," Tennessee Gov. Bill Haslam said, while unveiling a plan that vowed to increase access to treatment for drug abuse.
But Tennessee, like 18 other states, is rejecting a policy that would provide access to treatment to potentially hundreds of thousands of opioid abuse patients: the Medicaid expansion.
Related The opioid painkiller and heroin epidemic, explained
Under Obamacare, the federal government encourages states to expand Medicaid, the public health insurance program for the poor, to cover anyone at up to 138 percent of the federal poverty level. This would give many low-income people a way to pay for drug treatment. And it'd be a good deal for states: The federal government would pay for more than 90 percent of the expansion, compared to the typical 60 percent it pays for all of Medicaid.
Medicaid plays a huge role in paying for drug abuse treatment. According to a 2014 study by Truven Health Analytics researchers, Medicaid paid for about 25 percent — $7.9 billion of $31.3 billion — of projected public and private spending for drug abuse treatment in 2014. That makes it the second biggest payer for drug abuse treatment spending after all local and state government programs.
But despite Obamacare's funding incentives to expand Medicaid, many states haven't expanded. Conservatives argue that even the 10 percent they would have to pay for expanding Medicaid is too costly, especially since they view Medicaid as a dysfunctional entitlement program and Obamacare, the measure funding the expansion, as a broken law. (Even if Medicaid has problems, research shows it's better than no insurance at all.)
So 19 states, mostly under Republican control, haven't expanded Medicaid.
Kaiser Family Foundation
This leaves a lot of Americans with drug use disorders stranded without access to care — even as there's a policy tool to take care of these people.
The Medicaid expansion can help increase access to treatment in two big ways
Paula Bronstein/Getty Images
The opioid epidemic has exposed a massive gap in the American health care system. According to 2014 federal data, at least 89 percent of people who met the definition for a drug use disorder didn't get treatment. Patients with drug use disorders also often experience weeks- or months-long waiting periods for care. (Imagine having to wait weeks or months to get care for any other illness with deadly outcomes, like heart disease or cancer.)
"What we have right now is a population of people out there who have serious problems with opioid use disorder … and they don't have access right now to effective treatment," Brendan Saloner, a researcher at Johns Hopkins University, said. "What the Medicaid expansion does is create an opportunity to intervene with these people in order to get them into treatment resources that they otherwise would not be able to access without health insurance."
There are two big ways the Medicaid expansion could help fill the gap:
It gives people insurance they can use to pay for drug abuse treatment. According to a March report from the Department of Health and Human Services, about 1.9 million uninsured low-income people with mental illness or drug use disorders live in states without the Medicaid expansions. (The report did not elaborate just how many have a drug use disorder specifically, but it's likely in the hundreds of thousands.)
It might encourage more treatment facilities to open up. The idea: If a state expands Medicaid, more treatment facilities may open up in those locations since they know they'll have paying customers. Saloner, who's working on a study related to this issue, said there's "some evidence" that insurance expansions can cause "shifts in the market for treatment."
What's more, the evidence shows getting people into treatment for opioid abuse could prevent other bad outcomes, such as hepatitis or HIV infection from repurposing needles used to inject heroin. Those gains, Saloner said, are so big that drug abuse treatment "could in fact pay for itself within the Medicaid budget." (The research backs up this idea.)
Medicaid is also expected to become more important for drug abuse treatment over time. Previously, the federal Substance Abuse Prevention and Treatment block grant was the big source of funding for such treatment, but it hasn't kept up with inflation over the past few years. "The fate of the population who have these problems is now much more tied and going to keep getting more and more tied every single year to whether or not Medicaid is available," Keith Humphreys, drug policy expert at Stanford University, said.
The expansion wouldn't solve the opioid epidemic entirely. After all, several of the states that are suffering the worst from the crisis — West Virginia, New Hampshire, New Mexico — have already expanded Medicaid. Fully addressing the crises in these states will require a much more comprehensive plan that boosts treatment options across the board.
Still, it's likely these states' crises would be worse without the expansion. "A lot of people don't have good employment, which means they're not going to be getting insurance through their employer," Humphreys said. "So where else are they going to get it?"
Other states hit by the epidemic (particularly Utah, Maine, Missouri, and some in the South), haven't expanded Medicaid. And with overdose deaths climbing every year in the past several years — hitting an all-time record in 2014 — it's likely the crisis will only get worse over time across the country, making the Medicaid expansion more necessary.
Yet political opposition remains strong, even as the opioid epidemic draws bipartisan attention. To many Republicans, Medicaid is a dysfunctional program that needs to be wholly restructured or repealed. The idea of expanding it, then, seems contrary to their interests.
Debates over the Medicaid expansion make it harder to talk about improving Medicaid policies for drug abuse
Joe Raedle/Getty Images
The Medicaid expansion, while important, is one part of much bigger issues regarding Medicaid and public health. After all, even in states that expanded Medicaid, there's still a dearth of access to high-quality addiction treatment.
As one example, many people with insurance often end up on waiting lists spanning weeks or months just to get into drug use treatment. "There's the broader capacity issues that exist that are somewhat unique to addiction treatment," Saloner said. "Even with greater revenue opportunities, there's a shortage of qualified professionals who could meet potential new demand in these states."
That's not even getting into the debate about the quality of treatment. Many treatment facilities are still based on 12-step programs, like Alcoholics Anonymous, that have a weak empirical basis. Now, these programs work for some people, but they don't appear to work for a lot of people.
Yet debating whether states should expand Medicaid, Harold Pollack at the University of Chicago argued, holds back conversations about how to improve care. "Without the expansion, we get bogged down in questions about how to pay for treatment instead of how to make it work," he said.
"Without the expansion, we get bogged down in questions about how to pay for treatment instead of how to make it work"
Many state Medicaid programs, for instance, don't cover the most effective form of care for drug abuse: medication-assisted treatment.
In medication-assisted treatment, opioid abuse patients are given drugs that safely supplant their more dangerous drug use. When taken as prescribed, these drugs can eliminate someone's cravings for opioids and withdrawal symptoms without the kind of euphoric high that heroin or traditional painkillers cause. This makes it easier for someone to stop using opioid painkillers and heroin, since they don't have to deal with the withdrawal symptoms or cravings that often lead to relapse. And it can be paired with other treatment options, such as therapy and group sessions.
Right now, there are two big opioid abuse medications: buprenorphine and methadone. Buprenorphine is offered in take-home doses, while methadone is usually administered once a day in a clinic.
These two drugs have been well vetted: Decades of research have deemed them effective for treating drug abuse. The Centers for Disease Control and Prevention, National Institute on Drug Abuse, and World Health Organization all acknowledge their medical value.
But states vary widely in whether they even cover these drugs: Saloner's study found that all states cover buprenorphine to some extent, but 17 don't cover methadone.
Without support from Medicaid, the research shows these highly effective drugs are less accessible
And without support from Medicaid, the research shows these highly effective drugs are less accessible. A 2016 study by Saloner, Kenneth Stoller, and Colleen Barry found Medicaid enrollees in opioid addiction treatment and in a state Medicaid program that offers methadone treatment are nearly three times as likely to be in medication-assisted treatment for opioids than enrollees in states that offer no methadone coverage through federal funds.
Even state programs that do cover the medications tend to put extra restrictions on their availability. For example, some state Medicaid programs place quantity or time limits on buprenorphine. Given that drug addiction can be a lifelong condition, this can leave a patient stranded without necessary care — and perhaps cause him to relapse.
"Increasingly, we're beginning to understand that having someone on medication like buprenorphine for longer tends to be associated with better outcomes," Bradley Stein, a researcher at the RAND Corporation, said. "If you go back to when it first came out in 2003 or 2004, you can find various documents saying, 'We should be treating people for six months, and then we can get them off of it.' But increasingly we've learned that that's not true."
So why do many states' Medicaid programs fail to cover methadone and put big restrictions on buprenorphine? The big concern is these drugs will prove costly to Medicaid. There are also suggestions that using medication to supplant heroin or opioid painkillers is "replacing one drug with another." But these medicines are effective for treating drug abuse, safer than heroin and opioid painkillers when taken as prescribed, and, again, can essentially pay for themselves.
This is just one example of the many questions over public health policy more broadly, especially in the light of the opioid epidemic. There are still debates about improving Medicaid's structure and quality, expansion or not. There are questions on how drug use disorders should be treated outside of Medicaid — and the US's inadequate mental health care system more broadly. But it's hard to get to those issues if the political discussion remains stuck on whether it should pay for existing programs, much less if it should build more comprehensive public health policies.


When it was time to open his first establishment outside of Barcelona, London was the natural choice for Albert Adrià — the world-renowned chef and owner of Spanish restaurant group El Barri. We sat down with him to talk all things sweet, ahead of the opening of Cakes & Bubbles, his new dessert-only outpost, at Hotel Café Royal.
Can you tell us about the concept?
At Cakes & Bubbles, I see myself as a chef, not as a pastry chef, and that's why I'm convinced that we've got a strong concept — if you go somewhere and eat a piece of cake, that's not a concept, that's just you eating cake. The idea here is to try small portions of five or six different things, and drink champagne. Of course, if you only want cheesecake, you can eat just cheesecake. The idea is, you leave the place and think 'Wow, I had something very special, and I want to go back' — that's my obsession.
And why did you choose London?
I consider London the capital of the world. We did a pop-up here two years ago at Hotel Café Royal, and we felt really at home, so it felt natural for me to do it here. The location couldn't be better.
What will Cakes & Bubbles bring to the city that it doesn't already have?
It's both a concept and an experience. For example, on the menu, there'll be a cheesecake and a chocolate cake, which people have tried before, but for the rest of the 'elaborations', it's something you can't try anywhere else. There are going to be cakes, but it's not a patisserie. There are going to be desserts, but it's not a dessert restaurant.
What kinds of bubbles can we expect?
We're working on that. There will be around 60 'references' to bubbles — including sparkling water for those who don't drink — and dessert wine for when bubbles don't quite work with something.
Will there be one set menu?
The focus will be the cheesecake. However, if we open and I see that the customers' focus is on the chocolate cake or the churros, we'll adapt the menu. We'll also do this depending on the season, like we do in the savoury kitchen. Also, we'll only have one type of each dessert. For example, if I have a fig and jasmine sorbet, I'll focus only on this for a few months. We've been working on a flavour of cheesecake for the past three months. The key is to have only one of everything — the best one.
What's the most popular dessert you make?
The modern version of my traditional cheesecake — it's been on the menu at Tickets for five years and people don't let us take it off. It'll be on the menu at Cakes & Bubbles, too. I'm friends with Corey Lee, chef at In Situ, the Michelin-starred restaurant at SFMOMA, who asked me to make this cheesecake for him, and now he's not taking it off the menu.
You're one of the greatest pastry chefs in the world. When did you realise this is what you wanted to do?
That depends. Today I'm a pastry chef, tomorrow I'm a chef. I've been working with sweets for 23 years, but I've also been a chef for 20 years. I'm comfortable with both savoury and sweet, so it gives me the adaptability to work with both concepts.
What's the biggest challenge when it comes to desserts?
We talk a lot about reducing fat and sugar, but not about reducing portions or size. The problem is the portion, not the content. For example, a cheesecake with less sugar is not cheesecake. I'm very conscious about portions and having something that's going to have a balance between the price and what you eat. The notion is in the bite, not in 20 bites — just one that needs to blow your mind.
Fruit. Fruit itself is perfection. For example, you'll struggle to achieve a better dessert with banana than just the banana itself. When you use a banana in a dessert, a lot of its essence is lost. I always try to use fruit in a dessert and achieve the same taste result as the fruit itself.
I don't like adding sugar for the sake of it, just because it makes something prettier. What will surprise people about my desserts is that they won't be flashy — think elegant and minimalistic but with a lot of thought and technique. When I think of Cakes & Bubbles, I think about a blind man eating something. It's not about how pretty it looks, it's about eating a spoonful and being blown away.
What's your favourite ingredient to work with?
Mango. It has one of the most sophisticated flavours, and you can mix it with everything — lactics, chocolates, acids.
Will you be in London to keep an eye on things?
I'll be here as much as needed. I'm working very closely with my partner, David Gil, and we've been working together for seven years now. It'll be the two of us.
Any plans to open anywhere else?
For now, my concern is for Cakes & Bubbles to be full, for it to work conceptionally and to have people coming back. It's too early to think about this. The most important thing right now is to understand a city like London and its complexity.
Cakes & Bubbles will open in November 2018 in Hotel Café Royal, Regent Street.


text:
<?php

namespace JavierEguiluz\Bundle\EasyAdminBundle\Configuration;

use Doctrine\Common\Persistence\Mapping\ClassMetadata;
use Doctrine\ORM\Mapping\ClassMetadataInfo;
use JavierEguiluz\Bundle\EasyAdminBundle\Reflection\EntityMetadataInspector;
use JavierEguiluz\Bundle\EasyAdminBundle\Reflection\ClassPropertyReflector;

class Configurator
{
    private $backendConfig = array();
    private $entitiesConfig = array();
    private $inspector;
    private $reflector;
    private $defaultEntityFields = array();

    private $defaultEntityFieldConfiguration = array(
        'class'     => null,  // CSS class or classes applied to form field
        'format'    => null,  // date/time/datetime/number format applied to form field value
        'help'      => null,  // form field help message
        'label'     => null,  // form field label (if 'null', autogenerate it)
        'type'      => null,  // its value matches the value of 'dataType' for list/show and the value of 'fieldType' for new/edit
        'fieldType' => null,  // Symfony form field type (text, date, number, choice, ...) used to display the field
        'dataType'  => null,  // Data type (text, date, integer, boolean, ...) of the Doctrine property associated with the field
        'virtual'   => false, // is a virtual field or a real Doctrine entity property?
        'sortable'  => true,  // listings can be sorted according to the values of this field
        'template'  => null,  // the path of the template used to render the field in 'show' and 'list' views
    );

    private $doctrineTypeToFormTypeMap = array(
        'array' => 'collection',
        'association' => null,
        'bigint' => 'text',
        'blob' => 'textarea',
        'boolean' => 'checkbox',
        'date' => 'date',
        'datetime' => 'datetime',
        'datetimetz' => 'datetime',
        'decimal' => 'number',
        'float' => 'number',
        'guid' => 'text',
        'integer' => 'integer',
        'json_array' => 'textarea',
        'object' => 'textarea',
        'simple_array' => 'collection',
        'smallint' => 'integer',
        'string' => 'text',
        'text' => 'textarea',
        'time' => 'time',
    );

    public function __construct(array $backendConfig, EntityMetadataInspector $inspector, ClassPropertyReflector $reflector)
    {
        $this->backendConfig = $backendConfig;
        $this->inspector = $inspector;
        $this->reflector = $reflector;
    }

    /**
     * Processes and returns the full configuration for the given entity name.
     * This configuration includes all the information about the form fields
     * and properties of the entity.
     *
     * @param string $entityName
     *
     * @return array The full entity configuration
     */
    public function getEntityConfiguration($entityName)
    {
        // if the configuration has already been processed for the given entity, reuse it
        if (isset($this->entitiesConfig[$entityName])) {
            return $this->entitiesConfig[$entityName];
        }

        if (!isset($this->backendConfig['entities'][$entityName])) {
            throw new \InvalidArgumentException(sprintf('Entity "%s" is not managed by EasyAdmin.', $entityName));
        }

        $entityConfiguration = $this->backendConfig['entities'][$entityName];

        $entityMetadata = $this->inspector->getEntityMetadata($entityConfiguration['class']);
        $entityConfiguration['primary_key_field_name'] = $entityMetadata->getSingleIdentifierFieldName();

        $entityProperties = $this->processEntityPropertiesMetadata($entityMetadata);
        $entityConfiguration['properties'] = $entityProperties;

        // default fields used when the view (list, edit, etc.) doesn't define its own fields
        $this->defaultEntityFields = $this->createFieldsFromEntityProperties($entityProperties);

        $entityConfiguration['list']['fields'] = $this->getFieldsForListView($entityConfiguration);
        $entityConfiguration['show']['fields'] = $this->getFieldsForShowView($entityConfiguration);
        $entityConfiguration['edit']['fields'] = $this->getFieldsForFormBasedViews('edit', $entityConfiguration);
        $entityConfiguration['new']['fields'] = $this->getFieldsForFormBasedViews('new', $entityConfiguration);
        $entityConfiguration['search']['fields'] = $this->getFieldsForSearchAction($entityConfiguration);

        $entityConfiguration = $this->introspectGettersAndSetters($entityConfiguration);

        $entityConfiguration = $this->processFieldTemplates($entityConfiguration);

        $this->entitiesConfig[$entityName] = $entityConfiguration;

        return $entityConfiguration;
    }

    /**
     * Takes the entity metadata introspected via Doctrine and completes its
     * contents to simplify data processing for the rest of the application.
     *
     * @param ClassMetadata $entityMetadata The entity metadata introspected via Doctrine
     *
     * @return array The entity properties metadata provided by Doctrine
     */
    private function processEntityPropertiesMetadata(ClassMetadata $entityMetadata)
    {
        $entityPropertiesMetadata = array();

        if ($entityMetadata->isIdentifierComposite) {
            throw new \RuntimeException(sprintf("The '%s' entity isn't valid because it contains a composite primary key.", $entityMetadata->name));
        }

        // introspect regular entity fields
        foreach ($entityMetadata->fieldMappings as $fieldName => $fieldMetadata) {
            // field names are tweaked this way to simplify Twig templates and extensions
            $fieldName = str_replace('_', '', $fieldName);

            $entityPropertiesMetadata[$fieldName] = $fieldMetadata;
        }

        // introspect fields for entity associations (except many-to-many)
        foreach ($entityMetadata->associationMappings as $fieldName => $associationMetadata) {
            if (ClassMetadataInfo::MANY_TO_MANY !== $associationMetadata['type']) {
                $entityPropertiesMetadata[$fieldName] = array(
                    'type'            => 'association',
                    'associationType' => $associationMetadata['type'],
                    'fieldName'       => $fieldName,
                    'fetch'           => $associationMetadata['fetch'],
                    'isOwningSide'    => $associationMetadata['isOwningSide'],
                    'targetEntity'    => $associationMetadata['targetEntity'],
                );
            }
        }

        return $entityPropertiesMetadata;
    }

    /**
     * Returns the list of fields to show in the 'list' view of this entity.
     *
     * @param array $entityConfiguration
     *
     * @return array The list of fields to show and their metadata
     */
    private function getFieldsForListView(array $entityConfiguration)
    {
        if (0 === count($entityConfiguration['list']['fields'])) {
            $entityConfiguration['list']['fields'] = $this->filterListFieldsBasedOnSmartGuesses($this->defaultEntityFields);
        }

        return $this->normalizeFieldsConfiguration('list', $entityConfiguration);
    }

    /**
     * Returns the list of fields to show in the 'show' view of this entity.
     *
     * @param array $entityConfiguration
     *
     * @return array The list of fields to show and their metadata
     */
    private function getFieldsForShowView(array $entityConfiguration)
    {
        if (0 === count($entityConfiguration['show']['fields'])) {
            $entityConfiguration['show']['fields'] = $this->defaultEntityFields;
        }

        return $this->normalizeFieldsConfiguration('show', $entityConfiguration);
    }

    /**
     * Returns the list of fields to show in the forms of the given view
     * ('edit' or 'new').
     *
     * @param string $view
     * @param array  $entityConfiguration
     *
     * @return array The list of fields to show and their metadata
     */
    protected function getFieldsForFormBasedViews($view, array $entityConfiguration)
    {
        if (0 === count($entityConfiguration[$view]['fields'])) {
            $excludedFieldNames = array($entityConfiguration['primary_key_field_name']);
            $excludedFieldTypes = array('binary', 'blob', 'json_array', 'object');
            $entityConfiguration[$view]['fields'] = $this->filterFieldsByNameAndType($this->defaultEntityFields, $excludedFieldNames, $excludedFieldTypes);
        }

        return $this->normalizeFieldsConfiguration($view, $entityConfiguration);
    }

    /**
     * Returns the list of entity fields on which the search query is performed.
     *
     * @return array The list of fields to use for the search
     */
    private function getFieldsForSearchAction(array $entityConfiguration)
    {
        if (0 === count($entityConfiguration['search']['fields'])) {
            $excludedFieldNames = array();
            $excludedFieldTypes = array('association', 'binary', 'boolean', 'blob', 'date', 'datetime', 'datetimetz', 'time', 'object');
            $entityConfiguration['search']['fields'] = $this->filterFieldsByNameAndType($this->defaultEntityFields, $excludedFieldNames, $excludedFieldTypes);
        }

        return $this->normalizeFieldsConfiguration('search', $entityConfiguration);
    }

    /**
     * If the backend configuration doesn't define any options for the fields of some entity,
     * create some basic field configuration based on the entity's Doctrine metadata.
     *
     * @param array $entityProperties
     *
     * @return array The array of fields
     */
    private function createFieldsFromEntityProperties($entityProperties)
    {
        $fields = array();

        foreach ($entityProperties as $propertyName => $propertyMetadata) {
            $metadata = array_replace($this->defaultEntityFieldConfiguration, $propertyMetadata);
            $metadata['property'] = $propertyName;
            $metadata['dataType'] = $propertyMetadata['type'];
            $metadata['fieldType'] = $this->getFormTypeFromDoctrineType($propertyMetadata['type']);
            $metadata['format'] = $this->getFieldFormat($propertyMetadata['type']);

            $fields[$propertyName] = $metadata;
        }

        return $fields;
    }

    /**
     * Guesses the best fields to display in a listing when the entity doesn't
     * define any configuration. It does so limiting the number of fields to
     * display and discarding several field types.
     *
     * @param array $entityFields
     *
     * @return array The list of fields to display
     */
    private function filterListFieldsBasedOnSmartGuesses(array $entityFields)
    {
        // empirical guess: listings with more than 7 fields look ugly
        $maxListFields = 7;
        $excludedFieldNames = array('password', 'salt', 'slug', 'updatedAt', 'uuid');
        $excludedFieldTypes = array('array', 'binary', 'blob', 'guid', 'json_array', 'object', 'simple_array', 'text');

        // if the entity has few fields, show them all
        if (count($entityFields) <= $maxListFields) {
            return $entityFields;
        }

        // if the entity has a lot of fields, try to guess which fields we can remove
        $filteredFields = $entityFields;
        foreach ($entityFields as $name => $metadata) {
            if (in_array($name, $excludedFieldNames) || in_array($metadata['type'], $excludedFieldTypes)) {
                unset($filteredFields[$name]);

                // whenever a field is removed, check again if we are below the acceptable number of fields
                if (count($filteredFields) <= $maxListFields) {
                    return $filteredFields;
                }
            }
        }

        // if the entity has still a lot of remaining fields, just slice the last ones
        return array_slice($filteredFields, 0, $maxListFields);
    }

    /**
     * Filters a list of fields excluding the given list of field names and field types.
     *
     * @param array    $fields
     * @param string[] $excludedFieldNames
     * @param string[] $excludedFieldTypes
     *
     * @return array The filtered list of fields
     */
    private function filterFieldsByNameAndType(array $fields, array $excludedFieldNames, array $excludedFieldTypes)
    {
        $filteredFields = array();

        foreach ($fields as $name => $metadata) {
            if (!in_array($name, $excludedFieldNames) && !in_array($metadata['type'], $excludedFieldTypes)) {
                $filteredFields[$name] = $fields[$name];
            }
        }

        return $filteredFields;
    }

    /**
     * Merges all the information about the fields associated with the given view
     * to return the complete set of normalized field configuration.
     *
     * @param string $view
     * @param array  $entityConfiguration
     *
     * @return array The complete field configuration
     */
    private function normalizeFieldsConfiguration($view, $entityConfiguration)
    {
        $configuration = array();
        $fieldsConfiguration = $entityConfiguration[$view]['fields'];
        $originalViewConfiguration = $this->backendConfig['entities'][$entityConfiguration['name']][$view];

        foreach ($fieldsConfiguration as $fieldName => $fieldConfiguration) {
            $originalFieldConfiguration = isset($originalViewConfiguration['fields'][$fieldName]) ? $originalViewConfiguration['fields'][$fieldName] : null;

            if (!array_key_exists($fieldName, $entityConfiguration['properties'])) {
                // this field doesn't exist as a property of the related Doctrine
                // entity. Treat it as a 'virtual' field and provide default values
                // for some field options (such as fieldName and columnName) to avoid
                // any problem while processing field data
                $normalizedConfiguration = array_replace(
                    $this->defaultEntityFieldConfiguration,
                    array(
                        'columnName' => null,
                        'fieldName' => $fieldName,
                        'id' => false,
                        'label' => $fieldName,
                        'sortable' => false,
                        'virtual' => true,
                    ),
                    $fieldConfiguration
                );
            } else {
                // this is a regular field that exists as a property of the related Doctrine entity
                $normalizedConfiguration = array_replace(
                    $this->defaultEntityFieldConfiguration,
                    $entityConfiguration['properties'][$fieldName],
                    $fieldConfiguration
                );
            }

            // virtual fields and associations different from *-to-one cannot be sorted in listings
            $isToManyAssociation = 'association' === $normalizedConfiguration['type']
                && in_array($normalizedConfiguration['associationType'], array(ClassMetadataInfo::ONE_TO_MANY, ClassMetadataInfo::MANY_TO_MANY));
            if (true === $normalizedConfiguration['virtual'] || $isToManyAssociation) {
                $normalizedConfiguration['sortable'] = false;
            }

            // special case: if the field is called 'id' and doesn't define a custom
            // label, use 'ID' as label. This improves the readability of the label
            // of this important field, which is usually related to the primary key
            if ('id' === $normalizedConfiguration['fieldName'] && !isset($normalizedConfiguration['label'])) {
                $normalizedConfiguration['label'] = 'ID';
            }

            // 'list', 'search' and 'show' views: use the value of the 'type' option
            // as the 'dataType' option because the previous code has already
            // prioritized end-user preferences over Doctrine and default values
            if (in_array($view, array('list', 'search', 'show'))) {
                $normalizedConfiguration['dataType'] = $normalizedConfiguration['type'];
            }

            // 'new' and 'edit' views: if the user has defined the 'type' option
            // for the field, use it as 'fieldType'. Otherwise, infer the best field
            // type using the property data type.
            if (in_array($view, array('edit', 'new'))) {
                $normalizedConfiguration['fieldType'] = isset($originalFieldConfiguration['type'])
                    ? $originalFieldConfiguration['type']
                    : $this->getFormTypeFromDoctrineType($normalizedConfiguration['type']);
            }

            // special case for the 'list' view: 'boolean' properties are displayed
            // as toggleable flip switches when certain conditions are met
            if ('list' === $view && 'boolean' === $normalizedConfiguration['dataType']) {
                // conditions:
                //   1) the end-user hasn't configured the field type explicitly
                //   2) the 'edit' action is enabled for the 'list' view of this entity
                $isEditActionEnabled = array_key_exists('edit', $entityConfiguration['list']['actions']);
                if (!isset($originalFieldConfiguration['type']) && $isEditActionEnabled) {
                    $normalizedConfiguration['dataType'] = 'toggle';
                }
            }

            if (null === $normalizedConfiguration['format']) {
                $normalizedConfiguration['format'] = $this->getFieldFormat($normalizedConfiguration['type']);
            }

            $configuration[$fieldName] = $normalizedConfiguration;
        }

        return $configuration;
    }

    /**
     * Returns the date/time/datetime/number format for the given field
     * according to its type and the default formats defined for the backend.
     *
     * @param string $fieldType
     *
     * @return string The format that should be applied to the field value
     */
    private function getFieldFormat($fieldType)
    {
        if (in_array($fieldType, array('date', 'time', 'datetime', 'datetimetz'))) {
            // make 'datetimetz' use the same format as 'datetime'
            $fieldType = ('datetimetz' === $fieldType) ? 'datetime' : $fieldType;

            return $this->backendConfig['formats'][$fieldType];
        }

        if (in_array($fieldType, array('bigint', 'integer', 'smallint', 'decimal', 'float'))) {
            return isset($this->backendConfig['formats']['number']) ? $this->backendConfig['formats']['number'] : null;
        }
    }

    /**
     * Introspects the getters and setters for the fields used by all views.
     * This preprocessing saves a lot of further processing when accessing or
     * setting the value of the entity properties.
     *
     * @param array $entityConfiguration
     *
     * @return array
     */
    private function introspectGettersAndSetters($entityConfiguration)
    {
        foreach (array('new', 'edit', 'list', 'show', 'search') as $view) {
            $fieldsConfiguration = $entityConfiguration[$view]['fields'];

            foreach ($fieldsConfiguration as $fieldName => $fieldConfiguration) {
                $getter = $this->reflector->getGetter($entityConfiguration['class'], $fieldName);
                $fieldConfiguration['getter'] = $getter;

                $setter = $this->reflector->getSetter($entityConfiguration['class'], $fieldName);
                $fieldConfiguration['setter'] = $setter;

                $isPublic = $this->reflector->isPublic($entityConfiguration['class'], $fieldName);
                $fieldConfiguration['isPublic'] = $isPublic;

                $fieldConfiguration['canBeGet'] = $getter || $isPublic;
                $fieldConfiguration['canBeSet'] = $setter || $isPublic;

                $entityConfiguration[$view]['fields'][$fieldName] = $fieldConfiguration;
            }
        }

        return $entityConfiguration;
    }

    /**
     * Determines the template used to render each backend element. This is not
     * trivial because templates can depend on the entity displayed and they
     * define an advanced override mechanism.
     *
     * @param array $entityConfiguration
     *
     * @return array
     */
    private function processFieldTemplates(array $entityConfiguration)
    {
        foreach (array('list', 'show') as $view) {
            foreach ($entityConfiguration[$view]['fields'] as $fieldName => $fieldMetadata) {
                if (null !== $fieldMetadata['template']) {
                    continue;
                }

                // this prevents the template from displaying the 'id' primary key formatted as a number
                if ('id' === $fieldName) {
                    $template = $entityConfiguration['templates']['field_id'];
                } elseif (array_key_exists('field_'.$fieldMetadata['type'], $entityConfiguration['templates'])) {
                    $template = $entityConfiguration['templates']['field_'.$fieldMetadata['type']];
                } else {
                    $template = $entityConfiguration['templates']['label_undefined'];
                }

                $entityConfiguration[$view]['fields'][$fieldName]['template'] = $template;
            }
        }

        return $entityConfiguration;
    }

    /**
     * Returns the most appropriate Symfony Form type for the given Doctrine type.
     *
     * @param string $doctrineType
     *
     * @return string
     */
    private function getFormTypeFromDoctrineType($doctrineType)
    {
        // don't change this array_key_exists() by isset() because the Doctrine
        // type map can return 'null' values that should be treated like that
        return array_key_exists($doctrineType, $this->doctrineTypeToFormTypeMap)
            ? $this->doctrineTypeToFormTypeMap[$doctrineType]
            : $doctrineType;
    }

    /**
     * Exposes the backend configuration to any external method that needs it.
     *
     * @return array
     */
    public function getBackendConfig()
    {
        return $this->backendConfig;
    }
}

redpajama_set_name: RedPajamaGithub