It is possible to reduce turnover to lower than the national average... in a very short time!
Our Workforce 21 consulting program can help your facilities keep, select and recruit staff by improving team-based involvement that dramatically affects morale, communication, quality of delivery and movement toward employer of choice status.
With a team approach, using your existing superstaff in developing a written action plan, your facility can achieve the Big 8!
We can kick start a 12 week team-based process that can be successfully continued after our initial assistance/program development... without additional consulting assistance from us.
How do we work with facilities to achieve results?
Recruitment promotion and advertising action techniques.
Behavioral interviewing for an improved selection process.
Team development on collaboration and conflict management.
Assistance with determination on wage, salary and benefit issues as needed for discussion in the 12 week plan.
The development of a daily consistency meeting for involvement in staffing decisions.
The implementation of the "one piece of the elephant" concept or how to chunk out this process throughout the organization in an attainable fashion.
System improvements such as data analysis tracking systems and exit interviewing process.
Supervisory/Leadership capabilities improvement (charge nurses).
The development and implementation of a passionate orientation program including a sequenced checklist customized to the position/unit return demonstration checks and a co-worker mentoring program.
There will be additional assistance by return visits from Clint Maun and other key Maun-Lemke individuals as necessary to ensure the success of the plan and get the second 12-week plan started if necessary. In other words, we'd be involved over a 6-month period of time. There will be several revisits to the facility during the 12 weeks to ensure they are implementing the plan successfully and are able to twerk or tweak the plan as necessary.
We'd conduct phone conferences on specific agenda topics with the executive group, 12-week team members and sub-teams as needed for follow up discussions on the plan.
We'd be available for impromptu phone conferences with team members to discuss their issues in the installation and implementation of the plan.
We would present staff motivational sessions to excite and motivate staff about their responsibilities in the team process for recruitment, selection and retention.
We provide all tapes, manuals, books, articles and materials including the Workforce 21 Tool Kit information necessary for the success of the plan.
We would assist in the implementation of team based training so the teams could begin a functional method toward success from the very beginning.
We provide benchmarking assistance for your organization that provides support from other similar client facilities on the same type of recruitment, selection and retention issues.
Our efforts would be tied to the overall plan for the organization.
We would be available to assist the corporate function in the development of a roll out process for additional properties in the system. This would include all the necessary accountability processes that need to be put in place such as, approvals, sign offs and weekly reporting of the team's success at each of the locations.
Our work is very involved, specific and accountable toward a goal oriented process in a team based fashion. We need there to be a major emphasis on this particular RSR initiative. There must be an understanding that this is the priority project and all support that is necessary be given to the implementation.
Clint offers a 100% customer satisfaction guarantee. If we do not meet your expectations, we'll make it right, or you don't pay us. It's that simple, and we're confident we can assist your organization's goals to improve recruitment, selection and retention.
If you'd like more information on how Clint can help you add more profit to your bottom line, please contact us for further information and assistance.


text:
Improbable Triumphs
Duology
The Football Italia Years
A World of Ultras
The Fleeting Fraternity
A Tale of One City
The Masterminds
Diego Maradona: The World Cup Diaries
Hot Bovril and Cold Terraces
The Academy Way
On Guardian Sport
Copyright © 2019 These Football Times
England and the fantasy history that simply doesn't exist
28/06/2016 by Matt Clough
As the referee blew the final whistle to confirm arguably England's most ignominious result for a generation, the collective look on the players' faces wasn't one of anguish but of sheer stupefied, horrified bewilderment.
Bewilderment that they'd fallen to a foe that had been so written off that one suspects the English players and management had already begun planning for a crunch tie with France; bewilderment that they'd once again failed to perform, even in an expanded European Championship format with old favourites like Italy apparently fielding their weakest teams in living memory; bewilderment that the ghost of 1966 has still yet to be exorcised and, if anything, now looms even larger than ever.
To say that English football has a serious problem may feel like stating the obvious at this point in time, but beyond the clear issues underlined repeatedly in the lacklustre campaign and magnified to microscopic detail in the humiliating 2-1 defeat to Iceland, the spectre of historical expectation is one of the fundamental flaws that must be addressed before England can ever truly expect to see a team break free from their shackles at a major championship and come close to delivering on their potential.
To attack the hopelessly idealistic, horrendously destructive tendency for the supposition of greatness, it's critical to first understand its roots. The glory of the 1966 World Cup is clearly the nexus of the idea, the fairy-tale triumph over an old enemy, complete with that jolting moment of doubt at the death before Geoff Hurst wrote himself into history with the last kick of the game.
The subsequent countless lyrical reworkings of Three Lions (a song which must have been written in the knowledge that its "… years of hurt" construction would allow for it to be recycled ad nauseum until England won again – if they won again) is demonstrative of the entrenchment of the country's sole major tournament success as the yardstick against which everything must be measured.
However, it isn't just 1966 that English football is now facing unfavourable and dispiriting comparisons with. Such has been the joyless way that England have approached the last few tournaments that even episodes that could generously be referred to as glorious failure have been cast in new light.
Italia 90 and Euro 96, both of which ended at the semi-final stage – the team's furthest excursions other than 1966 and the truncated 1968 European Championships – were both lionised before this year's Championships. Even moments that, at the time, seemed calamitous and disastrous in equal measure, such as Ronaldinho's flighted effort dipping over David Seaman in Shizuoka in 2002, have taken on a sepia tinge in comparison to recent efforts.
To defeat the false belief and unrealistic expectation that accompanies England onto the plane to every tournament and undoubtedly eats away at even the most experienced players (Wayne Rooney's inability to play the sort of pass he'd normally pull off blindfolded as the clock ticked down against Iceland a case in point), the key falsehood must be challenged. World Cup 66, while not a fluke, was the beginning, middle and end of England's success story on the full international stage.
Reading down the list of players England boasted in the years leading up to the World Cup victory – Stanley Matthews, Tom Finney, Nat Lofthouse, Billy Wright and Alf Ramsey – it's not hard to imagine that success was inevitable, that it was a culmination of years of preparation and build up. However, that team, even filled with those great players, was also prone to spectacular failure.
Read | Euro 96: when football should have come home
When England were embarrassed by a team of American part-timers at the 1950 World Cup, the combination of the England cricket team falling for the first time to the West Indies the same day and a general disinterest in the press and across the country to even acknowledge the tournament's significance meant the first chance for tournament-inspired self-examination was missed.
The perfect example of this indifference to any situation that did not paint the national team in the best possible light can be located in the fact that this was England's first defeat at a major tournament; they had skipped the first three editions of the World Cup largely as a result of stubbornness and a dismissive attitude towards the very idea that a team could claim to be world champions without having first defeated the country that invented the game and, therefore, must be the best.
This attitude prevailed even after their aborted first attempt at tournament football in 1950 in Brazil as, despite multiple near misses, the press proudly trumpeted the Three Lions' record of never having lost at home to a continental European side, a rather desperate claim that served as little more than a feeble alibi for the fact that they preferred the familiar comforts of games against the home nations rather than risk facing up to the reality that European football was, by now, light years ahead of the tired and tactically naive WM system that still dominated the English game.
The FA, press and fan deference to the past and tradition finally came back to haunt the country when, in 1953, England were dismantled 6-3 by the great Hungarian team of Ferenc Puskás, the spearhead of the movement away from the old aristocratic approach of England toward the new, free flowing and tactically inventive styles being championed across the rest of Europe.
Similarly harrowing defeats followed – a 7-1 thrashing in Budapest at the hands of the Magnificent Magyars some months later remains England's worst ever defeat – yet the lack of television coverage, among other things, allowed a mutual denial to develop about just how far behind English football was falling.
It wasn't until Ramsey, now manager, ignored the collective perceived wisdom of the FA, the press and English football in general, taking repeated and considerable criticism while doing so, that England truly responded to the shocks of the 1950s. Had it not been for this one outstanding individual who was willing to question everything that had come before him, 50 years of hurt may well have been much longer.
The dust had barely settled on England's remarkable defeat to Iceland before the hopeful cries began that this was to be the tremor that would finally awake the sleeping giant, the kick up the backside that English football needed to return to its rightful place. Unfortunately, the England national team has had bigger in the past, and they've certainly not been in short supply of late.
England fans the world over still rightfully burst with pride whenever the triumph of 1966 is mentioned, but it has had an immense distorting effect on expectations and provided an excuse for every generation since to avoid truly examining the reasons for English football falling short, just as the origins of the game were used before Ramsey broke the mould and succeed in spite of almost every other external factor.
It was the exception, not the rule. To expect England, be it players, coaches or the FA, to truly learn lessons from the most recent European Championships is to expect something that has, quite simply, never happened before.
By Matt Clough. Follow @MattJClough
Tags: england, euro 2016
Matt Clough 28/06/2016
The Nagelsmann era begins, but what will it hold for RB Leipzig?
James Caple 15/07/2019
The generation of superb Italian goalkeepers overshadowed by the emergence of Gianluigi Buffon
James Sweeney 15/07/2019
Reading 5-7 Arsenal: remembering the most ridiculous game in League Cup history
Will Sharp 11/07/2019
Totò Schillaci: the unlikely hero of Italia 90
Aidan Williams 11/07/2019
Remembering Subbuteo: the iconic game of so many childhoods
These Football Times 11/07/2019
SUBSCRIBE: WEEKLY CONTENT X OFFERS
RECLAIMING THE FOOTBALL YOU THOUGHT WAS LOST
Join our mailing list and never miss a magazine launch, online series or offer

