text:
Stanks' Sermon
McNabb's highlight reel goals delivers victory to Blades
Cyle McNabb, left, celebrates scoring a goal with linemate Zach Huber.
REGINA, Sask. – For one night, Cyle McNabb looked like the second coming of Bernie Federko.
The recently acquired 18-year-old left winger scored two highlight reel goals on Saturday to help deliver the visiting Saskatoon Blades to a 4-2 victory over the Pats in Regina before 5,444 spectators at the Brandt Centre. The outburst marked the first two-goal game McNabb has experienced in his WHL career.
For a short moment, he mirror what Federko once did for this Blades suiting up at forward for the major junior squad from 1973 to 1976 in his legendary hockey career.
McNabb, who is a sophomore from Winnipeg, Man., has appeared in 102 career regular season games with the Vancouver Giants, Kootenay Ice and Blades to date recording four goals and three assists.
Cyle McNabb had his first two-goal night in the WHL on Saturday.
He now has three goals in his first four appearances with the Blades. The Blades acquired McNabb in a trade with the Ice on Jan. 7 in exchange for 18-year-old forward Brandon Machado and a fifth round selection in the 2021 WHL Bantam Draft.
"Obviously, it was a good night," said McNabb about the outburst. "Our line was going the whole night, and it paid off in the end.
"In the end, we are happy to get two points, and we're just going to try and keep it rolling."
The Pats, who are going through a major rebuild, gave the Blades everything they could handle with an extreme hardworking effort.
Despite being outshot 16-13 in the first period, the Blades exited the frame holding a 1-0 lead, when veteran centre Eric Florchuk tucked home at power-play goal between the legs of Pats netminder Dean McNabb.
Early in the second, McNabb, who was playing on a line centred by Tristen Robins and Zach Huber playing right wing, went to work.
The Blades recently acquired Cyle McNabb from the Kootenay Ice.
McNabb collected the puck at a bad angle at the right side of the Regina net and proceeded to snipe home a shot to the far side of the Pats goal.
"Robby (Robins) got stepped up on, and he got a big hit," said McNabb, who stands 6-foot-1 and weighs 191 pounds. "The puck was lying there.
"Me and Hubs (Huber) had a two-on-one to the net, and I just saw the far side and I took it. It went in."
The Blades extended their lead to 3-0 with 70 seconds to play in the second, when Florchuk tucked home a backhand shot on a breakaway.
The Pats proceeded to fight back early in the third. With the Blades working on the power play, Pats right-winger Duncan Pierce was hacked down while skating into the Saskatoon zone on a breakaway by a Blades player resulting in a penalty shot.
Pierce scored on a shuffle move on the penalty shot to cut Saskatoon's lead to 3-1 at the 2:30 mark of the third.
Eric Florchuk (#17) scored twice for the Blades on Saturday night.
That set the stage for McNabb to step up again a little over three-and-a-half minutes later. With the Blades applying pressure in the Regina zone, McNabb got a hold of the puck, danced around Pats goalie in Davidson, Sask., product Dean McNabb and dumped the puck into an empty cage.
Cyle McNabb gave credit again to his line for helping him out on his goal that gave the Blades a 4-1 edge.
"That was nice too," said McNabb. "Again, Robby (Tristen Robins) made a great play and banked it off the back wall.
"I just put it in the net."
Pats 18-year-old rookie right-winger Riley Krane scored his 10th goal of the season on a determined short-handed effort with 8:33 remaining in the third period to cut the Blades lead to 4-2.
Duncan Pierce (#22) celebrates scoring on a penalty shot for the Pats.
Krane was stopped initially on a breakaway, picked up the puck behind the Saskatoon net and came out in front to score.
That tally wasn't enough to spark a comeback for the host side.
Nolan Maier turned away 32 shots to pick up the win in goal for the Blades (28-13-6). Dean McNabb stopped 28 shots to take the setback in goal for the Pats (12-33-1-1).
Maier was pleased with how his teammates played in front of him on Saturday. He noted that helped him have a good night.
"A lot of the shots our forwards and the D (defence) kept them to the perimeter," said Maier. "I think it kind of helped me out getting settled into the game nicely.
Nolan Maier makes one of his 32 saves for the Blades.
"We came out with two points, and that is all we could ask for."
Maier was happy to see Cyle McNabb have a great game for "The Bridge City Bunch."
"I think it is really good to see him producing here, and we are lucky to have him," said Maier.
Now having played four games with the Blades, McNabb believes he has settled in.
"Ever since I got here, everyone has been very welcoming of me," said McNabb. "All the guys are great. The coaches are great.
"Everyone in Saskatoon is great. They made the transition really easy. I'm happy to be here."
He is looking forward to playing the rest of the campaign with the blue and gold.
"It is exciting," said McNabb. "They have a great group of guys here, a really good hockey team.
The Blades celebrate their victory over the Pats on Saturday night.
"I'm just excited to be here, and I am going to do whatever I can to help the team get wins until the end of the year."
The Blades return to action when they travel to Swift Current this coming Friday to face the Broncos at 7 p.m. at the Innovation Credit Union i-Plex.
The Pats return to action this coming Friday when they host the Brandon Wheat Kings at 7 p.m. at the Brandt Centre.
If you have any comments you would like to pass along about this post, feel free to email them to stankssports@gmail.com.
If you like what you see here, you might want to donate to the cause to keep independent media like this blog going. Should you choose to help out, feel free to click on the DONATE button in the upper right corner. Thank you for stopping in.
Posted by Darren Steinke at 21:58
Labels: Bernie Federko, Brandt Centre, Cyle McNabb, Dean McNabb, Duncan Pierce, Eric Florchuk, Kootenay Ice, Nolan Maier, Regina Pats, Riley Krane, Saskatoon Blades, Tristen Robins, Vancouver Giants, WHL, Zach Huber
Support Stanks' Sermon
Darren Steinke
Darren Steinke is a former sportswriter with the Medicine Hat News, Prince Albert Daily Herald, and the Carillon, which is the student newspaper at the University of Regina. He also had a short stint as a general news reporter for the Saskatoon StarPhoenix. Steinke is best known for covering the WHL for 21 seasons, which included a decade following the Medicine Hat Tigers. In Regina, he is best remember for ties to the University of Regina athletics program. In the summer of 2014, he decided to move to Saskatoon to be closer to family. Opinions on this blog are his own. He plans to write ongoing entries regarding his thoughts on sports. Entries will also include ongoing experiences away from sports, because there is so much more to enjoy in life. If you like the content on the Stanks' Sermon blog, feel free to donate to the cause by clicking on the Paypal button in the top right corner of the blog. Steinke is also a freelancer writer and photographer for hire and can be contacted at stankssports@gmail.com. Follow him on Twitter for various interesting, head scratching and sometimes humourous posts @StanksSports.
Those facing mental health challenges can still be...
Stars lock up first in SFMAAAHL for fifth straight...
Rebuilding Broncos rally for huge OT win over Blad...
Sperling cashes in on big opportunity with Stars
Bauml regains top offensive form with Huskies
Rebels sweep Gold Wings, motor into heavyweight ti...
McNabb's highlight reel goals delivers victory to ...
Blades' Davidson still enjoys wins over Pats
Rebels confirm they're for real, down powerhouse S...
Paterson gets one last hurrah from Saskatoon
Huskies romp over Cougars
Blades get Hughes, give up Paterson to Winterhawks...
Rookie Crnkovic pushes Blades past Thunderbirds
Harsch fitting in with Blades, nets goal in 5-2 wi...
Bohlken delivers in clutch for Huskies in 3-2 win ...
13th career shutout extra special for Huskies' Van...
Tigers deliver win over Giants in Ridley's 3,900th...
Blades buck Broncos 5-2 to start new year
Dominic's journey with AML
As old as he'll ever be
DUBNETWORK
Gameday Preview: Winnipeg ICE @ Calgary Hitmen
Hurricanes & Swift Current Blockbuster Trade
Pick-It Or Flick-It
I'll Be Gone For A While! But, Don't You Forget About Me!
Regan's Rant
Shawn Mullin's Swift Current Broncos Blog
Re-Live 2018: Broncos Win Ed Chynoweth Cup
Zach, Jana enjoy night to remember with Canucks . . . Albertan hoping billboard helps search for kidney
The Lost Girl's Guide to Finding the World
How to Build a Quinzee (and Stay Warm Outside no Matter the Temperature)
The Rod Pedersen Show
Hour 2 – January 29, 2020
The Biggest Lessons I learnt in the Last Decade!


text:
Scouting Report: What can FC Dallas expect from Minnesota United?
The Loons picked up their first win of the season on Wednesday, but will that spark them into the contender most predicted them to be in 2021?
By jpinman75 May 14, 2021, 12:16pm CDT
Share All sharing options for: Scouting Report: What can FC Dallas expect from Minnesota United?
David Berding-USA TODAY Sports
Are they the underdogs yet? There have been plenty of Adrian Heath memes recently suggesting the poor start has been a ploy to claim the gaffer's preferred underdog status. Heading into the midweek matches, plenty of sportswriters and soccer fans were ready to hit the panic button for Minnesota United. After a trip to the Western Conference finals last fall and some preseason predictions of a top-three finish in the West, the Loons opened the season with four straight losses before eeking out a win Wednesday night against the Vancouver Whitecaps. The question remains whether a positive result midweek was enough to raise their confidence levels.
What the stats say:
The numbers say there are problems at both ends of the field. According to Major League Soccer, on offense, Minnesota leads the league with 54 key passes (passes that lead to a shot) but they are near the bottom in terms of goals scored (4). Their percentage of shots on goal is dead last at roughly 20%. Similarly, they are near the top of the league in passes attempted, but clearly, the middle of the table in terms of passes completed. Yet even if they could find their scoring touch from the preseason and stop turning the ball over on offense, that's only half the problem.
On defense, the Loons have given up a league-high 10 goals on nearly a league-high 26 shots on goal. That's a save percentage of 61.5%, which puts Minnesota in the bottom quarter of the league (and no one below them has given up as many shots).
All of this has been a recipe for a disastrous start to the season. Heath addressed part of this issue by playing Tyler Miller in goal against Vancouver in place of previous starter Dayne St. Clair and the Loons earned their first clean sheet of the season. Miller made several excellent saves to keep Vancouver off the scoreboard and I expect to see him again.
In their outing against the Whitecaps, Heath's side played with desperation – they needed a result. They went hard into tackles and scrapped for loose balls. But now they will be playing their third game in a week and rotation may be needed.
Along the front line, expect to see Bebelo Reynoso orchestrate the attack from the left side for the guys in gray. Since signing, key acquisition Ramon "Wanchope" Abila has played limited minutes as he seeks full match fitness. While he's averaging only about 30 minutes per appearance, after scoring the lone goal on Wednesday he could get the start. Or Heath could stick with Robin Lod up top with Hassani Dotson on the right wing. Ethan Finlay or Patrick Weah may also be in line for a start on the wing given their need for rotation.
In the middle, Jan Gregus has been playing the 10 role in their 4-2-3-1 with Will Trapp and Ozzie Alonso holding down the fort defensively. There have been whispers that Father Time is finally catching up to Alonso at 35. Don't be surprised if we see Dotson line up in the box-to-box role so Alonso gets a rest.
In the back, Chase Gaspar and Romain Metanire are likely to start at the fullback positions. Both players like to get forward and contribute in the attack. Injury woes have limited the effectiveness of Minnesota's center back pair: Ike Opara remains out for undisclosed reasons and Bakaye Dibassy has yet to play this season after suffering a thigh injury. Starting in the middle will likely be Jukka Raitala and Michael Boxall.
Keys to the Game:
1) Given that Minnesota's outside backs like to get forward, I hope to see FC Dallas wingers Obrian and Vargas attack the spaces that they vacate. If either can pull a center back out of position, that should leave Jara or Pepi room in front of goal to attempt one of the multitudes of shots the Loons have been allowing.
2) Without Abila on the field, Minnesota looked far less dangerous. He's active in the box and the likely target of Reynoso's efforts. But again, his minutes have been limited due to fitness, and given that he's listed at only 5' 9" I'm hoping Hedges and Martinez can beat him to the headers. If Abila is not on the field, Reynoso's opportunities to combine with other players are vastly reduced. He scored a brilliant free-kick against Colorado, but Reynoso is unlikely to put the team on his back against Dallas.
3) #PlayYourKids – Minnesota is a veteran team. With veteran legs. Playing on short rest. Early in the season. This should be a good opportunity for the kids to run right at them and force mistakes.
Expected Line-up:
Abila
Reynoso – Gregus – Finley
Dotson – Trapp
Gaspar – Raitala – Boxall – Metanire

