text:
#NigeriaDecides
Perspective > #NigeriaDecides
Perspective February 16, 2019
Buhari's campaign council condemns postponement of elections
Perspective February 9, 2019
#PMBinLagos: Lagos Stadium agog for Buhari's Next Level campaign
Perspective January 19, 2019
Inec Portal For 2019 Recruitment Of Election Staff
Perspective December 14, 2018
2019: Osinbajo, Obi clash at first TV debate #2019Debate
Perspective May 29, 2015
FULL TEXT: President Muhammadu Buhari's Inaugural Speech- I belong to everybody and I belong to nobody
VIDEO: President Buhari (@MBuhari ) Inauguration Speech
LIVE VIDEO: Muhammadu Buhari & Prof Osinbajo's Inauguration #presidential #DemocracyDay
Perspective April 23, 2015
VIDEO: TVC exclusive interview with Gen. Muhammadu Buhari
VIDEO +TEXT: Acceptance Speech by Lagos State Governor-Elect, Akinwunmi Ambode
Jimi Agbaje congratulates Lagos Governor-Elect, Akinwunmi Ambode
Perspective April 8, 2015
#LagosDecides2015: Gov Fashola addresses Lagosians on the April 11 2015 gubernatorial elections
Fashola Congratulates President Elect -Muhammadu Buhari, Says Most Important Task Now Is Building Nigeria
#NigeriaDecides: Acceptance Statement by General Muhammadu Buhari
VIDEO + TEXT: #NigeriaDecides: Gen Muhammadu Buhari brief Acceptance Speech
#NigeriaDecides: The Nigerian people have spoken – Kofi Annan
#NigeriaDecides: Atiku Abubakar Congratulates Muhammadu Buhari #Nigeria2015
#NigeriaDecides: President Goodluck Jonathan congratulates Buhari
#NigeriaDecides: Muhammadu Buhari Wins Presidential Election #Nigeria2015
Perspective March 27, 2015
#NigeriaDecides: Police warns public to avoid electoral offences #2015
#NigeriaDecides: I urge all Nigerians to take the necessary steps to ensure that violence and hatred play no part in these elections – Kofi Annan
Mr. Festus Keyamo, spokesman of APC Presidential Campaign Council, has condemned postponement of the general elections, but urged its supporters to remain resolute, patient and determined. The...
The Teslim Balogun Stadium Lagos, on Saturday bubbled with a lot of activities as residents and the All Progressives' Congress (APC) faithful thronged the venue for the...
Available Positions Supervisory Presiding Officer (SPO) Registration Area Center (RAC) Manager Presiding Officer (PO) Assistant Presiding Officer (APO) Registration Area Technical Support (RATECH) Click here for eligibility criteria ...
There were some moments of wrangling in Nigeria's first TV debate on Friday night among political party candidates ahead of the February 16 presidential election. And expectedly...
For the RECORDS: Inaugural speech by His Excellency, President Muhammadu Buhari following his swearing-in as President of the Federal Republic of Nigeria on 29th May, 2015 I...
Buhari, exclusive, Interview, Muhammadu, TVC, Video
An exclusive interview with Nigeria's President-Elect, Gen. Muhammadu Buhari as he sits with TVC News; unveiling his plans for Nigeria ahead of Handover in May 29th, 2015.
Acceptance, Akinwunmi, Ambode, Elect, Governor, Lagos, speech, State
THE PATH OF CONTINUITY AND PROGRESS ASSURED [ACCEPTANCE SPEECH BY GOVERNOR-ELECT OF LAGOS STATE, MR. AKINWUNMI AMBODE. APRIL 12, 2015] FELLOW LAGOSIANS, yesterday, election day, History...
The People's Democratic Party gubernatorial candidate in Lagos state, Jimi Agbaje, just called to congratulate Akinwunmi Ambode, the Lagos state Governor-elect, on winning yesterday's elections. Ambode expresses...
PUBLIC ADDRESS BY HIS EXCELLENCY, BABATUNDE RAJI FASHOLA, SAN TO LAGOSIANS ON THE APRIL 11 2015 GUBERNATORIAL ELECTIONS Dear Lagosians, First let me thank you all for...
Buhari, Building, congratulates, Elect, Fashola, IMPORTANT, MOST, Muhammadu, Nigeria, President, Task
Lagos State Governor, Mr Babatunde Fashola, SAN on Wednesday congratulated General Muhammadu Buhari of the All Progressives Congress on his declaration as the Presidential –elect, saying what...
Acceptance Statement by General Muhammadu Buhari, GCFR, President-Elect of the Federal Republic of Nigeria The Die is Cast I am immensely grateful to God for...
BRIEF PRESS STATEMENT BY GENERAL MUHAMMADU BUHARI, GCFR, PRESIDENT ELECT ON THE PLATFORM OF THE ALL PROGRESSIVES CONGRESS, APC. APRIL 1ST, 2015 Your Excellency, the Vice President...
STATEMENT BY KOFI ANNAN ON THE OUTCOME OF THE NIGERIAN PRESIDENTIAL ELECTIONS GENEVA, March 31 The Nigerian people have spoken, and they have elected General Muhammadu...
Congratulatory message by Atiku Abubakar, GCON, former Vice President, Federal Republic of Nigeria, on the election of president-elect, His Excellency, General Muhammadu Buhari. My hearty congratulations to...
STATEMENT BY PRESIDENT GOODLUCK EBELE JONATHAN AFTER THE ANNOUNCEMENT OF THE RESULTS OF PRESIDENTIAL ELECTION 2015 Fellow Nigerians, I thank you all for turning out en-masse for...
The Presidential candidate of the All Progressives Congress, Maj. Gen. Muhammadu Buhari(retd.), has won the March 28 presidential election. Buhari, contesting the office for the fourth...
The Nigeria Police Force warns members of the public, particularly those going to vote to beware of the following electoral offences on Election Day. (1) Casting of...
Statement by Kofi Annan ahead of the Nigerian Presidential Election 26 March 2015 Nigeria is headed towards historic elections on Saturday. Though many observers express concern due...


One night, 40 short talks from 40 designers. Join Stickyeyes as part of the Leeds Digital Festival for 40×40 on the evening of Tuesday 23rd April.
We're thrilled to be joining the Leeds Digital Festival programme in 2019 with a Stickyeyes-hosted event of our own.
We've invited 40 designers specialising in anything and everything from UX to motion graphics to join together for one night and share their single best design tip at 40x40.
Each designer will have the mic for two minutes and could cover anything from career advice to creative insights. The line-up is looking impressive and includes award-winning brand-side and agency specialists some of whom are just starting out or others with a raft of experience under their belt.
...Oh and there will be beer and pizza as well.
Amazingly we sold out a few hours after the event went live but, you can join the wait list here - https://www.eventbrite.co.uk/e/leeds-digital-festival-2019-one-night-40-talks-from-40-designers-tickets-57525803226 We're also investigating ways to ensure as many people as possible get access to the event content so, follow Stickyeyes on any of our social channels to keep up to date.
We're making some changes, because we want to keep bringing you the latest information and advice to help you with your digital strategy.
We're delighted to have been named as the number one agency in the Prolific North Top 50 survey for the fourth year in a row.


Part of a portfolio of photographs taken in 1858 by Major Robert Christopher Tytler and his wife, Harriet, in the aftermath of the Uprising of 1857. Built principally as a military establishment by Akbar between 1565 and 1573, on the site of an earlier walled complex, the fort is considered the predecessor of the Delhi Red Fort. It is situated on the west bank of the river Yamuna with 2.5 km long enclosure walls with curved bastions at intervals. Emperor Shah Jahan (1592-1666) was responsible for the Mughal buildings within the fort for which the city is renowned throughout the world. The fort walls are 20 feet high and Aurangzeb added the ramparts around the fort walls.


text:
Albanian PM's address was "provocation"
Albanian PM Edi Rama said after the talks in Belgrade with Serbian PM Aleksandar Vu�i� that "Pre�evo is a bridge and Kosovo's independence is a reality."
Source: B92 Monday, November 10, 2014 | 13:52
"About Kosovo we have different views, but the reality is one and unquestionable, both regional as well as European and must be respected. The recognition of Kosovo by the European countries is of great importance," said Rama.
Ethnic Albanians in Serbia's southern province of Kosovo in early 2008 unilaterally declared independence, but Serbia rejected the proclamation as a violation of its territorial integrity and sovereignty.
The Albanian media are reporting today that Rama said that Albania would "with pleasure welcome every new perception of reality by Serbia."
"Kosovo's independence has made the Balkans safer. We value and promote the dialogue between Serbia and Albania and see that dialogue as Europe's success,", said Rama, according to balkanweb.com.
He added that new generations will see Pre�evo - a town in southern Serbia that is home to members of the ethnic Albanian minority - as "a strategically important bridge between the two countries that share the European fate."
After this, Vu�i� said that Kosovo has always been and is a part of Serbia and "has nothing to do with Albania" - and that he will "not allow anyone to humiliate Serbia in Belgrade."
He added that he will "talk about Kosovo being Serbian when he travels to Tirana for a return visit."
"I regret this incident, that Kosovo was mentioned," Vu�i� continued as he addressed the joint news conference, and added that despite that, he would continue his talks with Rama.
"The reality is that Serbia's position is that Kosovo and Metohija is a part of Serbia, I'm glad that I can repeat it before Mr. Rama," said the Serbian prime minister, adding that he was sorry the Albanian prime minister took the opportunity to mention an independent Kosovo.
Vu�i� said that he viewed such a reference to Kosovo as a provocation, and that he was suprised by his counterpart's behavior, accusing him of breaching protocol by speaking about a topic that was not agreed on.
He added he will always be happy to respond to an invitation from Tirana, where he would also state that Kosovo is Serbian, something also contained in the Constitution.
Speaking about relations with Albania, the prime minister said that Serbia will do its best to sign all important agreements with that country.. "We will always give our best to develop good, friendly relations... I hope that Serbia and Albania will continue talks," Vu�i� said.
Rama's mention of Pre�evo comes as it is "almost certain" he would spend the second day of his visit there - although it is contrary to diplomatic protocols for a visiting prime minister to visit towns of his own initiative.
Rama's visit was originally planned for October but was postponed after a football match incident when a map of the so-called Greater Albania - an expansionist nationalist project - was flown above the pitch.
"Change of government could lead to hell"
Commenting on a European parliament resolution on Vojislav �e�elj, Tomislav Nikoli� said the EP allowed Croatia to "instrumentalize it for election purposes."
Politics Friday, November 28, 2014 17:04 Comments: 8
DS official's arrest "political act," says party
Democratic Party (DS) official Veljko Krstono�i� said on Friday that the arrest of Borislav Novakovi� was "a political act."
FM: Chile and Serbia "traditional friends"
Chile and Serbia are traditional friends and Serbia will devote a lot of its attention to fostering and rebuilding old friendships, says Ivica Da�i�.
"Kosovo army plan doomed to fail without Serb backing"
Agim Ceku's announcement that Kosovo will soon have its army "is doomed to fail" - as it requires a law that will not be supported by Serb representatives.
Politics Friday, November 28, 2014 12:11 Comments: 43
Chinese PM declared honorary citizen of Belgrade
The Belgrade city assembly on Friday declared Chinese Prime Minister Li Keqiang a honorary citizen of the Serbian capital.
PM: EP resolution is offensive and disturbing
The EP resolution passed on Thursday is "offensive and disturbing, motivated by either hypocrisy or a desire to harm Serbia," says Aleksandar Vu�i�.
Politics Thursday, November 27, 2014 16:54 Comments: 26
MEPs criticize EP resolution
Member of the European parliament Tanja Fajon has joined Eduard Kukan in the condemnation of the resolution on Vojislav �e�elj adopted in the EP.
Politics Thursday, November 27, 2014 14:23 Comments: 0
European parliament passes resolution on �e�elj
The European parliament (EP) passed on Thursday a non-biding resolution on leader of the Serb Radical Party (SRS) Vojislav �e�elj after a one-hour debate.
page 1 of 59 go to page