redpajama_set_name: RedPajamaCommonCrawl


Carry it all in style with the Björn Borg Sienna Shopper 20L. Featuring single zipper pullers on the large main compartment. A detachable and adjustable shoulder strap for added comfort and a zipper pocket on front. Dimension: W34,5cm, H37cm, D15cm.


text:
Category: Adam Clendening Jersey
Shots through sounds good personalized theory dominance
Husky Border Collie mixes are beautiful designer dogs that exhibit the best traits of both Border Collies and http://www.brownsfootballofficialprostores.com/joe-thomas-jersey_c-417.html Siberian Huskies.1, and they revealed Wednesday that she was in hospital for about a week with a lot of complications.I can't say it's on the coaches because the players didn't make enough plays this year.For now, he will return to the AHL to help the Griffins in their postseason run.On there hasn't been any consistent pass rush: If you look at all of the great fronts that there have ever http://www.columbusbluejacketsauthenticstore.com/authentic-adam-clendening-jersey been, it's a collective effort of all four, getting to know each other as pass rushers and it's not just one man that's going to have a 20 sack season, normally on a good front.The 21-year-old has seven points in 12 games with AHL Manitoba this year, so if he finds a similar groove, he could be a decent NHL scorer in his time with the big club.
Later, she was able to secure a spot on Albert Einstein High School's pom squad.When it is not minding the stable, he loves to compete in agility, herding, and rally events.Our kids are encouraged to meet their highest potential, this is just another example of that.Arjun Tendulkar first bowled at me at Lord's when he was about 10.That's the narrative of how it goes.
Eismann also was tabbed the defensive player of the week by the Great Midwest Conference.has one assist in eight games since he returned Joe Thomas Authentic Jersey from a personal leave.Pat Mahomes and Travis Kelce make a surprise visit to a family in need."Jeremy was cooking.Had five catches for 39 yards on Dec.
The player-led initiative marked the second installment of the players' 4th Quarter Program which seeks to address social justice areas of particular importance to the players themselves.JETS _ QB Baker Mayfield, Oklahoma; Rich Cimini, Not exactly Joe Willie but there's no perfect quarterback in this class.But both their loving owners and most ardent opponents have never really known whether they understand their own names.Sadly, we didn't really show how good we can be Womens Adam Clendening Jersey the first couple of games and India punished us.Access to safe water has the power to turn time spent into time saved, when it's close and not hours away.Green Bay led 41 at halftime and 45 after a Shanquan Hemphill jumper with 16 left to play.
2 on the team in total tackles and solo tackles and No.Hall also finished second to Michael Grabner in the Fastest Skater event at the SuperSkills Competition in 2011 All-Star Weekend.Both were up for the Lombardi .The 2009 team won 23 games, but a soft nonconference schedule relegated that team to the NIT.With 16 games left to play, Yandle needs 14 points to hit the 60-point plateau, which would break his career-high of 59 points in 2010.
Former Philadelphia Phillies, Detroit Tigers and Boston Beaneaters shortstop Herman Long had a record 122 fielding blunders during the 1889 season — a mark that was tied the following season by longtime third baseman Billy Shindle.Quarterback Cam Newton threw forward passes of a noteworthy length for the first time in a week Sunday, tossing a few to head athletic trainer Vermillion.Either way, if the big dark eyes and gumdrop nose don't tip you off, here's a few more clues: standing between seven to nine inches and weighing under seven pounds this pup is in the toy group and its coat is never any color but white.Micah Blake McCurdy in the Vancouver Courier So what does this mean for Hoffman?
Michigan State is the most versatile team in Minneapolis: Three of the four Final Four participants have firmly established identities.We are close to finalizing some things.Holzer is evidently healthy, otherwise, he wouldn't be eligible for waivers.
Posted in UncategorizedLeave a Comment on Shots through sounds good personalized theory dominance


Six o'clock and we're still here. There is no radio or telephone with which we can contact the outside world. The splendid isolation of Camp Island is beginning to lose some of its charm. Siggi and Rosie remain stoically calm, but they aren't on their way around the Pacific Rim via the Aleutian Islands. Scott cooks a fine meal of Sockeye and halibut with rice and chopped vegetables. Kent can be heard in the distance sawing and banging until well after dark. Basil thinks he's chopping up previous visitors.
When it becomes clear that no one is coming to collect us today, we unpack and settle down to another night beside this beautiful lake, so delightfully far from the insidious temptations of plumbing, drainage and laundry.


There are now fears that the strength of the aftershocks could be indications of another earthquake - and it could occur at any point in the next 30 days.
And what's crazy to think about is the fact that this would have all happened so fast.
"It would have been amazing if it had been daylight and someone had seen it," she said.
"It's not just a single rupture on one fault plain, it's ruptured multiple fault strands all along the coast there," said Mountjoy. "So that uplift will reflect that behaviour of different faults."
Researchers are now trying to figure out exactly how the earthquake changed things on the coast, but they've already seen indications that the land not only moved up, but across as well.
It will take some time before scientists understand the full extent of the sudden coastline remodelling, but they've already been given a unique opportunity to study the sea floor from the comfort of land.
But for the sake of the locals, let's hope opportunities like this continue to be this rare.


Elite Business Magazine is dedicated to breaking new ground and advocating some of the hottest new names in UK plc.
Every issue covers up-to-the-minute content and presents a unique angle on the things enterprises need to know and we also gather the best and brightest voices in the community to share their experience. Whether it's moo.com's Richard Moross or the man behind Reggae Reggae Sauce, Levi Roots, we profile the individuals reinventing enterprise.
If you want a finger on the pulse of entrepreneurial Britain, then Elite Business Magazine is the publication for you.
How much is Elite Business magazine?
How often is Elite Business magazine published?
How can I buy Elite Business magazine?
How many issues of Elite Business magazine are published each year?
Who publishes Elite Business magazine?


text:
Albasini notches up another Classics podium for ORICA-GreenEDGE at Fleche Wallonne
Wed 22 Apr 2015
Three-time 2014 Tour de Romandie stage winner Michael Albasini has claimed ORICA-GreenEDGE's third Classics podium of 2015 at La Fleche Wallonne today.
A consistent performer at the Belgian race, including a second place in 2012, Albasini was given the opportunity to lead the Australian outfit, one he made the most of.
The 34-year-old finished third atop the Mur de Huy, trailing Alejandro Valverde (Movistar Team) who claimed his third title and Julian Alaphilippe (Etixx – Quick Step).
"The Mur de Huy is a climb that suits me," Albasini said. "This race is also my chance to go for a result because at Amstel (Gold) Race and Liege, I am mostly there as a teammate for Simon Gerrans or Michael Matthews."
"As my chance, I have to be good today.
"Valverde is one of the strongest guys in this kind of finish. You never know (if you can beat him), you always have to try. I was closer than ever maybe, but it still wasn't possible today."
Unlike Sunday's Amstel Gold Race, the day didn't run perfectly for ORICA-GreenEDGE, but Albasini battled on and was visible at the front up the final climb to give himself every chance.
"It certainly wasn't smooth running like the weekend," sport director Matt White said of the 205.5km race. "Some of our boys pulled up a bit average from the big effort on Sunday and Christian Meier had a mechanical at a crucial time. "
"But those that were there in the finish were good and they prepared Albasini for the final.
"In the last climb it's every man for himself and Albasini showed once again on that climb that he is as good as anyone in the world."
The days break formed without too much resistance in the first 10km of racing.
Thomas De Gendt (Lotto Soudal), Mike Teunissen (Team LottoNL-Jumbo), Brice Feillu (Bretagne-Séché Environnement), Jérôme Baugnies (Wanty - Groupe Gobert), Reinier Honig (Team Roompot), Daniele Ratto (UnitedHealthcare Pro Cycling) and Pieter Vanspeybrouck (Topsport) stretched their advantage to eight minutes from the peloton but never posed too much threat.
Back in the peloton a tense race saw a number of crashes, but by the second ascent of the Mur de Hur the break had reduced to five riders and an advantage of just 50seconds.
Late attacks on the final two climbs, including a move by Tim Wellens (Lotto-Soudal) that established a lead of 15seconds, proved unsuccessful as those remaining groveled it up the final climb for honours.


text:
Успенский собор Рязанского Кремля построен в 1693—1699 годах зодчим из крепостных Яковом Григорьевичем Бухвостовым. Стилизованное изображение собора является одним из символов Рязани.

При сходстве общего плана с Московским Успенским собором и его традиционными чертами — трёхчастием западного фасада, членением южной и северной стен на четыре деления, пятиглавием и др., архитектором осуществлён ряд нововведений, обогативших черты «нарышкинского стиля».

Высота собора (без подклета) до карниза примерно 28 м, в ширину 31 м и в длину 45 м, а с галереями 41 м в ширину и 56 м в длину, а ширина стен до 2,4 метра. Грандиозное сооружение построено за семь лет и украшено редкой для своего века кружевной белокаменной резьбой.