redpajama_set_name: RedPajamaCommonCrawl


text:
The Elevation of Woman
"On the elevation of woman the world's redemption and salvation hinge. And not till woman bursts the bonds of her sexual slavery, to which she has ever been subjected, will the world obtain an inkling of what she really is and of her proper place in the economy of nature." (The Master K.H. to A. O. Hume)
"We have permitted ourselves to say that many French kabbalists have often expressed the opinion that the Oriental School [i.e. the Eastern Esoteric School or Fraternity to which the Theosophical Mahatmas belong] will never be worth much, no matter how it may pride itself on possessing secrets unknown to European occultists because it admits women into its ranks.
"To this we might answer by repeating the fable told by brother Joseph N. Nutt, "Grand Master" of the Masonic Lodge for Women in the United States, to show what women can do if they are not shackled by males – whether as men or as God:
"A lion passing a monument representing an athletic and powerful figure of a man tearing the jaws of a lion said: 'If the scene which this represents had been executed by a lion the two figures would have changed places!'"
"The same remark holds good for woman. If only she were allowed to represent the scenes of human life, she would distribute the parts in reverse order. She it was who first took man to the Tree of Knowledge, and made him know Good and Evil; and, if she had been let alone and allowed to do what she wished, she would have led him to the Tree of Life and thus rendered him immortal." (H. P. Blavatsky, "Alchemy in the Nineteenth Century" article)
"It is difficult to see any good reason why females should not become Adepts. None of us, Chelas, are aware of any physical or other defect which might entirely incapacitate them from undertaking the dreary ordeal. . . . The Hindu sacred books and traditions mention such cases, and since the laws of Nature are immutable, what was possible some thousand years ago must be possible now." (Damodar K. Mavalankar, "Can Females become Adepts?" article)
"There are 'female' adepts in the Brotherhood, and of a very high order. . . . There are instances of females becoming the greatest Adepts. . . . There is a Ray specially adapted to women; it is sometimes called the 'body of love.' Its Logos is rather a female than a male; it belongs to the magnetic pole of the universe." (T. Subba Row, Notes on "The Philosophy of Spirit" and "Esoteric Teachings")
"The Gnostic Sophia, "Wisdom" who is "the Mother" of the Ogdoad (Aditi, in a certain sense, with her eight sons), is the Holy Ghost and the Creator of all, as in the ancient systems. The "father" is a far later invention. The earliest manifested Logos was female everywhere – the mother of the seven planetary powers." (H. P. Blavatsky, "The Secret Doctrine" Vol. 1, p. 72)
"Now Shakti being a female principle, it is fully manifested through a woman, although, properly speaking, the inner man is neither male, nor female. . . . in a woman is manifested abnormally the occult power represented by Shakti. She is moreover gifted with a wonderfully vivid imagination – stronger than man's. And as the phenomenal is the realisation or rather the manifestation of the IDEAL, which can be properly and strongly conceived only by a powerful IMAGINATION – a WOMAN-ADEPT can produce high occultists – a race of "Buddhas and Christs," born "without sin."" (H. P. Blavatsky, "Notes from The Theosophist," "Theosophical Articles and Notes" p. 123-124)
~ BlavatskyTheosophy.com ~


"We are all here at Randolph as brothers and partners for world peace," said Roy Lozano, Chief of International Military Student Officers for the 12th FTW.
Lozano's job means that he shepherds America's allies' best and brightest through some of the toughest flight training in the world right here at Joint Base San Antonio - Randolph and Brooks City Base. Their welfare, on and off duty, throughout the United States is his responsibility.
"This training is hard for Americans so you can imagine how hard it is for international students. I want them to have a good experience here," Lozano said.
Currently there are more than 20 pilots from nine countries in training programs under the 12th Operations Group or in aerospace physiology.
Lozano estimated that he has helped over two thousand students from 23 countries in his 15 years as the IMSO. Constantly on the move and following a briefing with a new Introduction to Fighter Fundamentals class, Lozano tended to a Japanese and Arab officer's administrative needs.
Though he was never a pilot or a military member he has mastered the process to build successful student while showing earnest hospitality.
"If I ever go to their country, I hope they have an IMSO to help me," Lozano said.
International officers come here to learn how to be instructor pilots, fighter pilots, and remotely piloted aircraft pilots just like their American counterparts.
"We learn from them too," said Lt. Col. Rene Carrillo, an instructor pilot with the 435th Fighter Training Squadron.
Carrillo conducted a flight briefing with an American and a Japanese pilot before their training mission in two T-38C Talons. Both officers listened intently to their instructor's technical guidance and they took turns answering questions to confirm their understanding.
"Integrating these officers in our training here introduces them to our way of doing business and that will pay off in the future when we work together in training or combined operations," Carrillo said.
"At first understanding the language and culture was difficult but I have overcome that by hanging out with the American guys," said 1st Lt. Keigo Iizuka, a student pilot from the Japan Air Self-Defense Force. In one month Iizuka will return to Japan for F-15J Eagle training.
"I love taking them to the airport because I hear their stories," said Lozano.
"They say, I thought I was a good pilot but I am a better fighter pilot or, in some cases, instructor pilot because of the training here," said Lozano.


text:
Why climate change is the easiest news to fake
Published by Drew Monkman on June 26, 2018
by Amy Harder, in AXIOS – June 25, 2018
Climate change is intangible and complicated, which makes it an easy target for our era of fake news.
Why it matters: Addressing climate change, whether through government or private action, requires acknowledging a problem exists. Misinformation about the science, including inaccurate statements and articles, makes that harder. Concern about climate change has dropped over the past year among Republicans and independents, according to Gallup polling released in March.
Fake news and inaccurate climate information have been around for a long time, long before Donald Trump became president. But Trump's election has enabled misinformation to spread by elevating leaders in politics and elsewhere who don't acknowledge the scientific consensus on climate change.
We've seen this play out across different forums: media articles, congressional hearings and public speeches.
Republican lawmakers said at a hearing in May that rocks tumbling into the ocean were causing sea levels to rise, not warmer temperatures fueled by human activity.
The Wall Street Journal has run opinion pieces that question mainstream climate science consensus. Some raise important points, but others are deeply inaccurate, such as this one in May that said sea level is rising but not because of climate change.
Trump, EPA Administrator Scott Pruitt and others in the administration have repeatedly raised doubts that humans have an impact on climate change.
When Trump said his inauguration crowd size was the largest ever, it was easy to show a photo disproving his false claim. When Trump blamed Democrats for last week's immigration crisis, it was relatively easy to show how his own policies led directly to family separations.
With climate change, there's nothing simple about the subject — so it's harder to cut through the barrage of misinformation.
I've been covering this issue for nearly a decade, and I still haven't learned the science enough to know quickly and confidently the science behind why a certain piece of information — such as that sea level rise op-ed in the Journal — is wrong, even when I know it doesn't sound right. I seek out scientists and other reputable experts to help distill it.
"There isn't necessarily a good intuitive comparison like 'the crowd in this photo looks a lot bigger than the crowd in this one.' Even if you are looking at lines on a chart, you are comparing abstractions of real phenomena like temperature change."
— Joseph Majkut, climate science expert at the Niskanen Center, a libertarian think tank
Climate change isn't simple because it's inherently uncertain, just like all science — and it's best to acknowledge that uncertainty. Some media articles, environmental activists and progressive politicians often over-simplify, downplay or dismiss altogether any uncertainty. That fuels the polarization on this topic.
The most important thing to know is that the overwhelming majority of scientists say human activity is driving Earth's temperature up, according to Ed Maibach, an expert on climate-change communication at George Mason University.
Yet, just 15% of the public understands that more than 90% of scientists have reached that conclusion, according to a survey this spring by George Mason and Yale University. Nearly half underestimates the scientific consensus.
"It takes a lot of effort to dive in and learn the details about something, and we will do that when we are highly motivated to learn something," said Anthony Leiserowitz, Yale University professor who studies public perceptions of climate. "Most people aren't willing to devote an enormous amount of brain energy to thinking about climate change."
Changing this trend takes time and new leadership — which isn't happening in big enough numbers to shift public debate.
Climate Feedback is a voluntary initiative of well-known and respected scientists reviewing climate change articles for accuracy, whose first work came in 2015.
Among the articles reviewed: The Wall Street Journal op-ed on rising sea levels, which was described as "grossly" misleading to readers; and, on the other side, a highly cited New York Magazine article that the reviewing scientists said exaggerated how bad climate change could get.
The number of people who read the reviews of those articles are undoubtedly a fraction compared to those who read the original pieces.
People take cues from leaders, such as The Wall Street Journal editorial page and Trump administration officials.
Until or unless people in those positions either leave or change opinions, it could be difficult to change the masses.
Earlier this month, we saw one leadership change: New NASA Administrator Jim Bridenstine, who doubted the scientific consensus on climate change when he was in Congress, said reviewing the science convinced him to change positions.
Bridenstine's views are important from a substantive perspective — NASA is one of the top agencies that monitors the planet's climate. But he's not well known enough to change a lot of people's minds.
One non-science thing that could change the debate, in the view of a new bipartisan group, is convincing people to acknowledge the problem without getting stuck debating how serious it is.
Last week, a political group funded by energy companies and supported by a bipartisan pair of former congressional leaders launched a campaign to push for a carbon tax.
One of those leaders lobbying in support, former Republican Senate Majority Leader Trent Lott of Mississippi, said he remains skeptical of what he says are some scientists' political motives — but that won't be his focus.
"I'm not going to debate liberals and Democrats about the icebergs melting. I'm not going to argue how imminent a threat this is. I'm just going to say: 'It is a problem. This is one way to address it. Let's talk about it.' "
— Former Sen. Trent Lott (R.-Miss.)
Categories: A Changing Climate
Tags: Climate Change
Our biggest environmental problem isn't climate change: it's addiction to growth
Why Climate Change Isn't Our Biggest Environmental Problem, and Why Technology Won't Save Us by Richard Heinberg Published by Post Carbon Institute – August 17, 2017 Reposted with permission from Ecowatch. Our core ecological problem Read more…
Climate change impacting 'most' species on Earth, even down to their genome
Three recent studies point to just how broad, bizarre, and potentially devastating climate change is to life on Earth. And we've only seen one degree Celsius of warming so far. Source: The Guardian Author: Jeremy Read more…
Climate-driven species on the move are changing (almost) everything
Source: The Conversation: Academic rigor, journalistic flair Date: April 5, 2017 Authors: Gretta Pecl: Deputy Associate Dean Research, ARC Future Fellow & Editor in Chief (Reviews in Fish Biology & Fisheries), University of Tasmania; Adriana Read more…


