text:
Hallelujah I Love Her So
For the album by Ray Charles, see Ray Charles (album).
"Hallelujah I Love Her So"
Single by Ray Charles
from the album Ray Charles (or, Hallelujah I Love Her So)
A-side
"What Would I Do Without You"
7" 45rpm
Writer(s)
Ray Charles singles chronology
"A Fool for You"
(1955) "Hallelujah I Love Her So"
(1956) "Mary Ann"
"Hallelujah I Love Her So" is the debut single from American musician Ray Charles. The rhythm and blues song was written and released by Charles in 1956 on the Atlantic label, and in 1957 it was included on his self-titled debut LP, also released on Atlantic. The song peaked at number five on the Billboard R&B chart. It is loosely based on 'Get It Over Baby' by Ike Turner (1953).
"Hallelujah I Love Her So" is a testament to the joyous release of love, featuring a sophisticated horn arrangement and memorable tenor sax solo by Don Wilkerson. Several artists, including Stevie Wonder, Peggy Lee, Eddie Cochran, and Humble Pie have successfully covered the song.[1]
Ray Charles - lead vocal
Don Wilkerson - tenor saxophone solo
The Ray Charles Orchestra — instrumentation
Jerry Wexler - producer
Beatles cover versions
According to biographer Mark Lewisohn (in "The Complete Beatles Chronicle" p. 362), The Beatles (first as The Quarrymen) regularly performed the song, from at least 1960 through 1962 with Paul McCartney on lead vocal. A very early home recording rehearsal (dated tentatively to May 1960) of it was included on Anthology 1 as well as on previous unauthorized releases. They continued playing it regularly including at the The Star-Club in Hamburg through the end of 1962, an audience recording was made there which is included in the album Live! at the Star-Club in Hamburg, Germany; 1962. Additionally according to author Doug Sulpy (in "Drugs, Divorce And A Slipping Image" sec. 22.25) on Jan. 22, 1969 during the massive Get Back sessions they cut a version with John Lennon doing a "loose" lead vocal of it, that version has never been officially released. Lastly, in Dec. 1961 the two singer-musicians that were asked to join the Beatles namely Tony Sheridan and Roy Young did a studio version that was released on the Sheridan album My Bonnie (1962).
Other Cover versions
Peggy Lee (single A-side in 1959 as "Hallelujah I Love Him So")
Ella Fitzgerald on her Verve release Rhythm Is My Business
Connie Francis (as "Hallelujah I Love Him So")
Timi Yuro (as "Halleluja I Love Him So")
Eddie Cochran (single A-side)
Eva Cassidy (as "Hallelujah I Love Him So")
Earl Grant
Little Stevie Wonder on the 1962 album Tribute to Uncle Ray
Davy Graham (acoustic instrumental version on 1963 album The Guitar Player)
Harry Belafonte on the 1958 album Belafonte Sings the Blues, a smart "jazzy" version
Frank Sinatra on My Way (1969)
Brenda Lee (as "Hallelujah I Love Him So")
The Holloways
Raymond van het Groenewoud translated the song on his 1988 album Intiem
Ben l'Oncle Soul in a French version called Demain J'Arrête
Maceo Parker on his 2008 album Roots & Grooves
Tony DeSare on his 2009 album Radio Show
David Sanborn on his 2010 album Only Everything
Guy Sebastian "Hallelujah I Love Her So" from The Memphis Album
Blue Harlem
Reverend Chris and the High Rollers
Lone Ranger in a reggae version called Rose Marie
Ryan Montbleau
Neil Sedaka, on his 1966 Australian album Neil Sedaka at Chequers
Eddie Cochran version
"Hallelujah, I Love Her So"
Single by Eddie Cochran
from the album The Eddie Cochran Memorial Album
"Little Angel"
Liberty F-55217
Eddie Cochran singles chronology
"Somethin' Else"
(1959) "Hallelujah, I Love Her So"
(1959) "Three Steps to Heaven"
"Hallelujah, I Love Her So" is an adaption of the Ray Charles song by Eddie Cochran. It was released as a single on Liberty Records in November 1959.
Chart performance
Chart (1960)
George Jones and Brenda Lee version
George Jones covered the song on his 1984 album Ladies' Choice as a duet with Brenda Lee titled "Hallelujah, I Love You So". It was released as a single in 1984 and peaked at number 15 on the Billboard Hot Country Singles chart in 1985.[2]
Chart (1984–1985)
U.S. Billboard Hot Country Singles[2] 15
Canadian RPM Country Tracks 13
↑ "Ray Charles website". Raycharles.com. Retrieved 2011-08-20.
1 2 Whitburn, Joel (2013). Hot Country Songs 1944–2012. Record Research, Inc. p. 174. ISBN 978-0-89820-203-8.
Lyrics of this song at MetroLyrics
Ray Charles (Hallelujah, I Love Her So)
The Great Ray Charles
Soul Brothers
What'd I Say
The Genius of Ray Charles
The Genius Sings the Blues
Soul Meeting
The Genius After Hours
The Genius Hits the Road
Dedicated to You
Ray Charles and Betty Carter
Ray Charles Greatest Hits
Modern Sounds in Country and Western Music
Modern Sounds in Country and Western Music, Vol. 2
Ingredients in a Recipe for Soul
Sweet & Sour Tears
Have a Smile with Me
Together Again / Country and Western Meets Rhythm and Blues
Crying Time
Ray's Moods
Ray Charles Invites You to Listen
A Portrait of Ray
I'm All Yours Baby!
Doing His Thing
My Kind of Jazz
Love Country Style
Volcanic Action of My Soul
Jazz Number II
Genius+Soul = Jazz
True to Life
Genius Loves Company
studio creations
Genius & Friends
Ray Sings, Basie Swings
Rare Genius
Ray Charles at Newport
Ray Charles in Person
Ray Charles Live
Do the Twist! with Ray Charles
A Man and His Soul
The Best of Ray Charles
The Birth of Soul
Genius and Soul
Ray Charles in Concert
"What'd I Say "
"Georgia on My Mind "
"Hit the Road Jack"
"One Mint Julep"
"Unchain My Heart"
"I Can't Stop Loving You "
"You Don't Know Me"
"You Are My Sunshine"
"Busted"
"Take These Chains from My Heart"
"Crying Time"
Other Billboard Charts
#1 singles
"I Got a Woman"
"Mary Ann"
"Drown in My Own Tears"
"Together Again"
"Let's Go Get Stoned"
"Seven Spanish Angels"
"I'll Be Good to You"
Grammy Awarded Works
(not included above)
"Let The Good Times Roll"
"Living for the City"
"A Song for You"
"Heaven Help Us All "
"Here We Go Again"
David "Fathead" Newman
Fathead / Ray Charles Sextet
Hank Crawford
The Raelettes
Ray (soundtrack)
Here We Go Again: Celebrating the Genius of Ray Charles
Tribute to Uncle Ray
"Confession Blues"
Singin' to My Baby
Posthumous studio albums
Never to Be Forgotten
My Way (UK)
12 of His Biggest Hits
Legendary Masters Series
The Very Best of Eddie Cochran
"Sittin' in the Balcony"
"Drive In Show"
"Twenty Flight Rock"
"Jeannie Jeannie Jeannie"
"Summertime Blues"
"C'mon Everybody"
"Teenage Heaven"
"Three Steps To Heaven"
"Lonely"
"Sweetie Pie"
"Weekend"
"My Way"
The Girl Can't Help It
Untamed Youth
Go, Johnny, Go!
Jerry Capehart
Sharon Sheeley
Liberty Records
Cash Records
Ekko Records
Crest Records
Freedom Records
Gold Star Recording Studios
Book:Eddie Cochran
George Jones songs
"No Money in This Deal"
"Why Baby Why"
"Achin', Breakin' Heart"
"Seasons of My Heart"
"Too Much Water"
"Just One More"
"Don't Stop the Music"
"Color of the Blues"
"White Lightning"
"Window Up Above"
"Tender Years"
"She Thinks I Still Care"
"I'll Share My World with You
"The Race Is On"
"Love Bug"
"Walk Through This World with Me"
"If My Heart Had Windows"
"Good Year for the Roses"
"Loving You Could Never Be Better"
"A Picture of Me (Without You)"
"The Grand Tour"
"He Stopped Loving Her Today"
"I'm Not Ready Yet"
"If Drinkin' Don't Kill Me (Her Memory Will)"
"Still Doin' Time"
"Same Ole Me"
"Shine On (Shine All Your Sweet Love on Me)"
"I Always Get Lucky with You"
"Tennessee Whiskey"
"You've Still Got a Place in My Heart"
"She's My Rock"
"Hallelujah, I Love You So"
"Who's Gonna Fill Their Shoes"
"The One I Loved Back Then (The Corvette Song)"
"Somebody Wants Me Out of the Way"
"Wine Colored Roses"
"The Right Left Hand"
"I Turn to You"
"The Bird"
"I'm a One Woman Man"
"I Don't Need Your Rockin' Chair"
"Choices"
"Funny How Time Slips Away"
Collaborative singles
"We Must Have Been Out of Our Minds" (w/ Melba Montgomery)
"Let's Invite Them Over" (w/ Melba Montgomery)
"What's in Our Heart" (w/ Melba Montgomery)
"Blue Moon of Kentucky" (w/ Melba Montgomery)
"We're Gonna Hold On" (w/ Tammy Wynette)
"Golden Ring" (w/ Tammy Wynette)
"Near You" (w/ Tammy Wynette)
"Maybellene" (w/ Johnny Paycheck)
"Two Story House" (w/ Tammy Wynette)
"You Better Move On" (w/ Johnny Paycheck)
"Yesterday's Wine" (w/ Merle Haggard)
"C.C. Waterback" (w/ Merle Haggard)
Guest singles
"A Few Ole Country Boys" (w/ Randy Travis)
"You Don't Seem to Miss Me" (w/ Patty Loveless)
"A Country Boy Can Survive (Y2K version)" (w/ Chad Brock and Hank Williams, Jr.)
"Murder on Music Row" (w/ Dierks Bentley)
Albums discography
Singles discography
Discography with Tammy Wynette
Brenda Lee
Grandma, What Great Songs You Sang!
This Is...Brenda
Sincerely, Brenda Lee
All Alone Am I
..."Let Me Sing"
Brenda, That's All
Gospel Duets with Treasured Friends
The Winning Hand
"Jambalaya (On the Bayou)"
"One Step at a Time"
"Let's Jump the Broomstick"
"Rockin' Around the Christmas Tree"
"Sweet Nothin's"
"That's All You Gotta Do"
"I'm Sorry"
"I Want to Be Wanted"
"Emotions"
"You Can Depend on Me"
"Dum Dum"
"Fool #1
"Break It to Me Gently"
"Speak to Me Pretty"
"Everybody Loves Me But You"
"Here Comes That Feeling"
"Heart in Hand"
"It Started All Over Again"
"All Alone Am I"
"Your Used to Be"
"She'll Never Know"
"Losing You"
"I Wonder"
"My Whole World Is Falling Down"
"The Grass Is Greener"
"As Usual"
"Think"
"Alone with You"
"When You Loved Me"
"Truly, Truly True"
"Is It True"
"Jingle Bell Rock"
"Too Many Rivers"
"Rusty Bells"
"Coming on Strong"
"Johnny One Time"
"Let It Be Me"
"Always on My Mind"
"Sunday Sunrise"
"Wrong Ideas"
"Big Four Poster Bed"
"Rock on Baby"
"He's My Rock"
"Tell Me What It's Like"
"The Cowgirl and the Dandy"
"Broken Trust"
Other singles
"America the Beautiful"
"Fly Me to the Moon"
"The Letter"
"Our Day Will Come"
Skeeter Davis
Muruga Booker
Book:Brenda Lee
Crystal Gayle singles
"Wrong Road Again"
"Somebody Loves You"
"I'll Get Over You"
"You Never Miss a Real Good Thing (Till He Says Goodbye)"
"I'll Do It All Over Again"
"Don't It Make My Brown Eyes Blue"
"Ready for the Times to Get Better"
"Talking in Your Sleep"
"Why Have You Left the One You Left Me For"
"When I Dream"
"Your Kisses Will"
"Half the Way"
"Your Old Cold Shoulder"
"It's Like We Never Said Goodbye"
"The Blue Side"
"If You Ever Change Your Mind"
"Take It Easy"
"Too Many Lovers"
"The Woman in Me"
"You Never Gave Up on Me"
"Livin' in These Troubled Times"
"'Til I Gain Control Again"
You and I" (with Eddie Rabbitt)
"Everything I Own"
"Our Love Is on the Faultline"
"Baby, What About You"
"The Sound of Goodbye"
"I Don't Wanna Lose Your Love"
"Turning Away"
"Me Against the Night"
"Nobody Wants to Be Alone"
"A Long and Lasting Love"
"Makin' Up for Lost Time (The Dallas Lovers' Song)" (with Gary Morris)
"Cry"
"Straight to the Heart"
"Have Yourself a Merry Little Christmas"
"Another World" (with Gary Morris)
"Nobody Should Have to Love This Way"
"Only Love Can Save Me Now"
"O Holy Night"
"Nobody's Angel"
"Never Ending Song of Love"
"Two Sleepy People" (with Willie Nelson)
"Hallelujah I Love Him So"