Успенский собор и его колокольня построены таким образом, что их видно из любой точки города и примерно за 20 километров от Рязани. Раньше эти здания служили естественным визуальным ориентиром при навигации на Оке.

Начало строительства
Постройка нового летнего храма рядом с древним Христорождественским кафедральным собором обусловлена была малыми размерами и ветхостью последнего, теснотою и духотой в нём, особенно во время зимних служб. Митрополит Рязанский Иосиф в 1677 году обратился к царю Фёдору III Алексеевичу с прошением о дозволении построить новую соборную церковь попросторнее неподалёку, на том месте, где стояла тогда «зелейная» (пороховая) палата. В 1679 г. по указу Государя зелейная палата была разобрана.

В марте 1684 г. «подмастерье каменных дел Федор Шаритин со товарищами» подрядился у митрополита Павла (Моравского) делать новую соборную церковь: «каменщики у преосвященнаго и у порядчиков за работу 1250 рублей, да запасу всякаго 300 четвертей, 140 пудов ветчины и прочая. А стать им к тому делу в 15 день и сделать оноев три годы».

В 1692 г. митрополит Авраамий с радостью доносил Патриарху и Государям Иоанну и Петру Алексеевичам, что «соборная церковь постройкой окончена, своды сведенны и шеи, где быть главам, до половины сделаны…».

Однако, в ночь на 18 апреля 1692 г. чуть недостроенная соборная церковь рухнула по причине неправильных расчётов или слабости грунтов под фундаментом. Рухнувший собор разрушил и надвратную церковь прп. Варлаама Хутынского в Спасском монастыре.

Возведение собора

Тот же митрополит Авраамий в январе 1693 г. устроил новые подрядные торги на возведение соборного храма, и положено было основание ныне существующему летнему Успенскому кафедральному собору. Подряд на сей раз получил мастер каменных дел Яков Григорьев Бухвостов. Работы начаты были 18 мая 1693 г., и в конце 1699 г. собор подведён был под крышу и затем обрёл свои 5 глав.

Артель резчиков Сергея Христофорова изготовила для собора огромный семиярусный иконостас. В 1701 г. иконостас был вызолочен московскими мастерами-позолотчиками. Иконы для иконостаса писал иконописец Николай Соломонов с помощниками. Великолепием орнаментов белокаменной резьбы стены собора — порталы, колонны, наличники — украшали по проекту Якова Бухвостова мастера: Никита Иустинов, Герасим Иванов, Иван Парфенов.

15 августа 1702 г. митрополит Стефан (Яворский) совершил освящение нового Успенского кафедрального собора.

Обновление собора

В 1800 г. обыватели Рязани узнали от преосвященного Симона (Лагова), что Священный Синод предписал разобрать собор по причине появления в нём «опасных ветхостей» и построить новый. Ввиду высоты и открытого местоположения, у храма срывало бурей главы и кровлю, в сводах и стенах появились трещины, в верхних окнах ветрами выбивалась вставленная слюда. В дыры зимним временем в храм наметало снег; летом птицы залетали и вили гнёзда в иконостасе и портили его. За птичьим гомоном едва слышны были церковные службы. Архиепископ Симон объявил Рязанской думе указ Синода и попросил граждан посоветоваться между собой и дать ему знать, как они «рассудят о пособии для собора», разобрать собор или починить. Тогда рязанские купцы Г. В. Рюмин и П. А. Мальшин пригласили из Москвы архитектора и каменных дел мастера осмотреть собор. Оказалось, что собор можно исправить. Часть денег на это  купцы обязались пожертвовать и наняли каменотесов, мастеров каменных работ, живописца. К 1804 году Успенский кафедральный собор был возобновлён, а 15 августа того года вновь освящён. От всех граждан пожертвования составили 69.100 рублей.

Святыни Успенского собора
Главной рязанской святыней считалась чудотворная Феодотьевская икона Божией Матери, — явившаяся в 1487 г. в поле у села Феодотьево, близ Спасска. В честь этой иконы ежегодно совершались торжества 2 июля.

Другая чудотворная икона Божией Матери — Муромская — более древняя. Согласно житию благоверного князя Константина Муромского, неизвестного летописям, этой иконой его благословил отец Святослав, великий князь Киевский, внук вел. кн. Владимира, на княжение и распространение христианства на Муромо-Рязанском крае. Перед этой иконой молился святитель Василий, епископ Рязанский, когда в 1288 г. он плыл из Рязани (старой) в Переяславль-Рязанский (современная Рязань). В старинных описях икона именуется «моление свт. Василия».

Ещё был в соборе почитаемый древний образ Иоанна Крестителя.

Русские монархи, посетившие Успенский собор
 Государь Император Александр I (30 мая 1819 г., 20 июля 1820 г., 24 августа 1824 г.);
 Государь Император Николай I (19 сентября 1832 г. и 12 сентября 1836 г.);
 Государь Император Александр II, будучи Цесаревичем (16 августа 1837 г.);
 Государь Император Николай II (8 мая 1904 г. и 8 декабря 1914 г.).

Дальнейшая судьба храма
После 1917 г. церковные службы в храме были прекращены. Внутренние росписи на колоннах и стенах испорчены побелками. Иконы и все церковное имущество реквизированы новой властью. Некоторое время в храме действовал планетарий. Позже проводились музейные выставки.

В 1992 г. собор возвращён Рязанской епархии и вновь освящён 13 июня 1992 г. В этот день преосвященный Симон (Новиков), архиепископ Рязанский и Касимовский, совершил всенощное бдение. На следующий день 14 июня, в праздник Св. Троицы в храме совершена Божественная литургия. К 900-летию Рязани в 1995 г. в храме была завершена реставрация древнего иконостаса.

Примечания

Литература
 «Рязань — исторический центр» — Н. Аграмаков под редакцией ТСРК «Губернская Рязань» 2007 г. — 400 с.: ил.

Рязань
Рязанский Кремль
Рязань
Рязань
Православные храмы Рязани
Рязань

redpajama_set_name: RedPajamaWikipedia


The appearance of snow in the higher elevations here in the Northeastern U.S. is definitely becoming more frequent as we approach November, and we've had two more rounds of Vermont snow in the past week. The first took place on the 26th as a low pressure system made its way across the area, with fairly high snow levels around 3,000′. Then the peaks were whitened again as of this morning with more snow. This latest event was also fairly warm, with snow levels up above 3,000′, but cold air is expected to come in as we enter November, dropping snow levels all the way to the lower mountain valleys. None of these systems have delivered snow amounts worthy of much more than junkboarding, but it's been nice to have white in the peaks along with October's foliage. It won't be long before the snowfall amounts should increase and start to stick around for the winter.
We've had a pleasant, mild, and relatively dry fall season so far in Vermont, and the only frozen precipitation of note was some ice back in September. That all changed this week however, as more seasonable temperatures moved in along with some moisture. The first reports of snow started to appear on Tuesday, with Jay Peak revealing some white accumulations, and by yesterday evening, Powderfreak sent in a picture of snow falling down to the 1,500' base elevation of Stowe Mountain Resort. The snow levels really dropped overnight though, with reports coming in this morning of snow accumulations in some of the valleys. From there it was off to the races with updates as the world woke up, with more reports and pictures of snow in the local valleys and at the ski resorts. Around midday I saw snowfall descend on Mt. Mansfield, and there were some heavy bouts of snow captured on the web cams at Stowe Mountain Resort. Eyewall got a beautiful shot of the snow falling up at Bolton Valley, and Powderfreak posted nice images of the snow in Smuggler's Notch and the base of the Stowe Gondola. Jay Peak even put together an artistic video of the falling snow, and it really gave you that feel of the season's first event. As of this evening, the report from the Mt. Mansfield stake was indicating 3 inches of snow depth, but with the way it's continued to snow this evening, there will likely be more out there by tomorrow. The forecast looks decent for additional snow this weekend as a clipper system moves through, and snow could continue even into next week. Killington opened with lift served skiing today, and if the forecasts are on track, I suspect we're quickly going to see people out there on other mountains with sliding tools on their feet.
For an extended follow up on our October snows, head to the full report on the snow that affected the valleys on October 26th.