Joy can mean so many things to different people, but in a city in Texas, there is a small park that makes its mission to all who enter enjoy their Joyland. To many, this place could easily be passed off as just a hole in the ground or a tacky carnival-style place. However, we've all been told to never judge a book by its cover. The same goes with this park, as it's a place that might just turn a frown upside-down.
In the town of Lubbock, Joyland opened in the 1940's as Mackenzie Park Playground. That name would change in 1973 when the Dean family bought the park and renamed it Joyland Amusement Park. The park has not changed much from the beginning, but with a hometown feeling, change isn't really necessary. The Galaxi Coaster and the Mad Mouse are just a few of the coasters this park has to offer. If you want thrill rides, this park packs a big punch of awesome. Their newly built 140-foot tall tower, Dare Devil Drop, brings screams of delight to everyone. The thrills don't stop there as they have a Roll-O-Plane and a Rock-O-Plane to add to that special feeling you can't find at many other parks. They also have three different water rides available so the day can provide exactly what you came for, joy for the whole family. With a pay as you go option, or pay one price option, this makes it easy to choose if you want to spend a whole day of fun, or just hang out for an hour or two.
Sometimes by going off the beaten path you may find that the only thing you need is a friendly atmosphere, and the feeling that you are part of a town that really loves their park. All you need to do is look closer at what they do have, and learn to appreciate it when you go to Joyland Amusement Park.


text:
// Firechat is a simple, easily-extensible data layer for multi-user,
// multi-room chat, built entirely on [Firebase](https://firebase.com).
//
// The Firechat object is the primary conduit for all underlying data events.
// It exposes a number of methods for binding event listeners, creating,
// entering, or leaving chat rooms, initiating chats, sending messages,
// and moderator actions such as warning, kicking, or suspending users.
//
//     Firechat.js 0.1.0
//     https://firebase.com
//     (c) 2013 Firebase
//     License: MIT

