text:
Alcohol control policies in Former Soviet Union countries
Maria Neufeld, Anastacia Bobrova, Kairat Davletov, Mindaugas Stelemekas, Relika Stoppel, Carina Ferreira-Borges, Joao Breda, Jürgen Rehm
Issues The last Soviet anti-alcohol campaign of 1985 resulted in considerably reduced alcohol consumption and saved thousands of lives. But once the campaign's policies were abandoned and the Soviet alcohol monopoly broken up, a steep rise in mortality was observed in many of the newly formed successor countries, although some kept their monopolies. Almost 30 years after the campaign's end, the region faces diverse challenges in relation to alcohol. Approach The present narrative review sheds light on recent drinking trends and alcohol policy developments in the 15 Former Soviet Union (FSU) countries, highlighting the most important setbacks, achievements and best practices. Vignettes of alcohol control policies in Belarus, Estonia, Kazakhstan, Lithuania and Uzbekistan are presented to illustrate the recent developments.
 Key Findings Over the past decade, drinking levels have declined in almost all FSU countries, paralleled by the introduction of various alcohol-control measures. The so-called three 'best buys' put forward byIssues The last Soviet anti-alcohol campaign of 1985 resulted in considerably reduced alcohol consumption and saved thousands of lives. But once the campaign's policies were abandoned and the Soviet alcohol monopoly broken up, a steep rise in mortality was observed in many of the newly formed successor countries, although some kept their monopolies. Almost 30 years after the campaign's end, the region faces diverse challenges in relation to alcohol. Approach The present narrative review sheds light on recent drinking trends and alcohol policy developments in the 15 Former Soviet Union (FSU) countries, highlighting the most important setbacks, achievements and best practices. Vignettes of alcohol control policies in Belarus, Estonia, Kazakhstan, Lithuania and Uzbekistan are presented to illustrate the recent developments.
 Key Findings Over the past decade, drinking levels have declined in almost all FSU countries, paralleled by the introduction of various alcohol-control measures. The so-called three 'best buys' put forward by the World Health Organization to reduce alcohol-attributable burden (taxation and other measures to increase price, restrictions on alcohol availability and marketing) are relatively well implemented across the countries. Implications In recent years, evidence-based alcohol policies have been actively implemented as a response to the enormous alcohol-attributable burden in many of the countries, although there is big variance across and within different jurisdictions. Conclusion Strong declines in alcohol consumption were observed in the 15 FSU countries, which have introduced various alcohol control measures in recent years, resulting in a reduction of alcohol consumption in the World Health Organization European region overall.…
Author details:
Maria NeufeldORCiD, Anastacia Bobrova, Kairat Davletov, Mindaugas StelemekasORCiD, Relika StoppelORCiD, Carina Ferreira-BorgesORCiD, Joao Breda, Jürgen RehmORCiD
https://doi.org/10.1111/dar.13204
https://pubmed.ncbi.nlm.nih.gov/33155370
Title of parent work (English):
Drug and alcohol review
Subtitle (English):
a narrative review of three decades of policy changes and their apparent effects
Eastern Europe; Former Soviet Union; alcohol; alcohol policy; mortality
Funding institution:
National Institute on Alcohol Abuse and Alcoholism of the National; Institutes of Health, as part of the project 'Evaluation of the impact; of alcohol control policies on morbidity and mortality in Lithuania and; other Baltic states' [1R01AA028224-01]; Projekt DEAL
Organizational units:
Wirtschafts- und Sozialwissenschaftliche Fakultät / Wirtschaftswissenschaften
Referiert
Publishing method:
Open Access / Hybrid Open-Access
License (German):
CC-BY - Namensnennung 4.0 International


Branded Content is often intended to show up on the first pages of search results for your chosen search phrase. Non-Branded Content is often intended to show up further back in search results (like pages 3, 4, or 5 for a given search phrase) and can support your first page search results.
Non-branded content examples might be an article about your industry or some other area of expertise. Your search phrase is normally not included in the Title of the document or in the main Heading. If your search phrase is your brand name, the search phrase may be embedded in the content here and there, but it's not the main thing the article talks about. It is instead a reference.
Non-branded content can get much more activity than branded because it is often of wider interest than narrowly branded material. That can mean more readers, more shares, and wider distribution. Of course if your brand name is a household word this may not be the case, but for most brands it often is.
The down-side of non-branded content is that search engines don't normally place this type of content on the first pages of search results if your key phrase is your brand (or name). This is why non-branded content is useful for embedding links to positive content about you, but isn't necessarily great for 'becoming' that positive content.
Branded Content is all about your brand - whether it be a person or a company or product. Your search phrase is often in the page Title and the Header because these are the first places search engines look to find out what a web page is about. Branded content has a good chance of making it to the top results in search because of the prominence of your search phrase in the document.
Your brand (search phrase) is often included in not only the page title and article heading but also in the body of the page content multiple times. This smorgasbord of key phrase insertion looks great to the marketing department, but isn't always best for readers. Narrow brand-related content should strive to balance the search phrase shout-out with useful content readers will want to share.


text:
Which word takes 3.5 hours to say?
Is surname the same as middle name?
What names are evil?
What color is the name Jessica?
What word takes 2 hours to say?
What is the shortest word?
What are the D words?
How do you pronounce Nonanonacontanonactanonaliagon?
What word takes 3 hrs to say?
What's the longest word in Japanese?
Is there a word with all 26 letters?
What English word has no vowels?
What is the oldest word in the world?
What is the T word?
What starts with the letter F?
What F word means?
How is Rhombicosidodecahedron pronounce?
What are hard words to spell?
What is the hardest word to pronounce?
Is Supercalifragilisticexpialidocious a real word in the English dictionary?
What is the longest Russian name?
What is the longest word in China?
What is the longest Swedish word?
What is the 27th letter of the alphabet?
What is the meaning of Abcdefghijklmnopqrstuvwxyz?
What is the only word in English that ends with MT?
The answer is three-and-a-half hours! This word is the chemical name for titin (aka connectin) – a human protein. Titin is a giant protein that functions as a molecular spring which is responsible for the passive elasticity of muscle.
Also Is there a word with 1000 letters?
pneumonoultramicroscopicsilicovolcanoconiosis
It's a technical word referring to the lung disease more commonly known as silicosis.
It's the chemical name of Titin (or connectin), a giant protein "that functions as a molecular spring which is responsible for the passive elasticity of muscle." If it's your thing, you can listen to a guy pronounce the whole damn word. Supercalifragilisticexpialidocious this is not.
Eunoia, at six letters long, is the shortest word in the English language that contains all five main vowels. Seven letter words with this property include adoulie, douleia, eucosia, eulogia, eunomia, eutopia, miaoued, moineau, sequoia, and suoidea. (The scientific name iouea is a genus of Cretaceous fossil sponges.)
5 letter words that start with D
daals.
daces.
dacha.
dadas.
dados.
daffs.
daffy.
Phonetic spelling of nonanonacontanonactanonaliagon. Nona-nona-con-ta-nona-act-a-nona-lily-a-gon. Nonanonacontananaaactananalilliagon. …
Meanings for nonanonacontanonactanonaliagon. it is a shape with 9999 sides.
Examples of in a sentence. the nonanonacontanonactanonaliagon was in the color red, in carly's book.
That's called: Hippopotomonstrosesquippedaliophobia and it's one of the longest words in the dictionary.
Language/Japanese/Vocabulary/Longest-word
A funny phrase in japanese is toragahitowokamoutosurutokinounarinow 虎が人を噛もうとするときのうなり声。 It is 37 letters long and is comprised of a 17 syllables. It is a very odd phrase, as it is defined as "the growl a tiger makes when it is about to about to bite someone".
An English pangram is a sentence that contains all 26 letters of the English alphabet. The most well known English pangram is probably "The quick brown fox jumps over the lazy dog". My favorite pangram is "Amazingly few discotheques provide jukeboxes."
Shh, psst, and hmm do not have vowels, either vowel symbols or vowel sounds. There is some controversy whether they are in fact "words," however.
Mother, bark and spit are just three of 23 words that researchers believe date back 15,000 years, making them the oldest known words.
It's a word that is generally considered dehumanizing and offensive when referring to transgender people, like the "N" word for a person of color, or the "F" word for a gay man. …
words that begin with the Letter F
five.
flamingo.
flower.
fly.
four.
frog.
—used as a way to refer to the offensive word "fuck" without saying it or writing it He got in trouble for using the f-word on television.
One especially challenging geometric shape to sculpt is the rhombicosidodecahedron (pronounced "rom-bee-i-co-see-doe-dec-a-he- dron").
Top 10 Hardest Words to Spell
Misspell.
Pronunciation.
Handkerchief.
logorrhea.
Chiaroscurist.
The Most Difficult English Word To Pronounce
Colonel.
Penguin.
Sixth.
Isthmus.
Anemone.
Squirrel.
Choir.
The Oxford English Dictionary defines the word as "a nonsense word, originally used esp. by children, and typically expressing excited approbation: fantastic, fabulous", while Dictionary.com says it is "used as a nonsense word by children to express approval or to represent the longest word in English."
Рентгеноэлектрокардиографический (Rentgenoelektrokardiograficheskii) This 31-letter monstrosity is often cited as the longest word in Russian, meaning "electrocardiographic X-ray."
The Chinese character for "biang", is made up of 56 pen strokes. The word holds no meaning but local media said Mr Wang drew inspiration for it from the name of a noodle dish he had while visiting Shaanxi province.
Swedish. Realisationsvinstbeskattning (28 letters) is the longest word in Svenska Akademiens Ordlista. It means "capital gains taxation", and is usually shortened to Reavinstskatt (same meaning).
The ampersand often appeared as a character at the end of the Latin alphabet, as for example in Byrhtferð's list of letters from 1011. Similarly, & was regarded as the 27th letter of the English alphabet, as taught to children in the US and elsewhere.
Options. Rating. ABCDEFGHIJKLMNOPQRSTUVWXYZ. A Big Crazy Dumb Elephant Flying Greatly High Inside Jake's Kitten Liking Monkey Noses Over Poopy Quiet Runny Stupid Tubs Under Very Weird Xylophone Yogurt Zebras.
According to Oxford Dictionaries, 'dreamt' is the only English word that ends with 'mt'. The word's derivatives including undreamt, daydreamt, and redreamt are the only other words that end with the same letters.
What are some edgy girl names?
What's the rarest boy name?
What's the rarest boy name?