text:
A Super time
I am very, very happy the New Orleans Saints won the Super Bowl. As a New England Patriots fan, nothing gave me a greater thrill this year than watching the much-hated Indianapolis Colts lose to the underdog, the team from the Bayou that had never been to a Super Bowl before. As much as I despise the Colts, I really liked the Saints this year, and had become a big fan of them after they crushed the Pats during the regular season... if the Pats were going to lose that badly, it had better be to an incredibly talented team, and now there's no doubt the Saints are the best of the bunch. The Pats had no chance at winning it all, anyway, as it turns out everyone on the team, including the waterboy, was injured this year (we're hearing now that quarterback Tom Brady had been playing without a left arm for the final three games of the regular season). Head coach Bill Belichick also traded away the entire defense halfway through the season for several good draft picks next year and a handful of gumdrops. It might not seem like a sound strategy, but Belichick has brought three championships to New England, so we tend to trust his decisions, even when he seems like he's back to sniffing glue.
Jennifer, Kyle and I watched the first half of the game at a Super Bowl party, hosted by our good friends Nicole and Chad. We had a lot of fun watching the game on their HDTV while gnawing on BBQ ribs, drinking beer, and eating homemade desserts. Years ago, we would have seen the entire game at one of these parties, but that was before the little guy arrived. Kyle certainly had fun watching the game and giving out high-fives, but it wasn't long before we came dangerously close to his bedtime. We knew if we stayed too long we ran the risk of having a cranky kid who would cry relentlessly and get into fistfights over politics. We departed before that could happen. By the time the game ended, Kyle was in bed, and I was sitting on the couch at home, watching it with Jennifer and no one else. I couldn't cheer as loudly, but at least I had a reason to cheer.
As much fun as that was, it's still much better for me when the Pats are in the big game. I hope they return to the Super Bowl during Kyle's childhood, especially when he's old enough to appreciate it. By appreciating it, I do mean as a Pats fan. As many of you know, I am doing the cardinal sin of trying to raise a Boston sports fan in New York City. We cheer all things Patriots and Red Sox, and boo all things Jets and Yankees. Sure, Kyle will become confused whenever we sing about rooting "for the home team" during the seventh inning stretch, but I think in the end he will thank me for it.
At least, that's what I hope. As Kyle grows older and closer to an age when he will start paying attention to sports, I do wonder more often whether I will be able to convince him to root for his dad's home team over the local clubs. After all, New York city is a big sports town, and chances are he'll become friends with a lot of New York sports fans once he enters preschool. There's no guarantee my efforts to make him a Boston fan will work, and the fear of walking into his room someday and seeing an Alex Rodriguez poster on his wall is enough to keep me awake some nights.
Yes, I have written about this several times before (you see the picture of him from last year, taken moments before a Yankees fan made fun of his mother), and I have gone into some detail about ways to convince him that the New York teams, especially the Yankees, are evil. But as we go through each sport season, I can't help but wonder whether Kyle and I will root with each other or against each other. This may not seem like a big deal to some of you, but Jennifer recently met someone who is a Boston fan and has kids who are Yankees fans, and he has told her that it's a nightmare. I understand he often goes to bed crying, wondering where he went wrong as a parent. I am hoping to avoid that. Maybe I need to step up our efforts, perhaps by having him sleep to replays of the 2004 World Series or Super Bowl XXXVI so that a loyalty to Boston will sink into his subconscious. Or maybe I just need to continue sharing all of my sports moments with him, so that he will cherish these times and associate my teams with wonderful bonding experiences with his dad. That, and a steady dose of empty threats to kick him out of the house and set his toys on fire if he ever roots for the Yanks or Jets (or the Colts), just might do the trick.
I guess I have a few years to go before any of this will ever matter, anyway. Even though I still will think about the future of sports in our home, I will just be happy watching games like Sunday's Super Bowl and having Kyle with me, clapping away, even though he doesn't know yet who really deserves his cheers.
Going by the book
All you need is love (and cookies)
Now on home video


Bus routes covering the urban and rural areas of Bedford.
Bedford Borough has a wide network of bus routes that cover the whole of the urban area and lots of rural Bedford.
The Villager provides services from North West Bedfordshire Villages to locations including Milton Keynes, Northampton, Peterborough and St Ives as well as to Sainsbury's Clapham and other locations.
Roadrunner - is a 16 seater bus that provides regular transport for villages and hamlets which have no or little other bus services. It is based in Kempston and is operated by volunteers.
Door to Door - is a service for people who are unable to use public transport and has wheelchair accessible minibuses. The service is provided for many different types of journeys such as visiting friends or relatives, to get to work or travel into the town centre. To use the service you need to register first.
Whitbread Wanderbus - is a Bedfordshire based local community bus service that run a scheduled weekly, bi-weekly or monthly public service. It picks passengers up from in and around villages centred on Shefford and travel to and from local shopping centres, libraries and other amenities.
Ivel Sprinter - is a voluntary Community Bus service operated by theEast Beds Community Bus Ltd. The service provides local journeys as well as weekly or monthly trips to Cambridge, St Neots and Bedford.
Flittabus Community Transport - is a non-profit organisation, run and operated by volunteers. It provides transport facilities to town and village communities throughout mid-Bedfordshire via a scheduled timetable which covers eleven routes.
Tickets can be bought on the bus for a single journey (bus drivers appreciate the correct change if possible). Alternatively, Stagecoach offer daily, weekly and monthly tickets covering Bedford or the wider area. Buying a weekly or longer period ticket is cheaper than buying a ticket every day, and you do not have to worry about finding change.


This topic contains 0 replies, has 1 voice, and was last updated by Andreas Linnert 4 years, 2 months ago.
is it possible to extend Pie via hooks? In this forum I've already read about an available action filter. Is there any documentation?
– Add an option to every field to make that field "visible to everyone", "visible to other signed-in users" or "hidden/private".
– The setting above should be respected when the date is displayed on a page.


text:
from glob import glob
import re, os, sys
from cython import set

from distutils.extension import Extension

from Cython import Utils
from Cython.Compiler.Main import Context, CompilationOptions, default_options

# Unfortunately, Python 2.3 doesn't support decorators.
def cached_method(f):
    cache_name = '__%s_cache' % f.__name__
    def wrapper(self, *args):
        cache = getattr(self, cache_name, None)
        if cache is None:
            cache = {}
            setattr(self, cache_name, cache)
        if args in cache:
            return cache[args]
        res = cache[args] = f(self, *args)
        return res
    return wrapper

def parse_list(s):
    if s[0] == '[' and s[-1] == ']':
        s = s[1:-1]
        delimiter = ','
    else:
        delimiter = ' '
    s, literals = strip_string_literals(s)
    def unquote(literal):
        literal = literal.strip()
        if literal[0] == "'":
            return literals[literal[1:-1]]
        else:
            return literal

    return [unquote(item) for item in s.split(delimiter)]

transitive_str = object()
transitive_list = object()

distutils_settings = {
    'name':                 str,
    'sources':              list,
    'define_macros':        list,
    'undef_macros':         list,
    'libraries':            transitive_list,
    'library_dirs':         transitive_list,
    'runtime_library_dirs': transitive_list,
    'include_dirs':         transitive_list,
    'extra_objects':        list,
    'extra_compile_args':   transitive_list,
    'extra_link_args':      transitive_list,
    'export_symbols':       list,
    'depends':              transitive_list,
    'language':             transitive_str,
}

def line_iter(source):
    start = 0
    while True:
        end = source.find('\n', start)
        if end == -1:
            yield source[start:]
            return
        yield source[start:end]
        start = end+1

class DistutilsInfo(object):

    def __init__(self, source=None, exn=None):
        self.values = {}
        if source is not None:
            for line in line_iter(source):
                line = line.strip()
                if line != '' and line[0] != '#':
                    break
                line = line[1:].strip()
                if line[:10] == 'distutils:':
                    line = line[10:]
                    ix = line.index('=')
                    key = str(line[:ix].strip())
                    value = line[ix+1:].strip()
                    type = distutils_settings[key]
                    if type in (list, transitive_list):
                        value = parse_list(value)
                        if key == 'define_macros':
                            value = [tuple(macro.split('=')) for macro in value]
                    self.values[key] = value
        elif exn is not None:
            for key in distutils_settings:
                if key in ('name', 'sources'):
                    continue
                value = getattr(exn, key, None)
                if value:
                    self.values[key] = value

    def merge(self, other):
        if other is None:
            return self
        for key, value in other.values.items():
            type = distutils_settings[key]
            if type is transitive_str and key not in self.values:
                self.values[key] = value
            elif type is transitive_list:
                if key in self.values:
                    all = self.values[key]
                    for v in value:
                        if v not in all:
                            all.append(v)
                else:
                    self.values[key] = value
        return self

    def subs(self, aliases):
        if aliases is None:
            return self
        resolved = DistutilsInfo()
        for key, value in self.values.items():
            type = distutils_settings[key]
            if type in [list, transitive_list]:
                new_value_list = []
                for v in value:
                    if v in aliases:
                        v = aliases[v]
                    if isinstance(v, list):
                        new_value_list += v
                    else:
                        new_value_list.append(v)
                value = new_value_list
            else:
                if value in aliases:
                    value = aliases[value]
            resolved.values[key] = value
        return resolved

def strip_string_literals(code, prefix='__Pyx_L'):
    """
    Normalizes every string literal to be of the form '__Pyx_Lxxx',
    returning the normalized code and a mapping of labels to
    string literals.
    """
    new_code = []
    literals = {}
    counter = 0
    start = q = 0
    in_quote = False
    raw = False
    while True:
        hash_mark = code.find('#', q)
        single_q = code.find("'", q)
        double_q = code.find('"', q)
        q = min(single_q, double_q)
        if q == -1: q = max(single_q, double_q)

        # We're done.
        if q == -1 and hash_mark == -1:
            new_code.append(code[start:])
            break

        # Try to close the quote.
        elif in_quote:
            if code[q-1] == '\\' and not raw:
                k = 2
                while q >= k and code[q-k] == '\\':
                    k += 1
                if k % 2 == 0:
                    q += 1
                    continue
            if code[q:q+len(in_quote)] == in_quote:
                counter += 1
                label = "%s%s_" % (prefix, counter)
                literals[label] = code[start+len(in_quote):q]
                new_code.append("%s%s%s" % (in_quote, label, in_quote))
                q += len(in_quote)
                in_quote = False
                start = q
            else:
                q += 1

        # Process comment.
        elif -1 != hash_mark and (hash_mark < q or q == -1):
            end = code.find('\n', hash_mark)
            if end == -1:
                end = None
            new_code.append(code[start:hash_mark+1])
            counter += 1
            label = "%s%s_" % (prefix, counter)
            literals[label] = code[hash_mark+1:end]
            new_code.append(label)
            if end is None:
                break
            q = end
            start = q

        # Open the quote.
        else:
            raw = False
            if len(code) >= q+3 and (code[q+1] == code[q] == code[q+2]):
                in_quote = code[q]*3
            else:
                in_quote = code[q]
            end = marker = q
            while marker > 0 and code[marker-1] in 'rRbBuU':
                if code[marker-1] in 'rR':
                    raw = True
                marker -= 1
            new_code.append(code[start:end])
            start = q
            q += len(in_quote)

    return "".join(new_code), literals