text:
Home Health The Biden administration is making ready for the potential want
The Biden administration is making ready for the potential want
President Joe Biden places his hand on a man's shoulder during a visit to a coronavirus (COVID-19) vaccination center at Virginia Theological Seminary in Alexandria, Virginia, the United States, on April 6, 2021.
Kevin Lemarque | Reuters
Biden's government is preparing for the potential need for Covid-19 vaccine booster shots, although nothing is certain, a top US official said Friday.
"The need for additional footage in the future is obviously a foreseeable potential event," Andy Slavitt, senior advisor to President Joe Biden's Covid Response Team, told reporters during a news conference Friday. "I would like to emphasize that while there is certainly speculation about it, this is far from saying that it will."
Should Americans need booster vaccinations, the US government would likely need to reach agreements with drug manufacturers to provide additional doses and make plans to distribute vaccines.
Slavitt said Friday the government was considering the need to secure additional doses.
"I can assure you that as we plan, if the President orders the purchase of additional vaccines, as he has, and if we focus on all of the production expansion opportunities that we are talking about, we have a great many scenarios in mind have. "he said.
Albert Bourla, CEO of Pfizer, said in comments first broadcast Thursday that people will likely need a third dose or booster shot of a Covid-19 vaccine within 12 months of being fully vaccinated. Bourla also said it is possible that people may need to be vaccinated against the coronavirus annually, as with seasonal flu.
"A likely scenario is that a third dose is likely to be needed, somewhere between six and twelve months, and from there there will be an annual revaccination, but all of this needs to be confirmed. And again, the variants will play a key role," he said CNBC's Bertha Coombs during an event with CVS Health.
"It is extremely important to suppress the pool of people who may be susceptible to the virus," he added.
Pfizer and Moderna have both stated that their two-dose Covid-19 vaccines, which use similar technology, will remain highly effective six months after the second dose. However, researchers still don't know how long protection against the virus will last after six months of full vaccination, although health experts believe that protection wears off after some time.
On Thursday, David Kessler, the Biden government's chief science officer for Covid Response, said Americans should expect booster vaccinations to protect against coronavirus variants. He told US lawmakers that currently approved vaccines offer high levels of protection, but that new variants may "question" the effectiveness of the shots.
"We don't know everything right now," he told the House Select subcommittee on the coronavirus crisis.
"We are investigating the durability of the antibody response," he said. "It seems strong, but that's wearing off a bit, and no doubt the variants are challenging … they make these vaccines work harder. So I think we should be planning on doing it, just for planning purposes may have to. " Boost. "
Moderna CEO Stephane Bancel told CNBC on Wednesday that the company is hoping to have a booster shot for its two-dose vaccine in the fall.
Previous articleWhy Queen Elizabeth II sat alone at Prince Philip's funeral
Next articleNFL participant LeSean McCoy needs to construct an actual property empire
How to Pick a Cordless Deep Tissue Massage Gun
Straightforward Ways to Lower Shoulder Pain
How to Reduce Neck Pain with Massaging Techniques
Jennifer Aniston "didn't perceive" Matthew Perry's "torture" on set
Trump is suing Fb, Google, Twitter, Dorsey, Zuckerberg, Pichai
Politics July 7, 2021
Ciara and Russell Wilson's kids make an cute catwalk debut
Biden's $ 80 billion plan to encourage IRS audits could possibly...
Business May 6, 2021
Cisco (CSCO) earnings for the second quarter of 2021
Business February 9, 2021

redpajama_set_name: RedPajamaCommonCrawl