redpajama_set_name: RedPajamaCommonCrawl


text:
Bonnie Kraham: Have a plan for online accounts after death
Bonnie Kraham
Today, many of our payments, transactions and communications happen online. People build complex "virtual" realities through social media, professional and personal websites, and even dating sites. When we die, much of our personal information is still available on the web. We now have the ability to preserve our virtual presence after death.
According to the most recent census, the U.S. population is about 321,230,000 people, and Facebook has about 350,000,000 users. People, businesses and other organizations use Facebook to communicate, keep in touch, promote, and organize events and causes. Facebook has developed a way for family and friends to either close an account or keep it active as a "legacy account."
A legacy account allows a memorial site to remain active for a deceased user, so that family and friends may occasionally pay respects via Facebook. Some people have used these accounts to set up "Fund Me" accounts and other forms of fundraising activities for family and children of deceased users. Setting up a Legacy Account is simple, but must be done while the person is still living.
Other sites, such as LinkedIn and Twitter, do not have legacy accounts but you may close those accounts by providing certain information to verify death, or you could leave your login and password information for your heirs who will close out virtual accounts after you die.
Our heirs may also need to access our bank and provider accounts, print statements, and obtain records for accountants, attorneys, funeral directors, and other people handling our final affairs. The practical solution to passing on information for our loved ones brings us back to pen and paper. It is recommended to list every account, membership or website you use. Then write down the username and password for each account. The list is almost limitless but our virtual realities include email accounts, on-line banking and investments accounts, social media, work sites, professional sites, work sites, school sites, merchant accounts, cloud accounts, all of our providers for bill paying, charities, religious groups, insurance, etc.
In addition to the list of the specific accounts making up your virtual reality, and each password and username, you may write a letter of instruction to your loved one in charge with any instruction to either close or manage accounts or create a legacy account on social media. It is advisable to communicate your wishes now and where to find the list.
Virtual estate planning, never imagined in the past, is a must for many of us and another way to make things go more smoothly for the people we leave behind to clean up our affairs.
Bonnie Kraham is an attorney practicing elder law estate planning with Ettinger Law Firm, 75 Crystal Run Road, Middletown. She can be reached at 845-692-8700, ext. 119 or bkraham@trustlaw.com. This column is intended to provide general information, not legal advice.


text:
Andy Harris & James E. Clyburn
Compare the voting records of Andy Harris and James E. Clyburn in 2017-18.
Andy Harris
Represented Maryland's 1st Congressional District. This is his 4th term in the House.
James E. Clyburn
Represented South Carolina's 6th Congressional District. This is his 13th term in the House.
Andy Harris and James E. Clyburn are from different parties and disagreed on 71 percent of votes in the 115th Congress (2017-18).
May 18, 2018 — Agriculture and Nutrition Act of 2018
Jan. 17, 2018 — World Bank Accountability Act of 2017
Nov. 8, 2017 — Hydropower Policy Modernization Act of 2017
Dec. 21, 2018 — Alaska Remote Generator Reliability and Protection Act
July 18, 2018 — Carbajal of California Amendment No. 81
July 18, 2018 — Goodlatte of Virginia Amendment No. 50
April 26, 2018 — Lynch of Massachusetts Part A Amendment No. 87
Sept. 7, 2017 — Goodlatte of Virginia Amendment No. 50
July 19, 2017 — Beyer of Virginia Part A Amendment No. 3


text:
Chillin' on the Clock
Meet five locals whose jobs help them keep their cool when the mercury peaks.
Keeper of the Ice
32,000 snow cones: that's what the Carolina Ice Palace could serve when its rink's inch-thick layer of solid H20 is shaved. But Jerry Folk would never let them do that—the venue's director of operations meticulously cares for the chilly surface, including Zamboni duties. That machine shaves the ice, washes it, and adds a fresh layer at a scorching 150°F. Hot water means clear ice, which freezes in six minutes flat. Folk, a lifelong hockey player, came to the position after 25 years in the Air Force. When he clocks out, you'll still find him on the rink, playing hockey or refereeing. "It's a job you have to have fun with," says Folk. "And it's the only one in Charleston where I'm shoveling snow every day in July."
The Life Aquatic
"You can do almost anything in the water, no matter what physical limitations you have," says Maggie
Epstein, lead water aerobics instructor at St. Andrews Fitness Center. The former med tech discovered the sport while serving as a caregiver for the elderly. Every day, she works in the pool with people suffering from arthritis, hip and back problems, and multiple sclerosis. Epstein coordinates submerged dance routines and mountain-climbing and bike-riding simulations, eliminating impact on joints (and keeping body temperatures down). Who doesn't want to be doing jumping jacks at age 90? Now that's cool.
Ice-Cream Lady
An ice-cream truck sees no societal boundaries. Whether Margaret Dear parks Mr. Koolie at an East Side basketball game or on a Daniel Island street, the reaction is equally enthusiastic. Dear and partner Ross Robertson, who found the vintage ice-cream truck on eBay, are grateful on a midsummer day that fate allowed the luxury of an onboard refrigerator full of shaved ice. The pair man their three trucks themselves, five to seven days a week. "Mr. Koolie is the bomb rock star," says Dear. "It doesn't seem to matter where he goes."
Arctic Artist
Summerville ice sculptor Brian Connors likens himself to a Jamaican bobsledder. Walk into his 16°F "office" on a triple-digit day and you'll be greeted by a man in a heavy winter coat, bib overalls, and a hooded sweatshirt, carving the ubiquitous pineapples and ice luges, as well as kissing doves. "A good design looks good even at the end of the night," he says, explaining that at 73°F, a sculpture loses half an inch of thickness per hour. "The details of the doves' feathers may be gone, and the beaks are just barely kissing. The whole thing is so thin it looks like blown glass."
Blooming Cold
For floral designer Meagan Wientjes, the bounty of spring can't follow the heels of winter quickly enough. But as the temperatures rise, the four hours a day she spends in the cooler at Buy the Bunch's Mount Pleasant shop remain a crisp 45°F. "My hands are always cold," says Wientjes, who keeps a selection of sweaters on hand to match her summer outfits. After hours of creating bouquets, she often has to run outside to warm up.
charleston / Street / Design / artist / Daniel Island / Basketball / bouquets / Shop / Dance / Life / Spring / Floral / Fun / ONE / Overalls / Pineapples / Side B / Summerville
10 Chillin' Hideouts
Sweat Equity