def parse_dependencies(source_filename):
    # Actual parsing is way to slow, so we use regular expressions.
    # The only catch is that we must strip comments and string
    # literals ahead of time.
    fh = Utils.open_source_file(source_filename, "rU")
    try:
        source = fh.read()
    finally:
        fh.close()
    distutils_info = DistutilsInfo(source)
    source, literals = strip_string_literals(source)
    source = source.replace('\\\n', ' ')
    if '\t' in source:
        source = source.replace('\t', ' ')
    # TODO: pure mode
    dependancy = re.compile(r"(cimport +([0-9a-zA-Z_.]+)\b)|(from +([0-9a-zA-Z_.]+) +cimport)|(include +'([^']+)')|(cdef +extern +from +'([^']+)')")
    cimports = []
    includes = []
    externs  = []
    for m in dependancy.finditer(source):
        groups = m.groups()
        if groups[0]:
            cimports.append(groups[1])
        elif groups[2]:
            cimports.append(groups[3])
        elif groups[4]:
            includes.append(literals[groups[5]])
        else:
            externs.append(literals[groups[7]])
    return cimports, includes, externs, distutils_info

class DependencyTree(object):

    def __init__(self, context):
        self.context = context
        self._transitive_cache = {}

    #@cached_method
    def parse_dependencies(self, source_filename):
        return parse_dependencies(source_filename)
    parse_dependencies = cached_method(parse_dependencies)

    #@cached_method
    def cimports_and_externs(self, filename):
        cimports, includes, externs = self.parse_dependencies(filename)[:3]
        cimports = set(cimports)
        externs = set(externs)
        for include in includes:
            include_path = os.path.join(os.path.dirname(filename), include)
            if not os.path.exists(include_path):
                include_path = self.context.find_include_file(include, None)
            if include_path:
                a, b = self.cimports_and_externs(include_path)
                cimports.update(a)
                externs.update(b)
            else:
                print("Unable to locate '%s' referenced from '%s'" % (filename, include))
        return tuple(cimports), tuple(externs)
    cimports_and_externs = cached_method(cimports_and_externs)

    def cimports(self, filename):
        return self.cimports_and_externs(filename)[0]

    #@cached_method
    def package(self, filename):
        dir = os.path.dirname(filename)
        if os.path.exists(os.path.join(dir, '__init__.py')):
            return self.package(dir) + (os.path.basename(dir),)
        else:
            return ()
    package = cached_method(package)

    #@cached_method
    def fully_qualifeid_name(self, filename):
        module = os.path.splitext(os.path.basename(filename))[0]
        return '.'.join(self.package(filename) + (module,))
    fully_qualifeid_name = cached_method(fully_qualifeid_name)

    def find_pxd(self, module, filename=None):
        if module[0] == '.':
            raise NotImplementedError("New relative imports.")
        if filename is not None:
            relative = '.'.join(self.package(filename) + tuple(module.split('.')))
            pxd = self.context.find_pxd_file(relative, None)
            if pxd:
                return pxd
        return self.context.find_pxd_file(module, None)
    find_pxd = cached_method(find_pxd)

    #@cached_method
    def cimported_files(self, filename):
        if filename[-4:] == '.pyx' and os.path.exists(filename[:-4] + '.pxd'):
            self_pxd = [filename[:-4] + '.pxd']
        else:
            self_pxd = []
        a = self.cimports(filename)
        b = filter(None, [self.find_pxd(m, filename) for m in self.cimports(filename)])
        if len(a) - int('cython' in a) != len(b):
            print("missing cimport", filename)
            print("\n\t".join(a))
            print("\n\t".join(b))
        return tuple(self_pxd + filter(None, [self.find_pxd(m, filename) for m in self.cimports(filename)]))
    cimported_files = cached_method(cimported_files)

    def immediate_dependencies(self, filename):
        all = list(self.cimported_files(filename))
        for extern in sum(self.cimports_and_externs(filename), ()):
            all.append(os.path.normpath(os.path.join(os.path.dirname(filename), extern)))
        return tuple(all)

    #@cached_method
    def timestamp(self, filename):
        return os.path.getmtime(filename)
    timestamp = cached_method(timestamp)

    def extract_timestamp(self, filename):
        # TODO: .h files from extern blocks
        return self.timestamp(filename), filename

    def newest_dependency(self, filename):
        return self.transitive_merge(filename, self.extract_timestamp, max)

    def distutils_info0(self, filename):
        return self.parse_dependencies(filename)[3]

    def distutils_info(self, filename, aliases=None, base=None):
        return (self.transitive_merge(filename, self.distutils_info0, DistutilsInfo.merge)
            .subs(aliases)
            .merge(base))

    def transitive_merge(self, node, extract, merge):
        try:
            seen = self._transitive_cache[extract, merge]
        except KeyError:
            seen = self._transitive_cache[extract, merge] = {}
        return self.transitive_merge_helper(
            node, extract, merge, seen, {}, self.cimported_files)[0]

    def transitive_merge_helper(self, node, extract, merge, seen, stack, outgoing):
        if node in seen:
            return seen[node], None
        deps = extract(node)
        if node in stack:
            return deps, node
        try:
            stack[node] = len(stack)
            loop = None
            for next in outgoing(node):
                sub_deps, sub_loop = self.transitive_merge_helper(next, extract, merge, seen, stack, outgoing)
                if sub_loop is not None:
                    if loop is not None and stack[loop] < stack[sub_loop]:
                        pass
                    else:
                        loop = sub_loop
                deps = merge(deps, sub_deps)
            if loop == node:
                loop = None
            if loop is None:
                seen[node] = deps
            return deps, loop
        finally:
            del stack[node]

_dep_tree = None
def create_dependency_tree(ctx=None):
    global _dep_tree
    if _dep_tree is None:
        if ctx is None:
            ctx = Context(["."], CompilationOptions(default_options))
        _dep_tree = DependencyTree(ctx)
    return _dep_tree

# This may be useful for advanced users?
def create_extension_list(patterns, exclude=[], ctx=None, aliases=None):
    seen = set()
    deps = create_dependency_tree(ctx)
    to_exclude = set()
    if not isinstance(exclude, list):
        exclude = [exclude]
    for pattern in exclude:
        to_exclude.update(glob(pattern))
    if not isinstance(patterns, list):
        patterns = [patterns]
    module_list = []
    for pattern in patterns:
        if isinstance(pattern, str):
            filepattern = pattern
            template = None
            name = '*'
            base = None
            exn_type = Extension
        elif isinstance(pattern, Extension):
            filepattern = pattern.sources[0]
            if os.path.splitext(filepattern)[1] not in ('.py', '.pyx'):
                # ignore non-cython modules
                module_list.append(pattern)
                continue
            template = pattern
            name = template.name
            base = DistutilsInfo(exn=template)
            exn_type = template.__class__
        else:
            raise TypeError(pattern)
        for file in glob(filepattern):
            if file in to_exclude:
                continue
            pkg = deps.package(file)
            if '*' in name:
                module_name = deps.fully_qualifeid_name(file)
            else:
                module_name = name
            if module_name not in seen:
                kwds = deps.distutils_info(file, aliases, base).values
                if base is not None:
                    for key, value in base.values.items():
                        if key not in kwds:
                            kwds[key] = value
                module_list.append(exn_type(
                        name=module_name,
                        sources=[file],
                        **kwds))
                m = module_list[-1]
                seen.add(name)
    return module_list