Get your doTERRA essential oils just in a few steps, fast and convenient.
Get more well-being for you and your family.
Become a doTERRA Wholesale Customer * and save -25% and join my Wellness-Team!
Yes, please invite me to the Facebook-Group "natürlich gesund"
As a doTERRA Wellness Customer you can buy all products at the doTERRA Shop -25%.
As a doTERRA Wholesale Customer of my Wellness-Team you´ll receive the best care to reach your health goals.
You can contact me any time if you have any questions about using essential oils and other doTERRA products. I´ld love to advise you.
For sharing your oil experiance with other oil users, you can also use my Facebook and Whatsapp groups.
You will receive your access data for the doTERRA shop with a separate e-mail. You can login any time and buy the products you need. There are no minimum order quantities and no obligations.
Order when and just the products you need - whenever you need it!
*The listed prices are excl. VAT.
YOUR DATA WILL BE TREATED ABSOLUTELY CONFIDENTIAL!
5ml Breathe, 5ml Lavender, 5ml OnGuard, 5ml Melaleuca (Tea Tree), 5ml Peppermint, 125ml Deep Blue Rub, Storage bag, Welcome Package & Family Essentials Handout.
15ml Breathe, 15ml Lavender, 15ml OnGuard, 15ml Melaleuca (Tea Tree), 15ml Peppermint, 5ml Deep Blue, 15ml Frankincense (Weihrauch), 15ml Lemon, 15ml DigestZen, 15ml Oregano, Petal Diffusor, Welcome Package & Family Essentials Handout.
TerraZyme, PB Assist, 15ml Lemon, GX-Assist, Zendocrine Softgels, Lifelong Vitality Pack (CRS+, xEO Mega, VMz (Vitamine, Spurenelemte, Omega3), Willkommenspaket + Spring Cleaning Handout with application plan.


text:
Members of the Iranian community break down during a memorial for the victims of the Ukrainian plane disaster in Iran this past week in Edmonton, on Jan. 12, 2020.
Todd Korol/The Canadian Press
Iran's policy of not recognizing the second passports of dual nationals has led to intricate negotiations over how the remains of dozens of Iranian-Canadians who died aboard Flight 752 will be treated.
Tehran's position could affect the consular services that Canada and other countries that have dispatched teams to Tehran can provide to families of the victims of the disaster – and where their remains are buried.
Oleksii Danilov, head of Ukraine's National Security and Defence Council, said his country's intelligence services were aware of 17 cases in which Canadian families were negotiating with the Iranian government over "how and where they will bury the bodies" of their relatives. Ukraine has had a team on the ground in Tehran since Jan. 9, one day after the Ukraine International Airlines plane was downed by a missile attack that Iran says was a "disastrous mistake."
Two other sources in Ukraine – whom The Globe and Mail is not identifying because they were not authorized to speak on the record – said the issue of dual nationals was one of the thorniest in negotiations between Iran and the six other countries that lost citizens on Flight 752, a list that besides Canada and Ukraine includes Sweden, Afghanistan, Germany and Britain.
State-controlled Iranian media has reported that more than 140 of the 176 people killed were Iranian passport holders and that there were just three Canadian citizens on board, rather than 57, as Canada says.
The first three members of a Canadian team that will handle consular issues arrived in Tehran Saturday. Eight other officials received their visas on the weekend and arrived in Iran Monday.
The London-based Persian-language TV channel Iran International reported on the weekend that some families of victims have been warned by authorities not to speak to foreign media or they will not receive their relatives' bodies.
Masih Alinejad, an Iranian author and activist living outside the country, also publicly raised concerns over the way victims' loved ones have been treated. She tweeted Sunday that the family of three Iranian-Canadian victims told her that Iranian officials warned them that if they did interviews with media, "they won't be able to [get] the body of their beloved ones back & bury them peacefully."
Ms. Alinejad, who has a significant social-media following, also posted a video she said depicts a mother of an Iranian-Canadian victim. The woman, who does not appear on camera in the video, appears to be crying and says, according to a translation: "My child was not Iranian anymore. My child was Canadian."
Within hours, Foreign Affairs Minister François-Philippe Champagne responded to the post. "These allegations are disturbing and we will look into them," he tweeted.
Asked for more details, Mr. Champagne's office referred The Globe to the tweet and provided a statement. "As Minister Champagne has said, we are expecting full co-operation from the Iranian authorities regarding all 57 Canadians so that we may provide full support to their families during this difficult time," spokesman Adam Austen said.
Ms. Alinejad later identified the woman in the video as the mother of Amir Hossein Saeedinia, who was a PhD student at the University of Alberta's Centre for Design of Advanced Materials. Ms. Alinejad asked Mr. Champagne to "pressure the authorities in Iran so that they'll stop harassing his family."
The Globe has not independently verified the video. Ms. Alinejad did not immediately respond to a request for comment.
Mr. Champagne has convened a meeting of the international task force of countries who lost citizens on Flight 752 for Thursday in London. The meeting will be held at the Canadian High Commission.
Canada, Britain, Sweden and Afghanistan joined forces to create the International Coordination and Response Group for families of victims of Flight 752.
Hundreds of mourners gathered at the University of Toronto to mourn the victims of a jetliner that was accidentally shot down by an Iranian missile last week. All 176 people on board were killed, including 138 passengers bound for Canada. The University of Toronto lost six students. Deputy Prime Minister Chrystia Freeland and Premier Doug Ford were among the politicians who commended the victims for their contributions to Canada. The Canadian Press
Will reports from Kathryn Blaze Baum in Toronto and Steven Chase in Ottawa
Anger swells in Iran over accidental shootdown of Ukrainian jetliner
UIA Flight 752 investigation must look at why Iran's airspace wasn't closed, says head of MH17 probe


text:
Home › Opinion › OPINION: Jewish News is back, more energised and ambitious than ever
OPINION: Jewish News is back, more energised and ambitious than ever
By richardferrer on April 28, 2020 • ( 0 )
If like me, your sense of time is all over the place at the moment (is it April or May?), you'll be forgiven for thinking the Jewish News is yesterday's news. After all, just seven days ago, I wrote 600 misty-eyed words about our final issue after 24 years.
Well, let's just say a week is a very long time in Jewish media.
Long story short, seven days ago we were set to shut shop and launch a merged newspaper in partnership with the Jewish Chronicle. Six days ago a bigger anonymous rival bid (which is poised to purchase the Jewish Chronicle this week) forced a sudden change of plan on the part of our owner Leo Noe, who generously took Jewish News out of liquidation to save jobs and stop it falling into unknown hands.
So the good news, at the end of a dramatic week of twists and turns that would make Shakespeare blush, is that your Jewish News is back.
The warmth and kind words from across the community following news of our closure was overwhelming. As American poet Ted Berrigan sort of wrote: "It's only when a newspaper dies that it gets flowers." Well, I'm going to keep those flowers in a vase on my desk forever.
This week's Jewish News might be issue 1,155, but to me it feels like number one – signalling the launch of an ambitious new chapter in the newspaper's history. So today I want to restate our commitment to our readers, pledge to campaign on issues and champion causes that affect their daily lives and recommit to celebrating British Jewish life louder, prouder and rowdier than ever before.
Consider some of the big issues facing us and the need for a confident and secure Jewish News is clear:
The shifting demographics from secular to strictly-Orthodox; communal intolerance between the left and the right; mental health and domestic abuse awareness; online extremism and campus antisemitism; the legacy of our Holocaust survivors and future of the Westminster Holocaust memorial; worrying falls in shul membership; eradicating the hate slur 'Yid' from sport; strengthening Jewish-Muslim ties; the plight of chained Orthodox women; safeguarding faith schools, shechita and brit milah; youth disengagement with Israel and the Diaspora's relationship with the Jewish state. And, perhaps most pressingly, helping the Labour Party emerge from the shadows of Corbynite antisemitism.
There is much to write and put right. We will do it together, story by story, week by week, issue by issue, in OUR Jewish News.
Of course the most sincere thanks are due to our white knight Leo for saving Jewish News, but I'm sure he won't mind me sharing the most important lesson I've learned in my 11 years in the editor's chair: the one true and deserving owner of this very special newspaper is the Jewish community itself.
‹ OPINION: Without the JN and JC, we'll all feel less connected
OPINION: Uighurs' plight touches the rawest Jewish nerve ›


text:
Six Drexel graduates win spots in 40 under 40 | The Triangle
Six Drexel graduates win spots in 40 under 40
By Ann Haftl
Drexel Sacramento
The 2014 Sacramento Business Journal's "40 under 40" awards event Nov. 19, honored 40 business leaders under the age of 40 for their passion and innovations in business. The award recognizes outstanding young business leaders in the city of Sacramento for their accomplishments. Drexel's name is also being recognized this year, as six Drexel Sacramento graduates won the award.
The graduates include Ashley Brand, community benefit manager for Dignity Health; Jessica Kriegel, organizational development consultant at Oracle; Dean O'Brien, health construction financing specialist at Cal-Mortgage Loan Insurance Program; Clarence Lee, founder of Each of the recipients recently graduated, all within the past four years.
Four of the graduates earned a Master of Business Administration degree, while Brand graduated with a master's of public health and Kriegel with a doctorate in education. Kriegel now works with the Sacramento Area Organization Development Network, "a professional association of organization development (OD) professionals, non-professionals, and students," according to its website.
The organization focuses on building the networks of communities to help them better serve the needs of their residents. Citizens can join the program in a professional track or in an open track, and are teamed up with members of the organization who help them network and increase their levels of business-related success.
Alternatively, Brand works for an organization called Dignity Health, which owns six hospitals in several California counties.
Brand said, "Through this position, I … carry out Dignity Health's mission into the communities we serve by developing partnerships with community organizations and creating programs that increase access to quality health care for underserved populations." Brand works directly with the community in Sacramento to increase health care accessibility.
Brand is not alone in her endeavors of reaching out to the community. Interest and active involvement in one's own community is something Sin believes Drexel is skilled at developing in its students.
"[Drexel] is really involved in civic engagement here at Sacramento. … They do so much to make sure the students and the alumni are really engaged in the communities in their areas, so that their professional development continues [with] support from the university," Sin said.
Sin is a U.S. Navy veteran and works with other female veterans through the California Department of Veterans Affairs. However, she has always had high aspirations and hopes for the future even after the Navy.
"I was always, throughout my career in the navy, wanting to go back to college," Sin said. After ending her career in the U.S. Navy, she did just that, finishing her MBA at Drexel University Sacaramento. "I joined the Navy so that I wouldn't have to go to college. … I was intimidated."
However, Sin now cites her graduation with an MBA as her biggest accomplishment thus far in her career. The Drexel approach to hands-on learning and putting students in real-world situations has shown to be an effective tool for teaching students what to expect after graduation.
"[Drexel] gave us the chance to meet a lot of great emerging leaders and established leaders here in California. … I think that [Drexel] definitely provides a lot of introduction into that community," Sin said. She also mentioned that her nomination for the 40 under 40 award came from Drexel and expressed her gratitude for that nomination.
"[Drexel does] so much to make sure the students and the alumni are really engaged in the communities in their areas, so that their professional development continues [with] support from the University," she said.
When asked what they considered a large part of their success was due to, the recipients replied with their education from Drexel, as it supplied them with much more than just academic learning.
"Drexel prepared me by setting high expectations for their students with regards to making us accountable for what we got out of the program," Brand explained.
The fact that 15 percent of this year's 40 under 40 recipients were Drexel graduates is something the university and its students and faculty should be proud of. Each Drexel recipient is also very unique — the range of business administration being performed by each recipient is impressive. However, the scope is larger than the University and larger than a simple award given out to 40 recipients each year. Sin sums up this idea: "It's not so much about me or about the award as much as it is about the activity of bringing people together to further the development of this region. … That's something the [Sacramento Business Journal] does well and that's something that Drexel obviously does well." The focus here, as it often is with Drexel, is on the goal of bettering the community into which graduates enter after college.


Fin Donnelly has been the MP for Port Moody—Coquitlam since 2009 (previously named New Westminster-Coquitlam) and is the NDP's Critic for Fisheries, Oceans and Canadian Coast Guard. He is the founding co-chair of the All-Party Oceans Caucus and the vice-chair of the Standing Committee on Fisheries and Oceans.
Known for his grassroots, consultative approach, Fin is committed to building sustainable communities and is a strong voice for healthy oceans and fisheries. He has a long history working for a healthy environment, making 14 marathon swims in BC's rivers, lakes and ocean, including twice swimming the 1,400 km length of the Fraser River. Prior to his election as a federal MP, he served seven years on Coquitlam city council.
He is currently working to help #SaveWildSalmon by calling on the Liberal government to remove salmon farms from wild salmon migration routes and transition this harmful industry to safe, land-based technology.


by Andy Higgs in Africa, Mali, Places, Retro Travel Photo.
In this new occasional section we share some of the travel photos from our archives – when we paid our dues but rarely our way. Times were tough, hitch-hiking was a favoured mode of transport and luxury hotels were places we tried to sneak into to have a swim.
As a follow-up to Monday's photo taken while hitch-hiking through the Sahara it seemed appropriate to publish another one taken later on the same epic journey. As the problems in Algeria escalated the southern desert border was closed and I was forced to return north, eventually getting a plane from Morocco to Mauritania and continuing overland. After several more adventures I made it to Mali and got a ride on a mango boat then on top of a postal service Land Rover for the last stretch to Timbuktu (I'm using the English spelling).
It's a great place to say that you've been (you even get a stamp in your passport) but getting there is more exciting than being there. Bob Geldof summed it up with his legendary, "is that it?". Happily I (clearly) didn't suffer the same fate as the first European to reach the city when it was in its heyday, the Scot Alexander Gordon Laing. He was killed shortly afterwards in mysterious circumstances.
As you now know, these pictures were taken on my first (non-digital, obviously) SLR and the quality is not great, but so it goes.