The Memphis Tigers will take on the University of North Alabama in Florence this Saturday, September 6. All players will play in this friendly. There will probably be two matches. These matches are to develop talent.
We will return home immediately after the social.
© 2019 Tiger Rugby.org. All Rights Reserved.


text:
Dec 15, 2011 Official
Better Place signs deal with rental company in Israel
If you want to try out one of Better Place's electric vehicles, you'd have to move to a country where the project is establishing its infrastructure or else wait for it to come to your neighborhood. At least that's how it was looking until now. Because the latest announcement from the electric-vehicle startup has us booking our tickets for Tel Aviv's Ben Gurion International Airport.
Nov 22, 2011 Report
Mazda placing QR codes on rental cars to spur sales
Mazda is hoping to entice rental car customers into a new Mazda6. The company is supplying the sedans to around 1,000 Enterprise Rent-A-Car locations, and each vehicle will come with a Quick Response code stuck to the dash. Renters can scan the code for more information on the Mazda6, including specifications, links to local dealers and more, say
Zach Bowman
Report: Rental car companies 'routinely' letting recalled vehicles on the streets [w/ video]
Recalled Chrysler PT Cruiser after the fatal crash – Click above to watch video after the jump
Nissan and Europcar announce new partnership for electric car rentals
Hey look, another new Renault-Nissan partnership to promote EVs. Today, a new alliance with Europcar was announced that will make electric vehicles available for customer rentals starting in 2010. The car will first be available in Europe (specifically, France, Germany, Belgium, Spain, Italy, Portugal and the United Kingdom) as well as Australia and New Zealand. Further expansions are already on the drawing board. Europcar says it wants to become the first major rent-a-car company to offer EVs.
Xavier Navarro
Enterprise Rent-A-Car add 5,000 more hybrids to fleet along with "Hybrid Branches"
Here's some good news if you need to rent a car and you want to go hybrid: Enterprise Rent-A-Car has announced that it's adding 5,000 hybrids to its fleet. These cars almost double the number of hybrids currently available at Enterprise branches. The company is also designating 80 of its locations, 10 at airports, as "Hybrid Branches," meaning that they will offer a higher number of hybrids than at other locations. California, Oregon, and Texas are among the states that will get Hybrid Branches.
Europcar UK adds CO2 data to vehicle information
Enterprise Rent-a-car facing problems implementing green initatives
Enterprise Rent-a-car has a couple of green initiatives going. First of all, it has a good number of fuel-efficient vehicles (defined as those that get more than 28 mpg, as shown above) including 5,000 hybrids and 73,000 flex-fuel vehicles. Then, it's offering carbon-offsetting for all its customers, which is claimed to be equivalent of "planting the trees in New York's Central Park ev


