text:
Jimmie Allen confirmed as support for Chase Rice's UK tour
Holly Daniels August 16, 2018 Tour News
NewsTour News
One of the most exciting tours of 2018 just got even bigger… fast-rising newcomer Jimmie Allen has been confirmed as the tour support for BBR Music Group label-mate Chase Rice on his forthcoming UK tour dates in October; adding to Allen's previously announced Country Music Week appearance at the Bluebird Cafe – full dates below. This follows the release of the music video for debut single 'Best Shot'.
In his own words: "As an fan of international music, I'm really looking forward to my first trip to the UK. It's going to be a great adventure taking in the musical culture of a country I admire as well as sharing my music with their listeners. It shall be the beginning of a life long connection. See ya real soon!"
23rd October 2018 – Bush Hall, London (CMW)*
24th October 2018 – Ruby Lounge, Manchester*
25th October 2018 – Oran Mor, Glasgow*
27th October 2018 – O2 Institute3, Birmingham*
28th October 2018 – The Bluebird Cafe @ Bush Hall, London (CMW)
(* – with Chase Rice)
ABOUT JIMMIE ALLEN:
The epitome of the phrase "persistence pays off," Jimmie Allen laid it all on the line to make his dreams a reality. Now signed to BBR Music Group's Stoney Creek Records, Jimmie Allen released his self-titled debut EP (10/2017) featuring a cutting-edge mix of country, rock, R&B, and pop produced by Ash Bowers and Eric Torres.
The Southern Delaware native's talent for songwriting is undeniable, having written a song that was featured in a Super Bowl commercial and appeared in a Diet Coke ad with megastar Taylor Swift. "Blue Jean Baby," off his debut EP, immediately caught the attention of country music fans and critics alike with its soulful groove— rocketing it to #8 on Spotify's Viral Top 50 chart and #5 on Spotify's Wild Country playlist. Allen is currently introducing his music at festivals across the country sharing the stage with the likes of Luke Bryan, Florida Georgia Line, Kane Brown, and superstar Toby Keith. The hot newcomer has already been heralded as one of the top "artists to watch in 2018" by Rolling Stone, Billboard, Pandora, and Sounds Like Nashville, has earned spots in CMT's "18 for 2018" Listen Up program, Bobby Bones' Class of 2018.
Holly Daniels
MOON DUO announce new album "Stars Are The Light" Hear title track now!
Stereo Sanctity July 4, 2019
LOGAN MIZE ADDS FURTHER UK DATES DUE TO DEMAND
Holly Daniels June 27, 2019
SKATING POLLY share new video featuring The Jesus Lizard's David Yow
Stereo Sanctity June 27, 2019
MICHAEL RAY TO RETURN TO THE UK FOR OCTOBER HEADLINE TOUR
DRAB MAJESTY share new track & video "Oxytocin"
PINKY PINKY release debut album 'Turkey Dinner' today. Announce new UK tour dates
BOY HARSHER share new video for "LA (Rabit remix)" and accompanying face filter
Frank Turner Announces UK Tour
The Menzingers Announce New Album/Tour
FUR release new single "Nothing (Until Something Else Comes Along)"


In a celebration of the Public Domain, the Internet Archive's Bookmobile will be coming to a town near you, bringing with it the ability to access, download, and print one of the almost 20,000 public domain books currently available online.
Over the past forty years, Congress has extended the term of existing copyrights 11 times, thereby stopping the flow of creative material into the public domain. The biggest supporters of these laws are individuals and corporations with extremely valuable copyrights that are about to expire (for example, Mickey Mouse). The biggest effect of these laws is to make unavailable an extraordinary range of creative material for next generation's creators. Just as Walt Disney used the works of the Brothers Grimm to produce some of the best of the Disney stories, so too should the next Walt Disney be able to build upon the stories told by Disney.
To learn more about the Internet Bookmobile and the importance of the Public Domain, check out Richard Koman's article for the O'Reilly Network. To learn more about the legal fight, check out the site for The Eric Eldridge Act. If you're particularly motivated, you can support the cause by signing the Reclaim the Public Domain Petition.
If you just can't wait for the Internet Bookmobile to come to your town, you can still access the wealth of publicly available texts online at Project Gutenberg, the Internet's oldest producer of free electronic books.


Hilarious comedian Eddie Murphy is the only thing that keeps The Golden Child entertaining.
The plot is rather silly - Murphy plays "finder of missing children". At the beginning of the film, he appears on a television show to appeal for assistance in finding a teenage girl who recently disappeared. The shallow minded host keeps getting off the subject, and Murphy has to repeat himself several times. However, a woman sees him on TV and tracks him down - apparently a young boy in Tibet has been kidnapped by some devil-worshippers who want to use the child's powers for evil purposes. (This part was rather confusing and vague.) Naturally, Murphy laughs it off, but the beautiful woman insists that he is the "chosen one" who will save the child, so he reluctantly agrees to help her. At this point, he starts having dreams that are but aren't reality - it becomes extremely surreal and makes your head spin. You can never be sure if he's supposed to be hallucinating, if he's in some sort of "other-world" or what.
While The Golden Child initially has comedy, it becomes too jumbled to make much sense, and is seriously lacking in plot.