A cursory read of the documentation on database isolation levels might lead you to believe that serializable means that transactions act as though they are being run serially, i.e. as if they had been synchronized (using Java terminology). But that would be wrong. Databases are only required to honor commitments about serializability from the perspective of the data they store. So in the example above, the database's only responsibility is to ensure that the balance doesn't go negative.
ORA-08177: Can't serialize access for this transaction.
Your application has to check for this error and retry the whole transaction until it succeeds. It's really quite smart. Essentially, Oracle is optimistically running the transactions as quickly as possible, hoping they would have been serializable. If that turns out to be wrong, Oracle tries to forget the whole thing happened by aborting the transaction. The result is higher concurrency and better performance than the more obvious locking based design, and it faithfully preserves the serializability rule.
The only problem is that in our example, the status message will get sent too many times. Oracle doesn't care about the serializability of your non database-related application code. In the example above, only one of the transactions should succeed because the initial balance is $100. But both of them will send the message. The moral here is that you can't use the serializable database isolation level to manage concurrency in your application code.
So what can you do? You could serialize the whole application code sequence (i.e. wrap it all in a synchronized block) but that would be needlessly throwing away performance. You could create a thread pool that guarantees that requests for the same ID will get serviced by the same thread, but that would be needlessly complicated. The simplest solution (which will work even if you run multiple instances of your entire application) is to have the database lock the row during the transaction, so that if any other transactions touch that row they will block until the running transaction completes.
Oracle allows you to do this by adding the clause FOR UPDATE to your select command, i.e.
That's nice and simple, allows you to run your transaction in the usual, uncomplicated READ_COMMITTED isolation level, allows concurrent processing of different database rows without any possibility of race conditions, and doesn't require any synchronization in your application code. Unfortunately it's not portable. It works with Oracle and Sybase, but the rules for MS SQLServer are different.
Posted by Joe on Saturday, July 18, 2009, at 8:33 pm. Filed under Architecture, General development. Tagged isolation, Oracle, serializable, synchronized. Follow any responses to this post with its comments RSS feed. You can post a comment or trackback from your blog.
One thought – in this example, you could just send the message after you have actually withdrawn the $100 from the account. Re-ordering your steps so that the data is committed before sending the message would be the more sensible approach here anyway.
Thanks, that's a good suggestion. It works for this example – as long as the code correctly retries upon transaction failure – and in any case where you can postpone all side effects (e.g. sending the message) until after the database updates. Although that's not always possible, e.g. if the details of the database update depend on a response from the side-effecting operation.
Couldn't the "send message" be included in the same transaction as the database update. if you were using Oracle AQ, I'm quite sure it would be.
But assuming you're using some external system and the cost of two-phase commit (JTA, Enterprise Services) is too much, the best-effort thing Daniel suggested with the message sent after is not bad. it just has to be understood that the QoS for the message is lower than the update.
Oracle approach to serializability is a nice option. not too useful for a not-so-concurrently-updated account row in only one table. But perhaps useful for account transfers when you want to avoid locking both accounts.


text:
The 2021–22 Pittsburgh Penguins season was the 55th season for the National Hockey League team that was established on June 5, 1967.

On March 27, 2022, the Penguins defeated the Red Wings, 11–2, marking the first time the team has scored 11 goals in a game since November 16, 1993. On April 14, 2022, the Penguins clinched their 16th consecutive playoff appearance after a 6–3 win over the New York Islanders. In the First Round, the Penguins lost in seven games to the New York Rangers despite having a 3–1 series lead. This marked the fourth time the Penguins lost a best-of-seven playoff series after having a 3–1 series lead, and the second time doing so against the New York Rangers. The Game 7 loss marked the first time the Penguins lost a Game 7 on the road in franchise history after going 6–0 the previous six instances.

In the first 64 games, the Penguins were 39–16–9 for 87 points. But, after that, they sagged, going 7–9–2. They also lost an NHL-worst 7 shootouts.

Before the season, the Penguins shipped left wing Brandon Tanev off to play for the Seattle Kraken.

Standings

Divisional standings

Conference standings

Schedule and results

Regular season
The regular season schedule was released on July 22, 2021.

|- style="background:#cfc;"
| 1 || October 12 || Pittsburgh || 6–2 || Tampa Bay || Jarry || 19,092 || 1–0–0 || 2 ||
|- style="background:#ffc;"
| 2 || October 14 || Pittsburgh || 4–5  || Florida || DeSmith || 14,308 || 1–0–1 || 3 ||
|- style="background:#cfc;"
| 3 || October 16 || Chicago || 2–5 || Pittsburgh || Jarry || 18,420 || 2–0–1 || 5 ||
|- style="background:#ffc;"
| 4 || October 19 || Dallas || 2–1  || Pittsburgh || Jarry || 16,450 || 2–0–2 || 6 ||
|- style="background:#cfc;"
| 5 || October 23 || Toronto || 1–7 || Pittsburgh || Jarry || 15,397 || 3–0–2 || 8 ||
|- style="background:#fcf;"
| 6 || October 26 || Tampa Bay || 5–1 || Pittsburgh || Jarry || 15,732 || 3–1–2 || 8 ||
|- style="background:#fcf;"
| 7 || October 28 || Calgary || 4–0 || Pittsburgh || DeSmith || 17,743 || 3–2–2 || 8 ||
|- style="background:#fcf;"
| 8 || October 30 || New Jersey || 4–2 || Pittsburgh || Jarry || 17,452 || 3–3–2 || 8 ||
|-

|- style="background:#cfc
| 9 || November 4 || Philadelphia || 2–3  || Pittsburgh || Jarry || 17,037 || 4–3–2 || 10 ||
|- style="background:#ffc
| 10 || November 6 || Minnesota || 5–4  || Pittsburgh || Jarry || 17,181 || 4–3–3 || 11 ||
|- style="background:#ffc
| 11 || November 9 || Pittsburgh || 2–3  || Chicago || Jarry || 17,736 || 4–3–4 || 12 ||
|- style="background:#cfc
| 12 || November 11 || Florida || 2–3  || Pittsburgh || Jarry || 17,194 || 5–3–4 || 14 ||
|- style="background:#fcf
| 13 || November 13 || Pittsburgh || 3–6 || Ottawa || DeSmith || 14,661 || 5–4–4 || 14 ||
|- style="background:#fcf
| 14 || November 14 || Pittsburgh || 1–6 || Washington || Jarry || 18,573 || 5–5–4 || 14 ||
|- style="background:#fcf
| 15 || November 16 || Buffalo || 2–1 || Pittsburgh || Jarry || 16,366 || 5–6–4 || 14 ||
|- style="background:#cfc
| 16 || November 18 || Pittsburgh || 6–0 || Montreal || Jarry || 20,712 || 6–6–4 || 16 ||
|- style="background:#cfc
| 17 || November 20 || Pittsburgh || 2–0 || Toronto || Jarry || 19,531 || 7–6–4 || 18 ||
|- style="background:#cfc
| 18 || November 22|| Pittsburgh || 3–1 || Winnipeg || Jarry || 13,570 || 8–6–4 || 20 ||
|- style="background:#cfc
| 19 || November 24 || Vancouver || 1–4 || Pittsburgh || Jarry || 17,590 || 9–6–4 || 22 ||
|- style="background:#cfc
| 20 || November 26 || Pittsburgh || 1–0 || NY Islanders || Jarry || 17,255 || 10–6–4 || 24 ||
|- style="background:#fcf
| 21 || November 27 || Montreal || 6–3 || Pittsburgh || DeSmith || 17,985 || 10–7–4 || 24 ||
|- style="background:#ffc
| 22 || November 29 || Pittsburgh || 1–2  || Calgary || Jarry || 15,343 || 10–7–5 || 25 ||

