Manzi and Kaufman driving the Camera into the grave. Those two are as bad as Alden Capital. That hedge fund needs to wax those two. You'll be better off for this whole ordeal Dave. Best of luck.
It is a disgrace what DFM and Alden are doing to such great journalism giants. The fact that a non-newsman killed your column because it reported the news and facts is absurd. I understand doing what you have to do to keep your job, but is it a job worth keeping if you have to sell your soul to the devil?
Dave you know you have been an inspiration to me since my days at the Rocky where we forged a weird friendship that I cherish. I hope that you find a place to do what you do best and they appreciate your work and ethics.
Dave, my Dad would be so proud of you! The deliberate death of newspapers in Colorado would have broken his heart.
Wow. Your tenacity and competitiveness made me better. This is such a sad, sad commentary on the times we live in and breaks my heart for many reasons, not the least of which is one of the most fierce journalists I know, who I could always count on to tell me the truth and hold people accountable, is a man without a desk.
I think you'll probably feel better getting out of that place anyway. Great account of an emotional, ethical battle. Good luck in the future!
Let's hold the Daily Camera for ransom: I think we should tell the Alden Group they have 30 days to rehire Mr. Krieger, and if they don't, Boulder's citizens will cancel our subscriptions and our businesses will stop buying ads. Before we let them kill the Camera, we'll perform a subscription-assisted suicide.
It is my hope that announcing this 30-day ransom period will attract sufficient publicity nationwide to incent the Alden Group to spit the Camera out to a local non-profit entity formed by local public and private supporters on or before the 30-day ransom period runs out. If they don't blink, AG risks a rapid devaluation of the Camera's value as subscriptions and ad revenue drop.
I'm open to other ideas, but I haven't been able to come up with a better way to pressure the Alden Group to sell the Camera to something like a "Community Information District" – see http://www.infodistricts.org. Carpe Diem!
We only met once. It was during the 2017 city council campaign and I had an interview with you, Kevin, and Al. Your intensity was impressive and intimidating. When I received your endorsement (not sure how much Kevin and Al had to do with it…). I was honored. I proceeded to print that editorial on my home printer and hand it out as I knocked doors all over Boulder. Not sure if I violated some copyright laws in doing so but I was proud of the endorsement from you.
The reason I say this at all is that I took a bunch of heat and shade from opponents and their surrogates for being endorsed by the Camera which was owned by a venture capital fund and that you were doing their bidding, that you were in cahoots with your corporate overlords. Those same people our now your greatest supporters.
The world is an ironic place.
Often one reads a story about a "hero," someone who does good in the face of great personal adversity. An honest person reads those accounts and wonders (never really knowing), "What would I do in that situation?" In this case you have shown yourself to be a stand up guy with enough courage and temerity to warrant the appreciation of our whole community.
I wish you only the best. May this episode result in something good for you.
My father, David Alter, was an old style newspaper man. He would have been proud of your actions as a newspaper man, and for taking the stand. (ok, he might have ended it with a very clear description of where management could go, and exactly how to get there, but that was the old WWII Marine in him). I know I am proud of you.
Dave, we've never met, but I'm a loyal reader of your work and spent 25 years as a journalist. You have provided a much-needed breath of fresh air as well as a large dose of common sense to this oft-myopic community. Not only do I wish you, personally, the best, but I also wish the best for the Camera and its readers. Thanks for this frank account, and please keep us informed of your future efforts.
Dave, I've greatly admired your work over the past years. I've "terminated" my subscription in protest of your firing and have spread the word on social media. What has happened is despicable and I can no longer support the greedy hedge fund. To hell with them! Censorship has no place in journalism.
Oh, I wrote to Al and Kevin letting them know I was done and would spread the word for others to cancel!
Dave, Jay Koelzer wishes he was there to have your back — like you had his at the Rocky. He is a sentimental guy and cried when I read this blog post. We both applaud your bravery and wish you the best. The death of journalism is a frequent topic in the Koelzer household. Kudos to you for your honesty. We wish you the very best.
Rock on, DK. There's nothing else I can add. Rock on.
No clouds can dull the Sun. Your brilliance to power the new kind of honest journalism that is today's mandate cannot be curtained. You represent high integrity, well researched, curiosity driven, and relevant journalism. Launch a new news and commentary startup. Charge forward and set a new path. Tap into the network of giants like you who yearn to tell the truth for the public good and have been muted by corporate masters. Reconnect with mentors who invested in you. Seek insights from your trusted companions. Stay focused on your core: purity and service. Look ahead not back. Frame your path and march on.
Life throws us in oceans we are not prepared to swim in. But you have survived many fires and you will emerge stronger here too. You have it within you to create a new reality in honest storytelling. Lead the pack for all who need an intrepid and wise leader that you are.
I agree totally w/ Rajeev! Readers: Don't push for a Camera buyout. Support a new daily paper in Boulder,let the Camera go bankrupt and let theAlden people rot in hell!
For as long as I can remember and that's nearly four decades I have admired if not worshipped your efforts to tell true stuff. Thanks for your lessons on truth and journalism – one of them came in a most pointed Facebook comment just two years back – and thanks for your commitment to a free and unfettered press.
I'm sorry to see you go and also sorry to see the CAMERA, apparently, go. I came to Boulder to attend C.U. on a journalism scholarship, intending to have a career as a journalist. As Fate would have it, I got sidetracked, and I earned a B.A. in English literature instead, but continued to write all my life, publishing three books, various short stories, a great number of movie reviews and numerous articles and opinion pieces. Once I even applied to be the features editor at the CAMERA, but was turned down.
Newspapers can't compete with the instant news outlets on the Internet and on cable-TV, but they can compete as a publisher of in-depth stories "behind" the news and informative opinion pieces such as you write. When I came to Boulder, both the CAMERA and THE DENVER POST were afternoon publications. If the CAMERA is to survive as a printed publication, perhaps it could go back to being an afternoon publication, so that the audience can have more time to read the pieces at their leisure. I will keep my subscription for the time being, but now I am also following your blog.
Dave – We've never met, and to tell it straight, I've been opposed to you as often as I've been with you in regards to your perceptions of local events. Nevertheless, it's you and yours capacities to incite thinking and discussion that remains the lifeblood of our democratic society. A way to re-create the services provided by a local newspaper, un-beholding to a philosophy of hyper-profitability, is essential to the long-term survival of a free and democratic society, the Camera and Boulder included.
I'm with Ed Byrne: I've unsubscribed the Denver Post and will do the same with the Camera and to whatever degree possible I'll try to abet the creation of a 3LC (low profit limited liability) local newspaper. Sign me up.
And the proof in the pudding is the sound coming from today's Daily Camera: crickets. Best of luck, Dave. I didn't always agree with your editorials but I always appreciated the thought that went into them. BTW, I saw much the same thing happen in my many years doing work for KBCO. Corporate bottom-liners using slash-and-burn tactics to gut what was once a vital and creative radio station.
Dave: What occurred is not a big surprise but is a major disappointment. You brought so much that was fresh and genuine to an otherwise failing newspaper.
Your stand is appreciated and the end of the story is yet untold. We will miss your forthrightness.
I think the only way to stop Alden is to cut off the cash, and the possibility of doing that with most success was before the last round of cuts.
It's obvious what the game plan is at Alden, and current staff are all short timers.
If staff had united and locked stopped publishing in a place with a significant footprint such as Colorado where would Alden find replacement workers to get the paper back up without a revenue crisis arising?
In Southern California, the cuts have been draconian. Former SCNG flagship LA Daily News has three reporters covering news. What next?
This is a new game, and to beat ugly, sometimes you have to get ugly.
Not sure if this is the T.J. I'm thinking of, the famous former L.A. Timesman, but I don't have an email for him and no email shows up on these comments. If you'd rather confirm privately you can use the direct message feature on Twitter.
The reason to cancel your subscription is because the paper's not as good now that Dave's gone, nor can it be trusted as a credible news source.
I've read your editorial, and I call it "intelligent and restrained." I think you wrote a terrific piece, an absolute bulls-eye.
If you need a reference, have them call me.
Krieger, I recently read that the new model for newspaper journalism could only occur after the industry had totally imploded and burst into flames, then and only then, it might be rebuilt in someone's garage, built on dedication, integrity, ethics and community duty that molds every successful journalist. The lunatics are running the asylum and they are shitting in their beds. They'll soon be moving on. What's in your garage?
I don't know you nor have I read your work before this blog. But, I admire your candor and your guts. Perhaps this is the impetus to writing a book or a movie script.
Thanks for a most stimulating series of editorials during your tenure. I know that many in Boulder did not always appreciate your take on the muni and on growth policy, but I sure did.
What's happening to daily newspapers is devastating; respect to you for speaking truth to power.
Hat's off to you Dave.
The dilemma is whether abandoning the Camera sends a message or wounds the corporate toadies, or simply hurts the few remaining employees, and only accelerates the imminent demise of an historic Boulder symbol. I fail to grasp where all the mega-lottery winners go, when any one could easily fund an endowment to run a truly independent paper in perpetuity. Our clueless, self-congratulatory city officials keep wasting money and energy on issues we have no legal powers to change, staffing with millennials with no concern for Boulder's actual history or natural uniqueness, only cheap housing forever, for the squalid millions expected over the next 50 years. The chill of authoritarianism runs down our backs as we witness how it began in Germany – first you silence the press.
Dave… Since my sons were little, I have told them that when you do the right thing it will cost you. You did the right thing. And it cost you. This moment on your path to new adventures is not the end of what you began when you published the editorial on your blog. It is the beginning. There is more work that needs our attention. I will work with you to start something big, something right.
Your work as a sports writer/columnist is second to none. So… who owns the Green Bay Packers? Let's start a grassroots campaign and ask every Colorado resident, men, women and children, for $5 so the citizens of this state own the Denver Newspaper Agency and all the newspapers in it. Let's do it. I will commit the first $1,000.
Email me so we can exchange mobile numbers.
And finally… remember this… editors are only editors because they can't park cars.
Your suggestion reminds me of how Josie Heath started the Millennium Fund for the Community Foundation. It's an interesting idea.
Dave, you remain a most principled man, and simply the best writer in our region . The state of the newspaper industry is both sad and reflective of the assault on journalistic integrity beginning on Pennsylvania Avenue.
I was about to give up on the Daily Camera when Dave Krieger came on board and reinvigorated the editorial page while writing some of the best editorials the Camera had seen in years. 'Comforting the afflicted and afflicting the comfortable,' Mr. Krieger often challenged the inbred group-think Boulder (myself included!), and it's representatives often suffer from. I am at a loss; should I continue to subscribe to a paper I've faithfully read since 1969 in the face of such cowardice by the Publisher and the leeches at Alden Captital or throw in the towel in disgust. I pray that some local investor(s) with a fervent faith in the fourth estate will emerge to provide honorable employment for the likes of Dave Krieger and Mike Littwin who are to be treasured, not scorned.
Democracy is so ill-served by these terrible Alden people. No sense of decency, and no understanding of citizenship or public responsibility. A commentary on our system gone awry. So how to respond? Many have offered to buy the Post and the Camera, but so far no response from Alden that I know of. Of all the strange developments, apparently the Colorado Springs Gazette-Telegraph is now the most robust daily in the state; maybe they will watch the Denver area papers simply die, and then they will expand north.
As a regular letter writer and an occasional op-ed contributor (i.e., free content provider) to the Camera's editorial page, I have been consistently impressed with Dave Krieger's editorials and general work since he took the helm.
Everyone should cut the economic chord to the DFM/Alden overlords, and unsubscribe in protest, as suggested by Ed Byrne in an earlier comment in the original blog posting. Make the Camera's business worthless, so it can be sold at a decent price to a new local owner that gives a damn, and who can restart with integrity.
I mean really, the front section of the paper Daily Camera every day is a set of half-page ads designed as fake news stories selling questionable medicinal cures to an imagined ignorant readership. It's pathetic.
Dave, Thank you for your courage. Boulder and our democracy needs an independent, vetted, edited source of the news, Sadly, the Camera is no longer this. After 40 plus years I am ending my subscription to the Camera. While I will miss an actual paper newspaper, it is my hope that there can be an online Boulder daily newspaper meeting the above requirements that I can subscribe to.
I agree with Ed Byrne! Dave, we've had some disagreements in the past but I have come to respect you more as time went on. I hope you land some place where they appreciate your guts. I, like others, would happily join in a movement to screw Alden and create a new local. Laurie Paddock is spinning in his grave!
I'm sad that this happened to you, Dave. We always enjoyed your commentaries, although sometimes we disagreed. Nonetheless, you provided great food for thought. I'm hopeful that this bodes ill for the Camera, but out of the ashes will come a new publication that tells the truth. Thanks for the editorials!
Dave, I have enjoyed reading your editorials for years. You have provided a very reasoned and thoughtful approach to everything you have written, which doesn't always happen in Boulder. Thank you for taking the ultimate stand and letting our community know what has happened to journalistic freedom. When one door closes another opens-may it be fantastic!
Dave…I was astonished to hear of your termination but I certainly agree with all of the comments offered by others here! You were an inspiration to those of us who love and respect local journalism and seeking the truth…best wishes to you on whatever may come next!
Dave, I still remember the first time I heard you on the KOA afternoon sports talk. It was very clear that you had a command of the English language rarely heard outside of Public Radio. Listening to you was fun and interesting. And then one day you arrived on the Boulder scene and I was delighted. Your contribution to the editorial page of the Camera was immediate and appreciated. I'll miss you…we'll miss you. We can only hope our paths will cross again and soon. May the wind be ever at your back.
Dave this is terrible. I love reading the local paper every day. Helps me to know what is going on here in my back yard and gives me a sense of community. And the lack of any mention of this in the Camera reveals how deep this censorship has gone. We all need local news, because once the paper covers too large an area and too large a populace, it is directly relevant to no one and becomes entertainment.
You are in the right, they are in the wrong. Some good will come from this pain. Thank you and damn them. I will honor you tonight at city council…then continue to reveal the truth about the Muni. Thanks for making the Camera so good. I pray the talent that remains has your courage and can carry on.
I write from the grave where I am quietly rolling over.
Thanks Dave for your principled stand. I agree with other comments about making Alden investments perform poorly. When the revenues decline they will then be interested in selling- at a nice low price. This goes for the Post as well. How can we gauge the amount of support for subscription cancellations?


