text:
At this point I've written a ton of chapters for this story and I know how difficult it is to keep track of every character, and there will be a couple more that I'm going to introduce in the next few weeks. So I'm updating the character sheet below, whilst trying not to give too much of the story away.
About Bamboo Rain (Yu Zhu) – A fantasy wuxia novel set in the warring states era that blends martial arts, romance, ancient Chinese legends, folklore, politics of the Human, Demon, and God realms. The story follows the life of Yu Zhu, princess of the kingdom of Dian, whose world becomes strange as she leaves the protection of her kingdom and is thrust into a life of adventure and intrigue.
* These are the actors in the pictures below are the ones I wish would play the characters in the novels, they are all amazing actors and would do these parts great justice.
The Women – in no particular order
(Liu Shi Shi as Yu Zhu)
Yu Zhu (雨竹) – The princess who travels to the Demon Realms. She is highly intelligent and has a strong morality streak, but emotionally distant to most people. Yu Zhu is fearless in most situations, even if she knows the odds are against her. She and Lin Yu even started a gang of beggars to fight Ho Pa Lai and all the rich bullies in the town. She grew up in the inner palaces as the only child of the Emperor, whom she loves dearly. She is said to be as beautiful as her mother and does possess a great deal of martial arts knowledge.
(Yang Rong as Lin Yu)
Lin Yu (鳞玉) – 900 year old snake demon. The daughter of the Green Snake and niece to the White Snake. Magically gifted and very beautiful, Lin Yu is feared by most of the town boys for her aggressive fighting style and even more potent bite. Lin Yu is mischievous to a fault and rarely holds her words back. She and Yu Zhu are closer than sisters.
(Tang yang as Hua Er)
Hua Er (花儿 ) – the Princess's chief handmaiden. A highly trained warrior whose specialty is daggers tipped with poison. She takes her tasks very seriously and though is regarded and treated as a daughter to the emperor, she is in charge of the Princess's education. She is fearlessly loyal and would always put the Princess's needs above her own. She and Xu Long Hui share a special history.
(Sun Li as Xi Yang Yue)
Xi Yang Yue(夕阳月) – The deceased mother of the Crown Prince and Princess Yu Zhu. She died during a coup attempt, while trying to protect her children. She was famed throughout the land for her intelligence and strength of will. Xi Yang Yue is part of the the legendary Xi Yang clan, its people are believed to have been the descendants of a powerful Goddess.
The men – Again, no particular order.
(Hu Ge as Xu Long Hui)
Xu Long Hui (许龙回) – A mysterious character whose identity causes an uproar in Yu Zhu's kingdom. He is cold and ruthless, yet has a strong sense of obligation. Xu Long Hui's past ties closely with his name and while he is slow to anger, he is slower to forgive.
(Zhu Zi Xiao as Huang Wu)
Huang Wu (黄五)– The Royal Prince Crow, fifth son of the Demon Crow King Hei Tian of the Western Skies. Arrogant, abrasive, and extremely sarcastic. He is extremely powerful, however he had trouble making Lin Yu or Yu Zhu recognize his importance in the world. He has been the favorite son for a long time, even landing the title Guardian of the Sacred Grove, where Wei Yun lives.
(Wallace Huo as Wei Yun)
Wei Yun (围云)– A fallen god who was imprisoned to the Demon realms, just after he and his brother helped the gods to defeat the demons after the great war. For the battle against demons Wei Yun was give the Tai Shan sword, forged by the Jade Rabbit. Demons use Wei Yun's name to scare their children, he is said to be feared even by the Gods.
Hong Yan Su (红淹速) – The youngest general and powerful heir of the Hong family. He is universally admired for his leadership and battlefield prowess. Hong Yan Su has time and time again shown to the Emperor that he is the most ideal candidate for Yu Zhu's hand. The entire kingdom believes that they will eventually get married. His father was once the guard of the decesased Queen Xi Yang Xu
(Luo Jin as Tu Suo)
Tu Suo (兔锁) – Lin Yu's adoptive elder brother. He is quick on his feet and extremely ambitious. There are few people he cares for in the world and he can sacrifice everything for his goals. Few people can tell what he is thinking, as he has become very good at hiding his emotions.
The Emperor – Yu Zhu's doting father who was fighting at the borders when the siege of his palace occured at the beginning of the story, resulting in the death of all his children and concubines. The Emperor never married after his Empress died.
Shan Ying lang (山鹰狼) – A fearless fighter who is both intelligent and slightly obnoxious. He grew up in the mountains and have no real manners. When he first meets the Princess, she dislikes him but soon comes to realize that he's actually a very good man. Even though his past is hazy and painful, he's came out a strong and determined man. In terms of looks, he is ruggedly good looking the polar opposite of Hong Yan Su's calm good looks.
Grandfather – A very old demon who has lived since the great war between gods and demons. He once served under the Jade Rabbit, then as Grand General for 10 generations of the Jade Rabbit's Royal descendants. He was a the fall of the kingdom and helped the last royal child escape.
Wei Tian(围天) – Said to be created by Nu Wa with a piece of coal from the highest volcanic mountain and half of Pan Gu's heart. He was made alongside with Wei Yun to destroy all demon-kind who wanted the earth for themselves. Wei Tian, along side Wei Yun lead the gods and some demons against the demon King and brought peace to the realms. He was given Hou Yi's bow
Li Sun (李狲)– A kind hearted doctor who found Xu Long Hui when he was gravely injured. Though he has no idea of Xu Long Hui's past, he worries about his friends future. Li Sun is a gifted physician, even at his young age, though he chooses to use his skills on the power rather than seek the wealth from the rich and powerful.
General Hong – The revered general who guarded the Empress Xi Yang Yue during the siege by two ambitious lords. He was gravely injured during the battle.
Ho Pa Lai (后爬来) – A rich pig demon who has been the nemesis of Yu Zhu and Lin Yu since Yu Zhu met him. He is spoiled rotten because he comes from the biggest merchant family in town and has never been denied anything in his life.
People who I can't talk about yet because they haven't really shown up in the story:
Jade Rabbit (玉兔) – A demon ruler who, after the great fight for the human realms, was granted control of the demon realm by the Emperor of Heaven. Later, the Jade Rabbit then committed a grave sin and was banished to the cold moon to keep Lady Chang'E company.
Mei Yan (美焰)– A mysterious woman from the past. (I can't say much at this time)
Kingdom of Dian – The home of the Princess Yu Zhu. The Dian civilization is an actually civilization during the waring states period, and is located near Yun Nan, a province in South Western China.
Bui Hui Town – A town on the edge of the Demon Forests where Wei Yun lives. Bui Hui is a relatively small town with a few thousand residents. Yu Zhu and Lin Yu live on the edge of town, in a small cottage with Grandfather and Tu Suo.
sanKai says:
ooh, I'm so glad you've added the Chinese characters for their names, now I finally know what the tones are ~
I'm so excited to see YanSu and YingLang again and also how their relationship will change (if it does, since we still don't know if YingLang found out/ will find out about what YanSu is planning) though I don't know whether he cares at all haha.
Sun Li is a beautiful and really lovely Chinese Asian girl. That would be nice to have Sun Li playing the role of Yu Shu instead of another role in Yu Shu (Bamboo Rain).
Liu Shi Shi is 4 years younger in age (outside of this show), simply 4 years younger (not 15 years, obviously not 20 years younger) and is simply 4 years younger in age than the other young Chinese actress, Sun Li.
dramatictealeaves says:
Thanks for the comment! I agree that Sun Li is lovely and talented. Her massive popularity is due to her incredible performances.
The trick with writing is that I see everything and plan everything before I write it. The characters form mannerisms, ticks, and traits that are unique, much like how we are unique individuals. In my minds's eye I've always seen Liu Shi Shi as Yun Zhu, she has this ineffable sadness mixed with iron will. Sun Li's beauty is sharp and deadly, though she could play innocence without effort, her innocence is still different (not better nor worse) than Liu Shi Shi.
As for Sun Li, the reason I casted her as Xi Yang Yue, was because the character was a strong female ruler who took care of the kingdom whilst her man was away at war. No man in her situation would have done what she did, because her action are uniquely hers. Xi Yang Yue was a pivotal role in all of this, since her death is really the catalyst of the story. Well, one of them anyways. Only Sun Li could do a complex character like Xi Yang Yue justice.
I wrote Xi Yang Yue without regard to the whole age difference thing, because it was in a flashback. Because when Xi Yang Yue died, she was only in her late twenties and is closer to Sun Li's actual age. Hope this helps! Thank you for reading!
Note: Being young and lovely (for women) or handsome for men are too different things and that depends on the person. One woman could be 6 years younger in age than another woman and yet, the bigger sister could be more beautiful.
You're right that beauty is relative, and thus by definition subjective. I think comparing the beauty between two women is like asking someone to choose between a chrysanthemum and a rose, it is incomparable. Sometimes you can see how the thought of the transience that accompanies beauty scares the shit out of people. Yet not many can learn to appreciate the beauty of transience, a fault that I have to admit I didn't really think about until a friend brought it up. In sum, I want express and illustrate the aesthetically pleasing aspects of each character I write, but it is not the main focus of my novel.
In terms of the story, I picked actors based on their strength of acting and communication. While they are good looking, I would rather appreciate what they would bring to the role.
Hi I just read your newest chapter on the Rebirth of Jin (?), and I totally forgot if you mentioned it, but who's Jin?
chang'er says:
Hi Julianne, if my recollection and pieces are correct, I think Jin is Fu Xi's son. Read Chapter 51 and 52 again when Nu Wa explains all the complicated history. There is still one more of their kind (half human, half god), but I still haven't figured out who that is or that person still hasn't shown up yet. Is it Nu Wa's daughter? I don't remember Nu Wa was with a human though. But I recall the prophesy said there are 3 deities who will rise up again the emperor of heaven. The prison holding all the half gods are made with the blood of a powerful half-god and Yu Zhu asked if it's Fu Xi's or Nu Wa's daughter so maybe she is a half-god too. I need to re-read everything again since it's been so long and I've been so short on time. Hope this helps.