// Setup
// --------------
(function(Firebase) {

  // Establish a reference to the `window` object, and save the previous value
  // of the `Firechat` variable.
  var root = this,
      previousFirechat = root.Firechat;

  function Firechat(firebaseRef, options) {

    // Instantiate a new connection to Firebase.
    this._firebase = firebaseRef;

    // User-specific instance variables.
    this._user = null;
    this._userId = null;
    this._userName = null;
    this._isModerator = false;

    // A unique id generated for each session.
    this._sessionId = null;

    // A mapping of event IDs to an array of callbacks.
    this._events = {};

    // A mapping of room IDs to a boolean indicating presence.
    this._rooms = {};

    // A mapping of operations to re-queue on disconnect.
    this._presenceBits = {};

    // Commonly-used Firebase references.
    this._userRef        = null;
    this._messageRef     = this._firebase.child('room-messages');
    this._roomRef        = this._firebase.child('room-metadata');
    this._privateRoomRef = this._firebase.child('room-private-metadata');
    this._moderatorsRef  = this._firebase.child('moderators');
    this._suspensionsRef = this._firebase.child('suspensions');
    this._usersOnlineRef = this._firebase.child('user-names-online');

    // Setup and establish default options.
    this._options = options || {};

    // The number of historical messages to load per room.
    this._options.numMaxMessages = this._options.numMaxMessages || 50;
  }

  // Run Firechat in *noConflict* mode, returning the `Firechat` variable to
  // its previous owner, and returning a reference to the Firechat object.
  Firechat.noConflict = function noConflict() {
    root.Firechat = previousFirechat;
    return Firechat;
  };

  // Export the Firechat object as a global.
  root.Firechat = Firechat;

  // Firechat Internal Methods
  // --------------
  Firechat.prototype = {

    // Load the initial metadata for the user's account and set initial state.
    _loadUserMetadata: function(onComplete) {
      var self = this;

      // Update the user record with a default name on user's first visit.
      this._userRef.transaction(function(current) {
        if (!current || !current.id || !current.name) {
          return {
            id: self._userId,
            name: self._userName
          };
        }
      }, function(error, committed, snapshot) {
        self._user = snapshot.val();
        self._moderatorsRef.child(self._userId).once('value', function(snapshot) {
          self._isModerator = !!snapshot.val();
          root.setTimeout(onComplete, 0);
        });
      });
    },

    // Initialize Firebase listeners and callbacks for the supported bindings.
    _setupDataEvents: function() {
      // Monitor connection state so we can requeue disconnect operations if need be.
      this._firebase.root().child('.info/connected').on('value', function(snapshot) {
        if (snapshot.val() === true) {
          // We're connected (or reconnected)! Set up our presence state.
          for (var i = 0; i < this._presenceBits; i++) {
            var op = this._presenceBits[i],
                ref = this._firebase.root().child(op.ref);

            ref.onDisconnect().set(op.offlineValue);
            ref.set(op.onlineValue);
          }
        }
      }, this);

      // Generate a unique session id for the visit.
      var sessionRef = this._userRef.child('sessions').push();
      this._sessionId = sessionRef.name();
      this._queuePresenceOperation(sessionRef, true, null);

      // Register our username in the public user listing.
      var usernameRef = this._usersOnlineRef.child(this._userName.toLowerCase());
      var usernameSessionRef = usernameRef.child(this._sessionId);
      this._queuePresenceOperation(usernameSessionRef, {
        id: this._userId,
        name: this._userName
      }, null);

      // Listen for state changes for the given user.
      this._userRef.on('value', this._onUpdateUser, this);

      // Listen for chat invitations from other users.
      this._userRef.child('invites').on('child_added', this._onFirechatInvite, this);

      // Listen for messages from moderators and adminstrators.
      this._userRef.child('notifications').on('child_added', this._onNotification, this);
    },

    // Append the new callback to our list of event handlers.
    _addEventCallback: function(eventId, callback) {
      this._events[eventId] = this._events[eventId] || [];
      this._events[eventId].push(callback);
    },

    // Retrieve the list of event handlers for a given event id.
    _getEventCallbacks: function(eventId) {
      if (this._events.hasOwnProperty(eventId)) {
        return this._events[eventId];
      }
      return [];
    },

    // Invoke each of the event handlers for a given event id with specified data.
    _invokeEventCallbacks: function(eventId) {
      var args = [],
          callbacks = this._getEventCallbacks(eventId);

      Array.prototype.push.apply(args, arguments);
      args = args.slice(1);

      for (var i = 0; i < callbacks.length; i += 1) {
        callbacks[i].apply(null, args);
      }
    },

    // Keep track of on-disconnect events so they can be requeued if we disconnect the reconnect.
    _queuePresenceOperation: function(ref, onlineValue, offlineValue) {
      ref.onDisconnect().set(offlineValue);
      ref.set(onlineValue);
      this._presenceBits[ref.toString()] = {
        ref: ref,
        onlineValue: onlineValue,
        offlineValue: offlineValue
      };
    },

    // Remove an on-disconnect event from firing upon future disconnect and reconnect.
    _removePresenceOperation: function(path, value) {
      var ref = new Firebase(path);
      ref.onDisconnect().cancel();
      ref.set(value);
      delete this._presenceBits[path];
    },

    // Event to monitor current user state.
    _onUpdateUser: function(snapshot) {
      this._user = snapshot.val();
      this._invokeEventCallbacks('user-update', this._user);
    },

    // Event to monitor current auth + user state.
    _onAuthRequired: function() {
      this._invokeEventCallbacks('auth-required');
    },

    // Events to monitor room entry / exit and messages additional / removal.
    _onEnterRoom: function(room) {
      this._invokeEventCallbacks('room-enter', room);
    },
    _onNewMessage: function(roomId, snapshot) {
      var message = snapshot.val();
      message.id = snapshot.name();
      this._invokeEventCallbacks('message-add', roomId, message);
    },
    _onRemoveMessage: function(roomId, snapshot) {
      var messageId = snapshot.name();
      this._invokeEventCallbacks('message-remove', roomId, messageId);
    },
    _onLeaveRoom: function(roomId) {
      this._invokeEventCallbacks('room-exit', roomId);
    },

    // Event to listen for notifications from administrators and moderators.
    _onNotification: function(snapshot) {
      var notification = snapshot.val();
      if (!notification.read) {
        if (notification.notificationType !== 'suspension' || notification.data.suspendedUntil < new Date().getTime()) {
          snapshot.ref().child('read').set(true);
        }
        this._invokeEventCallbacks('notification', notification);
      }
    },

    // Events to monitor chat invitations and invitation replies.
    _onFirechatInvite: function(snapshot) {
      var self = this,
          invite = snapshot.val();

      // Skip invites we've already responded to.
      if (invite.status) {
        return;
      }

      invite.id = invite.id || snapshot.name();
      self.getRoom(invite.roomId, function(room) {
        invite.toRoomName = room.name;
        self._invokeEventCallbacks('room-invite', invite);
      });
    },
    _onFirechatInviteResponse: function(snapshot) {
      var self = this,
          invite = snapshot.val();

      invite.id = invite.id || snapshot.name();
      this._invokeEventCallbacks('room-invite-response', invite);
    }
  };

  // Firechat External Methods
  // --------------

  // Initialize the library and setup data listeners.
  Firechat.prototype.setUser = function(userId, userName, callback) {
    var self = this;

    self._firebase.root().child('.info/authenticated').on('value', function(snapshot) {
      if (snapshot.val() === true) {
        self._firebase.root().child('.info/authenticated').off();

        self._userId = userId.toString();
        self._userName = userName.toString();
        self._userRef = self._firebase.child('users').child(self._userId);
        self._loadUserMetadata(function() {
          root.setTimeout(function() {
            callback(self._user);
            self._setupDataEvents();
          }, 0);
        });
      }
    });
  };

  // Resumes the previous session by automatically entering rooms.
  Firechat.prototype.resumeSession = function() {
    this._userRef.child('rooms').once('value', function(snapshot) {
      var rooms = snapshot.val();
      for (var roomId in rooms) {
        this.enterRoom(rooms[roomId].id);
      }
    }, /* onError */ function(){}, /* context */ this);
  };

  // Callback registration. Supports each of the following events:
  Firechat.prototype.on = function(eventType, cb) {
    this._addEventCallback(eventType, cb);
  };

  // Create and automatically enter a new chat room.
  Firechat.prototype.createRoom = function(roomName, roomType, callback) {
    var self = this,
        newRoomRef = this._roomRef.push();

    var newRoom = {
      id: newRoomRef.name(),
      name: roomName,
      type: roomType || 'public',
      createdByUserId: this._userId,
      createdAt: Firebase.ServerValue.TIMESTAMP
    };

    if (roomType === 'private') {
      newRoom.authorizedUsers = {};
      newRoom.authorizedUsers[this._userId] = true;
    }

    newRoomRef.set(newRoom, function(error) {
      if (!error) {
        self.enterRoom(newRoomRef.name());
      }
      if (callback) {
        callback(newRoomRef.name());
      }
    });
  };

  // Enter a chat room.
  Firechat.prototype.enterRoom = function(roomId) {
    var self = this;
    self.getRoom(roomId, function(room) {
      var roomName = room.name;

      if (!roomId || !roomName) return;

      // Skip if we're already in this room.
      if (self._rooms[roomId]) {
        return;
      }

      self._rooms[roomId] = true;

      if (self._user) {
        // Save entering this room to resume the session again later.
        self._userRef.child('rooms').child(roomId).set({
          id: roomId,
          name: roomName,
          active: true
        });

        // Set presence bit for the room and queue it for removal on disconnect.
        var presenceRef = self._firebase.child('room-users').child(roomId).child(self._userId).child(self._sessionId);
        self._queuePresenceOperation(presenceRef, {
          id: self._userId,
          name: self._userName
        }, null);
      }

      // Invoke our callbacks before we start listening for new messages.
      self._onEnterRoom({ id: roomId, name: roomName });

      // Setup message listeners
      self._roomRef.child(roomId).once('value', function(snapshot) {
        self._messageRef.child(roomId).limit(self._options.numMaxMessages).on('child_added', function(snapshot) {
          self._onNewMessage(roomId, snapshot);
        }, /* onCancel */ function() {
          // Turns out we don't have permission to access these messages.
          self.leaveRoom(roomId);
        }, /* context */ self);

        self._messageRef.child(roomId).limit(self._options.numMaxMessages).on('child_removed', function(snapshot) {
          self._onRemoveMessage(roomId, snapshot);
        }, /* onCancel */ function(){}, /* context */ self);
      }, /* onFailure */ function(){}, self);
    });
  };

  // Leave a chat room.
  Firechat.prototype.leaveRoom = function(roomId) {
    var self = this,
        userRoomRef = self._firebase.child('room-users').child(roomId);

    // Remove listener for new messages to this room.
    self._messageRef.child(roomId).off();

    if (self._user) {
      var presenceRef = userRoomRef.child(self._userId).child(self._sessionId);

      // Remove presence bit for the room and cancel on-disconnect removal.
      self._removePresenceOperation(presenceRef.toString(), null);

      // Remove session bit for the room.
      self._userRef.child('rooms').child(roomId).remove();
    }

    delete self._rooms[roomId];

    // Invoke event callbacks for the room-exit event.
    self._onLeaveRoom(roomId);
  };

  Firechat.prototype.sendMessage = function(roomId, messageContent, messageType, cb) {
    var self = this,
        message = {
          userId: self._userId,
          name: self._userName,
          timestamp: Firebase.ServerValue.TIMESTAMP,
          message: messageContent,
          type: messageType || 'default'
        },
        newMessageRef;

    if (!self._user) {
      self._onAuthRequired();
      if (cb) {
        cb(new Error('Not authenticated or user not set!'));
      }
      return;
    }

    newMessageRef = self._messageRef.child(roomId).push();
    newMessageRef.setWithPriority(message, Firebase.ServerValue.TIMESTAMP, cb);
  };

  Firechat.prototype.deleteMessage = function(roomId, messageId, cb) {
    var self = this;

    self._messageRef.child(roomId).child(messageId).remove(cb);
  };

  // Mute or unmute a given user by id. This list will be stored internally and
  // all messages from the muted clients will be filtered client-side after
  // receipt of each new message.
  Firechat.prototype.toggleUserMute = function(userId, cb) {
    var self = this;

    if (!self._user) {
      self._onAuthRequired();
      if (cb) {
        cb(new Error('Not authenticated or user not set!'));
      }
      return;
    }

    self._userRef.child('muted').child(userId).transaction(function(isMuted) {
      return (isMuted) ? null : true;
    }, cb);
  };

  // Send a moderator notification to a specific user.
  Firechat.prototype.sendSuperuserNotification = function(userId, notificationType, data, cb) {
    var self = this,
        userNotificationsRef = self._firebase.child('users').child(userId).child('notifications');

    userNotificationsRef.push({
      fromUserId: self._userId,
      timestamp: Firebase.ServerValue.TIMESTAMP,
      notificationType: notificationType,
      data: data || {}
    }, cb);
  };

  // Warn a user for violating the terms of service or being abusive.
  Firechat.prototype.warnUser = function(userId) {
    var self = this;

    self.sendSuperuserNotification(userId, 'warning');
  };

  // Suspend a user by putting the user into read-only mode for a period.
  Firechat.prototype.suspendUser = function(userId, timeLengthSeconds, cb) {
    var self = this,
        suspendedUntil = new Date().getTime() + 1000*timeLengthSeconds;

    self._suspensionsRef.child(userId).set(suspendedUntil, function(error) {
      if (error && cb) {
        return cb(error);
      } else {
        self.sendSuperuserNotification(userId, 'suspension', {
          suspendedUntil: suspendedUntil
        });
        return cb(null);
      }
    });
  };

  // Invite a user to a specific chat room.
  Firechat.prototype.inviteUser = function(userId, roomId) {
    var self = this,
        sendInvite = function() {
          var inviteRef = self._firebase.child('users').child(userId).child('invites').push();
          inviteRef.set({
            id: inviteRef.name(),
            fromUserId: self._userId,
            fromUserName: self._userName,
            roomId: roomId
          });

          // Handle listen unauth / failure in case we're kicked.
          inviteRef.on('value', self._onFirechatInviteResponse, function(){}, self);
        };

    if (!self._user) {
      self._onAuthRequired();
      return;
    }

    self.getRoom(roomId, function(room) {
      if (room.type === 'private') {
        var authorizedUserRef = self._roomRef.child(roomId).child('authorizedUsers');
        authorizedUserRef.child(userId).set(true, function(error) {
          if (!error) {
            sendInvite();
          }
        });
      } else {
        sendInvite();
      }
    });
  };

  Firechat.prototype.acceptInvite = function(inviteId, cb) {
    var self = this;

    self._userRef.child('invites').child(inviteId).once('value', function(snapshot) {
      var invite = snapshot.val();
      if (invite === null && cb) {
        return cb(new Error('acceptInvite(' + inviteId + '): invalid invite id'));
      } else {
        self.enterRoom(invite.roomId);
        self._userRef.child('invites').child(inviteId).update({
          'status': 'accepted',
          'toUserName': self._userName
        }, cb);
      }
    }, self);
  };

  Firechat.prototype.declineInvite = function(inviteId, cb) {
    var self = this,
        updates = {
          'status': 'declined',
          'toUserName': self._userName
        };

    self._userRef.child('invites').child(inviteId).update(updates, cb);
  };

  Firechat.prototype.getRoomList = function(cb) {
    var self = this;

    self._roomRef.once('value', function(snapshot) {
      cb(snapshot.val());
    });
  };

  Firechat.prototype.getUsersByRoom = function() {
    var self = this,
        roomId = arguments[0],
        query = self._firebase.child('room-users').child(roomId),
        cb = arguments[arguments.length - 1],
        limit = null;

    if (arguments.length > 2) {
      limit = arguments[1];
    }

    query = (limit) ? query.limit(limit) : query;

    query.once('value', function(snapshot) {
      var usernames = snapshot.val() || {},
          usernamesUnique = {};

      for (var username in usernames) {
        for (var session in usernames[username]) {
          // Skip all other sessions for this user as we only need one.
          usernamesUnique[username] = usernames[username][session];
          break;
        }
      }

      root.setTimeout(function() {
        cb(usernamesUnique);
      }, 0);
    });
  };

  Firechat.prototype.getUsersByPrefix = function(prefix, startAt, endAt, limit, cb) {
    var self = this,
        query = this._usersOnlineRef,
        prefixLower = prefix.toLowerCase();

    if (startAt) {
      query = query.startAt(null, startAt);
    } else if (endAt) {
      query = query.endAt(null, endAt);
    } else {
      query = (prefixLower) ? query.startAt(null, prefixLower) : query.startAt();
    }

    query = (limit) ? query.limit(limit) : query;

    query.once('value', function(snapshot) {
      var usernames = snapshot.val() || {},
          usernamesFiltered = {};

      for (var userNameKey in usernames) {
        var sessions = usernames[userNameKey],
            userName, userId, usernameClean;

        // Grab the user data from the first registered active session.
        for (var sessionId in sessions) {
          userName = sessions[sessionId].name;
          userId = sessions[sessionId].id;

          // Skip all other sessions for this user as we only need one.
          break;
        }

        // Filter out any usernames that don't match our prefix and break.
        if ((prefix.length > 0) && (userName.toLowerCase().indexOf(prefixLower) !== 0))
          continue;

        usernamesFiltered[userName] = {
          name: userName,
          id: userId
        };
      }

      root.setTimeout(function() {
        cb(usernamesFiltered);
      }, 0);
    });
  };

  // Miscellaneous helper methods.
  Firechat.prototype.getRoom = function(roomId, callback) {
    this._roomRef.child(roomId).once('value', function(snapshot) {
      callback(snapshot.val());
    });
  };

  Firechat.prototype.userIsModerator = function() {
    return this._isModerator;
  };
})(Firebase);