The same individual may not be introduced as a guest for the use of the Golf, Tennis and Pool facilities on more than one day in any consecutive 30-day period; except that such person may in addition participate in any and all member-guest tournament or tournaments which shall take place during such thirty day period; and except that out-of-town guests of a member over a weekend may play golf or tennis, or both, with such member during all days of such weekend.
Guests must be accompanied at the Club by a member. Members are responsible for the conduct of their guests and ensuring that their guests are in compliance with all applicable dress codes and rules. This rule also applies to Non-family child care attendants.
Golf and Tennis guests must be registered at the Golf Shop or Tennis Shop before they may use the Golf Course, Tennis Courts or Swimming Pool. Swimming Pool guests must be registered at the Swimming Pool.
Parents of members, and sons and daughters of members (unless under 23 and unmarried), if they themselves are not members, fall within the category of guests.
The Chairman of the appropriate committee shall be consulted before large parties may be introduced for Golf, Tennis, or Swimming.
Members and their guests should be appropriately attired at all times. Members are required to inform their guests of the dress code requirements and to ensure that their guests are in compliance. Exercise/workout clothing, other than golf and tennis attire, is not permitted. Shoes must be worn at all locations except the Pool. Bathing attire is permitted only at the Pool. If you have any questions concerning the dress code, please contact the Club office.
Unripped denim, Bermuda-length shorts and tennis attire are permitted in dining areasunless otherwise noted.
Unripped denim and Bermuda-length shorts are permitted. Tennis attire is not permitted. Polo shirts are permitted but must be tucked in.
A jacket is not required. Blue jeans, sneakers and flip-flops are not permitted unless otherwise noted.
Attire on the golf course should be neat in appearance and of style and design acceptable as golf attire. The only approved dress on the golf course and practice areas is long pants or shorts for men, slacks, skirts, or shorts for women. Only Bermuda length shorts are permitted, short shorts are prohibited. No tennis or coaching apparel, jeans or jean style pants, cut-offs, running shorts, or tank tops are allowed. Men's shirts must have collars (turtlenecks and mock turtlenecks permitted). Women's sleeveless shirts must have collars; women's shirts without collars must have sleeves. These rules apply to all golfers in any area of the golf course including the practice putting green and the practice areas. Only golf shoes deemed proper by the Green Committee are allowed, either spikeless or with non-metal spikes. No metal spikes may be worn on the golf course. Sneakers without cleats are allowed; running shoes and hiking boots are not permitted.
All tennis players must wear tennis attire that is predominantly white. Modest color trim or design is acceptable. T-shirts are not permitted. Warm ups of any color are acceptable. Sneakers must be worn on the tennis courts at all times.
Members, children, and guests going between the clubhouse, locker rooms and the pool must wear shirts or cover ups.