Sometimes I have nothing happening so I'll comment on current events. I was thinking about putting this up on Facebook but I decided not to and only share with who reads this thing.
I always get a lot of comments when I mention Lance. Lots of opinions. Mostly bad. That's understandable. Did you watch LA's Oprah interview in 2012? He admits to doping but that's as far as he would go. I still follow with whats all happening. Not sure why, mostly curious I guess.
Now he's in a Federal court under oath and getting asked a lot of questions. And I think a lot of bombs will drop on some people because of it, whether good or bad. This one dropped on Bill Ochowicz currently of BMC. Of course he denies it but others have come out to confirm.
So now the SCA has settled to the tune of 10M and now Floyd Landis's turn to get his pile of money on the whistleblower case. Im sure he will get his share.
But I tell you what…. there are a lot of riders and team directors who are shaking in their boots hoping their names do not come up while Lance is on the stand. Early on Lance did not name names unless he was forced to. Now he is forced to and some very high prominent icons in cycling both in the past and current will come out in the wash. Im sure a lot of them are friends of his.
When Tygard went after Lance and got him, not directly but with everyone else tattling on him in turn getting a reduced sentence, I knew nothing good was to come of this. But I have two views.
One is that the cycling world will take a huge hit. All faith in its athletes and the sport in general will be damaged to or near the point of no return. I always said finding these guys so far after the fact will hurt the sport and not help it. And I don't mean in today's peloton, I mean ten years ago. Why bring ten years ago to light, how about the guys today?
But on the other hand maybe a house cleaning from the bottom up will work out in the long run. Go back 10 years and move forward? I think that could have worked but they lost before they started when they gave the whistleblowers a meager 6 month downtime. Timed to start in the off season. But it did not matter cuz they now have Lance where Tygard wanted him. Good job. Now what? I think we are in the "long run" period now.
Are things better? Is doping done or at least less? I say none of the above.
With almost the entire Astana team getting popped at one time or another, still racing. And on our side of the fence we get Tommy D getting red flagged this summer. While TD is innocent unless proven, I have not heard a lot about that positive test. Swept under the rug? TD just rides off into the sunset never to be heard of again? Last seen tooling up and down Mt Lemmon?
And how about this dude. Busted after a Grand Fondo. What the hell? I thought Grand Fondo's were just really fast group rides? But there are winners and losers?
So this stuff is happening today, right now. In our own backyard. The Lance effect has no power here. It's all for naught as far as I'm concerned. So much time and effort being spent on Lance. Millions of dollars. Everyone thought Lance getting busted was going to be the turning point in cycling.
Not just cycling. What about other sports? Football, baseball, any ball. Track and field. I heard somewhere the cross country skiing athletes are rampant. Maybe because I only pay attention to cycling I don't hear about the others.
I guess my thought here all along is why spend so much time on one guy who is old when there are others today. And maybe we'll find out why in the next few months as LA spills his guts. So far Andreu has doped way more than he admitted. There's a shocker. Let's talk about Frank and Betsy a little.
Betsy Andreu has made it her life's mission to do what she can to make LA lifes miserable and really her constant comments have no real effect. I get it. Lance had a big secret to hide and went to great lengths to keep it that way. Called her names. Lots of names for years. How terrible for her. So now it seems she was right all along. Will she get whistleblower money? I'm not sure. But it seems her husband might be lying about the amount of doping he did in his career. Im sure she has no problem keeping her mouth shut about that.
I think I'm rambling here a bit. And I did have a point I wanted to make. I'm not a Lance fan at all. I was very disappointed when the truth came out.
My opinion on this has not changed. Here's a post I did just before Lance got handed his sentence.
I think at this point in time the doping brigade should be concentrating on the Tommy D's of this world and not the Lances.
This gravel bike thing is weird. When manufacturers came out with these I just said these are cross bikes. I ignored the genre cuz I thought it was just a rebranding of the cyclocross bike. Well, regardless of what I think this bike has a market now. A market that I don't understand but a market nonetheless.
At least 4 guys in our riding group have gotten a "gravel" bike from a brand I do not sell. These bikes are road looking, road "relaxed" geometry bikes that fit fat road tires.
So Ive got it figured out now. These are cross bikes for those who will not ride a cross bike in the woods. Sort of a "pure roadie" cross bike.
Really a good cross bike is meant for cross racing. Nimble for tight twisting turns, a very high top tube for shouldering so the geometry is in that favor. Wheels bases and bottom bracket heights are different on a good cross bike. Than a road bike I mean.
So enter the gravel bike. The frames have none of the attributes that a cross frame is meant for. It truly is a road bike with fat tires. Relaxed geometry. And I kinda get it now after riding the Trek Boone as a road bike this summer. I mean really it was more a gravel bike than a cross bike at that point with bigger road tires and aero wheels. I never took it off road at all in that configuration. So take the fatter tires and disc brakes and put it on a road only geometry frame and that's a gravel bike. Chain ring sizes are a bit different than a road bike too. More cross bikeish. Smaller overall.
Or some call them an "adventure" bike. But Im not so sure how much adventure you can have on the road. Maybe a little.
So.. my main brand, Trek, does not have a gravel bike. Not yet. I think maybe they sit back a bit to see what was going to happen with this. And I think this is a genre of bike that will sell. Its new and it has that target consumer. I would call that guy a rider who likes to have fast looking bikes but want a smoother ride when they are riding solo. No way would they bring the heavier slower bike to a high end group ride. They have their $10k rocket for that.
But for just tooling around on a slower more comfortable road bike this will fit the bill. I picture those riders a bit older than the average. Kinda like me I guess. I played out that exact scenario with the Boone this summer. So Im on the same page as those guys in our group that just bought these bikes. These are the same guys who would not buy a cross bike. But did buy a gravel bike.
Trek does not have any in their lineup yet but I also sell Raleigh and they do.
Heres one Im getting for stock.
Its looks like a road bike. Huge 40c tires. Hydro disc. Its a very fun looking bike. Nice specs.
But what does this bike give me that a Trek Boone cross bike does not? Besides small geometry differences, nothing.
So why am I getting one for the floor? Because there is a market for these road bikes. Personally I would "roadie" out a cross bike if I had the choice between the two. And I do have a choice. But not everybody does. While I still think its splitting hairs between gravel and cross it's a hair that has been split.
Last nites night ride had almost 20 bikes. Huge turnout. That will dwindle to half that once the temps turn. And that's right around the corner. Weather dudes said maybe some snowflakes tonite. I say bring it.
Yes, I did miss a day. It happens. Busy Monday morn.
Saturday morn was a pretty big washout. 40 degrees and rain. So I passed on the morning ride but I did grab the pink bike and rode home after work. Took the long way for a 40 min ride.
Then on Sunday I also grabbed a bit over 20 miles in the morning before I took the grandkids to the pumpkin farm.
Ive had this bike for over 10 years now and riding it the last two times has felt terrible in its current configuration. This bike gets built with whatever I have laying around most of the time so I don't put a lot of thought on fit since its a winter bike anyway but I had all that I could take to just do the 20 miles Sunday. I need changes.
I have the one piece bar\stem that I have been running for years but the fork has such a short steer tube that its just too low for me now. I think the cranks are 175mm and my knees felt that ongoing. With my bad knees Im going to go with 165mm cranks from now on. For real. I'll have to get a stem\bar combo to lift up the bar a bit. I guess Im not getting any younger. But that steertube is so short the stem is practically slammed on the bike.
And the bike is maybe 12 years old. Just old geometry I guess. Its just when you come off a summer of one bike and the next one does not have the seat\bar\pedals even close to where your used to.
Maybe I just need to ride it more and let my body acclimate. I hate doing that. Or do I spend more money on stuff to help out my issue. I'll ride it a couple more times and if I don't feel better I change things. Or just order a new bike for this winter.
Tuesday nite ride tonite. On the Farley so no fit issues there.
Huge east wind has the lake roaring this morn. You can hear it a half mile away. I remember when I lived 100 yards from the lake I would leave my window open a crack, even in winter to hear the lake. Pretty awesome. And this is the first time I uploaded a video to this website. I did some online stuff before but never one of my own. Again to show the sound of the lake. Its pretty easy to do.
Also on the way back from the park I saw a young eagle flying past. I jumped out of the car and this is the best shot I got. It all happened in about 15 seconds. It takes several years for them to get the white head and tail. Seeing young ones is a good sign.
Crappy pic but I had mere seconds.
Today is Friday and I did plan a ride this morn but cooler temps, high winds , no sun and no ambition added up to no ride. I hope to get in an hour tomorrow before work. Im alone all weekend in the store. The last few days also. Its such a bummer when its dark when I go home now. The last dark hour in the store is long, even if I have something to do. Soon will be daylites savings day. Pretty much the worst day of the year for me. Dark at 430pm soon. Bummer.
The leaves are still hanging on. Its past peak and less than 50% remain but they are still there. How fast the seasons come and go. Yesterday the woods was pretty awesome on my morning MTB ride. Sunny with temps ultimately in the 50's before I was done. With all the leaves on the ground now I was glad to have the 4in tires and wheels back on. Just less chance of me hitting the ground and at my age that's quite the good thing. I already have the 29+ wheelset sold and I have to ship today.
So after three years Ive finally started my idea to have a spin\fitness room upstairs in our storage room. In the summer this room is filled with repair bikes and stuff. In the winter I always wanted to turn it into some kind of spinning facility to try and make a few winter bucks during that downtime.
So this fall I had the carpet put in, getting a coat of paint. I have 15 fluid trainers with mats coming. Its going to be a bring your own bike deal. I will have a big screen set up on the wall. Playing some specific spinning videos along with other stuff. Maybe spin and a movie. Maybe get some internet for it and watch some bike races. Whatever.
It a nice room for it with an outside door to use if needed. Anyway, Im shooting for a mid Nov start. Lots of work to do yet. Getting some scaffolding to finish the painting. Its an ongoing project so Im sure you will hear of it again.


Just ask the staff at the bar which beer or wine goes best with your food.
We have some wonderful wines from around the world – and our enthusiastic team love to recommend their favourites.
We offer some of the greatest ales you'll find anywhere, from the best British breweries and even a Rock Star (Trooper designed by Iron Maiden's Bruce Dickinson).
We are Cask Marque accredited which means our beers are recognised as being served to the highest standards at all times.
At The Camden Eye we have a real passion for Tequila, just ask, as well as a range of truly awesome spirits that will make your visit to us even more Awesome – we promise!
The food at The Camden Eye is as internationally awesome as the team working here!
British Classics – our Fish and Chips as epic as Camden itself.
Authentic Italian wood fired pizza.
Amazing burgers, hot dogs and ribs.
The menus at The Camden Eye are Awesome!


text:
<?php

namespace EasyWeChat\Core;

use EasyWeChat\Core\Exceptions\HttpException;
use EasyWeChat\Core\Exceptions\InvalidArgumentException;
use GuzzleHttp\Client as HttpClient;

/**
 * Class Http.
 */
class Http
{
    const HTTP_RESPONSE_ERROR_NONE = 0;

    /**
     * Access token.
     *
     * @var string
     */
    protected $token;

    /**
     * Http client.
     *
     * @var HttpClient
     */
    protected $client;

    /**
     * Defualt exception.
     *
     * @var string
     */
    protected $exception = HttpException::class;