redpajama_set_name: RedPajamaCommonCrawl


Staff from the site of a brand new residential and dementia care home in Rothley have visited a local primary school to highlight to the children the value of women in construction. Nicola Mather, Communities Manager for LNT Care Developments who are currently in the final sprint of constructing Mountview Care Home on Loughborough Road, visited Christ Church & St Peter's CE Primary School last week.
Nicola, who ensures that all LNT Care Development sites are engaged with the Considerate Constructors scheme, gave a presentation to over 250 children, revealing the exciting jobs which are available for women, and men, in construction. She was also keen to highlight the many dangers which can be found on construction sites.
LNT Care Developments have an established relationship with the school, having already donated plants and gardening equipment. This relationship will be further cultivated by Mountview Care Home once it opens at the end of the year. Home Manager, Sue Shaw, also visited the school with Nicola to give the children an insight into life in a care home and to help them understand certain characteristics of people living with dementia.
LNT Care Developments have donated paints to enable the children to take part in a poster competition about being safe on site. The winning entry will be seen at all LNT Care Developments sites in the future. Mountview, which will be operated by Ideal Carehomes, has also enlisted the children's help to bury a time capsule at the home, and to name the three floors of the building.
Mountview is a care home on Loughborough Road in Rothley and will provide a home for 66 residents when it opens at the end of this year. The home is holding a public open day on Sunday 19th November where local people can have a first look around the brand new facilities and meet the caring staff team.


Anand is a 1986 Indian Action film. It stars Shivarajkumar, Sudharani, Balaraj. The film was released theatrically on 19 June 1986.
Kiran and Aishwarya are collegemates who are always at loggerheads with each other. In a twist of fate, they fall in love when they unknowingly start writing letters to each other under pen names.


The transition from Reformation to the Enlightenment marked the ushering of Georgian Era in the early 18th century England. This was the age of Aristocracy and development of Modern democracy in England. When Queen Anne died leaving no heir to the throne, a cousin of the Queen, George of Hanover, was crowned as King of England. He was the King George I and throughout his long reign his son and grandson all named George were the successive Kings of England. The Georgian era covers, essentially, the reign of the House of Hanover from 1714 to 1837 (including the Regency Period 1811-1820) which encompasses the rule of George I, II, III & IV and that of William IV. King George I had little interest in politics, the work of ruling the country was handed over to ministers or the prime ministers. Throughout the Georgian period the foundation of the English political system was solidified into something resembling the present political system of England. During this period the English society underwent a revolution in art and architecture. This was the age of grand country houses and acquired territory overseas through conquest and settlement, lands that would eventually makeup an Empire stretching to every corner of the globe.
The rural areas in England experienced the Agricultural Revolution during this period which affected the movement of large numbers of people and directly influenced the increasing decline of many small communities. This period also saw the quick growth of many cities and it was then that the integrated transportation system had its initial beginnings. This was the time when Industrial Revolution was born. The Industrial revolution caused the increase in and further defining class divisions in England, this lead to development of the rival political parties, the Tories and the Whigs. It was the period marked by exceptional cultural growth. This period saw the rise of the British Museum in the year 1753. Significant also during this time were the cultural accomplishments of such figures as Dr. Samuel Johnson, William Hogarth, Samuel Richardson, George Friedrich Handel and many other cultural giants. The life in Georgian times was well documented in the literary works of writers such as Jane Austen and Henry Fielding. Georgian era was also a period of great architectural achievements as exemplified by the works of Robert Adam, John Nash and James Wyatt.
The reign of George saw great changes in fashion, in art, architecture and all forms of design. The influence of travel abroad and culture in other countries created diversity by experimentation on the design in the Georgian period. The design of the furniture evolved on the lines of development in the architecture in early Georgian period. Furniture in the mid Georgian period was sophisticated due to high skill in craftsmanship and design whereas in the late Georgian period furniture, there was classical revival. To study the furniture design in Georgian times the period is divided into three categories Early Georgian, Mid Georgian and Late Georgian.
Early Georgian furniture evolved during the end of Queen Anne period. In the beginning there was an influence of Queen Anne style on the early Georgian furniture before it underwent modifications of its own. The important change occurred was introduction of Mahogany wood replacing walnut partially. Mahogany was well suited to cabinet makers as being very strong, long lasting and having close grained wood suitable for experimentation. Most important designer of the early Georgian period was William Kent who travelled to Rome to study Architecture. He followed the ideas of the Italian architect called Andrea Palladio, Italian architecture of 16th century called Palladianism. Architecture and furniture design have always had close relationship but in the designs of the Palladian and their imitators in early 18th century England this relationship became a deep intertwining, a pervasive and dogmatic ideology, the "Rules of Taste". The ornamentation on the furniture was Baroque and Kent designed furniture on the lines of architecture with heavy Baroque elements. The "Kentian" furniture that resulted was ornate, of mammoth size, heavy, only barely movable with lavish carving and golden ornamentation. Palladian style furniture made much use of elaborate pediments, masks, and sphinxes. Furniture pieces that were popular in the earlier Georgian times were, side tables, especially pier tables, usually with marble tops, chairs peaked with shells and legs graced with fish-scaled scrolls, as well as bookcases and gilt mirrors. These designs were largely inspired by architectural elements such as molded doors and pediments, they were of sculptural proportions. Palladian style furniture stood apart from most other early Georgian furniture in that it was designed and made for a small, very wealthy class of people and appeared only in their great country homes, mansions, and palaces. It had, as a result, little lasting impact, never making the leap to common use and approval.
The Palladian Taste of the early Georgian period was suited to the wealthy class of people in the 18th century England. The wider middle class had little money to spend and the Palladian style furniture was expensive for them, a lighter and less architectural style was becoming popular in mid Georgian period. A furniture style developed on the lines of Louis XV era in France called Rococo, became very popular in the mid Georgian period. Baroque elements of the earlier period did not go altogether; there was Palladian taste in some of the furniture pieces like Bookcases which had architectural motifs in the mid Georgian period. The term "Rococo" comes from the French "rocaille" means rock-like and shell motifs. The term "after the French manner" in the context of English 18th century design meant the Rococo style , combination of Baroque, grotesque and fantasy styles of motifs and ornamentation which came to dominate French design from around 1700. This Rococo style was popularized by the designs of Mathias Lock who pioneered the Rococo in England. He created some fine gilt furniture based on his design books "Six Scones", "Six Tables" and the "Principal of Ornament". Thomas Langley, after studying French prints, produced a side table with front legs carved in the shape of female terms intertwined. The carver James Pascal made a number of gilt wood side tables, sconces, and chairs in the rococo style. John Channon made a set of bookcases with ormolu mounts and inlay topped with broken pediments. Although the Rococo had French origin but the English designers developed their own Rococo style and anglicized it. English designers mixed the Chinese motifs in their Rococo elements and thus the term "Chinoiserie" borne. Most important name in this period is of Thomas Chippendale, he was a cabinet maker who published his "Gentleman's and Cabinet Makers Director" cemented the Rococo style of interior display in England. Another firm William Ince and John Mayhew also published their own" Universal System of Household Furniture" with somewhat restrained rococo furniture.
In the late Georgian period there started a reaction to both the Palladian and rococo taste during the time the George III. Again the parallel movement in French furniture style during the same time known as neoclassical style during the reign of Louis XVI started to appear in English furniture. The English Neoclassical style was popularized by the designs of designers like, William Chambers and James Stuart, more famous Robert Adam, George Hepplewhite and Thomas Sheraton. The study of the classical elements of Greece and Rome, more particularly the discovery of the ancient civilization of Pompeii and Herculaneum, an interest in classical architecture and ornament developed among the designers and thus the neoclassical style developed. In the neoclassical designs great emphasis was given to forms and straight lines, logically ordered, replaced the curves and flounces of Rococo. Ornamentation and decoration are sometimes detailed and careful, almost always abundant. There is much use of painting, inlay, veneer, light carving and relief, and marquetry. Mahogany is the primary wood of choice but some satinwood is also used. The cabriole leg was replaced by straight leg in favour of straight lines and narrow tapering Saber legs adorned with twisted fluting. In 1762, James Stuart published "The Antiquities of Athens" after having studied archaeological sites in Greece and Italy. He then advanced to design furniture with decorative motifs and carvings based on surviving ancient monuments. Robert Adam was the prominent figure in late Georgian times. He travelled to Rome to study classical ornament and made use of them in designing interiors of the room in neoclassical style. Adam had many followers notably among them was George Heppelwhite who imitated Adam and produced many neoclassical designs in furniture. In the final phases of neoclassicism, the designs of Thomas Sheraton had a huge practical impact and produced very elegant, sophisticated furniture in the neoclassical style in great numbers.
To sum up the furniture of the Georgian period, it may be pointed out that the different styles of ornament which had been introduced in the late Queen Anne and early Georgian period, formed the basis on which the later designers of the period based their own English ideas, which gave the furniture world characteristic styles expressing the individuality of the designer and master cabinet-maker. These ideas formed the basis of the furniture design through the various other periods followed and are also relevant to the Modern furniture concept.