text:
Q: How to make Laravel work asynchronously? I have written this piece of code in Laravel(Lumen) v5.6:
public function store(Request $request)
{
    // other code here
    $this->bigUglyFunction($comment);
    return response()->json($comment);
}

I'm expecting the bigUglyFunction() to take a significant amount of time to finish executing. But I want to return the Response as quickly as possible. So I need the program to pass control to the next line while it's also executing that function. Maybe Laravel Queues can be handy but I am not sure, and also I'm not much experienced in this area. I'm hoping someone could help me regarding how to make that method work asynchronously. Thanks in advance.

A: You can refer to queues
Queues [https://laravel.com/docs/5.5/queues]
It is one the best ways to implement the asyncronous nature on big tasks.

redpajama_set_name: RedPajamaStackExchange


Synopsis: "Mark Wahlberg leads the cast of Contraband, a fast-paced thriller about a man trying to stay out of a world he worked so hard to leave behind and the family he'll do anything to protect. Set in New Orleans, the film explores the cutthroat underground world of international smuggling-full of desperate criminals and corrupt officials, high-stakes and big payoffs-where loyalty rarely exists and death is one wrong turn away. Chris Farraday (Wahlberg) long ago abandoned his life of crime, but after his brother-in-law, Andy (Caleb Landry Jones), botches a drug deal for his ruthless boss, Tim Briggs (Giovanni Ribisi), Chris is forced back into doing what he does best-running contraband-to settle Andy's debt. Chris is a legendary smuggler and quickly assembles a crew with the help of his best friend, Sebastian (Ben Foster), to head to Panama and return with millions in counterfeit bills. Things quickly fall apart and with only hours to reach the cash, Chris must use his rusty skills to successfully navigate a treacherous criminal network of brutal drug lords, cops and hit men before his wife, Kate (Kate Beckinsale), and sons become their target" (United International Pictures).
Verdict: All about an experienced but retired smuggler who is forced to get himself involved again – ah, we had quite a few films with the similar plot already, don't we? Some were at least enjoyable but Contraband isn't one of them. It's cliche-ridden, boring and draggy. The second half of the movie is a little more tensed but the lack of realism just spoils it all. Even the action scenes are boring. Perfect role for Mark Wahlberg, one that didn't require him to act much. Did Hollywood once again spoil a good film by remaking it, or is it actually this bad? We'd have to watch the original, Reykjavík-Rotterdam, to find out. The director of this remake, Baltasar Komakur, stars as the protagonist in that one.
Two of the most unrealistic scenes: [SPOILER BEGINS HERE] First, it's the scene where they rob the armoured van in Parnama. How in the world is it possible for Chris (Mark Wahlberg) and Danny (Lukas Haas) to escape from so many police and SWAT, without even getting shot at all? And not to mention that they accomplice are wide open at the back of the truck when fleeing. Second, how can one be still alive after being bagged in plastic for an hour at least? Not to mention that she lost a lot of blood? Kate (Kate Beckinsale) is probably not a normal human being [SPOILER ENDS HERE].
The ending: [SPOILER BEGINS HERE] Kate survives, Sebastian (Ben Foster) goes to prison, Chris and his team sell the goods to a buyer who then tells them about a robbed painting in Parnama that worth at least $2mil. Andy manages to purchase Gonzalo's (Diego Luna) black van back from an auction which somehow still has the painting on it [SPOILER ENDS HERE].
Malaysian censorship: Nothing to censor besides the F-word, which they didn't at all.
Second opinion: "It's not boring but sort of draggy" (Iris Loong).
The invitation to the premier screening of the film was courtesy of ChurpChurp.
i actually enjoyed this movie. although certain parts were predictable eg Sebastian being the rascal…but yes, I think I'll be getting this DVD when its released.


The environmental lawyers at Lieberman & Blecher have a long history of assisting clients in understanding the environmental laws, rules and regulations that apply to their businesses, as well as their industrial, commercial and residential properties. From developing waterfront property to managing industrial wastewater, we help clients meet their environmental obligations. And, if our clients ever find themselves facing environmental enforcement actions, our attorneys posses the experience necessary to defend them vigorously before administrative bodies or the courts.
Many business activities, and even some private activities, are subject to one form of environmental permitting or another. Land development and infrastructure projects are particularly likely to trigger environmental permitting requirements, especially in the highly developed northeast where open space is scarce, the population is dense, and development is often situated close to environmentally sensitive areas. Our attorneys have counseled clients in obtaining wetlands permits, solid and hazardous waste permits and water-related permits, among many others. The environmental permitting process often requires clients to work closely with regulators. Our attorneys frequently engage with regulators and have developed the relationships and reputation for lasting success that enables them to move matters forward quickly. This enables our clients to focus on their goals, not the bureaucratic process.
There are a multitude of environmental statutes, regulations, and informal rules that govern how businesses conduct operations that may have an environmental impact, and how property owners utilize or develop their land. From the monitoring of hazardous chemicals and waste to the construction of residential docks in tidelands areas, environmental compliance obligations must be met. The environmental lawyers at Lieberman & Blecher have long served as counsel to companies and individuals concerning these obligations. Whether our clients are siting a recycling facility or bulkheading their waterfront property along the shore, we help them ensure that they are complying with the applicable environmental laws. From the monitoring of hazardous chemicals and waste to the construction of residential docks in tidelands areas, environmental compliance obligations must be met.
Environmental regulators, and in some instances, members of the public, have the ability to enforce environmental laws. These enforcement actions can take the form of administrative proceedings before regulatory agencies, such as the United States Environmental Protection Agency and the New Jersey Department of Environmental Protection. Such actions may also be brought before state and federal courts. The attorneys at Lieberman & Blecher have a wealth of experience in defending and pursuing environmental enforcement actions.
For clients faced with enforcement actions, we have enjoyed tremendous success in reducing or eliminating penalty assessments. We have been likewise successful in pursuing such actions under the citizen suit provisions of various environmental statutes for clients who believe that regulators have failed to adequately protect their communities. This range of experience enables our attorneys to examine issues from every possible angle.
Our attorneys counsel clients concerning their participation in the legislative and administrative rulemaking processes. Clients of the firm are often concerned about the impact that potential legislation or regulations will have on their businesses and communities. Therefore, we represent clients in the public comment process by evaluating the impacts that potential laws may have and assisting clients in registering public comments. In situations where regulatory agencies fail to adequately observe the administrative process, our strong litigation background allows us to assist clients with legal challenges to the applicable rules or regulations.


Finally! A stylish case for your iPad, which camera and speaker holes! This case can fit both the iPad, iPad2 and iPad3. Made from neoprene and embossed leather with suede accents, this padded case is as tough as it is fashionable! The iPad fits securely in a snug leather pocket with a velcro closure for total protection. Unfolds into three standing positions, giving ample viewing options. Printed in the USA!


A lot of the questions I get from readers of this blog have to do with building credit. Everyone wants to know things like what type of monitoring services they should use or how they can increase their score in the shortest amount of time. Unfortunately though, building credit isn't always a quick and painless process. It could take years to build up a solid score with a long enough history to get you the best interest rates when applying for lines of credit. In fact, when I bought my first property at the age of 23, I had a 780 credit score but since the average age of my accounts was so low, I couldn't get the best available rates.
Since then, I've opened multiple lines of credit, lowered my utilization and made sure to keep my oldest accounts active in order to raise my score as high as possible. I have over 20 22 credit cards now and through a combination of careful planning and some tricks and tips I've picked up along the way my credit score is still very healthy(fluctuates from 725-775) and I've never been denied for a line of credit.
Understanding what comprises your score and what affects your score is key in building a solid credit profile. What good is a great credit score if you never use it? I won't ever have a score in the top 5%, but I'll still get the best rates on loans and I can take advantage of all the great sign-up bonuses out there as long as I maintain my good credit.
A credit score is compiled from five main data points: the number of open accounts, the average age of those accounts, the credit utilization rate(balance/limits), number of inquiries and payment history. For newbie credit profiles, there's not a whole lot you can do about the number of accounts you have. If you've never had an account before, that part of your score will be weak. But at the same time, since you've never had an account you won't have any inquiries either which should help your score.
Getting added as an authorized user is one way to jumpstart your credit profile since you gain a new account and there's no inquiry. In my last article about adding an authorized user, I actually did a test case where I added my girlfriend(now fiancee) as an AU on my Amex Gold card and her score went up by 7 points. It didn't make a huge difference but it was a quick and effective way to boost her credit score. Each case is different but generally the worse your score and the higher the limit is on the card you're added to, the higher your increase will be.
When you're added on as an authorized user, the age of your account is supposed to reflect the date that you were added on and not the date the original cardholder opened the account. But there's some ambiguity with Amex since it looks like prior to November of 2011 they would allow Authorized Users to reflect the original cardholder's opening date 'if you asked nicely'. Obviously you could see how valuable that would be since if I had my dad(Amex cardholder since 1980) add me as an authorized user, my average age of accounts would shoot way up. I wasn't even born until 1987 but my credit report would show that I opened that AU account in 1980. And in fact, there are reports of people who did just that!
Amex's official policy is that they will no longer backdate an AU's card to the original date opened of the cardholder but there are still reports of success on this Creditboards forum. The key seems to be persistence. In one case, there was a user who actually called 67 times before a rep finally agreed to change his AU's date to his opening date. When you call make sure you don't mention the word backdate. Instead, ask if they can change the member since date on your AU's card to reflect the same date that's on the original cardholder's card.
My opening date is 2010 on my Amex Gold but my fiancee's opening date was 2012 so I went ahead and called Amex's customer service line. The first rep I talked to told me that their policy was not to change the opening date of an AU's card to match the original cardholder's member since date. Instead of trying again though, I signed onto my online account and used the chat feature to speak with another CS rep.
No luck there either. Next, I decided to turn to social media and see if they could help me out. They told me the same thing the phone rep told me so I finally gave up. It wasn't really worth my time since I might not be keeping my Amex Gold past this year(if they don't waive the fee for me again).
Long story short, I wasn't able to get my fiancee's member since date changed to match mine but I did discover something interesting along the way. Since I have a Hilton Amex that was opened in 1999, Amex allowed me to match my Amex Gold(opened in 2010) to the Hilton card opened in 1999. So on my next credit report, I'll be eager to check and see what the opening date says for my Amex Gold(It worked! I just checked my Experian report and all of my Amex accounts show opened in 1999).
This can be very valuable since you can actually match all your cards to the opening date of your earliest card. I have four different Amex cards so I plan on getting them all changed to an opening date of 1999 and really boosting my average age.
Readers, have you ever heard about this Amex backdating trick or had success with it? Can you think of any other ways to quickly boost your credit score?
I never thought of having my Am Ex backdated! I had a Am Ex v=card years ago and probably could justify having it backdated.
Nice, give it a try and let me know how it goes. They'll do it no questions asked..
I became an AU on an Amex credit card in 2014, I previously had an Amex in 1998, but I closed it shortly before I did a BK in 2007. I asked Amex to backdate AU card to 1998, and they obliged. But on my credit report it still shows as credit opened in 2014. So at this point, Amex shows Original Member since 1998, but on my credit report they still report it as a new card.
Wow, great data point. That's pretty cool of Amex to backdate you to 1998 even though your card was closed. When did they backdate it for you? I wouldn't be surprised if it took a month or two to get updated in Amex's system and then reported to the credit bureaus.