    /**
     * Constructor.
     *
     * @param \GuzzleHttp\Client                $client
     * @param \EasyWeChat\Core\AccessToken|null $token
     */
    public function __construct(HttpClient $client, AccessToken $token = null)
    {
        $this->token = $token;
        $this->client = $client;
    }

    /**
     * Set token.
     *
     * @param AccessToken $token
     */
    public function setToken(AccessToken $token)
    {
        $this->token = $token;
    }

    /**
     * Return token.
     *
     * @return string
     */
    public function getToken()
    {
        return $this->token;
    }

    /**
     * GET request.
     *
     * @param string $url
     * @param array  $params
     *
     * @return array|bool
     *
     * @throws HttpException
     */
    public function get($url, array $params = [])
    {
        return $this->request($url, 'GET', ['query' => $params]);
    }

    /**
     * POST request.
     *
     * @param string $url
     * @param array  $params
     *
     * @return array|bool
     *
     * @throws HttpException
     */
    public function post($url, array $params = [])
    {
        return $this->request($url, 'POST', ['body' => $params]);
    }

    /**
     * JSON request.
     *
     * @param string $url
     * @param array  $params
     *
     * @return array|bool
     *
     * @throws HttpException
     */
    public function json($url, array $params = [])
    {
        return $this->request($url, 'POST', ['json' => $params]);
    }

    /**
     * Upload file.
     *
     * @param string $url
     * @param array  $files
     * @param array  $form
     *
     * @return array|bool
     *
     * @throws HttpException
     */
    public function upload($url, array $files = [], array $form = [])
    {
        $options = [
            'multipart' => array_map(function ($path, $name) {
                return [
                    'name' => $name,
                    'contents' => fopen($path, 'r'),
                ];
            }, $files),
            'form_params' => $form,
        ];

        return $this->request($url, 'POST', $options);
    }

    /**
     * Set exception to be throw when an error occurs.
     *
     * @param Exception $exception
     *
     * @return Http
     *
     * @throws InvalidArgumentException
     */
    public function setExpectedException($exception)
    {
        if (!is_subclass_of($exception, 'Exception')) {
            throw new InvalidArgumentException('Invalid Exception name.');
        }

        $this->exception = is_string($exception) ? $exception : get_class($exception);

        return $this;
    }

    /**
     * Return expected exception name.
     *
     * @return string
     */
    public function getExpectedException()
    {
        return $this->exception;
    }

    /**
     * Make a request.
     *
     * @param string $url
     * @param string $method
     * @param array  $params
     *
     * @return array|bool
     *
     * @throws HttpException
     */
    public function request($url, $method = 'GET', $params = [])
    {
        if ($this->token) {
            if (empty($params['query'])) {
                $params['query'] = [];
            }

            $params['query']['access_token'] = $this->token;
        }

        $method = strtoupper($method);

        $response = $this->client->request($method, $url, $params)->getBody();

        if (empty($response)) {
            throw new HttpException('Empty response.', -1);
        }

        $contents = json_decode($response, true);

        // while the response is an invalid JSON structure, returned the source data
        if (JSON_ERROR_NONE !== json_last_error()) {
            return $response;
        }

        if (isset($contents['errcode']) && 0 != $contents['errcode']) {
            if (empty($contents['errmsg'])) {
                $contents['errmsg'] = 'Unknown';
            }

            $this->thorwException($contents['errmsg'], $contents['errcode']);
        }

        if (isset($contents['errcode']) && $contents['errcode'] == self::HTTP_RESPONSE_ERROR_NONE) {
            return true;
        }

        return $contents;
    }

    /**
     * Throw Http Exception.
     *
     * @param string $msg
     * @param int    $code
     */
    protected function thorwException($msg, $code)
    {
        throw new $this->exception($msg, $code);
    }
}

redpajama_set_name: RedPajamaGithub


Good Monday morning to ya! It's back to another busy week, so I quickly want to tell you about this week's lunch specials. Our first special is a Southwestern Turkey Club; Bourbon Peppercorn Turkey placed on Toasted Whole Wheat Bread with fresh Guacamole, Lettuce, Bacon, Provolone Cheese, and finished with a homemade Salsa mayo. Our second special is an Asian Beef Sandwich; marinated and slow cooked Roast Beef topped with Homemade Pickled Veggies and placed on a Toasted Onion Roll with our own Ginger Wasabi Mayo.
Happy Taste Test Tuesday! We thought we would warm you up today with a cake that was a huge hit for Valentine's Day, our Seduced by Chocolate Cake; two moist Chocolate Velvet Cake layers with a Creamy Cheesecake Layer between them and surrounded with our Chocolate Buttercream Frosting, and a Rich, Crunchy, Deliciously Sinful Hazelnut Filling between the layers. This cake should warm you up nicely. If you're out today, be safe, and stop by to let us know what you think.
Good morning. We hope you had a great weekend. Once again we have two more lunch specials for you to try this week. Our first special is a Sweet and Spicy Ham Sandwich; our Applewood Smoked Ham placed on Toasted Sourdough Bread with Swiss Cheese, a delicious Sweet and Spicy Pepper Slaw, and finished with a Sweet Chili Mayo. Our second special is a Grilled Chicken Muffuletta; a warm Grilled Chicken Breast topped with Mozzarella Cheese, Lettuce, and homemade Olive Spread placed on a toasted Onion Roll with just enough Sriracha Mayo to bring it all together.
Good morning and happy Taste Test Tuesday! Are you ready for another Sweetery creation? Well, stop in today and sample our Red Hot Chocolate Cake; two moist Chocolate Velvet Cake Layers filled with a delicious Jalapeno Raspberry Jam from Hampton Farms, and finished with our Chocolate Buttercream Frosting. And don't forget to tag us in a picture enjoying this cake today for a chance to win one of these delicious cakes Friday. Enjoy!
Good Monday morning! It's Valentine's Week, and we have a lot of love to spread, so let's get you going! We're going to start it off with two more delicious lunch specials. Our first special is a Spinach and Strawberry Salad Wrap; fresh Spinach and Strawberries tossed together with Grilled Chicken, Toasted Almonds, and finished with our Homemade Strawberry Vinaigrette Dressing. This one is perfect for sharing with that special someone this week! Our second special is a Carolina Deli Shag; In this order, you have Swiss Cheese, Corned Beef, Pickle Slaw, Pastrami, Provolone Cheese, Pickles, and our own Horseradish Dijon Mustard nicely placed between two slices of Toasted Pumpernickel Bread.
Good morning to everyone! How about some new lunch specials? Our first special is a favorite of mine called the French Philly; our slow cooked Roast Beef topped with Peppers and Onions and melted Provolone Cheese and placed on a Toasted French Baguette with Horseradish. To make this sandwich even better, we serve it with a side of warm Au Jus! Our second lunch special this week is a Ham and Pineapple Grilled Cheese Sandwich; Applewood Smoked Ham, fresh Pineapple, and Basil between melted Swiss and Cheddar Cheese and Sourdough bread.