|- style="background:#fcf
| 23 || December 1 || Pittsburgh || 2–5 || Edmonton  || Jarry || 17,130 || 10–8–5 || 25 ||
|- style="background:#cfc
| 24 || December 4 || Pittsburgh || 4–1 || Vancouver || Jarry || 18,422 || 11–8–5 || 27 ||
|- style="background:#cfc
| 25 || December 6 || Pittsburgh || 6–1 || Seattle || DeSmith || 17,151 || 12–8–5 || 29 ||
|- style="background:#cfc
| 26 || December 10 || Pittsburgh || 4–2 || Washington || Jarry || 18,573 || 13–8–5 || 31 ||
|- style="background:#cfc
| 27 || December 11 || Anaheim || 0–1 || Pittsburgh || DeSmith || 17,435 || 14–8–5 || 33 ||
|- style="background:#cfc
| 28 || December 14 || Montreal || 2–5 || Pittsburgh || Jarry || 17,005 || 15–8–5 || 35 ||
|- style="background:#cfc
| 29 || December 17 || Buffalo || 2–3 || Pittsburgh || Jarry || 17,456 || 16–8–5 || 37 ||
|- style="background:#cfc
| 30 || December 19 || Pittsburgh || 3–2 || New Jersey || Jarry || 14,857 || 17–8–5 || 39 ||
|- style="background:#ccc
| — || December 21 || New Jersey || – || Pittsburgh || colspan="5"|Postponed due to COVID-19.
|- style="background:#ccc
| — || December 23 || Philadelphia  || – || Pittsburgh || colspan="5"|Postponed due to COVID-19.
|- style="background:#ccc
| — || December 27 || Pittsburgh || – || Boston || colspan="5"|Postponed due to COVID-19.
|- style="background:#ccc
| — || December 29 || Pittsburgh || – || Toronto || colspan="5"|Postponed due to COVID-19.
|- style="background:#ccc
| — || December 31 || Pittsburgh || – || Ottawa || colspan="5"|Postponed due to attendance restrictions.
|-

|- style="background:#cfc;"
| 31 || January 2 || San Jose || 5–8 || Pittsburgh || DeSmith || 18,066 || 18–8–5 || 41 ||
|- style="background:#cfc;"
| 32 || January 5 || St. Louis || 3–5 || Pittsburgh || Jarry || 17,921 || 19–8–5 || 43 ||
|- style="background:#cfc;"
| 33 || January 6 || Pittsburgh || 6–2 || Philadelphia || Jarry || 17,944 || 20–8–5 || 45 ||
|- style="background:#fcf;"
| 34 || January 8 || Pittsburgh || 2–3 || Dallas || Jarry || 18,532 || 20–9–5 || 45 ||
|- style="background:#cfc;"
| 35 || January 11 || Pittsburgh || 4–1 || Anaheim || Jarry || 11,431 || 21–9–5 || 47 ||
|- style="background:#fcf;"
| 36 || January 13 || Pittsburgh || 2–6 || Los Angeles || Jarry || 14,348 || 21–10–5 || 47 ||
|- style="background:#cfc;"
| 37 || January 15 || Pittsburgh || 2–1  || San Jose || Domingue || 13,686 || 22–10–5 || 49 ||
|- style="background:#cfc;"
| 38 || January 17 || Pittsburgh || 5–3 || Vegas || Jarry || 18,213 || 23–10–5 || 51 ||
|- style="background:#cfc;"
| 39 || January 20 || Ottawa || 4–6 || Pittsburgh || Jarry || 18,060 || 24–10–5 || 53 ||
|- style="background:#cfc;"
| 40 || January 21 || Pittsburgh || 5–2 || Columbus || Jarry || 18,477 || 25–10–5 || 55 ||
|- style="background:#cfc;"
| 41 || January 23 || Winnipeg || 2–3  || Pittsburgh || Jarry || 17,962 || 26–10–5 || 57 ||
|- style="background:#cfc;"
| 42 || January 25 || Arizona || 3–6 || Pittsburgh || Jarry || 16,360 || 27–10–5 || 59 ||
|- style="background:#ffc;"
| 43 || January 27 || Seattle || 2–1  || Pittsburgh || Jarry || 18,228 || 27–10–6 || 60 ||
|- style="background:#ffc;"
| 44 || January 28 || Detroit || 3–2  || Pittsburgh || DeSmith || 18,369 || 27–10–7 || 61 ||
|- style="background:#fcf;"
| 45 || January 30 || Los Angeles || 4–3 || Pittsburgh || Jarry || 18,237 || 27–11–7 || 61 ||
|-

|- style="background:#ffc;"
| 46 || February 1 || Washington || 4–3  || Pittsburgh || Jarry || 17,826 || 27–11–8 || 62 ||
|- style="background:#cfc;"
| 47 || February 8 || Pittsburgh || 4–2 || Boston || Jarry || 17,850 || 28–11–8 || 64 ||
|- style="background:#cfc;"
| 48 || February 10 || Pittsburgh || 2–0 || Ottawa || DeSmith || 500 || 29–11–8 || 66 ||
|- style="background:#cfc;"
| 49 || February 13 || Pittsburgh || 4–2 || New Jersey || Jarry || 11,242 || 30–11–8 || 68 ||
|- style="background:#cfc;"
| 50 || February 15 || Philadelphia || 4–5  || Pittsburgh || DeSmith || 18,385 || 31–11–8 || 70 ||
|- style="background:#fcf;"
| 51 || February 17 || Pittsburgh || 1–4 || Toronto || Jarry || 8,139 || 31–12–8 || 70 ||
|- style="background:#fcf;"
| 52 || February 20 || Carolina || 4–3 || Pittsburgh || Jarry || 18,429 || 31–13–8 || 70 ||
|- style="background:#fcf;"
| 53 || February 24 || New Jersey || 6–1 || Pittsburgh || Jarry || 18,057 || 31–14–8 || 70 ||
|- style="background:#cfc;"
| 54 || February 26 || NY Rangers || 0–1 || Pittsburgh || Jarry || 18,413 || 32–14–8 || 72 ||
|- style="background:#cfc;"
| 55 || February 27 || Pittsburgh || 3–2 || Columbus || DeSmith || 17,072 || 33–14–8 || 74 ||
|-

|- style="background:#cfc;"
| 56 || March 3 || Pittsburgh || 5–1 || Tampa Bay || Jarry || 19,092 || 34–14–8 || 76 ||
|- style="background:#ffc;"
| 57 || March 4 || Pittsburgh || 2–3  || Carolina || DeSmith || 19,023 || 34–14–9 || 77 ||
|- style="background:#fcf;"
| 58 || March 8 || Florida || 4–3 || Pittsburgh || Jarry || 17,876 || 34–15–9 || 77 ||
|- style="background:#cfc;"
| 59 || March 11 || Vegas || 2–5 || Pittsburgh || Jarry || 18,341 || 35–15–9 || 79 ||
|- style="background:#cfc;"
| 60 || March 13 || Carolina || 2–4 || Pittsburgh || Jarry || 17,866 || 36–15–9 || 81 ||
|- style="background:#fcf;"
| 61 || March 15 || Pittsburgh || 1–4 || Nashville || DeSmith || 17,498 || 36–16–9 || 81 ||
|- style="background:#cfc;"
| 62 || March 17 || Pittsburgh || 3–2  || St. Louis || Jarry || 18,096 || 37–16–9 || 83 ||
|- style="background:#cfc;"
| 63 || March 19 || Pittsburgh || 4–1 || Arizona || Jarry || 14,507 || 38–16–9 || 85 ||
|- style="background:#cfc;"
| 64 || March 22 || Columbus || 1–5 || Pittsburgh || Jarry || 18,196 || 39–16–9 || 87 ||
|- style="background:#ffc;"
| 65 || March 23 || Pittsburgh || 3–4  || Buffalo || DeSmith || 9,399 || 39–16–10 || 88 ||
|- style="background:#fcf;"
| 66 || March 25 || Pittsburgh || 1–5 || NY Rangers || Jarry || 18,006 || 39–17–10 || 88 ||
|- style="background:#cfc;"
| 67 || March 27 || Detroit || 2–11 || Pittsburgh || Jarry || 17,842 || 40–17–10 || 90 ||
|- style="background:#fcf;"
| 68 || March 29 || NY Rangers || 3–2 || Pittsburgh || Jarry || 18,011 || 40–18–10 || 90 ||
|- style="background:#cfc;"
| 69 || March 31 || Pittsburgh || 4–3  || Minnesota || DeSmith || 18,978 || 41–18–10 || 92 ||
|-

|- style="background:#fcf;"
| 70 || April 2 || Pittsburgh || 2–3 || Colorado || Jarry || 18,102 || 41–19–10 || 92 ||
|- style="background:#fcf;"
| 71 || April 5 || Colorado || 6–4 || Pittsburgh || Jarry || 17,409 || 41–20–10 || 92 ||
|- style="background:#fcf;"
| 72 || April 7 || Pittsburgh || 0–3 || NY Rangers || Jarry || 16,694 || 41–21–10 || 92 ||
|- style="background:#fcf;"
| 73 || April 9 || Washington || 6–3 || Pittsburgh || Jarry || 18,404 || 41–22–10 || 92 ||
|- style="background:#cfc;"
| 74 || April 10 || Nashville || 2–3  || Pittsburgh || DeSmith || 17,553 || 42–22–10 || 94 ||
|- style="background:#ffc;"
| 75 || April 12 || Pittsburgh || 4–5  || NY Islanders || DeSmith || 15,924 || 42–22–11 || 95 ||
|- style="background:#cfc;"
| 76 || April 14 || NY Islanders || 3–6 || Pittsburgh || Jarry || 18,236 || 43–22–11 || 97 ||
|- style="background:#fcf;"
| 77 || April 16 || Pittsburgh || 1–2 || Boston || DeSmith || 17,850 || 43–23–11 || 97 ||
|- style="background:#cfc;"
| 78 || April 21 || Boston || 0–4 || Pittsburgh || DeSmith || 18,350 || 44–23–11 || 99 ||
|- style="background:#cfc;"
| 79 || April 23 || Pittsburgh || 7–2 || Detroit || DeSmith || 19,515 || 45–23–11 || 101 ||
|- style="background:#fcf;"
| 80 || April 24 || Pittsburgh || 1–4 || Philadelphia || Domingue || 18,601 || 45–24–11 || 101 ||
|- style="background:#fcf;"
| 81 || April 26 || Edmonton || 5–1 || Pittsburgh || DeSmith || 17,804 || 45–25–11 || 101 ||
|- style="background:#cfc;"
| 82 || April 29 || Columbus || 3–5 || Pittsburgh || DeSmith || 18,402 || 46–25–11 || 103 ||
|-