# This is the user-exposed entry point.
def cythonize(module_list, exclude=[], nthreads=0, aliases=None, quiet=False, **options):
    if 'include_path' not in options:
        options['include_path'] = ['.']
    c_options = CompilationOptions(**options)
    cpp_options = CompilationOptions(**options); cpp_options.cplus = True
    ctx = c_options.create_context()
    module_list = create_extension_list(
        module_list,
        exclude=exclude,
        ctx=ctx,
        aliases=aliases)
    deps = create_dependency_tree(ctx)
    to_compile = []
    for m in module_list:
        new_sources = []
        for source in m.sources:
            base, ext = os.path.splitext(source)
            if ext in ('.pyx', '.py'):
                if m.language == 'c++':
                    c_file = base + '.cpp'
                    options = cpp_options
                else:
                    c_file = base + '.c'
                    options = c_options
                if os.path.exists(c_file):
                    c_timestamp = os.path.getmtime(c_file)
                else:
                    c_timestamp = -1
                # Priority goes first to modified files, second to direct
                # dependents, and finally to indirect dependents.
                if c_timestamp < deps.timestamp(source):
                    dep_timestamp, dep = deps.timestamp(source), source
                    priority = 0
                else:
                    dep_timestamp, dep = deps.newest_dependency(source)
                    priority = 2 - (dep in deps.immediate_dependencies(source))
                if c_timestamp < dep_timestamp:
                    if not quiet:
                        if source == dep:
                            print("Compiling %s because it changed." % source)
                        else:
                            print("Compiling %s because it depends on %s." % (source, dep))
                    to_compile.append((priority, source, c_file, options))
                new_sources.append(c_file)
            else:
                new_sources.append(source)
        m.sources = new_sources
    to_compile.sort()
    if nthreads:
        # Requires multiprocessing (or Python >= 2.6)
        try:
            import multiprocessing
            pool = multiprocessing.Pool(nthreads)
            pool.map(cythonize_one_helper, to_compile)
        except ImportError:
            print("multiprocessing required for parallel cythonization")
            nthreads = 0
    if not nthreads:
        for priority, pyx_file, c_file, options in to_compile:
            cythonize_one(pyx_file, c_file, options)
    return module_list

# TODO: Share context? Issue: pyx processing leaks into pxd module
def cythonize_one(pyx_file, c_file, options=None):
    from Cython.Compiler.Main import compile, default_options
    from Cython.Compiler.Errors import CompileError, PyrexError

    if options is None:
        options = CompilationOptions(default_options)
    options.output_file = c_file

    any_failures = 0
    try:
        result = compile([pyx_file], options)
        if result.num_errors > 0:
            any_failures = 1
    except (EnvironmentError, PyrexError), e:
        sys.stderr.write(str(e) + '\n')
        any_failures = 1
    if any_failures:
        raise CompileError(None, pyx_file)

def cythonize_one_helper(m):
    return cythonize_one(*m[1:])

redpajama_set_name: RedPajamaGithub


Welcome to the Physical Therapy Specialists resource for work activities.
At Physical Therapy Specialists we look forward to helping you recover from work related injuries. Whether you spend your day at the computer, sitting at a desk, standing or lifting, we can work with you to design a program that will help you avoid or recover from work injuries.
At Physical Therapy Specialists we offer Physical Therapy and look forward to working with you to enjoy maximum mobility and avoid injuries.


Liz's monthly Sunday family class is currently on a flexible schedule. It is normally the second Sunday at 2pm, but please contact me to confirm before coming.
A monthly gathering to do easy, fun yoga with music and stories. Great for kids 4 & up with parents, grandparent or other special friends. No experience needed.
Click here to get details and email updates.
Liz also teaches private preschool and afterschool classes at local schools. Contact her to book a free sample class at your school or community venue.
Join me and co-leader Annie Goglia (who founded the club in 2007!) and get an easy, fun workout for body, mind & spirit. No experience necessary; drop-ins always welcome. FREE; donations happily accepted.
Liz is part of the Storytellers Corps at the Asian Art Museum in San Francisco. Teachers, bring your K-5th grade class to experience the art and cultures of Asia through their stories!
Want to hear stories about heroic girls and boys, animal legends, and tales about dynamic deities? Join my storytelling tour and listen to myths and folktales from Asia. While family friendly, these stories are not just for kids! Free after admission. Details here.
Do you like to hear stories told live without notes? Do you have a story you want to share with a group of people who appreciate the art of storytelling? Join the story swap and hear a featured guest storyteller, followed by an open mic. Newcomers, 5 minute limit please.


Place and Replace is a collection of recent interdisciplinary research into Western Canada that calls attention to the multiple political, social, and cultural labours performed by the concept of "place." The book continues a long-standing tradition of situating questions of place at the centre of analyses of Western Canada's cultures, pasts, and politics, while making clear that place is never stable, universal, or static. The essays here confirm the interests and priorities of Western Canadian scholarship that have emerged over the past forty years and remind us of the importance of Indigenous peoples, dispossession, and colonialism; of migration, race and ethnicity; of gender and women's experiences; of the impact of the natural and built environment; and the impact of politics and the state.
Esyllt W. Jones is a history professor at University of Manitoba and is the author of the award-winning Influenza 1918: Death, Disease and Struggle in Winnipeg.
Leah Morton is completing her doctoral dissertation at the University of Manitoba and teaches in the Department of History at the University of Winnipeg.