text:
Медійна (дисплейна) реклама (англ. Display advertising) — сучасний вид візуальної маркетингової комунікації, сукупність засобів, інструментів, технологій, пов'язаних з передачею комерційної інформації в мас-медіа.

Медійна реклама — результативний інструмент віртуального позиціювання, закріплення бренду, логотипу (торговельної марки, товарного знаку) у свідомості потенційних споживачів. Використання медійної реклами дозволяє налагодити прямий діалог з покупцем.

Історія
З часів появи технологій інтернет повністю змінив ставлення людей до реклами. Зі зниженням цін на комп'ютери онлайн-контент став доступним для значної частини населення світу. Ця зміна змінила спосіб впливу людей на засоби масової інформації та рекламу та призвела до створення онлайн-каналів просування, за допомогою яких реклама може потрапити до користувачів.

Першим типом відносин між вебсайтом та рекламодавцем було пряме партнерство. Ця модель партнерства передбачає, що рекламодавець, який рекламує продукт або послугу, оплачує вебсайту (також відомому як видавець) безпосередньо за певну кількість показів оголошення. З часом видавці почали створювати тисячі вебсайтів, що призвело до мільйонів сторінок з непроданим рекламним простором. Це породило новий набір компаній під назвою Ad Networks або Рекламна Мережа. Рекламна мережа виступала посередником, купуючи непроданий рекламний простір у кількох видавців та упаковуючи їх у аудиторії, які продаються рекламодавцям. Ця друга хвиля відносин між рекламодавцями та видавцями швидко набула популярності, оскільки була зручною та корисною для покупців, які часто виявляли, що платять нижчу ціну, але отримують розширені можливості націлювання через рекламні мережі.

