text:
The Last Undammed River
By Tom FawthropJuly 25, 2016December 21st, 2022One Comment
Saving the Salween: Southeast Asia's last major undammed river
The free-flowing Salween is the last big undammed river in Southeast Asia, home to a flurry of endangered species including tigers and clouded leopards, writes Tom Fawthrop in Hpa-an, Karen State, Myanmar. And thanks to support from both the indigenous Karen people, and senior officials in China who see the huge ecotourism potential of the river and its dramatic gorge, it could just stay that way.
China has covered almost all of its rivers with dams. But the Nu River (upper Salween) is the grand exception, where aggressive hydropower companies were forced into a rare retreat.
In a world of galloping hydro-power rapidly engulfing the developing world and new dams popping up in the Amazon, the Congo and along the Mekong, it is hard to find any important river left in the world, that has escaped unscathed and undammed.
The free-flowing Salween is the last important undammed river in East Asia, where endangered species including tigers and clouded leopards can still be found in remote parts of Myanmar's ethnic Karen State.
From the snow-capped mountains of Tibet, the Salween rushes through steep gorges in Yunnan Province and flows through four of Myanmar's ethnic states before emptying into the Andaman Sea.
Thirteen years ago strong protests led by Dr Yu Xiaogang's Green Watershed – a Chinese NGO – and a geological study of seismic danger in this earthquake-prone zone, persuaded the former Chinese premier Wen Jiabao to suspend all dam projects.
Karen campaigners: Salween 'is our life, our culture, and our history'
Anti-dam ethnic groups have been waging a similar campaign downstream in Myanmar, buoyed by the 2015 landslide election victory of the NLD (National League for Democracy) led by the peace laureate Aung San Suu Kyi, that turned the tide on more than 50 years of military rule.
One of the newly-elected NLD MPs, ethnic Karen Susanna Hla Hla Soe, explained to The Ecologist why the Salween is so important to her people:
"It is true that people living in the city, the business people think of the Salween as a river that can be dammed, and that dams are a source of money. But for our Karen people, the Salween is always in our hearts. We adore it and value it. It cannot be defined in terms of money. It is our life, our culture, and our history."
Each year on 14th March The Karen and Shan mark International Rivers Day a global event to express support for free-flowing rivers, and their opposition to dams (see photos, above right).
The ethnic peoples of the Salween are determined to resist all attempts to go ahead with the six dams approved by previous Thein Sein government in 2013 on the grounds that such megaprojects will inundate villages, temples and ancestral lands. They will also destroy livelihoods and decimate fisheries.
Myanmar also shares much of the earthquake risks that prompted dam suspension in Yunnan. Hla Hla Aung a senior researcher at the Myanmar Earthquake Committee affirmed: "If they build dams along the Salween river it means they are going to build dams in the most earthquake -prone region in Myanmar."
In Shan state Three Gorges leads a Chinese consortium for build a 7000 mw mega-dam -The Mongton Dam -that if it goes ahead, would be the biggest dam in the region. Further downstream in Karen State Chinese dam conglomerate Sinohydro and Egat (Thailand Electricity), are partners in another huge project -the Hatgyi dam.
These agreements made with Chinese hydropower companies and Egat (Thailand's Electricity Commission) without any parliamentary debate or public consultation, lack credibility and could readily be challenged by the new government.
A Salween Peace Park – an antidote to dams and conflict
All the dam-sites are located in contested areas and conflict zones. Myanmar has been plagued by decades of civil war since the military first grabbed power in the 1962, coup. Ethnic rebel armies have been defending their ancestral lands and rights to autonomy ever since from attempts by the military junta to brutally suppress them.
In 2012 political and economic changes led to peace talks with ethnic parties and several fragile cease-fire agreements.
In an attempt to move the peace process forward with the newly-elected government, 300 local Karen leaders including representatives from three townships, in May 2016 decided to develop a 'Salween Peace Park' based around their protected wildlife sanctuary.
This remote area is protected by the 'rebel forces' KNU Karen National Union and their armed wing the KNLA (The Karen National Liberation Army) they have fought one of Asia's longest-running civil war in defence of their ancestral lands.
Paul Sein Twa, the chairman of Kesan (Karen Environmental and Social Action Network) explained: "Our Karen people as well as other ethnic groups actively protect our river and indigenous people's rights to use and manage the Salween River democratically. We try to protect this river from being degraded, and dammed."
However ceasefires with Shan and Karen armed forces have been undermined by Burmese army offensives sometimes linked to the deployment of troops to secure dam sites.
Stopping the dams and the promotion of a peace is seen as closely connected and interdependent. In our interview with KNU vice-president it is clear that as megaprojects are seen as triggers of conflict.
Zipporah Sein, Vice-President of the KNU organization (the Karen National Union), (see photo) told this correspondent: "If they use force to build a dam in our territory, it will create conflict and it will surely disrupt the current peace building process. KNU has a policy that until we reach the political settlement, mega projects like the Hatgyi dam, and all other mega projects will not be permitted."
So a strong message is being sent from the proud Karen people to Naypidaw the capital of Myanmar, to suspend all dams and focus on environmental conservation as the best avenue for securing a peace agreement and a political settlement to end the conflict.
A big win for conservation is possible
Could a 'Salween Peace Park' be an antidote to dams and conflict? The Karen claim the Peace Park / wildlife sanctuary can succeed, in the words of Saw Blaw Htoo, a biodiversity chief for Kesan, "if our way of life and environmental knowledge is recognised and supported." Blaw Htoo is proud of leopards and tigers captured on his camera-traps (see photo).
"In Thailand, if a ranger wants to stop poachers, who will help them?", he asks. "Here if our rangers are outnumbered by armed poachers, we can have two dozen Karen soldiers there in time to help. Our Karen soldiers believe that wildlife protection is part of their job."
But while some high-ranking Burmese officials may query the qualifications and expertise of an ethnic group running an unofficial wildlife park, international conservationists are impressed with what the Karen people have already achieved.
Dr Christy Williams, the WWF country manager for Myanmar, certainly sees the potential for success: "We very much welcome the efforts of the Karen Forest Department under KNU, to protect the wildlife in areas under their control. It is certainly a positive sign. Species such as tigers are extremely dependent on protection."
Environmentalists hope the Salween Peace Park will become part of the peace process."It would be a big win for conservation if wildlife conservation protection is part of the larger peace agreement between the Government of Myanmar and the Karen", says WWF's Dr Mitchell.
Which Chinese voices will the new Myanmar listen to?
The Chinese suspension of dams on the Salween in 2004 is still in effect in 2016, despite efforts by dam companies to revive their projects. Yunnan Provincial officials have indicated they have adopted a No Dam policy, and a focus on "ecological civilization" that has been mentioned by Chinese President Xi Jinping as a new development goal.
National Geographic magazine noted that Yunnan Provincial Secretary Li Jiheng and other officials expressed support for a national park to stimulate this region's tourism which already attracts many visitors to the 'Three Parallel Rivers' World Heritage site.
And the main attraction is the Nu River gorge – dubbed 'the Grand Canyon of the East' – which cuts a sinuous course along the Gaoligong Mountains, snowcapped peaks that separate China from Myanmar. "The Nu River will become a world-level tourism destination in five to ten years", Li said on China National Radio, according to state media. "It will succeed, even surpass the Grand Canyon in the United States!"
China has already decided the risks were too high to go ahead with the dams on the Nu River. All this puts pressure on the new Myanmar government to reciprocate and support this apparent policy shift from China.
Paul Sein Twa concluded "If China does not build dams, Burma also should not build any. They should work together. This river should flow freely starting from the river's source to its mouth"
If Myanmar follows suit, then the dream of trans-boundary Chinese-Myanmar cooperation could become a win-win reality, which would keep the river undammed and at the same time promote eco-tourism, wildlife conservation and a nationwide peace settlement.
Which Chinese voice will Myanmar listen to? Will the leaders of the new democratic government be swayed by the financial lobbying of Chinese dam-builders in Myanmar Sinohydro and Three Gorges corporations, eager to profit from Myanmar's water resources and little concerned about environmental impacts?
Or will Myanmar's rulers listen to the voice of Chinese authorities in Yunnan who are now putting protection of their wonderful ecology along their Salween before the narrow commercial interests of hydropower companies?
Tom Fawthrop has previously reported on dams, ecology, human rights, rebellions and military coups in the South East Asia for Al Jazeera TV, The Economist, the Guardian and The Ecologist. He is also a documentary filmmaker and has directed two films about dams on the Mekong and the Salween (Eureka films).
Why Thailand should step in to halt the Luang Prabang dam project July 15, 2021
Previous PostMekong in crisis: Thailand plans to blast isles in the river to make way for Chinese cargo boats
Next PostFish-friendly? A dam takes shape, but fierce opposition continues


"Si5ri w i: a i. t ii.
-J1 0 - - - -.
Summer most gone. How sad !
ttf "pI'Ioii Saturday to see the circus.
I can caU for the ovstcr and be hamn.
mem ineion lurnisncu uy -ir.
this town. We need just such enterprises.
la:hed to a cart, with two darkks there- !
i'Q were two frightened darkies.
cl' he and Sabbath schools.
per box. All Druggists have" them.
crs to the advertisement of W. W.
from thi:i section. They are prompt.
with w.miii; ui lot has recently been cast.
fort ft: 1 liveniencc of his passengers.
aim luunu our young irienu my. r. l.
( ,,ri. :lw.w. ,, lllIt. t. ., ..
structions to deliver on sisrht.
j ornament to the town.
visiting tho M isses Whiiakcr of that town.
that to ur Kn field correspondent.
Littleton, August i 1, 1S.S2.
j wator mixed in exact proportions.
he is a very good citizen.
hear of many large fields.
Your correspondent is stopping at Col.
I keep one waiter boy attending to me.
tion, have visited Panacea ibis season.
the above is in order.
capable of handling it !
"To it.; covert glides the silent bird.
are on the road now. The "spooks"
seem to have been wiped out.
do not, sing m this monthi Strange.
sional letter from Crowell's he would do so.
raot difiiridt to produce in this section.
year; s follows: rrcsmcm, uoo. v.
tary, Wm. Burnett, treasurer, W. II.
! A large congregation was in attendance.
and has a cry neat appearance.
bright and brilliant, but also a mass-ivr-.
2 2m Scotland Neck, N C.
between James Gotten and S. P.
all debts due the old linn.
the estate of A . A Ibcrt W hite, dee'd.
' ... -1 .. I, rivecr-iit till' KJllllO.
... 1 .. C Otl. ilov nl"
which he is offering very low for cash.
sold r.Y Ai.b invt -( joists.
ADM ! N I ST It AT ( )R'S NOT1 CE.
in both respects than ever before.
where, or we will quit the market.


It's a DARPA technology challenge. The Pentagon's Advanced Research Projects Agency is challenging teams to build tech systems that rapidly chart urban infrastructure like subway systems, also caves and tunnels. It's called the Subterranean Challenge. DARPA wants tech to navigate underground areas while humans stay on the surface. They want the systems to rapidly map and search often dangerous underground areas.
This tech is primarily to be developed for the military and first responders in subterranean conditions. Often they face a time sensitive situation, difficult technical challenges, dynamic terrain, bad communications and an expansive area of operation. These systems could also be used for infrastructure inspection, mining, construction and archeology.
This is a 3 year challenge for technology development. There's $4 million in prize money. The winning will be based on the tech's speed, mapping accuracy, maneuverability and object identification. Competition is open right now. Several organizations have joined as contenders including iRobot Defense Holdings, Michigan Technological University and Scientific Systems Co.


I'm a complete believer now!
For me… To float is to heal. To float is to relax. To float is to refresh and re-set your senses. You get in. You float. You zone out. It's splendid isolation!
The very place I can turn off the to-do lists roaming around in my brain is now readily available right herein our fine city. When my float is complete my to-do lists are magically organized, refined and no longer scattered. I also feel peaceful, rested and calm. It's just amazing.
I wasn't skeptical when starting this design project but simply had no experience with this incredible method for deep meditation and relaxation. In fact I had never meditated before at all.
Working with Stacey and Jay Ziebarth owners of Studio Zee Pilates has been such a blessing. A blessing shared by hundreds of individuals I met at the launch party for Zee Float this past spring.
This dynamic couple have developed an amazing community of people this past few years operating Studio Zee Pilates. These people depend on the Pilates, meditation, and other wellness approaches and services Stacey and Jay provide. These approaches and services help individuals thrive and reach potentials often not fully realized prior to their work with Stacey and Jay.
Now these folks can leave a Pilates class or private session and come to the lower level to access a float tank. They can then relax in "The Chill Lounge" at the Oxygen Bar. Or they can go into the meditation centre and just experience the light and silence….the peace.
The entire space soothes. The white pallet encouraged an art gallery approach for final layering. These clean bright walls now showcase the talent of local artists.
I spoke with a couple (both avid floaters) that float every Friday night after work to let the stress of the week drift away. They sleep soundly and the calmness achieved in the tanks stays with them all weekend. They don't experience that Sunday night work stressing at all.
Give it a try! You'll become a believer. Let your worries float away.


YOU can make a difference and help carry on our Founder's legacy!
Univera carries on our Founder's legacy by bringing the best of nature to the youngest of humankind.
This purpose is woven into our company's philosophy of sharing our resources and knowledge to make the world a better place for others. With years of research dedicated to capturing and delivering the healing power of plants, Univera is uniquely positioned to deliver much needed nourishment to the growing bodies of young impoverished children.
A public charity dedicated to addressing the nutritional needs of at-risk children worldwide.
We work with various strategic partners to ensure that the generous monetary donations made by Univera Associates, Customers, Corporate staff and the public at large go directly to those most in need.
For every dollar donated to Serve First, Univera matches the amount (up to $64,000 annually) or will provide financial contributions to agencies serving areas in greatest need of vital nutrition.
One of the most basic ways to begin improving quality of life is by improving quality of nutrition and nourishment.
Your generosity is never taken for granted as it sets the example for us in this collective endeavor to eradicate hunger.
We seek to set an example for strengthening the spirit of integrity, respect, and service in every community — wherever children are in need.
The first step to making a difference is believing that you can.
Sign In and Give Now!
…in order to send 400 tons of rice to feed those in North Korea suffering from severe famine.
Univera takes its charitable example from Bill Lee, owner of the ECONET family of companies, which includes Univera. One of the first humanitarian projects he approached through the business was to cultivate a rice plantation in the Maritime Province of Russia in order to send 400 tons of rice to feed those in North Korea suffering from severe famine.
…serving those who live on the margins—the underprivileged and often forgotten members of our communities.
We are dedicated to channeling the talents we've honed in the business world toward increasing nutrition and improving the quality of life for the most vulnerable in America and around the world. We are guided by the ideals rooted in the same humanitarian concerns that Bill Lee has always been attentive to: serving those who live on the margins – the underprivileged and often forgotten members of our communities. His dedication, leadership and optimism are what Univera hopes to provide our less fortunate neighbors.
We strive to demonstrate that healthful living begins at a young age. Good health begins with good nutrition, and Univera will be there to bring the best of nature to humankind.


I am still learning all about the rules of blogging. When I join blog parties I try to go see many of the other links and comment on them too. It's called a party for a reason. I try to reply to comments that people send. It's courteous, right? I also know that if you have someone feature you, many of them have a button for you to post on your blog. But, is that part of the rules too?
So if you have featured me in the past and I haven't posted your button or link, please don't be offended. I just didn't know I was supposed to.
I know you're all computer savvy, but how DO you make a button anyways?


What a wonderful story! I would say the timing of getting Flash was a perfect fit. I do wonder if he's going to return to his original owners? I have two Aussies and they sleep behind my chair while I write. One lets me know when he's bored and we'll go for a walk.
Pets are the best! Thanks for a heartwarming post.
Great post on the importance of dogs and pets! Love the pictures. My dogs are companions and muses. The Jacks are full of energy, and everything's a game.
I know you are supposed to give it some time to heal but I am going to start looking for my new dog tomorrow. I promise my next post will be about the sheep.
Previous Previous post: Snow Books, Snow Dogs and Recharging the Batteries!
Next Next post: Welcome, R. L. Seago!


text:
The Legendary Fisherman
Posted on May 8, 2019 May 8, 2019 by Summer Bird
Ray was a legendary fisherman. He caught fish in lakes that everyone said were impossible to fish in. He caught fish even when the fish saw him coming. He could catch trout from puddles in potholes. Ray's skill as a fisherman was rather unbelievable.
The fish learned to recognize him by the shape of his shadow. They darted away as soon as they knew he was there, but they knew that by then it was too late. If he had decided they were going to be caught, then they would be caught, no matter where they tried to hide.
None of the fish felt the least bit safe. They sent messages from school to school in all the rivers and lakes in the area, trying to come up with a plan. The oldest and wisest and biggest fish discussed the problem for months. Finally they had an idea.
One day, Ray picked a rushing, roaring river to fish in. He settled on the bank and baited his hook. He cast the hook into the river and almost instantly felt a tugging on the line. He reeled in his catch.
There was a golden crown hooked at the end of the line. Ray scoffed and threw it back. "You're not getting rid of me that easily," he told the fish. He baited the hook and cast it back into the river.
The fish did not give up. There had to be a way to make their rivers and lakes and potholes safe. For their next plan, they watched for falling stars to wish on and combined all their birthday wishes. Together, they wished for a way to defeat Ray. The answer was not what they expected.
The next time Ray went fishing, he felt a tug on his line and reeled it in. This time, there was a brass oil lamp at the end of the line. "A magic lamp?" Ray said.
He rubbed the lamp. A genie appeared. "What do you wish?" the genie asked.
Ray laughed. "I don't need your wishes. I am Ray, the legendary fisherman. Get out of my way. I have fish to catch." The genie disappeared and Ray tossed the lamp back. "That won't work either," Ray said.
Unfortunately, the fish couldn't use the lamp to wish Ray away. They'd already tried that. Wishes just didn't work on legendary fishermen. So what had they done wrong? The lamp was supposed to be the answer to a million fish wishes. The eldest fishes conferred again, trying to come up with some way to send Ray away.
They spied on all the other, lesser fishermen to get an idea of what fishermen wanted. They sent fishes that were too small to catch to spy on Ray at a distance to figure out his motivations. Finally, they rubbed the lamp and made a new wish.
Not long afterwards, Ray went fishing again. He baited his hook and cast it into a lake. Ripples arched away from the line in rings. After a moment, there was a hard tug on the line. Ray had to fight to reel it in. After two hours, Ray still hadn't reeled in his catch. This was very unusual for Ray, the legendary fisherman.
Ray was delighted with the challenge. Instead of giving up, he became even more determined to see what prize he'd managed to catch. Surely, after all this effort, it would be something completely amazing. Ray was willing to be as patient as needed.
Finally the line stopped leaping and yanking and Ray was able to reel the hook back in. It was stuck to the railing of a brand new houseboat. It was the latest model that all the fishermen wanted, and the time under water had done it no harm.
Ray did not toss it back and keep fishing. He looked at the houseboat from all angles, and then finally, he climbed aboard. It was in wonderful shape. It was the sort of houseboat that even legendary fishermen would want to live on, so that they could fish whenever they wanted in comfort and style.
There was an envelope in a plastic bag tied to the steering wheel. Ray opened it. A key fell out. He unfolded the papers. There was a deed to the boat and a scrap of paper that said, "Go fish somewhere else."
"Fine," Ray said. He drove the boat away from the river and didn't come back. The fish he left behind were finally safe.
However, now Ray could fish in new areas. New fish learned to fear his shadow. With a few modifications to his new boat and an improbable diving suit, soon even the fishes at the bottom of the sea were darting behind rocks and holding their breath whenever Ray passed by. The legend of Ray the fisherman continued.
Copyright secured by Digiprove © 2019Some Rights Reserved
License Type: Non-commercial, Attribution, no Derivative work
License Abstract: You may copy this content, and re-publish it in unmodified form for non-commercial purposes, provided you include an overt attribution to the author(s). You are not permitted to create derivative works.
License URL: https://creativecommons.org/licenses/by-nc-nd/3.0/
Creatures of Fantasy, Sentient Animals, Supernatural Powers
Fisherman, Genieofthelamp, Houseboat, ifwisheswerefishes, Legendary, wishes
Sheltered from the Ward
Wooden Humor
Grandpa Discusses the Weather 2 years ago
Neil sighed as he looked out the window. "It's still raining." Lynn shrugged. "It doesn't matter. Even if it stopped now, we still won't go to the pumpkin patch. It'll be all muddy." Jim joined them on the couch. "We could wear our boots. I think we could talk mom

redpajama_set_name: RedPajamaCommonCrawl


As Dr Philip WONG was unable to chair the meeting, Mr NG Leung-sing, Deputy Chairman of the Subcommittee, took the chair in the absence of Dr WONG.
2.	In reply to Dr Raymond HO's query about a recent sample survey on private slopes, the Director of Civil Engineering (DCE) advised that the survey was conducted by the Civil Engineering Department (CED). According to the survey results, only 40% of the private slopes in the sample were considered to have been maintained satisfactorily. For the remaining 60% private slopes not properly maintained, it was found that a significant majority of the property owners concerned were satisfied with the safety conditions of these slopes. He pointed out that the survey results indicated the need to strengthen public education and publicity on slope safety, which was a major responsibility of the Chief Geotechnical Engineer/Slope Safety post under the present proposal. He also advised that the Administration was considering whether legislation should be enacted to make slope maintenance a statutory responsibility. In this connection, the Deputy Director (Geotechnical)/CED informed members that the Lands Department was conducting a comprehensive study to identify the maintenance responsibility for all the existing 54 000 man-made slopes registered in the Slope Catalogue. Upon completion of the study, the maintenance responsibility in respect of individual slopes would be publicized.
3.	Dr Raymond HO sought elaboration on the statement in the discussion paper that "on completion of the expanded Landslip Preventive Measures (LPM) Programme in early 2010, the overall landslide risk to the community will be further reduced to 25% of that existed in 1977". DCE referred to Enclosure 5 of the paper and advised that of the 54 000 man-made slopes registered in the recently completed New Catalogue of Slopes, about 37 000 slopes were built before the establishment of the Geotechnical Engineering Office in 1977, and some of these slope might be substandard and required LPM action. Of these 37 000 slopes, some 16 000 slopes affecting buildings, schools, major roads and squatters etc. were categorized as high-consequence slopes, which would have been dealt with under the 5-year accelerated LPM Programme by 2000 and the 10-year expanded LPM Programme by 2010. As a result, the overall landslide risks would be reduced to 25% of that existed in 1977. He further advised that the landslide risk of individual slopes was assessed on the basis of two key aspects, namely, the probability of landslip and the extent of consequences on human lives and properties in the event of failure. Priority would be given to those slopes with relatively high landslide risk in the implementation of the LPM Programmes.
4.	Mrs Selina CHOW expressed concern about traffic disruption caused by the LPM works carried out at roadside slopes. She observed that roadside slope works usually progressed very slowly and thus enquired about the feasibility of expediting such works and the monitoring mechanism. In response, DCE confirmed that in co-ordination with other relevant Government departments, CED programmed and monitored roadside LPM works with particular regard to the need to minimize disruption to road traffic. He advised that with the increased use of soil nails and grouting to replace the traditional method of slope cutting over the past few years, the speed of roadside LPM works had improved and thus traffic disruption had been reduced. He however pointed out that there were limitations to further expedite these works due to the need to carry out these works section-by-section in order not to cause undue disruption to road traffic, the limited capacity of the contractors concerned, inclement weather and unexpected geotechnical conditions etc.
5.	Addressing Mrs CHOW's concern about the traffic safety problems during the implementation of the LPM works, DCE advised that the Transport Department worked closely with the Police in devising the necessary traffic diversion measures. Acknowledging that non-compliance with the temporary traffic lights erected at affected road sections was fairly common during night time, DCE undertook to liaise with the Police to strengthen law enforcement. He also took note of Mrs CHOW's suggestion of displaying a telephone number in the vicinity to facilitate instant reporting of such non-compliance. In reply to Dr HO's enquiry about the provision of landscape treatment on roadside slopes, DCE advised that it was difficult to provide landscape gardening on cement-sprayed slopes. Nevertheless, CED had experimented other forms of slope surface finish to improve the outlook of these slopes.
6.	The item was voted on and endorsed.
7.	Mr TSANG Yok-sing enquired about the preparatory work required for the introduction of the Land Titles Bill (LTB) having regard to the work undertaken when the LTB was first introduced to the former Legislative Council (LegCo) in 1994. In reply, the Land Registrar (LR) advised that the current draft LTB contained some revisions to the LTB 1994, examination of which was curtailed upon dissolution of the former LegCo in 1995. While the drafting of the Bill was undertaken by the law draftsman, the Deputy Principal Solicitor (DPS) in question was responsible for consulting the stakeholders in relation to the Bill and the drafting of the related subsidiary legislation. To facilitate implementation of the new title registration system, the DPS was also required to draft new procedures and forms for the new title registration system and to consult relevant professional bodies on these procedures.
8.	On the timetable for the legislative proposal, LR advised that under the current plan, the LTB was scheduled for introduction to LegCo in 2000, enactment in late 2001 and commencement of operation by late 2002.
9.	Mrs Selina CHOW concurred that LR required the support of the DPS to take forward the legislative proposal. She however pointed out that as the draft LTB had already aroused considerable controversy amongst stakeholders concerned, the Administration should undertake thorough consultations before introducing the Bill to LegCo. In response, LR advised that the Administration was reviewing the draft LTB in the light of the comments received during the first round of consultations conducted earlier this year. The Administration would conduct a fresh round of consultations with the key stakeholders, in particular, the Law Society of Hong Kong, and the DPS would have an important role to play in this regard. In reply to Mrs CHOW's enquiry on whether any dispute on the policy aspects of the Bill had been raised in the consultation process, LR said that stakeholders consulted so far supported in principle a title registration system while a few organisations, particularly the Law Society of Hong Kong, had queried some fundamental points in the Bill. As such, the Administration would initiate further discussions with these stakeholders with a view to addressing their concerns fully before submitting the Bill to LegCo. He also assured members that the Administration would brief the relevant LegCo Panel on the results of the consultation exercise and other preparatory work for the Bill in due course, probably within this legislative session.
10.	The item was voted on and endorsed.
11.	On how the duration of proposed supernumerary Administrative Officer Staff Grade C (AOSGC) post would tie in with the work schedule of the Civil Service Reform exercise, the Deputy Secretary for the Civil Service (DS/CS) advised that the Administration was committed to a 18-month timetable to get in place the key framework for the Civil Service Reform. Referring to the three main tasks of the AOSGC post set out in the discussion paper, he advised that the Administration aimed to complete the Civil Service Starting Salaries Review and to implement the resultant changes within one year or so. While the 1999 and 2000 Civil Service Pay Adjustment exercises would have to be completed within the 18-month timeframe of the post, the work on devising and implementing performance-based pay systems in the Civil Service would stretch beyond the coming 18 months. The target timetable for the latter was to put in place an overall framework within 18 months and thereafter, to develop specific performance-based pay systems for individual departments and grades. Given these work plans, the 18-month duration of the AOSGC post was considered sufficient, though the need for an extension of the post would be reviewed nearer the expiry of the supernumerary post.
12.	Mr TSANG Yok-sing queried whether it would be preferable to recruit from outside the Civil Service an appropriate person with substantial experience in institutional reforms to fill the AOSGC post. In response, DS/CS advised that the Administration had given a pledge to the community and the staff side that the Civil Service Reform would not be geared to overturning the current civil service systems, but to build on them. Therefore, it was important for the post-holder of the AOSGC post to have good working knowledge on the strengths and weaknesses of these systems. He pointed out that the AOSGC would study and research into different performance-based pay systems used by both the private and the public sectors in and outside Hong Kong. He added that in the course of developing ideas for the reform, the Administration could solicit outsiders' views and advice through engaging consultants and making use of established contacts with the private sector.
13.	Regarding the work on devising performance-based pay systems, Mr CHAN Wing-chan sought elaboration on the idea of setting up a system of assessment panels to monitor the distribution of grading and handle appeals against performance appraisal. In response, DS/CS advised that a fair and open performance appraisal system was important not only for performance-based pay systems, but to a whole range of other civil service reform initiatives. The purpose of setting up a system of assessment panels was to enhance the current appraisal system to ensure that staff reports reflected accurately the performance of civil servants. He remarked that similar mechanisms had been adopted in the private sector.
14.	Mr CHAN Wing-chan conveyed the concern of some civil servants that a performance-based pay system might be susceptible to the influence of favouritism. In reply to his enquiry about the extent of discretion possessed by heads of departments under such a system, DS/CS stressed that the Administration fully recognized the paramount importance of establishing a credible, rational and transparent performance appraisal system for the development of a performance linked pay system. He assured members that the Administration would ensure the objectivity of any future performance-based pay systems. In this regard, the Civil Service Bureau was considering some suggestions from the staff side on how to safeguard objectivity under such systems.
15.	The item was voted on and endorsed.
16.	The Subcommittee was adjourned at 11:40 a.m.


Original glass vintage ad for GEO DAVIDSON COMPANY LTD. Chippendale Glassware manufactured. Owing to continued restrictions and production difficulties, coupled with the fact that Export orders must have priority, only a very limited range of patterns can be offered to the Home Trade, and deliveries will of necessity be slow. We wish to assure our friends, both at Home and Overseas, that it will be our aim and endeavor to meet the heavy demands for both our new and old successful patterns.
Located at Teams Glass Works, Gateshead-on-Tyne. London showroom located at 118 Newgate Street. Agents in Australia, New Zealand, South Africa, Canada, British West Indies, Jamaica, Chile, Denmark.
This old 1947 one page trade magazine advertisement would display beautifully matted and framed.
Brand:: George Davidson & Company, LTD.
Original glass vintage ad for GEO DAVIDSON COMPANY LTD. Flower Sets in English Pressed Glass. Pictured are No. 21, 732F, 34SD, S1696 D, and 1907TD. Glassware agents in Sydney, Toront..


Congratulations to Jerri Johnson and Laurie Stayton for Another Trial Win!
Jerri and Laurie have obtained yet another defense verdict in Los Angeles, this time from a downtown jury in a trip and fall case. Plaintiff ran through a planter, instead of the designated walkway, in a mall parking lot and fell. He claimed a finger fracture and CRPS from his fall. Acker & Whipple represented the janitorial company defendant. Plaintiff settled with the property owner, the security company and landscaping company prior to trial and asked the jury for $1,700,000 from the janitorial company alone. The jury instead returned a defense verdict of no liability.


text:
#ifndef Minisat_Solver_h
#define Minisat_Solver_h

#include "../mtl/Vec.h"
#include "../mtl/Heap.h"
#include "../mtl/Alg.h"
#include "../utils/Options.h"
#include "../core/SolverTypes.h"
#include <vector>

namespace Minisat {

// Use the GCC extension to use 128-bit indices.
#ifdef INDICES_128BITS
    typedef unsigned int uint128_t __attribute__((mode(TI)));
    static inline uint32_t hash(uint128_t x){ return (uint32_t)x; }
    typedef uint128_t index_type;
#else
    typedef uint64_t index_type;
#endif

#define INDEX_BIT_WIDTH (sizeof(index_type) *8)

//=================================================================================================
// Solver -- the main class:

class Solver_prop {
public:

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //////////////////////////////////////////////////////////////////

    // Changes for the array Propagator...
private:

    struct LessThan_Level {
        Solver_prop* parent;
        LessThan_Level(Solver_prop* parent_)
        {
            parent = parent_;
        }
        bool operator () (const Lit& x, const Lit& y)
        {
            if( parent->value(var(x)) == l_Undef)
                return true;
            if( parent->value(var(y)) == l_Undef)
                return false;

            return parent->level(var(x)) > parent->level(var(y));
        }
    };

	static char printValue(const lbool v) {
		if (v == l_True)
			return '1';
		else if (v == l_False)
			return '0';
		else
			return '.';
	}

	void printClause(const vec<Lit> &c) {
		for (int i = 0; i < c.size(); i++) {
			printf("%s%d:[%c:%d] ", sign(c[i]) ? "-" : "", var(c[i]),
					printValue(value(c[i])), level(var(c[i])));
		}
		printf("\n");
	}

	static void printClause2(const vec<Lit> &c) {
	                for (int i = 0; i < c.size(); i++) {
	                        printf("%s%d ", sign(c[i]) ? "-" : "", var(c[i]) );
	                }
	                printf("\n");
	        }

	struct EqualityVariables
        {
            int my_id;
            int id; // other array id.

	    EqualityVariables()
            {
            }

            EqualityVariables(int me_, int other_)
            {
                my_id = me_;
                id = other_;
                assert(me_ < other_);
            }

            bool
            operator==(const EqualityVariables& other) const
            {
                return other.my_id == my_id && other.id == id;
            }
        };

        struct EqualityVariable_Hash
        {
            uint32_t operator()(const Minisat::Solver_prop::EqualityVariables & e)  const
                { return Minisat::hash(e.my_id + e.id);  }
        };

	struct ArrayAccess
        {
            vec<Lit> index;
            vec<Lit> value;

            int array_id;
            const int id;             // unique id.

	private:
            const int index_size;     // bit-width of the index.
            const int value_size;     // bit-width of the value.

            const bool is_value_constant;    // Whether the value is a constant at the start.
            const bool is_index_constant;

            index_type index_constant;
	public:

            //The index/value is entirely known in advance.
            vec<lbool> constant_index;
            vec<lbool> constant_value;

            // Whether the current object is in the watchlist. To be in the watchlist,
            // the index must be known.
            bool known_index;

            // Used by the watchlist to check whether the index is still unfixed.
            int index_index;

            ArrayAccess(int id_, const vec<Lit>& i, const vec<Lit>& v, const vec<lbool>& ki, const vec<lbool>& kv, int arrayID):
            array_id(arrayID),
            id(id_),
            index_size(std::max(ki.size(), i.size())),
            value_size(std::max(kv.size(), v.size())),
            is_value_constant(kv.size() > 0),
            is_index_constant(ki.size() > 0),
            index_constant(0),
            index_index(0)
            {
                i.copyTo(index);
                v.copyTo(value);
                ki.copyTo(constant_index);
                kv.copyTo(constant_value);

                known_index = false;

                if (is_index_constant)
                    {
                        assert(index_size <= (int)INDEX_BIT_WIDTH);
                        for (int i = 0; i < index_size; i++)
                            {
                                lbool v = constant_index[i];
                                assert(v == l_True || v == l_False);
                                if (v == l_True)
                                    index_constant += (1 << i);
                            }
                    }
            }
            index_type constantIndex() const
             {
                 assert (is_index_constant);
                 return index_constant;
             }

            bool
            isIndexConstant() const
            {
                return is_index_constant;
            }

            bool
            isValueConstant() const
            {
                return is_value_constant;
            }

            int
            indexSize() const
            {
                return index_size;
            }

            int
            valueSize() const
            {
                return value_size;
            }

            void
            print()
            {
                printf("------------\n");

                printf("Index Size: %d\n", index.size());
                printClause2(index);

                printf("Value Size: %d\n", value.size());
                printClause2(value);

                printf("Known Index: %ld ", isIndexConstant() ? index_constant : -1);
                printf("Known Value: %c\n", isValueConstant() ? 't' : 'f');
                printf("Array ID:%d\n", array_id);
                printf("------------\n");
            }
        };

	// We keep the decision level that an index of an array access became fixed.
	// We use this to remove the access from the list of fixed indexes.
	struct ArrayHistory
        {
	    ArrayHistory(ArrayAccess*aa_, int dl)
	    {
	        aa = aa_;
	        decisionLevel =dl;
	    }

            ArrayAccess *aa;
            int decisionLevel;
        };

public:
	// Holds assignments to literals that should be in trail prior to the current decision level.
	struct Assignment
	{
	    Lit l;
	    int decisionLevel;
	    Assignment(Lit l_, int dl)
	    {
	        l =l_;
	        decisionLevel = dl;
	    }
	};
private:

        CRef arrayPropagate(); // top level.

	void eqLitHelper(const Lit& l0, const Lit& l1, const Lit& intermed);
        bool IndexIsSet(const ArrayAccess& iv);

        lbool accessIndex(const ArrayAccess& iv, int i);
	lbool accessValue(const ArrayAccess& iv, int i);
	index_type index_as_int(const ArrayAccess& iv);

	void startWatchOfIndexVariable(ArrayAccess* iv);

	void printClauses();

	void assertIndexesEqual(ArrayAccess &a, ArrayAccess &b);
	CRef writeOutArrayAxiom(ArrayAccess& iv);
	CRef getEqualsLit(ArrayAccess &a, ArrayAccess &b, Lit & eqLit, bool &alreadyCreated);
	CRef addExtraClause(vec<Lit>& l);

        void sortVecByLevel(vec<Lit> & c);
        void sortAlternateTrail();

public:
        bool addArray(int array_id, const vec<Lit>& i, const vec<Lit>& v, const vec<lbool>& ki, const vec<lbool>& kv);
private:

	vec<ArrayAccess* > arrayData; // So we can cleanup.
	int aa_id; // next globally unique id for an array access.
        int last_id; // last id for the array.
        int number_of_arrays;
        int array_trail; // We have checked upto this index in the trail.
        int watched_indexes;
        int top_level_var;
        int alternate_trail_sorted_to;

	Map<index_type, std::vector<ArrayAccess*> >* val_to_aa; // Maps from the index value of fixed indexes to the array accesses.
	Map<Var, std::vector<ArrayAccess*> > watchedLiterals; // The literals that are watched.
	vec<ArrayAccess*> toAddAtStartup;        // These need to be added in at startup.
	vec<ArrayHistory> arrayHistory_stack;    // When the index is fixed it's added into here.
	std::vector<Assignment> alternate_trail; // These literals were assigned below the current decisionLevel.

        Map<EqualityVariables, Lit, EqualityVariable_Hash> equality_variables;

        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //////////////////////////////////////////////////////////////////

public:
    // Constructor/Destructor:
    //
    Solver_prop(volatile bool& timeout);
    virtual ~Solver_prop();

    // Problem specification:
    //
    Var     newVar    (bool polarity = true, bool dvar = true); // Add a new variable with parameters specifying variable mode.

    bool    addClause (const vec<Lit>& ps);                     // Add a clause to the solver.
    bool    addEmptyClause();                                   // Add the empty clause, making the solver contradictory.
    bool    addClause (Lit p);                                  // Add a unit clause to the solver.
    bool    addClause (Lit p, Lit q);                           // Add a binary clause to the solver.
    bool    addClause (Lit p, Lit q, Lit r);                    // Add a ternary clause to the solver.
    bool    addClause_(      vec<Lit>& ps);                     // Add a clause to the solver without making superflous internal copy. Will
                                                                // change the passed vector 'ps'.

    // Solving:
    //
    bool    simplify     ();                        // Removes already satisfied clauses.
    bool    solve        (const vec<Lit>& assumps); // Search for a model that respects a given set of assumptions.
    lbool   solveLimited (const vec<Lit>& assumps); // Search for a model that respects a given set of assumptions (With resource constraints).
    bool    solve        ();                        // Search without assumptions.
    bool    solve        (Lit p);                   // Search for a model that respects a single assumption.
    bool    solve        (Lit p, Lit q);            // Search for a model that respects two assumptions.
    bool    solve        (Lit p, Lit q, Lit r);     // Search for a model that respects three assumptions.
    bool    okay         () const;                  // FALSE means solver is in a conflicting state

    void    toDimacs     (FILE* f, const vec<Lit>& assumps);            // Write CNF to file in DIMACS-format.
    void    toDimacs     (const char *file, const vec<Lit>& assumps);
    void    toDimacs     (FILE* f, Clause& c, vec<Var>& map, Var& max);

    // Convenience versions of 'toDimacs()':
    void    toDimacs     (const char* file);
    void    toDimacs     (const char* file, Lit p);
    void    toDimacs     (const char* file, Lit p, Lit q);
    void    toDimacs     (const char* file, Lit p, Lit q, Lit r);

    // Variable mode:
    //
    void    setPolarity    (Var v, bool b); // Declare which polarity the decision heuristic should use for a variable. Requires mode 'polarity_user'.
    void    setDecisionVar (Var v, bool b); // Declare if a variable should be eligible for selection in the decision heuristic.

    // Read state:
    //
    lbool   value      (Var x) const;       // The current value of a variable.
    lbool   value      (Lit p) const;       // The current value of a literal.
    lbool   modelValue (Var x) const;       // The value of a variable in the last model. The last call to solve must have been satisfiable.
    lbool   modelValue (Lit p) const;       // The value of a literal in the last model. The last call to solve must have been satisfiable.
    int     nAssigns   ()      const;       // The current number of assigned literals.
    int     nClauses   ()      const;       // The current number of original clauses.
    int     nLearnts   ()      const;       // The current number of learnt clauses.
    int     nVars      ()      const;       // The current number of variables.
    int     nFreeVars  ()      const;

    // Resource contraints:
    //
    void    setConfBudget(int64_t x);
    void    setPropBudget(int64_t x);
    void    budgetOff();
    void    interrupt();          // Trigger a (potentially asynchronous) interruption of the solver.
    void    clearInterrupt();     // Clear interrupt indicator flag.

    // Memory managment:
    //
    virtual void garbageCollect();
    void    checkGarbage(double gf);
    void    checkGarbage();

    // Extra results: (read-only member variable)
    //
    vec<lbool> model;             // If problem is satisfiable, this vector contains the model (if any).
    vec<Lit>   conflict;          // If problem is unsatisfiable (possibly under assumptions),
                                  // this vector represent the final conflict clause expressed in the assumptions.

    // Mode of operation:
    //
    int       verbosity;
    double    var_decay;
    double    clause_decay;
    double    random_var_freq;
    double    random_seed;
    bool      luby_restart;
    int       ccmin_mode;         // Controls conflict clause minimization (0=none, 1=basic, 2=deep).
    int       phase_saving;       // Controls the level of phase saving (0=none, 1=limited, 2=full).
    bool      rnd_pol;            // Use random polarities for branching heuristics.
    bool      rnd_init_act;       // Initialize variable activities with a small random value.
    double    garbage_frac;       // The fraction of wasted memory allowed before a garbage collection is triggered.

    int       restart_first;      // The initial restart limit.                                                                (default 100)
    double    restart_inc;        // The factor with which the restart limit is multiplied in each restart.                    (default 1.5)
    double    learntsize_factor;  // The intitial limit for learnt clauses is a factor of the original clauses.                (default 1 / 3)
    double    learntsize_inc;     // The limit for learnt clauses is multiplied with this factor each restart.                 (default 1.1)

    int       learntsize_adjust_start_confl;
    double    learntsize_adjust_inc;

    // Statistics: (read-only member variable)
    //
    uint64_t solves, starts, decisions, rnd_decisions, propagations, conflicts;
    uint64_t dec_vars, clauses_literals, learnts_literals, max_literals, tot_literals;

    void printStats();

protected:

    // Helper structures:
    //
    struct VarData { CRef reason; int level; };
    static inline VarData mkVarData(CRef cr, int l){ VarData d = {cr, l}; return d; }

    struct Watcher {
        CRef cref;
        Lit  blocker;
        Watcher(CRef cr, Lit p) : cref(cr), blocker(p) {}
        bool operator==(const Watcher& w) const { return cref == w.cref; }
        bool operator!=(const Watcher& w) const { return cref != w.cref; }
    };

    struct WatcherDeleted
    {
        const ClauseAllocator& ca;
        WatcherDeleted(const ClauseAllocator& _ca) : ca(_ca) {}
        bool operator()(const Watcher& w) const { return ca[w.cref].mark() == 1; }
    };

    struct VarOrderLt {
        const vec<double>&  activity;
        bool operator () (Var x, Var y) const { return activity[x] > activity[y]; }
        VarOrderLt(const vec<double>&  act) : activity(act) { }
    };

    // Solver state:
    //
    bool                ok;               // If FALSE, the constraints are already unsatisfiable. No part of the solver state may be used!
    vec<CRef>           clauses;          // List of problem clauses.
    vec<CRef>           learnts;          // List of learnt clauses.
    double              cla_inc;          // Amount to bump next clause with.
    vec<double>         activity;         // A heuristic measurement of the activity of a variable.
    double              var_inc;          // Amount to bump next variable with.
    OccLists<Lit, vec<Watcher>, WatcherDeleted>
                        watches;          // 'watches[lit]' is a list of constraints watching 'lit' (will go there if literal becomes true).
    vec<lbool>          assigns;          // The current assignments.
    vec<char>           polarity;         // The preferred polarity of each variable.
    vec<char>           decision;         // Declares if a variable is eligible for selection in the decision heuristic.
    vec<Lit>            trail;            // Assignment stack; stores all assigments made in the order they were made.
    vec<int>            trail_lim;        // Separator indices for different decision levels in 'trail'.
    vec<VarData>        vardata;          // Stores reason and level for each variable.
    int                 qhead;            // Head of queue (as index into the trail -- no more explicit propagation queue in MiniSat).
    int                 simpDB_assigns;   // Number of top-level assignments since last execution of 'simplify()'.
    int64_t             simpDB_props;     // Remaining number of propagations that must be made before next execution of 'simplify()'.
    vec<Lit>            assumptions;      // Current set of assumptions provided to solve by the user.
    Heap<VarOrderLt>    order_heap;       // A priority queue of variables ordered with respect to the variable activity.
    double              progress_estimate;// Set by 'search()'.
    bool                remove_satisfied; // Indicates whether possibly inefficient linear scan for satisfied clauses should be performed in 'simplify'.

    ClauseAllocator     ca;

    // Temporaries (to reduce allocation overhead). Each variable is prefixed by the method in which it is
    // used, exept 'seen' wich is used in several places.
    //
    vec<char>           seen;
    vec<Lit>            analyze_stack;
    vec<Lit>            analyze_toclear;
    vec<Lit>            add_tmp;
    vec<char>           array_of_interest;

    double              max_learnts;
    double              learntsize_adjust_confl;
    int                 learntsize_adjust_cnt;

    // Resource contraints:
    //
    int64_t             conflict_budget;    // -1 means no budget.
    int64_t             propagation_budget; // -1 means no budget.
    volatile bool&      asynch_interrupt;

    // Main internal methods:
    //
    void     insertVarOrder   (Var x);                                                 // Insert a variable in the decision order priority queue.
    Lit      pickBranchLit    ();                                                      // Return the next decision variable.
    void     newDecisionLevel ();                                                      // Begins a new decision level.
    void     uncheckedEnqueue (Lit p, CRef from = CRef_Undef);                         // Enqueue a literal. Assumes value of literal is undefined.
    bool     enqueue          (Lit p, CRef from = CRef_Undef);                         // Test if fact 'p' contradicts current state, enqueue otherwise.
    CRef     propagate        ();                                                      // Perform unit propagation. Returns possibly conflicting clause.
    void     cancelUntil      (int level);                                             // Backtrack until a certain level.
    void     analyze          (CRef confl, vec<Lit>& out_learnt, int& out_btlevel);    // (bt = backtrack)
    void     analyzeFinal     (Lit p, vec<Lit>& out_conflict);                         // COULD THIS BE IMPLEMENTED BY THE ORDINARIY "analyze" BY SOME REASONABLE GENERALIZATION?
    bool     litRedundant     (Lit p, uint32_t abstract_levels);                       // (helper method for 'analyze()')
    lbool    search           (int nof_conflicts);                                     // Search for a given number of conflicts.
    lbool    solve_           ();                                                      // Main solve method (assumptions given in 'assumptions').
    void     reduceDB         ();                                                      // Reduce the set of learnt clauses.
    void     removeSatisfied  (vec<CRef>& cs);                                         // Shrink 'cs' to contain only non-satisfied clauses.
    void     rebuildOrderHeap ();

    // Maintaining Variable/Clause activity:
    //
    void     varDecayActivity ();                      // Decay all variables with the specified factor. Implemented by increasing the 'bump' value instead.
    void     varBumpActivity  (Var v, double inc);     // Increase a variable with the current 'bump' value.
    void     varBumpActivity  (Var v);                 // Increase a variable with the current 'bump' value.
    void     claDecayActivity ();                      // Decay all clauses with the specified factor. Implemented by increasing the 'bump' value instead.
    void     claBumpActivity  (Clause& c);             // Increase a clause with the current 'bump' value.

    // Operations on clauses:
    //
    void     attachClause     (CRef cr);               // Attach a clause to watcher lists.
    void     detachClause     (CRef cr, bool strict = false); // Detach a clause to watcher lists.
    void     removeClause     (CRef cr);               // Detach and free a clause.
    bool     locked           (const Clause& c) const; // Returns TRUE if a clause is a reason for some implication in the current state.
    bool     satisfied        (const Clause& c) const; // Returns TRUE if a clause is satisfied in the current state.

    void     relocAll         (ClauseAllocator& to);

    // Misc:
    //
    int      decisionLevel    ()      const; // Gives the current decisionlevel.
    uint32_t abstractLevel    (Var x) const; // Used to represent an abstraction of sets of decision levels.
    CRef     reason           (Var x) const;
    int      level            (Var x) const;
    double   progressEstimate ()      const; // DELETE THIS ?? IT'S NOT VERY USEFUL ...
    bool     withinBudget     ()      const;

    // Static helpers:
    //

    // Returns a random float 0 <= x < 1. Seed must never be 0.
    static inline double drand(double& seed) {
        seed *= 1389796;
        int q = (int)(seed / 2147483647);
        seed -= (double)q * 2147483647;
        return seed / 2147483647; }

    // Returns a random integer 0 <= x < size. Seed must never be 0.
    static inline int irand(double& seed, int size) {
        return (int)(drand(seed) * size); }
};

//=================================================================================================
// Implementation of inline methods:

inline CRef Solver_prop::reason(Var x) const { return vardata[x].reason; }
inline int  Solver_prop::level (Var x) const { return vardata[x].level; }

inline void Solver_prop::insertVarOrder(Var x) {
    if (!order_heap.inHeap(x) && decision[x]) order_heap.insert(x); }

inline void Solver_prop::varDecayActivity() { var_inc *= (1 / var_decay); }
inline void Solver_prop::varBumpActivity(Var v) { varBumpActivity(v, var_inc); }
inline void Solver_prop::varBumpActivity(Var v, double inc) {
    if ( (activity[v] += inc) > 1e100 ) {
        // Rescale:
        for (int i = 0; i < nVars(); i++)
            activity[i] *= 1e-100;
        var_inc *= 1e-100; }

    // Update order_heap with respect to new activity:
    if (order_heap.inHeap(v))
        order_heap.decrease(v); }

inline void Solver_prop::claDecayActivity() { cla_inc *= (1 / clause_decay); }
inline void Solver_prop::claBumpActivity (Clause& c) {
        if ( (c.activity() += cla_inc) > 1e20 ) {
            // Rescale:
            for (int i = 0; i < learnts.size(); i++)
                ca[learnts[i]].activity() *= 1e-20;
            cla_inc *= 1e-20; } }

inline void Solver_prop::checkGarbage(void){ return checkGarbage(garbage_frac); }
inline void Solver_prop::checkGarbage(double gf){
    if (ca.wasted() > ca.size() * gf)
        garbageCollect(); }

// NOTE: enqueue does not set the ok flag! (only public methods do)
inline bool     Solver_prop::enqueue         (Lit p, CRef from)      { return value(p) != l_Undef ? value(p) != l_False : (uncheckedEnqueue(p, from), true); }
inline bool     Solver_prop::addClause       (const vec<Lit>& ps)    { ps.copyTo(add_tmp); return addClause_(add_tmp); }
inline bool     Solver_prop::addEmptyClause  ()                      { add_tmp.clear(); return addClause_(add_tmp); }
inline bool     Solver_prop::addClause       (Lit p)                 { add_tmp.clear(); add_tmp.push(p); return addClause_(add_tmp); }
inline bool     Solver_prop::addClause       (Lit p, Lit q)          { add_tmp.clear(); add_tmp.push(p); add_tmp.push(q); return addClause_(add_tmp); }
inline bool     Solver_prop::addClause       (Lit p, Lit q, Lit r)   { add_tmp.clear(); add_tmp.push(p); add_tmp.push(q); add_tmp.push(r); return addClause_(add_tmp); }
inline bool     Solver_prop::locked          (const Clause& c) const { return value(c[0]) == l_True && reason(var(c[0])) != CRef_Undef && ca.lea(reason(var(c[0]))) == &c; }
inline void     Solver_prop::newDecisionLevel()                      { trail_lim.push(trail.size()); }

inline int      Solver_prop::decisionLevel ()      const   { return trail_lim.size(); }
inline uint32_t Solver_prop::abstractLevel (Var x) const   { return 1 << (level(x) & 31); }
inline lbool    Solver_prop::value         (Var x) const   { return assigns[x]; }
inline lbool    Solver_prop::value         (Lit p) const   { return assigns[var(p)] ^ sign(p); }
inline lbool    Solver_prop::modelValue    (Var x) const   { return model[x]; }
inline lbool    Solver_prop::modelValue    (Lit p) const   { return model[var(p)] ^ sign(p); }
inline int      Solver_prop::nAssigns      ()      const   { return trail.size(); }
inline int      Solver_prop::nClauses      ()      const   { return clauses.size(); }
inline int      Solver_prop::nLearnts      ()      const   { return learnts.size(); }
inline int      Solver_prop::nVars         ()      const   { return vardata.size(); }
inline int      Solver_prop::nFreeVars     ()      const   { return (int)dec_vars - (trail_lim.size() == 0 ? trail.size() : trail_lim[0]); }
inline void     Solver_prop::setPolarity   (Var v, bool b) { polarity[v] = b; }
inline void     Solver_prop::setDecisionVar(Var v, bool b)
{
    if      ( b && !decision[v]) dec_vars++;
    else if (!b &&  decision[v]) dec_vars--;

    decision[v] = b;
    insertVarOrder(v);
}
inline void     Solver_prop::setConfBudget(int64_t x){ conflict_budget    = conflicts    + x; }
inline void     Solver_prop::setPropBudget(int64_t x){ propagation_budget = propagations + x; }
inline void     Solver_prop::interrupt(){ asynch_interrupt = true; }
inline void     Solver_prop::clearInterrupt(){ asynch_interrupt = false; }
inline void     Solver_prop::budgetOff(){ conflict_budget = propagation_budget = -1; }
inline bool     Solver_prop::withinBudget() const {
    return !asynch_interrupt &&
           (conflict_budget    < 0 || conflicts < (uint64_t)conflict_budget) &&
           (propagation_budget < 0 || propagations < (uint64_t)propagation_budget); }

// FIXME: after the introduction of asynchronous interrruptions the solve-versions that return a
// pure bool do not give a safe interface. Either interrupts must be possible to turn off here, or
// all calls to solve must return an 'lbool'. I'm not yet sure which I prefer.
inline bool     Solver_prop::solve         ()                    { budgetOff(); assumptions.clear(); return solve_() == l_True; }
inline bool     Solver_prop::solve         (Lit p)               { budgetOff(); assumptions.clear(); assumptions.push(p); return solve_() == l_True; }
inline bool     Solver_prop::solve         (Lit p, Lit q)        { budgetOff(); assumptions.clear(); assumptions.push(p); assumptions.push(q); return solve_() == l_True; }
inline bool     Solver_prop::solve         (Lit p, Lit q, Lit r) { budgetOff(); assumptions.clear(); assumptions.push(p); assumptions.push(q); assumptions.push(r); return solve_() == l_True; }
inline bool     Solver_prop::solve         (const vec<Lit>& assumps){ budgetOff(); assumps.copyTo(assumptions); return solve_() == l_True; }
inline lbool    Solver_prop::solveLimited  (const vec<Lit>& assumps){ assumps.copyTo(assumptions); return solve_(); }
inline bool     Solver_prop::okay          ()      const   { return ok; }

inline void     Solver_prop::toDimacs     (const char* file){ vec<Lit> as; toDimacs(file, as); }
inline void     Solver_prop::toDimacs     (const char* file, Lit p){ vec<Lit> as; as.push(p); toDimacs(file, as); }
inline void     Solver_prop::toDimacs     (const char* file, Lit p, Lit q){ vec<Lit> as; as.push(p); as.push(q); toDimacs(file, as); }
inline void     Solver_prop::toDimacs     (const char* file, Lit p, Lit q, Lit r){ vec<Lit> as; as.push(p); as.push(q); as.push(r); toDimacs(file, as); }

//=================================================================================================
// Debug etc:

//=================================================================================================
}

#endif

redpajama_set_name: RedPajamaGithub


Schoool, Uni & Campus Banding. Printed Banners, Flags, Posters, ..
Generate excitement and increase engagement through our campus branding programme.
Communicate messages and create a buzz around campus with printed banners and flags. Using existing architecture and infrastructure, let us help you create a programme for promoting events, communicating messages and branding your hospital, school or university.
Bay Media specialise in creating printed marketing & promotional signage that can be easily changed to keep up with the ever changing landscape of student life.
Contact us today to discuss your campus signage and marketing needs on 1300 55 49 36.
Below you will find examples of universities, school & hospitals which are presently using products such as our Bannersaver light pole brackets in combination with our flags & banners to promote and market their facilities.


So most of the time, if you work from home and thus are thinking of creating a small space for yourself that can look like a work place and allow you to concentrate on your work, without making you feel too much at home? Then this is the right place for you. Do not worry about lack of space, a little bit of planning and creatively will make room for a cosy work corner around your home.
Here are few stylish, simple yet classy ideas that can help you create an office space at home.
1. Find some space: Select a small corner around your home that has very little furniture. Make sure it has proper light and ventilation. Also, to give yourself a peaceful environment, avoid setting it up near the kitchen.
2. Select your Colours: Now that you have selected your cosy corner, it's time to paint it professional.
If you are a tech guy who needs a lot of focus and calculation, then a Blue colour is best suited for you.
Those in the spiritual fraternity, who deal with online counselling, healing or other therapies, Purple is the colour for you.
However, if your work involves late nights, then the colour that would enable you to stay awake and focus would be Green.
Based on the type of profession, choose your colour and get the area painted. The right colour will surely make your work more productive and fun.
3. Get the Right Furniture: Now that the colours are in place, you need to pick the right furniture with lots of drawers that can store your files and other important documents and give you a comfortable space to relax and work. Most importantly, a nice and comfortable desk and chair is a must. A good chair will ensure that your back is comfortable and secured.
4. Add some Accessories: To keep your desk free of clutter and make it look spacious, add filing cabinets trays, paper organisers, pen holders and a few hangings to your room. This will make your things look organised. A softboard to pin notes and other information will really help. Moreover, if you want some privacy, adding curtains would also be a good idea.
5. Add Photos and Goodies: With this your office space is almost ready, but then it is always recommended to make it a little personalised. So, around the walls add few quotes or pictures of your family or people whom you professionally admire. You can easily get these pictures printed from canvas prints; they are really good and quite reasonable. These digital pictures can be framed and hanged on the wall or even kept on the table. Try doing this and see how photos can add charm, inspiration and motivation to your workplace.
Work needs a perfect blend of environment and mindset, so even while you are at home, you need the right atmosphere to pull your mind out of the comfort and put it to work. Just like your home, this corner will also be a space that you would never want to leave.
So now just use the above-mentioned ideas and apply them to transform a corner of your home into a focussed work place.
Shopping For Your New Car: What Are The Things To Look Out For?


text:
Julie Benz Talks New Lifetime True Crime Film 'Secrets of a Gold Digger Killer'
Jackie Manno
Celebrity Page TV
Lifetime is shedding light on another unbelievable true story. This time, it's all about a gold-digging with an infatuated lesbian lover.
Set in the late 90s, Secrets of a Gold Digger Killer follows a waitress and mother of two, Celeste, who marries a millionaire twice her age.
Although her husband showers her with designer clothing, cars and even a house, Celeste still isn't satisfied. She ends up seducing a woman at a mental hospital, and convinces her that the only way they can truly be together is if her lover kills her estranged husband.
"It's crazy. I did so much research on Celeste. She's serving I think 30 years in prison. She's still in prison and still claims she's innocent," Julie Benz said.
Benz is known for her roles in Buffy The Vampire Slayer and Dexter, and ended up sympathizing with Celeste in order to get into character.
"When you look at the trial transcripts and you see all the evidence, I mean it's obvious that she did it. However, when I was playing her, I was on the fence. I would have days where I would be on set and I would be like, 'I don't know, maybe she didn't do it.'"
To watch the full story play out, tune into Secrets of a Gold Digger Killer Sunday, June 13th at 8/7c on Lifetime.
Julie Benz Discusses New Lifetime True Crime Film 'Secrets of a ... ›
Victims Stand Up Against Perpetrators In 'Confronting A Serial Killer ... ›
Stephanie Bauer's New True Crime Podcast - Celebrity Page ›
Kelly Ripa and Mark Consuelos Releasing New True Crime Series ... ›
Lifetime Portrays The True Crime Story Of Erin Corwin In 'Secrets Of A Marine's Wife' - Celebrity Page ›
Patrick Duffy And Linda Purl Discuss Their New Lifetime True Crime Thriller & Their Real-Life Romance ›
Patrick Duffy & Linda Purl Talk New Lifetime True Crime Thriller & Real-Life Romance - Celebrity Page ›
Inside The New Lifetime Thriller: 'Danger in the Spotlight' With Jessica Morris - Celebrity Page ›
Lifetime TV Schedule | Lifetime ›


Rebecca is a level 2 NVQ trained chef at a joint restaurant and café in Blackpool named Dahlia's Kitchen who also provide outside catering for big events.
My job is to prepare, cook and serve a variety of home cooked meals and sandwiches for customers throughout the day. I love my job because it's tough and helps me to succeed at new and exciting challenges I didn't know I could do. It's lots of hard work and very fast paced but that's the thrill of it! I'm very passionate about my job.
I remember always being pushed to the best of my ability. The teachers always worked hard to make sure I was getting the most out of my day. I wasn't as grateful for it back then, but when I look back now I'm so glad I took their advice. I miss school!
My school days helped me prepare a lot because if I didn't listen to what the teachers had told me, I wouldn't be in the fantastic position that I am in now. I just want to thank Mr Bradley because it was him seeing potential in me that inspired me to become the person I am today, I am forever grateful. Taking this big step and moving away from my family was hard for me, but because I am so passionate about my job I wanted to go bigger and better. I remember being told at school that no matter what challenges are in front of you, always push and overcome them because you can guarantee it will always be better on the other side.
My funniest memory at Shotton Hall was watching Mr Wood run into a door frame covered in Sellotape. Pranked by my favourite geography teacher. Teachers can have fun!
My future ambitions are to become a well known chef and cook for people all over the world. I just like to make people happy with food!
Never give up on your dreams, no matter what gets in the way. Stay true to yourself and never treat your parents with disrespect. There's going to be a day where they won't be there for you anymore.
If I could invite one person to a dinner party it would be Chris Hemsworth because I've cooked for him and the cast of the Avengers before but I didn't actually get to meet them. He's my favourite!


text:
Q: What SMS apps exist on the iPhone that support ascii emoticons, not emoji? This is an open question, but it is a logical followup of my previous question asking for an emoticon keyboard app.
It appears it is not possible to define a system-wide keyboard that supports ASCII emoticons. Instead, specific applications can provide a custom keyboard or another way to easily input emoticons.
So what replacements for the SMS app do provide shortcuts to input ASCII emoticons? For use by people unfamiliar by all those weird punctuations.
I am looking for something similar to the Messaging keyboard on Android. (Thanks to VxJasonxV)
The app should not require a jailbreak.
Bonus points for apps that also display ASCII emoticons graphically.
UPDATE: Now iOS does allow system-wide third party keyboards, so this question is no longer really relevant. However I keep it alive because the answer "no third party app can do SMS" is still correct and useful.

A: Apple does not allow SMS nor Phone replacement apps in the App Store, so this will never be possible without jailbreaking. Since you indicated you would prefer not to jailbreak, you will not be able to do this.
The closest you will be able to get would be to use a third-party SMS service which may either cost or perhaps force you into using a different phone number for SMS specifically with that app. You will need to review third-party apps available to see if they provide a custom keyboard to do what you wish to do.
Long story short: Built-in? Not possible outside of jmlumpkin's suggestion.

A: I don't know if this is entirely what you are looking for, but it looks like the iPhone does actually have something 'like' this - I guess they are a bit more elaborate than smileys:
http://www.reddit.com/r/reddit.com/comments/knc2j/i_was_messing_around_on_my_iphone_when_i_found/
Go to Settings -> General -> Keyboard -> International Keyboards -> Add New Keyboard... ->  Japanese Ten Key
then, click the 'globe' icon when the keyboard is up, and you should see some (look at the picture linked to on reddit for examples)

redpajama_set_name: RedPajamaStackExchange


I haven't posted in here in a while because I a) created a new account to better match my other media outlet names, and b) I've mainly been posting work updates in Discord. I thought it would be good for me to get additional feedback on my project through Polycount (hence this thread) and to engage more with the community here too.
I've always found it difficult to work at home but over the last couple of years I've used Twitch to stream while I have been working. This has been a great way for me to commit to creating artwork in my spare time and I've managed to produce some good portfolio pieces by sticking to a stream schedule. I stream twice a week (for a couple of hours each) so expect frequent updates to this thread. If you're interested in seeing how I work and communicating your feedback with me live then please head over to my Twitch (or Youtube) channel and chat to me through that. I stream Mondays and Thursdays at 7:30pm GMT.
I love the idea of function over form and having corridors and areas surrounded by and covered in pipes and cables. I'm going to be taking a very modular approach to this environment so that I can reuse as many assets as possible but also mix up the environment so that it's not obviously repeating.
These first few posts on going to be back dated as I started the project already and I want to post up my progress so far and as I continue.
Already there is much more interest with walkways bending around corners, climbing up, down and across. I also added in a water plane to make it feel like the player is at the very bottom of the world.
More expansion with the kit both horizontally and vertically. There are four exits around the level, one on each wall. I've linked these up to the main medley of bridges. I've also added in a tunnel at the water level as an entrance/exit to the place. I think this makes the world leave more connected and part of a bigger world.
Further additions to the level with the kit especially around the outer edge of the level. I also got the block out into Unreal to check that everything looks and feels right to the player. I often stay in Modo until this point as I find it quicker to layout and test out the kit. If I move to Unreal too quickly to test a kit then I feel like I'm locking myself into it. Staying inside of Modo allows me to make new kit parts, modify existing ones and test them very quickly.
Added another tunnel entrance (perhaps this area is one of many interconnected places), finished the outer rim of the area and added in some larger pipes to help push the industrial look of the place.
I think I'm in a good position now to focus on the individual kit parts knowing how and where they are being used in the environment. I'll be breaking each part down into elements and creating multiple variants that I can piece together in different Blueprints in Unreal. This will really help keep repetition to a minimum.
This kind of reminds me of a Deathmatch type of map from Doom. Nice work so far.
Thanks man. Yeah a few people have said it's giving them a Doom vibe and I'll definitely pull some reference from it. The look I want will be more used, worn and dirty/grimy but the structures and silhouettes in Doom will be a big help.
Started to break the layout down into a kit of reusable parts. I went a step further and broke each part down into more elements. Doing so will give me more option for variation in the future as I can swap out individual elements for new ones rather than the whole piece.
Another stream, another update! I managed to get the kit parts into UE4 and assembled into Blueprints. I then took these and began tracing over my original layout adding new parts as I went. Shouldn't be too long before everything is laid out in Unreal and we can say good by to the original blockout.
Created two proxy metal textures, a master material, two instances, and started applying to meshes. I want to get an idea of scale and UVs so thought it would be a good idea to start looking into that now. Additional kit parts have been created as I've expanded the layout.
Continued laying kit parts out. Really need to start fleshing out the scene with detail meshes but I want to finish the layout as best I can first. Added in supports, girders and the tunnel entrance.
Thought I'd continue with my environment this evening as I had some free time (wild Friday night in!) Firstly, when snapping BPs together I'd introduced a small offset so I rectified this so that everything snaps together in whole numbers. I started expanding more of the layout and went away from the original block out so as to make it more interesting. I also added in the second tunnel entrance and outlined the middle buildings with parts.
Added background wall kit parts and some detail to them and they've made a world of difference to the layout. I can now layout out larger sections of the environment without making it look too repeatable. I wish I had made them sooner as I think I'll go back to other sections and utilise them in the building designs.
Moved away from the straight (boring) outer edges by adding another tunnel and making more interesting layouts from the parts I already have (those background pieces break up the scene so well!) I'm really looking forward to adding model and texture detail to the scene!
Had a spare hour this evening so fleshed out the last corner of the area by created a space for docking. Linked up the walkways and broke up the waters edge with a few other parts. I swear this is the last extension horizontally! It's all vertical from here on out!
Doing this layout is quite therapeutic.. I've created an open space in the last corner, added a secluded walkway (potentially an area with lifts in it), and started pulling up the background walls so that they join the bottom of the upper walls.
Added in some ramps to break up the main walkway section. I think additional ramps will help but it's added a lot for such a small change. I added a lift shaft to the back of the dock area and covered the area with a roof. I also extended the outer walls up. It's really starting to look like a place now!
More layout. This time I built up one of the central buildings and started on another. Once the three central buildings are capped I can finish off building up the outer walls and adding in unreachable walkways and buildings in the above space.
Finished off the second building. Made it look more under construction and additional prop-age will help with this. Started building up the third building and changed up the exterior a bit by adding in an interior walkway and an extended viewing platform.
Finished the third tower. This one is a lot chunkier than the others so will help with landmarking and skyline breakup. I also built up more of the surrounding walls will straight and overhanging elements.
Had a week off because of the BAFTAs and extended CGMA work. This evening I made a fair amount of progress with the scene by extending the outer walls and adding roofing to areas of the map. Still a fair way to go with the overall scene but the level is really coming together now!
I created the BG buildings and walls from the parts I already had added them to the scene. Aside from a few holes that need blending/patching up that's the block out DONE!


Lovely Luminosity: products for a radiant glow are absolutely essential this season. Whether the Light Correcting Serum Primer with a fine, golden shimmer or the Sun Lover Glow Bronzing Powder with light reflecting pigments – a shimmering finish perfectly completes the make-up look. Colour Correcting sets new standards: mattifying powders in several shades are used to neutralise various skin irregularities. The face can also be primed for the application of foundation with liquid formulas - available in green, yellow or lavender, concealers correct discolorations and co. Products that can be tailored to meet individual needs are also highly popular: Lightening or Darkening Transformer Drops make it possible to align the foundation with the personal skin tone. Special highlight: the Professional Make Up Techniques Face Palette, which can be used for the Contouring, Strobing and Draping make-up techniques.
the light, transparent spray – enriched with a natural complex of active ingredients – mattifies the skin, sets make-up in place and makes it last longer.
blush addicted! the silky-soft powder blush instantly provides the cheeks with fresh colour reflections in rosewood, coral or a bronzer shade – all with a light pearl effect.
Liquid Gold. Underneath foundation, the fine golden shimmer offers a subtle glow effect, which is even more intense when applied solo. The handy pipette applicator allows a simple and accurate dosage. Thanks to its neutral shade, the primer is suitable for all skin tones.
Powder blusher in practical magnetic pan.
The blushers are available in a very wide choice of shades and separately, and so can be combined individually.
They provide brilliant colors, stay in place for ages and have a pleasant texture for soft application. The blushers are very gentle and can be applied intensely or softly at will. They can be stored in refillable magnetic boxes.
The Mineral Powder Foundation has the opacity of a classical foundation and the silky matt consistency of a loose powder.
It gives a perfect, even complexion with a very natural fresh, vitalized and radiant look. Contains a high-quality mineral complex of zinc and magnesium and is suited for all skin types, from sensitive to oily skin. Without wax and oil. Titanium dioxide and zinc oxide protect the skin against UV-rays. Fragrance-free.
Pressed powder in a refillable case.
The Mineral Compact Powder contains a premium sea mineral complex, rich in calcium and trace elements. This mineral complex includes an extraordinary net structure that has protective agencies. The powder gives an even complexion and improves the durability of the make-up. Shiny skin is matted. The opacity varies with multiple applications and does not become darker after having been applied. Suitable for all skin types. Contains vitamin E and panthenol. Fragrance-free.
Micro-fine compact powder for a transparent, delicate frosted finish - refillable.
In contrast to conventional powders, due to their coarse-grained texture, on closer inspection they're often visible, but the High Definition Compact Powder flatters the skin and invisibly coats it. The powder is characterized by an extremely silky soft feel and feather light gliding application. Shiny skin is matted perfectly thanks to oil-absorbing properties.
Softly shimmering strobing powder to accentuate the high points of your face (strobing).
Color: 4 - oh my glow!
The softly shimmering strobing powder gives your face a dazzlingly fresh glow. With the soft powder you can easily accentuate the high points of your face to make your complexion look even more radiating.
Refill for the softly shimmering Strobing Powder to accentuate the high points of your face. The softly shimmering powder make your complexion look even more radiating. It gives your face a dazzlingly fresh glow.


FROM THE PRODUCTS WE USE TO THE AIR YOU BREATHE.
adjective. strong and healthy, robust and full of life, vigorous.
For SALON OWNER AND CREATIVE FORCE Joe Murray and all of our staff at Hale, "clean" is not just an advertising buzzword; it is a way of life. Joe created Hale to provide a healthy environment for his clients, his stylists and himself. At Hale we strive for the cleanest environment possible. There are no aerosols or sprays, no ammonia and no pets.
We also believe very strongly that a healthy, friendly atmosphere is important to the well being of our clients. We aim to create an oasis of clean and calm; an attitude-free zone to serve as a resting place from the day-to-day grind of city life. We want our salon to be the one place in Manhattan where you can truly relax.
So, just like the dictionary definition of the word Hale, we want to help our clients to be strong, healthy, robust and full of life. And we are committed to helping them stay that way!


text:
The Lost Experience was a multi media marketing alternate reality game developed by Channel 4 to support Season Two of LOST.
The marketing campaign was designed to unite LOST fans from around the world in an alternative reality game developed as a spin-off from the TV programme. Working closely with the writers behind LOST, the Lost Experience revealed the 'back-story' of the Hanso Foundation, the shadowy organisation behind the fictitious Dharma Initiative which sits at the heart of the TV series. A detailed combination of TV adverts, fake websites, call-centres, blogs, chocolate bars, video and flash mobs were co-ordinated to enable users to follow the story of Rachel Blake, an ex-employee of the Hanso Foundation trying to uncover the truth behind the company's sinister activities. In the UK alone over 30,000 unique users regularly interacted with the alternate reality game.
Principal In-Game Websites
Due to the nature of the game, clues and hacks were released over the 6 months the game ran. While the websites below will give you an idea of the breadth of the experience, it is very difficult to re-create the excitement that came out of the constant reveal of new details, the launch of new sites, fragments of the story, etc.
Please refer to the video above for a (very brief) overview of the experience...
The Hanso Foundation
www.rachelblake.com
stophanso.rachelblake.com
Apollo Candy
HansoExposed
whereisalvar.com
The Lost Experience highlights the fine line between marketing and content in a hugely ambitious way, adding a sense of realism to a fictional show. It was about breaking the rules and doing something groundbreaking and new, finding ever more creative ways of storytelling and rewarding the most loyal fans. Ultimately it was about the wisdom of crowds, a truly global network of fans coming together to unfold a story, to tell it to others and to become an integral part of the story itself. The writers of LOST are amongst the best storytellers around today – this harnesses their skills in a fluid and non-traditional way, allowing a more collaborative reveal of plot and characters and harnessing the speculative nature of the show.
Launched in May 2006 there were five key stages to the Experience:
A specially filmed advert for The Hanso Foundation was broadcast on Channel 4 during the first episode of Season Two on May 2nd 2006 (and subsequently on ABC in the US). The advert led players (via a call centre) to the Hanso Foundation website (www.thehansofoundation.org) which was hacked by Rachel Blake revealing clues to players into the sinister activities of this apparently altruistic organisation.
In response to the hacking www.thehansofoundation.org is quickly shut down. Source code in the shut-down site guided users Rachel's travel blog at www.RachelBlake.com. The travel blog is revealed to be a video log from Rachel with further revelations about The Hanso Foundation and its senior staff.
A video revealing an explosive secret about The Hanso Foundation was then coded and hidden in 60 video fragments across the globe both online and offline. When the video codes were entered into www.hansoexposed.com the video fragments could be viewed as a whole. Channel 4 hid video fragments within E4 idents and hosted two 'flash mob' events in London and Manchester. To compile all the video clips relied on players from around the globe co-operating – the full sequence revealed the secret behind the famous numbers - 4 8 15 16 23 42.
Ten thousand Apollo bars, the chocolate bar featured in Lost Season One, were released in selected outlets across the UK. The chocolate bars were stamped with a new url, www.whereisalvar.com. A small number of chocolate bars contained a special code which, when entered onto the site, provided a clue to the final stage of the game.
The final phase was an Internet radio broadcast by DJ Dan, a well-known US shock-jock. During a live phone-in show he took a call from Rachel Blake who announced the final website leading to the ultimate secret of the Lost Experience – Rachel Blake was the daughter of Alvar Hanso, the founder of the Hanso Foundation.


When somebody gets an intricate bundle of Online Mixed Flowers Delivery in Gurgaon they are overwhelmed. They realize that you truly put some idea into this blessing and that you didn't simply arrange the least expensive roses you could discover. You set aside the opportunity to discover a truly incredible bunch that would talk the message you need to convey.
The trap is finding a blended bloom bunch that truly radiates the vibe you need to send. For example, you will get an alternate feeling from a bundle of brilliant sunflowers and yellow roses than you would get from a bunch that incorporates a blend of pink, purple, and white blossoms.
One advantage to sending Online Mixed Flowers Delivery in Gurgaon is the capacity to play around with shading. As opposed to simply picking one shade of rose you can pick a whole shading plan or a shading combo that just hops out of the vase and gets consideration.
Blended bunches don't need to incorporate fiver or six unique blooms jumbled together. Some look stupendous with that a lot of a mix, however others just join a few blossoms that play well in the vase together.
Dazzle The Day With Favorites' is a sweet and healthy way of making someone's day special. This is a combo of a Bunch of 12 Mixed Color Roses, 200 grams Pack of 16 Pieces Ferrero Rocher Chocolates and a Basket of Half kilogram Dry fruits.


I am looking for my real friend on the life path, reliable and sincere person for future who can accept me such as I am, who can love with all his heart without cheating and misleading. His heart is very important for me. Yes, we all have our shortcomings, but we should work at them, should help each other to become better, love can make wonders and can change people for better. I am looking for the relationships when we can complete each other and can feel really happy in this world.
I have kind heart, yes, people can abuse it, but still kindness brings more kindness back to us. I like smiling, bringing good to this world and just enjoying every moment.
Time on the nature, close to the water, camping and hiking is precious for me. We spend much time together with my daughter, we like our common activities and I receive pleasure from the feeling of being a mother.


Samples are on display at Templefield Lower School Reception.
Purchase on our online shop, purchase in person or collect and submit an order form to reception. Orders will be delivered to school or can be collected from Lowe-Go's.
Delivery normally within 48hours, with the exception of coats that are made to order if not in stock.
Lowe-Go's voluntarily donate to Templefield Lower School for every item sold.


This week we've released another patch, one of the main features of which is preventing building ridiculously long sleeping bag bridges on claims where you're not supposed to be dropping movable items. We've also toughened Outposts, so that players will actually fight for the ownership instead of one-sapper-charge guerilla griefing. You can read the detailed patch notes here.
We've also received a bunch of feedback on YO update - thank you so much for that. Some of you have been wondering how to change world color after the update. Here's some small instructions on how to do that. If you have any additional questions about the YO update, or need a guide on something, please let us know - we're always happy to help!
Another thing that we would like to share with you in this week's dev news is a bit more info about our lag compensation mechanism, how it works, and how it may help you in battle.
First of all, we want to remind you that we're using the authoritative server architecture, which means that all important calculations are made on the server side only. This renders the most serious hacks impossible for cheaters/hackers to use, such as speedhack, teleport, fly, no clip, instakill and other serious hacks that you might have seen in other games. This also means that, in order for a player to hit someone, they have to compensate their latency by aiming their attacks ahead of the enemy. Pro players have mastered these tactics, but it creates an inconsistent picture, where you can score the hit while swinging the air in front of your enemy or missing your attacks when swinging right at the back of an enemy running away from you.
In order to minimize, or completely remove such an effect, we've recently implemented a lag compensation mechanism. Basically, it keeps a couple of 'shades' of players in the world, a kind of trace of the player movements in the space over a period of time. When an attacker swings at their victim, our server checks the ping of the attacker and instead of checking the current position of the victim, the server picks one of the shades of the victim; the shade of the initial position of the victim when the attacker made their swing. As a result, the attacker will see a proper hit in the victim's model, which makes the game look more adequate. You must still predict player movements when swinging and shooting since arrows, as an example, do not fly with instant and consistent speed.
We want also to inform you that we still limit the maximum ping that is compensated. Thus terribly lagging players or those who are artificially lagging themselves will not gain an advantage of such a system.
Let us know how the lag compensation mechanism helped you in game, we are looking forward to your feedback.
So far I do not play pvp in the game so I do not even imagine what the mechanics will be like before and after the patch, but it is a fact that since I came back this thing happens to me that practically makes me impossible to play.
Everything is fine when I start, it usually takes a long time but it is normal in this game the initial load has always been very heavy, but if I start to move around the maps I do not usually get to cross a whole map that starts to freeze everything and the only solution is disconnect and reconnect.
Apparently it happens when I travel long distances.