redpajama_set_name: RedPajamaGithub


The Asics Men's Kayano Socks in white/grey feature Nano Glide yarn in the toe and heel to protect you from blisters whilst the antibacterial properties will help to avoid irritation and odour. Boasting ventilation areas to let your feet breathe the socks..
...And You Will Know Us by the Trail of Dead - Lost Songs (Music..
The Siberia v2 headset is a member of SteelSeries' iconic Siberia line which revolutionized the gaming headset with unparalleled comfort and sound quality. The headset features a beautiful design enduring comfort and excellent audio performanc..
Plantronics Online Indicator Low 65116-02 Online Indicator Low P..
This indicator works with all Plantronics wireless headset systems. 65116-02 Features: Online Indicator Light, Lets Others Know When You are On The Phone, For Use w/ Plantronics Models: Voyager 510SL, CS70N / HL10, CS55 / HL10, CS351N SupraPlus, CS70N"
It would be set on a college campus in the 1960s, loosely based on the experiences of Lampoon writers Chris Miller and Harold Ramis and Lampoon editor Doug Kenney. They named it Animal House, in honor of Millers fraternity at Dartmouth, where the members h..
Ikea 52 Success Secrets - 52 Most Asked Questions On Ikea - What..
Nerf 59 Success Secrets - 59 Most Asked Questions On Nerf - What..
Caravan Of Souls: An Introduction To The Sufi Path Of Hazrat Ina..
The diagnosis: MS. Gradually, thanks to a diet rich in raw foods, she returned to her former energetic self. For the long term, though, she knew she had to create meals that she would find satisfying and that her husband and three children would love as we..
ul li Provides the motivation you need on your wrist to move more, sleep better, and improve your fitness li li Tracks steps, exercise, overall calories burned, hours slept and quality of sleep li li Track your food, drink, calories, nutrients ..
The Energizer ERD450GRN Lithium Ion Digital Camera Battery is designed to provide perfect compatibility and are rigorously tested to ensure maximum performance and longevity. You can operate your camera with confidence knowing that the Energizer ERD450GRN ..
Roccat Isku Fx - Multicolor Gaming Keyboard - Cable Connectivity..
P p The ROCCAT trade Isku FX Multicolor Gaming Keyboard, the Kone XTD and the Kone Pure are the world's first devices to be connected with the ROCCAT trade Talk reg protocol and they work great together p p For example, ROCCAT trade Talk reg let..
It combines the popular self-centering feature with a durable cable. Heavy duty 5, 000 lb (2, 268 kg) hooks connect the tow harness to your boat. The extra long 14' (4.27 meters) cable fits many larger boats. As the stainless steel pulley glides along the ..
The Garmin GRF 10 Rudder Sensor uses a magnetic sensor to relay position information, eliminating friction that causes other types of sensors to wear out. The arm of the Garmin GRF 10 Sailboat Sensor is connected to the rudder of the boat and relays positi..
With maps showing buildings and landmarks in stunning 3D, you will always know exactly where you are.
Jawbone Jl01-52m-us Up 24 Sleep/activity Monitor - Onyx - Mediu..
ul li Provides the motivation you need on your wrist to move more, sleep better, and improve your fitness li li Tracks steps, exercise, overall calories burned, hours slept and quality of sleep li li Track your food, drink, calories, nutrients and..
Unarguably Australia's greatest export Housewife Superstar Dame Edna Everage takes time out of her busy schedule to answer questions on her life and voice her opinions to a star-studded audience on no less than three occasions.Star of stage and screen he..


text:
Seahawks, Marshawn Lynch Discussing Return Next Season
NEWS NFL Seattle Seahawks
Los Angeles Lakers NBA NEWS
Lakers' Russell Westbrook Passes Gary Payton On All-Time Assists List
Indiana Pacers NBA NEWS
Pacers' Myles Turner Talks New Contract with Team
Dallas Mavericks NBA NEWS
Golden State Warriors NBA NEWS
Warriors' Klay Thompson Talks Team Winning Back-to-Back Road Games
Brooklyn Nets NBA NEWS
Nets' Kevin Durant Talks Return Timetable
NEWS NFL San Francisco 49ers
49ers' Brock Purdy Has Torn UCL in Right Elbow
Milwaukee Bucks NBA NEWS
Bucks' Giannis Antetokounmpo Posts 5th Career 50-Point Game
NEWS NFL Philadelphia Eagles
Eagles' Jalen Hurts Talks Journey to Super Bowl
Dallas Cowboys NEWS NFL
Anthony DiMoro
The Seattle Seahawks and the agent for free-agent running back Marshawn Lynch have been discussing a potential return to the team in 2020, according to ESPN's Brady Henderson.
Lynch, 34, unretired for a second time prior to Week 17 of 2019 with the Seattle Seahawks when injuries deeply depleted their backfield. Lynch played in 3 games for the Seahawks, rushing for 67 yards and 4 touchdowns after a 14-month layoff.
"Well, it's almost on that 'expect the unexpected,'" Lynch said, during an interview with ESPN's Scott Van Pelt on Monday.
"But just as far as right now, what I do know is, Imma keep it solid. My agent [Doug Hendrickson] has been in talks with Seattle, so like I said, we'll see what happens. If it works out and I get back up there, it is what it is. And if not, s—, I'm lookin' good. So I ain't really trippin' too much."
Both Chris Carson and Rashaad Penny are coming off of season-ending injuries, so the Seahawks are in need of backfield depth.
Lynch could make around $1.05 million if he returned to play in 2020, based on his time in the NFL.
Sometimes you need a veteran to help you gain more success, someone with a proven track record. That's why it is critical to bring in a proven Miami SEO company when you need to gain traction in the Miami market. From gaining a competitive edge in Orlando and employing Orlando SEO services to gain that edge, to intensifying your focus in Fort Lauderdale with elite tier Fort Lauderdale SEO services, Elite Rank Media has the track record, and formula to deliver the results you need.
Cowboys' Andy Dalton Ready For Second Half of Career
Browns' Odell Beckham Jr. Predicting Big Season
Anthony DiMoro is the creator of Sports Rants and the CEO of Elite Rank Media. He is a former Contributor for Forbes and the Huffington Post where he covered sports, social media, and SEO. Anthony formerly hosted the 'Forbes SportsMoney Podcast'.


How Important Is A Salon's Web Presence?
These days beauty therapists put a lot of time, effort and expense into their training. Then they choose the best products and kit out the most beautiful salon. What is the point if no-one knows they are there?
A good website is one of today's biggest selling tools for any business. Available to every potential client 24 hours a day, there is simply no substitute for this kind of marketing. It can be found by people who are not looking for you specifically and never needs to be out of date. However, many salons and therapists simply do not seem switched on to this technology.
Many are still investing in leaflet drops, Yellow Pages adverts and newspaper advertising, fearing that a website will be too expensive. Others realise the benefits of a site but still do not put any money into it, opting instead for free DIY options which look anything but professional and lack the vital search engine optimisation that they need in order to be found.
Not only does the poor quality of these free sites help to put clients off, it can also leave therapists open to fines having inadvertently covered the sites in images they do not have the copyright to.
A professional web developer can help to avoid these pitfalls. Whilst a good website will require financial investment, it will also cancel out the need for a lot of other costly and less effective marketing techniques.
A good website from a trained professional will do a lot of the work for you. It is something you can continually update, there is no limit on space meaning you can describe treatments in any amount of detail, and you can show off beautiful images of your work and salon.
So, can a salon really afford to live without a good website? If you think not, click here for a web development business that I recommend.
Previous ArticleShould Salons Offer Treatments To Children?
Next Article Do You Offer Treatments To The Trans Community?
How Much Are Your Gift Vouchers Worth To You?
Do You Take Your Oldest Clients For Granted?


In a medium mixing bowl, whisk the almond milk, egg, vanilla, and coconut oil until combined.
Add the pancake mix and 1/4 cup of Great Lakes GelatinCollagen Hydrolysate. Whisk until smooth, adding a splash or two more almond milk if the batter is too thick. You're going for the texture of a smoothie, not porridge.
Heat a 5-inch cast iron skillet over a medium-high flame. Lightly brush the pan with coconut oil.
Add 1/3 cup of batter to the pan and arrange 7 or so blueberries on top. Cook until the pancake pulls away from the sides of the pan and begins to bubble towards the center, about 2 minutes.
Flip and cook for another minute on the second side, until puffed and lightly browned.
Remove to a plate and repeat with the remaining batter. You should have 6 thin pancakes in total. 6. Meanwhile, place 1 1/2 cups of the blueberries, 2 tablespoons maple syrup, and 2 tablespoons water in a small saucepan. Bring to a simmer over medium heat and cook, uncovered, until the berries have released their juices and begun to breakdown into a thin jam, about 5 minutes. Stir in the remaining collagen and set aside.
Serve the pancakes drizzled with the compote, and garnished with the remaining blueberries.
Serve alongside maple syrup and butter or ghee.


Black Sheep was started by a group of friends who were flatmates at uni and quit their jobs on the same day to "Leave The Herd Behind" and embark on a coffee journey together. Their mission is to "rid the World of boring, average-tasting coffee".
The founders who still run the business today travel to origin throughout the year and are among the very few shop retailers to actually buy their beans directly at the plantations, looking after the picking, drying, and washing process according to the strictest of guidelines. From the volcanic soil of Papua New Guinea to their famous Ugandan Robusta Revival (currently the only Specialty Grade 100% Robusta coffee on the market), every coffee they serve has a unique story to tell.
Their Head of Coffee Tony is one of New Zealand's leading Head Baristas and regularly hosts the Black Sheep Coffee Clubs where regulars can sign up to Latte Art classes and learn about coffee processing methods, roasting profiles, and latest brewing techniques (Black Sheep is famous for their signature drink the Black Hoof Coffee made with coconut oil and their secret recipe for Nitro Cold Brew served on tap in the shops).
Bar & Restaurant group Drake & Morgan will expand its portfolio and open its 22nd venue, The Allegory, in Principal Place in October 2017.
Located on the ground floor of Principal Place, the venue includes a large bar and separate dining area providing a total of 145 covers, and an al fresco terrace seating an additional 86. Open seven days a week for breakfast, lunch and dinner, The Allegory's extensive menu will feature stylish small plates, sharing boards, superfood salads and substantial mains. An extensive drinks list includes a wide range of wines and champagnes, premium spirits, craft beers and creative cocktails and mocktails.
Bringing a taste of Hawaii to Principal Place, Polú Poké's (pronounced Poh-Kay) story began on a trip to LA in 2013. Founder Celia Farrar was taken to a local hole-in-the-wall spot on Venice beach, where the team were doling out pots of delicious marinated fish to a hungry queue of surfers, skaters and locals.
After years of testing, tasting and tweaking, London's first Poké eatery was born, trading with the likes of Kerb and Streetfeast and popping up in Soho House.
And now Polú Poké are ready to get the rest of London hooked on their tasty bowls of goodness, serving an all day menu of breakfast, coffee and lunch.
Little Farm is a bakery, butcher, fruit & veg store serving fresh and healthy food prepared in an open kitchen. They source most of our products from UK local farms.
The breakfast menu is focused on eggs and oats (porridge) and the lunch menu on free-range farm chicken and vegetables across sandwiches, soups, salads, etc. A kiosk within the store will also be serving coffees throughout the day.
In the evening, Little Farm will transform itself in RED (by Little Farm) and will become a cosy restaurant serving mainly red meat such as fillets, rib eye, t-bone steak and burgers.
Customers will also be able to buy raw products such as meat, fruits, vegetables and bread to take home.
Award-winning Spanish tapas bar and restaurant group Camino come to Shoreditch this autumn, opening their fifth site on the ground floor of Principal Place. Inspired by the Castile y León region of Northern Spain, the new restaurant and bar designed by B3 Designers (Lyle's, Gymkhana, Roka) will be vibrant yet relaxed, opening onto a beautiful heated terrace for outdoor drinking and dining all year round.
Camino create authentic, exciting tapas, using the best quality ingredients and traditional cooking techniques. In addition to the classics, Executive Chef Nacho del Campo, will also be working with local suppliers to create special dishes exclusive to the menu at Shoreditch. The passion for authenticity doesn't end with the food, with an award-winning wine list and drinks menu featuring Spain's best beers, cocktails, and Camino's legendary Spanish Serve G&Ts. Coupled with a buzzing bar and live music, it's the perfect place for after work drinks.
Camino Shoreditch will be open seven days a week, for lunch, dinner and everything in between. A variety of beautiful, flexible spaces will be available to hire for office parties, business meetings and private dining.
BLOK Clapton opened in Feb 2016 to critical acclaim. Accolades include 'Best Boxing in London (Harpers), Best Barre in London (Huff Post), Most Beautiful Yoga Studios in London (Refinery 29), Best Newcomer (Tatler Gym Awards), Best Boutique Gym in London (Harpers Bazaar), Best Eatery in a Gym (Harpers Bazaar), Best for Calisthenics (Men's Health) One of the finest gyms around the globe (Wallpaper).
BLOK will now be coming to Principal Place. Designed by Daytrip Studio, their intention is to deliver the best classes in London, in the world's most beautiful boutique gym.
There will be a cafe, three studios and fully equipped changing rooms. There will be around 200 classes a week, from circuit training, boxing and dance to yoga, barre and pilates. You can see a full list of the class types on the BLOK website.


text:
Q: Matlab: Error using readtable (line 216) Input must be a row vector of characters or string scalar I gave the error Error using readtable (line 216) Input must be a row vector of characters or string scalar when I tried to run this code in Matlab:
clear
close all
clc
D = 'C:\Users\Behzad\Desktop\New folder (2)';
filePattern = fullfile(D, '*.xlsx');
file = dir(filePattern);
x={};
for k = 1 : numel(file)
    baseFileName = file(k).name;
    fullFileName = fullfile(D, baseFileName);
    x{k} = readtable(fullFileName);
    fprintf('read file %s\n', fullFileName);
end
% allDates should be out of the loop because it's not necessary to be in the loop
dt1 = datetime([1982 01 01]);
dt2 = datetime([2018 12 31]);
allDates = (dt1 : calmonths(1) : dt2).';
allDates.Format = 'MM/dd/yyyy';
% 1) pre-allocate a cell array that will store
%   your tables (see note #3)
T2 = cell(size(x)); % this should work, I don't know what x is
% the x is xlsx files and have different sizes, so I think it should be in
% a loop?
% creating loop
for idx = 1:numel(x)
    T = readtable(x{idx});
    % 2) This line should probably be T = readtable(x(idx));
    sort = sortrows(T, 8);
    selected_table = sort (:, 8:9);
    tempTable = table(allDates(~ismember(allDates,selected_table.data)), NaN(sum(~ismember(allDates,selected_table.data)),size(selected_table,2)-1),'VariableNames',selected_table.Properties.VariableNames);
    T2 = outerjoin(sort,tempTable,'MergeKeys', 1);
    % 3) You're overwriting the variabe T2 on each iteration of the i-loop.
    % to save each table, do this
    T2{idx} = fillmissing(T2, 'next', 'DataVariables', {'lat', 'lon', 'station_elevation'});