Третя і остання велика подія, яка сформувала екосистему рекламодавця-видавця, коли відбулося широке впровадження технології RTB (торгів у режимі реального часу). Також називається програмним призначенням ставок, RTB дозволила компаніям, що представляють покупців та продавців, робити ставки за ціну, щоб показувати оголошення користувачеві кожного разу, коли завантажується банер. Коли сторінка завантажується під час відвідування користувача, рекламодавці отримують тисячі ставок для показу оголошення цьому користувачеві на основі індивідуальних алгоритмів кожної компанії. З цією останньою зміною галузі все більше і більше оголошень продається на основі одного показу, на відміну від масових покупок.

День народження першого банера у Всесвітній мережі був 27 жовтня 1994 р. Він з'явився в HotWired, першому комерційному інтернет-журналі.

Елементи медійної реклами
 Буквені символи (текст).
 Зображення (flash-зображення).
 Анімація.
 Відеоролики.
 Аудіо матеріали.
 Фотографії.
 Інформація щодо місцезнаходження певного об'єкта на карті.
 Інша графіка.

Формати медійної реклами
 Банери (Gif, Flash веббанери) статичні, анімовані, з двома Flash-роликами.
 Тизери.
 Рекламні модулі — «поп-андери» (pop-under).
 Інтерактивні річ-медіа (rich-media).
 Рекламні онлайн-модулі (top-line).

Місця розташування медійної реклами
 Пошукові системи.
 Електронна пошта.
 Соціальні мережі.
 Відомі сайти, блоги, ютуб-канали (новинні, розважальні, освітні, комерційні тощо).
 Файлообмінні додатки.
 Біржі контентів, посилань.
 Інші мас-медіа.

Показники ефективності медійної реклами
 Масштаб аудиторії — загальна кількість потенційних користувачів цільової рекламної мережі.
 Показник CTR (рейтинг) — кількість натискань відвідувачів сайту на онлайн-повідомлення.
 Показник BCR- кількість відмов у подальшому перегляді сайту після ознайомлення користувача з першою його сторінкою (виражена у відсотках).
 Показник CVR (конверсії) — кількість завершених дій, пов'язаних з медіа повідомленням (виражена у відсотках).
 Показник ROI — відношення показника отриманих вигід до суми інвестицій у медійну рекламу.

Посилання

Маркетингова комунікація
Маркетингова термінологія
Медіа-маркетинг

redpajama_set_name: RedPajamaWikipedia