text:
/ USDA announces Agricultural Land Easement application deadline
USDA announces Agricultural Land Easement application deadline
Diane Petit, Public Affairs Officer
AMHERST, Mass., Jan. 7, 2021 – The U.S. Department of Agriculture's Natural Resources Conservation Service (NRCS) is accepting applications from state and local governments, non-governmental organizations and Native American Tribes that would like to protect working farmland through an Agricultural Land Easement under the federal Agricultural Conservation Easement Program (ACEP).
ACEP Agricultural Land Easements protect critical natural resources and encourage private landowners to maintain land for farming through the voluntary sale of an easement, which limits future development.
NRCS provides financial assistance to eligible partners for purchasing Agricultural Land Easements. Cropland, rangeland, grassland, pastureland and industrial private forest land private forestland are eligible. State and local governments, non-governmental organizations and Native American Tribes that have farmland or grassland protection programs are eligible to partner with NRCS to purchase conservation easements.
Applications will now be ranked monthly. This year's first application ranking cut-off date is Friday, February 12, 2021. All eligible applications received by 4:00 pm on this date will be ranked. The highest ranked applications will be selected based on the available funds provide to Massachusetts NRCS. Subsequent cut-off dates will be the second Friday of the month through July 9, 2021.
Applications should be submitted to Helen Castles, USDA-NRCS Massachusetts State Office, 451 West Street, Amherst, MA 01002. Information on how to apply and application forms are available on the NRCS Massachusetts website.
USDA is committed to preserving our agricultural lands for the future generations. This is a perfect opportunity for local communities, state agencies, land trusts and other eligible groups to partner with NRCS to preserve these lands and the values they provide to the residents of Massachusetts," said Dan Wright, Massachusetts State Conservationist for NRCS.
NRCS may contribute up to 50 percent of the fair market value of the agricultural land easement. Where NRCS determines that grasslands of special environmental significance will be protected, NRCS may contribute up to 75 percent of the fair market value of the agricultural land easement.
To learn about ACEP and other technical and financial assistance available through NRCS conservation programs, visit www.ma.nrcs.usda.gov or your local USDA Service Center.
NRCS is a federal agency that works hand-in-hand with the people of Massachusetts to improve and protect soil, water and other natural resources. The agency works with local conservation districts and other partners to serve farmers and landowners in the Bay State and across the United States.


Construct a default Regularizer instance.
Construct a copy of an Regularizer instance.
Assign an Regularizer instance to this instance.
Set the options for regularizing linear constraints.
Regularize the vectors dg/dp and db/dp, where g = grad(f).
Recover the sensitivity derivative dxdp.
A type that represents a regularized optimization problem.
Regularize the optimum problem, state, and options before they are used in an optimization calculation.
problem The optimum problem to be regularized.
state The optimum state to be regularized.
options The optimum options to be regularized.
Recover an optimum state to an state that corresponds to the original optimum problem.
state[in,out] The optimum state regularized in method regularize.


text:
Q: Discover owner of Twitter app via consumer_key and consumer_secret I have inherited a legacy web application that contains API credentials for a Twitter application.
I have the consumer_key and the consumer_secret.
How do I determine the actual account owner of the application?
Is there a way to regenerate the API credentials without knowing the actual account information (i.e. username/password)?

A: Perhaps you can get some additional information if you have an Access Token for the app, even if it has expired.
When you create a new app in https://apps.twitter.com you get:

*

*Consumer Key (API Key)

*Consumer Secret (API Secret)
If you want to use it, you have to create a Access Token, and the results will be two values:

*

*Access Token