Acne Scars mostly occur in 95% population caused by bacteria Acne Vulgaris which sometimes become difficult to treat. Several inflamed lesions can leave the permanent scars but with the advancements in the dermatology, it is now possible to treat the acne scars. Several treatment options are available to treat acne scars but the treatment will be proven effective only when you will take care of the post op instructions after acne treatment, suggested by the dermatologist. Post op care instructions after acne treatment will depend upon the type of the treatment according to your skin type. Following are the points which you have to take care of after your acne scar treatment.
After your treatment, there is a recovery phase, in which you can feel a burning sensation on the area of treatment which can lasts from 30 minutes to 72 hours. Start keeping your skin cool after your treatment to reduce the heat & inflammation, generated by the laser.
Do not rub your face harsh and gently wash your face with gentle cleanser.
You can also spray ice cold water on the skin 3-4 times in a day.
Avoid direct contact with sun light and keep your skin moisturized.
Do not apply excess make up to hide the pink coloration of skin after the laser treatment.
Use the ice cold packs and apply gentle pressure on the area of the treatment to reduce the risk of bleeding at the site of needle injection.
You may observe bruising and skin discoloration on the treated site. To camouflage, you can apply concealer on it.
Do not rub with nails on the area as it may lead to infection.
Take proper antibiotics to avoid infection and anti-inflammatory drugs to avoid pain, redness prescribed by doctor.
Always use the SPF before going out or limit the sun exposure.
Prefer liquid diet after 2-3 days of the treatment.
Fillers or dermal fillers for acne scar offer an important non-surgical technique to correct the acne scars with improved skin texture. These fillers are used to treat the deep, rolling acne scars. These fillers work by lifting the skin.
Apply cold ice packs at the area of injection to relieve the swelling and to reduce the risk of bruising.
Avoid more concentrated or harsh products for cleansing.
Avoid taking blood thinning medications.
If you feel or see any lumps in the treated areas once swelling has subsided, gently massage the area carefully with clean fingers.
Do not have facials, facial waxing, Glycolic or AHA peels, Liquid Nitrogen (dry ice) or laser treatments for 10-14 days after injection.
Acne scar treatment with hyaluronic acid.
If you still feel any severe infection and discomfort, rush to the doctor immediately. Your doctor will suggest you the treatment accordingly. However, if you get your treatment done from an experienced doctor, then there are minimal to no chances of the side effects and you have to follow the less post op care instructions. Experienced dermatologists always find the great professional satisfaction in being able to effectively treat the acne scars and also that were previously considered untreatable.


Just last year Babe Ruth, Roger Staubach and Alan Page were awarded Presidential Medals of Freedom. Woods will not be the first golfer to get the award; Arnold Palmer and Jack Nicklaus were honored in consecutive years in the mid 2000s, and Charles Sifford, the first African-American to play on the PGA Tour, was honored in 2014. But it is rare for an active athlete to receive the honor.


Exhibit Hire has one of the largest stool hire ranges in the country available to our clients. Our Stool hire products have many different styles and designs alongside some of the industry's leading names including Bombo, Lem, Gliss and Tolix. Stools are the modern must-have for all Events, Exhibitions and Conferences.
Our most popular Stool hire is the Gliss Stool range. Manufactured by Pedrali of Italy, they are modern, funky and certain to impress your guests. It is available in a wide range of colours which makes it very versatile to fit with the rest of your venue. The Gliss Stool has a chrome pedestal combined with a bucket seat moulded from different colours of polycarbonate which offers a modern but minimalist feel. .
We have added the Tolix Stool to our collection and it is proving to be very popular. A classically designed stool by Xavier Pauchard, the Tolix Stool combines practicality and comfort. With industrial styling and stackable shapes, every Event and Exhibition should have one! The Tolix Stool is made from galvanised sheet metal, so is lightweight, strong and versatile. With their steel grey colour, they are a great addition to any forward-thinking modern feel Exhibition Stand or Event. .
All our stools will give the wow factor to your Event or Exhibition and would team up wonderfully with wonderfully with an Event Bar , high table or any furniture hire product that takes your fancy. Whatever you're looking for, to fit your design, Exhibit Hire are happy to help and take the stress out of coordinating your Exhibition or Event. If we can be of any further assistance or you have any questions about our stools or any other product, please do not hesitate to get in contact with us today!
Have fun browsing our stools!


These days, more and more organizations are turning to web-based task management applications in order to save time working on various aspect of task management, including setting or modifying project dates.
OneDesk's task management system allows you to set start and end dates for individual tasks, issues, or for an entire project.
This short video allows you to see how easy it is to use OneDesk's task management application to set the start and end dates for all tasks and issues in the same project. An added bonus is that the collaborative nature of OneDesk allows the entire team to be on the same page, thus as soon as a project date is set or modified, the everyone who is working on the project will immediately be notified.
Got a question about task management with OneDesk? Leave a comment below, or email us at hello(at)onedesk(dot)com.


Liberty Corporate Finance is pleased to announce the management buy out of Autodata Publishing Group.
Bowmark Capital, the mid-market private equity firm, and Five Arrows Principal Investments, the private equity fund of the Rothschild Group, have acquired Autodata Publishing Group, Europe's leading provider of technical information to the automotive aftermarket, for an enterprise value of £143 million. Autodata publishes technical information on 17,000 vehicle models from 80 manufacturers. Its products provide over 80,000 professional workshops with access to a comprehensive suite of up-to-date technical data and guidance on cars, light commercial vehicles and motorcycles, enabling them to carry out service, repair and diagnostic work. With its strong product range, and the high quality, breadth and accuracy of its data, Autodata has established itself as the leading supplier of essential technical information to the professional automotive aftermarket in Europe. The company is well-positioned for future growth, driven by the continued enhancement of its content and information systems, increased penetration of new territories in both Europe and beyond, and further expansion into diagnostic applications.
Liberty Corporate Finance advised the management team led by Rod Williams, Debra Barr and Mark Trepte, leading negotiations on management equity terms in the latter stages of a competitive auction process.
Rod Williams, Autodata's Chief Executive, commented: "We are delighted to have completed this transaction, and look forward to continuing Autodata's strong record of growth by further expanding our product range and geographic footprint - both organically and by acquisition - with the support and financial backing of Bowmark and Five Arrows. Throughout the process Liberty not only led the negotiations in a highly effective manner on behalf of the management team, but also provided an additional independent perspective on the parties involved, in what was a highly competitive process." Michael McDonagh added: "Autodata has an outstanding reputation in its marketplace. We are delighted to have worked with Rod and his team in agreeing equity terms with their investors at Bowmark and Five Arrows and wish them continued success in the delivery of the clear growth strategy they have for the business."
Liberty Corporate Finance is pleased to announce the completion of the Management Buy-Out of Chaucer Consulting, an international change management consultancy business backed by Growth Capital Partners.