"Good morning world. It's time for the Last call !
Yes over all ….its time for the last gasp of summer fun.
That means, since you are back at your job permanently...it's time for the last call, because the steamy season has just sung her last song .
Sadly, Labor Day vacation is over.
So, since you are no longer enjoying vacation or having a ball....it's the Last Call Before Fall!
Stating that last fact. In that last call, the neat martinis also sweet Long Island ice teas, have already begun changing into hot chocolate, and hotter totties.
Because the red rover, while playing your happy games in the four leaf green clover fun of summer…. is almost over.
Okay wait a minute. I guess there is no almost about it.
Because when September one turns the calendar's page …..and labor day sends us all back to work and some to school .... it is official summer is done!
Yes indeed, summer is finished, since down has gone yet another Last hot blazing summer sun.
So stating those seasonal facts today, I am finally finished writing about my lingering memories of swimming, fishing, running, and playing with fire flies in the summertime.
Because summer time has just gone Bye Bye!
That's why, it is now time for old summers last call before we fall into a brand new fall this year!
Saying that Happily September is here!
Therefore winter is also near!
But wait! Is summer really done?
Because turning our mind to the Nice cooler time that's coming.... summertime has given us one Last delightful Final Call before fall and wintertime arrives to have some more fun!
Bottom line. We have one more Last Call week, before we close our eyes and the sizzling summer breezes flee.
So, while cool Autumn winds are starting to come our way, as the golden leaves start falling away from the shaking trees with the sun constantly blazing down.... it seems summertime still has a lot to say.... about our life!
Therefore, hiding behind another nice seasonal door...right before we fall into fall like before, I thought I would think about summertime one more time, once more.
So thinking about a Last call .... as you know,,,,, normally when we hear…. those Last call words they are associated with the end of the party and the cut off of the alcohol that's disappearing!
Yes Last call, usually means you have one more hour before the bar closes.
Last call also means.... there's one more hour before you have to deal with your puffy red eyes, your swollen feet, your bloated toes and your permanently runny nose.
Last call additionally means you have one last chance to sit at your table having fun.
Last call overall means you have one last time to speak up before your drink is finished...and the party is done!
Bottom line one more time, Last Call means you have one more hour to sit on your bum before your chair is given away, and the Last call curtain falls.
That means a LAST CALL, that STOPS THE PARTY ....will always be very important to our starts and finishes at the end of the night that's just faded out of sight!
But also realizing there is more to life than drinking...... when the PARTY TO LIFE IS OVER..... LAST CALL also means .... there's one more day before the bloom falls from the rose's.
There is one last call before the cold autumn wind blows.
And realizing what that cold wind will be like when you die...you also must know that there will be one last call to accept Jesus Christ into your life.
That means, facing the last call of time one day or night arriving.... there will be one LAST CALL FOR YOUR SOUL TO SURVIVE SATANS FIRE.
That's why, thinking about things in many different ways....Last Call means as the year passes away you have ONE MORE CHANCE before something important and fun will be missing forever, and that time is taken away!
And all that means the last call of Time Running Out....will always be very important to your After life.
Bottom line. Shore to shore thinking about The End of Time once more...that will always be connected to the end of life.....you must know how to fly away and not fry.
everybody must realize.... as you are dying that..... THE LAST CALL connected to your soul croaking will Eternally be Urgent, since going to Hell you will be screaming and crying!
Therefore every man child and woman must understand,..if you do not know Jesus Christ....and you miss the Last Holy Call, while going to Hades in a fiery ball….when you lose your unsaved soul...… you really are going to need a lot of crazy old alcohol …..
when you see that the pretty golden gates are closed!
What if there is no alcohol down there…in Hades?
After all that frightening place where you will be jailed is called Hell!
And Hell means taking away all of the fun stuff..... since you will be tortured and will be n PAIN everyday.
going to Hell will be a really bad fall!
Because I guarantee you as you are calling for a last minute "recount on the Last Call" coming from your change of heart and change of mind".... HADES WILL BE NO PARTY AT ALL WHEN YOU ARE BURNING ALIVE! UNTIL THE END OF TIME!
Therefore, since we all want to go to Heavenly Paradise where we will be high on our neat Eternal Life...right now to Survive Satan's Painful Fire....you need to be celebrating with Jesus Christ!


Diabetic Retinopathy is the leading cause of vision loss among working-age Americans. Loss of vision occurs primarily due to damaged blood vessels in the Retina. Diabetics have 25 times the usual risk of blindness, most of which is preventable with early detection and treatment. It is recommended that all diabetics have an annual dilated eye exam to screen for any retinal changes.
These late complications can result in severe visual impairment, therefore early treatment is critical. A Newsom Eye Retina Specialist can check your Retina for signs of diabetic damage. In early Retinopathy, small aneurysms, bleeding, or lipid deposits are seen. In advanced cases, swelling can occur in the center of the Retina, termed Macular Edema. Neovascularization, or growth of abnormal blood vessels, occur in severe cases and may lead to bleeding within the eye or retinal detachment.
The main treatment for Diabetic Retinopathy is laser. Focal laser treatment can be applied to damaged blood vessels to control Macular Edema. For Neovascularization, more extensive (pan-retinal) laser treatment may be needed. Injections of steroid or other medications can also help in patients who do not respond to laser treatment, however, in severe cases, surgical intervention may be necessary.


Hilton Garden Inn, a Bloomington, MN hotel, is the perfect choice when visiting the Bloomington area or the Twin Cities. We offer great amenities such as shuttle service to Mall of America. Other amenities offered include complimentary internet, indoor pool, whirlpool and fitness center.


Bristol-Myers Squibb Co, Drug (Manufacturers), listed under "Drug (Manufacturers)" category, is located at Route 130 & Canal Rdamp; Deepwater NJ, 08023 and can be reached by 8562991100 phone number. Bristol-Myers Squibb Co has currently 0 reviews.
Browse all Drug (Manufacturers) in Deepwater NJ. Discover census data for Deepwater, NJ.


Once in a while, I get the same few questions about my Arduino light shows. I figured it would be a good idea to address those questions and throw in whatever extra information I can.
Q. Are you processing the audio in any way?
No. I tried a tutorial that uses Processing that identifies the levels of different frequency ranges in a song and the Arduino relays the info by way of LEDs, but I think that sort of thing is better suited for mood lighting or lighting features (like those water fountain speakers). My shows include LED patterns and moving servos that wouldn't be controlled by this method, or at least it would likely be very difficult to do.
Q. Can you post your code?
I do not publicly post my code for the shows because they're not really meant for other people to read and interpret. I do not document the code as I program the shows so there would be a lot of confusion as you try to follow along, which happens to me at times. As long as you know how to use the Servo libraries, for loops, and delays, there's not much else to to know.
Q. How did you program the show?
It's trial and error. The process is just replaying the song over and over and slowly adding on more code until I reach the end. (By the time I have a video up, I'm sick of the song.) There's nothing neat or fancy about it.
Visit the Light Show project webpage here.