end

the x is each xlsx file from the first loop. my xlsx file has a different column and row size. I want to make the second loop process for all my xlsx files in the directory.
did you know what is the problem? and how to fix it?

A: Readtable has one input argument, a filename. It returns a table. In your code you have the following:
x{k} = readtable(fullFileName);

All fine, you are reading the tables and storing the contents in x. Later in your code you continue with:
T = readtable(x{idx});

You already read the table, what you wrote is basically T = readtable(readtable(fullFileName)). Just use T=x{idx}

redpajama_set_name: RedPajamaStackExchange


Loneliness is a personal and subjective experience, one which is defined not by the quantity of our relationships but by their subjective quality. Not all lonely people live in isolation. A person might have many friends around them or live with a partner, yet still feel the deep ache of emotional or social isolation (read Are You Married but Lonely here).
For some of us, loneliness begins gradually. One friend moves away, another has a child, a third works a seventy hour work week, and before we know it the social circle that had sustained us in the past ceases to exist and we find ourselves spending most of our weekends alone. For others, loneliness is a result of life transitions such as leaving for college, enlisting in the military, losing a partner to death or divorce, starting a new job, retiring and losing the daily company of collegues and associates, or moving to a new town or country.
1. Loneliness impacts our perceptions such that we are likely to view our existing relationships more negatively and pessimistically. We assume people aren't interested in our company and that if we reach out to them they will reject us and turn us down. As a result we take little initiative and find excuses to turn down invitations when we do get them.
2. Our negativity and reluctance to give our friends the benefit of the doubt creates a self-fulfilling prophecy in which our own reactions and avoidance pushes them away even further. Because we remain blind to our part in creating the distance, we see their withdrawal as confirmation of our fears and become even more convinced they no longer care about us.
3. Loneliness is very visible to others who are likely to label us as less interesting and less appealing as social prospects. This stigma, combined with the negativity and suspicion we might project in social situations makes it challenging for us to establish new social and romantic connections.
4. Loneliness is contagious. Studies of social networks found that over time, lonely people 'infect' those around them such that they too become pushed to the periphery of their social networks (read more about loneliness and contagion here). As a result, our remaining friends and social contacts might provide diminishing opportunities for social connection.
5. The more socially and emotionally isolated we are the more our social skills and relationship 'muscles' tend to atrophy. Skill sets often weaken when unused and our ability to connect and relate can easily get rusty after a period of isolation. If things go badly when we try to use these 'muscles' we don't attribute the failure or rejection to our skill sets being rusty but see it as further evidence of our fundamental undesirability.
In order to emerge from our loneliness we have to do several things, all of which involve taking a leap of faith in one form or another.
The bottom line is that you have to recognize your loneliness for what it is—a trap that requires effort, bravery, and a leap of faith to escape. Freedom will be sweet once you do.
Do You Want To Know Why People Talk Too Much?


We waited until the very last minute to make this decision hoping for a shift in the weather, however unfortunately it doesn't look like Mother Nature isn't going to give up.
The GOOD NEWS is that we will be combining several of the vendors and entertainment from our Mayfair May-Fair to our very first Mayfair Night Market, scheduled for Thursday June 2nd starting at 5pm right at Cottman and Frankford!
Please put the date and time on your calendars now, and stay tuned for more details as they become available!
In other GOOD NEWS, the Mayfair Fallen Heroes Runs is STILL ON, and will begin the Run at Ryan and Rowland at 7:30AM!
· Mayfair Civic American Flag Project: Sixty (60) flags have been purchased and will be placed along Rowland avenue from Rhawn to Frankford as soon as they arrive. If you would like to help hang the flags, please see Jim Ortlieb.
A very special Thank You to everyone to donated to this project, and to Ken Stevens of Pennypack Music Festival, and Home Depot store #6866 at the Leo Mall for helping us secure the flags.
· Mayfair Business Association / Mayfair Improvement District Update: Sam Siegel – Please welcome Sam, our new Executive Director!
· Mayfair Fallen Heroes Run – Mayfair May-Fair – Mayfair Car Show: THIS Saturday May 21st 2016 - The Run starts at 7:30 am – The Fair starts at noon featuring live music by Jamison, crafters, PDAC, and the Mayfair Car Show!


text:
PARIS EST TGV STATION
Area France | Transport
Paris, France | 2007 | Railway station
A complete restructuring of the station
Client: SNCF, ALTAREA (retails)
Prime Contractor: SNCF Gares & Connexions, AREP / Design office: AREP, OTH (structure), Méthodes & Pilotage
Site surface : 33 100 m²
Delivery: 2007
Historic station Renovation Multimodal Hub Retail
Timed to coincide with the launch of TGV services, the Gare de l'Est has been restructured.
The original glass-tile roof vault spanning the left-luggage area, which was located in the centre of the 1930 building, has now regained its original function as a "light vault" housing the new passenger hall leading to the three metro lines. The vertical accessways leading to the metro lines have been modified, as have numerous existing areas which have hitherto been under-utilised and which are now earmarked for services and shops. Some 2 000 m² of additional sales surfaces and a supply centre have also been created. Car traffic has been regulated on the station forecourt. All these transformations create an image of a functional multi-modal transport hub that blends sensitively with an outstanding site, in accordance with passenger expectations.


ASP.NET is a unified Web development model that includes the services necessary for you to build enterprise-class Web applications with a minimum of coding. ASP.NET is part of the .NET Framework, and when coding ASP.NET applications you have access to classes in the .NET Framework. You can code your applications in any language compatible with the common language runtime (CLR), including Microsoft Visual Basic and C#. These languages enable you to develop ASP.NET applications that benefit from the common language runtime, type safety, and inheritance.
ASP.NET provides services to allow the creation, deployment, and execution of Web Applications and Web Services Like ASP, ASP.NET is a server-side technology Web Applications are built using Web Forms. ASP.NET comes with built-in Web Forms controls, which are responsible for generating the user interface. They mirror typical HTML widgets like text boxes or buttons. If these controls do not fit your needs, you are free to create your own user controls.
6. Update files while the server is running!
There are many problems with ASP if you think of needs for Today's powerful Web applications.