text:
Best Cameras with Viewfinder
Best Cameras for Nature
Best Astrophotography Cameras
Best Macro Cameras
Best Tablet Cameras
Best Camera Stores
Best Macro Lenses for Canon
Best Nikon Landscape Lenses
Best Canon Landscape Lenses
Best Night Photography Lenses
Best Product Photography Lenses
Best Laptop for Photo Editing
Best PCs for Photo Editing
Best Monitors for Photo Editing
Best Tablets for Photoshop
Best Photo Management Software for Windows
Best Photo Management Software for Mac
Best HDR Software
Photomatix HDR Pro Review
Luminar Photo Editor Review
On1 Photo RAW Editor Review
Aurora HDR Review
All Software Reviews
Best Canvas Prints
Best Photo Prints
Best Photo Book Printers
Best Photo Printers
Best Portable Photo Printers
Best Metal Prints
Best Photo Paper
All Print & Scan
Photography Spots
About PhotoWorkout
When you buy through links on our site, we may earn an affiliate commission. Learn more in our disclosure.
Home » Cameras » The Best APS-C Cameras You Can Buy Right Now
The Best APS-C Cameras You Can Buy Right Now
By Rajib Mukherjee / Updated January 16, 2021
If you're looking for a top-quality APS-C camera, look no further. With the highly competitive market in today's camera world, it can be hard to filter through all the options and make a choice on what camera to pick that will offer everything you need and more. In this article, we look at the best APS-C cameras on the market in 2021.
Best APS-C Cameras in 2021
Nikon D500 (Best Nikon Pick)
EOS 7D Mark II (Best Canon Pick)
Canon EOS Rebel T8i (Best Budget Pick)
1. Nikon D500
You cannot have a discussion of the best APS-C cameras without the D500 somewhere in that mix. We decided we might as well start with it. The D500 is an exceptional camera. It is extremely powerful and probably is the kind of camera that wildlife and landscape photographers would love to take with them on their trips.
The arrival of the D500 infused some life back into Nikon's APS-C camera segment. True, it already had the formidable D7500, which is a fine shooter in every sense, but the D500 takes things to a completely new level.
For example, the 10 fps continuous shooting speed of the D500 makes it suitable for wildlife and sports photography. On top of that, you add the Multi-CAM 20K 153-point AF system with 99 cross-type AF points and you have a beast in your hands. Incidentally, the D500 shares this feature with the pro-grade D850.
Both the D7500 and the D500 have the same 20.9 megapixel CMOS sensor. That means at least resolution-wise both these cameras are the same. And when it comes to image processing both these APS-C cameras use the same image processor: EXPEED 5.
The D500 easily makes the top three best APS-C cameras 2021 has to offer with its 4K/UHD video recording (29.97p), extended dynamic range, and superb weather-sealed construction.
Perfect for: Sports, wildlife, low light, landscape, and everyday photography.
Best Nikon Pick
Best option for wildlife, sports and action photographers
Great image quality. Exceptional autofocusing. Weather sealed.
When you pick the D500 for some comparison how can you leave out the other powerhouse from the Nikon DX line-up? It carries forward the rich legacy of this series started by the original D7000 and adds so much more to it. In many ways the D7500 and the (discussed above) are close competitors in their own ranks. They each have their strong points.
The D7500, for example, offers 4:2:2 uncompressed 8-bit UHD/4K recording option when recording to an external recording device. Plus, the D7500 has digital image stabilization. Digital image stabilization comes in handy when you are shooting hand-held when doing video work.
Overall, the features on the D7500 make it the better DSLR between the two in terms of video work. However, that doesn't imply in any way that the D7500 is the overall best APS-C DSLR for movie shooting. It still does not offer things like Focus Peaking and Zebra Highlights.
But there are other major selling points. The D7500 has a weather-sealed body, just like the D500. Additionally, the design means it comes with a decent amount of durability and is capable of being used in every kind of environment and can survive some amount of rough handling, too.
But when it comes to auto-focusing prowess the D500 surely beats the D7500, hands down. With its 51-point Multi-CAM 3500FX II auto-focusing system and with 15 cross-type AF points the D7500 is a force to reckon with but loses out to the D500 because of its class-leading auto-focusing mechanism.
Great for: Sports, videography, landscape, and everyday photography.
Great for a wide range of photography genres
Good autofocusing, good image quality, weather sealing.
3. Canon EOS 7D Mark II
The EOS 7D Mark II is another powerful shooter.
The camera shoots at an effective resolution of 20.2 megapixels. This is comparable with the Nikon D500 and the D7500 so if you're struggling to pick between the sides, you know you're not losing out by picking this Canon camera over the D500 or D7500.
But where this camera really comes into its own is in the area of continuous shooting. At a frame rate of 10 per second, the EOS 7D Mark II makes it easy to capture fleeting subjects and fast action. With this continuous shooting speed, the camera is capable of capturing fast-action sports, wildlife, birds and other types of subjects without much fuss.
Auto-focusing is by far one of the most important aspects of modern digital photography. And in this regard, the mid-range Nikon and Canon DSLRs don't disappoint. The EOS 7D Mark II has a 65-point all cross-type auto-focusing mechanism. The overall auto-focusing performance is boosted by the fact that the camera incorporates Canon's Dual-pixel CMOS AF technology. So both live view and through-the-viewfinder focusing performance are brilliant.
Not to mention that the biggest advantage of improved auto-focusing in live-view shooting is in the area of video shooting. With one of Canon's STM lenses, you can achieve a smooth focus racking. This is something that is impossible with older ring-type USM lenses.
And just to add to the overall performance metrics the 7D Mark II has a weather-sealed body. You can take it pretty much anywhere you want to without issues and shoot in inclement weather. However, you need to ensure that your lenses are weather-sealed too, and use lens filters for added security.
Great for: Landscapes, wildlife, sports, low light, and portraits.
Best Canon Pick
Best option if you are interested in Canon
Great overall pick for wildlife, sports, landscapes, and most other genres.
Can't decide between the Nikon D500 and the Canon 7D Mark II? This comparison video featuring the two flagship cameras might help you to make up your mind.
Nikon D500 vs. the Canon 7D Mark II – a battle of the best APS-C cameras 2020
4. Canon EOS 90D
We love the EOS 90D. It is the latest in a long line of budget DSLRs. The EOS 90D continues the rich legacy of the previous models that came in this line-up.
The EOS 90D offers a 32.5 megapixel (effective) sensor. The highest of all the cameras that we have listed here. It means if you are looking for detail in your images the EOS 90D would be the best candidate to give you that.
The 90D can shoot 4K/UHD videos as well. And at 30p. It is also capable of shooting an full-HD at a higher frame rate of 120p.
The EOS 90D has only 45 autofocus points. However, the one aspect that keeps the EOS 90D ahead of its competition is that all the autofocus points on this camera are cross-type. And that means greater accuracy and faster focus lock when compared to the rival D7500. The D500, however, still leads the overall race for the maximum number of cross-type AF points.
Notwithstanding, the single most important feature of the 90D is the dual-pixel CMOS auto-focusing mechanism. And that is what makes video shooting as well as live-view shooting with this camera so much more exciting.
Great for: Landscapes, videography, portraits, weddings, fashion, and product photos.
Great for budget shooters looking for Canon
Good for high-resolution stills. Good for shooting videos as well.
5. Canon Rebel T8i
For a significantly less amount of money compared to what you would spend for the Canon EOS 90D or the EOS 7D Mark II, you could get the latest Canon Rebel. The Rebel T8i.
The T8i does lose out to some of the more accomplished and feature-laden options that we have listed here but it is no pushover. It is a fantastic camera that will produce great images when wielded by the right hands. And in the process, you will also save a lot of money which you can then invest in quality glass.
To start off the T8i has a 24.1 megapixel CMOS APS-C sensor.
Auto-focusing is powered by a 45-point all cross-type AF system. That and the quick 7 fps continuous shooting speed means the EOS Rebel T8i is suitable for a wide range of photography requirements. You can use it for shooting sports, wildlife, weddings, landscapes and everything else.
It records 4K/UHD videos internally with stereo sound recorded via the built-in stereo mic. You can also use an external stereo mic and record better quality sound. The highest frame rate you can achieve with the T8i when recording in 4K/UHD is 23.97p.
One of the interesting things about this camera is the presence of electronic image stabilization. This is available when you are shooting videos and will help you to capture shake-free, smooth videos.
The feature that lets down the T8i is the viewfinder. Looking through it and then looking through the rear LCD screen you will notice there is a difference. The viewfinder of the T8i only offers 95% of the view that the lens captures.
But on the bright side, the rear LCD screen is articulating. That certainly helps when shooting in live-view mode. And also the rear LCD screen comes with touch functionality. That gives you features like touch to focus and a selection of a wide variety of shooting functions right at your fingertips.
Great for: Sports, wildlife, landscape, portraits, weddings, and videography.
A great camera at a fair price
The T8i will not disappoint. It offers excellent functionality for photographers and videographers alike.
6. Pentax KP
The Pentax KP is a classic Pentax interchangeable lens camera designed for people who want to have a weather-sealed unit for outdoor photography. The Pentax KP and K70 are close competitors making this a tough call.
Both the Pentax KP and the Pentax K70 benefits from the absence of the Anti-aliasing filter. But they come with a Selectable Anti-aliasing Filter option that takes away those false colors and moiré patterns.
Pentax uses a sensor-shift type image stabilization system. The sensor is shaken using a micro motor inside the camera to compensate for any unintended movement of the hands while an image is being made.
The sensor can compensate for your hand movement in 5-axes. Totaling up to five stops of image stabilization. The biggest advantage of this body-based image stabilization system is that all compatible lenses are automatically stabilized. Plus, it is really handy when you are shooting in low light.
The 7 fps continuous shooting speed is ideally suited for everyday photography. But if you time your shutter releases well and make sure to do short bursts you can also do a bit of wildlife, birding, and sports photography. 7 fps is decent though not the best that you can get. Some of the other options in this article will offer much better frame rates, at a price.
Auto-focusing is a major aspect of any DSLR and in this regard the Pentax KP comes with a SAFOX 11 27-point AF sensor which is fast and accurate.
Great for: Wildlife, birding, sports, portraits, wedding, fashion, and product photography.
An excellent Pentax APS-C camera
Great built-in image stabilization mechanism. Excellent weather sealing.
Best Pentax Pick.
7. Sony Alpha a77 II
The Sony Alpha a77 II is the successor to the original a77. Sony's A-mount camera systems use translucent mirror technology. The mirror inside these cameras doesn't flip out to expose the sensor. Instead, they are always present in front of the sensor. And because they are translucent, light always passes through them.
The Sony a77 II is an old camera, It was launched some 5 years ago. But the reason we have selected it to be a part of this list of the best APS-C cameras is because of a few of its features that are still useful today.
The resolution of the camera is 24.3 effective megapixels. The sensor is an Exmor CMOS unit featuring a gapless on-chip lens design. This technology brought out a significant improvement in the low light shooting capabilities of digital cameras.
Fast action, sports and birding enthusiasts will find the camera useful for their requirements. One of the many advantages of a translucent mirror technology is a fast continuous shooting speed of 12 fps. But at that speed, you can capture a maximum of 26 RAW frames before the buffer overruns. So, every time you do push the shutter release, you have to make sure that it is a short and measured burst. Allow more time so that the buffer is cleared.
Auto-focusing on the camera is powered by a 79-point AF system. 15 out of which are cross-type. Thanks to the fact that the AF sensor is always switched on, even when the image sensor is recording images, the camera is super responsive when focusing.
Two additional features add to the already impressive feature list of the a77 II. First, it has a three-way tilting rear LCD screen. Which comes in handy when you are shooting videos or trying any angle other than the standard eye-level one.
The second stand out feature is the build quality. A lot of first time DSLR buyers don't realize this but build quality is an essential aspect of buying decision making. You don't want a camera that is flimsily built or features a lot of cost-cutting. Because, every now and then, you are bound to knock your camera against a wall, or something inside your bag, or someone on the street as you navigate a crowded place. It helps if the camera is built to withstand some rough and tumble.
Another factor that is important for those who are looking to shoot videos is that the Sony a77 II comes with both Focus Peaking as well as zebra exposure highlights. Focus Peaking helps in manual focusing accuracy when shooting videos and zebra highlights lets you know when you are starting to clip the highlights.
Also important is weather sealing. In this department, the A77 II is well sealed and is well protected from the elements of nature. All this makes the Sony a77 II still one of the best APS-C cameras 2021 has to offer.
Great for: Landscape, wildlife, sports, birding, portrait, videography, and weddings.
Best Sony pick
Great all-purpose camera
Fast continuous shooting speed. Great for sports, wildlife, and birding. Great for videos as well.
Rajib Mukherjee
Rajib is an avid travel photographer and an overall shutterbug. He loves to test and review new photography gear. He has been writing about cameras and lenses for over 10 years now. You can consider him as your "master guide" here at PhotoWorkout.
As an Amazon Associate we earn from qualifying purchases. Certain content that appears on PhotoWorkout.com comes from Amazon. This content is provided 'as is' and is subject to change or removal at any time.
Best Canon Full Frame DSLR	EOS Canon Rebel T5 vs T5i	Canon 6D Mark II vs. Canon 7D Mark II	Best Canon DSLR Camera under $1,000	How and Where to Buy a Second-hand DSLR Camera	Canon EOS 800D vs Nikon D5600
LATEST DSLR CAMERA POSTS:
Best Selling DSLR Cameras
Nikon D3500 vs Canon T7 – Which One Is A Better Buy?
Canon T6 vs T7: Putting Two of Canon's Entry-Level Cameras to the Test
Nikon D5600 vs D3500: Which Entry-Level DSLR is Right for You?
4 Reasons to Buy a DSLR Right Now (in 2020)
Popular Buying Guides
Best Laptops for Photo Editing
Best Photo Organizing Software
Become a Better Photographer in 52 Weeks
Sign up for our newsletter to get 52 free photography tips.
Get one email per week for one year (Unsubscribe at any time)
Cameras | Lenses | Computers | Photo Software | Printing Photos | Accessories
PhotoWorkout is an online magazine reviewing and comparing the best photography gear, software, and photo prints. We also share useful tips and tricks on how to become a better photographer and offer free online photography courses. Read more about us or contact us.
Best Desktop for Photo Editing
© 2021 PhotoWorkout | Affiliate Disclosure | Privacy Notice | Disclaimer


