Want to join? Log In or Join Now in seconds. English (United States)

CREATE A NEW ACCOUNT

{{registerModel.Error}}

Log In

/content/images/forum.png

Feedbacks

Get help from the knowledgeable Reddah Community and official Reddah Support!
/content/images/ambassador.png

Discuss on AD

A place for discussing the ads that reddah is currently running.
/content/images/contact_us.png

Contact Us

Get in touch with an Reddah Support technician. We are ready and willing to help you!
201
202
203

New Year's celebrations around the world

picture
picture
picture
2019
world submitted 8 years ago ago by b8c40ad899c64f9a88cfca87d90e5c34
picture

Revelers are ringing in 2019 with celebrations spanning the globe.

From Sydney's Opera House to New York's Times Square and beyond, fireworks will illuminate the night sky in parties festooned with confetti and sparklers.

We'll be adding photos to this story throughout the day as the clock strikes midnight in each time zone.

Fireworks light up the sky in front of the Twin Towers in Kuala Lumpur, Malaysia.

People attend New Year's celebrations in Seoul, South Korea.

Fireworks explode over the Victoria Harbor in Hong Kong.

A reveler wears glasses during a party in Quezon City, Philippines.

 

209

Thousands of tourists flee Thai islands as Tropical Storm Pabuk approaches

picture
picture
Thousands of people are fleeing Thai islands popular with tourists ahead of what could be the most devastating storm to hit in decades, officials told CNN on Thursday.
weather submitted 8 years ago ago by b8c40ad899c64f9a88cfca87d90e5c34
picture

Tropical Storm Pabuk is expected to make landfall about 7 p.m. local time Friday (5 a.m. ET) near the Chumphon archipelago, on the eastern border of Thailand's Surat Thani and Nakhon Si Thammarat provinces, but heavy rain has already arrived.

Tourist hotspots in the Gulf of Thailand, including Koh Samui, Koh Phangan and Koh Tao islands, along with islands in the Andaman Sea such as Phuket and Koh Phi Phi -- made famous by the movie "The Beach" -- are expected to be affected by the storm.

"We are still compiling the number of evacuees. I can say several thousand people for over 16 provinces," government spokesman Putthipong Punnakanta told CNN by phone.

"It is high season, there are many foreign tourists at popular destinations. We have informed them in advance since two days ago. I would say most of them have left islands and come to the mainland."

Phuwieng Prakhammintara, director general of Thailand's Meteorological Department, told CNN the storm could cause waves as high as seven meters (22 feet), but that waves were more likely to reach 3 to 5 meters in height.

Schools in coastal areas are to be closed and Thailand's armed forces are on standby for Pabuk's arrival.

Thai men move a fishing boat to a safer location in Songkhla, southern Thailand, in preparation for storm weather conditions on Thursday.

Bangkok Airways announced the cancellation of all flights to and from Koh Samui on Friday "for safety reasons." Affected passengers will be able to rebook their flights without paying fees or charges, the airline said.

After crossing the Chumphon Archipelago the storm will, if the current track holds, make a second landfall over Surat Thani province early Saturday.

212

v1.0

.test{}
submitted 7 years ago ago by 877285a6b9fb4b5cbe9dd43d11700177
picture
Quickstart for MSAL JS

Welcome to MSAL.js Quickstart





    

213

Why Brazil's Jair Bolsonaro has environmentalists worried for the Amazon

picture
picture
The Amazon rainforest is an ecological wonder. Its waterways and canopy provide a rich ecosystem for a 10th of all the world's species and help regulate the temperature of the entire planet.
world submitted 8 years ago ago by b8c40ad899c64f9a88cfca87d90e5c34
picture

Existing threats

The forest is being cut down to make way for activities like cattle ranching, soy bean farming, mining, hydropower dams and new highways.

Deforestation fell dramatically between 2004 and 2012, but in recent years it has been increasing, and the powerful agricultural lobby in the Brazilian congress is pushing for more development of the forest. It endorsed Bolsonaro during his election campaign.

A fire burns trees next to grazing land in the Amazon basin on November 22, in Ze Doca, Brazil, 2014. Fires are often set to clear forest for grazing land.

Indigenous lands