text:
How Chicago Is Trying to Integrate Its Suburbs
The city, long divided into black and white neighborhoods, is asking affluent counties to pitch in.
By Alana Semuels
Greenleaf Manor in Glenview (Alana Semuels)
GLENVIEW, Ill.—This town boasts stellar schools, two golf courses, a children's museum, and the corporate offices of a handful of big companies, including Kraft Foods. Many wealthy, white communities like this one would not welcome an affordable housing development. Perhaps residents wouldn't say so outright, but instead they might pass laws prohibiting apartment buildings or deny permits to units targeted at low-income people.
But that's not the case here. A 20-unit development called Greenleaf Manor, with most of the units set aside for low-income people, was completed early last year. Some of the units can only be rented to people who hold Section 8 vouchers, a class of people that landlords in the suburbs often avoid. And the building, which looks like new condo construction, was completed without a peep of objection from the wealthy town where it is located.
How did this happen? Why is an affluent suburb like Glenview open to the sort of development other similar places have shut down?
The answer is a novel collaboration among Cook County and a group of other counties in the Chicago region, including suburban DuPage, McHenry, Lake, and Waukegan. These counties have created a mechanism for pooling their resources so that low-income people who would normally live in the urban core of Chicago can move to more rural and suburban areas. As housing advocates criticize the Housing Choice Voucher program, colloquially known as Section 8, for segregating poor residents in high-poverty neighborhoods, the Chicago collaboration could provide a model for how to make Section 8 work.
The collaboration began in 2002, when the Chicago Housing Authority and the housing authorities of Lake and Cook Counties created a collaboration called the Regional Housing Initiative (RHI). Its goal was to spearhead the construction of affordable housing in "opportunity areas," which are essentially middle- or upper-income neighborhoods with good schools and safe streets. Today there are nine public housing authorities that participate in the collaborative.
Here's how it works: Through the Regional Housing Initiative, the housing authorities pool a portion of their Section 8-voucher funds and use that money to subsidize the construction of affordable developments in areas with a low poverty rate, a high homeownership rate, good schools, and access to jobs. The Section 8 units in those developments are then accessible to voucher-holders from all of the participating counties, and many of the other units are set aside for low-income people.
Developments Built Through the Regional Housing Initiative
Typically, small counties and towns don't have enough voucher funds to underwrite projects like these developments—before the collaboration, no suburban housing authority in Chicago had built affordable housing with voucher funds. Chicago, on the other hand, has the most vouchers in the region by far, but does not have many options for new housing in safe, high-opportunity neighborhoods. By pooling resources and allowing voucher-holders to move across the entire area, the Regional Housing Initiative has given poorer people access to towns and communities they would have otherwise been excluded from.
This has a number of benefits. It guarantees that voucher-holders will be able to find units in good neighborhoods. It helps finance construction of mixed-income units in the suburbs, where the price of land often makes it tough to do affordable developments. When the state of Illinois distributes low-income housing tax credits, which are essential for developers who want to build affordable housing without losing money, it favors projects that have Section 8 units, so these units are also more likely to get funded than, for example, affordable units in struggling neighborhoods with no Section 8 units.
The project has been responsible for building 2,047 new apartment units in 30 developments since then. About 467 of those units are reserved for residents making less than half of the area median income. The units are all over the area, including in tony suburbs like Glenview.
"It's really in some ways a workaround that we've created in the Chicago area to create more affordable and mixed-income housing in suburban opportunity areas," Breann Gala, a project manager at the Metropolitan Planning Council, which helps run the RHI, told me. "We see this as a tool for both de-concentrating poverty and promoting access to opportunity."
Glenleaf Manor in Glenview (Alana Semuels)
The program has helped people like Denise Boyd, who lived in the North Side of Chicago, in an apartment building that she said got a little too busy at night. When she got off the Section 8 waiting list two years, ago, she says, she was skeptical about the idea of moving to Glenview.
Her kids liked the Chicago school they were in and had friends there, and Boyd goes to church frequently and didn't like the idea of a 45-minute drive, or more, just to get to church.
But then she visited Glenview and loved the trees and flowers in the Glenview building, which has a community garden and a big lawn. The stores are nicer in Glenview, she said, and the schools are excellent, too.
"Adults have to realize, when you have kids, it's all about your children now," she told me. "You have to make sure your children are happy and safe."
While RHI has been effective at convincing both suburban and urban housing authorities to participate in the program, other factors helped too. For example, the recession of 2008 meant that developers had parcels of land that they couldn't offload, and were amenable to selling them to people interested in building affordable housing for fair prices. The recession also meant that many municipalities were looking for ways to encourage building on land that had once been zoned for manufacturing or business. The town of Crystal Lake, for instance, changed some zoning laws during the recession to allow the construction of certain apartment units, and the town now has a 60-unit development—many of which are affordable—complete with a pool, volleyball courts, and an exercise center.
The Destruction of a Black Suburb
Planting Exotic Crops for the Sake of the Local Economy
The Best Way to End Homelessness
"Local towns are now more open to non-traditional uses of suburban land," Julie Biel Claussen, the head of the McHenry County Housing Authority, told me.
Before the Crystal Lake project was built, suburban residents worried that affordable housing would look like Cabrini Green, Claussen said. But now that affordable units have been built through the Regional Housing Initiative, residents have been complimenting the townhouses going up, not even knowing the units are for low-income residents.
"It's a great way to show that affordable housing isn't just a warehouse of poor people," she said.
Housing advocates have long debated the merits of moving low-income families from high-poverty urban areas to suburbs like Glenview. The move can be challenging for families, who leave behind family and friends and enter a new, affluent world. But the research is increasingly conclusive: Living in a "good" zip code dramatically improves kids' chances of going to college, getting a good job, and escaping poverty.
And yet, it can be hard to convince voucher-holders to move to the suburbs. Boyd worried that she would face racism, and that her children wouldn't like being among only a handful of black kids at their school. Boyd says the move was difficult—her kids miss their friends, and Boyd's own friends who use public transit never come out to visit, because it's so difficult to get to Glenview. She still hasn't found a church she likes—the ones in Glenview are "Catholic or Matholic or who knows what," she joked. (To help with these sorts of difficulties, the Regional Housing Initiative is testing a program that will give voucher-holders money to move to high opportunity areas, and should have some results by the fall.)
Denise Boyd outside her apartment in Glenview (Alana Semuels)
But Boyd, who has a disabled son, says all of those obstacles are nothing compared to the piece of mind she's gotten living in a quiet area with good schools. The move might have been difficult, but it will lead to better life outcomes for her children, she said.
Boyd now joins the ranks of hundreds of low-income Chicago families who have helped test new housing strategies. For half a century, Chicago was a prime example of how housing policy could perpetuate segregation. Its public-housing authority built new complexes in predominantly black areas as white areas refused to approve new public housing, a practice that led to a lawsuit in 1969. As part of a settlement, the Gautreaux program moved more than 3,000 black families to the suburbs. Later, a program known as Moving to Opportunity sought to do the same thing. But when studies raised questions about the effectiveness of these programs, they ended. Instead, the majority of families lived in complexes not all too different from the infamous Cabrini Green, and when that was dismantled, they moved to other majority-black, low-income neighborhoods.
But by 2002, business leaders and suburban mayors were recognizing that the segregation of low-income residents in the urban core was holding back the region's economy. Companies located in the suburbs couldn't find entry-level service workers, and when they did, those workers would have hours-long commutes through heavy traffic, and would have problems getting to work in inclement weather. The Regional Housing Initiative was founded with the goal of creating more affordable housing for low-income workers in the suburbs.
"We're increasingly seeing this as a strategy that's not just about individual gains, but really about the aggregate economic impact of the whole region," said Marisa Novara, with the Metropolitan Planning Council. "Knowing that we need low- and high-skilled labor to be able to converge around jobs, we need people of different incomes to be able to live around the region."


Hi All, I am pleased to introduce and interview Manjula Sridhar, a high energy entrepreneur. She is co-founder and Chief Technology officer of Aujas Networks, a pure-play digital security services company. Manjula co-founded Aujas Networks in February 2008, after a decade of experience in the telecom industry and several awards to her credit. Prior to founding Aujas, Manjula served as "Entrepreneur-in-Residence" at IDG Ventures India, a US$150 Million early-stage technology venture capital fund backed by IDG, the world's largest IT-focused media company.
Question: We have heard of entrepreneurs – you started as an entrepreneur in residence. Can you please tell us the differences and similarities between these two?
Answer: I actually started as an entrepreneur and moved into the entrepreneur residence role. "Entrepreneur in Residence (EIR)" is a fuzzy role depending on the VC firm and the context of activity itself. In my case it was for creating Aujas. In that sense, the EIR model here was unique. Given the quick succession from Entrepreneur to EIR, I would say the difference was the funding guarantee. The other struggles of entrepreneur, in terms of building the team, the product and reaching out to customers, completely exists.
Question: When you started on your entrepreneurial journey what were your dreams and aspirations?
Answer: My basic motivation was to utilize my potential completely and build a cutting edge technology company.
Question: What is your vision today regarding the future of Aujas?
Answer: We want Aujas to be the largest pure play security company in India.
Answer: I think it was the space itself which is quite niche, but ultimately the money came in because of the Excellent team that came on board. Cliched, but VCs still fund teams rather than ideas.
Question: If you look back on the last few years, what are your key memories related to starting your business?
Answer: Lot of anxiety in dealing with uncertainty and excitement that comes from exploring unknown territories.
Question: If you could retrace your steps, would you have done something different or differently?
Answer: Lot of things. But the key aspect would be getting a business person on team pretty quickly.
Question: Any other thoughts / insights you would like to share with our readers.
Answer: Persistence pays off in the end, but it is also important to be flexible in the context of set course.