Your customers expect your applications to always be up and running. When that isn't the case, it is critical that you quickly understand where the issues are - in the infrastructure or in code - and address them. Today as part of the Ignite Conference, I am excited to announce that we are bringing together our existing capabilities for monitoring infrastructure, apps and networks into one unified offering that delivers full stack monitoring for your applications.
Azure Log Analytics and Azure Application Insights are now available as integrated features within Azure Monitor, without any loss or compromise of any capability, and with the same pricing. We are excited about the new capabilities we are adding to Azure Log Analytics and Azure Application Insights and the end-to-end insights we will provide by consolidating these tools in Azure Monitor. The unification of our monitoring experiences is a significant milestone and will provide DevOps and SRE teams the observability they need for complex modern applications.
Metrics, logs, and alerts are the foundational pillars for monitoring; Over the past few months, you may have noticed the changes we have been making both to our backend and our user interface across all our monitoring tools. We are happy to announce that we now have One Metrics, One Logs, and One Alerts experience across all our monitoring tools.
One Metrics: Metrics are collected automatically from most of the Azure services you use, and you can send custom metrics or enable additional metrics for scenario-specific solutions for apps, VMs, containers, etc. These metrics are available in near real-time, and you can create your own multi-dimensional custom charts for visualizations.
One Logs: Azure Monitor is now the central platform for collecting logs from across monitoring, management, security and all other log types in Azure. The Log Analytics search and query experience is now embedded directly in Azure Portal and can be used to run diagnostics, root-cause analyses, statistics, visualizations and answer any other ad-hoc questions.
One Alerts: The new alert management experience launched earlier this year is now available for all resources in Azure. These alerts can proactively notify you of critical conditions and potentially take corrective action. You can setup logs-based or metrics-based alerts with multi-resource & multi-timeseries rules, and configure action groups for notifications, integrations or automation.
Your applications often depend on different types of Azure resources like VMs, containers, storage accounts, databases, and more. After hearing from many of you that you use resource groups to organize your apps and workloads, we are announcing Azure Monitor for resource groups, showing the state of all your resources in a single view. If your application has any issues – whether it be in the code, or a container or a VM – you should see it immediately in the resource group view. You can quickly see alerts and check for any health issues, jumping to relevant diagnostic tools like application map or virtual machine map as needed.
We are launching a new preview capability, Azure Monitor for VMs which provides an in-depth view across health, performance and dependencies from the VM resource blade, Azure Monitor and Resource Group. Whether you are running workloads on a single VM or at scale, you can see how application performance is impacted by VMs that are resource constrained.
You can easily discover and isolate resource constrained VMs, based on resource utilization, connection metrics, health signals and alerts. Within a VM you can troubleshoot guest-level performance issues and identify which of the core components like CPU, memory, disk and network that are constrained. With maps you can visualize and identify service dependencies, monitor connection failures and identify which clients of the VM may be impacted. You can now also easily on-board entire resource groups and subscriptions using PowerShell or using Azure Policy.
Azure Monitor integration into native Azure resource blades such as Azure App Services, Azure VMs or Azure Kubernetes Services. You can now easily monitor metrics, logs, alerts & insights directly without jumping out of context.
There is a new multi-cluster health rollup view for Azure Kubernetes Service (AKS) which spans across subscriptions and workspaces. You can now also onboard to monitor your AKS clusters when deploying Azure DevOps Projects.
Support for secured monitoring inside Virtual Networks and logging to firewall restricted secured Storage accounts.
Support for distributed tracing for Python & Go apps in addition to our existing support for .NET, Java & Node.js in Application Insights.
Application Insights now supports pre-aggregated metrics that enable near real-time alerting on metrics dimensions, and retain high precision even when using sampling or filtering.
Our mission for Azure Monitor is to empower organizations to deliver successful application services through timely, actionable, data-driven insights. Today's launch is an important milestone on this journey. We are excited about Azure Monitor and confident that it will help you face the ever-changing challenges with monitoring modern cloud applications. You can learn more about using Azure Monitor and get started here.


This book has everything – good writing, a strong story, engaging characters and some beautiful world building.
TLain did an excellent job of tossing out red herrings and she kept me guessing throughout.
"Uh, no. I don't have any relatives to speak of." That was the truth. He wouldn't speak of them.
"I was ready for a change and nothing to keep me there." They tried to keep him there, but he got away.
"Would you like dessert?" Bo's lips curled around that word so deliciously, Jeremy could think of a lot of sweets he'd like in his mouth. He shifted on his seat.
"Yes." They did that eye thing again, and the impact of those crystal green eyes built up in Jeremy to the point that the possibility of coming in his pants was a real threat.
Jeremy cleared his throat. "Let me get the check, okay? You've done all the serious thinking." He grinned.
Jeremy did like that there would be a next time. He motioned to the waitress for the bill.
Bo got a funny expression on his face. Kind of sad.
Jeremy gave him a smile. "No need to feel bad for me. I've always loved being weird." That was pretty much the truth.
They clinked and downed the last of their wine.


text:
Brighton vs Liverpool Betting Tips: Consider Under 2.5 Goals
By Andrew Beasley | Jan 10th, 2019 | 4 mins
Liverpool faced the biggest test of their Premier League title-winning credentials last Thursday, and they failed it. Or they lost the match at least – the Reds had the higher quality chances and were about a centimetre away from taking the lead.
As it is, they now face their latest, biggest match: Brighton and Hove Albion at the Amex Stadium. The Seagulls might not be anywhere near as dangerous as City, but anything less than a win for Liverpool and rival fans and media alike will proclaim that their championship challenge is falling apart. While the Liverpool side which lost at Wolves in the FA Cup was a weak one, a failure to win here will lead to calls of a crisis.
Fortunately for Jurgen Klopp, the Reds' record following defeats, their results against Brighton, and their record against Chris Hughton sides are all very strong indeed.
All eyes on Saturday. 💯 pic.twitter.com/ZdGIevNVfI
Strong Form
Since the German took charge at Anfield, Liverpool have never lost two league games in a row. In the league match following their 19 previous league defeats, they have won 11 and drawn eight. Most of the draws occurred in Klopp's early time too – the Reds have won seven of their last eight league matches following league losses.
Liverpool have also won all three Premier League meetings with Brighton, and all six with teams managed by Chris Hughton by an aggregate 25-4 scoreline. The Seagulls have lost six home games since they won promotion in 2017, with five of them being against sides from the big six. All the history and form points towards an away win.
The best soccer bookies are on board too. A Liverpool win is priced at just 10/31, with Brighton at 37/4 and the draw available at 9/2. The underlying statistics back this up too: only City have a better expected goal difference than the Reds this season, and only five sides have a worse one than the home side.
2-0 Win Looks Enticing
The same numbers are predicting a 2-0 Liverpool win, which sounds about right to me. It's priced at 23/4 if you'd like a flutter on that outcome.
However, it does go against the grain of Brighton's home record this season. Hughton's side have scored in every league match at the Amex in 2018/19, with themselves and Manchester City the only two teams in the division who have netted in every home game in this campaign. The Seagulls have already faced Manchester United, Tottenham, Chelsea and Arsenal on home turf too, so haven't built that record on easy fixtures alone.
But no side has conceded fewer goals than Liverpool this season, either in total or away from home. In their three Premier League meetings with the Reds, Brighton's only goal has been a penalty too, so barring that occurring here it's hard to see how they'll get on the score sheet.
The Seagulls may have scored in every home match, but only more than once three times and in just one of their last eight. A 'yes' is priced at evens with 'no' at 10/13 in the both teams to score market, and my money will be going on the latter.
Go Against Bookies; Back Under 2.5 Goals
When it comes to the total goals market, the bookmakers are much clearer on which way it should go. Under 2.5 goals is available at 27/20, who have over 2.5 at 4/7. I'm going to go against the bookies though and go with under.
While Liverpool are capable of scoring three – if we assume Brighton probably draw a blank – they've only done so in three of their 11 away league matches this season. After their City defeat, Klopp will be happy to get out with three points and a minimum of fuss, so I'm expecting a low scoring encounter.
For goalscorer bets, Salah may be the 31/10 favourite to score first, but Roberto Firmino, at 4/1, represents better value. The Brazilian is on fire at the moment with four goals in his last league two games, and three in his last five on the road. However, as he is yet to score an opening goal in the Premier League in 2018/19, perhaps an anytime scorer bet at 6/5 is the better option.
Glenn Murray is the only Brighton player with more than two home goals this season, so seems the obvious choice on their half of the market. He hasn't scored since early December though, while Jurgen Locadia has netted in the Seagulls' last two home matches. He's 9/2 to score if you think he'll spoil the other Jurgen's trip to the south coast.
Check out: Unibet For Free Bets and Welcome Bonus