The candidature of these candidates is provisional. In accordance with the Rules of the Examination, all these candidates have to apply again in the detailed application form, which is available on the website of the commission www.upsc.gov.in from where it can be downloaded and sent to the Commission duly filled in by the candidate in his own handwriting, for admission to the Main Examination scheduled to be held from 29/10/10.
A copy of Detailed Application Form (DAF) shall also be sent by Post to the successful candidates by the Commission for admission to the Main Examination. However, those candidates who have downloaded the copy of DAF from the website and sent it to the Commission, need not send the copy of DAF to the Commission which they receive by post.
In case, any of these candidates does not receive a communication in this regard from the Commission by 08/09/2010 he/she should immediately contact the Commission in the matter giving his/her particulars i.e. name of the Examination, roll number, full name, date of birth, address etc.
The Union Public Service Commission have a Facilitation Centre near Examination Hall Building in its Campus. Candidates may obtain any information /clarification regarding their examination on working days between 10.00 AM to 5.00 PM, in person or on Tel.No. 011-2338 5271, 011-23098543 or 011-23381125 from this Facilitation Centre. Candidates can also obtain information regarding their result by accessing Union Public Service Commission Website www. upsc.gov.in. The result of Roll Nos. 256401, 340989, 551300, 551460, 548579, 275422, 275875, 288037 and 402112 has been withheld.


text:
Loads On Ground Tackle
Rudy and Jill Sechez
Can Your Gear Handle Mother Nature?
Although there is a plethora of details involved in anchoring, the entire process is predicated on the fact that the gear needs to be able to resist the loads that Mother Nature will demand of it. While determining what this load can be is fairly easy, it isn't always as straightforward as it might seem.
FORCES AGAINST THE BOAT
For anchoring, the load that is of concern is the force of the wind against the boat, thus on the ground tackle. From this figure, the other loads, which also need to be considered, can be calculated. Fortunately, these figures are readily available, and, they, or the formula for calculating them, can be obtained from the ABYC, naval architects, boat designers, anchor manufacturers, and from some books, such as Earl Hinz's The Complete Book of Anchoring and Mooring.
WINDAGE
If the figure for the wind load on the ground tackle is based on a typical sailboat, as is often the case, boats with more windage, such as many trawlers, houseboats, and multihulls, will have loads on the ground tackle, depending on the boat's windage, often 150 percent more than those on the sailboat.
SURGE LOADS
When there is moderate protection from seas, slightly more than half of the load carried by the ground tackle will be created by the wind; surge loads (seas and waves) produce the remainder of the load. But this portion of the load can vary greatly depending upon the amount of protection that the boat has from the seas.
If the boat is well protected from the seas, there may be little, if any, additional load on the ground tackle over that produced by the wind. But, if the boat is anchored in a location where there is very little or no protection from the seas (and waves), this figure will be higher, 150 percent higher, possibly more, especially if coupled with winds of long duration.
An easy way to calculate the load on the ground tackle, if it isn't already included, is to just double the wind's load, then modify this amount if the protection from seas is greater or lesser than moderate.
While typical wind gusts can exceed the sustained wind speed by 130 percent, some gusts can come close to doubling the speed of the sustained wind. So, when sizing ground tackle, ignoring the loads that wind gusts can contribute can be a dangerous practice. A good rule of thumb would be to size each piece of gear so that its working load limit (WLL) equals 130 percent of the load that the sustained wind will produce; or 150 percent, if an extra margin of safety is desired.
For anchors though, these figures may prove inadequate, as anchors need to be sized to provide enough holding power to resist the highest load that will be encountered and that includes the infrequent gusts, which can double the force of that produced by the sustained wind.
A boat not having the freedom to keep its nose into the wind, such as when anchored fore and aft, can, depending on the direction of the wind, have more load on its ground tackle than if the boat could keep its head into the wind—often 150 percent more.
Winds of long duration allow the seas and waves to develop more fully than do winds that are of shorter duration. Because of their larger size, these seas and waves have more power; plus, the longer the wind blows, the more time it has to wreak havoc.
Gear chosen for conditions of longer duration will need to be heftier than what may otherwise be adequate for winds of shorter duration. How much heftier? A good rule of thumb to follow: if the item has gone past the halfway point of its WLL, or for an anchor, its holding power, it would be more prudent to go to the next size up.
As mentioned in The Complete Book of Anchoring and Mooring, the load on the ground tackle of a 40-foot boat in a 5-knot current amount to about 300 lb., about the same load that a 15-knot wind would produce, surge loads included. A wind-driven current from a 60-knot wind with unlimited fetch is approximately 1.2 knots, creating a rather insignificant drag on the boat. But this load is not to be confused with the surge loads or loads that are substantial.
CONSERVATIVENESS
How conservative to be when computing the load on the ground tackle is a personal decision. However, it should be noted that those who oversize their gear seldom have the problems that often plague those who don't.
Since the term "oversize" seems to be viewed so often in a negative light, maybe switching to the term "big enough" instead would be better!
Having calculated what the highest loads will be on the ground tackle, the key to sizing all of the components, from the belaying point all of the way out to the anchor, is now at hand. It is this figure that is the minimum WLL that each piece of gear will need, and it is also the minimum holding power that the anchor will be required to have.
CAUTIONARY NOTE FOR CHOOSING ANCHORS
Many charts for sizing anchors are predicated on the anchor being used in hard sand. Sticky clay has only two-thirds of the holding power of hard sand, while softer bottoms, like soft sand, mud, and loose gravel have only one-third that of hard sand. So an anchor must be sized to have the holding power that the calculations suggest for the type of bottom in which it will be used. This may require an anchor that is two to four times bigger than what a chart suggests.
The Complete Book of Anchoring and Mooring states that in 30-knot winds, a 40-foot boat can have a load of 1,200 lb. on its ground tackle. Double the wind speed, and the force against the boat quadruples, so, at 60 knots, the force against the boat is 4,800 lb.—2.4 tons!
But, it is what may be missing from these figures that can make a difference. In this example, these figures are for a typical sailboat with moderate protection from seas and with the boat having the freedom to oscillate. These figures also include the load on the ground tackle that results from surge loads, but do not include any loads caused by wind gusts. In addition, these figures are calculated conservatively. Should the boat be a trawler or multihull, anchored fore and aft, or if it will have much less protection from the seas, a prudent mariner would increase these figures by 150 percent for each of these factors if they are applicable. To handle wind gusts, another 130 percent (or maybe 150 percent) should be included, but for the anchor's holding power, 200 percent would be the more appropriate multiplier to use.
When these figures are contemplated, it is no wonder that anchoring in protected waters with big, hefty gear comes highly recommended, and if the boat can be located so as to not receive the full force of the wind, so much the better. But, if this cannot be done, then these figures illustrate the need to have gear that can perform as Mother Nature will demand of it.
MINIMUMS, NOT MAXIMUMS
Finally, recommendations given for ground tackle are minimum recommendations—a starting point, not the stopping point. If in doubt, get bigger, stronger, heavier, or longer, but think long and hard before doing the opposite.
MINIMUMSCONSERVATIVENESSEXAMPLEWINDAGE
Boating Safety Tips
Thoughts For Successful Anchoring
Multiple Anchors
Sizing the Capable Snubber
Piercing The Veil
The Domino Effect: A Series Of Unfortunate Events
Have You Ever Seen the Green Flash?
Anchor Like A Pro: Math and Management (Part 1)
Fog Tales


Check out the Desert Breeze Connections loop. If you haven't joined, you want to. We are giving away goodies all weekend long. I am co-host from 3-5 Pacific time today.
This entry was posted in Blogging, Contest and tagged Desert Breeze Publishing by Lynette Endicott. Bookmark the permalink.
I'd love a chance to win the necklace, but I'd have to get it remounted, I don't handle silver very well.


text:
Viral Sector
Daily Stories Around The World. Get all the latest stories on the web. The stories everyone is sharing
Ten Highest Paid Actors In The World
Posted on : August 13, 2018 By
Entertainment South Africa News Various World News
This is a male-dominated film industry with the actors getting a bigger share in the pie. However, one should also admit that the actors carry the films on their shoulders. They are the ones who bring in the audiences to the cinema theaters. Of course, they can emote as well.
You have some of the finest actors in this list. Naturally, this is a Hollywood dominated list for the simple reason that the films made in Hollywood are on a different league altogether. However, the Indian film industry, Bollywood has started to make its presence felt with two nominees in the Top 10 list, one of whom is an all-time legend.
We shall look at the top 10 highest paid actors 2018 in the industry. This list can include the Top 10 alone. Hence, some of the finest actors such as Mark Wahlberg might have just missed the bus. However, one must admit that the Top 10 highest paid actors are equally highly popular as well at the same time.
10. Shahrukh Khan: $33 million
We have the Badshah of Bollywood, Shahrukh Khan at No. 10 in this list. One of the most romantic heroes to have ever graced the silver screen, Shahrukh Khan can make the women swoon with a mere wink. One of the few Indian actors who can perform the role of the villain with an equal degree of comfort, Shahrukh Khan is a known face all over the world because of the presence of the Indian diaspora. His films always do well in the US as well. A spate of endorsements has pushed up his earnings to $33 million.
09. Amitabh Bachchan: $33.5 million
If the No. 10 spot belongs to the Badshah, the No. 9 goes to the Big B, Amitabh Bachchan. On the film scene since 1969, Amitabh Bachchan is on the verge of a half-century in the film industry. The greatest aspect of his innings is that he has ruled the Indian cinema scene since the 1970s until date. Even today, he can give the young upstarts a run for their money. A tall actor, he towers over everyone in the list. Bit for the fact that the Indian films do not have much of an audience in Hollywood, he would have topped the list quite easily. He was on the verge of bankruptcy at one time, but the quiz show, the Indian version of 'Who wants to be a millionaire" (Kaun Banega Crorepati) saved him the blushes. With earnings in the range of $33.5 million, he is No. 9 on this list.
Fake Images That Fooled The World
Early Drafts That Almost Made Famous Movies Incredibly Weird
Funny Animals Gone Wild – (Try Not To Laugh)
HOW TO MAKE SLIME DIY – BUTTER SLIME AND FLUFFY SLIME
THE BEST NEWS BLOOPERS – TRY NOT TO LAUGH
THE MOMENT CELEBRITIES GET BUSTED – TRY NOT TO LAUGH
How do i know he really loves me – Things a man will do only If he really loves you
South Africa News
Copyright © 2018 Viral Sector
Designed & Hosted by Qweb Solutions