Brazil's Ministry of Agriculture is heavily influenced by the agricultural lobby. Soon after taking office this week, Bolsonaro signed an executive order giving the ministry responsibility for certifying indigenous lands as protected territories.

About 13% of Brazil is legally designated as indigenous land, mostly in the Amazon. That land is reserved for the country's 900,000 indigenous people (less than 0.5% of the population). Indigenous groups said the president's order would lead to "an increase in deforestation and violence against indigenous people."

214

var canvas = document.getElementById("canvas"), ctx = canvas.getContext("2d"), img = new Image(), effectEl = document.getElementById("effect"), settings = { radius: 4, intensity: 25, ApplyFilter: function() { doOilPaintEffect(); } } img.addEventListener('load', function() { // reduced the size by half for pen and performance. canvas.width = (this.width / 2); canvas.height = (this.height / 2); ctx.drawImage(this, 0, 0, canvas.width, canvas.height); doOilPaintEffect(); }); img.crossOrigin = "Anonymous"; img.src = "https://wow.techbrood.com/uploads/161001/normal2.jpg"; //var gui = new dat.GUI(); //gui.add(settings, 'intensity'); //gui.add(settings, 'radius'); //gui.add(settings, 'ApplyFilter'); function doOilPaintEffect() { oilPaintEffect(canvas, settings.radius, settings.intensity); } function oilPaintEffect(canvas, radius, intensity) { var width = canvas.width, height = canvas.height, imgData = ctx.getImageData(0, 0, width, height), pixData = imgData.data, // change to createElement getting added element just for the demo destCanvas = document.getElementById("dest-canvas"), dCtx = destCanvas.getContext("2d"), pixelIntensityCount = []; destCanvas.width = width; destCanvas.height = height; var destImageData = dCtx.createImageData(width, height), destPixData = destImageData.data, intensityLUT = [], rgbLUT = []; for (var y = 0; y < height; y++) { intensityLUT[y] = []; rgbLUT[y] = []; for (var x = 0; x < width; x++) { var idx = (y * width + x) * 4, r = pixData[idx], g = pixData[idx + 1], b = pixData[idx + 2], avg = (r + g + b) / 3; intensityLUT[y][x] = Math.round((avg * intensity) / 255); rgbLUT[y][x] = { r: r, g: g, b: b }; } } for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { pixelIntensityCount = []; // Find intensities of nearest pixels within radius. for (var yy = -radius; yy <= radius; yy++) { for (var xx = -radius; xx <= radius; xx++) { if (y + yy > 0 && y + yy < height && x + xx > 0 && x + xx < width) { var intensityVal = intensityLUT[y + yy][x + xx]; if (!pixelIntensityCount[intensityVal]) { pixelIntensityCount[intensityVal] = { val: 1, r: rgbLUT[y + yy][x + xx].r, g: rgbLUT[y + yy][x + xx].g, b: rgbLUT[y + yy][x + xx].b } } else { pixelIntensityCount[intensityVal].val++; pixelIntensityCount[intensityVal].r += rgbLUT[y + yy][x + xx].r; pixelIntensityCount[intensityVal].g += rgbLUT[y + yy][x + xx].g; pixelIntensityCount[intensityVal].b += rgbLUT[y + yy][x + xx].b; } } } } pixelIntensityCount.sort(function(a, b) { return b.val - a.val; }); var curMax = pixelIntensityCount[0].val, dIdx = (y * width + x) * 4; destPixData[dIdx] = ~~(pixelIntensityCount[0].r / curMax); destPixData[dIdx + 1] = ~~(pixelIntensityCount[0].g / curMax); destPixData[dIdx + 2] = ~~(pixelIntensityCount[0].b / curMax); destPixData[dIdx + 3] = 255; } } // change this to ctx to instead put the data on the original canvas dCtx.putImageData(destImageData, 0, 0); } window["reddahApi"].loadCompleted()

body { text-align: center; background: #ececec; font-family: Tahoma, Geneva, sans-serif } section { display: inline-block } canvas { border: 1px solid #000 }
submitted 7 years ago ago by 1b54d14be50240948fc53b199a461f52
picture

Original

仿PS油画滤镜特效

216
picture

Franck Ribery: Gold-coated steak backlash earns 'heavy fine'

His meal of gold-coated steak drew ire on social media for being ostentatious, but Franck Ribery's foul-mouthed response earned him a "heavy fine" from his club Bayern Munich.
sport submitted 8 years ago ago by b8c40ad899c64f9a88cfca87d90e5c34
picture

Franck Ribery warms up during the Bayern Munich training camp in Doha.

"He used words that we, FC Bayern, cannot accept and that Franck does not have the right to use, as a role-model and player of FC Bayern."

The statement added Ribery was invited to try the steak as part of an advertising campaign while on holiday in Dubai.

It denied reports he paid 1200 euros for the steak, but added that Ribery and his family were "savagely attacked" on social media before he "publicly "stood up for his family and fought back."

However, talking at the club's training camp in Doha, Salihamidzic said the response was inappropriate.

217

var canvas = document.getElementById("canvas"), ctx = canvas.getContext("2d"), img = new Image(), effectEl = document.getElementById("effect"), settings = { radius: 4, intensity: 25, ApplyFilter: function() { doOilPaintEffect(); } } img.addEventListener('load', function() { // reduced the size by half for pen and performance. canvas.width = (this.width / 2); canvas.height = (this.height / 2); ctx.drawImage(this, 0, 0, canvas.width, canvas.height); doOilPaintEffect(); }); img.crossOrigin = "Anonymous"; img.src = "https://login.reddah.com/uploadPhoto/5a28b388b6db4efea5656f2670acd937_reddah_preview.jpg"; //"https://wow.techbrood.com/uploads/161001/normal2.jpg"; //var gui = new dat.GUI(); //gui.add(settings, 'intensity'); //gui.add(settings, 'radius'); //gui.add(settings, 'ApplyFilter'); function doOilPaintEffect() { oilPaintEffect(canvas, settings.radius, settings.intensity); } function oilPaintEffect(canvas, radius, intensity) { var width = canvas.width, height = canvas.height, imgData = ctx.getImageData(0, 0, width, height), pixData = imgData.data, // change to createElement getting added element just for the demo destCanvas = document.getElementById("dest-canvas"), dCtx = destCanvas.getContext("2d"), pixelIntensityCount = []; destCanvas.width = width; destCanvas.height = height; var destImageData = dCtx.createImageData(width, height), destPixData = destImageData.data, intensityLUT = [], rgbLUT = []; for (var y = 0; y < height; y++) { intensityLUT[y] = []; rgbLUT[y] = []; for (var x = 0; x < width; x++) { var idx = (y * width + x) * 4, r = pixData[idx], g = pixData[idx + 1], b = pixData[idx + 2], avg = (r + g + b) / 3; intensityLUT[y][x] = Math.round((avg * intensity) / 255); rgbLUT[y][x] = { r: r, g: g, b: b }; } } for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { pixelIntensityCount = []; // Find intensities of nearest pixels within radius. for (var yy = -radius; yy <= radius; yy++) { for (var xx = -radius; xx <= radius; xx++) { if (y + yy > 0 && y + yy < height && x + xx > 0 && x + xx < width) { var intensityVal = intensityLUT[y + yy][x + xx]; if (!pixelIntensityCount[intensityVal]) { pixelIntensityCount[intensityVal] = { val: 1, r: rgbLUT[y + yy][x + xx].r, g: rgbLUT[y + yy][x + xx].g, b: rgbLUT[y + yy][x + xx].b } } else { pixelIntensityCount[intensityVal].val++; pixelIntensityCount[intensityVal].r += rgbLUT[y + yy][x + xx].r; pixelIntensityCount[intensityVal].g += rgbLUT[y + yy][x + xx].g; pixelIntensityCount[intensityVal].b += rgbLUT[y + yy][x + xx].b; } } } } pixelIntensityCount.sort(function(a, b) { return b.val - a.val; }); var curMax = pixelIntensityCount[0].val, dIdx = (y * width + x) * 4; destPixData[dIdx] = ~~(pixelIntensityCount[0].r / curMax); destPixData[dIdx + 1] = ~~(pixelIntensityCount[0].g / curMax); destPixData[dIdx + 2] = ~~(pixelIntensityCount[0].b / curMax); destPixData[dIdx + 3] = 255; } } // change this to ctx to instead put the data on the original canvas dCtx.putImageData(destImageData, 0, 0); } window["reddahApi"].loadCompleted()

body { text-align: center; background: #ececec; font-family: Tahoma, Geneva, sans-serif } section { display: inline-block } canvas { border: 1px solid #000 }
submitted 7 years ago ago by 1b54d14be50240948fc53b199a461f52
picture

Original

仿PS油画滤镜特效

219

v1.0

.test{}
submitted 7 years ago ago by 877285a6b9fb4b5cbe9dd43d11700177
picture
Quickstart for MSAL JS

Welcome to MSAL.js Quickstart





    

220

var canvas = document.getElementById("canvas"), ctx = canvas.getContext("2d"), img = new Image(), effectEl = document.getElementById("effect"), settings = { radius: 4, intensity: 25, ApplyFilter: function() { doOilPaintEffect(); } } img.addEventListener('load', function() { // reduced the size by half for pen and performance. canvas.width = (this.width / 2); canvas.height = (this.height / 2); ctx.drawImage(this, 0, 0, canvas.width, canvas.height); doOilPaintEffect(); }); img.crossOrigin = "Anonymous"; img.src = "https://login.reddah.com/uploadPhoto/5a28b388b6db4efea5656f2670acd937_reddah_preview.jpg"; //"https://wow.techbrood.com/uploads/161001/normal2.jpg"; //var gui = new dat.GUI(); //gui.add(settings, 'intensity'); //gui.add(settings, 'radius'); //gui.add(settings, 'ApplyFilter'); function doOilPaintEffect() { oilPaintEffect(canvas, settings.radius, settings.intensity); } function oilPaintEffect(canvas, radius, intensity) { var width = canvas.width, height = canvas.height, imgData = ctx.getImageData(0, 0, width, height), pixData = imgData.data, // change to createElement getting added element just for the demo destCanvas = document.getElementById("dest-canvas"), dCtx = destCanvas.getContext("2d"), pixelIntensityCount = []; destCanvas.width = width; destCanvas.height = height; var destImageData = dCtx.createImageData(width, height), destPixData = destImageData.data, intensityLUT = [], rgbLUT = []; for (var y = 0; y < height; y++) { intensityLUT[y] = []; rgbLUT[y] = []; for (var x = 0; x < width; x++) { var idx = (y * width + x) * 4, r = pixData[idx], g = pixData[idx + 1], b = pixData[idx + 2], avg = (r + g + b) / 3; intensityLUT[y][x] = Math.round((avg * intensity) / 255); rgbLUT[y][x] = { r: r, g: g, b: b }; } } for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { pixelIntensityCount = []; // Find intensities of nearest pixels within radius. for (var yy = -radius; yy <= radius; yy++) { for (var xx = -radius; xx <= radius; xx++) { if (y + yy > 0 && y + yy < height && x + xx > 0 && x + xx < width) { var intensityVal = intensityLUT[y + yy][x + xx]; if (!pixelIntensityCount[intensityVal]) { pixelIntensityCount[intensityVal] = { val: 1, r: rgbLUT[y + yy][x + xx].r, g: rgbLUT[y + yy][x + xx].g, b: rgbLUT[y + yy][x + xx].b } } else { pixelIntensityCount[intensityVal].val++; pixelIntensityCount[intensityVal].r += rgbLUT[y + yy][x + xx].r; pixelIntensityCount[intensityVal].g += rgbLUT[y + yy][x + xx].g; pixelIntensityCount[intensityVal].b += rgbLUT[y + yy][x + xx].b; } } } } pixelIntensityCount.sort(function(a, b) { return b.val - a.val; }); var curMax = pixelIntensityCount[0].val, dIdx = (y * width + x) * 4; destPixData[dIdx] = ~~(pixelIntensityCount[0].r / curMax); destPixData[dIdx + 1] = ~~(pixelIntensityCount[0].g / curMax); destPixData[dIdx + 2] = ~~(pixelIntensityCount[0].b / curMax); destPixData[dIdx + 3] = 255; } } // change this to ctx to instead put the data on the original canvas dCtx.putImageData(destImageData, 0, 0); } window["reddahApi"].loadCompleted()

body { text-align: center; background: #ececec; font-family: Tahoma, Geneva, sans-serif } section { display: inline-block } canvas { border: 1px solid #000 }
submitted 7 years ago ago by 1b54d14be50240948fc53b199a461f52
picture

Original

仿PS油画滤镜特效

221
222

World's richest horse races: The top six prize pots in racing

picture
picture
picture
In horse racing, the rich tend to get richer. Prize funds are growing, and in a select handful of uber-rich races the pot can be eye-popping.
sports submitted 8 years ago ago by b8c40ad899c64f9a88cfca87d90e5c34
picture

Pegasus World Cup

Introduced in 2017 as the richest race on the planet , the Pegasus World Cup is the epitome of American lavishness. The nine-furlong (1? miles ) race is run over a dirt track at Gulfstream Park, Florida and is intended as a showdown for experienced racers of four years old or above.

For its second running in 2018, the prize pot was boost by $4 million to $16 million with an entry fee for each of the 12 slots of $1 million. The organizer added the rest.

The winner, Gun Runner, collected an astonishing $7 million in 2018.

However, for 2019 the prize pot will be split across two Grade 1 races -- the Pegasus World Cup Invitational and the new Pegasus World Cup Turf Invitational over 1 3/16 miles.

The revamped Pegasus World Cup Invitational will command a prize fund of $9 million with $4 million going to the winner, while the turf race will offer a pot of $7 million with the winner bagging $3 million.

Entry to each race costs $500,000 with an owner scooping a bonus $1 million if they win both events.

In 2018, the Pegasus World Cup boasted the highest prize money in the world with bumper prize money of $16 million.

Simply put, the sport of kings can yield a king's ransom.

Here is a look at some of the richest events on the horse racing calendar.

The Dubai World Cup

Due to the new format of the Pegasus World Cup, the Dubai World Cup can now regain its position as the richest horse race in the world.

Held at the Meydan Racecourse, United Arab Emirates (UAE), the Grade 1 race has been run every year since 1996, marking the end of the UAE racing season.

The prize fund has been boosted to $12M and the winner of the 2019 edition will take home an eye-watering $7.2 million.

Godolphin, the racing stable of Dubai ruler Sheikh Mohammed bin Rashid Al Maktoum, has particularly enjoyed the event. It celebrated its record seventh victory in 2018 as Thunder Snow, trained by Saeed bin Suroor, set a new dirt-track record.

Run over mile-and-a-quarter (10 furlongs), the race invites four-year-olds or above from the Northern Hemisphere and three-year-olds or above from the Southern Hemisphere.

223
picture

How to tell when your body needs a break

We've all been there: Just when you're getting into the groove of your new workout obsession — wham!
health submitted 8 years ago ago by b8c40ad899c64f9a88cfca87d90e5c34
picture

1. You're always sore.
Sure, a bit of muscle soreness (hello, DOMS) after a particularly strenuous workout is totally normal, especially if you're newer to exercise or you're switching up your routine. But if you're exercising regularly, you shouldn't constantly be feeling sore, says Tamir. Depending on the muscle group, you should always give your muscles 24 to 48 hours to recover between training sessions, and if you still feel sore, it's possible you're overtraining. According to Rice University, "Overtraining can best be defined as the state where the athlete has been repeatedly stressed by training to the point where rest is no longer adequate to allow for recovery." Persistent muscle soreness, getting sick more often, or frequent injuries are all physical symptoms of overtraining. Fortunately, recovery is simple — just take it easy for a few days!
2. You're constantly tired or moody.
Moodiness, depression and fatigue are also indications that you might be overtraining. Most of us have heard that exercise is supposed to make us happier, thanks to a rush of endorphins — a stress-fighting chemical — in the brain. (Fun fact: Endorphins also help prevent you from noticing the pain of exercising. Thanks, brain!) However, those endorphins are also accompanied by cortisol, a stress hormone. And when cortisol levels remain high for an extended period, they take a toll on mental health.
3. Your heart rate is abnormal.
One of the best ways to gauge if you've been overtraining is to check your heart rate, Tamir says. "I'll take my resting heart rate in the morning. If I'm above my normal, then I know that my body is not really ready for a hard workout that day. That's one of the best ways to judge your readiness to exercise." Rice University notes that a lower-than-normal heart rate can indicate overtraining, too. Ready to experiment with this method? Try taking your resting heart rate daily to figure out what's normal for you.
4. You're stiff all the time.
If a few too many days of pounding the pavement leaves you unable to bend over and pick up a penny off the sidewalk without creaking knees, it might be time to take it easy for a while. "If your body doesn't have the proper mobility, you're going to create dysfunction in your movement pattern," Tamir says. In other words, doing the same activity over and over (running, cycling, lifting) without proper recovery is going to cause injury. Tamir recommends stretching and foam rolling on your recovery days to keep your body limber and prevent injury.
5. Your pee is dark yellow.
Yep, we had to go there. While most people are more aware of the need to stay hydrated while exercising, says Tamir, many of us start to exercise when we're already dehydrated. Urine is one easy indication that we're too dehydrated to start working out. Common culprits include having a few drinks the night before exercising or getting up in the a.m. and drinking nothing but coffee. Think you can rehydrate while working out? Afraid not. It takes at least 45 minutes for the body to recover from even mild dehydration.
The best thing about noticing these symptoms? It's a whole lot easier to relax, stretch and drink H2O than it is to recover from an injury or serious overtraining. A little R&R is just what your body ordered!

224

The Netherlands is paying people to cycle

picture
picture
picture
With 17 million residents and 23 million bicycles, the Netherlands already has more bikes than people. Now, it wants to get even more cyclists on the roads -- and will pay people to do it.
travel submitted 8 years ago ago by b8c40ad899c64f9a88cfca87d90e5c34
picture

The Dutch government recently announced that it will invest $390 million (€345 million) in cycling infrastructure to get 200,000 more people commuting by bike in three years' time.

Fifteen routes will be developed into "cyclist freeways" (highways that cater to those on bikes), 25,000 bike parking spaces will be created and more than 60 bike storage facilities will be upgraded, according to the Ministry of Infrastructure and Water Management.

"My ambition is to ensure that people can easily get to work or school, or visit family and friends," says Stientje van Veldhoven, state secretary for that department, who is spearheading the project.

Getting more people on bikes

It's not that people aren't already cycling in the Netherlands. In 2016, over a quarter of all trips made by Dutch residents were by bike, according to the Netherlands Institute for Transport Policy Analysis.
But only 25% of those trips were work-related, compared to 37% which were made for leisure. The rest were for school, shopping, or other activities.
According to van Veldhoven, more than 50% of people in the Netherlands live less than 15 kilometers from work, and more than half of commuters' car trips are under 7.5 kilometers long -- a distance that "can easily be covered by bike," she says.

To get people to ditch their cars, money is being laid on the table.

The Netherlands currently rewards commuting cyclists with tax credits of $0.22 (€0.19) per kilometer. Companies and employees would agree on the distance of a person's cycling route.

However, this is currently a little-known benefit not supported by many employers, according to the infrastructure ministry. That's something the government is hoping to change by better promoting the scheme and getting more companies on board.

There are already 11 major employers in the Netherlands committing to measures such as financing employees' bikes. The government is urging employers to provide better facilities for commuting cyclists, such as showers at the office, according to the ministry.

225
picture

'I can't practice': Nadal reveals how he lived 'tragedy' of Mallorca floods

It's business as usual at the Rafa Nadal Academy in Manacor, on the Spanish island of Mallorca, the week before Christmas.
sports submitted 8 years ago ago by b8c40ad899c64f9a88cfca87d90e5c34
picture

Rafael Nadal, the "King of Clay" with 17 grand slam titles to his name, is in a good mood as he drains a can of Coke while talking about his comeback from injury and surgery following an intense two-and-a-half practice session in the morning.

But when asked about the flash floods that struck Mallorca in October, killing 13 people, the former world No. 1 goes quiet.

"It was terrible," Nadal told CNN Sport in an exclusive interview at his academy. "Scary, and very sad."

Most of the deaths occured in the town of Sant Llorenç des Cardassar, near Manacor, after 20 centimeters (8 inches) of rain fell in just four hours.

View more: < Prev Next > or try a Random SubReddah