text:
Not when but how: Big Tech regulation is on the way
by Matthew Gwyther.
As part of the Ethics of Disruption programme in partnership with Stifel, Matthew Gwyther reflects and reports on a roundtable discussion, hosted in early September, which explored how policymakers should best respond to rapid changes in the technology landscape, especially surrounding FinTech, AI and Robotics. How can we help build a regulatory system that properly reflects a healthy tech-led future – and protects the citizen and democracy at the heart of it all?
If you would like to participate or find out more about
the programme get in touch.
When Kim Kardashian West starts advocating boycotts of social media platforms you know something deep might finally be stirring in the depths of discontent with Big Tech. The reality show A-lister announced in mid-September that she would freeze her Facebook, Instagram and other digital activity to protest against the spread of "hate, propaganda and misinformation". Doubtless mindful not to spend too long biting the hand that feeds her, Kardashian announced that she would stay away from the keyboard and smartphone for a mere 24 hours.
Maybe Kardashian had watched the July appearance of the leaders of Amazon, Apple, Facebook and Google in front of the US Congress' House Antitrust subcommittee with interest. (Ok. Maybe not.) This was the highest-profile hearing into antitrust and competition since the 1970s. Blows were unquestionably landed on Zuckerberg, Cook et al but the hearing also illustrated how broad, complex and technical the cases against these companies are, and how difficult they are to make in the brief sound bites that form the simple currency of political debate.
It took some time for the committee members to get to Amazon founder and CEO Jeff Bezos, who was giving his very first congressional testimony. But once they did, they landed some of their hardest hits. Nappies proved Bezos' undoing. The subcommittee had got their hands on internal emails showing that, in 2009, Amazon deliberately began selling diapers at a loss in order to muscle Diapers.com out of the market and force the company to accept a takeover. This achieved, Amazon then hiked nappy prices back up.
One email baldly declared that "these guys are our #1 short term competitor… We need to match pricing on these guys no matter what the cost." The evidence clearly showed that Amazon was willing to lose an astounding $200 million to execute the strategy. Such predatory pricing at a loss in order to drive out the competition is illegal in a very old fashioned and non-digital way.
"Since the start of 2020, the worth of Amazon is reckoned to have increased by more than half, to $1.49 trillion (£1.1tn)"
A different predator – COVID – has been good for Big Tech. Traditional bricks and mortar shops may be in freefall and landlords desperate to collect what rent they can, but since the start of 2020, the worth of Amazon is reckoned to have increased by more than half, to $1.49 trillion (£1.1tn). In September it announced quarterly sales up 40% on the same period last year.
Much of this has been driven by what the pandemic has done to people's buying habits, and the share of the chain's retail e-commerce market: now put at 44% in the US and around 30% in the UK. (Amazon has a 30% share of the UK market which is the third largest in the world after the US and China.) But also relevant is Amazon's Web Services division, which has cleaned up on the working-from-home new normal as companies have shifted more of their activities to the online cloud.
Meanwhile, in the UK, the government in late Spring accepted the recommendations of the Digital Competition Expert Panel, chief among which was to set up a "digital markets unit" (DMU), a regulator to oversee big tech companies and encourage competition online. That panel was chaired by Professor Jason Furman, an American economist and Professor at the Kennedy School of Government at Harvard.
"The digital sector has created substantial benefits but these have come at the cost of increasing dominance of a few companies which is limiting competition and consumer choice and innovation. Some say this is inevitable or even desirable. I think the UK can do better," wrote Furman.
In the report, the panel wrote that it believed competition policy should be "given the tools to tackle new challenges, not radically shifted away from its established basis." In particular, "policy should remain based on careful weighing of economic evidence and models," they suggested, arguing also that "consumer welfare" remains the "appropriate perspective to motivate competition policy" — and rejected the idea that a completely new approach is needed.
Then, on July 1st, the UK Competition and Markets Authority released its study of the digital advertising market. Google and Facebook were under examination here. It identified problems "so wide-ranging and self-reinforcing that our existing powers are not sufficient to address them". It set up a taskforce to figure out what a new regulatory framework might look like.
Things are stirring in the world of tech regulation. Economic power in many industries is more concentrated than it has been in a century. However, tech has performed best and, due to its all-encompassing nature, has more impact on our democracy, public health, privacy and economy. Many now clearly feel that a growing proportion of that impact has been negative. There is no doubting the myriad social benefits that come from internet platforms or smartphones. Users spend increasingly large proportions of their waking lives on them. And they are "free."
However, people are discovering that it is possible to love the services of Facebook and Google and question whether the benefits justify the harm. They wonder why they cannot have the good without the bad. It is, to coin a social media term, "complicated." Whereas more than 4 in 5 of those Brits polled in a YouGov survey said they distrust Facebook and Twitter, a full sixth implicitly accept anything a friend shares with them on social media as fact.
The subject "Regulating Tech, Big and Small – Ain't No Stopping Us Now" was the title of the latest Jericho (virtual) roundtable discussion supported by Stifel Europe. There were four questions considered by the panel.
First, the effects of COVID have been hugely to the benefit of Big Tech. Not only have we new kids on the block in the form of Zoom but the existing US behemoths have pressed home advantage. Is this likely to see a more "lenient" approach as we recognise the benefits brought or likely to increase the chances of, for example, a digital sales tax?
Second, how have the effects of the pandemic changed attitudes towards privacy and the use of data for the common good, specifically in the realm of health?
Third, are we currently approaching regulation with a sunset mindset for sunrise industries? The agility of flexibility of modern tech organisations combined with the speed with which they can move to neutralise threats or capitalise on new opportunities threatens to leave regulators hardly out of the starting blocks.
Fourth, in the realm of electoral politics is this a question of regulating machinery, services and systems, or regulating humans? How do regulators deal with Deep Fakes and/ or Russian bots if social media businesses are unable to do so themselves?
"Certain obligations go with this newly found great power and I'm not sure Tech is ready for where it's found itself"
Eithne O'Leary, CEO of Stifel Europe, opened the conversation. "The six months of COVID have led us to an inflection point in digital adoption. A verb that didn't exist last year – to Zoom – will now make it into the Oxford English Dictionary. It's the human side, how to deal with ethical issues, that interests me as a member of a sector that went through great difficulty just over a decade ago. Certain obligations go with this newly found great power and I'm not sure Tech is ready for where it's found itself."
The opening provocation came from Chi Onwurah, the MP for Newcastle Upon Tyne Central and Shadow Minister for Science, Research and Digital. "Tech and the digital world are the biggest things since the arrival of electricity," she said. "And I'm proud that, as an electrical engineer before entering politics, I spent 23 years in telecoms helping to build the internet. We would certainly regard ourselves as the party of the white heat of technology. Tech changes lives for the better: it has made working from home possible and enabled grandparents and grandchildren to have some sort of contact in the last six months. We have three million people working in the sector.
"But it now needs proper regulation. Tim Berners-Lee says so, as does the NSPCC, even Facebook admits it needs it. There is too much power in unaccountable bodies and COVID has provided a tipping point. The internet of things is coming fast and its impact will be profound.
"The opposite of regulation is bad regulation. We had a best in class regulator in OFCOM but the government missed the chance to do any forward-looking to strengthen it in 2013. The world is online and the automatic nature of possible harms – with algorithms and bias – makes it different from other sectors where humans make decisions.
"Digital is at the heart of almost every policy area – so we need principles to apply to make it safer, fairer and more inclusive"
"Digital is at the heart of almost every policy area – so we need principles to apply to make it safer, fairer and more inclusive. This regulation needs to be agile and robust. It cannot be a reactive 'whack-a-mole' approach addressing harms only when they arise. We now need a principled framework which addresses future possible harms. It must work for all of us."
Chi's contention goes to the heart of how regulation and competition law work. Competition law generally works on the principle of "ex-post" enforcement rather than what lawyers term "ex-ante" regulation. Broad rules are applied across sectors; antitrust authorities investigate and fine companies that breach them. However, many now contend that for a sector as big, and fast-moving as tech, this simply no longer works. Harms are hard to prove, and in any case, companies just pay up and move on. Fines are priced in. A new UK regime, which complements the existing one, might create "ex-ante" rules specific to online platforms such as Google and Facebook (and potentially Apple and Amazon). Thus they prevent harms rather than deal with them "post" or after they have occurred.
"We're now in a data saturated world and you can sensibly ask 'what is a non-digital company?' The ICO is in the game and the scope is huge"
Simon McDougall is Deputy Commissioner – Regulatory Innovation and Technology – at the Information Commissioner's Office (ICO), having previously worked in the private sector. "We're now in a data-saturated world and you can sensibly ask 'what is a non-digital company?' The ICO is in the game and the scope is huge," he said. "We look at everything from Facebook and Cambridge Analytica to Google and Ad Tech plus real-time bidding. Data protection has gone massive on us but it's also true though that the scale of large digital platforms has value. The government has said that after Brexit the UK will pursue its own data protection policies."
Although he was keen not to complain about resources he made a significant point that the ICO is comprised of 700 people with three-quarters of a million organisations on its register. By contrast, the FCA has 3,500 people looking at 59,000 firms. "Something has to give and change is now inevitable," he continued. "But it needs to be bespoke for the different potential harms. We now overlap with and consult with OFCOM and the Competition and Markets Authority far more than used to be the case. In 2-5 years it will have to be a portfolio approach as change for the regulators becomes inevitable and it's welcome. The ICO can't regulate on its own."
He also worried that we suffer from a lack of experts in the area in the UK. "What regulators of tech have to deal with is huge and it's daunting. But it's no longer in the too hard box. We're getting there. We're making proper progress on market dominance, online harms, disinformation and illegal information. GDPR can be built on and that may happen. But here in the UK when it comes to policymakers, experts and politicians there are very varied levels of engagement and sophistication among that community. Some get it. Many others don't.
So I would make a plea – we need more experts, more brains in this area." Andrew Beckett is Kroll's leader for its Cyber Risk practice in EMEA and began his career at GCHQ. He wondered if the modus operandi of the traditional UK regulator works with Big Tech: "When it comes to stovepiped monopolies such as the utilities, our system can be effective. But tech is different. It concerns me that regulators must work out how to support the new, disruptive tech businesses. It should be far easier for them to reach the market quickly and make a difference than it currently is."
Luciano Floridi is Professor of Philosophy and Ethics of Information and Director of the Digital Ethics Lab at Oxford University. He is one of the leading thinkers considering the effects of tech in our lives and is clear about its all-encompassing nature. He agreed that tech is sui generis when it comes to regulation and believes Big Tech is taking over 20th-century sovereign power but without any true accountability. The counterpart of political accountability – voting in a democracy – is competition in business and that is lacking. "It's a habitat, an ecosystem, a landscape," he said. "You don't lean on tech and the internet the way you do on radio, TV or a newspaper. Mark Zuckerberg wants us to think of him as half newspaper, half telco. No. That's just too convenient. What he provides is a public square and that's a different story. You cannot shout whatever you want in public space.
"We cannot accept that it's a matter of online versus offline harms. That is so 1990s. It's not bullying in the school classroom as opposed to bullying on Facebook. There is no longer any divide." He even provided an equation to illustrate this – "Online+Offline=Onlife."
"The regulatory baseline is what kind of a society do you want to live in," he continued. "So these are ethical questions. Basic principles. The answer when Big Tech says it's moving too fast to regulate and that we'll never catch up is we are going to tell you where to go. Well, great if you can get there fast – the speed is up to you – but we want a say in the direction."
Benjamin Barnard, head of Tech Policy at the Policy Exchange think tank also wondered about how the government had its own house in order when it came to tech and use of its vast troves of data. "Government has a role as a regulator but what is its proper role in all this as far as its own huge data store is concerned?" he asked. "There's a newly published National Data Strategy and DCMS has lost responsibility for cross-government data to the Cabinet Office but the implications of this for the private sector are not yet clear." There was a sense, expressed by several panel members that the pace of true innovation from Big Tech was now slowing as they sought to consolidate their dominant positions. In short, the tech revolution of the last twenty years has brought a tide of competition and innovation that has disrupted many industries.
However that tide is now starting to go out, and the new landscape is less competitive than what went before. "They want to slow things down now," said one-panel member. "They put up kill zones, dig moats, erect barriers. A lot of the real innovation is now coming from China – such as in the area of facial recognition – and it's scary. But they don't have to worry about regulation."
"People actually trust tech companies more with their data than they do government"
Kathryn Parsons was one of the founders of Decoded which aims to increase digital literacy. She seemed a lone voice in the defence of the tech world. "What worries me is you really don't want policy made in a fearful way that hits three years too late," she said. "People actually trust tech companies more with their data than they do government. I sit on the board as a non-executive at BEIS (Business Energy and Industrial Strategy, a government department) and people in government are among the least digitally skilled groups of individuals. Certainly, big tech companies want growth, scale and as much data as they can get. But it won't do just to write them off as evil."
Don't Be Evil
One thing is for sure. Big Tech will not be a passive agent in any new regulatory environment. Eric Schmidt – when he chaired Google – famously noted: "I wake up in the morning and I fight regulation. It's what I do. It's my job."
Google, Amazon, Microsoft, Facebook, and Apple are among the biggest individual corporate lobby spenders in Brussels. Their most recent lobby declarations show a combined €21 million spent lobbying the EU. This outspends the automotive sector – traditionally the one with deep pockets – by 300% Schmidt also famously boasted of Google: "We know where you are. We know where you've been. We can more or less know what you're thinking about. " Not even an authoritarian and efficient government like the one in China could say it actually wields that power, as much as it may wish it did. But in the West such levels of power tend to be accountable via the ballot box.
It's fascinating to wade through the 450 odd pages of responses to Professor Furman's request for evidence to his Digital Competition Expert Panel. Rarely a light read it explores the deep complexities of the debate very well and it must be said makes alarming reading for a layperson relatively unconcerned by what is happening beneath the digital surface as he/she shops on Amazon while working from home or posts some amusing pictures on Instagram. You can read it here.
At opposite ends of the spectrum are the contentions of the Daily Mail's owner DMG Media and the American Chamber of Commerce in Europe. On the one side are accusations of predatory and destructive business behaviour that threatens plurality of speech and the foundations of our democracy on the other a "there is no problem here." If the ex-editor of the Daily Mail, Paul Dacre, really does become the chairman of OFCOM, as has been mooted, it could make for very interesting times.
Meanwhile, to return Stateside, the US House Judiciary Committee produced its report in early October. Its conclusion included the following: "To put it simply, companies that once were scrappy, underdog start-ups that challenged the status quo have become the kinds of monopolies we last saw in the era of oil barons and railroad tycoons."
The discussion was attended by:
Benjamin Barnard, Head of Technology Policy, Policy Exchange
Andrew Beckett, Managing Director and EMEA Cyber Risk, Kroll
Kate Davies, Director of Strategy & Policy, Ofcom
Erickson Davis, Managing Director, Head of European Equities, KBW Europe
Dr Karen Elliott, Associate Professor, Newcastle University
Luciano Floridi, Professor of Philosophy and Ethics of Information and Director of the Digital Ethics Lab University of Oxford
Matthew Gwyther, Partner, Jericho Chambers (Rapporteur)
Simon McDougall, Deputy Commissioner – Regulatory Innovation and Technology, Information Commissioner's Office
Eithne O'Leary, CEO, Stifel Europe (Host)
Chi Onwurah, Labour MP for Newcastle upon Tyne Central and Shadow Minister Digital, Science & Technology
Kathryn Parsons, Founder and CEO, Decoded
Robert Phillips, Founder, Jericho Chambers (Chair)
Zahra Thomas, Banking Standard Board