*Access Token Secret
The page for the app under https://apps.twitter.com will show you the fields "Owner" and "Owner ID" for the app.
If you have an Access Token value --you should have one if you are using the app--, you'll find something like:
'access_token' => '12345678-XxxXXxxXxxXxX1XXXXxx2xXXxXxXXX3xXXxxxxxXX'
The value at the beginning of that value, just before the hyphen (that is, 12345678 in that example) will be the Owner ID of the user that created the Access Token (you'll have to use your actual value, instead of the 12345678 of the example).
If you go to
https://tweeterid.com/
and enter the Owner ID extracted from Access Token field (that will be the same of the app, for example: 20749410), you'll obtain the Owner (@finkd = Mark Zuckerberg in this case).
If you are lucky, and the user that create the Access Token is the same that created the app, you'll have the answer to your question. It they aren't the same person, at least you can get a minor clue to follow investigating.

A: Email api@twitter.com. They should be able to reach out to the original developer.

redpajama_set_name: RedPajamaStackExchange


text:
OMA History
© jtoddOxford Graduates Medical Club (OGMC) was founded in 1884. At one time, it was one of the foremost meeting places for medical debate in the country. However, by 1998, it was unable to embrace the needs of the expanding Oxford medical community, membership was dropping, and it was decided that unless new life was breathed into the Club, it would have to close.
A group of Oxford medical alumni, aware of discussions within the Oxford University Medical Sciences Division, Green Templeton College, the Oxford Osler House Club, and the Friends of 13 Norham Gardens, decided to relaunch the group. In September 1999, during a final meeting in Green Templeton College, members of the Club agreed to its dissolution and its replacement by the new association (OMA) which was relaunched in 2000 as Oxford Medical Alumni.
In 2005, the Oxford Medical Society (OMS), merged with OMA following its decline, and the Oxford Medical Luncheon Club (OMLC) also came within the umbrella of OMA's activities in 2006.
OMA continues the best traditions of the OGMC and of the University of Oxford Medical Sciences Division. OMA started with 50 members in 1999 and is now in contact with over 15,000 members throughout the world. The OMA reunions in Oxford, North America, and Australia, together with an ever-increasing response to OMA activities, have clearly identified a desire among many old members to belong to such an organization. This is the ideal moment to bring back to Oxford those who have made the institution what it is today.
OMA Team
Oxford University Events
Oxford Medical Lecture Club
Osler Rowing Beginnings
The Very First Osler Ladies First Eight
Oxford Medical Obituaries
When is my reunion?
How can I get a copy of my degree certificate or an academic transcript?
I want to get in touch with a colleague from medical school. How do I do this?
I would like to contribute an article to Oxford Medicine, the OMA magazine. How do I do this?
What is Oxford Alumni Online? How do I register?
Can you help me trace an ancestor who studied medicine at Oxford?
I want to study medicine at Oxford. Can you help me?
I am a patient and want to contact an Oxford trained physician. Can you help me?
Oxford Medical Alumni Network
Sign up for mailings - keep in touch with medicine at Oxford.
Update your details - make sure you receive alumni news and event invitations.


text:
package org.sakuli.services.forwarder.icinga2.model;

import org.testng.annotations.Test;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

import static org.testng.Assert.*;

/**
 * @author tschneck
 *         Date: 2/23/16
 */
public class Icinga2ResultTest {

    @Test
    public void testGetStatusOfFirstElement() throws Exception {
        Icinga2Result result = new Icinga2Result();
        Map<String, String> map = new HashMap<>();
        String msg = "my status";
        map.put("status", msg);
        result.setResults(Collections.singletonList(map));
        assertEquals(result.getStatusOfFirstElement().get(), msg);

        result.setResults(null);
        assertFalse(result.getStatusOfFirstElement().isPresent());

        map.put("status", null);
        result.setResults(Collections.singletonList(map));
        assertFalse(result.getStatusOfFirstElement().isPresent());

        result.setResults(Collections.singletonList(new HashMap<>()));
        assertFalse(result.getStatusOfFirstElement().isPresent());

        assertEquals(result.getFirstElementAsString(), "[NULL] - EMPTY MESSAGE");
    }

    @Test
    public void testGetCodeOfFirstElement() throws Exception {
        Icinga2Result result = new Icinga2Result();
        Map<String, String> map = new HashMap<>();
        map.put("code", "200.00");
        result.setResults(Collections.singletonList(map));
        assertEquals(result.getCodeOfFirstElement().get().intValue(), 200);

        result.setResults(null);
        assertFalse(result.getCodeOfFirstElement().isPresent());

        map.put("code", null);
        result.setResults(Collections.singletonList(map));
        assertFalse(result.getCodeOfFirstElement().isPresent());

        assertEquals(result.getFirstElementAsString(), "[NULL] - EMPTY MESSAGE");

        result.setResults(Collections.singletonList(new HashMap<>()));
        assertFalse(result.getCodeOfFirstElement().isPresent());

    }

    @Test
    public void testIsSuccess() throws Exception {
        Icinga2Result result = new Icinga2Result();
        result.setResults(Collections.singletonList(null));
        assertFalse(result.isSuccess());
        result.setResults(Collections.singletonList(new HashMap<>()));
        assertFalse(result.isSuccess());

        Map<String, String> map = new HashMap<>();
        map.put("code", null);
        map.put("status", null);
        result.setResults(Collections.singletonList(map));
        assertFalse(result.isSuccess());

        map.put("code", "200.00");
        assertFalse(result.isSuccess());

        map.put("status", "unsuccessful");
        assertFalse(result.isSuccess());

        map.put("status", "Successfully processed");
        assertTrue(result.isSuccess());

        assertEquals(result.getFirstElementAsString(), "[200] - Successfully processed");
    }

}


# Penn State snared offensive lineman Mark Arcidiacono of Philadelphia-St. Joseph's Prep, Pa. Among others were Florida, Notre Dame, Rutgers, West Virginia, South Florida, Miami-Florida, Michigan State, Maryland, Temple and UConn.
# Penn State has a commitment from defensive back Malcolm Willis of Indian Head-Lackey, Md.
# Penn State has its first Class 2009 pledge in offensive lineman Ty Howle of Bunn, NC.
# Penn State has landed 345-pound defensive linemen Brandon Ware of Harrisburg, Pa.
# Penn State has a commitment from offensive lineman Mike Farrell of Pittsburgh-Shady Side Academy, Pa., over Miami-Ohio.
# Coach Joe Paterno and Penn State have a commitment from 6-4 receiver AJ Price of Reston-South Lakes, Va., over Michigan, Virginia, North Carolina and Duke.
# Penn State gained Super Prospect tight end Mark Wedderburn of Springfield-Cardinal O'Hara, Pa. Among others were Rutgers, Tennessee, Florida, Louisville and Michigan.
# Penn State has landed Super Prospect defensive back D'Anton Lynn of Celina, Tex., over Florida, Ohio State, Oklahoma and Southern California.
# Penn State has gained Super Prospect defensive lineman Jack Crawford of Richland-St. Augustine, NJ., over Boston College, Northwestern, Pittsburgh, Rutgers, Syracuse and Minnesota.
# Penn State has its 9th commitment in defensive lineman Pete Massaro of Newtown Square-Marple Newtown, Pa. Among others were Boston College, Duke, Georgia Tech, Pittsburgh, Syracuse and Temple.
# Defensive lineman James Terry, a 310-pound prospect from Wilmington-Brandywine, Del., chose Penn State.
# Top 150 running back Michael Shaw of Trotwood/Trotwood-Madison, Ohio, committed to Penn State over Tennessee, Michigan and West Virginia. Among many others were Clemson, Nebraska, Iowa, Indiana and Cincinnati.
# Penn State has a commitment from Super Prospect offensive lineman Deon'tae Pannell of Beverly Hills-Groves, Mich., over Michigan and Michigan State. Among many others were Wisconsin, Purdue and Minnesota. The Nittany Lions now have six pledges.
# Penn State has a commitment from Top 150 running back Brandon Beachum of Youngstown-Cardinal Mooney, Ohio, over Wisconsin, Nebraska and Florida State, among many others.
# Outstanding linebacker Mike Yancich of Washington-Trinity, Pa., will play at Penn State over Michigan State, Pittsburgh, West Virginia and UConn. Among many others were Boston College, Georgia Tech, Vanderbilt, Virginia and Duke.
# Penn State has added a verbal from linebacker Michael Mauti of Mandeville, La., over Florida, Oklahoma, Arkansas and Mississippi, among others.
# Top linebacker Michael Zordich of Youngstown-Cardinal Mooney, Ohio, has chosen Penn State over LSU, Michigan State, Ohio State, Syracuse, Wisconsin, Michigan and Oklahoma, among others. His father also played for PSU.
# Penn State pledged offensive lineman Matt Stankiewitch of Schuylkill Haven-Blue Mountain, Pa.
# Penn State pledged defensive lineman Chimaeze Okoli of Virginia Beach-Salem, Va., over Virginia Tech, Clemson and Michigan State.
# Defensive back Drew Astorino of Edinboro-General McLane, Pa., decommitted from Kent State to Penn State.
# Penn State has a commitment from receiver Derek Moye of Rochester, Pa., over Pittsburgh and Boston College, among others.
# Super Prospect defensive lineman Devon Still of Wilmington-Howard, Del., has committed to Penn State over Ohio State. Among many others were Miami-Florida, Michigan and West Virginia.
# Penn State landed offensive lineman Nerraw McCormick of Bronx-Kennedy, NY/Nassau CC, NY.
# Penn State added to its offensive line with Ako Poti from CC of San Francisco, Cal.
# Receiver Joe Suhey of Wilmette-Loyola Academy, Ill., has chosen Penn State. His father Matt played for PSU and in the NFL.
# Penn State has a commitment from Super Prospect offensive lineman Stefan Wisniewski of Pittsburgh-Central Catholic, Pa., over Boston College, among many others.


text:
namespace asar {

namespace {

#if defined(OS_WIN)
const char kSeparators[] = "\\/";
#else
const char kSeparators[] = "/";
#endif

bool GetNodeFromPath(std::string path,
                     const base::DictionaryValue* root,
                     const base::DictionaryValue** out);

// Gets the "files" from "dir".
bool GetFilesNode(const base::DictionaryValue* root,
                  const base::DictionaryValue* dir,
                  const base::DictionaryValue** out) {
  // Test for symbol linked directory.
  std::string link;
  if (dir->GetStringWithoutPathExpansion("link", &link)) {
    const base::DictionaryValue* linked_node = NULL;
    if (!GetNodeFromPath(link, root, &linked_node))
      return false;
    dir = linked_node;
  }

  return dir->GetDictionaryWithoutPathExpansion("files", out);
}

// Gets sub-file "name" from "dir".
bool GetChildNode(const base::DictionaryValue* root,
                  const std::string& name,
                  const base::DictionaryValue* dir,
                  const base::DictionaryValue** out) {
  if (name == "") {
    *out = root;
    return true;
  }

  const base::DictionaryValue* files = NULL;
  return GetFilesNode(root, dir, &files) &&
         files->GetDictionaryWithoutPathExpansion(name, out);
}

// Gets the node of "path" from "root".
bool GetNodeFromPath(std::string path,
                     const base::DictionaryValue* root,
                     const base::DictionaryValue** out) {
  if (path == "") {
    *out = root;
    return true;
  }

  const base::DictionaryValue* dir = root;
  for (size_t delimiter_position = path.find_first_of(kSeparators);
       delimiter_position != std::string::npos;
       delimiter_position = path.find_first_of(kSeparators)) {
    const base::DictionaryValue* child = NULL;
    if (!GetChildNode(root, path.substr(0, delimiter_position), dir, &child))
      return false;

    dir = child;
    path.erase(0, delimiter_position + 1);
  }

  return GetChildNode(root, path, dir, out);
}

bool FillFileInfoWithNode(Archive::FileInfo* info,
                          uint32 header_size,
                          const base::DictionaryValue* node) {
  int size;
  if (!node->GetInteger("size", &size))
    return false;
  info->size = static_cast<uint32>(size);

  if (node->GetBoolean("unpacked", &info->unpacked) && info->unpacked)
    return true;

  std::string offset;
  if (!node->GetString("offset", &offset))
    return false;
  if (!base::StringToUint64(offset, &info->offset))
    return false;
  info->offset += header_size;

  node->GetBoolean("executable", &info->executable);

  return true;
}

}  // namespace

Archive::Archive(const base::FilePath& path)
    : path_(path),
      file_(path_, base::File::FLAG_OPEN | base::File::FLAG_READ),
#if defined(OS_WIN)
      fd_(_open_osfhandle(
              reinterpret_cast<intptr_t>(file_.GetPlatformFile()), 0)),
#elif defined(OS_POSIX)
      fd_(file_.GetPlatformFile()),
#else
      fd_(-1),
#endif
      header_size_(0) {
}

Archive::~Archive() {
#if defined(OS_WIN)
  if (fd_ != -1) {
    _close(fd_);
    // Don't close the handle since we already closed the fd.
    file_.TakePlatformFile();
  }
#endif
}

bool Archive::Init() {
  if (!file_.IsValid()) {
    if (file_.error_details() != base::File::FILE_ERROR_NOT_FOUND) {
      LOG(WARNING) << "Opening " << path_.value()
                   << ": " << base::File::ErrorToString(file_.error_details());
    }
    return false;
  }

  std::vector<char> buf;
  int len;

  buf.resize(8);
  len = file_.ReadAtCurrentPos(buf.data(), buf.size());
  if (len != static_cast<int>(buf.size())) {
    PLOG(ERROR) << "Failed to read header size from " << path_.value();
    return false;
  }

  uint32 size;
  if (!base::PickleIterator(base::Pickle(buf.data(), buf.size())).ReadUInt32(
          &size)) {
    LOG(ERROR) << "Failed to parse header size from " << path_.value();
    return false;
  }

  buf.resize(size);
  len = file_.ReadAtCurrentPos(buf.data(), buf.size());
  if (len != static_cast<int>(buf.size())) {
    PLOG(ERROR) << "Failed to read header from " << path_.value();
    return false;
  }

  std::string header;
  if (!base::PickleIterator(base::Pickle(buf.data(), buf.size())).ReadString(
        &header)) {
    LOG(ERROR) << "Failed to parse header from " << path_.value();
    return false;
  }

  std::string error;
  base::JSONReader reader;
  scoped_ptr<base::Value> value(reader.ReadToValue(header));
  if (!value || !value->IsType(base::Value::TYPE_DICTIONARY)) {
    LOG(ERROR) << "Failed to parse header: " << error;
    return false;
  }

  header_size_ = 8 + size;
  header_.reset(static_cast<base::DictionaryValue*>(value.release()));
  return true;
}

bool Archive::GetFileInfo(const base::FilePath& path, FileInfo* info) {
  if (!header_)
    return false;

  const base::DictionaryValue* node;
  if (!GetNodeFromPath(path.AsUTF8Unsafe(), header_.get(), &node))
    return false;

  std::string link;
  if (node->GetString("link", &link))
    return GetFileInfo(base::FilePath::FromUTF8Unsafe(link), info);

  return FillFileInfoWithNode(info, header_size_, node);
}

bool Archive::Stat(const base::FilePath& path, Stats* stats) {
  if (!header_)
    return false;

  const base::DictionaryValue* node;
  if (!GetNodeFromPath(path.AsUTF8Unsafe(), header_.get(), &node))
    return false;

  if (node->HasKey("link")) {
    stats->is_file = false;
    stats->is_link = true;
    return true;
  }

  if (node->HasKey("files")) {
    stats->is_file = false;
    stats->is_directory = true;
    return true;
  }

  return FillFileInfoWithNode(stats, header_size_, node);
}

bool Archive::Readdir(const base::FilePath& path,
                      std::vector<base::FilePath>* list) {
  if (!header_)
    return false;

  const base::DictionaryValue* node;
  if (!GetNodeFromPath(path.AsUTF8Unsafe(), header_.get(), &node))
    return false;

  const base::DictionaryValue* files;
  if (!GetFilesNode(header_.get(), node, &files))
    return false;

  base::DictionaryValue::Iterator iter(*files);
  while (!iter.IsAtEnd()) {
    list->push_back(base::FilePath::FromUTF8Unsafe(iter.key()));
    iter.Advance();
  }
  return true;
}

bool Archive::Realpath(const base::FilePath& path, base::FilePath* realpath) {
  if (!header_)
    return false;

  const base::DictionaryValue* node;
  if (!GetNodeFromPath(path.AsUTF8Unsafe(), header_.get(), &node))
    return false;

  std::string link;
  if (node->GetString("link", &link)) {
    *realpath = base::FilePath::FromUTF8Unsafe(link);
    return true;
  }

  *realpath = path;
  return true;
}

bool Archive::CopyFileOut(const base::FilePath& path, base::FilePath* out) {
  if (external_files_.contains(path)) {
    *out = external_files_.get(path)->path();
    return true;
  }

  FileInfo info;
  if (!GetFileInfo(path, &info))
    return false;

  if (info.unpacked) {
    *out = path_.AddExtension(FILE_PATH_LITERAL("unpacked")).Append(path);
    return true;
  }

  scoped_ptr<ScopedTemporaryFile> temp_file(new ScopedTemporaryFile);
  base::FilePath::StringType ext = path.Extension();
  if (!temp_file->InitFromFile(&file_, ext, info.offset, info.size))
    return false;

#if defined(OS_POSIX)
  if (info.executable) {
    // chmod a+x temp_file;
    base::SetPosixFilePermissions(temp_file->path(), 0755);
  }
#endif

  *out = temp_file->path();
  external_files_.set(path, temp_file.Pass());
  return true;
}

int Archive::GetFD() const {
  return fd_;
}

}  // namespace asar


Seabridge Gold Inc (NYSE:SA) (TSE:SEA) has received a consensus broker rating score of 1.00 (Strong Buy) from the one brokers that cover the company, Zacks Investment Research reports. One research analyst has rated the stock with a strong buy rating.
Brokerages have set a 1-year consensus price objective of $17.00 for the company and are anticipating that the company will post ($0.05) earnings per share for the current quarter, according to Zacks. Zacks has also assigned Seabridge Gold an industry rank of 80 out of 255 based on the ratings given to related companies.
Several research analysts recently commented on SA shares. ValuEngine raised shares of Seabridge Gold from a "hold" rating to a "buy" rating in a research note on Monday, February 4th. Zacks Investment Research raised shares of Seabridge Gold from a "hold" rating to a "buy" rating and set a $15.00 price target on the stock in a research note on Saturday, February 16th.
Shares of SA traded down $0.27 during midday trading on Tuesday, hitting $11.15. The stock had a trading volume of 321,479 shares, compared to its average volume of 370,439. Seabridge Gold has a 1 year low of $10.20 and a 1 year high of $15.30. The company has a market cap of $703.24 million, a P/E ratio of -79.64 and a beta of 0.06.
A number of hedge funds have recently bought and sold shares of the stock. Virtu Financial LLC purchased a new position in Seabridge Gold in the 1st quarter worth about $297,000. Liberty Wealth Management LLC purchased a new position in Seabridge Gold in the 4th quarter worth about $36,000. American Century Companies Inc. purchased a new position in Seabridge Gold in the 4th quarter worth about $527,000. Advisory Services Network LLC increased its stake in Seabridge Gold by 66.2% in the 4th quarter. Advisory Services Network LLC now owns 18,210 shares of the basic materials company's stock worth $241,000 after buying an additional 7,255 shares during the period. Finally, Millennium Management LLC increased its stake in Seabridge Gold by 119.0% in the 4th quarter. Millennium Management LLC now owns 143,023 shares of the basic materials company's stock worth $1,892,000 after buying an additional 77,723 shares during the period. 23.51% of the stock is currently owned by institutional investors.
Seabridge Gold Inc, a development stage company, together with its subsidiaries, engages in the acquisition and exploration of gold properties located in North America. The company also explores for copper and silver ores. It holds a 100% interest in various North American gold resource projects. The company's principal assets are the Kerr-Sulphurets-Mitchell and Iskut properties located near Stewart, British Columbia, Canada, as well as the Courageous Lake gold project located in Canada's Northwest Territories.
Receive News & Ratings for Seabridge Gold Daily - Enter your email address below to receive a concise daily summary of the latest news and analysts' ratings for Seabridge Gold and related companies with MarketBeat.com's FREE daily email newsletter.