text:
SERVING A LIMITED NUMBER OF CLIENTS WITH UNLIMITED PASSION
Our passion is media. Our commitment is unparalleled attention to our clients' needs. From international to national to local, small, mid or large, each GRP Media client enjoys the same level of commitment to detail. With those attributes, we have a roster of happy clients.
Click on a logo to learn more.
TAKING THE LEAD
GRP Media Client since 2011
GRP Media's innovative media solutions have helped transform a strong, but under-appreciated, asset management firm into a well-known and highly credible category leader. Over GRP Media's tenure, Invesco has benefitted from significant measured increases in brand recognition, consideration and preference while helping advisors separate knowledge from the inescapable financial noise.
Lurie Children's Hospital of Chicago
IT'S FOR THE KIDS
Lurie Children's, formerly Children's Memorial, has been providing nationally renowned pediatric care in the Chicagoland area for well over 100 years. Lurie's approach has always been to put the kids and their families at the center of everything they do, while staying true to their commitment to always provide the latest innovations in medical technology, research and family-friendly design. Lurie's is a non-profit organization with relatively modest marketing budgets, but it's essential that parents and caretakers throughout Chicagoland are made and kept aware of the hospital's world-class pediatric services and treatments. The GRP Media team takes great pride in stretching Lurie's marketing spend each and every year to appear to be much larger than it really is through a powerful strategic approach, artful negotiations, and especially strong and deep relationships with the Chicagoland advertising community which completely embraces GRP's IT'S FOR THE KIDS mantra.
A WINDOW TO THE FUTURE
When GRP Media partnered with Marvin Windows & Doors in 2015, the 100+ year-old brand was on the brink of an evolution, an evolution designed to distinguish itself in the marketplace as so much more than a maker of hand-crafted windows and doors. Marvin has always been a forward-thinking company that has embraced technology and innovation and shunned the notion of being satisfied with the status quo, and its new brand purpose - TO IMAGINE AND CREATE BETTER WAYS OF LIVING - launched in 2019, perfectly lifts and separates Marvin's position in the marketplace for the future. GRP's primary charge is to identify the best strategies, tactics and media partners to share out Marvin's unique brand story to the homeowners, builders and architects who are instrumental in deciding what brands of windows and doors to use. In the process, GRP is highly focused on identifying and stewarding cross-platform custom content ideas that will advance Marvin's evolved brand purpose in the marketplace.
Checkers/Rally's
A NATIONAL PUSH
In 2014, Checkers/Rally's, a growing burger and fries drive-thru chain, was aggressively pursuing the idea of testing national TV advertising to support its 800+ stores around the country, but was having serious issues with the high out-of-pocket costs typically associated with national TV. GRP Media pitched a strategic "unwired" approach for purchasing national TV that would give the chain the national ad exposure it was looking for, but for a much more affordable price that was within their desired budget range. Checkers/Rally's was intrigued by the non-traditional TV recommendation and GRP Media has been an agency partner ever since. Beyond TV, GRP Media played an instrumental role in educating franchisees across the country on the need to modernize their media mixes to be less reliant on traditional TV and include more social, online video and mobile to deliver the younger and light TV viewing customers who are also some of the heaviest fast-food users. GRP Media's efforts helped to shift Checkers/Rally's media mix from nearly 100% TV in 2014 to a much more relevant and balanced mix of consumer touchpoints today.
Duke's Mayonnaise
SPREADING SOUTHERN GOODNESS
Eugenio Duke started selling her tangy and delicious homemade mayonnaise in Greenville, South Carolina in 1917. Fast forward 100+ years later and Duke's is not only still a viable brand of mayonnaise, it is considered by many die-hard fans to be THE BEST mayonnaise on the market today. And Duke's, with the help of GRP Media, has been working hard to "spread" its tangy goodness well beyond its core southern market roots so it can be enjoyed by mayonnaise lovers everywhere. In 2016, Duke's gained national distribution by getting picked up by Walmart and its network of 4,000+ cost-to-coast stores. To get Duke's story out to the millions of potential new users, the GRP team introduced efficient unwired national TV and geo-targeted digital to Duke's mostly local TV mix. The revised media mix has been working hard to help Duke's continue to show strong sales and distribution growth year over year, more than 100 years after Eugenio sold her very first jar.
GLOBAL PERSONAL TOUCH
How to convey the personal touch a large, global financial institution provides? It requires intimate knowledge of the financial landscape and its intricate terminology as well as developing relationships with the financial media community. With the goal of growing awareness of the brand and its various services, the Northern Trust media team develops separate, insightful plans that individually connect with the most affluent Americans, financial advisors, international asset managers and international custodians for defined benefits/defined contributions through a combination of pinpointed print, selective TV, B2B and B2C digital display and video, custom content, webinars, paid social and private events. Annual third party studies have demonstrated a steady rise in awareness of Northern Trust and its services among the complete spectrum of their target audiences.
Rush Health Systems
When Rush, a Chicago-based health system comprised of several world-class hospitals and treatment centers, decided it was time to relaunch their brand message to get Chicagoans more aware of its nationally ranked and recognized specialties and overall award-winning patient care, they turned to GRP Media to handle their media strategy and buying needs. The GRP Media team could not be more excited to be partnering with Rush alongside a group of passionate agency partners to help them achieve the much deserved best-in-class recognition in the marketplace.
American Century Investments
When investment management firm American Century Investments was looking for a media agency to handle their business in late 2018, they got an insider tip from an already big fan of GRP Media's who also happens to be a current client of ours. American Century was impressed with what they heard about GRP Media's work in the investment services category and how well-versed the team here was on their critically important financial advisor target. When we did our own research on American Century, we were also quite impressed with what we learned and knew that they were the kind of scrappy and successful challenger brand that we worked particularly well with. We also couldn't agree more with their Founder Jim Stower's mantra: "If we make our clients successful, then we, in turn, will be successful."
Delivering on our promise
Of course there must be proof in the pudding that GRP Media actually delivers on all that we promise. Just as we research everything to find the best media platforms for our clients, we methodically research ourselves as well.
We recently conducted a Customer Satisfaction Survey with current and past clients as well as our creative agency partners. The results demonstrate that our partners believe we supply superlative service, smart solutions, and direct contact with our Media Directors.
What is distinctive about GRP Media?
"GRP Media is a first rate partner. They are big enough to have all the resources we need and small enough to have their senior level people actually working on our business on a daily basis. Most importantly, they bring intellectual capital. Very smart people. At all levels. From strategy to sweating the details of execution, we never worry about the thoughtfulness of their efforts."
— Checkers/Rally's
"The people, the willingness to work with us on our terms, fair on pricing, responsiveness. Your buyers work on our behalf as if they were buying with their own money."
— C.F. Sauer/Duke's Mayonnaise
"GRP is the gold standard for all of our vendors. I wish they would give lessons to other vendors on how to work with us. Their upfront research, responsiveness, thorough follow-up and genuine interest in our business are the opposite of a perfect storm--it's a perfect experience. They are part of our team. I know some of what we ask falls outside their contractual obligations, but you would never know it. What an amazing team. We feel so lucky!"
— Invesco
"Prompt, professional beyond words and extremely thorough. A big plus: no prima donnas, just great people you want to work with."
— Ann & Robert H. Lurie Children's Hospital of Chicago
"GRP Media is a top agency that gives sound advice to meet the needs of the client. GRP Media is an agency that I trust."
— Northern Trust
"My team are great advocates for our business and they are incredibly efficient in planning and negotiating on our behalf. As a newer client, I immediately realized a benefit in working with GRP."
— Marvin Windows and Doors
"True partners. True value makers. True champions for our cause."
— Northern Trust FlexShares
"We work in a niche, trade business with limited media options and a lot of cultural and regulatory eccentricities. Of all the service providers I work with, GRP consistently impresses me with their ability to understand our business and our clients, and to ask questions and get clarification when they don't. It's impressive."
— Northern Trust C&IS
"The GRP account team is fantastic. I appreciate the structured approach to the work, the quality of the work, proactively sharing trends, and GRP's leadership on the inter-agency team."
— Dawn Foods
"GRP Media is a true partner and their heart is completely in our business like no other. I trust them, love working with them and I would recommend them to anyone!"
Want to work with us? We're ready. Just call.
GRP Media / 401 N Michigan, Suite 250, Chicago, 60611
© Copyright 2019 GRP Media. All Rights Reserved. Powered by LLT Group