|- style="text-align:center;"
| Legend:       = Win       = Loss       = OT/SO Loss

Playoffs

|- style="background:#cfc;"
| 1 || May 3 || Pittsburgh || 4–3 || NY Rangers || 3OT || Domingue || 18,006 || 1–0 ||
|- style="background:#fcf;"
| 2 || May 5 || Pittsburgh || 2–5 || NY Rangers ||  || Domingue || 18,006 || 1–1 ||
|- style="background:#cfc;"
| 3 || May 7 || NY Rangers || 4–7 || Pittsburgh ||  || Domingue || 18,385 || 2–1 ||
|- style="background:#cfc;"
| 4 || May 9 || NY Rangers || 2–7 || Pittsburgh ||  || Domingue || 18,392 || 3–1 ||
|- style="background:#fcf;"
| 5 || May 11 || Pittsburgh || 3–5 || NY Rangers ||  || Domingue || 18,006 || 3–2 ||
|- style="background:#fcf;"
| 6 || May 13 || NY Rangers || 5–3 || Pittsburgh ||  || Domingue || 18,342 || 3–3 ||
|-style="background:#fcf;"
| 7 || May 15 || Pittsburgh || 3–4 || NY Rangers || OT || Jarry || 18,006 || 3–4 ||

|-
| ''Legend:       = Win       = Loss

Player statistics

Skaters

Goaltenders

†Denotes player spent time with another team before joining the Penguins. Stats reflect time with the Penguins only.
‡Denotes player was traded mid-season. Stats reflect time with the Penguins only.
Bold/italics denotes franchise record.

Transactions
The Penguins have been involved in the following transactions during the 2021–22 season.

Trades

Notes:
 Pittsburgh receives the pick if they reach the 2022 Stanley Cup Finals and Beaulieu plays in at least 50% of the playoff games.

Players acquired

Players lost

Signings

Draft picks

Below are the Pittsburgh Penguins' selections at the 2021 NHL Entry Draft, which were held on July 23 to 24, 2021. It was held virtually via Video conference call from the NHL Network studio in Secaucus, New Jersey.

References

Pittsburgh Penguins seasons
Penguins
2021 in sports in Pennsylvania
2022 in sports in Pennsylvania

redpajama_set_name: RedPajamaWikipedia


text:
Q: android position estimator through GPS I'm an engineering student and i'm currently developing a quadrotor with an android nexus 5 as flight controller.
In order to perform autonomous flight I need to implement a suitable position controller and so a position estimator, here my question: it is already been proven with cheaper hardware that is possible to obtain a good position estimation through GPS and IMU mesuraments but for battery saving policy android compute GPS update at a very low frequency (1hz) so is possible to obtain higher frequency (20hz like)? If anybody  has a better solution could please tell me?
edit:
my problem is not how fast i can get a fix (before deployment i can wait for a solid fix). The issue is the accuracy of the position estimation and, as i alredy sad, it is alredy been proven that with cheeper hardware (like ardupilot which use an arduino mega, the same imu as nexus 5 and a ublox gps) it is possible to obtain a very good accuracy that allow safe flight and very precise hovering.
even with the requestLocationUpdate() with min time set to 0 the gps data is updated only once every 1000ms
Thanks in advance Lorenzo

A: I think by frequency you mean how many times in a certain period the location is updated.
If this is the case you can obviously control this somewhat. However the more you request for location updates the heavier the strain on the battery there will be. The functions getLastKnownLocation() and requestLocationUpdates() can be used in conjunction to update the lat/long coordinates pretty fast. Read up on Location Manager.
However gps locking will take time. In my experience a location in open ground (no obstruction) can be provided every 10secs. Faster estimates can be provided if you have leeway in accuracy. Using Locations provided my network towers instead of gps can get the location in under 10secs/location. However I would expect atleast a 200ft error magnitude at least.
Lastly the fastest way to update a location is via wifi. If you can provide a solid wifi connection your location can update with almost definite accuracy within 5secs.
Also look into the google maps api. They have some cool functionality you can utilize to get your location even faster and even add a google map to your application.

redpajama_set_name: RedPajamaStackExchange


text:
Wankelmut (DE)
Sometimes things unfold fast, very fast. In autumn 2011 Jacob Dilßner aka Wankelmut was a young 24-year old student and part-time dj who had just relocated to his hometown Berlin to study philosophy and political science. Then one night he started playing around with one of his favourite songs in Ableton Live, cutting, filtering and adding a simple 4/4 groove until Asaf Avidan & The Mojos' bitter-sweet folk song "One Day/Reckoning Song" turned into what has now become one of house music's biggest anthems of 2012. But back then Wankelmut was totally unaware of the impact his groundbreaking remix would have. Various small labels approached him, wanting to release the track, but stayed away from the task of clearing the sample. The quest to legally clear the sample began in spring 2012 and after various bureaucratic obstacles were succesfully put out of the way, "One Day/Reckoning Song" finally got an official remix release via Four Music who hold the rights to the original song by Asaf Avidan & the Mojos. From here the Cinderella story continued. Only eight months after Wankelmut unassumingly uploaded the song, the Berlin-based dj and producer got irrevocably catapulted from mere obscurity into full-on popstardom, topping the charts in Germany, Austria, Switzerland, Belgium and the Netherlands and various other european countries. In Germany "One Day/Reckoning Song" managed to simultaneously hit the #1 spot in the national charts, the itunes charts and on Beatport. This happend fort he first time in history, leading to platinum sales status. Since then, Wankelmut's schedule got busier every day, taking him on dj gigs all over Europe. There hasn't been much time to relax. His studies are on hold for now. And while the official video accompanying "One Day/Reckoning Song" has already exceeded 18 million views, Wankelmut is working on various remixes and his first proper solo-release. Knowing that people's expectations are constantly growing he is taking it slow, sharpening his skills as a producer without letting the pressure get the best of him. Until then the track that fast-tracked his career will most likely conquer the rest of the world. And we can be pretty sure that we will hear a lot more of Wankelmut in the years to come.
Previous editions –
2016 ,
2014 &
Bahlzack (HU)
BL.CK (DE)
Girls Mafia (NL)
Jordan Jay (NL)
KYA (NL)
Legowelt (NL)
Michiel Roosjen (NL)
Mor Elian (US)
Palms Trax (DE)
Sagan (UA)
Willie-Wartaal (NL)
Woody'92 (NL)


Thanks to GoPro now you can get up close and personal with the big cats -- and the Lion Whisperer at work.
Kevin Richardson straps on his GoPro and lets us witness his relationship with lions and hyenas.
GoPro is famous for video cameras that let you document first-person views of extreme sports. I see it used for bikers, skateboarding and skiers.
But into a pride of Lions? It gave Richardson an opportunity to talk about his conservation work.
Think about it. Whatever work or message is important to you. You can make it so much more real to people when you document it in images.
Project 365 idea - Demonstrate a unique angle of your work or cause that you support.