text:
Washington Supreme Court Cites LTA Journal in Landmark Metadata Opinion
October 7, 2010 November 7, 2011 / Washington Journal of Law, Technology & Arts
Gareth S. Lacy
OLYMPIA — In an opinion holding that metadata is an electronic version of a record subject to disclosure under the state Public Records Act (PRA), the Washington Supreme Court today cited Jembaa N. Cole's article, When Invisible Electronic Ink Leaves Red Faces: Tactical, Legal and Ethical Consequences of the Failure to Remove Metadata, published in the Shidler Journal of Law, Commerce + Technology in 2005. The court's landmark decision, O'Neill v. City Of Shoreline, is now the second state supreme court opinion holding metadata subject to state public disclosure law. In 2009, the Arizona Supreme Court ruled similarly in Lake v. City of Phoenix.
Credit: Zina Deretsky, National Science Foundation
The controversy arose after a private citizen sent a "blind carbon copy" e-mail to various local government officials including the deputy mayor and a city council member. Later, Beth O'Neill, a member of the public, requested a copy of that email. So the deputy mayor removed the "To" and "From" information from the email and forwarded the message. O'Neill then filed a written PRA request for "all information relating to the e-mail, including how it was received . . . from whom it was received, and the forwarding chain of the e-mail." The city attorney released a print-out of the e-mail. O'Neill then requested all metadata pertaining to the e-mail chain. O'Neill sued the city under the PRA after the city failed to provide the metadata.
At issue in the case was whether e-mail metadata is a public record that must be disclosed under the PRA. The Washington Supreme Court held metadata is a "public record" subject to the PRA. Quoting from the PRA, the court noted that "public record is defined very broadly, encompassing virtually any record related to the conduct of government":
'Public record' includes any writing containing information relating to the conduct of government or the performance of any governmental or proprietary function prepared, owned, used, or retained by any state or local agency regardless of physical form or characteristics. Former RCW 42.56.010 (2005) (codified as former RCW 47.12.020(41) (2005))
The Court favorably cited the Arizona Supreme Court's holding that "when a public entity maintains a public record in an electronic format, the electronic version of the record, including any embedded metadata, is subject to disclosure under [Arizona's] public records law." The Court found this holding particularly persuasive given that Arizona, unlike Washington, has no statute defining "public record."
On remand, the trial court must give the city an opportunity to inspect the computer's hard drive to consider whether all public records were properly disclosed. If the City refuses to inspect the hard drive, they will have indisputably violated the PRA. Furthermore, if the city inspects the hard drive, but cannot find the metadata, the trial court must determine whether deletion of the metadata violated the PRA: "If it is possible for the City to retrieve this information, the PRA requires that it be found and released to the O'Neills."
This Washington Supreme Court's decision raises issues concerning what will constitute a sufficient search of the hard drive. The court did not address, for example, whether the city must conduct data recovery if the files have, in fact, been deleted from the computer. The Arizona Supreme Court's opinion did not require that computer systems maintain any metadata; it only required disclosure of whatever metadata was present.
Only one other state court has considered the issue of metadata and public records. In Irwin v. Onondaga County Resource Recovery Agency, the Appellate Division of the Supreme Court of New York ruled the trial court erred in denying an order to compel disclosure of metadata associated the disclosure of the metadata associated with unpublished photographs relating to ongoing law enforcement investigations. On appeal, the court amended the judgment to order the production of the metadata. Irwin is useful for describing the three types of metadata: substantive, system, and embedded.
The metadata at issue in Irwin included file names and extensions, sizes, creation dates, and latest modification dates of digitally-stored photographs and was therefore of the "system's" variety (metadata reflecting automatically generated information about the creation or revision of a document). The court found that such metadata "is at its core the electronic equivalent of notes on a file folder indicating when the documents stored therein were created or filed, [and therefore] constitutes a "record" subject to disclosure under FOIL."
Other state courts have not addressed the issue of whether metadata constitutes a public record. (Kara Millonzi at Coates' Canons blog has an excellent analysis of how the law might evolve in North Carolina.) Several useful secondary sources include: Access to Metadata in Public Records, a cover story by Peter S. Kozinets published in the July 2010 issue of Communications Lawyer; David W. Degnan, Accessing Arizona's Government: Open Records Requests for Metadata and Other Electronically Stored Information After Lake v. City of Phoenix, 3 Phoenix L. Rev. 69 (2010); Andrea G. Nadel, What are "records" of agency which must be made available under state freedom of information act, 27 A.L.R. 4th 680 (2010); and Scott W. Cockerham, Lake v. City of Phoenix: Is Metadata a Public Record?, 51 Arizona L. Rev. 517 (2009).
In the civil litigation context, Kentucky Speedway, LLC v. NASCAR, Inc. (E.D. Ky.2006) found a presumption that metadata is not subject to disclosure because of the likelihood of its irrelevance. For example metadata will often only identify the typist and not the document's author or computer from which it was generated. Nevertheless, metadata can be a serious trap for the unwary. Useful advice for businesses seeking to avoid generating metadata is available in Jembaa N. Cole's 2005 article in the Shidler Journal of Law, Commerce + Technology, When Invisible Electronic Ink Leaves Red Faces: Tactical, Legal and Ethical Consequences of the Failure to Remove Metadata. Cole recommends educating employees, minimizing and reducing metadata, using paper copies, and developing clean document templates.
Jembaa N. Cole is an associate in the Seattle office of K&L Gates LLP. Her practice focuses on corporate and intellectual property transactions, including mergers and acquisitions and trademark clearance, prosecution, counseling and enforcement. The Washington Journal of Law, Technology & Arts publishes concise legal analysis for practicing attorneys. The Journal began in 2004 as the Shidler Journal of Law, Commerce +Technology. The Shidler Journal was named after Bellingham native Roger Shidler, a founding member of the law firm Shidler McBroom & Gates. In 1990 the Shidler firm merged with Preston, Thorgrimson, Ellis & Holman, which became Preston Gates & Ellis LLP, and then K&L Gates LLP. Today K&L Gates LLP, has approximately 1,800 lawyers across three continents.
← "Data Scraping" Does Not Violate the Computer Fraud and Abuse Act if the Data is Publicly Available
Washington Journal of Law, Technology & Arts Publishes Autumn Edition →

redpajama_set_name: RedPajamaCommonCrawl


Moving beyond styling, designers delve into beauty. These seven new products, buildings and art works revel in ornate forms and painterly patterns that are also over-the-top fun.
This folksy retreat, by FAT and Turner Prize winner Grayson Perry, is the latest addition to Swiss writer Alain de Botton's ongoing Living Architecture project, which commissions architects to build vacation rental homes across the U.K.


text:
Arnulf II van Boulogne (overleden in 971) was van 965 tot aan zijn dood graaf van Boulogne. Hij behoorde tot het huis Boulogne.

Levensloop
Arnulf II was de zoon van graaf Adalolf van Boulogne en diens onbekend gebleven echtgenote.

Na de dood van zijn vader in 933 werd de erfenis van Arnulf II en zijn broer, op dat moment wellicht nog minderjarigen, ingepalmd door hun oom, graaf Arnulf I van Vlaanderen. In 962 kwamen ze tegen hem in opstand, waarbij Arnulfs broer om het leven kwam. Uiteindelijk kon hij in 965 Boulogne innemen, waarschijnlijk profiterend van de dood van Arnulf I van Vlaanderen en de minderjarigheid van diens opvolger.

Mogelijk was hij ook een broer van Hugo I, graaf van Saint-Pol. Arnulf overleed in 971 en werd bijgezet in de Abdij van Samer.

Nakomelingen
Het is onduidelijk met wie Arnulf II gehuwd was. Uit zijn huwelijk werden zeker twee kinderen geboren:
 Arnulf III (overleden in 990), graaf van Boulogne
 Mathilde, huwde met graaf Ardolf I van Guînes

Mogelijk had Arnulf II nog twee zonen, Eustaas en Arnulf, die ook bijgezet werden in de Abdij van Samer.

Voorouders

Graaf van Boulogne
Huis Boulogne

redpajama_set_name: RedPajamaWikipedia


text:
New details of 'historic' four-day Bank Holiday weekend for Queen announced
New details announced for Queen's 'historic' four-day Bank Holiday celebrations
By Kieran Doody @kierandoody UK Trending Editor
New details announced for Queen's 'historic' four-day Bank Holiday celebrations. (PA)
New details have been released ahead of the Queen's Platinum Jubilee celebrations next year.
Brits will enjoy a four-day Bank Holiday weekend to celebrate Her Majesty's 70-year reign on the throne.
The Queen is the first British Monarch to celebrate the occasion having acceded to the throne on 6th February 1952, when she was 25-years-old.
The nation will come together to mark the occasion of 70 years on the throne and will be given an extra day off work to take part in a "blockbuster" four-day weekend of celebrations.
New details of 'blockbuster' four-day Bank Holiday for Queen's Platinum Jubilee
A spectacular equestrian display showcasing horses from across the globe will be staged, organisers have announced.
A Gallop Through History has been billed as a "personal tribute to our monarchy" and will feature more than 500 horses and over a thousand dancers and musicians taking the audience on a journey from Elizabeth I to the Queen.
The monarch has a life-long love of all things equestrian and is being kept informed by organisers of their plans, and her ponies and horses are expected to feature in the event, with royal fans hoping to see members of the royal family taking part.
Dame Helen Mirren and comic actor Stephen Fry have been involved in publicising the event, which will be staged over four nights in the grounds of Windsor Castle next May, and are in discussions with organisers about taking part in the final show.
Sir Mike Rake, chairman of the Platinum Jubilee's advisory board, said at the launch event, staged at the Royal Mews at Buckingham Palace: "After 70 years on the throne and particularly poignantly after the dark and troubling times in the last 18 months, Her Majesty's leadership, steadiness and unwavering devotion during her reign deserve recognition and celebration."
He added: "In 2022 Her Majesty the Queen will have guided the nation through several decades of change, growth and advancement, like none before them – in times of triumph and also in times of trouble.
"In an age of advancement and adversary, the Queen has remained a constant, committed and courageous presence, therefore we have worthwhile and timely celebration."
Nations from across the Commonwealth and other parts of the globe will be involved in the show – from Oman and India to the Caribbean, Canada, France and Norway.
Oliver Dowden on 'historic' moment in British history
Culture Secretary Oliver Dowden previously said: "Her Majesty's Platinum Jubilee will be a truly historic moment - and one that deserves a celebration to remember.
"We can all look forward to a special, four-day Jubilee weekend, when we will put on a spectacular, once-in-a-generation show that mixes the best of British ceremonial splendour with cutting edge art and technology.
"It will bring the entire nation and the Commonwealth together in a fitting tribute to Her Majesty's reign."


text:
Q: How did $4$-distance in General Relativity become displacement in Newtonian Gravity? In general relativity the christoffel symbols 'pop' out of the metric $g^{\mu \nu} dx_\mu dx_\nu$. When $g^{\mu \nu} dx_\mu dx_\nu$ is integrated it is a measure of distance between the $2$ points. Using this as a starting point we have:
$$ \frac{8 \pi G}{c^4}T^{\mu \nu} = G^{\mu \nu}$$
where $T^{\mu \nu}$ is the stress energy tensor and $G^{\mu \nu}$ is the Einstien tensor. In the weak field limit one can derive Poisson's equation:
$$ \nabla^2 \phi = 4 \pi G \rho $$
However, when Newtonian gravity approximated and integrated from the Poisson equation, we get:
$$ U_g = - G \frac{m_1 m_2}{r}$$
where $r$ is the displacement. More precisely if I look at the action in general relativity:
$$ S_{GR} = \int (g^{\mu \nu} dx_\mu dx_\nu)^{1/2} $$
This is a measure of distance. However the action in Newtonian gravity is:
$$ S_{NG} = \int (\frac{1}{2}m_1 v^2  + G \frac{m_1 m_2}{r}) dt $$
where $r$ is displacement.
I feel I missed something subtle on how distance became displacement. Does anyone mind sharing a proof with this point in mind?

A: The displacement is hidden in the metric.
Notation $(X^0,X^1,X^2,X^3)=(t,x_1,x_2,x_3)$. Newton's equations are given by $$m\ddot{x}^{\alpha}(t)=mf^{\alpha}(x(t)),$$ where $$f^\alpha(x(t))=-\left[\frac{G M}{r(t)^2}\right]_\alpha$$ i.e. $\alpha$ component of the field. Taking Newtonian gravity as a curvature in spacetime, the required equations of motion are
\begin{equation}
\ddot{X}^0=0
\\
\ddot{X}^\alpha-f^{\alpha}(X(t)) \dot{X}^0 \dot{X}^0=0.
\end{equation}
We know that the autoparallel (geodesic) equation in spacetime obtained by minimizing the action $$\int d\lambda \sqrt{g_{i j}(\gamma(\lambda))\dot{\gamma}^i(\lambda) \dot{\gamma}^j(\lambda)},$$ (where $\gamma$ is the curve parameterized by $\lambda$) is given by $\ddot{X}^a+\Gamma^{a}_{b c}\dot{X}^b \dot{X}^c=0.$
Comparing with the above equations of motion gives us Christoffel symbols as
$\Gamma^\alpha_{00}=-f^\alpha$ which is a function of displacement. All other Christoffel symbols are zeros.

redpajama_set_name: RedPajamaStackExchange


text:
Why Small Businesses Are Embracing The Freelance Gig Economy in Current COVID-19 Crisis
Palm Beach, FL –May 21, 2020 – As people limit their ventures out and restaurants are forced to go takeout-only in many cities, food delivery services are seeing an explosion in demand during the pandemic. Instacart, which delivers for grocers including Safeway and Aldi, saw the highest ever customer demand on its platform last weekend, and has the most "shoppers," that they've ever had, according to the platform. The boom in food delivery services is the opposite of what other GIG platforms are experiencing with Covid-19, as Uber driving earnings fall and Congress's pandemic aid package which mostly didn't cover GIG workers, according to an article in Bloomberg Law. Research from LinkedIn and Intuit indicates the gig economy is here to stay. That's good news for most small businesses. There's never been stronger freelance talent to choose from, in so many skill sets and professions, than today. If you own or manage a small business, you'd be hard-pressed to identify a need you couldn't fill with a freelancer. Active companies in the markets this week include ShiftPixy, Inc. (NASDAQ: PIXY), Amazon.com, Inc. (NASDAQ: AMZN), Blue Apron Holdings, Inc. (NYSE: APRN), Starbucks Corporation (NASDAQ: SBUX), Walmart Inc. (NYSE: WMT).
The Freelancers Union's annual report found that up to 55 million people this year – representing 35% of the total US workforce – are in the freelance workforce. The research anticipates a record 43% of the workforce taking part in the gig economy by 2020. LinkedIn's research also supports an increased supply of freelance hours: The LinkedIn article continued: "As small businesses embrace the gig economy, owners and managers can hire freelancers to take on specific scopes of work in specified timeframes. When you assign your contracted worker to a pressing short-term project, it eases the stress and workload of your staff. It also brings more flexibility and agility to your budgeting. When you need to scale up or down, your hiring can reflect that without the traditional overhead that comes with employees."
ShiftPixy, Inc. (NASDAQ: PIXY) BREAKING NEWS: Native Delivery More Vital Than Ever During COVID-19 – ShiftPixy today announced a new initiative as part of its Restaurant Resilience Plan, to help restaurants reclaim their brand and customer relationships via native delivery amid COVID-19. Consumers now have a heightened sensitivity regarding the safety of their food, and higher standards for the personnel delivering it. ShiftPixy's native delivery solution enables restaurants to repurpose their own, food safety trained staff to facilitate deliveries, reclaim their brand and forgo their reliance on third-party platforms.
Today, many restaurants are reliant on third-party delivery partners, but the COVID-19 pandemic has sparked concern for multi-unit franchises and the brands they operate under, leading them to reevaluate who is managing their customer relationships. For operators now relying largely on off-premise orders, it's more vital than ever for vetted employees, trained in social distancing standards and sanitation procedures, to deliver food to the end consumer.
"Through our ongoing conversations with leaders in the fast food industry, we've heard growing concern about who is bringing the consumers their food, and whether they are properly trained to represent the brand, particularly during the COVID-19 pandemic," said ShiftPixy co-founder and CEO, Scott Absher. "Ultimately, it's in the restaurant's best interest, as well as the customer's, for uniformed food safety trained employees of the brand itself to facilitate last-mile delivery."
The coronavirus has affirmed the importance of native delivery, not only for the sake of restaurant operators' profits, but in order for them to deliver a safe and superior customer experience and keep their staff employed during these difficult times. This reality is what inspired ShiftPixy's Restaurant Resilience Plan.
ShiftPixy's turn-key, end-to-end native delivery solution is available now to help restaurant operators repurpose their existing staff for deliveries, as well as establish a white-label online presence, eliminating all necessary reliance on third-party delivery partners. Ultimately, this approach to human capital, customer engagement and delivery will help restaurants retake control of their brand. Read this and more news for ShiftPixy at: https://financialnewsmedia.com/news-pixy/
Other recent developments in the markets this week include:
Amazon.com, Inc. (NASDAQ: AMZN) Amazon Studios recently announced that it was providing $1 million for the catering team at the award-winning Jon & Vinny's restaurant group to prepare meals for local charities feeding those in need during the COVID-19 pandemic, including No Kid Hungry, Off Their Plate, the Los Angeles Mission and the Motion Picture & Television Fund. As part of the initiative, Jon & Vinny's will team with other L.A. restaurants including the Culver City restaurant Hatchet Hall, whose kitchen staffs will also work to prepare and deliver food to be distributed.
"This unprecedented crisis has impacted all of us in immeasurable ways, and it's more important than ever that we all do our part to give back at every level — and particularly to our own community," said Jennifer Salke, Head of Amazon Studios. "At Amazon Studios and Prime Video, we're truly honored to be able to show our support to the community that has always supported us, and to team up with Jon and Vinny's to provide food to those who so desperately need it along with a lifeline to local businesses."
"We're super excited to partner with Amazon Studios and Prime Video in their initiative to help small local businesses," said Jon Shook, Co-Owner of Jon & Vinny's. "Now with this $1 million contribution, they are continuing to help us during this time as well as give us the opportunity to lend a hand to other independent businesses and restaurants in Los Angeles."
Blue Apron Holdings, Inc. (NYSE: APRN) recently announced financial results for the quarter ended March 31, 2020. "As planned, we have started to deliver on the first stage of our growth strategy with sequential quarter-over-quarter growth in both net revenue and customers, along with continued strength in certain other key customer metrics, which we saw even prior to the impact of COVID-19," said Linda Findley Kozlowski, Blue Apron Chief Executive Officer. "As we move into the second quarter of 2020, we are focused on driving customer retention and establishing longer-term consumer habits out of the heightened demand we have been seeing as a result of the impact of COVID-19, including stay-at-home and restaurant restriction orders and other changes. Given this, we expect that this uptick in demand can be maintained beyond the period of direct impact of COVID-19, even as restrictions begin to be lifted.
"Our growth strategy is also helping us to address the more recent changes in our business related to the COVID-19 pandemic. Since late March, we have seen increased demand from existing, returning and new customers in response to the COVID-19 pandemic, and we are proud of our team's quick actions taken across the business to address this increased demand, particularly after the initial spike in demand where we were unable to fully meet the increased order volume. As more customers invite us into their homes, we believe the appreciation they have for the quality meal experience we deliver is helping to grow our connection to them and we look forward to having them continue to cook with us. I am grateful to all our employees for their commitment and efforts in providing consumers access to our high-quality meal kits made from delicious ingredients during these unprecedented times."
Starbucks Corporation (NASDAQ: SBUX) recently reported financial results for its 13-week fiscal second quarter ended March 29, 2020. GAAP results in fiscal 2020 and fiscal 2019 include items which are excluded from non-GAAP results. Please refer to the reconciliation of GAAP measures to non-GAAP measures at the end of this release for more information.
"People around the world are united around a common cause as we navigate the COVID-19 situation globally. We are very grateful for the heroic efforts of medical personnel, first responders, government officials and volunteers who are working tirelessly in the service of others. I am exceptionally proud of the thousands of Starbucks partners around the world who are safely serving customers and playing a positive role in every community we serve," said Kevin Johnson, president and CEO.
Walmart Inc. (NYSE: WMT) recently announced Express Delivery, a new service that delivers more items from the store than ever before to customers' doors in less than two hours. Walmart has accelerated the development of the service in the wake of the Coronavirus pandemic, piloting Express Delivery in 100 stores since mid-April. The service will expand to nearly 1,000 stores in early May and will be available in nearly 2,000 total stores in the following weeks. Express Delivery allows customers to order across more than 160,000 items from Walmart's food, consumables and general merchandise assortment such as groceries, everyday essentials, toys and electronics.
"We know our customers' lives have changed during this pandemic and so has the way they shop," said Janey Whiteside, chief customer officer, Walmart. "We also know when we come out of this, customers will be busier than ever, and sometimes that will call for needing supplies in a hurry. COVID-19 has prompted us to launch Express Delivery even faster so that we're here for our customers today and in the future."
Walmart's Express Delivery joins the retailer's popular pickup and delivery offerings, all three of which are no-contact services for the customer. It relies on the retailer's team of 74,000 personal shoppers who will pick customers' orders. This includes additional personal shoppers hired specifically for Express Delivery. Walmart will utilize its existing lineup of delivery providers to take orders from a store to customers' doors. The service will cost $10 on top of the existing delivery charge. Walmart's Delivery Unlimited customers' will simply pay a $10 fee per Express Delivery. Like Walmart's pickup and delivery services, there is no markup on items – an item is priced the same as it is on the shelf.
DISCLAIMER: FN Media Group LLC (FNM), which owns and operates FinancialNewsMedia.com and MarketNewsUpdates.com, is a third party publisher and news dissemination service provider, which disseminates electronic information through multiple online media channels. FNM is NOT affiliated in any manner with any company mentioned herein. FNM and its affiliated companies are a news dissemination solutions provider and are NOT a registered broker/dealer/analyst/adviser, holds no investment licenses and may NOT sell, offer to sell or offer to buy any security. FNM's market updates, news alerts and corporate profiles are NOT a solicitation or recommendation to buy, sell or hold securities. The material in this release is intended to be strictly informational and is NEVER to be construed or interpreted as research material. All readers are strongly urged to perform research and due diligence on their own and consult a licensed financial professional before considering any level of investing in stocks. All material included herein is republished content and details which were previously disseminated by the companies mentioned in this release. FNM is not liable for any investment decisions by its readers or subscribers. Investors are cautioned that they may lose all or a portion of their investment when investing in stocks. For current services performed FNM has been compensated forty six hundred dollars for news coverage of the press release issued by ShiftPixy, Inc. by the Company. FNM HOLDS NO SHARES OF ANY COMPANY NAMED IN THIS RELEASE.
SOURCE Financialnewsmedia.com


Elegant Used Office Furniture In San Antonio 16 is one of brilliant home design remodeling ideas to get great and perfect home. The Elegant Used Office Furniture In San Antonio 16 is also one of the popular designs for home design categories on December, 2017. Moreover Elegant Used Office Furniture In San Antonio 16 has been created by awesome architecture designer.
For images reference about Elegant Used Office Furniture In San Antonio 16 you can choose one of gallery Elegant Used Office Furniture In San Antonio 16 below, so many image references about Elegant Used Office Furniture In San Antonio 16 that you can choose for best inspirations and great solutions for home design problems, and you can see a better Elegant Used Office Furniture In San Antonio 16change at your home design, your home look more elegant, modern,Elegant Used Office Furniture In San Antonio 16 contemporary, and have different art than other home. So what you waiting for Elegant Used Office Furniture In San Antonio 16, look, choose, and implement the best design ideas for Elegant Used Office Furniture In San Antonio 16 to increase art value to make great home.
And for the last words, it is simple to make your home to be the best home , you just need great design to remodel of your home . And for example you can use Elegant Used Office Furniture In San Antonio 16 for best solutions to make great your home design.


HEAVY DUTY - The TabDock Bizmount Clamp is a heavy duty C-Clamp pedestal mounting solution for Tablets. It is designed to install directly on a table, cart, wheelchair, desk, etc. The Bizmount Clamp allows you to mount your tablet where you need it most.
GREAT FOR BUSINESS OR PERSONAL USE - Works with most smooth surfaces, up to 2.5" wide. The C-Clamp mount can be adjusted to fit your desks, or tables width. The Dual-Ball Adjustable mount is 6" tall and is great for business, homes, or schools.


text:
Q: How to treat given integer as binary values? I have a integer value i.e. 1010110. How to treat this value as binary? So that i can find the integer value of that binary value.

A: You can pass a base parameter (2 in this case) to the int function:
s = "1010110"
i = int(s, 2)
# 86


Charcoal Chicken is a restaurant located in Chantilly, Virginia at 13969 Metrotech Drive. They are open every day of the week.
Charcoal Chicken in Chantilly VA, Pakistani & Indian Cuisine, where you can enjoy our signature Kabobs and Karahi. We use 100% Halal meat. Please remember us for Carry-Out, Dine-In & Catering. We cater for all size events whether it's a wedding, graduation, a corporate party, or just a friendly get-together. Our Pakistani and Indian restaurant offers food that everyone will love, and all of our meat is halal to meet the needs of your guests. We help you stay in your budget while still giving your guests the best authentic Indian and Pakistani cuisine of their life. We cater to Virginia, Maryland, and Washington D.C. If you have any special catering needs, just let us know. A warm welcome awaits you at Charcoal Chicken, the best place for Pakistani and Indian food in Chantilly, Virginia!
China Cafe is a restaurant located in Chantilly, Virginia at 13997 Metrotech Drive. They are open every day of the week. Last Delivery order needs to be placed 15 minutes before close. Get started by choosing your order selection below:.


text:
Based on a true story – or as the movies guardedly have it these days: "inspired by true events" – Winchester hurls Helen Mirren into her first horror movie.
With 129 acting credits to her name on IMDb it's amazing to find Dame Helen hasn't really done horror before, although Excalibur was a bit scary, The Cook The Thief was baroque and Red 2 and Collateral Beauty were total shockers.
Here, she plays Sarah Winchester, a spinster all in black lace, heiress to the Winchester rifle fortune who has now – it's 1906 – hermitted herself away in a big house which is in a continual state of build and repair, all day and night.
Into this eccentric abode is sent a San Francisco psychiatrist Dr Price, played by that walking potato Jason Clarke. Price's experiments with laudanum begin to seem like a very bad idea when he starts seeing ghosts in the mirror, complete with loud jump scare music. He's there to assess Ms Winchester's mental state as the board of the rifle company seek to wrest control.
Sarah Winchester is indeed caught in an alarming limbo, communing with the dead spirits gunned down by her company's legacy, the repeating rifle, the weapon which won the Wild West. Even their corporate diversification into roller skate production isn't without a victim or two.
Ms Winchester's spirit connection goes further – the ghosts are driving her to re-construct the rooms in which they were shot, so she's forever adding to her house, drawing up plans and ripping down extensions until it's an Escher-like maze of stairways and dead ends. This "house that spirits built" is still around and apparently you can visit it, in San Jose… if you know the way, of course.
Mirren does her best to bring some gravitas to the role, although I'm not sure that's what it needed. She may have got the Oscar for The Queen, but she's no scream queen, nor is she giving it the whole Miss Havisham scary spinster camp. A bit more Bette Davies would have been nice.
Mirren's Winchester is still enough to give the opiated Dr Price the runaround, while her nephew Henry is infected with evil spirits and tries to sleepwalk off a roof. Price eventually realises his own connection to the house and why the conservatory is off limits.
There's such a heap of explanatory dialogue involved in trying to set up then solve the logic of this ghostly plot, much of which involves hammering 13 nails into the doors to seal off the rooms – but it is still never clear and we never get to know the real architecture or lay-out of the house, which, if better directors than the Spierig Brothers had been at the helm, should clearly have been a character in the movie, a sort of Homes under the Hammer horror.
Instead we build to a climax of levitating rifles and rocking chairs and expository old newspaper cuttings, before a ludicrous assembly of upset ghosts, including a slave in chains, an angry Red Indian (he's holding a tomahawk in case) and various people who look like they've come out the back of Mr Ben's shop. Mirren's sternest test, I think, is to get through this dialogue without laughing.
What's most interesting about the film is the expression of a strong anti-gun sentiment, the guilt that's eating away at Aunt Sarah. And yet the movies, like America, are built on the gun and while this film wants to ram home its anti-gun message, it still fetishises the weapons and culminates in a volley of bullets from ghostly trigger fingers. Winchester's a misfire, whichever way you wield it.


text: Q: Editable repeating region in sharepoint SharePoint Novice. Just as the image shows, I'm trying to create an editable repeating region in SharePoint and I have idea on how I can achieve that. Any suggestions or ideas on how I can get this done.


text:
Foundation Maps for Media Funding: Introducing a new tool for unlocking the power of media grants data
Media Impact Funders and Foundation Center Announce New Mapping Tool for Media and Philanthropy
New York, NY (June 28, 2016)—Media Impact Funders (MIF) and Foundation Center are pleased to announce the launch of Foundation Maps for Media Funding, a free, interactive mapping and research tool that shows the full scope of philanthropically-funded media projects worldwide since 2009. Developed by Foundation Center and available on the Media Impact Funders' website, this new tool enables users to see, understand, and dig deep into the numbers, networks, and trends surrounding media and philanthropy.
The map was unveiled this morning at MIF's Media Impact Forum, an annual event that brings together leading funders, media makers, and analysts to share insights about the field's most influential projects and trends. Forum participants received a demonstration of the map during a session on how improved data can help the philanthropic community better understand the field. The map includes a wide array of search functions and data visualization features to explore funding trends, funder networks, types of grantmaking, populations served and much more.
"Media is one of the most powerful tools for social change, and philanthropy is using media to address pressing global challenges in remarkable and diverse ways," said Vince Stehle, executive director of Media Impact Funders. "Whether supporting mobile banking platforms to address global poverty, strategic communications to address healthcare disparities, or documentary film on critical environmental issues, media is at the nexus of funders' work, and this new map shows how central media has become to a broad network of philanthropic strategies across all funding areas."
The field of media and philanthropy is growing rapidly, and it now extends beyond activities tracked by previous research. Data show that in 2013, U.S. funders gave over $1.2 billion in media grants — an increase of over $315 million compared to 2009 funding levels. During this five-year period (2009-2013), U.S. funders made $5.5 billion in media grants to over 10,000 organizations.
"The creative combination of media and philanthropy has huge, transformative potential," said Larry McGill, vice president for knowledge services at Foundation Center. "Foundation Maps for Media Funding highlights in a visually compelling way the amplifying power of media used in the service of social change."
This project is a follow up to an earlier data map, updated taxonomy, and report, Growth in Foundation Support for Media in the United States, released in 2013.
Foundation Maps for Media Funding features:
*Grants from 2009 to present, with comprehensive data through 2013
*Greatly expanded data with global reach Improved search options and filters
*Downloadable information and charts
*A "Constellation" tool to visualize relationships between funders, grantees, and grants
The data in the map have been collected in numerous ways — from Foundation Center's databases, which are comprised of grants information received directly from foundations or collected from their IRS Forms 990 and 990-PF; and foundation websites and other public sources. To ensure that information on Foundation Maps for Media Funding is as accurate as possible, funders are encouraged to report their data directly to Foundation Center through its eReporting Program.
Foundation Maps for Media Funding and the outreach surrounding the project were supported by the Bill & Melinda Gates Foundation and the Wyncote Foundation.
About Media Impact Funders
Media Impact Funders (formerly Grantmakers in Film + Electronic Media) was incorporated in 2009 (renamed MIF in 2012) to serve the needs of funders working broadly on social issues. Media projects and makers shape and inform public debate, regardless of the issue — from race and justice to the environment to arts and culture and beyond. As a catalyst connecting funders, media makers and influencers and encouraging their collaboration, MIF supports the ever-growing field of media that matters. Learn more at mediaimpactfunders.org.
About Foundation Center
Established in 1956, Foundation Center is the leading source for insight on philanthropy worldwide. Through data, analysis, and training, it connects people who want to change the world to the resources they need to succeed. Foundation Center maintains the most comprehensive database on U.S. and, increasingly, global grantmakers and their grants — a robust, accessible, and customizable knowledge bank for the sector. It also operates research, education, and training programs designed to advance knowledge of philanthropy at every level. Thousands of people visit Foundation Center's website each day and are served in its five regional library/learning centers and its network of more than 450 funding information centers located in public libraries, community foundations, and educational institutions nationwide and around the world. For more information, please visit foundationcenter.org or call (212) 620-4230.
Click here for a PDF of the accompanying report.


I got a lot out the article. Giving your app the appropriate visibility is essential for it to reach the widest possible audience. Similar to this topic, a content opportunity exists, to expand upon the app localization process. What are the steps that go into, not just translating, but optimizing an app that has been translated in to a target language. I have written about the topic before and would love to collaborate on a piece.


text:
"""Defines the class for representing a recipe definition"""
from __future__ import unicode_literals

from data.interface.exceptions import InvalidInterface
from recipe.definition.connection import DependencyInputConnection, RecipeInputConnection
from recipe.definition.exceptions import InvalidDefinition
from recipe.definition.node import ConditionNodeDefinition, JobNodeDefinition, RecipeNodeDefinition

class RecipeDefinition(object):
    """Represents a recipe definition, which consists of an input interface and a directed acyclic graph of recipe nodes
    """

    def __init__(self, input_interface):
        """Constructor

        :param input_interface: The input interface for the recipe
        :type input_interface: :class:`data.interface.interface.Interface`
        """

        self.input_interface = input_interface
        self.graph = {}  # {Name: Node}
        self._topological_order = None  # Cached topological ordering of the nodes (list of names)

    def add_condition_node(self, name, input_interface, data_filter):
        """Adds a condition node to the recipe graph

        :param name: The node name
        :type name: string
        :param input_interface: The input interface of the condition
        :type input_interface: :class:`data.interface.interface.Interface`
        :param data_filter: The data filter of the condition
        :type data_filter: :class:`data.filter.filter.DataFilter`

        :raises :class:`recipe.definition.exceptions.InvalidDefinition`: If the node is duplicated
        """

        self._add_node(ConditionNodeDefinition(name, input_interface, data_filter))

    def add_dependency(self, parent_name, child_name, acceptance=True):
        """Adds a dependency that one node has upon another node

        :param parent_name: The name of the parent node
        :type parent_name: string
        :param child_name: The name of the child node
        :type child_name: string
        :param acceptance: Whether the child node should run when the parent is accepted or when it is not accepted
        :type acceptance: bool

        :raises :class:`recipe.definition.exceptions.InvalidDefinition`: If either node is unknown
        """

        if child_name not in self.graph:
            raise InvalidDefinition('UNKNOWN_NODE', 'Node \'%s\' is not defined' % child_name)
        if parent_name not in self.graph:
            raise InvalidDefinition('UNKNOWN_NODE', 'Node \'%s\' is not defined' % parent_name)

        child_node = self.graph[child_name]
        parent_node = self.graph[parent_name]
        child_node.add_dependency(parent_node, acceptance)

        self._topological_order = None  # Invalidate cache

    def add_dependency_input_connection(self, node_name, node_input_name, dependency_name, dependency_output_name):
        """Adds a connection from a dependency output to the input of a node

        :param node_name: The name of the node whose input is being connected to
        :type node_name: string
        :param node_input_name: The name of the node's input
        :type node_input_name: string
        :param dependency_name: The name of the dependency node whose output is being connected to the input
        :type dependency_name: string
        :param dependency_output_name: The name of the dependency node's output
        :type dependency_output_name: string

        :raises :class:`recipe.definition.exceptions.InvalidDefinition`: If either node is unknown, the dependency node
            is the wrong type, or the connection is a duplicate
        """

        if dependency_name not in self.graph:
            raise InvalidDefinition('UNKNOWN_NODE', 'Node \'%s\' is not defined' % dependency_name)

        if self.graph[dependency_name].node_type == RecipeNodeDefinition.NODE_TYPE:
            msg = 'Node \'%s\' cannot have a connection to a recipe node' % node_name
            raise InvalidDefinition('CONNECTION_INVALID_NODE', msg)

        connection = DependencyInputConnection(node_input_name, dependency_name, dependency_output_name)
        self._add_connection(node_name, connection)

    def add_job_node(self, name, job_type_name, job_type_version, revision_num):
        """Adds a job node to the recipe graph

        :param name: The node name
        :type name: string
        :param job_type_name: The name of the job type
        :type job_type_name: string
        :param job_type_version: The version of the job type
        :type job_type_version: string
        :param revision_num: The revision number of the job type
        :type revision_num: int

        :raises :class:`recipe.definition.exceptions.InvalidDefinition`: If the node is duplicated
        """

        self._add_node(JobNodeDefinition(name, job_type_name, job_type_version, revision_num))

    def get_input_keys(self):
        """Returns the input keys to this recipe"""

        return self.input_interface.parameters.keys()

    def get_job_type_keys(self):
        """Gets the natural keys of the job types contained in this RecipeDefinition

        :returns: set of JobTypeKey tuples
        :rtype: set[:class:`job.models.JobTypeKey`]
        """

        from job.models import JobTypeKey
        keys = []
        for node_name in self.get_topological_order():
            node = self.graph[node_name]
            if node.node_type == JobNodeDefinition.NODE_TYPE:
                key = JobTypeKey(name=node.job_type_name, version=node.job_type_version)
                keys.append(key)

        return set(keys)

    def get_job_nodes(self, job_type_name, job_type_version):
        """Gets the nodes for the given job type contained in this RecipeDefinition, if any

        :param job_type_name: The name of the job type
        :type job_type_name: string
        :param job_type_version: The version of the job type
        :type job_type_version: string
        :returns: list of JobNodeDefinition objects
        :rtype: list[:class:`recipe.definition.node.JobNodeDefinition`]
        """

        nodes = []
        for node_name in self.get_topological_order():
            node = self.graph[node_name]
            if node.node_type == JobNodeDefinition.NODE_TYPE:
                if node.job_type_name == job_type_name and node.job_type_version == job_type_version:
                    nodes.append(node)

        return nodes

    def update_job_nodes(self, job_type_name, job_type_version, revision_num):
        """Updates the revision of job nodes with the given name and version

        :param job_type_name: The name of the job type
        :type job_type_name: string
        :param job_type_version: The version of the job type
        :type job_type_version: string
        :param revision_num: The new revision number of the job type
        :type revision_num: int
        :returns: True if a node was updated, otherwise false
        :rtype: bool
        """

        found = False
        for node_name in self.get_topological_order():
            node = self.graph[node_name]
            if node.node_type == JobNodeDefinition.NODE_TYPE:
                if node.job_type_name == job_type_name and node.job_type_version == job_type_version:
                    if node.revision_num >= revision_num:
                        continue
                    else:
                        node.revision_num = revision_num
                        found = True

        return found

    def add_recipe_input_connection(self, node_name, node_input_name, recipe_input_name):
        """Adds a connection from a recipe input to the input of a node

        :param node_name: The name of the node whose input is being connected to
        :type node_name: string
        :param node_input_name: The name of the node's input
        :type node_input_name: string
        :param recipe_input_name: The name of the recipe input being connected to the node's input
        :type recipe_input_name: string

        :raises :class:`recipe.definition.exceptions.InvalidDefinition`: If the node or recipe input is unknown or the
            connection is a duplicate
        """

        if recipe_input_name not in self.input_interface.parameters:
            raise InvalidDefinition('UNKNOWN_INPUT', 'Recipe input \'%s\' is not defined' % recipe_input_name)

        connection = RecipeInputConnection(node_input_name, recipe_input_name)
        self._add_connection(node_name, connection)

    def add_recipe_node(self, name, recipe_type_name, revision_num):
        """Adds a recipe node to the recipe graph

        :param name: The node name
        :type name: string
        :param recipe_type_name: The name of the recipe type
        :type recipe_type_name: string
        :param revision_num: The revision number of the recipe type
        :type revision_num: int

        :raises :class:`recipe.definition.exceptions.InvalidDefinition`: If the node is duplicated
        """

        self._add_node(RecipeNodeDefinition(name, recipe_type_name, revision_num))

    def get_recipe_type_names(self):
        """Gets the names of the sub recipe types contained in this RecipeDefinition

        :returns: set of RecipeType names
        :rtype: set[string]
        """

        names = []
        for node_name in self.get_topological_order():
            node = self.graph[node_name]
            if node.node_type == RecipeNodeDefinition.NODE_TYPE:
                names.append(node.recipe_type_name)

        return set(names)

    def get_recipe_nodes(self, recipe_type_name):
        """Gets the nodes for the given recipe type contained in this RecipeDefinition, if any

        :param recipe_type_name: The name of the recipe type
        :type recipe_type_name: string
        :returns: list of RecipeNodeDefinition objects
        :rtype: list[:class:`recipe.definition.node.RecipeNodeDefinition`]
        """

        nodes = []
        for node_name in self.get_topological_order():
            node = self.graph[node_name]
            if node.node_type == RecipeNodeDefinition.NODE_TYPE:
                if node.recipe_type_name == recipe_type_name:
                    nodes.append(node)

        return nodes

    def update_recipe_nodes(self, recipe_type_name, revision_num):
        """Updates the revision of recipe nodes with the given name to the specified revision_num

        :param recipe_type_name: The name of the recipe type
        :type recipe_type_name: string
        :param revision_num: The new revision number of the recipe type
        :type revision_num: int
        :returns: True if a node was updated, otherwise false
        :rtype: bool
        """

        found = False
        for node_name in self.get_topological_order():
            node = self.graph[node_name]
            if node.node_type == RecipeNodeDefinition.NODE_TYPE:
                if node.recipe_type_name == recipe_type_name:
                    if node.revision_num >= revision_num:
                        continue
                    else:
                        node.revision_num = revision_num
                        found = True

        return found

    def generate_node_input_data(self, node_name, recipe_input_data, node_outputs, optional_outputs=None):
        """Generates the input data for the node with the given name

        :param node_name: The name of the node
        :type node_name: string
        :param recipe_input_data: The input data for the recipe
        :type recipe_input_data: :class:`data.data.data.Data`
        :param node_outputs: The RecipeNodeOutput tuples stored in a dict by node name
        :type node_outputs: dict
        :returns: The input data for the node
        :rtype: :class:`data.data.data.Data`

        :raises :class:`data.data.exceptions.InvalidData`: If there is a duplicate data value
        """

        return self.graph[node_name].generate_input_data(recipe_input_data, node_outputs, optional_outputs)

    def get_topological_order(self):
        """Returns the recipe node names in a valid topological ordering (dependency order)

        :returns: The list of nodes names in a topological ordering
        :rtype: :func:`list`

        :raises :class:`recipe.definition.exceptions.InvalidDefinition`: If the definition contains a circular
            dependency
        """

        if self._topological_order is None:
            self._calculate_topological_order()

        return self._topological_order

    # TODO: Delete when legacy job types go away
    def validate_job_interfaces(self):
        """Placeholder so v5 job types can validate with v6 recipe definitions.  V6 definitions are tied to a specific
        job type revision so a v5 edit cannot cause incompatibility. The recipe definition needs to be updated manually
        to use the new revision and connections will be tested then.
        """

        return True

    def validate(self, node_input_interfaces, node_output_interfaces):
        """Validates this recipe definition

        :param node_input_interfaces: The input interface for each job/recipe node stored by node name
        :type node_input_interfaces: dict
        :param node_output_interfaces: The output interface for each job node stored by node name
        :type node_output_interfaces: dict
        :returns: A list of warnings discovered during validation
        :rtype: :func:`list`

        :raises :class:`recipe.definition.exceptions.InvalidDefinition`: If the definition is invalid
        """

        try:
            warnings = self.input_interface.validate()
        except InvalidInterface as ex:
            raise InvalidDefinition('INPUT_INTERFACE', ex.error.description)

        # Processing nodes in topological order will also detect any circular dependencies
        for node_name in self.get_topological_order():
            node = self.graph[node_name]
            # Grab input and output interfaces from condition nodes
            if node.node_type == ConditionNodeDefinition.NODE_TYPE:
                node_input_interfaces[node_name] = node.input_interface
                node_output_interfaces[node_name] = node.output_interface
            warnings.extend(node.validate(self.input_interface, node_input_interfaces, node_output_interfaces))

        return warnings

    def _add_connection(self, node_name, connection):
        """Adds a connection to the input of the node

        :param node_name: The name of the node whose input is being connected to
        :type node_name: string
        :param connection: The connection to the node input
        :type connection: :class:`recipe.definition.connection.InputConnection`

        :raises :class:`recipe.definition.exceptions.InvalidDefinition`: If the node is unknown or the connection is a
            duplicate
        """

        if node_name not in self.graph:
            raise InvalidDefinition('UNKNOWN_NODE', 'Node \'%s\' is not defined' % node_name)

        node = self.graph[node_name]
        node.add_connection(connection)

    def _add_node(self, node):
        """Adds a node to the recipe graph

        :param node: The node
        :type node: :class:`recipe.definition.node.NodeDefinition`

        :raises :class:`recipe.definition.exceptions.InvalidDefinition`: If the node is duplicated
        """

        if node.name in self.graph:
            raise InvalidDefinition('DUPLICATE_NODE', 'Node \'%s\' is already defined' % node.name)

        self.graph[node.name] = node
        self._topological_order = None  # Invalidate cache

    def _calculate_topological_order(self):
        """Calculates a valid topological ordering (dependency order) for the recipe

        :raises :class:`recipe.definition.exceptions.InvalidDefinition`: If the definition contains a circular
            dependency
        """

        results = []
        perm_set = set()
        temp_set = set()
        unmarked_set = set(self.graph.keys())
        while unmarked_set:
            node_name = unmarked_set.pop()
            node = self.graph[node_name]
            results = self._topological_order_visit(node, results, perm_set, temp_set)
            unmarked_set = set(self.graph.keys()) - perm_set

        self._topological_order = results

    def _topological_order_visit(self, node, results, perm_set, temp_set):
        """Recursive depth-first search algorithm for determining a topological ordering of the recipe nodes

        :param node: The current node
        :type node: :class:`recipe.definition.node.NodeDefinition`
        :param results: The list of node names in topological order
        :type results: :func:`list`
        :param perm_set: A permanent set of visited nodes (node names)
        :type perm_set: set
        :param temp_set: A temporary set of visited nodes (node names)
        :type temp_set: set
        :returns: A list of nodes in topological order
        :rtype: :func:`list`

        :raises :class:`recipe.definition.exceptions.InvalidDefinition`: If the definition contains a circular
            dependency
        """

        if node.name in temp_set:
            msg = 'Recipe node \'%s\' has a circular dependency on itself' % node.name
            raise InvalidDefinition('CIRCULAR_DEPENDENCY', msg)

        if node.name not in perm_set:
            temp_set.add(node.name)
            for child_node in node.children.values():
                self._topological_order_visit(child_node, results, perm_set, temp_set)
            perm_set.add(node.name)
            temp_set.remove(node.name)
            results.insert(0, node.name)

        return results

    def has_descendant(self, parent, descendant):
        """Returns if the parent node contains descendant_node as a child/grand child/etc

        """
        return self._has_descendant(self.graph[parent], descendant)

    def _has_descendant(self, parent_node, descendant):
        """Recursive function for checking children

        """
        for child in parent_node.children.values():
            if child.name == descendant:
                return True

            if child.node_type != RecipeNodeDefinition.NODE_TYPE:
                return self._has_descendant(child, descendant)

        return False

    def has_ancestor(self, child, ancestor):
        """Returns if the child node contains ancestor as a parent/grand parent/etc

        """
        return self._has_ancestor(self.graph[child], ancestor)

    def _has_ancestor(self, child_node, ancestor):
        """Recursive function for checking parents

        """

        for parent in child_node.parents.values():
            if parent.name == ancestor:
                return True

            return self._has_ancestor(parent, ancestor)

        return False

redpajama_set_name: RedPajamaGithub


text:
Historical Happenings: San Clemente Celebrates the Iconic Pier's 90th Summer
August 2, 2018 5:20AM
in Opinion Columns, SOAPBOX
Tom Marshall
By Tom Marshall
Though made almost entirely of wood, the San Clemente Pier was again last month the magnet for Independence Day fun. This is not to slight other local Fourth of July events, such as the running of the office chairs. As any city official may tell you, that event doesn't really exist. It must be a classic case of mass hysteria. Psychologists from all over should swoop into town to analyze the two thousand or so people who claim to have seen the office chair races this year. But, I digress.
Returning to our main topic, the San Clemente Pier was built in 1928 by town founder Ole Hanson. The cost was a reported $75,000 and came in on-time and on-budget. That price would be a huge bargain by today's monetary standards, but putting things in perspective, at that time a turkey dinner at a local cafe cost $1 per person. According to columnist Patricia Hobbs Hendry of the now defunct Sun Post News, "Twenty-five men and mules were used in 1928 to construct the Pier," hopefully not interchangeably.
Designed by longtime resident Bill Ayers, Sr., the Pier originally ran farther into the blue Pacific than it does today. Although some non-wooden repairs and upgrades were made earlier this year, it is still a work of wooden art. Concrete has now been added to shore up the pilings. The total cost of this project is budgeted at nearly $1.8 million.
Two huge storms, in 1938 and 1983, took out the far reaches of the Pier, which is why the city decided not to rebuild the most exposed part of it. A picture of waves overtaking the Pier in 1983 is the most sought-after photo for sale in the Historical Society's collection. You can purchase one online at www.sanclementehistoricalsociety.org or at our booth on the first Sunday of each month during the Village Art Faire on Avenida Del Mar (taking place Aug. 5 this month).
Until Dana Point Harbor was built in the 1960s, the Pier was also a commercial hub for San Clemente. A fleet of boats was based there for sport and commercial fishing and touring the area shoreline. The fishing boats spawned another, somewhat unique industry. According to From Fishcarts to Fiestas by Blythe Welton, a young boy named Fred noticed how tired the fishermen were when they returned to port after a day at sea. It was all they could do to haul their catch to shore. In true American spirit, the fishcarts industry was born. Local youth, bless their enterprising little hearts, added wooden sides to their wagons and offered to haul the catches of the day for a negotiable 20 cents a load.
The Pier also served as a drop-off point for bootleggers during prohibition. The "Rummies" would unload their illicit cargo through a trap door in the Pier until police finally caught up with them. As City Councilmember Lori Donchak noted in a recent email, "It was said San Clemente had the best stocked liquor cabinets in Southern California."
Even today, the Pier is the heart of our town's tourist appeal, so it's still a vital component to the local economy. But, even more than that, it is the symbol of the San Clemente lifestyle. A romantic stroll at the ocean without getting your feet wet or sandy is available for locals and tourists alike. So on this, its 90th birthday, we salute the Pier and all those who have made it possible, especially Jim Nielsen and the folks at Pier Pride. They are co-hosting a special sunset cruise, "Secrets of the San Clemente Pier," on Oct. 11. Contact Pier Pride or Council Member Donchak, www.pierpride.org, to reserve a spot.
Tom Marshall is a member of the board of directors of the San Clemente Historical Society and a retired journalist.
Tags: HistoricHistoryOrange CountyPeoplepierTom Marshal
At the Movies: 'Mission: Impossible—Fallout' Maintains Loyal Fans


text:
Huk - podstawka owalna
Material: Artistic blacksmithing, steel
Designer: Stanisław Czarnocki
Craftsman : Kowale Losu
Hook is a set of items showing the blacksmithing craftsmanship. The platter shows the contrast. The smoothness, purity and simplicity of its form meets with irregular, turbulent structure. It is also an idea to emphasize and appreciate the work of blacksmiths, where strong, heavy movements can create a plastic, even sculptural structure. The candlestick is made on the basis of the ancient technique of the so-called grommet (punching), ie. connecting elements without welding. The fragment of the circular rod is flattened into a rectangular mold and then a hole for the candle is made by using a punch. Thanks to this process the material is 'pushed' to the sides, resulting in a thickening around the central part of the candlestick. The pot stand presents the universality of steel which in combination with the remarkable ability of the blacksmith gives unlimited possibilities of modeling and shaping. In the manufacturing process, the square rod is forged into the desired triangular shape which is then folded into an elliptical or circular shape.
© MANUBA copyright Privacy and cookies policy Terms of use Contact store by dem interactive


The Donna Backpack; a simply designed bag suited for any occasion! With its stylish look and practical storage, this bag can carry all sorts of things without any worries making it perfect for work or school! A practical backpack suitable for confident beginner sewers or simply a great project for anyone looking for a large, convenient, and trendy bag.


text:
Fine ArtsVisual ArtsWorld Affairs
Aylan Kurdi and Ai Weiwei
By Conner Gordon
"Life jackets on the beach" by Ann Wuyts is licensed under CC BY-2.0 (via Flickr)
Under ideal circumstances, the dinghy should have only held eight people. The same could have been said of the many boats that preceded it, in search of beaches in Greece. Yet, just as those before them, the rubber dinghy left the shores of Turkey's Bodrum Peninsula in the early hours of the morning. Among the twelve people onboard were three-year-old Aylan Kurdi and his family, refugees from the besieged Syrian town of Kobane.
A few hours later, a group of Pakistani refugees prepared to begin the same perilous journey from the peninsula. It was their departure that originally brought photographers to the scene. Yet, on the same beach that morning, the journey of Aylan Kurdi had tragically come to an end. Earlier in the day, the boat carrying Aylan and his family had capsized, spilling them into the rough waters. Now, the body of the three-year old lay face-down in the sand, being gently buffeted by incoming waves. The bodies of his mother, Rihan, and five-year old brother, Galip lay a few hundred feet away. A photographer at the scene, Nilüfer Demir, snapped a few photos, as a Turkish soldier gingerly reached down and carried Aylan's body away from the surf.
Demir later stated that she had been taking such images for years; the sight of bodies on the beach was nothing new to her. Yet the photo of Aylan, face-down in the sand, prompted a response unlike any photo of the crisis before it. Within a few days, the photo appeared on front pages and Twitter feeds alike around the world, sparking widespread soul-searching on the Mediterranean refugee crisis. The image of Aylan prompted responses from public figures of all kinds, including a personal reaction from British Prime Minister David Cameron. For a brief moment, it seemed that anyone who had seen the photo felt the need to respond in some way or another.
Though the image was tragic, it would not be the last. As photos of life jacket-clad bodies continued to emerge from the shores of Greece and Turkey, many began to question just how such images should be treated. Some questioned whether the world would have responded so viscerally if the photographs were never taken. Other critics argued that politicians like Cameron of insufficiently responded to the problems that the images portrayed. And amidst it all, a new image from a Mediterranean beach appeared. This time, however, it was not the body of a refugee depicted; instead, famous Chinese artist Ai Weiwei lay face-down on the rocks, very much alive.
Though some considered the image a moving tribute, others have criticized Ai for posing similarly to Aylan Kurdi. Writing for Hyperallergic, Nitasha Dhillon argues that the context of the photo invalidates any statement Ai was trying to make. In addition to seemingly failing to engage with any serious discourse about the nature of refugees today, she argues, the work was later printed and exhibited at a prestigious Indian art fair by the photographer. In doing so, Dhillon argues that the photo ultimately reproduces divisions between the art world and discourse on the crisis, leaving it a shell of genuine political activism. Other critics have similarly criticized the work, arguing that the photo is little more than "egotistical victim porn." Of particular controversy is Ai's emulation of the original photo, a choice that has been viewed as a shameless coopting of the emotions surrounding the tragedy.
While criticism of the image is widespread, it does appear that Ai meant well. The artist has already spent time volunteering with the refugee aid efforts in Greece, and recently installed thousands of collected live jackets on the pillars of Berlin's concert hall. It appears, then, that he is committed to shining a light on Europe's response to the crisis, as problematic as his beach image may be.
While Ai's actions in themselves have attracted controversy, the image stirs questions of its own. Foremost among these are questions of how we should respond to photos like that of Aylan Kurdi. For years, similarly shocking images from countries like Syria have flooded front pages, with little visible change in policy to come from it. And while the image of Aylan Kurdi has appeared to galvanize public opinion, it is yet to be seen whether it will help ease the suffering of the refugees that continue to make the treacherous journey.
Such tensions are all too present in Ai's photo. True, it is a flawed response to a human tragedy. Even so, the image's flaws demonstrate the difficulty of responding to such events in an effective manner. In this regard, Ai's photo stands for more just a heavy-handed emulation. Perhaps something in the image reflects our own inability to respond to a tiny body on that chilly Mediterranean beach.
Conner was a Graduate Fellow at the Prindle Institute from 2016-2018. and a 2016 graduate of DePauw University. Conner's writing focuses on memory, politics and culture. He also has interests in literature and photography.
View All Articles By Conner Gordon
Protest & Paint: What's Wrong with Targeting Art?
Should the vandalism of priceless works of art be considered off the table?
The Remarkable Odyssey of a Solid Gold Toilet
The recent theft of a seven-million dollar golden toilet named America is chock-full of symbolism.
Moral and Existential Lessons from "Chernobyl"
The miniseries takes up a number of philosophical themes (e.g., what it means to know, the nature of authority, the virtue of humility), but chief among these is our existential confrontation with the Absurd.
The Ethics of Scientific Advice: Lessons from "Chernobyl"
HBO's miniseries offers a new opportunity to revisit an age-old debate: Should we keep value judgments out of science? Can we?


text:
Office for Recreation, Sport and Racing > ORS news > Adelaide wins bid to host world's best dualathletes
Adelaide wins bid to host world's best dualathletes
Top athletes from around the world will gather in Adelaide for the 2015 International Triathlon Union (ITU) Duathlon World Championships.
Minister for Tourism Gail Gago today anounced that the South Australian Tourism Commission, through Events South Australia and in conjunction with Triathlon Australia, had been successful in its bid to host the event for the first time.
"Hosting this event for the first time is a real win for Adelaide as it is expected to involve more than 1700 athletes and over 2000 accompanying supporters from 35 nations visiting SA," she said.
"We also anticipate the Duathlon World Championships will inject at least $3 million into the local economy."
Duathlon is a challenging athletic event similar to triathlon that involves two running legs separated by a cycling stint.
"Adelaide has a strong international reputation as the home of world-class events and festivals, and we look forward to welcoming the Duathlon World Championships to the city in 2015," Minister Gago said.
"About 75 per cent of this event's athletes and supporters will be from interstate or overseas, presenting an exciting opportunity to promote all South Australia has to offer as a tourism destination."
The ITU Duathlon World Championships attract elite male and female duathletes, who race for more than $100,000 in prize money.
Adelaide would host the event in the spring of 2015 with the proposed course to take in Adelaide city highlights such as the Riverbank precinct, Montefiore Hill and North Adelaide.
Visit the Triathlon Australia website www.triathlon.org.au for more information.


The last batch of Xenos Codexes have dropped by our studio and we've finally gotten a look at how this new class stacks up. There have been some clear winners and losers along the way and we're going to give our initial impressions on this latest codex wave.
We just got our copy of the Drukhari Codex in and while we're still basing a lot of our ideas off of mathhammer, there were some pretty clear trends we saw. Based on that and our game with the other two codexes from this new batch we're going to make some snap judgements on which one will be good, which one will be bad, and which is going to be ugly in this edition.
As this book is hitting shelves this weekend for retailers, it's going to be pretty apparent in the coming weeks that the Necrons are a solid army. While they may not have any psykers of their own, they can bring the pain with C'tan. They got a lot of improvements from the index version and with their Dynastic Codes, relics and other tricks, the Necrons are going to be a force to be reckoned with once again.
The are pretty well rounded and will offer-up a few different play styles. They have always had a great shooting-core to work with and that hasn't changed. They are crazy resilient with good saves and reanimation protocols. Plus their Close-Combat options (while not the best) can still make for a scary counter-charge. The Necrons also have some surprisingly swift units and that can catch your opponents off guard. I personally can't wait to see what the community-at-large comes up with now that they have access to it.
Let me start by saying the T'au aren't really "bad" in 8th. They aren't the scariest, but I wouldn't say they are bottom of the barrel either. No, I think their worse problem is that they are kind of bland. They do one thing well – shoot stuff. And their basic guys only hit on a 4+ without help. Oh and they have cool robots…and that's about it.
They don't have a psychic phase and they don't have psychic defense. In 8th Edition, that's going to be a problem with Smites, buffs, debuffs, and just over-all shenanigans pskyers have. Ignoring that phase is a recipe for disaster. They also don't have a lot of Close-Combat potential either. While that might be less of a problem than a lack of psykers, they can't fight their way out of a wet paper bag either.
If you're not familiar with the Movie, "The Good, The Bad, and the Ugly" then calling the Drukhari the Ugly might not make a lot of sense. They don't look "Ugly" so what gives? Well, it's complicated. There are a lot of connotations with that word and it can mean a lot of different things, so let me just clarify what I mean by calling the Drukhari the Ugly – They are going to cause problems.
First and foremost, these two abilities are going to cause Matched Play headaches. And not just for Tournaments, but for regular players, too. When Drukhari players show up to build their lists, it's going to be a challenge between juggling detachments, CP, and units. Our resident Dark Eldar player said it best in that Drukhari have a "Sub-faction" problem.
If you want to get all the cool things, you're going to have to take lots of different sub-factions. "I want to run a Wych-Themed army" – cool! However, if you'd like some anti-armor like Ravagers for instance, you're going to have to run an Archon-based Detachment, too. Fortunately, Kabal Warriors are pretty cheap this edition so it won't be that big of a deal. At the same time, have fun keeping all those new rules straight.
On the flip side, the theme of the index-to-codex transition is that things got better and things got cheaper. So you're going to end up with more models on the table for the same point cost you used to have. In fact, we had a worrying thought that Drukhari could become a bit of a horde army. All those poison weapons on transports flying around – it's going to be a problem to deal with. Then again, they still have paper for armor…so may it won't be THAT tough.
At the end of the day I think the Drukhari are going to still be "Glass-Cannons" and while they will be able to put out a ton of damage, I'm not sure how they are going to handle being on the receiving end of the impending Alpha-strike. We'll be featuring them all next week on our Twitch Channel so I guess we'll all find out!
The T'au book has been out for a few weeks, the Necron book just dropped, and the Drukhari aren't out yet – but based on what you know how do you think these books stack-up between themselves?