You can find academic and industrial groups doing some relevant work, but there isn't a focus on building complex molecular systems. In that respect, Japan is first, Europe is second, and we're third.
Today we have big, crude instruments guided by intelligent surgeons, and we have little, stupid molecules of drugs that get dumped into the body, diffuse around and interfere with things as best they can. At present, medicine is unable to heal anything.
The other advantage is that in conventional manufacturing processes, it takes a long time for a factory to produce an amount of product equal to its own weight. With molecular machines, the time required would be something more like a minute.
The basic parts, the start-up molecules, can be supplied in abundance and don't have to be made by some elaborate process. That immediately makes things simpler.
Protein engineering is a technology of molecular machines – of molecular machines that are part of replicators – and so it comes from an area that already raises some of the issues that nanotechnology will raise.
On the molecular scale, you find it's reasonable to have a machine that does a million steps per second, a mechanical system that works at computer speeds.
My work at MIT had focused on what we could build in space once we had inexpensive space transportation and industrial facilities in orbit. And this led to various sorts of work in space development.
Likewise nanotechnology will, once it gets under way, depend on the tools we have then and our ability to use them, and not on the steps that got us there.
It's a lot easier to see, at least in some cases, what the long-term limits of the possible will be, because they depend on natural law. But it's much harder to see just what path we will follow in heading toward those limits.
In thinking about nanotechnology today, what's most important is understanding where it leads, what nanotechnology will look like after we reach the assembler breakthrough.
If you take all the factories in the world today, they could make all the parts necessary to build more factories like themselves. So, in a sense, we have a self-replicating industrial system today, but it would take a tremendous effort to copy what we already have.
I've encountered a lot of people who sound like critics but very few who have substantive criticisms. There is a lot of skepticism, but it seems to be more a matter of inertia than it is of people having some real reason for thinking something else.
But while doing that I'd been following a variety of fields in science and technology, including the work in molecular biology, genetic engineering, and so forth.
But if we can manage it so people don't have things forced on them that they don't want, I think there's every reason to believe things can settle out in a situation that is recognizably better than the one we're stuck in today.
And that because the moving parts are a million times smaller than the ones we're familiar with, they move a million times faster, just as a smaller tuning fork produces a higher pitch than a large one.
An international race in the relevant technologies is getting under way at this point, not necessarily with an understanding of where that race leads in the long run, but strongly motivated by the short-term payoffs.
Kim Eric Drexler is an American engineer best known for popularizing the potential of molecular nanotechnology, from the 1970s and 1980s. His 1991 doctoral thesis at Massachusetts Institute of Technology was revised and published as the book Nanosystems: Molecular Machinery Manufacturing and Computation, which received the Association of American Publishers award for Best Computer Science Book of 1992.


text:
Your thoughts on Google, NASA, happiness, and our redesign.
TR Readers archive page
What's Next for Google?
Charles Ferguson draws parallels between Google and Microsoft's past rivals, predicting an edge for Microsoft ("What's Next for Google," January 2005). But Google is unlike any company Microsoft has witnessed in the past in how it identifies opportunities, innovates, operates, and pursues growth. Even if Microsoft is to develop superior search, it will find it impossible to get users to abandon their much-loved search engine. To survive Google, Microsoft has only one option: to out-innovate it. But Microsoft's past performance in innovation doesn't hold much promise of that happening. Innovation is something that simply cannot be bought. It has to be systemic – which is why in this game, it's advantage, Google.
This story was part of our March 2005 issue
Interesting times are facing Google. Like browsers were in 1995, search is now the killer technology in the evolution of the Web. It has produced opportunities for financial windfalls unprecedented in business and technology. But unlike companies that fought the browser war of the mid-1990s, Google has been insightful and preëmptive in the way that it has crafted its next evolution. While it has become the preëminent destination for finding information on the Web, this represents only a stepping-stone for the company. Enabling users to interact with data important to them on every level is where Google may ultimately change the world. This is exactly what Microsoft's been trying to achieve for the last decade, but hasn't. Google's war won't be about search. It'll be about us and what we want to do, not just where we want to go.
Jason Wiener
Founder, Dipsie
By deciding what we see first, search engines have an enormous impact on our perception of reality, and I don't think that humanity will embrace a single technology defining that reality. Moreover, being able to index ever larger volumes of data becomes meaningless when the industry takes a one-size-fits-all approach. What is needed are cyber-agents that discern who you are and what you are interested in, and respond with personalized results.
Liesl Capper
CEO, Mooter
I see what you are getting at with your January cover, but you did it in a tasteless and sacrilegious way. There is only one God, and he doesn't run Google – not directly, anyway.
Killing Science at NASA
Mark Williams misunderstands the changes at NASA ("Toward a New Vision of Manned Spaceflight," January 2005). NASA has for many years had long-term plans for manned spaceflight and manned trips to Mars – that is not something introduced by President Bush. What's new is that the Bush administration is giving manned spaceflight priority at the expense of ongoing and future scientific programs. By deëmphasizing science, the administration may destroy NASA's most important activity.
David W. Hogg
About Happiness
James Surowiecki's article ("Technology and Happiness," January 2005) suffers from a one-sided paradigm. The question considered was whether technology in general or technological change in particular causes happiness to increase, decrease, or remain the same. But technology might be better understood less as a cause of happiness than as an effect of it. Technological change, after all, is clearly the product of human action, which in turn is generally undertaken in the pursuit of happiness. As such, the pursuit of happiness might be considered to be the cause of technological change.
Harvey Hartman
TR's New Look
Your new design is clean and distinctive, the navigational cues allow me to focus on the content, and the articles are topical and well-written. Kudos!
Chris Stephenson
How pleased I am to read of your plans to take Technology Review in a new direction. For the last several years, TR has been full of breathless, uncritical claims of the newest and the greatest things that were supposedly just around the corner. I encourage you to choose investigative, critical, and mature writers who will distinguish passing fads from real advances.
Anthony Lunn
I'm thrilled with what you've done. The January issue includes excellent writers, and the range of topics reflects the talents and interests of the MIT community.
Robert Shumsky
You seem to have almost abandoned technology and shifted to editorial commentary about technology. The greatest sin in journalism, especially scientific journalism, is pontification.
Norman Moore
Correction: In "Microsoft Declares War on Spam" (February 2005), we misrepresented a Pew Internet and American Life Project survey as stating that "60 million people said they had ordered products or services advertised via unsolicited e-mail." The correct figure is six million people.
E-mail letters@technologyreview.com
Write Technology Review, One Main Street,
7th Floor, Cambridge, MA 02142
Please include your address, telephone number, and e-mail address. Letters may be edited for both clarity and length.
TR Readers


text:
'use strict';

module.exports = Scope;

var _ = require('lodash');
var AbstractPersistMiddleware = require('./middleware/persist/abstract_persist_middleware');
var async = require('async');
var callbackOrEmitError = require('callback-or-emit-error');
var EventEmitter = require('events').EventEmitter;
var logger = require('./logger');
var maybeCallback = require('maybe-callback');
var MemoryPersistMiddleware = require('./middleware/persist/memory_persist_middleware');
var Query = require('./query/query');
var ReadWriteLock = require('rwlock');
var StorageMiddleware = require('./middleware/storage/storage_middleware');
var SyncFragment = require('./sync_fragment');
var util = require('util');
var uuid = require('node-uuid');

var debug = logger.debug.bind(logger, 'core:scope');

function Scope(options) {
    options = options || {};

    if (typeof options.name !== 'string') {
        throw new Error('Requires name');
    }

    this.uuid = uuid.v4();
    this.name = options.name;
    this.params = options.params || {};
    this.lock = new ReadWriteLock();

    if (typeof options.disableProcedureConstraints === 'boolean') {
        this.disableProcedureConstraints = options.disableProcedureConstraints;
    } else {
        this.disableProcedureConstraints = false;
    }

    this._hasRootModel = false;
    this._rootModelObjectUUID = null;
    this._rootModelObjectConstructor = null;
    this._orphanedModelObjects = {};
    this._onModelObjectParentAddedListener = this._onModelObjectParentAdded.bind(this);
    this._onModelObjectParentRemovedListener = this._onModelObjectParentRemoved.bind(this);
    this._onModelObjectScopeRemovedListener = this._onModelObjectScopeRemoved.bind(this);

    this.usePersist(options.persist || new MemoryPersistMiddleware());
    this.useStorage(options.storage || null);
}

util.inherits(Scope, EventEmitter);

Scope.prototype.usePersist = function(middleware) {
    if (middleware instanceof AbstractPersistMiddleware) {
        var message = this.name + ' using persist middleware "' +
            middleware.constructor.name + '"';
        debug(message, {
            scopeName: this.name,
            middlewareName: middleware.constructor.name
        });
        this.persist = middleware;
    } else {
        throw new Error('Persist middleware is not supported');
    }
};

Scope.prototype.useStorage = function(middleware) {
    if (middleware === null) {
        debug(this.name + ' using no storage', {
            scopeName: this.name
        });
        this.storage = null;
        return;
    }

    if (middleware instanceof StorageMiddleware) {
        var message = this.name + ' using storage middleware "' +
            middleware.constructor.name + '"';
        debug(message, {
            scopeName: this.name,
            middlewareName: middleware.constructor.name
        });
        this.storage = middleware;
    } else {
        throw new Error('Storage middleware is not supported');
    }
};

Scope.prototype.hasStorage = function(userCallback) {
    return Boolean(this.storage);
};

Scope.prototype.setRoot = function(modelObject, callback) {
    if (this._rootModelObjectUUID) {
        return callbackOrEmitError(this, callback, new Error('Already has root modelObject set'));
    }

    // Will call addModelObjectAsRootModelObject and set the modelObject.scope property
    modelObject.setScopeAndMakeRootModel(this, callback);
};