text:
Entries in Leaderboard (1)
Google Competing with Foursquare?
Comments Off Share Article
JOHANNES EISELE/AFP/Getty Images(MOUNTAIN VIEW, Calif.) -- Google's spicing up the competition in its location-based check-in service, and taking Foursquare head on.
Google has quietly added a points system and Leaderboard feature to Latitude, which ties in to Google Maps and Google +.
Those familiar with Foursquare will find that Leaderboard offers a very similar experience: Search for a location in Google Maps, check in, share it with Google + friends, and earn a point for just showing up.
After checking in, you can see how you stack up against your friends on the Leaderboard. As in Foursquare, you earn points for specific check-ins. Google did not respond to ABC News' request for an explanation of the new point system.
Users can limit who can view where they are checking-in and decide what friends they want to share their location with. Google, however, does add the following disclaimer: "Your points may be visible to other Google+ users, making it easier to find friends and play together."
The service will be available on Google's Android operating system first, and while the update hasn't yet rolled out to all Google Map users, some already see it in the updated version. No word yet as to whether it will be heading to the iPhone or iPad.
The service is a move by Google to better integrate its Google+ social network with Maps, giving it some steam to take on already popular services like Foursquare, Facebook and Path. Foursquare in particular has a similar competitive element, including a point system.
But Foursquare isn't worried about the new competition. "There are over 15 million people using Foursquare, and they've checked in over 1.5 billion times," Erin Gleason, a Foursquare spokesperson, told ABC News. "Far from concentrating on what others are doing, we're 100 percent focused on continuing to build an amazing product that changes the way people experience the world around them."
Either way, it looks like Google and Foursquare are about to compete on their very own Leaderboard.
Monday, February 20, 2012 at 11:00AM by Wadzanai Mhute Permalink
tagged Foursquare, Google, Google+, Leaderboard in Business General, Technology/Electronics/Software

redpajama_set_name: RedPajamaCommonCrawl


text:
<?php

namespace TwigJs\Compiler\Test;

class NullCompiler extends NoneCompiler
{
    public function getName()
    {
        return 'null';
    }
}

redpajama_set_name: RedPajamaGithub


Vera Hugenroth studied International Communication in Groningen (NL) and wrote her Bachelor dissertation in corporation with R. Heitjans Projekt Management GmbH about digital event communication. After her graduation she was working on digital tools for events for Heitjans cooperating with different startups. Then she decided to do a Master in Project Management in the UK. The master dissertation was about startups as well: A research of effective stakeholder management for startup companies.


The Cedarwood Duo has been collaborating and performing since 2013. In that time, the Cedarwood Duo has appeared throughout the Twin Cities, including the Schubert Club's Courtroom Concert series, Minnesota Public Radio's Pop Up Classical concert series, and on Minnesota Public Radio's live broadcast from the Minnesota State Fair. In the 2016-17 season, they were selected as part of Minnesota Public Radio's Class Notes Artist program and will perform throughout the state of Minnesota with dancers Leah Gallas and Blake Nellis.
Hannah Peterson Green holds a Bachelor of Music degree from the University of Cincinnati College—Conservatory of Music, where she studied flute with Dr. Bradley Garner and piccolo with Dr. Heather Verbeck. Hannah has also studied with Adam Kuenzel, Greg Milliren, Julia Bogorad-Kogan, and Michele Frisch. She has performed in masterclasses for Michele Debost, Wissam Boustany, Mimi Stillman, Jill Felber, Alice Weinreb, and Aaron Goldman, among others. Hannah is an active performer and teacher in the Twin Cities. In addition to teaching private flute lessons in Saint Paul, she is on faculty at The Saint Paul Conservatory of Music in Downtown Saint Paul and Sarah Jane's Music School in the Northeast Arts District of Minneapolis and is a Woodwind Section Coach and Teaching Artist at several local schools. Hannah has performed solo and chamber recitals at the Schubert Club. She has played with the Bloomington Symphony Orchestra, the Mankato Symphony Orchestra, and the Minnesota Opera Orchestra. Having performed everywhere from the skyways of downtown Minneapolis to the Teatro Caio Melisso in Spoleto Italy, Hannah is a new music enthusiast who is equally passionate about chamber, solo, and large ensemble music. Hannah is especially fond of new music and has premiered works by Jennifer Higdon, Michael Daugherty, Dana Wilson, Stephen Paulus and many more.
Joseph Trucano is a Saint Paul based performer, producer and creator dedicated to giving voice to all music. Currently, Joe works as a producer for Minnesota Public Radio/American Public Media's nationally broadcast Pipedreams program, is the curator and artistic director of MPR's Pop Up Classical series, is organist at Shepherd of the Hills Lutheran Church in Shoreview, and, in addition to this, has served as an adjudicator for Classical MPR's Minnesota Varsity Competition, researched and developed a new aural skills curriculum for Concordia College, produced concerts and theatrical chamber works throughout the U.S., performed live as a soloist on Classical MPR and is an active performer, composer and teacher within the Twin Cities and internationally. Local engagements have included appearances with the Schubert Club, Classical MPR, The Minneapolis Fringe Festival, VocalPoint Chorus, The APM Radio Choir and the Twin Cities American Guild of Organists. Joe holds a Master's of Music Degree in Organ Performance and Literature from the Eastman School of Music, where he was the recipient of the James B. Cochran award for excellence in performance. Prior to that, he attended Concordia College in Moorhead, where he studied organ, cello and piano and was the first student in Concordia's history to be awarded the prestigious Senior Honors award and orchestral appearance on two instruments (cello and organ).