text:
101 New Articles
Previous Article Message From The Publisher
Next Article Message from the Publisher
It was Tuesday, March 13, 2018, at 5 a.m. It was a dark and cold morning, with some precipitation falling. The weather people were calling for snow of about 6 to 12 inches, depending on what area you live in. With that said, it didn't stop a full coach bus of people from heading out to Albany to represent Forest Hills, Kew Gardens Hills, and its surrounding areas. The trip to Albany was supposed to bring 1,300 people upstate to meet with dozens of representatives to fight for equal funding for non-public schooling. Due to the inclement weather, only about 700 people showed up – which was also a very good turnout, considering the circumstances. There were representatives, mostly students, from many of the yeshivot from the tri-state area. There were also many officials, rabbis, and teachers from various organizations and yeshivot. The trip was organized by the OU through its subdivision called Teach NYS. Overall, the meetings were very successful and things are looking good. Slowly but surely, if we all stick together and work as a single unit, we can have the English studies paid for completely by the state of New York, as is their obligation.
On the note of unity, it is interesting to note that the 700 people who sacrificed their studies, jobs, businesses, and free time to go up to Albany spent the whole day trying to lobby and get funding for over 150,000 Jewish children in hundreds of yeshivot and day schools, as well as over 250,000 non-Jewish students in various private schools. We as Jews have a concept in Judaism of every Jew being responsible for each other, and by making this trip, these 700 or so individuals demonstrated that they take this responsibility seriously. If each and every one of us gets up and takes a trip to Albany together, and we will have over 100,000 people making a trek to our official representatives, I have no doubt we will be funded that same year.
We are sometimes placed in jobs and situations where one thinks to himself, why has Hashem put me in this field or this line of work? Or we might think, why has Hashem placed me in this neighborhood to work with a certain type of people? Each of us has a mission in life. Sometimes it is hard to figure out what that mission is. We have to see each and every one of our interactions as fulfilling a certain mission (mission to Albany). I have an interesting true story that happened to me, which I would like to share with you. For about 20 years, my brother and I worked on Roosevelt Avenue, in Jackson Heights, not far from Forest Hills. Jackson Heights, like many locations throughout the five boroughs, used to be a very Jewish area. Nowadays it is mostly Hispanic, where even the once-frum shuls have been turned into locations where they have church services on Sunday instead of Shabbat services on Saturday. If you go to 77th Street and 35th Avenue, you will see a synagogue that has become a church. The building still displays a Hebrew name and Magen Davids. I hope there are no sifrei Torah there.
One of my customers was a young lady whom I thought was Hispanic but born in the U.S. For years she would come in every so often to buy or repair something. On one of her visits we started talking, and the conversation turned to religion. She told me she was Jewish. I was surprised; however, I knew that in Jackson Heights it was possible. I started to ask about her mother and her father, who were both Jewish. I went further into her genealogy, and it came out that she was a completely Jewish girl who was brought up in this assimilated society. That was not the worst thing. She married a Spanish husband and had two boys with him. This is when the story starts to get messy. She happened to get them circumcised at the hospital, but the boys were being brought up completely non-Jewish. Their father, who was Christian, would take the boys to church on Sundays, and that is what they knew. At the point when I met this woman she had already divorced her Spanish husband, but he was still an active father who visited his boys and took them to church on Sundays. I told her that her boys are completely Jewish because their mother is a full Jew. She started tearing as she heard these words. I saw that her neshamah wanted to be associated with Judaism, but being raised as she was it was difficult.
As the weeks went by she would come in more frequently because I would explain to her about Judaism, and I told her she has to teach her sons that they were full-fledged Jews. Upon inquiring about the boys' age, she told me that one was going to be 13 and the other one was 17. When I heard 13, I automatically thought "bar mitzvah." I explained to her that a Jewish boy who turns 13 has to go through a process called a bar mitzvah. She did not hesitate to want to know more. I told her to bring her son to me and I would talk to him. They came together and I spoke with them. The boy looked like he had a Jewish neshamah. Even though he was a teen and growing up among goyim, he listened to me carefully and was willing to have a bar mitzvah. He could have easily blown me away in two seconds, but look at how the neshamah wants to attach itself to kedushah (holiness), even though it is steeped in klipot.
I spoke with the older brother as well, and we decided we would have a bar mitzvah for both brothers on the same day that the younger one will be turning 13. My brothers and I bought two pairs of tefillin and tallitot, we bought English transliterated books (at the time there was no Rav Israel's Ben Israel transliterated books). We bought bagels, spreads, cakes, and candies and let everyone in Beth Gavriel know we were going to have a special bar mitzvah for two young men. It was a beautiful morning. We picked up the boys with their mother. We came to the youth minyan at Beth Gavriel in Forest Hills. It was the day when the sefer Torah was brought out. The boys put on their new tallit and tefillin for the first time. They came up to the Torah and read the brachot for the first time. It was an unbelievable connection of souls who were robbed from the treasures of Hashem and led astray. I will never forget the moment when I turned to the women's section and saw their mother, full of tears, tightly embraced by my wife.
Each and every one of us goes through many situations in life. Every situation you are in is a chance to make a Kiddush Hashem – whether it is being nice to a goyishe employee or employer who is getting on your nerves or doing chesed and demonstrating that we are children of Hashem, Who is the pillar of chesed, or bringing someone back to their roots and making that connection of their souls to the Source of all good. I do not know where these boys are now or what they are doing. It could be that all that effort was for naught and they never put on tefillin after that day. What I do know is that at the time the mitzvah came to me, I did what is expected of every Jew – to be responsible for every other Jew. This is what 700 of us did when we went to Albany: we acted on behalf of over 150,000 in the system. In Judaism, Hashem does not pay for the result; He pays for the effort. We have to plant the seeds and let Hashem tend to the garden.
"АМЕРИКАНСКИЕ" ПРОБЛЕМЫ БУХАРСКО-ЕВРЕЙСКОЙ СЕМЬИ
"ЕВРЕЙСКИЙ ВОПРОС" В РОССИИ ИЛИ ПОЧЕМУ ПОД ЛУНОЙ НЕТ НИЧЕГО НОВОГО?
"Я, КОНЕЧНО, ВИНОВАТ, НО НЕ НАСТОЛЬКО…"
16 ИЮЛЯ С.Г. ХЕЛЬСИНКИ. САММИТ: Д.ТРАМП – В.ПУТИН
20 великолепных цитат о евреях
Employment Agreements; Drafting, Negotiating And Understanding The Fine Print
"Гаарец": Нетаниягу абсолютно прав по иранскому вопросу
"THINK AND DRIVE, NOT DRINK AND DRIVE"
"Stupid Is As Stupid Does"
"Rabbi's Musings (& Amusings)"

redpajama_set_name: RedPajamaCommonCrawl


See a problem there? Well, I didn't, and neither did my testers. But the dialogs are very similar – same heading text, same buttons – the fine print is different and the Default Folder X icons are in different places, but they're a lot alike. The first dialog pops up, and after you follow its instructions, it is automatically replaced by the second one. Because they look alike, a lot of people thought that the instructions hadn't changed and that they were stuck, with no option but to hit the "Quit Without Authorizing" button. And send me a freakin' email… I got lots of email.
I've seen this type of thing with my apps, as well.
He has an interesting solution to the problem of requesting Full Disk Access: an icon in the app's dialog that the user can drag and drop into the System Preferences window. I've had issues with customers not seeing + button to manually add an app and not being able to find the desired app, e.g. because the Applications folder was sorted by date instead of by name. This avoids those problems, however I've also seen people get confused when asked to drag between two windows, particularly when one may be partially on top of the other. I wish macOS had an API to request Full Disk Access. The current approach is sort of like security through obscurity.
Previously: Mojave's New Security and Privacy Protections Face Usability Challenges.
As noted in the MacRumors Buyer's Guide and discussed in the MacRumors forums, it has now been 602 days since Apple last updated its iMac lineup, a new record for the longest span between iMac refreshes ever. The previous record was 601 days between October 2015 and June 2017 refreshes.
The MacBook was also last updated then; it still has the (even more) problematic butterfly keyboard.
The iMac, as far as I know, still ships with defective Kaby Lake processors.


The standard for all structural and non-alloyed tool steel.
Cost effective for thin walled tubes and profiles in (stainless) steel.
Reduced cutting time for mild steel tubes and solids.
Low friction for high speed cutting of harder materials.
Ideal for cutting steel and stainless steel tubes.
Stable solution for thin walled tube cutting.
The solution for high speed and high volume steel tube cutting.
High performance cutting of steel tubes.
Our HSS circular saw blades are designed for cutting pipes, sections, solid ferrous metals and, to a less significant extent, non-ferrous metals. We can supply HSS saw blades as bright finished (with no surface treatment), steam treated (Vapo) or with a flash chrome coating.
TiN – Titanium Nitride; a good all round coating which allows saw cutting at much higher speeds than with HSS Steam Treated saw blades and are recommended for cutting steel tubes and profiles.
TiALN – Titanium Aluminium Nitride; provides better protection against higher temperatures than a TiN coating. Recommended for cutting applications on which fast cutting speeds or very hard materials cause higher temperatures.
TiCN – Titanium Carbon Nitride; has a very low friction coefficient, extending the cutting blade life in steel tube cutting applications. Suitable for cutting all steel types including stainless steel.
Standard HSS saw blades are supplied in high speed steel grade M2 = DIN 1.3343 and are also available in cobalt-alloyed steel grades such as M35 = DIN 1.3243 and S390 Powder Metallurgy Steel. Diameters vary from 150 to 640 mm in various tooth forms.


text:
Employment Law Daily No disability claim for UPS sorter who had lifting restrictions removed, voluntarily ended interactive process
No disability claim for UPS sorter who had lifting restrictions removed, voluntarily ended interactive process
By Lorene D. Park, J.D.
Affirming summary judgment against an ADA failure-to-accommodate claim by a UPS employee who sought damages for the interactive process period during which she was off work, the Sixth Circuit agreed with a lower court that UPS had no legal obligation to put her back in a position that violated her lifting restrictions on the day she returned, and it had the discretion to instead provide an accommodation identified through the ADA interactive process. Because she voluntarily abandoned that interactive process and had her restriction removed, UPS was not liable for failing to provide a reasonable accommodation (Brumley v. United Parcel Service, November 30, 2018, McKeague, D.).
The UPS employee worked as a "sorter," sorting mail at a Tennessee warehouse in preparation for delivery. As part of her duties, she did a "local sort," taking small packages of 10 pounds or less from a conveyer belt and putting them in slots by destination. Bags that were filled in a "local sort" usually weighed 20 to 50 pounds and occasionally up to 70 pounds, and these would be lifted by the sorter onto another belt for delivery. The employee claimed she never lifted a full 70 pounds but admitted she knew her job might require that weight and the job description said as much. She also worked as a temporary cover driver, delivering packages.
Back injury. In December 2015, the employee injured her back while unloading heavy packages from a delivery truck. She received workers' compensation, and in January 2016, she and UPS agreed that she would perform safety inspections of trucks in a 30-day temporary alternative work (TAW) agreement while she recovered. At the end of the TAW period, she went on temporary disability status through July 2016.
Lifting restrictions. The employee returned on July 29, providing two doctor's notes that included permanent lifting restrictions of 30 pounds and stating that she could return to local sort but no driving. Her supervisor refused to let her return to work because both of her positions, sorter and driver, required lifting over 30 pounds.
Interactive process. The employee filed grievances with the union, complaining she was improperly denied the right to work with permanent restrictions despite providing a doctor's note. Though the record was unclear, the employer apparently construed this as a request for accommodation because it sent her a letter on August 18 stating that it had initiated the ADA interactive process and requesting two medical forms, one filled out by her and one by her doctor. She didn't respond so the employer sent follow-up letters and she faxed both forms on September 14.
Employee has restrictions removed. An HR manager then scheduled a meeting with the employee for October 11 (the earliest date both of their schedules would allow). At the meeting the HR manager explained that UPS would review the employee's restrictions and try to find a position she could fill. In response, however, the employee stated that she wanted to voluntarily discontinue the ADA interactive process and return to the doctor to have her lifting restrictions removed. She did as much on October 27 and returned to work a few days later.
Prior proceedings. The employee then filed suit alleging violations of the ADA, FMLA, and state law. She sought lost wages and employment benefits for the limited period during which she was home from work during the interactive process. The district court granted summary judgment for UPS, and the employee appealed as to the ADA failure-to-accommodate claim.
UPS could choose interactive process over immediate return. Affirming, the appeals court agreed with the district court that the employee could not show UPS was unwilling to accommodate her restrictions and that she voluntarily abandoned the interactive process. It rejected her assertion that UPS should have let her return to local sort, explaining that the "ADA does not obligate employers to make on-the-spot accommodations of the employee's choosing." Rather, an employer must engage in an interactive process to identify the employee's precise limitations and potential reasonable accommodations that might overcome those. Thus, UPS had no legal obligation to put the employee back in local sort on the very day she returned, and it had discretion to provide an accommodation identified in the interactive process. If she voluntarily abandoned that interactive process, UPS was not liable for failing to provide a reasonable accommodation.
Employee voluntarily abandoned interactive process. Also rejected was the employee's argument that she didn't voluntarily abandon the interactive process but was coerced to do so by a manager, who sent her home when learning of her permanent restrictions. Her own testimony contradicted that assertion because she admitted that what the manager actually said was that there were supposed to be work accommodations for permanent restrictions. Also, she admitted she was told the purpose of the interactive process was to allow UPS to review her restrictions and find a position and she could have proceeded along with the ADA process had she not chosen to have her restrictions removed instead. Because there was no triable issue on the voluntariness of her decision, she failed to establish a prima facie failure-to-accommodate case.
Second injury was not new evidence supporting Rule 59 motion. The employee also claimed the lower court erred in denying her Rule 59 motion based on newly discovered evidence from a second work-related injury that happened while this suit was pending. She obtained a doctor's release allowing her to return with a temporary lifting restriction. According to the employee, the fact that UPS let her return with that restriction proved it previously discriminated by requiring an interactive process. Affirming, the appeals court found no abuse of discretion in the lower court finding her evidence irrelevant because it involved a temporary lifting restriction whereas her first injury resulted in a permanent restriction.
Lorene D. Park
Senior Editor and Employment Law Analyst


Look through the profiles of Member users that have joined Italy Match that are tagged with Running. Dating others who have similar interests is a pefect way to come up with ideas to do once you are dating. Create a Totally Free Account to Date Tonight!


text:
Uraga is a genus of moths in the subfamily Arctiinae.

Species
 Uraga haemorrhoa Walker, 1854
 Uraga hyalina Gaede, 1926
 Uraga rubricollis Hampson, 1901
 Uraga trifida Dognin, 1908

References

Natural History Museum Lepidoptera generic names catalog

Arctiinae

redpajama_set_name: RedPajamaWikipedia


At "Oil Prices, Oil Peaks, and the Gulf Crisis", a roundtable sponsored by The Nixon Center yesterday, three experts discussed the future of global oil markets, their implications for the United States and the current geopolitical situation in the Gulf. The panelists—all of PFC Energy, a leading industry consulting firm—included its Chairman and Founder J. Robinson West, the Manager of Market Intelligence Services David Kirsch and the Senior Director of Markets and Country Strategies Group Raad Alkadiri. Geoffrey Kemp, director of regional strategic programs at The Nixon Center, served as moderator.
Yet another factor straining global markets is "enormous" growth in demand. In the United States, West said, "cheap land, cheap credit, cheap roads and cheap energy" have over the past 25 years spurred suburban sprawl. As a result, cars (and thus oil) are now a necessity for many in the country—and demand for gasoline has indeed been highly inelastic, even as prices rise to around three dollars a gallon.
West predicted that as the Chinese economy grows, so too will its demand for cars and gasoline, serving only to exacerbate the problem. Putting current world oil production at about 82 million barrels a day and placing world capacity at about 18 million barrels more, he wondered when demand would exceed this point. West mentioned two dates—five years from now, and 2020—but treated this scenario as inevitable, despairing over "the geopolitical ramifications." Indeed, while describing global warming as a serious problem, West argued that the impending supply-demand crisis is more urgent: "The fact of the matter is, there's a high probability that there's going to be a production crunch . . . before Bangladesh gets flooded." Questioning the will of leaders to make the tough choices required to solve these two issues, he spoke of a "massive wreck on the freeway" ahead.
The conversation then turned to shorter-term issues, as David Kirsch talked about the state of the market and pricing. Pronouncing "OPEC . . . once again relevant", he stated that the cartel of oil producers "just cannot produce" enough oil for a voracious market. This comes after the prospect of a glut led OPEC to lower production by 1.2 million barrels a day in October 2006, when the price fell to about $60 per barrel. This indicates "active market management" by OPEC—very tight control of production.
Like West, Kirsch said the structure of today's petroleum market was very different from past ones. Oil is now seen as an investment, he said, not just a physical commodity. Pension funds, hedge funds, and other players from the "paper markets" are now major factors. This has brought "a lot of stability" to the market and is making OPEC members less concerned with the supply and demand for physical oil and more interested in financial markets—West related a story of Abu Dhabi leaders more concerned with interest rates than oil prices.
Last to speak was Raad Alkadiri, who focused on the political and economic situation in the Gulf countries. He identified a "set of new dynamics" resulting from high oil prices at play in the Gulf Cooperation Council (GCC) states: Saudi Arabia, Qatar, the United Arab Emirates, Kuwait, Bahrain and Oman. For example, Riyadh now has the third-largest cash reserves in the world. North African countries have benefited as well: Algeria and Libya, formerly debtor nations, have surpluses of $17 to 20 billion and $15 billion, resulting in greater political and economic leverage for their governments.
Alkadiri also talked about the "happy story" of what GCC countries are doing with the cash. Many are pursuing "economic diversification" so they are less dependent on the energy sector, investing oil profits and tackling the "one key issue" in the region: job creation.
Another concern is Iraq. Alkadiri served with the British delegation to that country from 2003 to 2004, and his was a decidedly pessimistic view of the situation in Baghdad. Focusing on the debate over the division of hydrocarbon revenues, Alkadiri argued that the lack of political reconciliation and a "collapsing" central government in post-surge Iraq are the central issues. He called the parties "too parochial" to compromise; at one point he said factional leaders were "too well-protected" in Green Zone, allowing them to follow destructive policies at "no cost to themselves." As long as a settlement of differences is elusive, he said, investment in the energy sector will remain risky.
Asked about possible solutions for averting crisis in the question and answer session, West responded he only sees politicians who "haven't a clue" searching for "pain-free solutions"—and thus looking for ways to increase supply. He criticized current alternative energy research programs as wasteful. Ethanol's inefficiency, he said, made it more of a "vast agricultural subsidy program" than a genuine energy policy.
The other option is to reduce demand, West said, "but that involves pain"—and the United States has failed in this respect as well. The size of cars, for example, has only grown in recent years. This led West to make a sobering prediction: Only the "massive economic dislocation" caused by an oil shortage will induce American leaders to find alternatives to petroleum and make the tough choices necessary to curb demand.
Andrew E. Title is an apprentice editor at The National Interest.
THE makers of A Crude Awakening mince their words only slightly, describing their investigation of the peak oil phenomenon as "a naïve quest to examine the world's dependency on fossil fuels" and the results as "a bit of a downer".
But Basil Gelpke and Ray McCormack have the look of film makers who have heard all the questions before — and answered most of them — in the three years since they completed the film. But installed in a modish glass room in a London advertising agency they give every impression of being as enthusiastic about their project now as they were then.
Completed on and off as time and money allowed, the film has graduated from festival competition and critical acclaim to mainstream media interest. In the last few days they have had "everyone from The Sun and the Financial Times, to Power Engineer and the Mail on Sunday" in front of them.
Still clearly enthused about their subject, they talk over the themes of the film and the topics they only touch on: what happens next for the world and hydrocarbon man?
They also make it clear that their film contains no hard answers, merely that they have made a film that is the result of research rather than their own preconceptions, which is about as evasive as you can get while remaining engaged with the subject.
"The aim was to get people talking about the issue," says Gelpke. "Of course if we had known when we started this three years ago that oil prices would triple, we would have put the money we spent making the film into buying oil futures." It's a reflection, he says, that documentary makers don't do it for money, but for glory.
Most professionals in energy shipping will be aware of the concept of peak oil and the flurry of books forecasting the twilight of civilisation that will follow the end of the era of hydrocarbons.
Gelpke and McCormack's film adds a little more to the pot of knowledge about the past and present and hints at the doom-laden scenario to come. But this is an admirably intelligent film — moreAn Inconvenient TruththanFahrenheit 9/11, lighter on the polemic, longer on information, albeit with an ear for soundbite.
"The business community is now interested, so that suggests that something will happen," says McCormack. They first came across the story in a hedge fund analysis note, but even before they had finished the film investment funds and investment banks were requesting screenings for staff.
That included giving a former secretary general of Organisation of the Petroleum Exporting Countries the opportunity to say what he really thought, "and some other people took that opportunity".
The film appears unashamedly aimed at curing ignorance among the majority of US consumers that they are paying far below the real price for oil and that declining prosperity will go hand-in-hand with its disappearance.
That is an easy tale to tell since the US' own oil rush provides an encapsulated lesson in what happens when commodities are treated as if they are inexhaustible.
Key contributor David Goodstein, from the California Institute of Technology, suggests that the growing realisation of oil dependence in the US will result in repeats of the Iraq invasion. But Gelpke and McCormack think consumers are primarily interested in the effect on their pocket. "I was there when gas went over $3 a gallon and it made the headlines," says Gelpke. McCormack agrees there is "virtually no taxation on fuel, it is indirectly subsidised and the public don't realise that".
It's not as if Americans shouldn't be aware — mass oil consumption is a product of the American century and the green revolution that allowed increasing food production to feed an increased population. But the US is not the only territory with the ghost of an oil industry. Baku fed the modernisation of Soviet Russia and is now a rusting, toxic wasteland. Lake Maracaibo in Venezuela looks little better.
The US even had its own storm crow in M King Hubbert, who in 1956 predicted that US crude production would peak in the late 1960s to the early 1970s. Derided at the time, he was lauded when the prediction came true in 1970 and was accepted officially in 1975. In 1974, he predicted that global oil production would peak in 1995.
So have the warning signs been ignored? Experts including consultant Colin Campbell, former Opec secretary general Fadhil Chalabi and Matt Simmons, suggest that the inflation of reserves by the main producer countries is to blame, since high reserves mean a bigger Opec quota. But it also means that those countries have become prisoners of their budgets.
Agreeing that global oil consumption figures are "more or less out there" the fact that the IEA predicts the future based on the past suggests things will change dramatically when the price goes up in earnest.
The fact that crude is being extracted from oil sands should be enough to demonstrate that the era of cheap oil is over. Next year the UK becomes a net importer and North Sea oil will be exhausted by 2030. Consumption growth demand from the countries that more of less sat out the 20th century as oil consumers, goes far beyond the protection potential of known reserves.
This leads in two directions — the hunt for alternatives and securing access to the remainder.
The outlook for the former is not good and the latter is little better. The hydrogen economy promises much, but currently consumes more energy than it produces. Ethanol, thanks to its inefficiency, is no better. Replacing hydrocarbon power generation with nuclear might require the equivalent of 10,000 power stations, exhausting global uranium deposits in 20 years. Solar and tidal power appear the only alternatives, but depend on huge advances in technology to generate power consistently.
McCormack suggests that "the foremost thing we can do is increase energy efficiency in certain parts of the world — the US in particular. We can do an awful lot more", he says.
Gelpke agrees. "What is worrying is how dependent food production is on cheap oil and that one calorie of food output equals 10 calories of hydrocarbon input. That's pretty worrying". Part of what happens next is coal — the environmentalists' nightmare since it is abundant and relatively cheap. For all the talk of China's growing oil demand, its industrial revolution is a coal-fired one.
"The question that gets us into trouble is coal, because it is not the energy of choice," says Gelpke.
The film suggests that with the average US car consuming 10 miles per gallon, the price of petrol should be something like $75 a gallon if drastic energy-saving measures are going to work. Serious queues at the pumps — for which America had a dry run in 1973 — will be the norm in 10 years or less.
The looming fear is of "decade-long resource wars" and a reckoning with the Middle East. Having traded protection for energy with its proxies and allies since the end of the Second World War, the US might in future not limit its intervention to rogue states, but rather step in as necessary to guarantee the flow of remaining oil by taking direct control in its client states.
If the viewer hasn't experienced a downer yet, then the closing predictions might: the end of oil will cause a seizing of the global economy so severe as to create a depression at least as serious as that in the US in the 1930s, but on a global scale, potentially cutting the global population to 1.5bn-2bn.
Prices will rise to and stick at unheard of levels so that consumers will begin to see the conveniences of their modern lives replaced by the realties of the post-hydrocarbon economy.
For many, that seems a long way away. But Gelpke and McCormack leave me with two final thoughts — that the latest estimates predict a steeper fall-off from peak production than was previously thought and that the decline of the world's most important resource coincides with the industrialisation of the world's two most populous countries. Just the former would be bad enough, but the interdependence of the two creates a far greater long-term problem, and despite his upbeat approach Gelpke can't help admitting "that's what worries me most".
It has been a busy week on the peak oil front. On Monday, former U.S. Secretary of Energy and Defense, James Schlesinger told the world peak oil meeting in Ireland that, indeed, imminent peak oil is for real and we should get on with doing something about it. On Tuesday, the Federal Reserve cut interest rates by half a percent, thereby driving oil prices to an all-time high above $82 a barrel. On Wednesday, the stocks report disclosed an unexpectedly large drop in U.S. crude inventories and, finally, a tropical storm may thrash around in the Gulf oil fields this weekend.
Unless the storm turns out to be a really bad one, the most important development of the week is the further decline in U.S. crude oil stockpiles by 3.8 million barrels. Although U.S. stockpiles are still above average for this time of year, they have been falling rapidly since last May. Most ominously, U.S. crude imports for the last four weeks have averaged 750,000 barrels per day less than last year. Thanks to a good week for gasoline imports, U.S. gasoline stockpiles actually rose by 400,000 barrels last week, but are still perilously close to minimum operating levels. Remember that that U.S. burns about 65 million barrels of gasoline a week so a 400,000 addition to the stockpile really is not significant.
So far, gasoline prices, which are the major concern to most, have not risen very much. This is attributed to the drop in demand which takes place after Labor Day and the transition to cheaper-to-produce winter gasoline which goes on the market in September. This situation is unlikely to last much longer. Many knowledgeable observers are beginning to talk of $90 or even $95 oil this winter which will bring gasoline prices to new highs.
We built up our stockpiles well above average earlier in the year, so that we are still 40 or 50 million barrels away from being in trouble and we always have the strategic reserve to fall back on. However, if imports continue to run 3-5 million barrels per week lower than last year, we clearly will be in trouble a few months from now.
While awaiting further developments I would like to make some observations on "The Virginia Energy Plan" published last week. The 180-page plan, which was mandated by the General Assembly last year, reflects the goals of all those with an interest in the future of Virginia's energy: producers, consumers, environmentalists and many others. There is something for everybody which is why the most of those concerned could find something to praise. Even the Sierra Club called it a "very well balanced report," but then went on to release their own report which calls for cutting carbon dioxide emission by 80 percent before 2050.
It would be nice to say the legislation and energy plan were written to prepare the state for dealing with the consequences of declining oil supplies, but this is only partially true. The original legislation was drafted to encourage drilling for oil in Virginia's coastal waters, but then in true legislative fashion, was decorated with so many amendments and compromises that nearly everyone found something to like.
Since the notion that peaking world oil production will soon cause major problems has not yet firmly taken hold in the minds of most Virginians, the plan is not cast around mitigating the consequences of peak oil. From the peak oil perspective, the major flaw is the timing which speaks of goals in decades when the real problems may be months away.
There is nothing wrong with reducing the rate of growth of energy use by 40 percent over the next 10 years, unless one has an appreciation of just how bad the peaking of world oil production and more importantly exports is likely to be. If things turn really sour, it is likely that Virginia will be dealing with absolute reductions in available energy, particularly liquid fuels,ten years from now and not just slowing the rate of growth.
Marked reductions in the availability of imported oil and products, which seems to have started already, will undoubtedly impact other fuels as the nation scrambles to substitute natural gas and electricity for vital functions such as the production and distribution of food.
When shortages start to develop, be it in the next 30 weeks or the next 30 months, a new paradigm for energy will rapidly form.
Once you get by the lack of urgency in Virginia's plan, there is much to praise. The emphasis on conservation and consumer education is exactly what will be needed to cope with the consequences of peak oil. Indeed, this week the state's largest power company announced a plan to aid the distribution of compact fluorescent light bulbs around the commonwealth.
There is nothing wrong with reducing emissions, renewable energy, increased investment in energy R&D, improved electricity and natural gas infrastructure and a host of other recommendations. These are exactly what the state and the whole world, for that matter, will need to mitigate the consequences of reduced availability of oil.
So where does this leave us? Virginia, unlike many other states, has a formal, written, coordinated plan. While it does not contain a sense of urgency and the goals clearly are not in proportion with the crisis we are likely to face, it is a good start. Plans can be changed. Goals can be moved up -- especially if there is no other choice.


This new working paper from The Next System Project was prepared as an invited contribution to the "After Fossil Fuels: The New Economy" conference taking place in Oberlin, Ohio from October 6-8, 2016.
In the paper, Next System Project co-chairs Gar Alperovitz and Gus Speth, together with NSP Executive Director Joe Guinan and Democracy Collaborative President Ted Howard, explore the intersections of systemic economic and ecological crisis, and propose that only a break with the mechanisms of corporate capitalism is capable of guaranteeing a sustainable future. Using examples from the burgeoning "new economy" as a guide toward the outlines of a true systemic alternative, they also suggest that new systemic understandings of monetary policy could be instrumental in the near term efforts vital to keep enough carbon in the ground to forestall catastrophe and create the window we need to scale up the elements of the next system.
More information about the conference, which also features Bill McKibben of 350.org, Tom Steyer of NextGen Climate, and former California governor Arnold Schwarzenegger, and which will be livestreamed, can be found here.


Generated Wed Jul 18 09:19:01 EDT 2018.
$AMX, $CSX, $HWC, $MRTN, $NEOG, $PGR, $UAL, $FNF, $SCHW, $ERIC, and $MS reported earnings that topped expectations.
$DANG! $I $FLOW $MS $MA $IM $FIT $BWA!
$EFF $MS $KATE $OUT $SEAS $BWA! $IT $BORN $MR $HD $HI!
@BeFullyInformed Nice call on $MS!
Morgan Stanley continues to show it may be new king of Wall St. Beat on earnings. Boosts dividend & sets new buyback. $MS up 4% #premarket.
$EFF $MS $FLO $YUM! $HE $YELP $MR $INN $YUM!
$CSX good to see it move up on earnings - got in feb 2016 for 23.88 - my early days with @BrandonVanZee @Market_Scholars learning continues.


We hope you will join us for this evening of dinner, dancing, a live and silent auction, and an inspiring talk by Dr. John Bruchalski. Tickets $150 before October 4th, $175 after October 4th. The Gala supports Divine Mercy Care's mission, which includes serving women through Tepeyac OB/GYN's excellent medical care.


text:
package org.apache.spark.sql.hive.thriftserver

import java.sql.{Date, Timestamp}
import java.util.{List => JList, Properties}

import org.apache.hadoop.hive.common.`type`.{HiveIntervalDayTime, HiveIntervalYearMonth}
import org.apache.hive.jdbc.{HiveConnection, HiveQueryResultSet}
import org.apache.hive.service.auth.PlainSaslHelper
import org.apache.hive.service.cli.GetInfoType
import org.apache.hive.service.rpc.thrift.{TExecuteStatementReq, TGetInfoReq, TGetTablesReq, TOpenSessionReq, TProtocolVersion}
import org.apache.hive.service.rpc.thrift.TCLIService.Client
import org.apache.thrift.protocol.TBinaryProtocol
import org.apache.thrift.transport.TSocket

import org.apache.spark.sql.catalyst.util.NumberConverter
import org.apache.spark.sql.internal.SQLConf
import org.apache.spark.unsafe.types.UTF8String

class SparkThriftServerProtocolVersionsSuite extends HiveThriftServer2TestBase {

  override def mode: ServerMode.Value = ServerMode.binary

  def testExecuteStatementWithProtocolVersion(
      version: TProtocolVersion,
      sql: String)(f: HiveQueryResultSet => Unit): Unit = {
    val rawTransport = new TSocket(localhost, serverPort)
    val connection = new HiveConnection(s"jdbc:hive2://$localhost:$serverPort", new Properties)
    val user = System.getProperty("user.name")
    val transport = PlainSaslHelper.getPlainTransport(user, "anonymous", rawTransport)
    val client = new Client(new TBinaryProtocol(transport))
    transport.open()
    var rs: HiveQueryResultSet = null
    try {
      val clientProtocol = new TOpenSessionReq(version)
      val openResp = client.OpenSession(clientProtocol)
      val sessHandle = openResp.getSessionHandle
      val execReq = new TExecuteStatementReq(sessHandle, sql)
      val execResp = client.ExecuteStatement(execReq)
      val stmtHandle = execResp.getOperationHandle

      // Set the HiveConnection protocol to our testing protocol version.
      // RowSetFactory uses this protocol version to construct different RowSet.
      val protocol = connection.getClass.getDeclaredField("protocol")
      protocol.setAccessible(true)
      protocol.set(connection, version)
      assert(connection.getProtocol === version)

      rs = new HiveQueryResultSet.Builder(connection)
        .setClient(client)
        .setSessionHandle(sessHandle)
        .setStmtHandle(stmtHandle).setMaxRows(Int.MaxValue).setFetchSize(Int.MaxValue)
        .build()
      f(rs)
    } finally {
      rs.close()
      connection.close()
      transport.close()
      rawTransport.close()
    }
  }

  def testGetInfoWithProtocolVersion(version: TProtocolVersion): Unit = {
    val rawTransport = new TSocket(localhost, serverPort)
    val connection = new HiveConnection(s"jdbc:hive2://$localhost:$serverPort", new Properties)
    val transport = PlainSaslHelper.getPlainTransport(user, "anonymous", rawTransport)
    val client = new Client(new TBinaryProtocol(transport))
    transport.open()
    try {
      val clientProtocol = new TOpenSessionReq(version)
      val openResp = client.OpenSession(clientProtocol)
      val sessHandle = openResp.getSessionHandle

      val dbVersionReq = new TGetInfoReq(sessHandle, GetInfoType.CLI_DBMS_VER.toTGetInfoType)
      val dbVersion = client.GetInfo(dbVersionReq).getInfoValue.getStringValue

      val dbNameReq = new TGetInfoReq(sessHandle, GetInfoType.CLI_DBMS_NAME.toTGetInfoType)
      val dbName = client.GetInfo(dbNameReq).getInfoValue.getStringValue

      assert(dbVersion === org.apache.spark.SPARK_VERSION)
      assert(dbName === "Spark SQL")
    } finally {
      connection.close()
      transport.close()
      rawTransport.close()
    }
  }

  def testGetTablesWithProtocolVersion(
      version: TProtocolVersion,
      schema: String,
      tableNamePattern: String,
      tableTypes: JList[String])(f: HiveQueryResultSet => Unit): Unit = {
    val rawTransport = new TSocket(localhost, serverPort)
    val connection = new HiveConnection(s"jdbc:hive2://$localhost:$serverPort", new Properties)
    val transport = PlainSaslHelper.getPlainTransport(user, "anonymous", rawTransport)
    val client = new Client(new TBinaryProtocol(transport))
    transport.open()
    var rs: HiveQueryResultSet = null
    try {
      val clientProtocol = new TOpenSessionReq(version)
      val openResp = client.OpenSession(clientProtocol)
      val sessHandle = openResp.getSessionHandle
      val getTableReq = new TGetTablesReq(sessHandle)
      getTableReq.setSchemaName(schema)
      getTableReq.setTableName(tableNamePattern)
      getTableReq.setTableTypes(tableTypes)

      val getTableResp = client.GetTables(getTableReq)

      // Set the HiveConnection protocol to our testing protocol version.
      // RowSetFactory uses this protocol version to construct different RowSet.
      val protocol = connection.getClass.getDeclaredField("protocol")
      protocol.setAccessible(true)
      protocol.set(connection, version)
      assert(connection.getProtocol === version)

      rs = new HiveQueryResultSet.Builder(connection)
        .setClient(client)
        .setSessionHandle(sessHandle)
        .setStmtHandle(getTableResp.getOperationHandle)
        .build()
      f(rs)
    } finally {
      rs.close()
      connection.close()
      transport.close()
      rawTransport.close()
    }
  }

  TProtocolVersion.values().foreach { version =>
    test(s"$version get byte type") {
      testExecuteStatementWithProtocolVersion(version, "SELECT cast(1 as byte)") { rs =>
        assert(rs.next())
        assert(rs.getByte(1) === 1.toByte)
        val metaData = rs.getMetaData
        assert(metaData.getColumnName(1) === "CAST(1 AS TINYINT)")
        assert(metaData.getColumnTypeName(1) === "tinyint")
        assert(metaData.getColumnType(1) === java.sql.Types.TINYINT)
        assert(metaData.getPrecision(1) === 3)
        assert(metaData.getScale(1) === 0)
      }
    }

    test(s"$version get short type") {
      testExecuteStatementWithProtocolVersion(version, "SELECT cast(1 as short)") { rs =>
        assert(rs.next())
        assert(rs.getShort(1) === 1.toShort)
        val metaData = rs.getMetaData
        assert(metaData.getColumnName(1) === "CAST(1 AS SMALLINT)")
        assert(metaData.getColumnTypeName(1) === "smallint")
        assert(metaData.getColumnType(1) === java.sql.Types.SMALLINT)
        assert(metaData.getPrecision(1) === 5)
        assert(metaData.getScale(1) === 0)
      }
    }

    test(s"$version get int type") {
      testExecuteStatementWithProtocolVersion(version, "SELECT 1") { rs =>
        assert(rs.next())
        assert(rs.getInt(1) === 1)
        val metaData = rs.getMetaData
        assert(metaData.getColumnName(1) === "1")
        assert(metaData.getColumnTypeName(1) === "int")
        assert(metaData.getColumnType(1) === java.sql.Types.INTEGER)
        assert(metaData.getPrecision(1) === 10)
        assert(metaData.getScale(1) === 0)
      }
    }

    test(s"$version get bigint type") {
      testExecuteStatementWithProtocolVersion(version, "SELECT cast(1 as bigint)") { rs =>
        assert(rs.next())
        assert(rs.getLong(1) === 1L)
        val metaData = rs.getMetaData
        assert(metaData.getColumnName(1) === "CAST(1 AS BIGINT)")
        assert(metaData.getColumnTypeName(1) === "bigint")
        assert(metaData.getColumnType(1) === java.sql.Types.BIGINT)
        assert(metaData.getPrecision(1) === 19)
        assert(metaData.getScale(1) === 0)
      }
    }

    test(s"$version get float type") {
      testExecuteStatementWithProtocolVersion(version, "SELECT cast(1.2 as float)") { rs =>
        assert(rs.next())
        assert(rs.getFloat(1) === 1.2F)
        val metaData = rs.getMetaData
        assert(metaData.getColumnName(1) === "CAST(1.2 AS FLOAT)")
        assert(metaData.getColumnTypeName(1) === "float")
        assert(metaData.getColumnType(1) === java.sql.Types.FLOAT)
        assert(metaData.getPrecision(1) === 7)
        assert(metaData.getScale(1) === 7)
      }
    }

    test(s"$version get double type") {
      testExecuteStatementWithProtocolVersion(version, "SELECT cast(1.2 as double)") { rs =>
        assert(rs.next())
        assert(rs.getDouble(1) === 1.2D)
        val metaData = rs.getMetaData
        assert(metaData.getColumnName(1) === "CAST(1.2 AS DOUBLE)")
        assert(metaData.getColumnTypeName(1) === "double")
        assert(metaData.getColumnType(1) === java.sql.Types.DOUBLE)
        assert(metaData.getPrecision(1) === 15)
        assert(metaData.getScale(1) === 15)
      }
    }

    test(s"$version get decimal type") {
      testExecuteStatementWithProtocolVersion(version,
        "SELECT cast(1 as decimal(9, 1)) as col0, 1234.56BD as col1, 0.123 as col2") { rs =>
        assert(rs.next())
        assert(rs.getBigDecimal(1) === new java.math.BigDecimal("1.0"))
        assert(rs.getBigDecimal("col1") === new java.math.BigDecimal("1234.56"))
        assert(rs.getBigDecimal("col2") === new java.math.BigDecimal("0.123"))
        val metaData = rs.getMetaData
        (1 to 3) foreach { i =>
          assert(metaData.getColumnName(i) === s"col${i - 1}")
          assert(metaData.getColumnTypeName(i) === "decimal")
          assert(metaData.getColumnType(i) === java.sql.Types.DECIMAL)
          assert(metaData.getPrecision(i) == 12 - i * 3)
          assert(metaData.getScale(i) == i)
        }
      }
      testExecuteStatementWithProtocolVersion(version,
        "SELECT cast(null as decimal) ") { rs =>
        assert(rs.next())
        assert(rs.getBigDecimal(1) === null)
      }
    }

    test(s"$version get string type") {
      testExecuteStatementWithProtocolVersion(version, "SELECT 'str'") { rs =>
        assert(rs.next())
        assert(rs.getString(1) === "str")
        val metaData = rs.getMetaData
        assert(metaData.getColumnName(1) ==="str")
        assert(metaData.getColumnTypeName(1) === "string")
        assert(metaData.getColumnType(1) === java.sql.Types.VARCHAR)
        assert(metaData.getPrecision(1) === Int.MaxValue)
        assert(metaData.getScale(1) === 0)
      }
    }

    test(s"$version get char type") {
      testExecuteStatementWithProtocolVersion(version,
        "SELECT cast('char-str' as char(10))") { rs =>
        assert(rs.next())
        assert(rs.getString(1) === "char-str")
        val metaData = rs.getMetaData
        assert(metaData.getColumnName(1) ==="CAST(char-str AS STRING)")
        assert(metaData.getColumnTypeName(1) === "string")
        assert(metaData.getColumnType(1) === java.sql.Types.VARCHAR)
        assert(metaData.getPrecision(1) === Int.MaxValue)
        assert(metaData.getScale(1) === 0)
      }
    }

    test(s"$version get varchar type") {
      testExecuteStatementWithProtocolVersion(version,
        "SELECT cast('varchar-str' as varchar(10))") { rs =>
        assert(rs.next())
        assert(rs.getString(1) === "varchar-str")
        val metaData = rs.getMetaData
        assert(metaData.getColumnName(1) ==="CAST(varchar-str AS STRING)")
        assert(metaData.getColumnTypeName(1) === "string")
        assert(metaData.getColumnType(1) === java.sql.Types.VARCHAR)
        assert(metaData.getPrecision(1) === Int.MaxValue)
        assert(metaData.getScale(1) === 0)
      }
    }

    test(s"$version get binary type") {
      testExecuteStatementWithProtocolVersion(version, "SELECT cast('ABC' as binary)") { rs =>
        assert(rs.next())
        assert(rs.getString(1) === "ABC")
        val metaData = rs.getMetaData
        assert(metaData.getColumnName(1) === "CAST(ABC AS BINARY)")
        assert(metaData.getColumnTypeName(1) === "binary")
        assert(metaData.getColumnType(1) === java.sql.Types.BINARY)
        assert(metaData.getPrecision(1) === Int.MaxValue)
        assert(metaData.getScale(1) === 0)
      }
      if (!SQLConf.get.ansiEnabled) {
        testExecuteStatementWithProtocolVersion(version, "SELECT cast(49960 as binary)") { rs =>
          assert(rs.next())
          assert(rs.getString(1) === UTF8String.fromBytes(NumberConverter.toBinary(49960)).toString)
        }
      }
      testExecuteStatementWithProtocolVersion(version, "SELECT cast(null as binary)") { rs =>
        assert(rs.next())
        assert(rs.getString(1) === null)
      }
    }

    test(s"$version get boolean type") {
      testExecuteStatementWithProtocolVersion(version, "SELECT true") { rs =>
        assert(rs.next())
        assert(rs.getBoolean(1) === true)
        val metaData = rs.getMetaData
        assert(metaData.getColumnName(1) === "true")
        assert(metaData.getColumnTypeName(1) === "boolean")
        assert(metaData.getColumnType(1) === java.sql.Types.BOOLEAN)
        assert(metaData.getPrecision(1) === 1)
        assert(metaData.getScale(1) === 0)
      }
    }

    test(s"$version get date type") {
      testExecuteStatementWithProtocolVersion(version, "SELECT cast('2019-07-22' as date)") { rs =>
        assert(rs.next())
        assert(rs.getDate(1) === Date.valueOf("2019-07-22"))
        val metaData = rs.getMetaData
        assert(metaData.getColumnName(1) === "CAST(2019-07-22 AS DATE)")
        assert(metaData.getColumnTypeName(1) === "date")
        assert(metaData.getColumnType(1) === java.sql.Types.DATE)
        assert(metaData.getPrecision(1) === 10)
        assert(metaData.getScale(1) === 0)
      }
    }

    test(s"$version get timestamp type") {
      testExecuteStatementWithProtocolVersion(version,
        "SELECT cast('2019-07-22 18:14:00' as timestamp)") { rs =>
        assert(rs.next())
        assert(rs.getTimestamp(1) === Timestamp.valueOf("2019-07-22 18:14:00"))
        val metaData = rs.getMetaData
        assert(metaData.getColumnName(1) === "CAST(2019-07-22 18:14:00 AS TIMESTAMP)")
        assert(metaData.getColumnTypeName(1) === "timestamp")
        assert(metaData.getColumnType(1) === java.sql.Types.TIMESTAMP)
        assert(metaData.getPrecision(1) === 29)
        assert(metaData.getScale(1) === 9)
      }
    }

    test(s"$version get void") {
      testExecuteStatementWithProtocolVersion(version, "SELECT null") { rs =>
        assert(rs.next())
        assert(rs.getString(1) === null)
        val metaData = rs.getMetaData
        assert(metaData.getColumnName(1) === "NULL")
        assert(metaData.getColumnTypeName(1) === "void")
        assert(metaData.getColumnType(1) === java.sql.Types.NULL)
        assert(metaData.getPrecision(1) === 0)
        assert(metaData.getScale(1) === 0)
      }
    }

    test(s"$version get interval type") {
      testExecuteStatementWithProtocolVersion(version,
        "SELECT interval '1' year '2' month") { rs =>
        assert(rs.next())
        assert(rs.getString(1) === "1-2")
        val metaData = rs.getMetaData
        assert(metaData.getColumnName(1) === "INTERVAL '1-2' YEAR TO MONTH")
        assert(metaData.getColumnTypeName(1) === "interval_year_month")
        assert(metaData.getColumnType(1) === java.sql.Types.OTHER)
        assert(metaData.getPrecision(1) === 11)
        assert(metaData.getScale(1) === 0)
      }
      testExecuteStatementWithProtocolVersion(version,
        "SELECT interval '1' day '2' hour '3' minute '4.005006' second") { rs =>
        assert(rs.next())
        assert(rs.getString(1) === "1 02:03:04.005006000")
        val metaData = rs.getMetaData
        assert(metaData.getColumnName(1) === "INTERVAL '1 02:03:04.005006' DAY TO SECOND")
        assert(metaData.getColumnTypeName(1) === "interval_day_time")
        assert(metaData.getColumnType(1) === java.sql.Types.OTHER)
        assert(metaData.getPrecision(1) === 29)
        assert(metaData.getScale(1) === 0)
      }
    }

    test(s"$version get array type") {
      testExecuteStatementWithProtocolVersion(
        version, "SELECT array() AS col1, array(1, 2) AS col2") { rs =>
        assert(rs.next())
        assert(rs.getString(2) === "[1,2]")
        assert(rs.getObject("col1") === "[]")
        assert(rs.getObject("col2") === "[1,2]")
        val metaData = rs.getMetaData
        (1 to 2) foreach { i =>
          assert(metaData.getColumnName(i) === s"col$i")
          assert(metaData.getColumnTypeName(i) === "array")
          assert(metaData.getColumnType(i) === java.sql.Types.ARRAY)
          assert(metaData.getPrecision(i) === Int.MaxValue)
          assert(metaData.getScale(i) == 0)
        }
      }
    }

    test(s"$version get map type") {
      testExecuteStatementWithProtocolVersion(version,
        "SELECT map(), map(1, 2, 3, 4)") { rs =>
        assert(rs.next())
        assert(rs.getObject(1) === "{}")
        assert(rs.getObject(2) === "{1:2,3:4}")
        assert(rs.getString(2) === "{1:2,3:4}")
        val metaData = rs.getMetaData
        (1 to 2) foreach { i =>
          assert(metaData.getColumnName(i).startsWith("map("))
          assert(metaData.getColumnTypeName(1) === "map")
          assert(metaData.getColumnType(i) === java.sql.Types.JAVA_OBJECT)
          assert(metaData.getPrecision(i) === Int.MaxValue)
          assert(metaData.getScale(i) == 0)
        }
      }
    }

    test(s"$version get struct type") {
      testExecuteStatementWithProtocolVersion(version,
        "SELECT struct('alpha' AS A, 'beta' AS B) as col0," +
          " struct('1', '2') AS col1, named_struct('a', 2, 'b', 4) AS col2") { rs =>
        assert(rs.next())
        assert(rs.getString(1) === """{"A":"alpha","B":"beta"}""")
        assert(rs.getObject("col1") === """{"col1":"1","col2":"2"}""")
        assert(rs.getObject("col2") === """{"a":2,"b":4}""")
        val metaData = rs.getMetaData
        (1 to 3) foreach { i =>
          assert(metaData.getColumnName(i) === s"col${i - 1}")
          assert(metaData.getColumnTypeName(1) === "struct")
          assert(metaData.getColumnType(i) === java.sql.Types.STRUCT)
          assert(metaData.getPrecision(i) === Int.MaxValue)
          assert(metaData.getScale(i) == 0)
        }
      }
    }

    test(s"$version get info") {
      testGetInfoWithProtocolVersion(version)
    }

    test(s"$version get tables") {
      def checkResult(tableNames: Seq[String], rs: HiveQueryResultSet): Unit = {
        if (tableNames.nonEmpty) {
          for (i <- tableNames.indices) {
            assert(rs.next())
            assert(rs.getString("TABLE_NAME") === tableNames(i))
          }
        } else {
          assert(!rs.next())
        }
      }

      withJdbcStatement("table1", "table2") { statement =>
        Seq(
          "CREATE TABLE table1(key INT, val STRING)",
          "CREATE TABLE table2(key INT, val STRING)").foreach(statement.execute)

        testGetTablesWithProtocolVersion(version, "%", "%", null) { rs =>
          checkResult(Seq("table1", "table2"), rs)
        }

        testGetTablesWithProtocolVersion(version, "%", "table1", null) { rs =>
          checkResult(Seq("table1"), rs)
        }
      }
    }

    test(s"SPARK-35017: $version get day-time interval type") {
      testExecuteStatementWithProtocolVersion(
        version, "SELECT INTERVAL '1 10:11:12' DAY TO SECOND AS dt") { rs =>
        assert(rs.next())
        assert(rs.getObject(1) === new HiveIntervalDayTime(1, 10, 11, 12, 0))
        val metaData = rs.getMetaData
        assert(metaData.getColumnName(1) === "dt")
        assert(metaData.getColumnTypeName(1) === "interval_day_time")
        assert(metaData.getColumnType(1) === java.sql.Types.OTHER)
      }
    }

    test(s"SPARK-35018: $version get year-month interval type") {
      testExecuteStatementWithProtocolVersion(
        version, "SELECT INTERVAL '1-1' YEAR TO MONTH AS ym") { rs =>
        assert(rs.next())
        assert(rs.getObject(1) === new HiveIntervalYearMonth(1, 1))
        val metaData = rs.getMetaData
        assert(metaData.getColumnName(1) === "ym")
        assert(metaData.getColumnTypeName(1) === "interval_year_month")
        assert(metaData.getColumnType(1) === java.sql.Types.OTHER)
      }
    }
  }
}

redpajama_set_name: RedPajamaGithub


This is just a little something that came to me a little while ago, and I will eventually elaborate on it. Any feedback or constructive criticism would be appreciated!
I love visiting my grandma. Most kids do, I guess, but my grandma's not like most grandmas; she's a time traveler.
My grandma sometimes thinks we're other people, or looks for other people who aren't there. She talks about things she has to do that she doesn't, or acts like she's in places she isn't. Whenever I ask my mom why, she says, "Grandma's somewhere else right now. We just have to wait for her to come back." It confused me at first, because she couldn't be somewhere else if she's still right here in her chair. I decided she must be a time traveler, but only her mind time travels; she hasn't figured out how to make her body go too. She must be trying really hard to figure it out though, because she's gone more and more.
One day, when she had come back, I asked her why she liked going to the past so much, and why she didn't like it here. She said she loves us very much, and she didn't always go on purpose, but most of the times she visits are good. She goes all the way back to when she was a kid like me, and her mom was there; she misses her mom. I would too. She said she also goes to good times like her wedding day with Grandpa; he's in heaven with her mom, and she misses him a lot. I asked her if she could go to the future instead of the past, and maybe then she could visit them there, but she said it wouldn't work. She said, "I'll go that way someday, but when I go, I can't come back. Maybe I will go soon, but then you'll have to wait awhile to see me again." I told her she should go, since she misses them so much, and she would even get to see Jesus for real; that made her smile.
I told my mom what Grandma said, and how she seemed so happy about seeing everyone again. My mom seemed really sad, even though she tried to smile, but I don't know why. I thought she'd be really happy, but I guess she would just miss her mom. I know I would, and then I was really sad thinking about it.
The nurse from the big house my grandma lived in called two days later, and my mom started crying and saying Grandma was gone for good. I was sad that I wouldn't get to visit her anymore and hear her stories, but I was really happy she finally got to go to the future and see Grandpa and her mom, and even Jesus. There was a big church service that weekend, where everyone celebrated my grandma and talked about her life. There was a big box at the front of the church, and everyone walked by and said things to it, and some put their hands in it. I wondered what was in there, and when we got up to it, I saw my grandma! I was really sad, because I thought she'd travel there for good, but now she would have to come back for her body. I asked my mom why she left it behind, because didn't she get to take it with her to the future, to heaven? But my mom said, "No, sweetie, no one takes their body when they go to heaven. We only need it here on earth; we get a different one there." I was a little happier then, and I whispered to my grandma's old body, "I bet you're even more beautiful now. I'll see you later, and tell Grandpa hi from me." She must have been so happy when she left, because she was still smiling.
SO I have been thinking a lot lately about faith, and God has encouraged me strongly to "walk by faith and not by sight," especially in this season.
It irks me when people talk about faith as though it must be the opposite of reason, but human beings were created to operate in both.
People often say that "faith is blind," that it's like walking to the edge of a cliff with your eyes closed and then concluding you must jump and hope something catches you.
That's not faith. That's ignorance.
Faith is walking to the edge of a cliff with your eyes wide open and saying, "Ok, God, You said there'd be a step here for me," and taking it, regardless of whether you see it or not. If He didn't say that, then stop and listen for His voice–don't just jump.
Faith is believing what God says–even if you don't see it, or it doesn't look how you expect–and believing it because you trust that He is who He says He is. Not walking by sight means trusting His Word more than what you see, not simply ignoring what you see altogether.
So, with eyes wide open and heart trusting Him, here I go.
He is The King; He is mighty, powerful, and worthy of honor. But His everlasting, unconditional love must be understood first; without it, He doesn't make sense.


Graphene has frequently misbehaves under experimental conditions, which has held back development. A team of scientists think they've figured out why.
Perovskite is a mineral discovered a very long time ago that might make for a very good solar cell.


Why choose TP Tiling services?
•	For a professional & friendly service that puts the customer first.
•	Complete tiling service & full preparation.
•	Will do the work to fit around you, e.g. working weekends.
•	Uses only the best materials for the job.
•	Won't start another job halfway through, & keep you waiting.
•	Free estimates with no obligation.
Q. Can you tile over old tiles?
A. Yes for floors, if in good condition. For walls, it depends on condition of existing tiles & size and weight of new tiles.
Q. Can you box in old pipes & tile over?
Q. will you supply adhesives & grouts etc?
A. Yes I prefer to supply the materials to avoid using substandard products.
Q. Can you repair damaged walls & floors before tiling?
A. Yes full preparation will be done prior to tiling. From repairing holes, to complete reboarding & plastering.
Q. Can you remove old tiles for me?
Q. What if it's only a small job?
A. No job is too small.
Q. Will doors be a problem?
A. Depending on existing gap on bottom of the door, usually with extra height of tiles, you will need to plane 2-3 cm of the bottom of the door, which I will do.
A. Full public liability insurance.


Replacing the existing cramped and inflexible 1970s buildings located at the centre of the Aylesbury estate, the new Michael Faraday School is a flagship project for the regeneration of the estate, the largest social housing complex in Europe. The new school provides nursery, primary school, adult education and community facilities over two floors. It features open-plan learning spaces, flexible and adaptable classrooms that are capable of supporting a range of teaching and learning styles, and covered external teaching and play spaces.
The main building is arranged as a ring of cellular accommodation around the 'Living Room' - a large open-plan flexible learning environment. A circular balcony provides external teaching spaces to the upper classrooms and shelters the ground floor's outdoor learning environment. The structural design enables classrooms to be subdivided and partitions moved, creating an adaptable teaching space. Adjacent to the Living Room, an enclosed area, 'The Rock', was designed for soundproofed performance and presentation. Administration and adult learning areas are clustered around the main entrance.
The brightly coloured façade is part-clad with black and white vertical fins that provide shade from sunshine. The school grounds will be extensively landscaped providing hard and soft play areas, gardens for growing fruit, vegetables and flowers, a natural habitat and a 'dry river bed'. A new multi-use games area will be shared with the local community. A ground source heat pump, that contributes to the building achieving a 20% carbon reduction and BREEAM 'very good' rating, will be sited beneath the sports pitch.
GRIND wins a Good Design Award!
aLL Design, Award Winning architects with studios in London, Doha (Qatar) and Chongqing (China).


Million Comics Madness Was A Success!
Thank you to all who came out to all three Ellwood City Locations will be open at the same time for our one day sale! Over 1 million Dollar Books! Don't miss this crazy one day sale!


This AgNote provides information regarding the behaviour and management of the clover mite in field crops and pastures.
Clover mites, Bryobia spp. (Acari: Tetranychidae), have recently been identified as emerging pests of winter crops and pastures in southern Australia. Reports of clover mites in Australia date back to the early 1900's, however it has only been in the last decade that these mites have been reported as causing significant damage to a variety of agriculturally important plants. Management of these mites is complicated by the large number of species present, as well as their small size and lack of suitable morphological characters which makes identification difficult. In Australia there are at least seven cryptic Bryobia species found in broad-acre crops and pastures. Of these seven species, there are three species that appear to be most common.
Clover mites (also referred to as 'Bryobia mites') are often misidentified with other pest mites, such as the redlegged earth mite and blue oat mites. However, clover mites are smaller than these mites, only reaching about 0.75mm in length when adults. They have an oval shaped flattened dorsal body that is dark grey, pale orange or olive in color. Adults have 8 pale red-orange legs with a pair of elongated front legs. These elongated front legs can help distinguish clover mites from other pest mites.
Eggs are spherical and red in color. They measure approximately 0.15-0.25 mm in diameter, and are laid either separately or in small groups and generally covered with dust. Newly hatched larvae are very small in size, bright orange-red in colour and have 6 legs. The larval stage is followed by two nymphal stages in which the mites have eight legs and resemble adults, but are smaller.
Males (although rare) are also found within a few species and these are quite easily recognised from females by their much smaller body size and extremely long front legs, which are up to two times longer than their body size.
Clover mites are broadly distributed throughout most agricultural regions in southern Australia with a Mediterranean-type climate. They are found in Western Australia, Victoria, New South Wales and South Australia. They have also been recorded in Tasmania and Queensland. However, there has been no systematic sampling conducted in these states so their full distribution remains unclear. Furthermore, the distribution of each Bryobia species in Australia is currently unknown and will require surveys with molecular markers that can distinguish the species.
Similar to other pest mites, long dispersal range is thought to occur via the movement of eggs in soil adhering to farm machinery and livestock as well as through the transportation of plant material. Movement is also thought to occur during summer when diapause eggs are transported by summer winds.
In Australia, there are at least seven cryptic species of clover mites found in broad-acre agriculture, which complicates management. Distinguishing between these species is extremely difficult as these mites are extremely small and lack suitable morphological characters. Of the seven species identified, there are three species that appear most important as pests of grain crops and pastures.
Clover mites are typically most abundant during the warmer months of summer, autumn and spring, however they can be found throughout the year. Their active periods are dependent on species, with the lifecycle and occurrence of diapause varying considerably between species. Some mite species have no diapause stage with the succession of generations proceeding continuously throughout the year, while others have one or more generations a year, separated by summer and/or winter diapause.
The lifecycle on average takes about one month to complete but is dependent on temperature and humidity. The developmental stages of clover mites consist of four active stages (larvae, protonymph, deutonymph and adult) and three resting stages. Although further research is needed, is it assumed that clover mites within Australia are largely asexual, given that the majority of populations consist of only females, and only a very limited number of males have been found.
Unlike redlegged earth mites and blue oat mites, clover mites are mostly found on the leaf surfaces of plants. They can also be found on twigs or debris on the ground. Clover mites are active in the warmer parts of the day and tend to feed mainly on the upper leaf surfaces. When disturbed they drop from the plants, curl their legs and remain still. All species of clover mites are phytophagous and they feed on plant material by puncturing plant cells with their mouth-parts and sucking out the contents. Damage caused by these mites consists of winding, etiolated trails composed of whitish-grey spots. They tend to cause most damage in autumn where they attack newly establishing pastures and emerging crops, greatly reducing seedling survival and retarding development.
Clover mites attack a variety of agriculturally important plants and are reported to cause considerable damage to pastures and oilseed, pulse and cereal crops. They appear to have a preference for broadleaf plants such as canola, lupins, vetch, lucerne and clover. In pastures, clover mites tend to have a preference for medics and clovers over grasses. They occasionally attack wheat and barley, as well as some weeds.
Susceptible pastures and crops should be carefully monitored from autumn to spring for the presence of mites and evidence of damage. It is especially important to regularly inspect crops in the first three to five weeks after sowing. Crops most at risk are those sown into paddocks that contain summer and autumn weeds and/or were pasture the previous year. A warm mild autumn will favour mite survival. Clover mite numbers generally decline over the cool wet winter months and they tend not to be much of a problem during this period.
Weeds present in and around paddocks should be checked for the presence and abundance of clover mites. Mites are best detected on warm days from midday until late afternoon. Unlike many other species of mites, which spend a lot of time on the soil surface, clover mites are mostly found on the lower and upper leaf surfaces of plants. Clover mites are difficult to detect during early mornings or in wet conditions.
An effective way to sample mites is to use a standard petrol powered garden blower/vacuum machine. A fine sieve or stocking is placed over the end of the suction pipe to trap mites vacuumed from plants and the soil surface.
Chemicals are the most commonly used method to manage clover mites, and there are several pesticides registered for clover mite control. These chemicals are only effective against the active stages of mites; they do not kill mite eggs.
Differences in tolerance levels between species complicates the management of clover mites. At least one species of clover mite has a high natural tolerance to a range of pesticides registered against earth mites in Australia. Furthermore, there have been many field reports of pesticide control failures involving clover mites.
Pesticides with persistent residual effects can be used as bare-earth treatments. These treatments can be applied prior to, or at sowing to kill emerging mites and protect the plants during the early seedling stage. If damage warrants control, apply pesticides three weeks after the first appearance of clover mites in autumn. Pesticide sprays are rarely warranted to control clover mites once crops are established, although some pastures can be impacted significantly in spring.
Information on the registration status, rates of application and warnings related to withholding periods, OH&S, residues and off-target effects should be obtained before making decisions on which pesticide to use. This information is available from cropping consultants, chemical resellers, Australian Pesticides and Veterinary Medicine Authority (APVMA) and the pesticide manufacturer. Always consult the label and MSDS before using any chemical product.
There have been no biological control agents (predators or parasites) identified in broad-acre crops and pastures in Australia that are effective in controlling clover mites. However, there are a number of predator species known to attack other earth mites such as redlegged earth mites, which may also potentially prey upon clover mites. These include predatory mites, small beetles and spiders.
Cultural controls can be effective in controlling mite numbers. Crops that follow pastures with a high clover content are most at risk. Avoid planting susceptible crops such as canola, lupins, vetch and lucerne into these paddocks. Early control of summer and autumn weeds within and around paddocks, especially broadleaf weeds such as capeweed and clovers, can help prevent mite outbreaks.
This AgNote was written by Aston Arthur and Paul Umina from cesar and The University of Melbourne. Support from the Grains Research and Development Corporation is acknowledged.


text:
AccessUH
Students Faculty Careers Alumni Email Printers
Welcome Administration Mission Why Choose Rankings Maps & Directions Employment Opportunities at UHLC UHLC Icons Law Center History JD Brochure LLM Brochure UHLC Brochure UH Law Center One Pager
J.D. Admitted Students Transfer Applicants Visiting Student Applicants LL.M. LL.M. Admitted Students Joint JD/LLM Program EAL Certificate Course
Student Honor Code Student Handbook Course Schedule OSS Staff OSS Forms Scholarships and Financial Aid LL.M. Graduation Class Standing Information
Upcoming Events Law Building Campaign Annual Law Gala & Auction Alumni Awards Giving Opportunities Alumni News & Highlights Resources & Organizations Continuing Legal Education Update Contact Info Contact Us
UH Library Catalog Full Library Operating Hours 24/7 Library Access Texas Ethics Reporter Albertus Accolades Library Sitemap
Top Stories The Lex Dean's Note Academic Calendar Event Calendar Law Center Event Planner Law Center Room Schedule Briefcase Magazine Briefcase Radio Lecture Archive UHLC in the News UHLC Gallery For the Media News Archive
Degrees Offered Learn Abroad Opportunities Clinics & Skills Training Externship Programs Centers, Institutes, and Select Programs Journals and Publications Order of the Coif UHLC Pre-Law Pipeline Program
Give Online Opportunities Resources & FAQs Ways to Give Contact us
AccessUH Students Faculty Career Development Office Alumni Email About Admissions Library News & Events Academics Giving Apply Now ABA Required Disclosures CLE Contact For the Media Class Schedule
News and Events The Lex Dean's Note Academic Calendar Event Calendar Law Center Event Planner Law Center Room Schedule Briefcase Magazine Briefcase Radio Lecture Archive UHLC in the News UHLC Gallery UH Online Faculty Experts Guide Featured Faculty Experts Albertus Accolades For the Media Facilities Legal Information Technology ( Law Center) Information Technology (Central Campus)
News and Events Menu ☰
New Study from the UH Law Center Finds Racial and Ethnic Disparities in Lending Industry Advertising
Professor Jim Hawkins and 3L Student Tiffany Penner Call for Change to Advertising Practices and Regulations
University of Houston Law Center Alumnae College Professor of Law Jim Hawkins
Tiffany Penner, a 3L at the University of Houston Law Center.
Dec. 21, 2021 – A new study authored by University of Houston Law Center Professor Jim Hawkins and student Tiffany Penner and published in the Emory Law Journal indicates that the payday lending industry often targets Black and Latino communities in advertising their products, while the mainstream banking industry targets white consumers.
In "Advertising Injustices: Marketing Race and Credit in America," Hawkins and Penner present two empirical studies they conducted on lenders in Houston, which verified these disparities in online advertising.
"Everyone knows that advertising affects behavior, so we were interested in how banks and payday lenders advertise," the authors said. "Social scientists have shown that people buy goods and services when they see other people who look like them buying those products. We wanted to know if banks and payday lenders were depicting their customers in a way that represented the general population or only some races."
The study found:
While African Americans make up only 16% of auto title lending customers and 23% of payday lending customers, 35% of the photographs on these lenders' websites depict African Americans.
77% of the advertisements at physical locations of auto title and payday lenders in the study targeted racial minority groups.
30% of mainstream bank lender websites featured no African American models and almost 75% featured no Latino models.
In contrast, only 3%—a single bank's website—did not feature a white model.
Recent news articles citing Hawkins and Penner's scholarship, examine how loan lenders are maximizing their profits by requiring high interest rates during the COVID-19 pandemic when many people have been vulnerable and in difficult financial positions. Data analysis by Bloomberg shows that Black and Latino communities have become prime targets, and the article reports that many people have had to set aside government pandemic relief funds to help pay off debts.
Hawkins and Penner examined two important negative consequences that emerge from targeting African Americans and Latinos for payday and title loans while pictorially excluding them from mainstream banks. The first consequence is that the advertising works, and African Americans and Latinos are more likely than white customers to use high-cost credit. They also found that advertising forms societal norms and expectations of where people "fit." This in turn, according to the study, creates a "self-sorting" effect and contributes to racial disparity in credit access.
Hawkins and Penner's goal for the study is to achieve a positive impact that will change the way lenders advertise. Specifically, they encourage financial institutions to eliminate discriminatory marketing that omits certain racial groups, as some banks currently only feature white models in advertisements.
"We hope that businesses will voluntarily change their advertising practices to represent people from all races in their advertising," the authors said. "Additionally, we urge Congress to amend the Equal Credit Opportunity Act to explicitly prohibit discriminatory advertising by creditors, and federal regulatory bodies to use that Act as well as the Community Reinvestment Act to make bank's and payday lender's advertising equitable."
Hawkins serves as the Alumnae Professor of Law at the UH Law Center. He earned his J.D. from the University of Texas School of Law, where he was the grand chancellor and served as the chief articles editor of the Texas Law Review. During his career, he has published or placed articles in publications such as Science, the UCLA Law Review and more. His research has been featured in top-tier media outlets such as the New York Times and the Washington Post.
Penner is a rising third-year student at the UH Law Center, where she is a member of the Houston Law Review and served on the executive board for the First-Generation Professionals student organization. During law school, she worked as a summer associate at King & Spalding and a judicial intern for Lee H. Rosenthal, Chief Judge of the U.S. District Court for the Southern District of Texas. Before law school, she worked at NASA as a contracts specialist for the International Space Station Program.
Click here to read "Advertising Injustices: Marketing Race and Credit in America."
UHLC media contacts: Carrie Anna Criado, UH Law Center Assistant Dean of Communications and Marketing, 713-743-2184, cacriado@central.uh.edu; Elena Hawthorne, Assistant Director of Communications and Marketing, 713-743-1125, ehawthor@central.uh.edu; and John Brannen, Media Relations Rep, 713-743-3055, jtbranne@central.uh.edu.
About the University of Houston Law Center
The University of Houston Law Center (UHLC) is a dynamic, top tier law school located in the nation's 4th largest city. UHLC's Health Law, Intellectual Property Law, and Part-time programs rank in the U.S. News Top 10. It awards Doctor of Jurisprudence (J.D.) and Master of Laws (LL.M.) degrees, through its academic branch, the College of Law. The Law Center is more than just a law school. It is a powerful hub of intellectual activity with more than 11 centers and institutes which fuel its educational mission and national reputation. UHLC is fully accredited by the American Bar Association and is a member of the Association of American Law Schools.
About the University of Houston
The University of Houston is a Carnegie-designated Tier One public research university recognized with a Phi Beta Kappa chapter for excellence in undergraduate education. UH serves the globally competitive Houston and Gulf Coast Region by providing world-class faculty, experiential learning and strategic industry partnerships. Located in the nation's fourth-largest city and one of the most ethnically and culturally diverse regions in the country, UH is a
federally designated Hispanic- and Asian-American-Serving institution with enrollment of more than 47,000 students.
Back to News Homepage
4104 Martin Luther King Blvd
713-743-2100 General
713-743-2094 Legal Clinics
Careers at UHLC
UHLC Directory
The Lex
Office of Equal Opportunities Service
©2021 University of Houston Law Center. All rights reserved.