Scope.prototype.removeRoot = function(callback) {
    if (!this._rootModelObjectUUID) {
        return callbackOrEmitError(this, callback, new Error('No root modelObject to remove'));
    }

    // Will unset the modelObject.scope property
    this.getRootModelObject(function(err, modelObject) {
        if (err) {
            return callbackOrEmitError(this, callback, err);
        }
        modelObject.setScope(null, callback);
    }.bind(this));
};

Scope.prototype.addModelObjectAsRootModelObject = function(modelObject, callback) {
    if (this._rootModelObjectUUID) {
        return callbackOrEmitError(this, callback, new Error('Already has root modelObject set'));
    }

    this.addModelObject(modelObject, function(err) {
        if (err) {
            return callbackOrEmitError(this, callback, err);
        }

        this._hasRootModel = true;
        this._rootModelObjectUUID = modelObject.uuid;
        this._rootModelObjectConstructor = modelObject.constructor;
        maybeCallback(callback)();
    }.bind(this));
};

Scope.prototype.getRootModelObjectType = function() {
    return this._rootModelObjectConstructor;
};

Scope.prototype.getRootModelObjectUUID = function() {
    return this._rootModelObjectUUID;
};

Scope.prototype.addModelObject = function(modelObject, callback) {
    this.persist.addModelObject(modelObject, function(err) {
        if (err) {
            return callback(err);
        }
        modelObject.on('parent', this._onModelObjectParentAddedListener);
        modelObject.on('parentDetach', this._onModelObjectParentRemovedListener);
        modelObject.on('scopeDetach', this._onModelObjectScopeRemovedListener);
        callback();
    }.bind(this));
};

Scope.prototype.removeModelObject = function(modelObject, callback) {
    this.persist.removeModelObject(modelObject, function(err) {
        if (err) {
            return callback(err);
        }

        // Explictly trigger removed as our scopeDetach listener is detached before it fires
        this._onModelObjectScopeRemoved(modelObject, this);

        modelObject.removeListener('parent', this._onModelObjectParentAddedListener);
        modelObject.removeListener('parentDetach', this._onModelObjectParentRemovedListener);
        modelObject.removeListener('scopeDetach', this._onModelObjectScopeRemovedListener);
        callback();
    }.bind(this));
};

Scope.prototype.updateModelObject = function(modelObject, callback) {
    this.persist.updateModelObject(modelObject, callback);
};

Scope.prototype.containsModelObject = function(modelObject, callback) {
    this.persist.containsModelObjectWithUUID(modelObject.uuid, callback);
};

Scope.prototype.getModelObjectByUUID = function(uuid, callback) {
    this.persist.getModelObjectByUUID(uuid, callback);
};

Scope.prototype.getRootModelObject = function(callback) {
    this.persist.getModelObjectByUUID(this._rootModelObjectUUID, callback);
};

Scope.prototype.getAllModelObjects = function(callback) {
    if (!this._rootModelObjectUUID) {
        return callbackOrEmitError(this, callback, new Error('No root modelObject set'));
    }

    this.getRootModelObject(function(err, rootModelObject) {
        if (err) {
            return callbackOrEmitError(this, callback, err);
        }

        rootModelObject.getTreeModelObjects(callback);
    }.bind(this));
};

Scope.prototype.fetchFromStorage = function(callback) {
    if (!this.hasStorage()) {
        return callbackOrEmitError(this, callback, new Error('No storage middleware set'));
    }
    if (this._hasRootModel) {
        return callbackOrEmitError(this, callback, new Error('Already has root model set'));
    }

    this.storage.fetchRootModelObjectForScope(this, function(err, rootModelObject) {
        if (err || !rootModelObject) {
            return callback(err || new Error('Failed to return a root ModelObject'));
        }

        rootModelObject.setScopeAndMakeRootModel(this, callback);
    }.bind(this));
};

Scope.prototype.applySyncFragments = function(syncFragments, options, callback) {
    this.lock.writeLock(function(release) {
        this.applySyncFragmentsWithLock(syncFragments, options, function(err, results, updates) {
            release();
            if (err) {
                callbackOrEmitError(this, callback, err);
            } else {
                var onDone = maybeCallback(callback);
                if (!updates || updates.length === 0) {
                    onDone(null, results);
                } else {
                    async.eachSeries(updates, function eachUpdate(elem, callback) {
                        var query = elem.query || null;
                        var options = elem.options || {};
                        this.update(query, elem.update, options, function onUpdate(err) {
                            if (err) {
                                logger.error('Error applying scope success update', {
                                    error: err,
                                    successUpdate: elem
                                });
                            }
                            callback();
                        });

                    }.bind(this), function onUpdatesDone() {
                        onDone(null, results);

                    });
                }
            }
        }.bind(this));
    }.bind(this));
};

Scope.prototype.applySyncFragmentsWithLock = function(syncFragments, options, callback) {
    var optionsType = typeof options;
    if (optionsType === 'function') {
        callback = options;
        options = {};
    } else if (optionsType !== 'object' || options === null) {
        options = {};
    }

    if (!Array.isArray(syncFragments)) {
        return callbackOrEmitError(this, callback, new Error('syncFragments must be array'));
    }

    if (!this._hasRootModel) {
        return callbackOrEmitError(this, callback, new Error('No root model set'));
    }

    var addSyncFragments = _.filter(syncFragments, function(syncFragment) {
        return syncFragment.type === SyncFragment.CONST.TYPE_ADD;
    });

    var onSuccessQueryUpdates = [];

    async.waterfall([
        function callSyncProcedure(nextCallback) {
            if (typeof options.procedure !== 'string') {
                return nextCallback();
            }

            var modelNameAndProcedureName = options.procedure.split('.');
            if (modelNameAndProcedureName.length !== 2) {
                return nextCallback(new Error('Procedure must be of the format "ModelName.procedureName"'));
            }

            var modelName = modelNameAndProcedureName[0];
            var procedureName = modelNameAndProcedureName[1];

            var rootTypeClass = this.getRootModelObjectType();
            var typeClass = rootTypeClass.getSubtypeWithTypeName(modelName);
            if (!typeClass) {
                return nextCallback(new Error(
                    'No such model \'' + modelName + '\' for procedure call with procedure \'' +
                    options.procedure + '\''));
            }

            var procedure = typeClass.getProcedure(procedureName);
            if (!procedure) {
                return nextCallback(new Error(
                    'No such procedure \'' + procedureName + '\' for model \'' + modelName + '\''));
            }

            procedure.verifyAndExecute(this, syncFragments, function(err, result) {
                if (err || !result) {
                    return nextCallback(err || new Error('Procedure result was not return from execution'));
                }
                if (Array.isArray(result.updates)) {
                    onSuccessQueryUpdates = result.updates;
                }
                nextCallback();
            });
        }.bind(this),

        function applySyncFragmentsToStorage(nextCallback) {
            if (!this.hasStorage() || options.skipStorage === true) {
                return nextCallback();
            }

            this.storage.applySyncFragmentsForScope(this, syncFragments, options, function(err, results) {
                // TODO: somehow remove sync fragments that failed storage and remove the failed
                // addSyncFragments too
                if (err) {
                    return nextCallback(err);
                }

                nextCallback();
            });
        }.bind(this),

        function createTemporalModelObjectsForAddSyncFragments(nextCallback) {
            var temporalModelObjectsByUUID = {};
            var addResultsByTemporalModelObjectUUID = {};
            async.mapSeries(addSyncFragments, function(syncFragment, doneCallback) {
                this._temporalModelObjectForAddSyncFragment(syncFragment, function(err, modelObject) {
                    if (modelObject) {
                        temporalModelObjectsByUUID[modelObject.uuid] = modelObject;
                    }
                    var result = SyncFragment.syncFragmentResult(err);
                    if (modelObject) {
                        addResultsByTemporalModelObjectUUID[modelObject.uuid] = result;
                    }
                    doneCallback(null, result);
                }.bind(this));

            }.bind(this), function(err, addResults) {
                if (err) {
                    return nextCallback(err);
                }

                nextCallback(null, addResults, temporalModelObjectsByUUID, addResultsByTemporalModelObjectUUID);
            });
        }.bind(this),

        function applyAddSyncFragments(addResults, temporalModelObjectsByUUID, addResultsByTemporalModelObjectUUID, nextCallback) {
            async.mapSeries(addSyncFragments, function(syncFragment, doneCallback) {
                var result = addResultsByTemporalModelObjectUUID[syncFragment.objectUUID];
                if (!result || result.error) {
                    return doneCallback();
                }

                var temporalModelObject = temporalModelObjectsByUUID[syncFragment.objectUUID];
                this._applySyncFragmentProperties(syncFragment, temporalModelObject, temporalModelObjectsByUUID, function(err) {
                    if (err) {
                        // Failed applying properties for add fragment, update result
                        _.each(SyncFragment.syncFragmentResult(err), function(value, key) {
                            result[key] = value;
                        });
                        // Remove as a temporal object so related change fragments fail
                        delete temporalModelObjectsByUUID[temporalModelObject.uuid];
                    }
                    doneCallback();
                }.bind(this));

            }.bind(this), function(err) {
                if (err) {
                    return nextCallback(err);
                }

                nextCallback(null, addResults, temporalModelObjectsByUUID, addResultsByTemporalModelObjectUUID);
            });
        }.bind(this),

        function applyChangeSyncFragments(addResults, temporalModelObjectsByUUID, addResultsByTemporalModelObjectUUID, nextCallback) {
            async.mapSeries(syncFragments, function(syncFragment, doneCallback) {
                // Already processed add fragments
                if (syncFragment.type === SyncFragment.CONST.TYPE_ADD) {
                    doneCallback(null, addResults.shift());

                } else if (syncFragment.type === SyncFragment.CONST.TYPE_CHANGE) {
                    this._applyChangeSyncFragment(syncFragment, temporalModelObjectsByUUID, function(err) {
                        // TODO: actually call doneCallback with error if it was a persist error,
                        // perhaps use a _commitChangeSyncFragment call instead of doing inside _applyChangeSyncFragment
                        doneCallback(null, SyncFragment.syncFragmentResult(err));
                    }.bind(this));

                } else {
                    doneCallback(new Error('Misunderstood SyncFragment type'));
                }

            }.bind(this), function(err, results) {
                if (err) {
                    return nextCallback(err);
                }
                nextCallback(null, results, temporalModelObjectsByUUID, addResultsByTemporalModelObjectUUID);
            });
        }.bind(this),

        function commitAttachedTemporalModelObjects(results, temporalModelObjectsByUUID, addResultsByTemporalModelObjectUUID, nextCallback) {
            var temporalModelObjects = _.map(temporalModelObjectsByUUID, function(modelObject) {
                return modelObject;
            });
            async.mapSeries(temporalModelObjects, function(modelObject, doneCallback) {
                // Fail any ModelObjects we created that no longer have any parents
                var parents = modelObject.getParentRelationships();
                if (parents.length < 1) {
                    var result = addResultsByTemporalModelObjectUUID[modelObject.uuid];
                    var err = new Error('No parents, parent sync fragment failed');
                    _.each(SyncFragment.syncFragmentResult(err), function(value, key) {
                        result[key] = value;
                    });
                    return doneCallback();
                }

                // Add this and only this object to the scope
                var recursive = false;
                modelObject.setScope(this, recursive, doneCallback);

            }.bind(this), function(err) {
                if (err) {
                    return nextCallback(err);
                }
                nextCallback(null, results);
            });
        }.bind(this),

        function removeOrphanedModelObjects(results, nextCallback) {
            var orphanedModelObjects = _.map(this._orphanedModelObjects, function(modelObject) {
                return modelObject;
            });
            if (orphanedModelObjects.length < 1) {
                return nextCallback(null, results);
            }

            async.mapSeries(orphanedModelObjects, function(modelObject, doneCallback) {
                // Break relationships to children
                modelObject.getProperties().forEach(function(property) {
                    if (property.isModelObjectType) {
                        if (property.isCollectionType) {
                            modelObject[property.name] = [];
                        } else {
                            modelObject[property.name] = null;
                        }
                    }
                });

                // This will remove this modelObject and in turn it will also fire
                // the 'scopeDetach' event which will remove it from the orphaned map.
                var recursive = false;
                modelObject.setScope(null, recursive, doneCallback);

            }, function(err) {
                if (err) {
                    return nextCallback(err);
                }

                // If we orphaned more model objects by breaking relationships
                // we should perform this task again
                // TODO: optimize not having to check keys
                if (Object.keys(this._orphanedModelObjects).length > 0) {
                    var again = removeOrphanedModelObjects.bind(this);
                    return again(results, nextCallback);
                }

                // All orphans removed
                nextCallback(null, results);
            }.bind(this));
        }.bind(this)

    ], function(err, results) {
        if (err) {
            // TODO: discard this scope, integrity is GOOOOONE
            return callbackOrEmitError(this, callback, err);
        }

        var appliedFragments = [];
        _.each(results, function(result, index) {
            var syncFragment = syncFragments[index];
            if (!result.error) {
                appliedFragments.push(syncFragment);
            }
        });

        this.emit('changes', appliedFragments, options);

        var onDone = maybeCallback(callback);
        onDone(null, results, onSuccessQueryUpdates);

    }.bind(this));
};