text:
THE FURIOUS FOURTH
WORLD WAR II LIVING HISTORY ASSOCIATION
HÜRTGEN SHORT FILM
STATESIDE TRAINING
LIFE IN ENGLAND
PUSH TO PARIS
HÜRTGEN FOREST
CONQUERING GERMANY
Welcome to the official website of The Furious Fourth, a non-profit association dedicated to interpreting the lives and struggles of the average foot soldier during World War II, specifically men and women of the 4th Infantry Division. These soldiers experienced some of the most brutal combat in the advance across Europe. Chosen as one of the primary spearhead divisions in Operation Overlord, these men of the Fourth waded ashore at Utah Beach on D-Day, June 6, 1944.
Based out of Pennsylvania, our members participate in a number of events throughout the mid-Atlantic every year. These include living history encampments, reenactments, film productions, school talks and educational initiatives, both large and small. Striving for authenticity, we focus on more than just weapons and equipment. Rather, we contextualize individual, personal experiences within the broader saga of the Second World War. Explore our website to learn more.
A BRUSH MOUNTAIN MEDIA PRODUCTION
IN ASSOCIATION WITH THE FURIOUS FOURTH
& IN CONJUNCTION WITH REEL HISTORY
Copyright © 2015-2022 The Furious Fourth WWII Living History Group | All Rights Reserved | Terms & Privacy Policy
Site Powered by Weebly | Managed by Brush Mountain Media LLC


ADJ Entour Venue is a professional grade touring Faze Machine for installations or mobile use. This pro Fazer offers a very quick warm-up time and produces a massive amount of atmosphere. The Entour Venue features an easy to read LED function display with fog timer, continuous fog and manual fog options. Connections include 3-pin and 5-pin DMX In/Out. Uses high quality water based fog fluid.


Ancient coin dealer with ancient roman coins, roman history, byantine coins, classical numismatics with hundreds of coins over 1000 years old in a huge online catalog. Articles and free tools for collectors.
Learn about the affordable hobby of Collecting Ancient Coins; beginners are welcomed!


text:
Graham Norton to host 2020 BAFTA Awards- Cinema express
Graham Norton to host 2020 BAFTA Awards
He will take up the hosting duties from Joanna Lumley, who served as the presenter for the previous two years
Published: 22nd November 2019
Popular British talk show host Graham Norton will emcee the 2020 BAFTA Awards ceremony. He will take up the hosting duties from Joanna Lumley, who served as the presenter for the previous two years.
"I'm delighted to be taking the helm of the biggest night in British Film, the audience at the Royal Albert Hall will be the biggest sofa I've ever faced. I'm honoured to be following in the fabulous footsteps of Stephen Fry and Joanna Lumley," he said in a statement.
Amanda Berry, chief executive of BAFTA, said she looks forward to seeing Norton bring "his brilliance and unique brand of humour" during the ceremony. "With Graham as our host, I have no doubt we will deliver a very special celebration of the very best in film, and pay tribute to the most talented and creative people both in front of and behind the camera," she added.
The BAFTA nominations will be announced on January 7. The award ceremony will be held on February 2.
BAFTA 2020 Graham Norton Joanna Lumley


text:
Q: How to sync a javascript countdown with server time I am building a site which has times and prices which tick down. The thing I am most concerned with is syncing time so that it is as accurate as possible across all clients.
Currently, I am sending the client the number of milliseconds left which is then used to fuel the countdown timer, but due to transfer and rendering delays, this can be off by several seconds even with 2 browsers on the same computer.
Is there a way to sync the client's javascript time and server time, or am I just going to have to deal with this slight lag?
If only there was a way to accurately measure the time difference between the server sending the data and it being received and rendered by the client.

A: Even though the time on the server and client is going to be different, the rate at which time changes should essentially be same. I would send the remaining time down to the client, let the client then add that time to the current time, and then have the client calculate the countdown from that. For example:
var timeRemaining = [rendered on page load or queried by ajax]; // in milliseconds
var endTime = new Date(new Date().getTime() + timeRemaining);

// Put this in a setInterval, or however you currently handle it
var countdown = (endTime.getTime() - new Date().getTime()) / 1000;

A: There is a way to synchronize a client with the server's time.  I wrote a library that does just this: ServerDate.
Here's part of the README:
You can use ServerDate as you would use the Date function or one of its
instances, e.g.:
> ServerDate()
"Mon Aug 13 2012 20:26:34 GMT-0300 (ART)"

> ServerDate.now()
1344900478753

> ServerDate.getMilliseconds()
22

There is also a new method to get the precision of ServerDate's estimate of the
server's clock (in milliseconds):
> ServerDate.toLocaleString() + " ± " + ServerDate.getPrecision() + " ms"
"Tue Aug 14 01:01:49 2012 ± 108 ms"

You can see the difference between the server's clock and the browsers clock, in milliseconds:
> ServerDate - new Date()
39

A: You can measure the time the full server roundtrip takes and divide by two to get a good estimate for the time difference. Be careful: it's not guaranteed that IP packages take the same route in both directions, but the propability is quite high.
You can use Date.getTime() if millisesonds resolution is enough for you.