text:
Trans athletes are making a travesty of women's sports
Woke assimilation: Teaching our politicians to hate America
'Middle-Class Joe' Biden struck it rich — and good for him
US women's soccer team equal-pay gripe is less than it seems
America's new ballparks prove public architecture can still be beautiful
Border camp conditions are a disgrace — but there's no conspiracy behind it
The state of Connecticut has offered a dismaying picture of the future of female athletics, with two male-to-female transgender runners routinely outpacing the competition at the state track championships.
The two biologically male students, Terry Miller and Andraya Yearwood, finished first and second, respectively, in the 55-meter dash this year, crushing the competition. Miller set a new girls indoor record and also won the 300-meter. The year before, the two finished first and second in the 100-meter state outdoor championships.
Connecticut allows students to compete in sports as the gender they identify as, with no further requirements. If fashionable opinion has anything to say about it, this will be the universal trend.
Everyone is supposed to ignore the madness of it. In sports, the supposed fluidity of gender runs up against the ineluctability of sex.
Testosterone, which males get massive doses of beginning at puberty, is the original performance-enhancing drug. It makes men bigger, stronger and faster. It is easier for them to add muscle mass. They have bigger hearts (physically, not metaphorically, of course) and greater lung capacity, among other physical advantages.
This accounts for the considerable male-female gap in athletic performance. "This differential isn't the result of boys and men having a male identity, more resources, better training or superior discipline," Doriane Lambelet Coleman and Wickliffe Shreve of Duke Law School have written. "It's because they have an androgenized body."
At the 1988 Olympics, Florence Griffith-Joyner established a women's record of 10.49 seconds in the 100-meter dash that no one has come close to touching ever since (in fact, there are unfounded suspicions that she was using a performance-enhancing drug).
Her epic sprint was ho-hum for a male. According to the International Association of Athletics Federations, there were 15 men in the United States whose best time was 10.49 in the 100-meter in 2018, and they were merely tied for 217th fastest last year.
Worldwide, there were 35 men whose best was at that time, all tied for 768th fastest in 2018.
This is why we have separate female and male competitions to begin with, so women can showcase their bodies and get recognition without being overshadowed by men with inherent physiological advantages. This common-sense reason for separate competitions and separate record books is now falling away.
The Olympic committee has dropped a requirement for sex-reassignment surgery for transgender athletes, and it has set a maximum level of testosterone for transgendered women that's still high for biological females. Even if biologically male athletes get their testosterone levels down, their bodies are still different.
A former Olympic volleyball player from Brazil, Ana Paula Henkel, made this point in an open letter opposing the new Olympic policy. "This rushed and heedless decision to include biological men, born and built with testosterone, with their height, their strength and aerobic capacity of men, is beyond the sphere of tolerance," Henkel wrote. "It represses, embarrasses, humiliates and excludes women."
She cited the example of Brazilian player who formerly competed as a man and now dominates in the women's league and will probably make the 2020 women's Olympic team (and deny a spot to a female player who doesn't have the build of a man).
It now takes courage to raise any such objections. Feminists in good standing the day before yesterday are getting ostracized for insisting that there are differences between men and women that matter and can't be ignored or wished away.
When the tennis great Martina Navratilova wrote against biological men competing in women's sports, she was roundly attacked as transphobic and swiftly booted from the board of the LGBT group Athlete Ally. Former Olympic swimmer Sharron Davies, from Britain, got mobbed for expressing similar sentiments.
We live in an age when stating the obvious is forbidden, and women's sport may never be quite the same again.
Twitter: @RichLowry
Filed under athletes , gender , transgender
Don't pass this 'pimp protection act'
John Podhoretz
Now the PC commissars are gunning for 'Stranger Things'
Why Trump must acknowledge that he went too far this time
Browse covers archive


Both the parsonage roof and the green room roof are leaking. The parsonage (where Jenny, Aaron, Isabella, and Wesley live) has some soft spots that indicate there is damage that will grow if we don't fix it soon. It's the original roof from when the house was built in 1970, so getting 48 years out of a roof could be considered a minor miracle. The Green Room (where coffee hour, Eagles Wings, and Senior Dinner occurs) has been patched and we can patch it again, but eventually we'd like to put a new metal roof on it. This roof has been in place since 2001 when the Green Room was added.
We are trying to get this done before the next rainy season! While some of the offering and pledges that we give during the year support facility and ground maintenance costs, we have had some major expenses this year already. In April, we replaced the furnace system in the Green Room for just around $10,000. For this roof project, we want to see if we can raise the funds this year to address these growing concerns and not wait another year for more damage to occur. The ballpark estimate for the parsonage is $12,000 and the Green Room is $30,000 for a metal roof that lasts 50 years.
Our process is simple. We do this just like we manage our own homes. We are currently getting several quotes and estimates for the work. We are also looking at a variety of options such as buying materials and getting some volunteers interested in doing the work this summer. Based on what funds we raise, we can make some informed decisions about what the next best steps are to be fiscally responsible and good caretakers of our building resources. We'll keep you informed about the process through the weekly e-mail or by talking with a Vision Team member.
If you want to contribute to the Roof Raising, there are three ways to give.
Drop a check in the offering plate on Sundays with "Roof" in the memo.
Make a gift online. Select "Roof Project" from the pull down menu.
Give by text. Follow instructions at the bottom of this page.
We will be making the decisions based on the funds we raise in July, so please consider giving to this effort before July 1st!
Questions? Contact Anne Rodeheaver at anne.rodeheaver@gmail.com or Jeff Clark at jeffsclarkmv@gmail.com.


New plant-based alternative to strained yoghurt, in three flavours. High in plant protein. These new luxury dessert pots from Alpro are the soya answer to CoYo's premium coconut milk yoghurts. Where they differ is the nearly 8% protein content.


Another five hot features of this powerful WMA to iTunes Converter are batch convert audio files, cut audio files into smaller one as well as keep or change the format, split by chapter, merge several audio files into one and extract audio files like MP3, WAV, AAC, ALAC, M4A, AC3, DTS, etc from video clips such as MP4, MOV, WMV, AVI, MKV, FLV, ASF, MPEG, OGV, WebM, 3GP, MXF.... We all know that iTunes only supports a limit of audio files like MP3, M4A, AAC, WAV, you wouldn't add FLAC into iTunes without changing the file extension. Fortunately, audio conversion is still a near-universal way to make your FLAC workable in iTunes.
17/12/2007 · I have ripped them with Windows Media Player. I have looked at the import function but it seems you have to bring them over 1 song at a time. I have over 9000 songs.... Professional PC iPhone 6 MP3 to iTunes backup Program To sync transfer move iPhone 6 MP3 files to iTunes library in the fastest way for Win 10 64bit, Win 8.1, Win 7, Vista computer.
17/12/2007 · I have ripped them with Windows Media Player. I have looked at the import function but it seems you have to bring them over 1 song at a time. I have over 9000 songs.
Another five hot features of this powerful WMA to iTunes Converter are batch convert audio files, cut audio files into smaller one as well as keep or change the format, split by chapter, merge several audio files into one and extract audio files like MP3, WAV, AAC, ALAC, M4A, AC3, DTS, etc from video clips such as MP4, MOV, WMV, AVI, MKV, FLV, ASF, MPEG, OGV, WebM, 3GP, MXF.
Professional PC iPhone 6 MP3 to iTunes backup Program To sync transfer move iPhone 6 MP3 files to iTunes library in the fastest way for Win 10 64bit, Win 8.1, Win 7, Vista computer.


text:
Q: JSON using GSON-Library: Error Expected BEGIN_OBJECT but was STRING I am trying to parse a json string back to a Java object with gson. But I keep getting the above mentioned error:
Expected BEGIN_OBJECT but was STRING.

I saw there are some SO questions with this error, but none of them seems to be applicable to my situation.
My Java Code is the following:
Gson gson = new Gson();
Payment p = gson.fromJson(paymentJson, Payment.class);

where paymentJson is the JSON-String of a Payment object, which i get over an http post.
The Json-String Im using to test it is the following:
{
"creationDate": "2013-04-10T09:59:45.890+02:00",
"beneficiary": "Heat Hot Sauces",
"amount": 31.54,
"ibanSender": "CH190020600000DEMO303",
"paymentType": "ACCOUNT_TO_ACCOUNT",
"executionDate": "2013-04-10",
"fees": 0,
"ibanReceiver": "CH730020600000DEMO301",
"status": {
    "code": "PENDING"
},
"currency": "CHF",
"description": "Sudden Death Sauce",
"id": "25202",
"total": 31.54

}
And I checked the validity of the JSON with JsonLint, its valid json.
I know the other side which sends me the json data over http uses also GSON and the same class "Payment", but I'm not able/allowed to change the code there.
The Payment class looks like this:
public class Payment {

  private String id;
  private PaymentType paymentType;
  private PaymentCategory paymentCategory;
  private String ibanSender;
  private LocalDate executionDate;
  private DateTime creationDate;
  private String currency;
  private Double amount;
  private Double fees;
  private PaymentStatus status;
  private String description;
  private Double total;

  // attributes which identifiers the beneficiary of the payment
  private String ibanReceiver;
  private String accountNumber;
  private String swift;
  private String referenceNumber;
  private PaymentFeesChargingCode feesCharging;
  private String beneficiary;

  // the following 5 beneficiary fields can be used for address (beneficiary_5
  // should be used for country)
  private String beneficiary_1;
  private String beneficiary_2;
  private String beneficiary_3;
  private String beneficiary_4;
  private String beneficiary_5; // country
  // the reference to the StandingOrder which created this payment, or null
  private String standingOrderId;

  public Payment() {
    super();
  }
  public String getId() {
    return id;
  }
  public void setId(String id) {
    this.id = id;
  }
  public PaymentType getPaymentType() {
    return paymentType;
  }
  public void setPaymentType(PaymentType paymentType) {
    this.paymentType = paymentType;
  }
  public String getIbanSender() {
    return ibanSender;
  }
  public void setIbanSender(String ibanSender) {
    this.ibanSender = ibanSender;
  }
  public LocalDate getExecutionDate() {
    return executionDate;
  }
  public void setExecutionDate(LocalDate executionDate) {
    this.executionDate = executionDate;
  }
  public DateTime getCreationDate() {
    return creationDate;
  }
  public void setCreationDate(DateTime creationDate) {
    this.creationDate = creationDate;
  }
  public String getCurrency() {
    return currency;
  }
  public void setCurrency(String currency) {
    this.currency = currency;
  }
  public Double getAmount() {
    return amount;
  }
  public void setAmount(Double amount) {
    this.amount = amount;
  }
  public Double getFees() {
    return fees;
  }
  public void setFees(Double fees) {
    this.fees = fees;
  }
  public PaymentStatus getStatus() {
    return status;
  }
  public void setStatus(PaymentStatus status) {
    this.status = status;
  }
  public String getDescription() {
    return description;
  }
  public void setDescription(String description) {
    this.description = description;
  }
  public Double getTotal() {
    return total;
  }
  public void setTotal(Double total) {
    this.total = total;
  }
  public String getIbanReceiver() {
    return ibanReceiver;
  }
  public void setIbanReceiver(String ibanReceiver) {
    this.ibanReceiver = ibanReceiver;
  }
  public String getAccountNumber() {
    return accountNumber;
  }
  public void setAccountNumber(String accountNumber) {
    this.accountNumber = accountNumber;
  }
  public String getSwift() {
    return swift;
  }
  public void setSwift(String swift) {
    this.swift = swift;
  }
  public String getReferenceNumber() {
    return referenceNumber;
  }
  public void setReferenceNumber(String referenceNumber) {
    this.referenceNumber = referenceNumber;
  }
  public PaymentFeesChargingCode getFeesCharging() {
    return feesCharging;
  }
  public void setFeesCharging(PaymentFeesChargingCode feesCharging) {
    this.feesCharging = feesCharging;
  }
  public String getBeneficiary() {
    return beneficiary;
  }
  public void setBeneficiary(String beneficiary) {
    this.beneficiary = beneficiary;
  }
  public String getBeneficiary_1() {
    return beneficiary_1;
  }
  public void setBeneficiary_1(String beneficiary_1) {
    this.beneficiary_1 = beneficiary_1;
  }
  public String getBeneficiary_2() {
    return beneficiary_2;
  }
  public void setBeneficiary_2(String beneficiary_2) {
    this.beneficiary_2 = beneficiary_2;
  }
  public String getBeneficiary_3() {
    return beneficiary_3;
  }
  public void setBeneficiary_3(String beneficiary_3) {
    this.beneficiary_3 = beneficiary_3;
  }
  public String getBeneficiary_4() {
    return beneficiary_4;
  }
  public void setBeneficiary_4(String beneficiary_4) {
    this.beneficiary_4 = beneficiary_4;
  }
  public String getBeneficiary_5() {
    return beneficiary_5;
  }
  public void setBeneficiary_5(String beneficiary_5) {
    this.beneficiary_5 = beneficiary_5;
  }

  @Override
  public String toString() {
    return "Payment [id=" + id + ", ibanSender=" + ibanSender + ", ibanReceiver=" + ibanReceiver + ", beneficiary=" + beneficiary + ", executionDate=" + executionDate + ", creationDate=" + creationDate + ", currency=" + currency + ", amount=" + amount + ", fees=" + fees + ", status=" + status + ", description=" + description + ", total=" + total + "]";
  }

  public PaymentCategory getPaymentCategory() {
    return paymentCategory;
  }
  public void setPaymentCategory(PaymentCategory paymentCategory) {
    this.paymentCategory = paymentCategory;
  }
  public String getStandingOrderId() {
    return standingOrderId;
  }
  public void setStandingOrderId(String standingOrderId) {
    this.standingOrderId = standingOrderId;
  }
}

EDIT: here is the stack-trace:
java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 48
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:176)
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172)
com.google.gson.Gson.fromJson(Gson.java:795)
com.google.gson.Gson.fromJson(Gson.java:761)
com.google.gson.Gson.fromJson(Gson.java:710)
com.google.gson.Gson.fromJson(Gson.java:682)
ch.ti8m.bank.payment.scanbuy.controller.ScanAndBuyController.preparePayment(ScanAndBuyController.java:58)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:601)
org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:746)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:687)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:915)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:822)
javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:796)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:180)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang.Thread.run(Thread.java:722)