Scope.prototype.update = function(query, update, options, callback) {
    Query.update(this, query, update, options, callback);
};

Scope.prototype._onModelObjectParentAdded = function(modelObject) {
    if (this._orphanedModelObjects.hasOwnProperty(modelObject.uuid)) {
        delete this._orphanedModelObjects[modelObject.uuid];
    }
};

Scope.prototype._onModelObjectParentRemoved = function(modelObject) {
    var count = modelObject.getParentRelationships();
    if (count < 1) {
        this._orphanedModelObjects[modelObject.uuid] = modelObject;
    }
};

Scope.prototype._onModelObjectScopeRemoved = function(modelObject, removedScope) {
    if (removedScope === this && this._orphanedModelObjects.hasOwnProperty(modelObject.uuid)) {
        delete this._orphanedModelObjects[modelObject.uuid];
    }
};

Scope.prototype._temporalModelObjectForAddSyncFragment = function(fragment, callback) {
    async.waterfall([
        function verifyDoesNotAlreadyExist(nextCallback) {
            this.getModelObjectByUUID(fragment.objectUUID, function(err, modelObject) {
                if (err) {
                    return nextCallback(err);
                }
                if (modelObject) {
                    return nextCallback(new Error(
                        'ModelObject with UUID \'' + fragment.objectUUID + '\' already exists'));
                }
                nextCallback();
            });
        }.bind(this),

        function getModelObjectType(nextCallback) {
            var rootModelObjectType = this._rootModelObjectConstructor;
            var modelObjectType = rootModelObjectType.getSubtypeWithTypeName(fragment.clsName);
            if (!modelObjectType) {
                return nextCallback(new Error('No such class type \'' + fragment.clsName + '\''));
            }
            nextCallback(null, modelObjectType);
        }.bind(this),

        function createModelObject(modelObjectType, nextCallback) {
            var modelObject;
            try {
                var Type = modelObjectType;
                modelObject = new Type({uuid: fragment.objectUUID});
            } catch (err) {
                return nextCallback(err);
            }

            nextCallback(null, modelObject);
        }.bind(this)

    ], callback);
};

Scope.prototype._applySyncFragmentProperties = function(fragment, modelObject, addedModelObjectsByUUID, callback) {
    async.waterfall([
        function verifyProperties(nextCallback) {
            var options = {
                checkModelObjectsExist: {
                    scope: this,
                    lookup: addedModelObjectsByUUID
                }
            };
            fragment.verifyPropertiesForType(modelObject.constructor, options, function(err) {
                if (err) {
                    return nextCallback(err);
                }
                nextCallback();
            });
        }.bind(this),

        function setProperties(nextCallback) {
            async.mapSeries(Object.keys(fragment.properties), function(key, doneCallback) {
                var value = fragment.properties[key];
                var property = modelObject.getProperty(key);
                if (property.isModelObjectType) {
                    if (property.isCollectionType) {
                        async.mapSeries(value, function(objectUUID, collectionDoneCallback) {
                            var addedModelObject = addedModelObjectsByUUID[objectUUID];
                            if (addedModelObject) {
                                return collectionDoneCallback(null, addedModelObject);
                            }
                            this.persist.getModelObjectByUUID(objectUUID, collectionDoneCallback);

                        }.bind(this), function(err, foundModelObjects) {
                            if (err) {
                                return doneCallback(err);
                            }
                            modelObject[key] = foundModelObjects;
                            doneCallback();
                        });

                    } else if (value === null) {
                        modelObject[key] = null;
                        doneCallback();

                    } else {
                        var addedModelObject = addedModelObjectsByUUID[value];
                        if (addedModelObject) {
                            modelObject[key] = addedModelObject;
                            return doneCallback();
                        }
                        this.persist.getModelObjectByUUID(value, function(err, foundModelObject) {
                            if (err) {
                                return doneCallback(err);
                            }
                            modelObject[key] = foundModelObject;
                            doneCallback();
                        });

                    }

                } else {
                    modelObject[key] = value;
                    doneCallback();
                }

            }.bind(this), function(err) {
                if (err) {
                    return nextCallback(err);
                }

                nextCallback(null, modelObject);
            });
        }.bind(this)

    ], callback);
};

Scope.prototype._applyChangeSyncFragment = function(fragment, addedModelObjectsByUUID, callback) {
    async.waterfall([
        function getModelObject(nextCallback) {
            this.persist.getModelObjectByUUID(fragment.objectUUID, function(err, modelObject) {
                if (err) {
                    return nextCallback(err);
                }
                if (!modelObject) {
                    return nextCallback(new Error('ModelObject not found'));
                }

                nextCallback(null, modelObject);
            });
        }.bind(this),

        function verifyAndSetProperties(modelObject, nextCallback) {
            this._applySyncFragmentProperties(fragment, modelObject, addedModelObjectsByUUID, function(err) {
                if (err) {
                    return nextCallback(err);
                }

                nextCallback(null, modelObject);
            });
        }.bind(this),

        function updateModelObject(modelObject, nextCallback) {
            this.persist.updateModelObject(modelObject, nextCallback);
        }.bind(this)

    ], callback);
};

redpajama_set_name: RedPajamaGithub


text:
namespace s3d
{
	class CSystem_macOS : public ISiv3DSystem
	{
	private:

		ExitEventManager m_exitEventManager;

		FrameCounter m_frameCounter;

		FrameDelta m_frameDelta;

		bool m_updateSucceeded = true;

	public:

		CSystem_macOS();

		~CSystem_macOS() override;

		bool init() override;

		bool update(bool clearGraphics) override;

		void reportEvent(uint32 windowEventFlag) override;

		void setExitEvent(uint32 windowEventFlag) override;

		uint32 getPreviousEvent() const override;

		uint64 getSystemFrameCount() const noexcept override;

		int32 getUserFrameCount() const noexcept override;

		void setUserFrameCount(int32 count) noexcept override;

		double getDeltaTime() const noexcept override;
	};
}

# endif