redpajama_set_name: RedPajamaCommonCrawl


text:
package com.amazon.alexa.avs.auth.companionapp;

import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.charset.StandardCharsets;

import javax.json.Json;
import javax.json.JsonObject;
import javax.json.JsonReader;

import org.apache.commons.io.IOUtils;

import com.amazon.alexa.avs.auth.AuthConstants;
import com.amazon.alexa.avs.auth.OAuth2AccessToken;

/**
 * Device side implementation of http://tools.ietf.org/html/draft-ietf-oauth-spop-10#section-4.4.1.
 * Uses the Login With Amazon OAuth2 API to facilitate the exchange of an authCode for access/refresh
 * tokens.
 */
public class OAuth2ClientForPkce {
    private static final String TOKEN_PATH = "/auth/o2/token";

    private final URL tokenEndpoint;

    /**
     * Creates an {@link OAuth2ClientForPkce} given an endpoint.
     * @param endpoint
     */
    public OAuth2ClientForPkce(URL endpoint) {
        try {
            this.tokenEndpoint = new URL(endpoint, TOKEN_PATH);
        } catch (MalformedURLException e) {
            // Convert to a RuntimeException because we've already validated that endpoint is correct when reading in
            // DeviceConfig
            throw new RuntimeException(e);
        }
    }

    /**
     * Uses the LWA service to fetch an access token and refresh token in exchange for a refresh token and clientId.
     * Expected use case of this method: refreshing tokens once the initial provisioning is complete and normal
     * usage of the device is ready to commence.
     *
     * @param refreshToken received from the initial provisioning request
     * @param clientId of the security profile associated with the companion app
     * @return {@link OAuth2AccessToken} object containing the access token and refresh token
     * @throws IOException
     */
    public OAuth2TokensForPkce exchangeRefreshTokenForTokens(String refreshToken, String clientId) throws IOException {
        HttpURLConnection connection = (HttpURLConnection) tokenEndpoint.openConnection();

        JsonObject data = prepareExchangeRefreshTokenForTokensData(refreshToken, clientId);

        JsonObject jsonObject = postRequest(connection, data.toString());

        String newAccessToken = jsonObject.getString(AuthConstants.OAuth2.ACCESS_TOKEN);
        String newRefreshToken = jsonObject.getString(AuthConstants.OAuth2.REFRESH_TOKEN);
        int expiresIn = jsonObject.getInt(AuthConstants.OAuth2.EXPIRES_IN);

        return new OAuth2TokensForPkce(clientId, newAccessToken, newRefreshToken, expiresIn);
    }

    /**
     * Uses the LWA service to fetch an access token and refresh token in exchange for an auth code
     * (and a few other relevant parameter). Expected use case of this method: once we receive a
     * message/notification from the companion app with the authCode, this method will be used to
     * hit LWA and return tokens. These tokens can then be used to access AVS.
     *
     * @param authCode provided by the companion application
     * @param redirectUri corresponding to the companion application
     * @param clientId of the security profile associated with the companion app
     * @param codeVerifier unique value known to the device
     * @return {@link OAuth2AccessToken} object containing the access token and refresh token
     * @throws IOException
     */
    public OAuth2TokensForPkce exchangeAuthCodeForTokens(String authCode, String redirectUri, String clientId,
            String codeVerifier) throws IOException {
        HttpURLConnection connection = (HttpURLConnection) tokenEndpoint.openConnection();

        JsonObject data = prepareExchangeAuthCodeForTokensData(authCode, redirectUri, clientId, codeVerifier);

        JsonObject jsonObject = postRequest(connection, data.toString());

        String newAccessToken = jsonObject.getString(AuthConstants.OAuth2.ACCESS_TOKEN);
        String newRefreshToken = jsonObject.getString(AuthConstants.OAuth2.REFRESH_TOKEN);
        int expiresIn = jsonObject.getInt(AuthConstants.OAuth2.EXPIRES_IN);

        return new OAuth2TokensForPkce(clientId, newAccessToken, newRefreshToken, expiresIn);
    }

    // Helper method used by the class to make HTTP request to LWA service
    JsonObject postRequest(HttpURLConnection connection, String data) throws IOException {
        int responseCode = -1;
        InputStream error = null;
        InputStream response = null;
        DataOutputStream outputStream = null;
        connection.setRequestMethod("POST");
        connection.setRequestProperty("Content-Type", "application/json");
        connection.setDoOutput(true);

        outputStream = new DataOutputStream(connection.getOutputStream());
        outputStream.write(data.getBytes(StandardCharsets.UTF_8));
        outputStream.flush();
        outputStream.close();
        responseCode = connection.getResponseCode();

        try {
            response = connection.getInputStream();
            JsonReader reader = Json.createReader(new InputStreamReader(response, StandardCharsets.UTF_8));
            return reader.readObject();

        } catch (IOException ioException) {
            error = connection.getErrorStream();
            if (error != null) {
                LWAException lwaException = new LWAException(IOUtils.toString(error), responseCode);
                throw lwaException;
            } else {
                throw ioException;
            }
        } finally {
            IOUtils.closeQuietly(error);
            IOUtils.closeQuietly(outputStream);
            IOUtils.closeQuietly(response);
        }
    }

    // Helper method used by this class to prepare string representation of JSON request data
    JsonObject prepareExchangeAuthCodeForTokensData(String authCode, String redirectUri, String clientId,
            String codeVerifier) {
        return Json
                .createObjectBuilder()
                        .add(AuthConstants.OAuth2.GRANT_TYPE, AuthConstants.OAuth2.AUTHORIZATION_CODE)
                        .add(AuthConstants.OAuth2.CODE, authCode)
                        .add(AuthConstants.OAuth2.REDIRECT_URI, redirectUri)
                        .add(AuthConstants.OAuth2.CLIENT_ID, clientId)
                        .add(AuthConstants.OAuth2.CODE_VERIFIER, codeVerifier)
                        .build();
    }

    // Helper method used by this class to prepare string representation of JSON request data
    JsonObject prepareExchangeRefreshTokenForTokensData(String refreshToken, String clientId) {
        return Json
                .createObjectBuilder()
                        .add(AuthConstants.OAuth2.GRANT_TYPE, AuthConstants.OAuth2.REFRESH_TOKEN)
                        .add(AuthConstants.OAuth2.CLIENT_ID, clientId)
                        .add(AuthConstants.OAuth2.REFRESH_TOKEN, refreshToken)
                        .build();
    }

}

redpajama_set_name: RedPajamaGithub