A: The solution to this is Javascript – it can access time zone settings on the client. Unfortunately it can only get you time zone offsets (specified in minutes) for specific dates, no time zone name. So to pinpoint the correct time zone we also need to know if daylight saving time (DST) is being employed – this is the client side part of the solution:
var now = new Date();
var later = new Date();
// Set time for how long the cookie should be saved
later.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
// Set cookie for the time zone offset in minutes
setCookie("time_zone_offset", now.getTimezoneOffset(), later, "/");
// Create two new dates
var d1 = new Date();
var d2 = new Date();
// Date one is set to January 1st of this year
// Guaranteed not to be in DST for northern hemisphere,
// and guaranteed to be in DST for southern hemisphere
// (If DST exists on client PC)
d1.setDate(1);
d1.setMonth(1);
// Date two is set to July 1st of this year
// Guaranteed to be in DST for northern hemisphere,
// and guaranteed not to be in DST for southern hemisphere
// (If DST exists on client PC)
d2.setDate(1);
d2.setMonth(7);
// If time zone offsets match, no DST exists for this time zone
if(parseInt(d1.getTimezoneOffset())==parseInt(d2.getTimezoneOffset()))
{
setCookie("time_zone_dst", "0", later, "/");
}
// DST exists for this time zone – check if it is currently active
else {
// Find out if we are on northern or southern hemisphere
// Hemisphere is positive for northern, and negative for southern
var hemisphere = parseInt(d1.getTimezoneOffset())-parseInt(d2.getTimezoneOffset());
// Current date is still before or after DST, not containing DST
if((hemisphere>0 && parseInt(d1.getTimezoneOffset())==parseInt(now.getTimezoneOffset())) ||
(hemisphere<0 && parseInt(d2.getTimezoneOffset())==parseInt(now.getTimezoneOffset()))) { setCookie("time_zone_dst", "0", later, "/"); } // DST is active right now with the current date else { setCookie("time_zone_dst", "1", later, "/"); } }

You save the results as cookies, which can be accessed by your PHP script. You should include the above code on at least the first page a user accesses – I include it on every page to recognize (and adapt to) changes, even if such changes during a session are unlikely.
In PHP you can extract a valid time zone with a new function named timezone_name_from_abbr, available since PHP 5.1.3 – it either takes a time zone abbreviation or a combination of time zone offset (in seconds) and daylight saving time, and we have the latter combination:
$time_zone_name = timezone_name_from_abbr(", -$_COOKIE['time_zone_offset']*60, $_COOKIE['time_zone_dst']);

This will give you a correct time zone name for the user, if the data in the cookies is valid – note that there are many "duplicate" names, for example "Europe/Berlin" and "Europe/Zurich", which have the exact same time zone settings (at least for now), and you may get either one of them for the appropriate offset and DST variables. The list of time zone names can be found in the List of supported time zones on php.net.
Creating date strings with a given time zone
With the name of the user's time zone you can now use the PHP classes DateTimeZone and DateTime to finally create date strings with the correct time zone:
// Create time zone class
$time_zone_class = new DateTimeZone($time_zone_name);
// Create new date class with a given date
// Notice that the provided date will be regarded as being in the
// default time zone and converted accordingly
$new_date = new DateTime('2007-02-14 15:30:00′, $time_zone_class);
// Print date with the user's time zone echo $new_date->format('Y-m-d H:i:s');

That's it!
Source: http://togl.me/eE2

redpajama_set_name: RedPajamaStackExchange


They make for a fabulous appetizer, side dish, or if you make them bigger. Two of these patties can be your lunch or sensible dinner with a salad on the side.
3 cups Sweet potato, about 1 large-2 medium potatoes, stemmed and pureed.
1/2 cup Panko Japanese style breadcrumbs, or any kind of plain bread crumbs. If you have gluten allergies, ground old fashion oats or almond meal will work.
1. Devein the Kale, make it into a tight roll and chop chiffonade style.
3. In a medium size pan heat up about 4-6 tablespoons of grape seed oil, peanut oil or coconut oil. With a small Ice cream scooper scoop about 6 patties into the pan and slightly flatten the tops. Cook for about 3-4 minutes on each side or until golden brown.
4.Cool them on a rack.
5. Mix all ingredients of the dipping sauce on a small bowl.
Serve fritters while warm or at room temperature, with the ginger sauce on the side and some hot sauce of your preference. I highly recommend Sriracha…I love it….Enjoy!


Aquanzi Lodge - Chartwell Akkommodasie.
Aquanzi Lodge a 4 star establishment which offers luxury, bed and breakfast and self-catering accommodation to visitors in Johannesburg, Gauteng. Our unique location near bustling cosmopolitan Fourways & Lanseria, make our star rated establishment extremely convenient if you're looking for peaceful country accommodation on the doorstep of the city.
Aquanzi Lodge has free stranding, thatched chalets and non-thatched Suites which are elegantly decorated with an African flair. The surrounding aloes, acacia trees, abundant bird life and free roaming guinea fowl, further contribute to the restful bush-like atmosphere at Aquanzi.
There are 2 sparkling salt water pools situated at the establishment.
The chalets overlook a beautiful pool surrounded by white beach sand.
Detail description : Individually thatched free-standing chalets surrounding a pool with beach sand. Peace and quiet, a little haven on the door step of the city.
147 besigtings sedert 04 Feb, 2019.
Laas opgedateer op 15 Feb, 2019.


A Moldovan man has been sentenced to 13 years and four months in prison for intentional murder. In March, he has burned a house in which his drunk victim was.
The body of the victim was found carbonized. The defendant has fully acknowledged his guilt, and said that the reasons behind this were jealousy and revenge.


text:
Home » Horse Racing » The Worlds End set to make quick return to action
The Worlds End set to make quick return to action
Tom George is keen to give The Worlds End more valuable experience over fences before the winter sets in after the exciting prospect's impressive chasing debut last week.
The Grade One-winning hurdler put in a neat round of jumping to beat Now McGinty by 14 lengths at Chepstow, to suggest he might take high ranking over the bigger obstacles as well.
George has yet to firm up plans for the seven-year-old, who was having his first race for six months.
"He's fresh, he's back cantering and I couldn't be happier with him," said the Slad handler.
"He's obviously a Grade One-winning hurdler who has taken to fences, and from what we have seen so far, very well.
"I think we need to keep him busy up to Christmas time before the ground goes. He's fine on good to soft ground.
"He needs to have a bit of a break during the worst of the winter – January, February time – so it would be nice to have a good run with him over the next six weeks.
"We have no final plans. We'll just how he is. He's come out of that race well.
"Last season was a nightmare for him. He just had the five races with that very heavy ground.
"It will be nice to get some races into him now and get more experience before the middle of winter, and then come back in the spring."
Robin Goodfellow's racing tips: Best bets for Tuesday, November 6
God's Own dual Haldon Gold Cup hero


text:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class cash extends CI_Controller {

	function __construct()
        {
		parent::__construct();
		$this->load->model('Cashs');
	}

	public function index($permission)
	{
		$data['list'] = $this->Cashs->Cashs_List($this->input->post());
		$data['permission'] = $permission;
		$this->load->view('cash/list', $data);
	}

	public function pagination()
	{
		echo json_encode($this->Cashs->Cashs_List($this->input->post()));
	}

	public function getMotioPagination(){
		$filter = array(
				'start'		=> $_REQUEST['start'],
				'length'	=> $_REQUEST['length'],
				'order'		=> $_REQUEST['order'][0],
				'search'	=> $_REQUEST['search'],
			);

		//var_dump($filter);
		echo json_encode($this->Cashs->Cashs_List_Pagination($filter));
	}

	public function getMotion(){
		$data['data'] = $this->Cashs->getMotion($this->input->post());
		$response['html'] = $this->load->view('cash/view_', $data, true);

		echo json_encode($response);
	}

	public function setMotion(){
		$data = $this->Cashs->setMotion($this->input->post());
		if($data  == false)
		{
			echo json_encode(false);
		}
		else
		{
			echo json_encode(true);
		}
	}

	public function getBalance(){
		$data['data'] = $this->Cashs->getBalance();
		$response['html'] = $this->load->view('cash/balance_', $data, true);

		echo json_encode($response);
	}

	public function setPay(){
		$data = $this->Cashs->setPay($this->input->post());
		if($data  == false)
		{
			echo json_encode(false);
		}
		else
		{
			echo json_encode($data);
		}
	}
}


GOOD OPPORTUNITY TO OWN A GOOD MULTI-FAMILY HOME IN A GOOD LOCATION NEAR WOODWARD AVE AND BOSTON EDISON DISTRICT. 3 BEDROOMS, LIVING ROOM, DINING ROOM, KITCHEN AND BATH IN EACH UNIT. LARGE ROOM SIZES. SOME UPDATES. LARGE FOYER. UPPER UNIT HAS A COVERED PORCH. THE THIRD FLOOR HAS THE POTENTIAL TO BE FINISHED WITH A BEDROOM OR LOFT AREA. One of the units has been rehabbed and the other unit is clean and ready for rehab.


text:
Photo Credit: Tring Martial Arts
15. We Have Muscle Aches
A generation ago, you probably had sore muscles from a hard workout, like an intense PE period at school. However, now, the amount of time we spend on technology is forcing our bodies into awkward positions for so long that we have more aches and pains. Posture and repetitive motion injuries, often associated with desk work, are prevalent sources of expensive workplace injuries. Carpal tunnel, which usually requires surgical treatment, is incredibly common now from bad computer station ergonomics. Back and neck problems are also expected from improper posture over the long eight or more hour workday.
Photo Credit: Bact Med
"Texting thumb" refers to people who spend so much time texting that their thumbs are perpetually sore. Furthermore, if you spend a lot of time on the computer, you are more likely to have a sore back. The problem extends beyond basic aches and pains – you are changing your musculoskeletal structure, which could set you up for more significant problems later in life. Spending too much time hunched over your phone can even cause permanent growths and deformations to your neck and spine. While we are spared many of the severe workplace injuries of earlier eras, a sedentary life has its own dangers.
Photo Credit: Health Harvard
14. Our Hearts Are Weaker
Our sedentary lifestyles have caused our hearts to become significantly weaker than those of our forebears. Women who spend six hours or more sitting down in front of a computer are nearly 40% more likely to experience premature death. This notion is true even if they regularly work out at a gym and maintain a healthy weight. The heart cannot deal with hours spent at meager rates of activity. Furthermore, this is accurate since we're a species that evolved running and hunting. Unfortunately, the sloth would have been a better ancestral relative for many of us today with busy yet incredibly sedentary lives that contain almost no physical exertion.
Photo Credit: Life Line Laboratory
The reason is that even with occasional workouts, our lifestyles are so sedentary that our entire bodies, including our hearts, are weaker. Throw in our poor diets, and you have a recipe for chronic health problems and premature death. Our diets are now high in sugar and artificial additives as well as heart-busting chemicals like trans fats. Daily life also looked very different as little as 100 years ago, with the vast majority of people engaging in physical labor for much of the day and taking long walks or horse rides to travel. The exercise was part of life, not a chore or hobby.
Genetically modified food is actually creating new food allergies. Credit: independent.co.uk
13. GMOs Are Causing More Food Allergies
Historically, people who have food allergies had shorter life expectancies. Imagine someone with a peanut allergy before epi-pens. Should the person go into anaphylactic shock, there would be no way to reverse it. It would have been almost impossible for anyone with a severe food allergy to reach adulthood and pass any genetic risk for food allergies on to their children. There was also far less variety in foods available in eras past, especially for more impoverished people, so having a food allergy to any typical food would have been an absolute death sentence.
Photo Credit: Medium
However, the biotechnology that has led to genetically modified food has caused more and more people to develop food allergies. In fact, by altering a plant's genome, bioengineers create new food allergies that did not previously exist. Food allergies have skyrocketed, particularly in the United States, where roughly one in 13 children, or two in an average classroom, will have severe food allergies today. This growth has had a massive impact on classroom activities, school lunch services, and more. School nurses now have to be continuously prepared to administer epinephrine and provide life-saving medical care.
GMOs are part of the reason people are having fertility issues. Credit: ecosia.org
12. We Are Becoming Infertile
A few generations ago, infertile couples were few and far between. Perhaps it just seemed that way, as infertility was something that people didn't discuss. Nevertheless, nowadays, more people are becoming infertile. The reproduction rate is dropping in many countries around the world. Fewer couples are having children. Also, the people who do reproduce have fewer children. Whether through personal choices or due to infertility, fewer babies are being born in many regions. Furthermore, some countries, like Japan, are falling below the replacement level of population growth. They are hitting a record new low reproductive rate each year.
Photo Credit: Goop
One reason is that GMOs are causing infertility. Avoiding GMOs in the modern world is incredibly difficult, as even the standards for labeling something as organic have changed. Studies show that over generations, GMOs do decrease fertility. In the United States, people attempt to label genetically modified food products, but such efforts have been met with resistance by the scientific community and food lobbies. Currently, there is no required messaging or labeling for products containing any amount of genetically modified organisms. The fight continues over its impact on health and the environment without any signs of abating.
Photo Credit: Taste
11. We Are More Sensitive to Gluten
You can blame this one on GMOs, too. Before modern technology led to the rise of genetically modified food, the number of people sensitive to gluten was small. Now, celiac disease and other disorders related to gluten are rapidly on the rise. People with gluten sensitivities have much faster and more complete recoveries when they eliminate GMOs from their diets. The simplest explanation is that modern technology has wreaked havoc on our health. Whether this is due to the loss and change of individual molecules or the use of new pesticides designed to complement GMOs is currently unknown.
Photo Credit: Nob Naturals
Celiac disease means gluten is often the culprit. It causes miserable digestive symptoms for those affected. Furthermore, it can even cause systemic issues such as fatigue and difficulty focusing. Celiac disease's symptoms are so wide-ranging in the body that they can imitate other syndromes. Some may think it is chronic fatigue and even neurodiversity like ADHD. For some who have celiac disease, their food even being in contact with a wheat product during preparation can be enough to cause severe symptoms. It is a difficult disease to manage; that is especially true depending on the level of sensitivity. Finding the root cause will save millions a great deal of suffering.
Photo Credit: The Gardens
10. We're Living Longer
Many incredible scientific discoveries have combined within modern medicine to make longer lives a reality around the world. Only a little over a century ago, children still routinely died from contagious illnesses like Measles or from infections that couldn't be treated without the discovery of penicillin. Many mothers and children also used to die in childbirth or shortly after, which dramatically lowers the life expectancy. Vaccines and the discovery of antibiotics have added decades to the human population's life expectancy, a miracle that would have been unthinkable to people in ages past. Reduced infant mortality has also dramatically increased life expectancy.
Photo Credit: The well Northwell
Constantly evolving medical procedures are also keeping humans alive longer than ever and through illnesses that would have been a specific death sentence only decades before. For years, doctors could not find cancers, so they would go undetected. Now, they can find cancer the size of a grain of sand. Rare genetic disorders and deadly allergies can be managed. Furthermore, many more life-threatening diseases of bygone eras are now inconveniences at worst. There are threats to these gains through obesity, diabetes, heart disease, racial disparities in infant mortality rates, and suicide. Nevertheless, it's still an incredible feat of modern science and medicine.
Photo Credit: Everyday Health
9. Self-Diagnosis Is Increasingly Possible
While it used to be taken as a joke, diagnosing yourself through the internet is becoming increasingly possible. While basic symptom checkers like WebMD have existed for years, increasingly advanced online screening tools are continually becoming available. Telehealth, especially today, is increasingly available and even often offers a more affordable alternative to in-person doctor visits. Support groups on social media also provide a place where experts, patients, and those seeking diagnosis can convene and discuss their conditions. Scientific and medical journal papers are also growing more available through sources like PubMed, allowing for access to cutting edge medical and technical information.
Photo Credit: Times Of India
Self-diagnosis has become especially common for disabilities like autism. Testing is costly. Furthermore, testing providers are busy and challenging to find. Also, the disability itself can be hard to diagnose or is often overlooked by medical providers. In a country with critical access issues within healthcare, the validity of self-diagnosis in the absence of access to care is rapidly growing within many health and disability communities. You need to visit your doctor to get prescriptions and some specialized medical treatments. Besides, having a potential label for your issues or suggestions for an eventual doctor visit can be invaluable.


text:
Q: How can I start the next matching activity if my app is the default one I have an activity that works as a hook for various intents. Specifically, the VOICE_COMMAND and CALL_PRIVILEGED. (It is a requirement to use these.)
<activity android:name=".MyActivity"
    android:enabled="true">
    <intent-filter>
        <action android:name="android.intent.action.VOICE_COMMAND" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.CALL_PRIVILEGED" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:scheme="tel" />
    </intent-filter>
</activity>

I ask the user to set my app as the default action for these intents so they don't have to select it every time. This is also a requirement.
The problem is that in certain cases I want my activity to work transparently and pass the intent to the dialer or other app. This should be selectable by the user. I achieved this by using getPackageManager().setComponentEnabledSetting(myCompName, isEnabled, PackageManager.DONT_KILL_APP) on my activity in certain places of the code.
Is there a more elegant way to do this? I tried startNextMatchingActivity(getIntent()) but that does not start anything (returns false). Does this mean that if there is a default action, then everything else is ignored from the intent resolution?

A: Currently (on Android 2.3) there seems to be no other way of forwarding the intent than doing it manually. Additionally, to send CALL_PRIVILEGED intent the app must have special permissions that only system apps have. (The app will receive not allowed exceptions otherwise.)
All in all, the intent must be converted to some other intent that my app can send and start the next activity manually by retrieving the list of applicable activities from the PackageManager.queryIntentActivities() API.


Let us help you tailor make your holiday!
Marine Adventures can cater for any group large or small. Our vessels are the largest on the island and we are the only company able to cater for ALL you boating and holiday requirements! We offer Group discounts and packages with Leanda Lei Apartments and all other lodges on the island, we can arrange fully or part catered holidays and are happy to work with all island operaters to ensure you have the perfect holiday.


Reemployment assistance training programs are available for those who need training to be reemployed. The programs are intended to help workers who are unemployed due to: outdated skills, an occupation in decline, competition from foreign imports, or an inability to work in their usual occupation. A dislocated worker counselor or a reemployment assistance representative at your nearest CareerForce location may recommend a training program to you, or you may already know the training you need to become reemployed.
If you are accepted into a full-time reemployment assistance training program, you are not required to seek or accept work while you are attending school. Attending classes and making satisfactory progress make you eligible for unemployment benefits. When you finish, you must immediately begin seeking work.
If you are going to school part-time, or your full-time schooling is not accepted as reemployment assistance training, you are eligible for unemployment benefits only if you are available for and actively seeking suitable employment (full-time work if your benefits are based on full-time work). If your class schedule conflicts with the normal days or hours of work in your occupation, you must be willing to rearrange or quit classes if you are offered suitable work.
If you are registered or attending school at the time you apply for unemployment benefits, answer "Yes" to the question in the, "Are you attending school now?"
If you register for school after you applied for unemployment benefits, the next time you request your weekly benefits answer "No" to the question, "Were you able, available and actively seeking full time work?"
You will be provided a questionnaire or talk to a representative so you can inform the unemployment office about your schooling. If it is determined to be full-time reemployment assistance training, you will be informed that you do not have to seek work. Each week when you request benefits, you will be asked, "Did you make satisfactory progress in training?" instead of the questions about seeking work and being available for work.


text:
Gonzalo Olave Alcaide (Santiago, December 29, 1983 - Santiago, April 4, 2009) was a Chilean actor, best known by his role in the telenovela called Lola and his recent work in Mis Años Grossos where he obtained the main role.

Biography
Gonzalo Alonso Olave Alcaide was born in Santiago, Chile. He studied at the Liceo Manuel Barros Borgoño and later attended Instituto Profesional DuocUC. From the age of 16, Olave modelled for Chilean and international television advertisements, and was the second male to appear nude in a Chilean advertisement.

In 2007, he debuted as an actor in the role of Sebastián "Boogie" Cuevas in the telenovela Lola by Canal 13. At the same time, Olave acted in theatre with his company "La Marcha". After Lola ended, in March 2009, Olave appeared as the lead in the TV series Mis Años Grossos, as the Chilean version of Eric Forman from That '70s Show.

On April 4, 2009, Olave was involved in a motorcycle accident on San Ignacio Street, Santiago. A car hit him, causing serious injuries. He was taken to Hospital Barros Luco where he later died.  On 7 April 2009, Gonzalo Olave was buried in the Cementerio General de Santiago.

Filmography
Lola - Sebastián "Boogie" Cuevas (Canal 13, 2007–2008)
Mi Primera Vez - (TVN, 2009)
Mis Años Grossos - Rodrigo Molina (Chilevisión, 2009)

References

External links

1983 births
2009 deaths
Chilean male telenovela actors
Chilean male television actors
Road incident deaths in Chile
Motorcycle road incident deaths

redpajama_set_name: RedPajamaWikipedia


text:
Canadian immigration: Trudeau to introduce new cabinet | Canada Immigration News
Canada's Prime Minister Justin Trudeau is set to reveal his new cabinet this morning.
This is a developing story. CIC News will update it as more information becomes available.
The cabinet is the body of ministerial advisors that sets the federal government's policies and priorities. Each minister is given a mandate letter by the Prime Minister. The mandate letter outlines the policies and priorities that the Prime Minister would like each minister to pursue during the government's time in power.
The current immigration minister is Marco Mendicino who has served in the role since November 2019. There is the possibility he will remain in his role or be succeeded by another person.
Get a Free Canadian Immigration Evaluation
Trudeau's Liberal Party of Canada has governed since winning the 2015 federal election. They won a majority then, and have since won minority governments in 2019 and in the 2021 election, that took place in September. Majority governments can pass any law that they introduce in Parliament. Minority governments need the support of the opposition.
The Trudeau Liberals have continued the process of increasing immigration levels, a process that began in the late 1980s by the Conservative Party of Canada. The Liberals, however, have increased immigration levels more aggressively in recent years to provide even greater support to the Canadian economy. Shortly after assuming power in 2015, the Liberals announced they would look to welcome at least 300,000 immigrants per year, up from the roughly 250,000 annually welcomed in the previous decade by the Conservatives. Then, in October 2020, the Liberals made the stunning announcement that they would set the new baseline for immigration at over 400,000 newcomers per year. This higher goal is meant to help boost Canada's post-pandemic economy recovery.
In the 2021 election campaign, the Liberals made several immigration promises. For instance, they promised to end citizenship fees. They also want to reduce application processing times and make reforms to Express Entry such as offering more immigration pathways to temporary foreign workers and international students.
With cabinet set, the Liberals will continue the process of governing Canada and focus on leading the country out of the coronavirus pandemic. Parliament is set to reconvene on November 22.
© CIC News All Rights Reserved. Visit CanadaVisa.com to discover your Canadian immigration options.


text:
import { Animal, AnimalState, Danger } from "./animal.js";
import {State} from "./states.js";
import {map,scene,BlockSize} from "./global.js";
import { Block } from "./map.js";
import { Message, MessageTypes, SoundMessage, AttackMessage } from "./message.js";
import { Global } from "./global.js";
import { Tiger } from "./tiger.js";

/**
 * A Deer
 * @class
 */
export class Deer extends Animal
{
    constructor(id, x, y)
    {
        super(id, "deer");
        this.energy = Deer.EnergyDefault;
        this.detectDistance = Deer.DetectDistance;
        this.visualRange.distance = Deer.VisualDistance;
        this.visualRange.ang = Deer.VisualAngle;
        var pol = new Polygon([new Point(10, 0), new Point(-10, -10), new Point(-10, 10)]);
        pol.setCenter(0, 0);
        pol.moveTo(0, 0);
        pol.fillStyle = "white";
        pol.strokeStyle = "rgba(0,0,0,0.05)";
        this.gameObject.graphic = pol;
        this.gameObject.collider = pol;
        this.gameObject.collider.rigidBody = true;
        //scene.addGameObject(this.gameObject, 1);
        this.gameObject.moveTo(x, y);
    }

    static get EnergyDefault() { return 200000000; }
    static get DetectDistance() { return 200; }
    static get VisualDistance() { return 200; }
    static get VisualAngle() { return Math.PI / 3;}

    /**
     *
     * @param {Message} message
     */
    onMessage(message)
    {
        if (message instanceof SoundMessage)
        {
            if(!(this.state instanceof DeerInDanger))
            this.changeState(new DeerCautious(this, Math.atan2(message.sound.position.y, message.sound.position.x)));
        }
        if (message instanceof AttackMessage)
        {
            this.HP -= message.damage;
            if (this.HP < 0)
            {
                this.HP = 0;
                this.changeState(new DeerDead(this));
                return;
            }
        }
    }

    onDisplay()
    {
        this.changeState(new DeerWander(this));
    }

    isHungry()
    {
        return (this.energy < Deer.EnergyDefault - 200000);
    }

    isFull()
    {
        return (this.energy > Deer.EnergyDefault);
    }

    checkFood()
    {
        var blockX = this.blockPosition.x;
        var blockY = this.blockPosition.y;
        if (map.get(blockX, blockY).type == Block.Types.Grass && map.get(blockX, blockY).resource > 0)
        {
            return true;
        }
        return false;
    }

    seekFood(visualDistance, visualAngle)
    {
        var blockX = this.blockPosition.x;
        var blockY = this.blockPosition.y;
        for (var dist = 0; dist < visualDistance; dist++)
        {
            var viewBlockX = parseInt((this.position.x + this.forward.x * dist) / BlockSize);
            var viewBlockY = parseInt((this.position.y + this.forward.y * dist) / BlockSize);

            if (map.get(viewBlockX, viewBlockY).type == Block.Types.Grass && map.get(viewBlockX, viewBlockY).resource > 0)
            {
                return new Vector2((viewBlockX + 0.5) * BlockSize, (viewBlockY + 0.5) * BlockSize);
            }
        }
        return false;
    }
}

export class DeerGlobalState extends AnimalState
{
    update(dt)
    {
    }
    onEnter(previousState)
    {

    }
    onExit(nextState)
    {

    }
    constructor(deer)
    {
        super(deer);
    }
}

export class DeerWander extends AnimalState
{
    /**
     *
     * @param {Deer} deer
     */
    constructor(deer)
    {
        super(deer);

        this.maxPower = 20000;
        this.power = 0;
        this.maxTurn = 0.02;
        this.maxForce = 2000;
        this.visualDistance = Deer.VisualDistance;
        this.visualAngle = Deer.VisualAngle;
    }
    update(dt)
    {
        if (this.direction)
            this.animal.moveTo(this.direction, this.power, this.maxForce, this.maxTurn, dt);
    }
    onEnter(previousState)
    {
        this.AIUpdate();
        this.nextTarget();
    }
    onExit(nextState)
    {
        this.animal = null;
    }
    AIUpdate()
    {
        if (this.disposed)
            return;

        // Hungry check
        if (this.animal.isHungry())
        {
            this.animal.changeState(new DeerForage(this.animal));
            return;
        }

        // Visual
        this.animal.visual(this.visualDistance, this.visualAngle);

        // Guard
        for (let i = 0; i < this.animal.positionMemory.length; i++)
        {
            if (this.animal.positionMemory[i].entity instanceof Tiger)
            {
                if (this.animal.guard(600, this.animal.positionMemory[i].entity))
                {
                    this.animal.changeState(new DeerInDanger(this.animal));
                    return;
                }
            }
        }

        let state = this;
        setTimeout(function ()
        {
            state.AIUpdate.call(state);
        }, 100);
    }
    nextTarget()
    {
        if (!this.animal)
            return;

        // Eat randomly
        if (Math.random() < 0.1 && this.animal.checkFood() ) {
            this.animal.changeState(new DeerEat(this.animal));
            return;
        }
        // Move to next position
        else if (Math.random() < 0.75) {
            this.direction = this.animal.randomDirection();
            this.power = this.maxPower * Math.random();
        }
        // Stop moving
        else
            this.direction = null;
        /*
        this.target = new Vector2(Math.random() * 300 - 150, Math.random() * 300 - 150);
        console.log(this.target);
        this.target.plus(new Vector2(this.animal.gameObject.position.x, this.animal.gameObject.position.y));
        */
        var state = this;
        setTimeout(function ()
        {
            state.nextTarget.call(state);
        }, 1000 + 2000 * Math.random());
    }
}

export class DeerForage extends AnimalState
{
    /**
     *
     * @param {Deer} deer
     */
    constructor(deer)
    {
        super(deer);

        this.power = 30000;
        this.maxForce = 5000;
        this.maxTurn = 0.1;
        this.target = null;
        this.foundFood = false;
        this.visualDistance = Deer.VisualDistance * 1.2;
        this.visualAngle = Math.PI / 2;
    }
    update(dt)
    {
        if (this.target !== null)
        {
            if (this.animal.moveTo(this.target, this.power, this.maxForce, this.maxTurn, dt))
            {
                if (!this.animal.checkFood())
                {
                    this.foundFood = false;
                    this.nextDirection();
                }
            }
        }

    }

    nextDirection()
    {
        if (this.disposed)
            return;
        if (this.foundFood)
            return;
        this.target = this.animal.randomDirection();

        let state = this;
        setTimeout(function() {
            state.nextDirection.call(state);
        }, 1000*Math.random());
    }

    AIUpdate()
    {
        if (this.disposed)
            return;

        // Chceck food
        if (this.animal.checkFood())
        {
            this.animal.changeState(new DeerEat(this.animal));
            return;
        }

        // Seek food
        if (!this.foundFood)
            this.target = this.animal.seekFood(this.visualDistance, this.visualAngle);
        if (this.target)
        {
            this.foundFood = true;
        }

        // Visual
        this.animal.visual(this.visualDistance, this.visualAngle);

        // Guard
        for (let i = 0; i < this.animal.positionMemory.length; i++)
        {
            if (this.animal.positionMemory[i].entity instanceof Tiger)
            {
                if (this.animal.guard(600, this.animal.positionMemory[i].entity))
                {
                    this.animal.changeState(new DeerInDanger(this.animal));
                    return;
                }
            }
        }

        let state = this;
        setTimeout(function ()
        {
            state.AIUpdate.call(state);
        }, 100);
    }
    onEnter(previousState)
    {
        this.AIUpdate();
        this.nextDirection();
    }

}

export class DeerEat extends AnimalState
{
    constructor(deer)
    {
        super(deer);

        this.eatSpeed = 50000;
        this.eatUntilFull = false;
        this.visualDistance = Deer.VisualDistance / 2;
        this.visualAngle = Math.PI / 6;
    }
    update(dt)
    {
        this.animal.gameObject.v = new Vector2(0, 0);
        var blockX = this.animal.blockPosition.x;
        var blockY = this.animal.blockPosition.y;
        var resource = this.eatSpeed * dt;
        if (map.get(blockX, blockY) && map.get(blockX, blockY).type==Block.Types.Grass) {
            if(map.get(blockX,blockY).resource>resource){
                map[blockX][blockY].resource -= resource;
                this.animal.energy += resource / 10;
            }
            else{
                resource = map[blockX][blockY].resource;
                map[blockX][blockY].resource = 0;
                map[blockX][blockY].type = Block.Types.Sand;
                this.animal.energy += resource / 10;
                if (this.animal.isFull() || !this.eatUntilFull)
                    this.animal.changeState(new DeerWander(this.animal));
                else
                    this.animal.changeState(new DeerForage(this.animal));
            }
        }
    }
    AIUpdate()
    {
        if (this.disposed)
            return;
        // Visual
        this.animal.visual(this.visualDistance, this.visualAngle);

        // Guard
        for (let i = 0; i < this.animal.positionMemory.length; i++)
        {
            if (this.animal.positionMemory[i].entity instanceof Tiger)
            {
                if (this.animal.guard(600, this.animal.positionMemory[i].entity))
                {
                    this.animal.changeState(new DeerInDanger(this.animal));
                    return;
                }
            }
        }

        let state = this;
        setTimeout(function ()
        {
            state.AIUpdate.call(state);
        }, 100);
    }
    onEnter(previousState)
    {
        if (this.animal.isHungry())
            this.eatUntilFull = true;
        this.AIUpdate();
    }
}

export class DeerControl extends AnimalState
{
    constructor(deer)
    {
        super(deer);
        this.target = null;
        this.power = 20000;
        this.maxTurn = 0.1;
        this.maxForce = 5000;
    }
    update(dt)
    {
        if (this.target) {
            if (this.animal.moveTo(this.target, this.power, this.maxForce, this.maxTurn, dt))
                this.target = null;
        }
    }
}

export class DeerCautious extends AnimalState
{
    /**
     *
     * @param {Deer} deer
     * @param {Number} source
     */
    constructor(deer, source)
    {
        super(deer);
        this.checkedSource = false;
        this.visualDistance = this.animal.visualRange.distance * 1.5;
        this.visualAngle = Math.PI * 5 / 6;
        this.turnTo = source;
        this.turnSpeed = 0.1;
    }
    onEnter(previousState)
    {
        this.animal.detectDistance = Deer.DetectDistance / 2;
        this.AIUpdate();
    }
    onExit(nextState)
    {
        this.animal.detectDistance = Deer.DetectDistance;
        this.animal = null;
    }

    update(dt)
    {
        // Turn around
        if (this.turnTo)
        {
            if (this.animal.turnTo(this.turnTo, this.turnSpeed, dt))
            {
                this.turnTo = null;
                if (!this.checkedSource)
                {
                    this.checkedSource = true;
                    this.turnAround();
                }
            }
        }

    }

    AIUpdate()
    {
        if (this.disposed)
            return;
        // Visual
        this.animal.visual(this.visualDistance, this.visualAngle);

        // Guard
        for (let i = 0; i < this.animal.positionMemory.length; i++)
        {
            if (this.animal.positionMemory[i].entity instanceof Tiger)
            {
                if (this.animal.guard(600, this.animal.positionMemory[i].entity))
                {
                    this.animal.changeState(new DeerInDanger(this.animal));
                    return;
                }
            }
        }

        let state = this;
        setTimeout(function ()
        {
            state.AIUpdate.call(state);
        }, 100);
    }

    turnAround()
    {
        if (!this.animal)
            return;
        if (Math.random() < 0.6)
        {
            let sign = 1;
            if (Math.random() < 0.5)
                sign = -1;

            this.turnTo = Math.atan2(this.animal.forward.y, this.animal.forward.x) + sign * (Math.PI / 2 + Math.random() * Math.PI / 2);
        }
        let state = this;
        setTimeout(function ()
        {
            state.turnAround.call(state);
        }, Math.random() * 2000 + 500);
    }
}

export class DeerInDanger extends AnimalState
{
    constructor(deer)
    {
        super(deer);

        this.power = 100000;
        this.maxForce = 5000;
        this.maxTurn = 0.1;
        this.visualDistance = Deer.VisualDistance * 1.2;
        this.animal.detectDistance = Deer.DetectDistance * 1.5;
        this.visualAngle = Math.PI;
        this.direction = Math.atan2(this.animal.forward.y, this.animal.forward.x);
        this.dirOffset = 0;
    }

    update(dt)
    {
        this.animal.moveTo(this.direction + this.dirOffset, this.animal.powerLimit(this.power,Deer.EnergyDefault), this.maxForce, this.maxTurn, dt);
    }

    AIUpdate()
    {
        if (this.disposed)
            return;
        // Visual
        this.animal.visual(this.visualDistance, this.visualAngle);
        // Gurad
        var dangerList = [];
        for (var i = 0; i < this.animal.positionMemory.length; i++)
        {
            var danger = this.animal.positionMemory[i];
            if (danger.entity instanceof Tiger || danger.entity.id < 0)
            {
                var dangerLevel = this.animal.guard(800, danger.entity);
                if (dangerLevel > 0)
                    dangerList[dangerList.length] = new Danger(danger.entity, dangerLevel, danger.position);
            }
        }

        if (dangerList.length == 0)
        {
            this.animal.changeState(new DeerWander(this.animal));
            return;
        }
        // Flee
        var direction = this.animal.flee(dangerList);

        if (direction== 0)
            direction = this.direction;
        this.direction = direction;

        var state = this;
        setTimeout(function() {
            state.AIUpdate.call(state);
        }, 100);
    }

    changeDirection()
    {
        if (this.disposed)
            return;

        this.dirOffset = (Math.random() * Math.PI / 3) - Math.PI / 6;

        let state = this;
        setTimeout(function ()
        {
            state.changeDirection.call(state);
        }, 2000 * Math.random());
    }

    onEnter(previousState)
    {
        this.AIUpdate();
        this.changeDirection();
    }
}
export class DeerDead extends AnimalState
{
    constructor(deer)
    {
        super(deer);
        this.deathTime = 0;
    }

    update(dt)
    {
        this.animal.gameObject.graphic.fillStyle = new Color(128, 128, 128, this.animal.energy / Deer.EnergyDefault);
    }

    onEnter(previousState)
    {
        this.deathTime = new Date().getTime();
        this.animal.gameObject.graphic.fillStyle = "gray";
        this.animal.gameObject.graphic.strokeStyle = "black";
        this.animal.onDisplay = function () { };
        this.animal.onMessage = function () { };
        let state = this;
        setTimeout(function() {
            state.animal.gameObject.v = new Vector2(0, 0);
        }, 1000);
    }
}


Known and highly praised from ancient times; a rock consisting predominantly of lazurite [haüyne] (25—40%), calcite, pyrite and other minerals. The name is derived from the Latin for 'stone' and the Persian for 'blue'. Historically comes from the mines near Sar-e Sang, Badakhshan Province, Afghanistan.


Being able to maintain the embouchure position for long amounts of time is what endurance is about.
To train endurance, this is classically done in two ways, long tone exercises and tonguing exercises. The idea is to do this in the middle and lower registers and over long time. Combining this with taking deep breaths is a good idea, training the lungs at the same time.
Long tone exercises are the foundation of the Caruso book. Excellent tongue exercises are found in the Gollehon book.


Uncover opportunity … with a powerful partnership that delivers new business benefits.
In business, every advantage counts. That includes the competitive benefits that come from forming relationships that bring new and innovative solutions to the market. By partnering with LexisNexis you will be able to deliver powerful products to your customers.
LexisNexis has a time-tested track record of offering critical content to companies around the globe. In fact, we've been helping businesses make smarter decisions since 1976 by utilizing our unmatched collection of company profiles and hierarchy data, licensed news, web news, social media, regulatory, litigation and intellectual property content. LexisNexis is committed to developing relationships that can help push innovative solutions out to market, differentiate and enhance your offerings and drive success.
By offering aggregated, curated and enhanced attribute content via API(s) our alliance partners can deliver better products to their customers efficiently and with agility.


© Hardeeville Catfish Festival 2016. All rights reserved.
Think you are a Corn Hole Champion?
Want to ride in the kids parade?
Want to ride in the Grand parade?
Want to participate in the pageant?
Are you good at baking or cooking?
Want to participate in the 5K Run?


text:
Le Gigantour est un festival de metal itinérant, créé et organisé par Dave Mustaine (le fondateur de Megadeth), qui réunit chaque année plusieurs grands groupes.

Premier Gigantour (2005)

Programmation

Scène principale
 Megadeth
 Dream Theater (du  au )
 Anthrax (du 6 au )
 Fear Factory
 The Dillinger Escape Plan, Nevermore

Seconde scène
 Life of Agony
 Symphony X
 Dry Kill Logic
 Bobaflex

Dates

Juillet
 21 Fresno, CA - Selland Arena
 22 Las Vegas, NV - Thomas and Mack Center
 23 Phoenix, AZ - Cricket Wireless Pavilion
 24 Irvine, CA - Verizon Wireless Amphitheatre
 26 Sacramento, CA - The Cove
 28 San Diego, CA - SDSU Open Air Theater
 29 Tucson, AZ - Casino Del Sol
 30 Albuquerque, NM - Journal Pavilion

Août
 01 San Antonio, TX - Lonestar Pavilion
 02 Dallas, TX - Nokia Live
 03 Corpus Christi, TX - Concrete Street Amphitheater
 05 Duluth, GA - Arena at Gwinnett Center
 06 Orlando, FL - Hard Rock Live
 07 West Palm Beach, FL - Sound Advice Amphitheater
 08 Tampa, FL - St. Pete Times Forum
 10 Clarkston, MI - DTE Energy Music Theatre
 11 Ft. Wayne, IN - Coliseum Expo
 12 Tinley Park, IL - Tweeter Center
 13 Milwaukee, WI - Eagles Ballroom Complex
 14 Cleveland, OH - Tower City Amphitheater
 16 Cincinnati, OH - Annie's Outdoor Pavilion
 17 Pittsburgh, PA - Chevrolet Amphitheatre
 19 Portland, ME - Civic Center
 20 Manchester, NH - Verizon Wireless Amphitheater
 21 Poughkeepsie, NY - Mid-Hudson Civic Center
 23 Wantagh, NY - Jones Beach Amphitheater
 24 Holmdel, NJ - PNC Bank Arts Center
 26 Boston, MA - Bank of America Pavilion
 27 Reading, PA - Sovereign Center
 28 Atlantic City, NJ - House of Blues
 30 Darien Lake, NY - Darien Lake Amphitheatre
 31 Huntington, WV - Big Sandy Superstore Arena

Septembre
 02 Montreal, QC - Centre Bell
 03 Toronto, ON - Molson Amphitheatre
 06 Edmonton, AB - Shaw Conference Centre
 07 Calgary, AB - Stampede Corral
 09 Vancouver, BC - PNE Coliseum
 10 Auburn, WA - White River Amphitheater
 11 Ridgefield, WA - Clark County Amphitheater

Gigantour 2 : Amérique du Nord (2006)

Programmation

Scène principale
 Megadeth
 Arch Enemy
 Lamb of God
 Overkill
 Opeth

Seconde scène
 Into Eternity
 Sanctity
 The SmashUp

Septembre
 06 Boise, ID - Idaho Center
 08 Oakland, CA - Oakland Coliseum
 09 San Diego, CA - Cox Arena
 10 San Bernardino, CA - Hyundai Pavilion
 12 Las Vegas, NV - House Of Blues
 13 Phoenix, AZ - Dodge Theatre
 15 Salt Lake City, UT - E Center
 16 Denver, CO - Coors Amphitheater
 17 Albuquerque, NM - Journal Pavilion
 19 Oklahoma City, OK - Zoo Amphitheater
 21 Milwaukee, WI - Eagles Ballroom
 22 Chicago, IL - Congress Theatre
 23 Columbus, OH - Nationwide Arena
 24 Detroit, MI - DTE Energy Amphitheater
 25 Toronto, ON - Molson Amphitheater
 , QC - Colisee Pepsi
 27 Montréal, QC - Centre Bell
 28 Uniondale, NY - Nassau Coliseum
 29 Boston, MA - Bank Of America Pavilion
 30 Holmdel, NJ - PNC Bank Arts Center

Octobre
 01 Atlantic City, NJ - House Of Blues
 03 Portsmouth, VA - Ntelos Pavilion Harbor Center
 04 Charleston, SC - The Plex
 06 Tampa, FL - St. Pete Times Forum
 07 Sunrise, FL - Bank Atlantic Center
 08 Orlando, FL - Hard Rock Live

La fusillade de Dawson

Le , un jeune gothique du nom de Kimveer Gill provoque une fusillade au collège Dawson. Il s'est vite révélé que Gill était un amateur du groupe Megadeth et plus particulièrement de la chanson À tout le monde qu'il aurait écouté en boucle peu avant de passer à l'acte. Rapidement, le leader du groupe, Dave Mustaine, qui fêtait son  au moment des faits, a annoncé être complètement navré et bouleversé par la tragédie et qu'il n'aurait jamais écrit cette chanson s'il avait su le mal qu'elle pouvait faire.

La chaîne de télévision MTV avait déjà retiré le vidéoclip d'À tout le monde pour éviter de promouvoir le suicide. Megadeth s'était alors défendu en affirmant que la chanson était rassembleuse et appelait les gens à trouver des solutions à leurs problèmes. À la suite des événements, Dave Mustaine a rappelé que sa chanson n'encourageait absolument pas au suicide.

Pour son concert à Montréal le 27 septembre dans le cadre du Gigantour 2006, Dave Mustaine a interprété À tout le monde et l'a dédié aux victimes de la fusillade du collège Dawson et à leur famille.

Gigantour 2 : Australie (2006)

Programmation
 Megadeth
 Soulfly
 Arch Enemy
 Caliban

Dates

Octobre
 21 Brisbane - Riverstage
 22 Sydney - Hordern Pavilion
 24 Melbourne - Festival Hall

Gigantour 3 : Australie (2007)

Programmation
 Megadeth
 Static-X
 Lacuna Coil
 DevilDriver
 Bring Me the Horizon

Dates

Novembre
 10 Perth - Metro City
 12 Adelaide - Thebarton Theatre
 13 Melbourne - Festival Hall
 15 Sydney - Luna Park Big Top
 16 Sydney - Luna Park Big Top
 18 Brisbane - Riverstage

Gigantour 3 : Amérique du Nord (2008)
La décision d'abaisser à cinq au lieu de huit le nombre de groupe dans la tournée a pour but de donner plus de temps sur scène à chaque groupe et d'améliorer certains aspects de la tournée afin de donner la meilleure spectacle possible, selon Dave Mustaine.

Programmation
 Megadeth
 In Flames
 Children Of Bodom
 Job For A Cowboy
 High On Fire

Dates

Avril
 12 - Denver, CO - The Fillmore
 13 - Albuquerque, NM - Journal Pavilion
 15 - Dallas, TX - Nokia Theatre at Grand Prairie
 16 - Corpus Christi, TX - Concrete Street Pavilion
 17 - Houston, TX - Verizon Wireless Theater
 19 - Louisville, KY - Louisville Gardens
 20 - Atlanta, GA - Masquerade Music Park
 22 - New York, NY - Hammerstein Ballroom
 23 - New York, NY - Hammerstein Ballroom
 25 - Worcester, MA - Palladium
 26 - Columbia, MD - Merriweather Post Pavilion
 28 - Québec, QC - Pavillon de la Jeunesse
 29 - Montreal, QC - Centre Bell
 30 - Toronto, ON - Arrow Hall

Mai
 1 - London, ON - John Labatt Centre
 3 - Clarkston, MI - DTE Energy Music Theatre
 4 - Cleveland, OH - Time Warner Cable Amphitheater
 6 - Chicago, IL - Aragon Ballroom
 7 - Milwaukee, WI - Eagles Ballroom
 9 - Minneapolis, MN - Myth
 10 - Winnipeg, MB - Winnipeg Convention Centre
 11 - Saskatoon, SK - Prairieland Exhibition Hall
 12 - Edmonton, AB - Shaw Conference Centre
 14 - Calgary, AB - The Corral
 16 - Vancouver, BC - Pacific Coliseum
 17 - Salem, OR - Salem Armory
 19 - San Jose, CA - Event Center
 20 - San Diego, CA - Cox Arena
 21 - Long Beach, CA - Long Beach Arena
 22 - Mesa, AZ - Mesa Amphitheatre

Gigantour 4 (2012)

Programmation
Megadeth a annoncé le  la liste des groupes participant à l'édition 2012 du Gigantour :
 Megadeth
 Motörhead
 Volbeat
 Lacuna Coil

Dates
Megadeth a annoncé le  les dates de l'édition 2012 du Gigantour.

Janvier
 26 - Camden, NJ - Susquehanna Bank Center
 27 - Uncasville, CT - Mohegan Sun Arena
 28 - New York, NY - Madison Square Garden
 29 - Lowell, MA - Tsongas Arena

Février
 1 - Glens Falls, NY - Glens Falls Civic Center
 2 - Québec, QC - Colisée Pepsi
 3 - Montreal, QC - Centre Bell
 5 - Kingston, ON - K-Rock Centre
 7 - Oshawa, ON - General Motors Centre
 8 - Hamilton, ON - Copps Coliseum
 9 - Auburn Hills, MI - Palace of Auburn Hills
 10 - Chicago, IL - Aragon Ballroom
 12 - Milwaukee, WI - Eagles Ballroom
 14 - St. Paul, MN - Myth
 16 - Saskatoon, SK - Prairieland
 17 - Edmonton, AB - Shaw Conference Centre
 18 - Calgary, AB - Big 4 Building
 20 - Abbotsford, BC - Abbotsford Ent & Sports Centre
 21 - Kent, WA - Showare Center
 23 - San Jose, CA - Events Center
 24 - Universal City, CA - Gibson Amphitheatre
 25 - Phoenix, AZ - Comerica Theatre
 26 - Albuquerque, NM - Tingley Coliseum
 28 - Denver, CO - The Fillmore Auditorium

Notes et références

Megadeth
Festival de heavy metal


The points system and playing conditions for the World Test Championship is another matter on table for the meeting on Tuesday, October 16.
The International Cricket Council (ICC) will discuss imposing tougher sanctions on the various T20 or T10 leagues around the world, in its meeting on Tuesday, October 16.
The game's world governing body is concerned about the threat of corruption, which these competitions seem invariably vulnerable to. Many leagues have been mushroomed with an ambition to have the similar financial impact and clout that Indian Premier League(IPL) enjoys, but that has never really transpired in reality.
Although leagues like BBL in Australia, Pakistan's PSL, Caribbean Premier League(CPL) have been successful, other tournaments like the Global T20 Canada League as well as Afghanistan's APL and the upcoming UAE T20x, the T10 competitions aren't necessarily safe and immune from any off-field illegal happenings.
The other highly substantial matter that is to be discussed at the 4-day meet, will be the playing conditions during the inaugural World Test Champions which begins with the Ashes 2019 after the World Cup next year.
This will be the maiden occasion when ICC's first independent female director, Indra Nooyi will be attending the meeting. India will be represented by BCCI acting secretary Amitabh Choudhary after CEO Rahul Johri had to pull out because of the allegations of sexual harassment charged against him.
APL 2018: Hazratullah Zazai terms hitting six sixes in front of his Idol Chris Gayle as "Surreal Moment"


The Squash ashtray is one of the smallest objects in the Memphis Milano collection. The overlapping of shapes and colors are distinctive of the "Memphis" philosophy. The bottom of the ashtray features the name of the designer and the collection.


December 1 is entirely up to you. We can do anything you want. If you wish, please begin a discussion in the comments below or on twitter.
On November 24, you will give presentations about the "dark side" of social media and all of the things we have discussed in class so far. The presentations will all be online, we will not be in class. I will send a link to an online conference by email.
Make sure you have a strong Internet connection and a headset with microphone for the Web conference.
Please use online communication tools to organize the presentations. Please do not rush to a decision like last time. Begin by brainstorming topics, then ranking them, then selecting what you want to do. Feel free to use any tools: Twitter, Google Docs, etc.
Keep the presentations informative but also entertaining. Do mention your sources and do educate us about something we don't already know. But, you do not need to work on this presentation as much as you would on the final paper.
Please ask questions about the presentations in the comments below, or use them as you wish to organize and coordinate.
is informative and maybe even entertaining; it addresses the topic in some depth.
is well-informed by a variety of sources, not all scholarly sources.
It is up to the group to decide how many presentation to give, and whether to make them team or individual. It is up to the group to divide the available time among presentations. The presentations need not all be the same length, but they do need to fit in the 6-9 time slot. Allow time for two 10 minute breaks, some buffer for technical difficulties (15 min), and time for questions and discussion.
Each student will browse a number of journals and conference proceedings from 2014 and identify 2 articles they want to read. The 2 articles must be outside the student's main area of interest.
Then, each student will blog reading notes about the 2 articles before class time. The reading notes will be detailed enough to help others understand the article, but will still be concise. Make this an exercise in the art of effective explanation of scholarly research.
Then, during class time, all students will read and comment upon each other's blog posts.
Please find below a list of publication outlets where you are likely to find research on social media. Browse their tables of contents for the current year and pick 2 articles. Of course, you will need to get the full text through the libraries' site.
This list is not exclusive, it's just what I could think of off the top of my head, but I am missing many other ACM conferences that publish social media research. As you come across more, please list them in the comments below.
If you need some help with Twitter, please see these resources – and also ask me on Twitter!
It would be really helpful if you can get to this to do list in the next 2 days – so we can manage to follow each other by the time next class comes around.
Also, I need to know if you are following this blog. Please leave a comment ("great post" will do ;)) to let me know you saw it as soon as you do see it.
Remember that this Thursday you're presenting on a topic related to the dark side of the social internet.
Let's tentatively plan to present remotely (but don't get out of town yet).
Please use comments to this post to propose & discuss ideas for the Wild Card class on Dec. 1. It is your class, I am open to all ideas.
Thank you all for the good work you did trying to get your drafts as complete as possible. Now you get to take a brief TECH 621 breather while I provide feedback on your drafts.
Final project presentation, next week, April 26 – please upload your slides on BB, I'd like to share them with Radian 6 partners.
Final project deadline, exam week, May 3 – that's when your final-final paper will be due. Look out for another blog post with details.
Blog & social media immersion assessment – make your blog ready. Make sure you have clear tags and categories for your comments and article analyses. I will be grading social media immersion after class next week (after April 26).
Please let me know you saw this post by leaving a brief comment, liking, or assigning a star rating.
Some students have pointed out that they only have access to the past 30 days of data from R6, not 30 days since the beginning of the semester.
For most of you, this may be more than enough.
Make sure you set up your widgets by specifying a date range, and not by using real-time monitoring. In my account, when I specify a date range, I can go back in time much further than when I use real-time monitoring.
So, check that first. You should be able to go as far back as January of 2011. But, if January and February are greyed out, then you know for sure your account is limited to 30 days. In this case, you may contact @vargasl. She will need your Purdue email to find your account, and she will be able to set access to 30 days since the day the account was set up back in February.


there is a fine line between a background check and a pre-employment social media screening. That is why Kentech is a perfect solution for your company. We gather the information and report only what is permissable keeping your company free and clear.
Intelligence gathering from social media sites from open and closed social networks through cyber and digital analysis.
To minimize the risks of doing informal Internet searches on applicants, some employers have sought to allow only non-decision-makers to do such searches. In these cases the investigator will gather the online information and pass on to the decision-makers only that which is permissible for consideration.