text:
The morning after CAB: It will be a mistake to rely just on Supreme Court
The political challenge is to make sure that one party's diabolical version of what is reasonable is not mistaken to be common sense. It will require using the BJP's tactics.
Written by Pratap Bhanu Mehta | Updated: December 12, 2019 10:15:56 am
Protesters in a torchlight procession to protest against the Citizenship Amendment Bill (CAB) in Gauhati, Assam (AP Photo/Anupam Nath)
The Citizenship Amendment Bill uses a legal instrument to send an insidious political message: Religious identity will play a dominant role in assessing claims to citizenship. Muslims will be increasingly marginalised from our conceptions of citizenship. No one denies that a country has a right to prioritise amongst different classes of refugees, based on a number of factors: Risk assessment, availability of alternatives, historical ties, ground realities, humanitarian concerns, international obligations or even security concerns.
But for a bill to, ex ante, name some communities and exclude others from consideration in this pathway to citizenship is a clever way of keeping the communal pot boiling under a legal imprimatur. The bill is not meant to solve any problem that could not have been solved through a less discriminatory process; it may even create more problems.
But where does politics go, after CAB? We look to the Supreme Court for a semblance of constitutional deliverance. We have no idea how a court will rule. But one of the lessons of our recent history is that we misunderstand how a Supreme Court functions in a democracy. The Supreme Court has badly let us down in recent times, through a combination of avoidance, mendacity, and a lack of zeal on behalf of political liberty.
We often explain this away as if this were the failing of individual judges. A particular judge might be compromised, or too scared to challenge the executive or they may simply be obtuse in their reasoning. In law as in politics, we carry on with the game, somewhere reassured that mistakes are idiosyncratic, and are possibly retrievable by the very processes that secured them.
But what makes this constitutional moment pivotal is that there is, somewhere, a looming air of irretrievable finality about the changes that are being enshrined. But we should recognise that this direction is not going to be set through the nice formalisms of law, or the contrived conventions we can adhere to in normal times. The direction is going to be set by the mob, by brute power, by mobilisation.
Much ink will be spilled over whether the CAB is unconstitutional or not. Learned minds will argue whether it passes the "reasonable classification" test, or whether it comports with "constitutional morality." This argument is all to the good, and necessary within our protocols of adjudication. But we should be under no illusion that the final adjudication will not be a product of some self-evident normative idea, or some compelling logic within the law. As the joke goes, in law there is only one certainty: There is a case for and a case against. The final adjudication will be a product of what collectively citizens of India are able to convey about the kind of country they want to create.
The point of the idea of constitutional morality is exactly that it does not provide any legal standard for adjudication. Rather, it points to the fact that the work of constitutionalism has to be done outside of the formal process of the law: In building up an ethos that tolerates differences, in shaping a sense of self that is moved by the demands of equality, or perturbed by the attacks on liberty. So constitutional morality is not a doctrine we can appeal to, to settle our differences. It is what we bring to adjudication, not what we get out of it. Similarly, the term "reasonable classification."
The term "reasonable" is one of the most vexed terms in law and political theory. Arguments over it often have an air of circularity. Societies have often found discrimination "reasonable." When they cease to find it reasonable, it is often because larger social norms have changed, not because a court said so. If you took the CAB in isolation, detached it from the political context, and its possibly catastrophic alignment with the NRC, the government could make the argument that its classification is not unreasonable, even if not everyone agrees with it. Even the original NRC debacle was created in part by the Supreme Court, presumably in its own mind acting on reasonable classifications. So while the legal and philosophical work is necessary, don't count on them to do our work for us.
This is a truth that the BJP has realised. It moves the law, not by appealing to it, but by changing the norms in politics and society that shape our imaginations of the law. It did this in the Ayodhya case literally by changing the facts on the ground, and demolishing the Babri Masjid, and altering our historical imaginations. So much so, that while the judges acknowledged that the demolition of the Masjid was illegal, the fact that there was a structure there seem to have no meaningful bearing on the final claims of who has possession.
Similarly, whether the NRC was the right thing to do was shaped less by law than by a historical and sociological imagination of the problem in Assam or a sense of the capacities of the state. Similarly on Kashmir, the delay in hearing habeas corpus and other petitions was guided neither by logic, nor law. It was most likely guided by deference to what was perceived to be public sentiment, pure and simple.
Given that so much constitutional adjudication mixes both normative (what is the right thing to do) and statistical meaning (what is perceived public sentiment), the BJP has colonised the law by conveying a different sense of what public sentiment is.
The lesson here is that we can rely on the courts, if at all, only if we do a lot of work outside the courts. If the public accepts the Home Minister's Orwellian statement that Kashmir is "normal," don't be surprised if that definition of normalcy becomes a de facto standard that allows the court to postpone its day of reckoning in Kashmir. If our entire public discourse is pervaded by an exaggerated bogey of illegal immigration, don't expect the court to call the bluff on a discriminatory NRC.
This is why it will be a mistake to rely just on the Supreme Court. The political challenge is to make sure that one party's diabolical version of what is reasonable is not mistaken to be common sense. It will require using the BJP's tactics: Political and ideological mobilisation outside the law to convey the sense that Indian citizens will not stand for a Republic that is discriminatory, fearful and panders to its own worst instincts. Only then may even the judges move.
This article first appeared in the print edition on December 12, 2019 under the title 'The morning after CAB'. The writer is contributing editor, The Indian Express.
More From Pratap Bhanu Mehta
JNU violence reflects an apocalyptic politics driven by a constant need to find new enemies
It is apocalyptic in a triple sense. At the level of discourse, the normalisation of the phrase "tukde tukde gang" abetted by the home minister,…
Hope, Fear, Anger: Will this be the decade we finally come to terms with our reality?
In 2019, it was not just people versus government, but one definition of people jostling against another...
The charter of liberation
On the brink of the 70th year of the Republic, a reaffirmation of the radical message of the Constitution..
Pratap Bhanu MehtaPratap Bhanu Mehta is Contributing Editor at the Indian Express. He ha... read more