Does anyone have an idea why I'm getting that error message?
Thanks in advance

A: GSON fails to parse the value of the creationDate field because it does not know how to handle Joda-Time DateTime objects.
Try to register a type adapter for this class using GsonBuilder's registerTypeAdapter method.
Gson gson = new GsonBuilder().registerTypeAdapter(DateTime.class, new JsonDeserializer<DateTime>() {
    @Override
    public DateTime deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
            throws JsonParseException {
        return new DateTime(json.getAsString());
    }
}).create();

A: I have implemented a slightly different approach, since in my case I have problems both serializing and deserializing attributes of java.time.LocalDate in my Spring Boot project:
@Configuration
@EnableWebMvc
public class ApplicationConfig implements WebMvcConfigurer {

    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        GsonHttpMessageConverter gsonConverter = new GsonHttpMessageConverter();
        gsonConverter.setGson(gson());
        converters.add(gsonConverter);
    }

    @Bean
    public Gson gson() {
        return new GsonBuilder()
                .serializeNulls()
                .registerTypeAdapter(LocalDate.class,
                        (JsonSerializer<LocalDate>) (localDate, type, context)
                        -> new JsonPrimitive(localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))))
                .registerTypeAdapter(LocalDate.class,
                        (JsonDeserializer<LocalDate>) (jsonElement, type, context)
                        -> LocalDate.parse(jsonElement.getAsString(), DateTimeFormatter.ofPattern("yyyy-MM-dd")))
                .create();
    }
    ...
}

That configuration allows me not only having configured my GsonHttpMessageConverter with the adapters for LocalDate but also having a singleton bean for this Gson configuration available for my application.


text:
Contact me Go to home page Return to main travel page
Mérida & the Yucatan
Michael Kluckner
Artwork & text © Michael Kluckner, 2018
A straightforward little trip into Colonial Mexico in January, avoiding the beach resorts of the Mayan Riviera on the east side of the Yucatan peninsula. We took a nonstop red-eye Westjet flight from Vancouver to Cancun, went immediately to the bus station and caught the next bus to Valladolid (about 3 hours), where we stayed overnight. We used a half day to take an Oriente-line bus out to Chichen Itza, the huge Mayan ruin, which is impressive but rather spoiled by the megacrowds and all the vendors who set up within the archaeological site itself (Chichen Itza is within daytrip range of the seaside resorts and thus gets the hordes).
We then went by bus another 3+ hours to Mérida, just celebrating its 400th birthday, and checked in for a week at an airbnb casa near La Ermita de Santa Isabel, about a 15-minute walk south of the Plaza Grande in central Mérida. We hung around Mérida for part of the time and took day trips to Uxmal, Celestun, and Izamal; the one regret was not getting to Campeche, which sounded historic and attractive but would have meant leaving our Mérida house for a couple of days. Our casa's location on Calle 64A was very convenient to the bus depot at Calle 69 and Calle 70 (the odd-number streets run east-west, the even-numbered ones north-south); it was easy to stop by and look for bus departures to the various nearby towns and sites. ADO is the premium line in that part of Mexico, with Oriente in second place and a horde of smaller, cheaper companies also available. A taxi haled on the street to Centro was about 30 pesos – $1.50 or so US. We could not figure out the system of local buses and collectivos so were stuck with feet and cabs.
We did rent a Fiat from Easy Way Rent a Car, on Calle 60 a few blocks north of Plaza Grande, to go to Celestun. They were efficient and honest to deal with; it cost about $40 Canadian for the day, which was reasonable, but the in-and-out currency exchange on the credit-card deposit added another $23 to the cost! Not the car rental company's fault, just the bank's.
Otherwise, it's pretty much a cash economy in the milieu where we were travelling. One thing to note: if you have to get back to Cancun airport, bear in mind that you lose an hour when you cross the border into Quintana Roo – for some bizarre reason they put a time-zone line midway across the peninsula at the state border.
There's really no "landscape" to draw – the peninsula is flat and featureless, with no rivers or lakes and an even covering of scrappy forest with few visible farms or clearings. It's hardly jungle or tropical at all and is one of the few places where looking out the bus window actually becomes boring. However, the towns and people are excellent subject matter.
The drawings below are in my constant-companion Moleskine sketchbook, 8 1/4 x 5 1/4 inches, in BIC mechanical HB pencil with some added tones using Staedler coloured pencils (which didn't work out very well for anything at all, IMHO).
Our neighbourhood was quite working-class and one of the last places on the planet to see Beetles in their natural habitat (Brazil and Mexico continued to make them years after Germany had moved on).
There was a bakery – Expendio de Pan –at the end of the block on the Ermita square and a few tiendas (small shops) on nearby streets.
Some of the houses were painted in pastel colours; most were dusty white with bright trim.
Everybody drinks Coke – the red colour of its logo is everywhere on tables, chairs, vending machines and delivery trucks.
Laundry is pegged out on the flat roofs. Streets are cobblestone or brick, sidewalks are usually paved but often badly broken up. Tough for old people to get around.
Margaritas cost about 65 pesos – about $4 Canadian. Cafés and tavernas were great, mostly open to the street, with good service and cheap prices.
I became fascinated by the abandoned pair of hotels on Calle 68 south of the bus depot (I wrote the wrong street name in the drawing!): the Hotels Cortes and Alamo, with their beautiful peeling paint.
Excellent daytrip to Uxmal – almost empty compared with Chichen Itza and free of touts and vendors. See the photos below of climbing the Gran Pirámide.
Unforgettable daytrip to the fantastic estuary at the Celestun biosphere reserve with its hordes of pink (actually coral-coloured) flamingos.
You rent a boat that seats 6 people (and try to hook up with other travellers as we did with a family from Chihuahua to share the cost) and head miles out into the estuary.
The operator cuts the outboard motor and you drift to within metres of the flocks. They are so beautiful and elegant but honk like a barnyard of goose-pig hybrids.
It proves that God has a sense of whimsy!
Celestun was our beach day, mainly observing the birds and the fishermen as the water didn't look terribly inviting.
On another day, we took the bus to Izamal about an hour+ from Mérida. People hanging out and not a huge amount to see except for the large convent and a small Mayan ruin nearby.
Drew the dogs and the buzzards and watched a man expertly edging a lawn with a razor-sharp machete...
The woman on the left has a classic Mexican-Indian head. Most people are quite short (5' or so), sturdy and fit, with dark skins and black hair.
As with everywhere in Mexico, the children seem to be independent but deeply loved and contented; family life appears strong and traditional compared with the rest of North America.
I hope they build the wall to keep the Americans out.
And some photos with the aged Samsung cellphone ...
Climbing and descending the Gran Pirámide; dangerous and very hard on the knees and thighs!
The other, larger "soothsayer's pyramid" (Pirámide del Adivino) is off-limits.
The entry to a museum on the Plaza Grande. Note the conquistadors standing on screaming Mayan heads.
The best "stations of the cross" I've ever seen, in the cathedral on Plaza Grande in Mérida, with curious "Iron Cross"
motifs below them. The cathedral, we were told, is the oldest and largest in the New World.
We learned that the cathedrals were built with stones from demolished Mayan temples on the site of Mérida, using their limestone bases.
A few stones with their Mayan decoration intact and facing outward were placed in the walls of the cathedral and nearby churches,
probably by whip-driven Mayan workers determined to keep a vestige of their cultural memory alive.
If you ever thought that the Spanish colonies were tolerable places, a visit to the Yucatan will disabuse you of that notion.
Colonial wealth on Mérida's "Champs Elysées" – the Paseo de Montejo, a half-hour walk north of the Plaza Grande.
The source of the wealth? Sisal, which is the fibre of a yucca that was grown to meet the booming demand for ropes and nets c. 1900.
It was plantation work done by Mayan-Mexicans working under appalling conditions. It is interesting to see that
the government buildings in Mérida are now bilingual Spanish and Mayan, part of the reconciliation for Mexico's past.
And, the flamingos at Celestun, as close as I could get them with the cell-phone camera.