text:
Medical Community Debates Addiction Treatment
By BETH SIMKANIN
David M. Stern, MD
Which Option Is Best: Abstinence-based or Medication-assisted?
A recent collaboration between a Memphis hospital system and a team of physicians specializing in integrated addiction care has helped increase the number of new treatment options available to patients struggling with addiction in the Mid-South.
However, with the growing number of treatment alternatives also comes a difference of opinion concerning the best methods to care for patients, especially when dealing with opioid addiction. This debate is occurring at both the national and local levels of the medical community,
David M. Stern, MD, CEO of IAC Associates, a physicians group specializing in addiction treatment, says that some physicians and inpatient addiction treatment facilities use an abstinence-based strategy of no maintenance medication during a patient's rehabilitation until after the patient goes through the process of detoxification.
A different approach - one Dr. Stern said is becoming more accepted by the medical community - is medication-assisted treatment, with the patient given medication, in some cases for weeks or months, in combination with counseling and behavioral therapies, to provide a "whole patient" approach.
Lucas Trautman, MD
Lucas Trautman, MD, a psychiatrist and chief medical director at Crestwyn Behavioral Health Hospital, said medication-assisted treatment became more prevalent during the past two decades as medical research revealed that patients, especially ones with an opioid use disorder, could benefit from it as a treatment option during recovery.
"The (abstinence-based) 12-step program has been successful for addictions, such as alcohol, for a long time, but with opioids there is a physical change in the brain which requires medication-assisted treatment," Dr. Trautman said.
"It's hard for patients to get off opioids. There are adaptive changes in the brain, which show craving and dependence, which weren't there previously. We are bridging the gap and saving patients' lives with medication-assisted treatment. It decreases cravings for patients. You cut the death rate in half when a patient uses medications like Suboxone."
Suboxone is a brand name for a narcotic substance that is used to treat patients with opioid addiction. It contains buprenorphine, a partial opioid agonist, and naloxone, which are drugs that target brain receptors which respond to cravings. It's commonly used because it can be administered orally and the patient can take it immediately during the detoxification process. Other medications, like naltrexone, which isn't an opioid, must be injected and require the patient to completely go through the withdrawl process first.
Shawn Hamm, MD
According to Dr. Stern and Shawn Hamm, MD, a fellowship-trained and board-certified physician in both family medicine and addiction medicine with IAC Associates, many patients with opioid use disorder are given buprenorphine at the start of treatment, and some continue to use it during treatment and recovery with counseling and behavioral therapies.
"Our goal is to stabilize the patient," Dr. Hamm said. "We treat the patient with medication first and then introduce other items of care so the patient can remain at home and continue working while incorporating treatment into their everyday lives. Everyone does treatment different. It's a broad bracket, and we want to standardize care."
Dr. Stern, Dr. Hamm and another partner, Drew Blackstock, MD, founded IAC Associates in April. The practice, situated in Bartlett, Tenn., is devoted to what it calls "integrated, wraparound addition care." It incorporates behavioral health, physical health and case management in its treatment model. The practice employs a team of physicians, therapists and social workers to treat patients with addiction. In addition to its current location, IAC Associates plans to open a second clinic in Jackson, Tenn., next month.
This past month, IAC Associates joined with Baptist Memorial Health Care in creating what the practice calls a center of excellence for addiction medicine.
According to Dr. Hamm, many patients struggling with addiction end up in the emergency room because they seek help or medication for overdose.
"Patients may realize they need help but don't know where to go so they go to the ER," Dr. Hamm said. "ER physicians don't know where to send these patients or how to care for them in some cases. Now patients in the ER at Baptist Memorial Hospital, Memphis, can get medication-assisted treatment right away to deal with withdrawal right in the emergency room."
Dr. Hamm says that a physician with the practice can consult with a patient either through telemedicine or face-to-face in the emergency room to determine treatment, including authorizing medication, immediately.
"This is a novel approach in Memphis but is being done in other parts of the country," Dr. Stern said. "We can observe a patient, dispense medication, like buprenorphine, in the ER and set up an appointment with the patient the very next day. It's imperative we stabilize the patient so they can get on with their everyday life. While patients are in recovery, they can perform their jobs and carry on with normal life."
Dr. Hamm said IAC Associates incorporates telemedicine throughout the practice to consult with patients while they are in treatment. He said this can be convenient for patients who live two or three hours away in some cases. Additionally, physicians with the practice can treat any co-occurring conditions at the same time.
"It's so common for patients to have co-occurring conditions with substance use disorder," Dr. Hamm said. "We must get depression, anxiety and bipolar disorder under control. We may have to prescribe antidepressants to dampen the symptoms of anxiety. One physician is prescribing the medication and following their progress."
Dr. Stern said IAC Associates employs the only two fellowship-trained physicians in addiction medicine in the state of Tennessee. He says their approach to addiction isn't taught in medical schools.
"We've modeled this practice to treat addiction as a medical disease," Dr. Stern said. "Physicians aren't typically trained in addiction medicine. Doctors can become a part of the stigma to not treat an addict. There needs to be more education in our medical schools. We are learning more about medication and how it can assist in treatment."
Dr. Stern admits his passion to start IAC Associates stemmed from the loss of his son from a combination of mental health and substance use disorder. He wanted to give patients with addiction a treatment model that's accessible and would have benefited his own son. He said Memphis is an underserved area for addiction, and he thinks the practice's integrated care model will benefit patients with addiction.
"There aren't enough experts in Memphis," Dr. Stern said. "It can be hard for a patient to access care. There aren't enough places for patients to go to receive treatment. Many pain clinics only deal with cash. We take insurance including TennCare."
Radwan Khuri, MD
Radwan Khuri, MD, a psychiatrist and medical director for Lakeside Landing Addiction Services, said he isn't against the concept of what he calls opioid substitution therapy for opioid dependence, but he said it should only be used as a last resort when the patient has tried an abstinence-based treatment program multiple times and the treatment isn't successful. He agrees that there are different approaches in the medical community, and he warns that patients can overuse Suboxone, which can cause additional problems.
"There isn't a quick cure for the disease," Dr. Khuri said. "You don't want to substitute one substance for another. We want to give the brain a chance to heal from addictive substances. It takes weeks or months for the addictive brain to heal."
Dr. Trautman said abstinence-based treatment is a model that has been so successful in the past that patients can have difficulty finding a sober living facility during the recovery process.
"Some sober living houses won't allow patients to live in them if they are on Suboxone," Dr. Trautman said. "This can put the patient at risk for a relapse."
Research evidence on the long-term effectiveness of medication-assisted treatment for opioid addiction is ongoing, but findings from a clinical trial conducted through the National Drug Abuse Treatment Clinical Trials Network in 2016 concluded that patients who were engaged with opioid agonist therapy, like Suboxone, had markedly high odds of positive outcomes.
Dr. Trautman said many non-drug cognitive behavioral therapies are also available to assist patients in their treatment for co-occurring disorders such as anxiety, including yoga, meditation techniques and biofeedback therapy, which is when patients learn to control bodily processes that are normally involuntary such as muscle tension, blood pressure or heart rate.
No matter the treatment method, all addiction experts agree that physicians want the best outcomes for their patients.
"It's important to be empathetic, patient-centered and remove all judgment," said Dr. Trautman.
Baptist Memorial Health Care
Crestwyn Behavioral Health
New Hope, More Options For Breast Cancer Patients
Healthcare Real Estate: As Space Shrinks, Creativity Grows
Growth of Medical Facilities Continues Across Mid-South
Crestwyn's Jep Stokes Takes Lead in Mental Health
The Influence of Telemedicine Continues to Grow in Mid-South
buprenorphine, Dr. David M. Stern, Lakeside Landing Addiction Services, National Drug Abuse Treatment Clinical Trials Network, Baptist Memorial Health Care, Crestwyn Behavorial Health, Dr. Drew Blackstock, Dr. Lucas Trautman, Dr. Radwan Khuri, Dr. Shawn Hamm, IAC Associates, Suboxone


Hilda.Henri ships via post or package service.
Thank you for your understanding that Hilda.Henri only ships after receiving the full amount of payment. The shipment is insured and the shipment allowance includes postage and packing to the customer one way. Orders are usually shipped out within 1 to 3 business days. Please allow 3-5 days for delivery, for international shipments please allow 7-10 days for delivery. We always try to be as fast as possible. You are responsible for bearing return shipping costs when the merchandise delivered by us complies with your order.
Custom and foreign tax is NOT included the pricing.


text:
Labour activist Meng Han goes to trial amidst intimidation and blatant procedural violations
Meng Han, a labour activist detained as part of a broader crackdown on Guangdong labour NGOs in December, will have his court hearing on November 3. After spending almost a year in custody and with limited access to his lawyer, Meng will stand trial in a Panyu District court for "gathering crowds to disrupt public order".
During his detention, Meng was repeatedly denied access to legal representation, in violation of articles 33 and 37 of China's Criminal Procedure Law. Article 33 stipulates that "defendants have the right to retain a defender at any time" and Article 37 guarantees "defense lawyers may meet and communicate with detained suspects or defendants".
Meng was officially detained on January 8 and only had access to a defense attorney on February 19, then on April 7 was denied access to his lawyer. Meng's detention without prosecution also exceeded the legally allowed time limit by almost two months, in violation of articles 155 and 157 of the Criminal Procedure Law.
Han Dongfang, director of Hong Kong-based China Labour Bulletin, emphasises that these irregularities exposed how "law enforcement and the judiciary do not actually follow China's own legal procedures", and warned that if they keep going down this path "they lose all credibility".
Meng's family faced continual pressure during his detention, to the point that his parents had to move out after unidentified thugs attacked their apartment door with an axe.
Through his lawyer, Meng expressed his refusal to cooperate with the investigation and incriminate Zeng Feiyang in exchange for a lighter sentence. It is unclear at this point if Meng will bow to pressure in court on November 3, but Han says that "even if he pleads guilty, I won't believe he does so out of his own will".
Meng's three former colleagues from Panyu Workers' Centre, Zeng Feiyang, Zhu Xiaomei and Tang Huanxing, were given suspended prison sentences on September 26 after pleading guilty. Meng's trial was delayed when prosecutors sent his case to the police for further investigation.
He could face up to seven years imprisonment because, unlike his former colleagues, he is not a "first time offender". In 2014 Meng, a hospital security guard at the time, was accused of disrupting public order and sentenced to nine months in prison; he appealed the court's decision immediately. After his release, he decided to dedicate himself full-time to help his fellow workers with their grievances: he then joined Panyu Workers' Centre.
Prior to the December attack on labour organisations, the Centre organised workers in several high-profile collective bargaining cases, engaging in negotiations between aggrieved workers, employers and local government officials to solve serious disputes. In the Lide shoe factory case, Centre staff essentially played the role of the All China Federation of Trade Unions (ACFTU), China's only officially recognised trade union, helping workers win over 100 million yuan in compensation, effectively defusing the possibility of more severe social unrest.
Data collected by CLB's strike map reveal that labour unrest in Guangdong province in the first nine months of 2016 remains at a high level and show no signs of easing after the attack on labour organisations. Collective actions by sanitation workers have actually spiked and factory relocations and closures, in which workers are owed massive sums in wages and compensations, are increasing as China's economy shifts away from export-oriented manufacturing.
"They can try to blame the firefighters, but if those who were helping put the fire out are not allowed to do their job, it can only get worse", warns Han.