How often do you get to meet a celebrity chef? Rarely, I'm guessing – unless you work in the culinary industry. Lucky us, earlier this month, we had the chance to meet not one but six Canada's top chefs at the 6th Annual Plate Swap, sponsored by S. Pellegrino! It was a wonderful evening of delicious food, meaningful conversation, and a great cause! Today, let me take you behind the scenes at Calgary's Model Milk for an exclusive look at this charitable foodie event.
Plate Swap is among S. Pellegrino's continued efforts to promote fine dining culture. Over the years, S. Pellegrino has shown a strong commitment in supporting homegrown talents through initiatives such as mentoring rising chefs with the Young Chef Competition, sponsoring Michelin activations throughout Canada, and continually providing local chefs with brand partnerships.
In its 6th year, Plate Swap is a signature event hosted at Model Milk to raise awareness and money in support of Brown Bagging for Calgary's Kids program.
Every year, a rotating group of top chefs will come together to present an exciting multi-course dinner with wine pairings. Proceeds from the dinners will go directly to feeding the city's children in need. This annual event is always a huge success and has fed over 75,000 kids thus far!
This year's event was an exciting one, bringing together 6 top chefs from some of Canada's most celebrated restaurants! Unlike any other food event, the chefs are tasked to reinterpret each other's dish in a creative way. Working with a combination of ingredients with which they might not be familiar, their culinary skills and creativity are really put to the test!
6 Canada's top chefs, all in one room – the evening was a feast to remember! It was especially so when celebrity chef Matty Matheson played host to entertain us through the 6-course dinner. With his wit and humor, there was no such thing as a dull moment!
First up, chefs Daniel Hadida and Eric Robertson (Pearl Morissette, Jordan, ON) presented a light appetizer that immediately caught everyone's attention. Pulling ingredients from one of chef Charlotte Langley's dishes, this beautifully prepared food showcased trout from the Canadian Rockies. It was all about the harmony of flavours and textures. The light, juicy smoked trout, layered with the nutty-sweet squash, brought a burst of comforting flavours that were perfect for this time of the year. In addition, the peach added a slight perfume to complement the smokiness of the fish. The roe brought ocean freshness and released a briny pop in the mouth.
Next, chef Justin Leboe (Model Milk, Calgary, AB) reworked chef Jesse McCleery's dish and used potato as the main ingredient to capture the taste of the sea in a unique way. Using crème fraiche, fermented cream and seaweed, the steamed potatoes took on a smooth buttery texture with a tiny hint of the ocean. Salmon roe, ash from smoked kelp, and briny oysters further augmented the ocean flavor while the tangy pickle of radish and cucumber provided a refreshing balance and a wonderful crunch.
We had gotten a taste of tasty seafood and we were hungry for more! Chef Charlotte Langley (Scout Canning, Toronto, ON) did not disappoint us with her poached mackerel, originally created by chef Neil McCue. The carefully poached mackerel impressed us with its unbelievably clean taste and ultra-tender texture. To enhance the delicate taste of the fish, whipped cream cheese, horseradish, parsley, and dill were added to excite our taste buds. On the side, the rich, crunchy croquette coated in roasted sunflower seeds complemented nicely to the dish.
Just as we thought we could use some red meat, chef Jesse McCleery (Pilgrimme, Galiano Island, BC) dished out his reinterpretation of chefs Hadida and Robertson's salted pork neck. Compared with the previous dishes, McCleery's creation was much heavier and stronger in taste. The salt-cured pork neck, which was a bit too intense to consume on its own, paired perfectly with the sweet jerky-like carrots. Cooked in persimmon jus, the carrots took up the fruit's delicate sweetness and soothing aroma, which balanced out the smokiness and saltiness of the pork. We loved how the slight sweet citrusy from the grand fir oil helped brightened up the dish.
The highlight of the evening was when chef Neil McCue (Whitehall, Calgary, AB) presented his Alberta Hoggett, using chef Leboe's ingredients. The lamb was braised to melting tenderness. It simply fell apart when pulled with a fork! To our surprise, the meat had no gamey taste whatsoever – perhaps because it's Alberta grown, or because it was glazed in miso. Whatever the reason is, it got us hooked! The collard greens, together with stilton and celeriac bread pudding, made the perfect accompaniments to the hearty meat dish.
The night ended with the irresistible mille feuile from Model Milk, filled with mandarin curd and walnut.
What does this event mean to the chefs? At Plate Swap, we had the opportunity to meet with chef Leboe from Model Milk, Calgary and learn about his thoughts on this special event.
Q: What is the most challenging or exciting element for you when preparing for this event?
J: Unlike any other chef collaboration, you have to show up and cook someone else's food, so you have to have to put your best foot forward. At the same time, you also want to see what another talented chef did with your dish. For me, I'm always curious to see what somebody did to ours.
Neil from Whitehall got our dish this year. I was watching him earlier and the dish looked stunning. But in a hundred years, it is not something I would have thought of making. It is a lot of fun that way.
Q: What is the most memorable takeaway from this event for you?
J: Honestly, the most memorable part for me is at the end of the event, when we start calculating how much money we have raised for the charity. Because it [Brown Bagging for Calgary's Kids] is such a unique charity and because of the way the charity works, we usually know how much money we've raised by the end of the event, and for each dollar we raise, we feed one child. Having that tangible result and knowing that we've fed 15,000 kids in one night by the time we're cleaning down the kitchen – that's the best part for me, hands down.
Q: One of the S. Pellegrino's goals with Plate Swap is to foster fine dining culture in Canada. What changes have you noticed in the restaurant industry over the past few years?
J: Fine dining itself has changed so much over the last 10 years. One major change is the definition of fine dining, driven by the young generation. In comparison to baby boomers, we [Millennials and Gen X] define fine dining differently. We eat food differently than our parents. Instead of eating 14 dishes in a tasting menu format, we appreciate eating in family style with 3-4 dishes on the table. We want to taste a lot of things all at once. We don't want to eat 2 bites, wait for 25 mins for the next course, eat 2 bites, and wait for 25 mins for the next course. Our generation doesn't dine out the same way as our parents and I think what's really going to happen is that we are going to define the parameters of fine dining for us.
Thanks to S. Pellegrino, the event has provided many unforgettable moments for me. In particular, the creations from Canada's top chefs have inspired me to discover new flavours and share them with the person I love the most, Kev!
Using chef Langley's ingredients – trout and squash, I decided to play with flavours and create a dish of my own! We often eat baked trout at home. To break the routine, I tested out a few ways to add squash to the equation. After a few tries, I settled on toasted squash rounds because of its sweet, caramel taste. Instead of roasting it in the oven, I used a toaster to keep it easy and interesting.
To enhance the flavour, I spread a thin layer of cream cheese on the squash, along with some cucumber slices. At the end, chopped fresh dill was sprinkled on top for a tangy, refreshing taste.
These appetizer bites were a breeze to put together. Kev gave it two thumbs up! With S. Pellegrino's lively bubbles, it brought out the best in this dish!
Coat a sheet of aluminum foil with a thin layer of cooking oil and place the trout filet on foil.
Season the trout with salt, pepper, and juice from half a lemon.
Melt 2 tablespoons of butter in the microwave, then stir in 2 cloves of minced garlic. Drizzle it over the trout evenly.
Fold up the foil and make a packet.
Peel squash and slice into ¼"- thick rounds.
Spread a layer of cream cheese over the squash. Add slices of cucumber and a small piece of baked trout. Sprinkle freshly chopped dill. Bon Appetit!
It was our first time attending Plate Swap and we had a blast! The food had absolutely blown our taste buds away! Moreover, the event had also opened up some meaningful conversation. We can't wait to be back again next year!
Tell me – have you been to any charitable event like this before?
Disclaimer: This post is written in partnership with S. Pellegrino. As always, all opinions on For Two, Please are my own and I only recommend brands that I 100% stand behind.
What an amazing experience, I love fine dining. I have had 4 courses before but never 6!!! Think the trout might be my fave, wish they did this in Australia!
I have never heard of plate swap. It's such an amazing concept and it's awesome that San P. supports young chefs! Japan has a similar thing called the RED-35 that is backed by Japan's food industry leaders.
What an awesome idea – and such a treat! All those dishes look amazing!
It's interesting to read about how the chef thinks fine dining is changing for our generation. I agree that people don't tend to like the 'fancy' environments so much anymore. We can judge the food and expect high quality but also enjoy a casual atmosphere and a more family-style approach to the dining experience.
What a great idea, there should be more charitable activities that help feed the kids. The food looks really tasty and is presented very well.
It is always a pleasure to meet celebrity chefs for I have seen that most of them are an elusive lot. Remembered meeting one of India's top celebrity chef's called Sanjeev Kapoor last month. The Plate Swap sounds like a really great event. The fact that the proceeds go towards feeding hungry children adds lustre to the event.
We have never been to anything quite on this scale, but there were often concierge tastings in San Diego that we got to attend. Many small bites gave my mouth so many flavors to savor, but I think what we enjoyed the most from these formats was hearing from the chef's themselves. They have so much passion and creativity in their art that you don't always notice. It really added to the enjoyment of our meals.
I have been privileged to meet a celebrity chef or two. It's always so interesting to hear what inspires them and what dishes they especially like to make. I've never gotten a recipe from one, so kudos to you and thanks for sharing that here!
I just got wise to the food scene in Canada last year, and I was so impressed! I would go back and eat there in a heartbeat haha, you were lucky to have been served by the best of the best!
I LOVE the concept behind their dishes. What a fun idea to have them reinterpret each other's dishes. That must bring out some creative juices!


If you're planning a trip down literary lane in Stratford and want accommodation fit for a bard, look no further than Sykes Cottages range of Stratford holiday cottages. You'll find a wonderful selection of over twenty cottages in and around this eminent market town, giving you the opportunity to stay within a stone's throw of the home of Stratford's most famed former resident, William Shakespeare. Enjoy the homely delights of your self-catering holiday cottage as you trace the steps of the famous playwright hither and thither through the enchanting streets of Stratford; there really is no better way to absorb the majesty of the UK's most beloved icons.
Take a peek at our selection of Stratford holiday cottages and discover your perfect Warwickshire holiday home. We've a wide variety of Stratford cottages, giving you great flexibility no matter what your party size. For a loved up literary retreat for two, consider the Hayloft in Snitterfield. This 300 year old rustic cottage is situated just outside Stratford and features exposed oak beams and original brickwork, making it the perfect hideaway for any star-crossed lovers. Or, if you're looking to illuminate the minds of your children with a tall Shakespearean tale or two, opt for a stay at No.18 Mulberry Street, a Georgian terrace nestled in the heart of the Bard's medieval stomping ground.
As for our other Stratford holiday cottages, they sleep from 2 to 10 persons and come well-appointed with an array of great amenities including fully-fitted kitchens, private gardens and en-suite bathrooms, so you can look forward to a wonderfully comfortable stay on your next cottage holiday in Stratford. All of our Stratford holiday cottages are chosen with location and quality in mind, giving you the assurance that your Stratford cottage will echo the beauty and charm of this celebrated Warwickshire town.
To find out more about our holiday accommodation in Stratford, or for more information on the region, visit our website or call us. Our helpful reservations team are on hand until 9.30pm daily to answer your queries, so contact us today to start creating your own memories in this enchanting storybook town.


text:
Кафявогърдата либия (Lybius melanopterus) е вид птица от семейство Либиеви (Lybiidae).

Разпространение
Видът е разпространен в Кения, Малави, Мозамбик, Сомалия и Танзания.

Източници

Либии

redpajama_set_name: RedPajamaWikipedia


The last time I interviewed Cristina de Middel in 2013,The Afronauts was hanging on the walls of London's Photographers Gallery, among the finalists for the Deutsche Börse Photography Prize. Her heart-warming, grainy images reimagines Zambian school teacher Edward Makuka Nkolo's spirited attempt to join the 1960s space race, gripped the art world's imagination and went on to win multiple awards as well as lead de Middel to her latest African project, This Is What Hatred Did.
So she quit her job and went about turning the rules on their head by presenting fantastical facts as fiction and The Afronauts was born. It was exhibited worldwide, catapulting de Middel's career into orbit and on the hunt for new narratives to re-tell. She discovered the 1964 novel My Life In The Bush Of Ghosts, Amos Tutuola's commentary on the negative influence of war and religion in Nigeria. It tells the story of a young boy who is forced to flee into the bush when his village is attacked, where he finds himself immersed into a magical wilderness of Yoruba spirits for 30 years.


Historian Dr Jacqui Donegan, from Australia's Department of Veterans' Affairs, explores the story of how an Australian soldier came back to France to be one of the Commission's first gardeners.
The signing of the 1918 Armistice meant peace and a journey home for many of those who fought on the Western Front, but not everyone stayed at home. Here we'll look back at the remarkable story of an Australian soldier who returned to France to join the Imperial War Graves Commission's (later the Commonwealth War Graves Commission) first wave of gardeners.
These pioneers began the task the Commission continues with today to ensure its sites across the world give relatives, comrades and visitors a carefully tended space to reflect.
Charles Atkin was a gunner from Adelaide, who fell in love in France and, 1½ years after his repatriation, returned to live in Villers-Bretonneux and became the custodian of the Australian National Memorial.
Atkin was originally from Yorkshire, and after emigrating went to war with Australia's 3rd Light Horse Regiment and became a driver with the 2nd Division Artillery in France.
His first job was digging up shells from the war. Then, walking over the fields where thousands of his comrades had fallen, Atkin laid out the Villers-Bretonneux Memorial Cemetery and tended the beginnings of the gardens.
The ex-digger was formally employed by the Commission as a labourer and gardener, and then caretaker of the Australian National Memorial.
Construction on Australia's memorial did not begin until 1936 (delayed by the Depression), but the former dairy farmer had plenty to keep him busy.
The 'lean and lanky Australian' was a popular figure in Villers-Bretonneux, known as 'Sharley' to the locals. He also remained a member of the Returned Services League in Unley, South Australia, and wrote to them about his life in France. In 1932, he brought his wife to Australia to meet family and friends.
Along with French workmen and families who had built the monument in the countryside, he sat and watched as Australia's Deputy Prime Minister Earle Page walked among the graves, and the sun set over the Amiens plateau, the white stone turning pink.
An Australian news clipping from The News (Adelaide), 27 August 1940, during the Second World War.
One of the streets in Amiens, France where Charles Atkin lived with his family.
Atkin was happy in Villers-Bretonneux. According to records at the Commonwealth War Graves Commission, he fulfilled his duties with "every satisfaction … taking great interest in the work at the Memorial and being very attentive to visitors".
Two years later, when another world war swept through the Somme in 1940, and German bombers were flying overhead, he took his family to Gentelles, with their belongings in two suitcases on bicycles.
Germany's airforce was blitzing Amiens and Corbie, and its troops were advancing towards Villers-Bretonneux.
Part of Atkin's service record from the Commonwealth War Graves Commission.
The Atkin family escaped to London and the British Refugee Committee found Charles a job in Fulham New Cemetery, which he supplemented with factory work. His daughter, Elise, joined the Auxiliary Territorial Service, the women's branch of the British Army.
It had been damaged by shell and mortar fire, as it was being used as an observation post by the French. This damage was repaired but other holes were left as honourable battle scars.
 The Advertiser (Adelaide). 29 Jul. 1938: 6.
 The Mercury (Hobart). 25 Jul. 1938: 9.
 The Advertiser (Melbourne): 26 Jul. 1938: 21.
 Newcastle Morning Herald and Miners' Advocate. 22 Oct. 1949: 5.
 The News (Adelaide). 26 Jul. 1938: 12.
 The Maitland Daily Mercury (NSW). 23 Jul. 1938: 1.
 F. L. Clark, Personnel Department, Commonwealth War Graves Commission, 5 Aug. 1993. Ref. P268.
 The News (Adelaide). 27 Aug. 1940: 4.