text:
Thomomys bottae magdalenae is een knaagdier dat voorkomt in het zuidwesten van Noord-Amerika. Dit dier is een ondersoort van de valleigoffer (Thomomys bottae). Hij is oorspronkelijk beschreven door E.W. Nelson en E.A. Goldman (1909). De typelocatie, de plaats waar het exemplaar vandaan komt op basis waarvan de ondersoort oorspronkelijk is beschreven, ligt in Neder-Californië (Mexico).

Literatuur
Nelson, E.W. & Goldman, E.A. 1909. Eleven new mammals from lower California. Proceedings of the Biological Society of Washington 22:23–28.

Dier uit het Nearctisch gebied
Goffers


Amazon Prime members can watch series, documentaries, classics and other programmes from the UK broadcaster through the on-demand service.
The BBC Player is available for €3.99 per month via the Prime Video app on smart TV sets, mobile iOS and Android devices, Amazon Fire TV, Fire TV stick, Fire tablets, Apple TV and online at www.amazon.de/channels/bbcplayer.
The service can be tested free of charge for 14 days.


Dimensions (inches): broadside: 21" x 28.5", frame: 32" x 39.25" x 2.5"
5 HEAD OF HORSES, Two thereof single line leaders, coming 6 years old. Three are sorrel driving horses, family broke, ranging in age from 6 to 15 years.
3 GOOD MILCH COWS, Two thereof will be fresh by the day of the sale.
2 STOCK BULLS, 7 HEAD YOUNG STEERS, SOME FINE SHOATS, 4 SHEEP, 3 EWES AND 1 BUCK, LOT OF CHICKENS, 4-Horse Wagon, 2-Horse Wagon, Farmer's Handy Wagon, Market Wagon, Single-seated Carriage, Plano Binder, Deering Mower, Deering Hay Tedder, Hay Rake, Corn Planter with checkering attachment, 3 Cultivators, Potato Scraper, Potato Plow, Oliver Chilled Plow, Steel Roller, Harrow and Roller combined, Bemia Tobacco Planter, Crown Drill, Double-seated Sleigh, Hay Hook, Manure Hook, 4 Sets Gears and Bridles, New Bob Sled, 2 Sets Hay Ladders, Tobacco Ladders, Hay Rope and Pulleys, Collars, Lines, Rakes, Forks, Shovels, Etc.
HOUSEHOLD GOODS: Three Good Stoves, Table, Settee, Lounge, Couch, Bed-stead, Small Bed, Applebutter, Cream Separator, New Brooms, and other articles.
Sale to begin at 12 o'clock noon, sharp, Thursday, March 14, 1918. Terms by JOHN B. WEAVER, Amos. H. Hershey, Auct., D.G. Ranck, Clerk. The Clarion Printing House, 143 E. Main Street, New Holland, Lancaster County, Pa.
Mounting: This is a sandwich mount between 100% cotton, black in color, and U.V. protective acrylic. The black fabric was washed to reduce excess dye. An acid-free agent was added to the wash to further set the dye and the fabric was heat-treated for the same purpose. The mount was then paced in a black-painted, hand-gilded and distressed Italian molding.
Condition: There is even toning throughout, accompanied by edge wear with associated losses and minor fold marks with very minor holes.


text:
Energy Companies Announce Thousands Of Layoffs
The continued decline in the prices of crude oil is wreaking havoc in the oilfield services sector, where three industry giants have announced thousands of job cuts in recent days. Projections for 2015 suggest the number of oil rigs operating on U.S. soil could fall dramatically as prices for crude oil remain low.
Andy Szal, Chem.info
The continued decline in the prices of crude oil is wreaking havoc in the oilfield services sector, where three industry giants have announced thousands of job cuts in recent days.
Last week, Schlumberger Ltd., the world's largest oil drilling services company, announced 9,000 jobs — just over 7 percent of its global workforce — would be cut in response to tumbling oil prices.
On Tuesday, fellow Texas companies Halliburton and Baker Hughes — the second- and third-largest oilfield services companies, respectively — followed suit.
Halliburton officials announced 1,000 jobs in its eastern hemisphere operations had been eliminated in the fourth quarter of 2013, while Baker Hughes — which is in the process of being acquired by Halliburton for some $35 billion — said 7,000 employees, or 11 percent of its workforce, would be laid off.
Halliburton officials, furthermore, said the company expects its first-quarter cuts to mirror those of its competitors.
All three companies had largely weathered a 60 percent drop in the price of oil in recent months, with Schlumberger reporting record revenue in North America in the fourth quarter and both Halliburton and Baker Hughes disclosing higher earnings during that three-month span.
But projections for 2015 suggest the number of oil rigs operating on U.S. soil could fall dramatically as prices for crude oil remain low.
"While market demand ended up being more resilient in the fourth quarter than many had predicted, the recent declines seen in rig counts will clearly affect results in 2015, '' said Baker Hughes CEO Martin Craighead.

redpajama_set_name: RedPajamaCommonCrawl


text:
Bears Ears National Monument
Native Officials Will Help Manage Utah National Monument
The Bears Ears, seen from the west, loom in the distance. (Rick & Susie Graetz photo)
This week we make a departure from our columns that portray Montana. Bears Ears National Monument is constantly in the news, yet very few Montanans know much about it.
On Wednesday, Dec. 28, 2016, President Obama designated a new gem in the nation's public owned lands system – the 1.35 million acre Bears Ears National Monument in southeast Utah.
One million acres of the new monument will be managed by the Bureau of Land Management, and 290,000 by the U.S. Forest Service. A joint planning process is now underway, and, much like before the monument was created, all stakeholders will be involved. The agencies consider public input as essential.
In a historic move, the Bears Ears National Monument will recognize Native American traditional and historical knowledge through means of a commission. The Bears Ears Commission will consist of one elected officer each from the Hopi Nation, Navajo Nation, Ute Mountain Ute Tribe, Ute Indian Tribe of the Uintah Ouray and Zuni Tribe. The expertise of the Bears Ears Commission will help further the proclamation's directive to provide access to members of Indian tribes for traditional and cultural use of the land, including the collection of plants and firewood.
To allow for local guidance and input, the monument managers will establish an advisory committee that will include state and local governments, tribes, recreational users, local business owners and private landowners.
Obama's proclamation recognizes the layered history of Bears Ears and future opportunities for archaeological and paleontological study. It also gives a nod to the many activities now enjoyed in the area like hiking, rock climbing, hunting, backpacking, canyoneering, whitewater rafting, mountain biking and horseback riding.
To manage motorized and non-motorized vehicles (mountain bikes) in the monument, managers will create a transportation plan to designate which roads and trails will be open to motorized and non-motorized use. This will allow off-highway-vehicle use on routes that are currently designated as open to motorized vehicles. New roads or trails for motorized vehicles only will be allowed for public safety or cultural resource protection.
Like all national monuments, federal lands in Bears Ears are withdrawn from new mining, energy development and grazing, and existing valid rights and leases will be honored.
Though they're the monument's namesake, the Bears Ears feature is only one part of this landscape. The pair of towering buttes stand in the center, with Dark Canyon Wilderness and Beef Basin to the west, Comb Ridge on the east, the Grand Gulch Plateau and Cedar Mesa to the south, and Indian Creek/Canyonlands National Park to the north.
The newly protected landscape within the national monument covers a broad expanse of red rock, juniper forests and high plateau. The cultural, historic and prehistoric legacy includes an abundance of early human and Native American historical artifacts left behind by early Clovis people, Ancestral Puebloans, Fremont culture and others.
Just as important to the Bears Ears designation are the modern-day connections that the Navajo Nation, Ute Mountain Ute Tribe, Hopi Nation and other tribes have to this land.
And what about the name Bears Ears? One of the more popular Navajo stories about the area is about Changing-Bear-Maiden, who was very beautiful and desired by many men. She would have nothing to do with them. However, Coyote the trickster persuaded Changing-Bear-Maiden to marry him in spite of her brothers' warning that the union would bring evil.
Changing-Bear-Maiden began to change, and by winter's end her transformation into a mischievous bear was complete. Realizing that the only way to save her was to change her into another form, her brothers killed her, cutting off her ears and throwing them away. They became the buttes seen today.
In the heart of southeast Utah's magnificent desert country of canyons, "standing rocks" and Cedar Mesa, Bears Ears is easy to access from the towns of Moab, Monticello, Blanding and Bluff. These communities straddle U.S. Highway 191 and are south of Interstate 70. Highway 191 extends northward thru Montana to Canada.
Rick and Susie Graetz | University of Montana | Department of Geography
These Anasazi Ruins are found in Mule Canyon. (Rick & Susie Graetz)


When you're taking out a mortgage with a fixed-term period, you'll probably notice a rather alarming figure in all the documentation - the early repayment charge.
It is levied on borrowers who repay the balance of their mortgage before the end of the fixed-term period when the interest rate becomes variable.
Charging customers for repaying their mortgages early sounds counterintuitive - why would they punish you for paying back your debt much sooner than expected?
Lenders use the charge to make sure they don't lose money on your mortgage.
Sometimes a lender will borrow money to fund a customer's mortgage. It means the lender is also paying interest on the loan amount.
When the lender offers you a competitive interest rate for the fixed period, it is calculated so the mortgage is still profitable to them by more than offsetting their own borrowing costs.
But if you repay your mortgage early within a fixed-term period, the lender will not get the full amount in interest payments from you as initially agreed.
This leaves the lender exposed to losing money on their own repayments, so the early repayment charge mitigates this risk.
The early repayment charge is expressed as a percentage of the remaining mortgage balance, meaning it can cost you thousands of pounds if you fall foul of it. For example, if you had £100,000 left on your mortgage, and an early repayment charge of 5%, the fee would be £5,000.
That's a lot of money. But there are a number of ways to avoid facing an early repayment charge.
First, and most simply, do not remortgage until the end of your fixed-term period. Time your remortgage so the new product begins as the fixed period on the old one ends.
Second, you can find mortgage products that are flexible, usually with a variable interest rate, that do not have any early repayment charge attached.
Third, if you are buying a new home in the middle of your fixed-rate period, many lenders allow you to "port" your mortgage over to the property you're purchasing, avoiding the early repayment charge.
Last, if you feel an early repayment charge was unfairly applied to you, perhaps because its existence was not made clear when you first took out the mortgage, you can appeal to the UK's Financial Ombudsman, which will investigate your case and make a judgment.


text:
Charlotte Fritz (née Becher; 4 July 1918, in Baden bei Wien – 23 September 2003, in Vienna) was an Austrian Righteous Among the Nations.

She lived together with her sister Edeltrud Becher who was engaged to a Jew. When two executives of the Gestapo showed up and asked for Edeltrud's fiancé, Charlotte denied any presence of the man who lived with his brothers in Prague at that time. When the brothers of Edeltrud's fiancé came from Prague to Vienna, Charlotte was able to convince an officer at the Vienna Police Department to destroy the file that incriminated Edeltrud's fiancé. Furthermore, Charlotte organized shelters in Vienna for the brothers.

External links
 Charlotte Fritz – her activity to save Jews' lives during the Holocaust, at Yad Vashem website
 Die Gerechten Österreichs

1918 births
2003 deaths
Austrian Righteous Among the Nations
People from Vienna
People from Baden bei Wien

redpajama_set_name: RedPajamaWikipedia


text:
Thu, 16 Dec, 2021 - 17:20
Mark Coleman to captain Cork hurlers in 2022 with Conor Lehane recalled
Seán O'Donoghue has been picked as vice-captain of the Rebels by Kieran Kingston and his selectors
Mark Coleman of Cork in action against Tom Morrissey of Limerick. Picture: Daire Brennan/Sportsfile
Eamonn Murphy
MARK Coleman will captain the Cork hurlers next season, while Conor Lehane's county-winning form with Midleton has been rewarded with a recall to the panel.
Blarney club-man Coleman, who recently turned 24, succeeds Patrick Horgan as Rebel captain with Inniscarra's Seán O'Donoghue to serve as vice-captain.
Cork captains in recent seasons include Anthony Nash, Stephen McDonnell and Seamus Harnedy, with the latter pair leading the county to Munster titles in 2017 and '18 respectively. Horgan held the captaincy in 2020 and '21 and also served in the role in 2012, when he was picked as vice-captain but deputised for the injured Donal Óg Cusack.
Coleman has been one of Cork's most consistent hurlers since his breakthrough All-Star winning campaign of 2017.
He won a county with Blarney and two Fitzgibbon Cups in UCC colours, often utilised at midfield or in the half-forwards. A playmaking centre-back with Cork for the past two seasons, some supporters would prefer if he was pushed further upfield with a more steely presence in defence.
It's a reflection of O'Donoghue's excellence for Cork last season that Kieran Kingston and his selectors have opted for the corner-back as Coleman's deputy. The 25-year-old was harshly overlooked for an All-Star.
Lehane was in deadly form for Midleton this year, hitting 0-55 across six games, including 22 points from play, as the East Cork club captured a first county title since 2013.
He was also the Magpies' standout performer in their Munster semi-final loss to Kilmallock last weekend, clipping over 0-3 from play.
Lehane was cut from the Cork squad last winter after some disappointing displays in 2019 and '20. Only 29, he showed plenty of his trademark dazzling touches as Midleton captain, but his work-rate and team-play also stood out.
There have already been changes to the hurling set-up for 2022, Eoin Cadogan, Bill Cooper and Colm Spillane, have retired, with Tadhg Deasy, Daniel Meaney and Bill Hennessy also gone.
Midleton duo Tommy O'Connell and Sam Quirke, Ethan Twomey (St Finbarr's), Darragh Flynn from Ballygiblin and Castlemartyr's Ciarán Joyce have been included.
Ladies football: Cork take on champions Meath in league opener
Cork footballers have to go the extra mile to get the All-Stars they deserve
Adam O'Reilly set to sign for St Pats on loan from Preston


The Washington Small Business Development Center has export readiness centers in Seattle and Spokane with trade specialists who do periodic training. They are part of the Washington Export Outreach Team which offers Export 101: Your Door to the World seminars throughout the state.
The tabs below contain links to additional export training primary online. Links on this page go to sources outside the WA SBDC. Inclusion of training events by outside organizations is not an endorsement of their products by WSBDC or its resource partners.
Export Portal – Bureau of Industry and Security, US Department of Commerce BIS's free on-line training is available in a variety of electronic formats.
globalEdge The "Exporting" module series has been produced in cooperation with the U.S. Commercial Service. These modules were developed from the 2008 edition of A Basic Guide to Exporting and each module represents one of the book's seventeen chapters; the modules are listed by chapter in chronological order. This series provides aspiring and seasoned exporters with a wealth of resources and tools that may benefit even the most experienced international business connoisseur.
Centre for Intercultural Learning Established in 1969 by the Canadian International Development Agency, the Centre became part of the Canadian Foreign Service Institute of Foreign Affairs and International Trade Canada, in 1996. Both the Institute and the Centre are internationally recognized in the area of training and human resources. The Centre is Canada's largest provider of intercultural and international training services for internationally-assigned government and private sector personnel. The Centre works with government departments and agencies, NGOs, as well as private sector enterprises with international involvement.
Take advantage of BIS's free on-line training, which is available in a variety of electronic formats.


Why choose Berkshire Black? Recognized by most as the Kobe Beef equivalent of Pork, the Berkshire line is best known for its unique combination of marbling and texture, and a bold, darkened color (preferred by most) which tells the story in itself. Extraordinarily tender, juicy, and as rich-in-flavor as it gets, this All-Natural class of its own is humanely-raised in a low-stress environment; fed a grain-based, 100% vegetarian diet; and is entirely free of steroids, hormones, antibiotics and nitrates. It is truly top-of-the-line, and a relative rarity in our industry. And it is our pleasure to share it with you!


The Financing for Development summit in Addis is a decisive point in the process towards the post-2015 development agenda. World leaders, high-level policy makers, funders and finance ministers, among others, are expected to deliver the political will, policy reforms, and financial investments required to end extreme poverty by 2030.
Agriculture and nutrition is one of the four key focus areas at the summit, along with sustainable infrastructure, social protection and technology. Already at the core of much of what UNDP does every day across the globe, this reinforces agriculture as a key pillar of our poverty reduction efforts in over 170 countries.
The production of agricultural commodities, such as palm oil, beef, soy, coffee, and cocoa, plays a pivotal role in global efforts to improve livelihoods across the globe. Sadly, agriculture is also the main driver of deforestation today, and is threatening to devastate the very environment upon which we depend to survive.
UNDP is engaged in promoting sustainable agricultural practices to improve the lives of millions of farmers through its Green Commodities Programme (GCP).
If smallholder farmers, many of whom are women, are to be lifted out of poverty, we need to improve the economic, social, and environmental performance of our key agricultural commodity sectors. By 2020 UNDP's GCP aims to contribute to enabling eight million farmers, managing 20 million hectares, to improve the sustainability of their practices and as a result, their livelihoods.
Smallholder farmers mainly seek out a living by using outdated and poor production practices. Improving these production techniques will lead to increased efficiency, higher yields, and improved product quality. This in turn means increased household food security and higher household income, especially when money is saved through less fertilizer and pesticide use. There will also be a positive environmental knock-on effect.
The expansion of smallholder coffee farms in Peru, a direct result of low productivity and poverty, has contributed to deforestation and greenhouse gas emissions, especially in the highly sensitive Western Amazon. Indonesia's palm oil smallholders, who produce about 40% of the country's palm oil, are also suffering, plagued by bad production techniques. This perpetuates the deforestation cycle as farmers seek to boost productivity by carving out even more land from the pristine forests of the archipelago.
UNDP, through the GCP and its global network of country offices, is working with government, private sector, civil society, and the farmers themselves, to improve production practices, yields, and product quality while protecting the environment. In other words, all the stakeholders are working together to identify, understand, and really implement solutions to the major challenges. This will take time, as all long-term strategies that really want to have an impact on our planet must. But this type of collective action – that could catapult the development agenda into the post-2015 era – is what we need to see in Addis.


At A'salonna our haircuts begin with a tailored consultation designed to uncover your currents needs, expectations and goals. A trained hair artist will look at your face shape and listen to what you want to create the perfect cut for you. Your service also includes our signature scalp and neck massage with aroma therapy oils followed by a shampoo and cut. To finish your service your hair artist will provide a styling lesson for stress free home maintenance. Going out after your appointment? We offer formal styles, fun and flirty curls or sophisticated and sleek styles for that extra special touch.
At A'salonna our hair artist are trained in the latest color techniques with the exclusive Aveda color lines. In the world of hair color, the Aveda rainbow truly is Full Spectrum™—and now there are even more color combinations to discover. Whether you're looking for subtle highlights, trendy paneling or an exciting transformation; we can help you achieve your desired look. Your hair artist will create an at-home color care routine to keep your color looking fresh.
At A'salonna our clients are busy and looking for ways to save on time in the mornings. That is why we offer the latest in hair treatments to tame frizz and give you the smooth, shiny look you deserve. Visit one of our trained hair artists for a complimentary consultation to learn about our Brazilian Blowout, the Aveda Smooth Infusion or the Aveda Damage Remedy treatment. Discover which treatment is best for you and meets your needs.


Gordie Hinds' art conveys and embodies the man himself and a life lived large. Hinds, widely traveled and multi-cultured, brings a myriad of experiences, people and places to vibrant life through his energetic, colorful brushwork. An adventurous life as an angler, hunter, horseman, fly casting and shooting instructor is reflected and forms the background in many of his paintings.


text:
How Roman 'cancel culture' meant Nero's reputation was fiddled after his death
New British Museum exhibition will seek to rehabilitate the image of the notorious emperor, casting him instead as a man of the people
By Craig Simpson 22 April 2021 • 6:52pm
Busts of Nero, along with more than 200 objects from the Roman Empire, many of which will be displayed in the UK for the first time, will tell the emperor's story
Nero's notorious reputation is to be rehabilitated by the British Museum as curators reveal how the emperor was traduced by "cancel culture" in the Roman Empire.
Known for being the emperor who fiddled while Rome burned, Nero's brutal reign between 54 and 68 AD included persecuting Christians and matricide, the killing of his mother.
His statues were quickly destroyed in the aftermath of his overthrow and subsequent suicide at the age of 30, and contemporary portrayals paint him as a corrupt and incestuous murderer.
But British Museum curators say Nero was instead one of the first victims of "cancel culture", with reasons behind his downfall largely out of his control. Monuments toppled following his leadership have been described as the 1st-century equivalent of "statue wars".
A new exhibition at the museum will seek to restore the reputation of Rome's fifth emperor by presenting him as a populist adored by the common people but disparaged by the patrician propaganda of a "tiny elite".
Roman statue wars
Dr Thorsten Opper, Ancient Rome curator at the British Museum, told The Telegraph: "It's weird how topical it has suddenly become in the last few years. Cancel culture and statue wars, that all resonates so much.
"Statue wars is perhaps most appropriate, what we saw with Colston's statue in Bristol and various monuments in the US.
"As soon as Nero was dead there were jubilant people in the street toppling his statues, destroying them, chiseling out his name from official records.
"Even if you look at the sources, they are so shockingly partisan and biased. It's as if someone tried to write a biography of Joe Biden based on Donald Trump's tweets."
After Nero's death, writers like Tacitus and Suetonius spread the myth that Nero started the Great Fire of Rome and played the lyre while the city burned, all in order to build a bigger palace, then blamed the blaze on the Christians.
It was also written that the ruler who came to power at the age of 16 kicked his second wife to death while she was pregnant, raped the scared Vestal Virgins, and committed incest.
But more recent research shows Nero was popular with the plebeians but vilified by later dynasties securing their position, and writers entertaining a Roman elite scandalised by Nero's popular appeal.
Dr Opper said: "The writers have a tiny readership. It's a tiny elite, it's less than the 'one per cent'."
History written by misogynists
While Nero did have his mother and one of his wives killed, in keeping with other emperors, curators at the British Museum will show him as a "victim" of societal changes he could not control and which led to his downfall.
Statues that survived destruction, as well as graffiti written in praise of the emperor, will be used to tell the full story of this reign, which saw the revolt of Britons under Boudica.
While scrutinising the propaganda of ancient chroniclers, the British Museum will also tackle their habit of portraying women, like Nero's murdered mother Agrippina, as scheming king-makers
Dr Opper said it was "shocking how misogynistic the sources are", adding: "It has an impact on how little positive is remembered about these women."
Their stories and those of the common people across the Roman Empire, particularly in Britain, will be told with more than 200 objects, many of which will be displayed in the UK for the first time.
Nero: The Man Behind the Myth opens on May 17 and runs until October 24.
Exhibitions,
British Museum,
Cancel culture,
Government will draw up new laws to tackle Insulate Britain after Lords defeats
By Patrick Sawer 18 Jan 2022, 6:25pm
By Nicola Smith 18 Jan 2022, 6:19pm
By Richard Orange 18 Jan 2022, 6:16pm
By Nick Squires 18 Jan 2022, 6:10pm


Due to the weather conditions, The Cumberland & Dumfriesshire Farmers Mart had forward a small show of store & breeding cattle at their fortnightly sale at Longtown on Tuesday 5th January, 2010. Cattle still met a brisk trade with plenty of keen bidders around the ring. Top price of £1,020 for a Galloway cow with Blue Grey bull calf from Cowcorse.
Galloway cow with bull calf £1,020 Cowcorse.
Galloway cow with heifer calf £1,000 Cowcorse.


KUALA LUMPUR: Malaysian palm oil futures jumped 1.7 per cent to a more than seven-month high on Thursday, tracking strength in overnight US soyoil and on bullish forecasts for the vegetable oil, though the market pared gains towards the end of the session.
The benchmark palm oil contract for April delivery on the Bursa Malaysia Derivatives Exchange was up 0.5pc at 2,318 ringgit ($569.32) a tonne at the close. It earlier rose as much as 1.7pc to an intraday high of 2,344 ringgit, its highest since June 29. Trading volumes stood at 32,216 lots of 25 tonnes each at the end of the trading day.


text:
Q: JBOSS 7 MYSQL missing dependencies error There are many threads like this one already for similar errors but none which have solved my problem so after an hour of trying to debug it, I have decide to ask for help.
Background
I am setting up a Java EE project. I have create an enterprise application and have create an EJB project, JPA project and web Project and added EAR's to the enterprise project.
I have also added mysql-connector-java-5.1.0-bin to the JBOSS/standalone/deployments folder. And added to this jar file to the JPA project.
Any advice on how to solve the error would be greatly apprecited.
The main error is:
 missing/unavailable dependencies" =>
    ["jboss.persistenceunit.\"SIMSProject.ear#primary\"jboss.naming.context.java.jboss.datasources.SIMSD

Here is my full error:
Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver from [Module "org.hibernate:main" from local module loader @32008dad (roots: C:\Users\Bawn92\Desktop\Programs\jboss-as-7.1.1.Final\modules)]
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456)
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398)
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120)
    at java.lang.Class.forName0(Native Method) [rt.jar:1.7.0_07]
    at java.lang.Class.forName(Class.java:186) [rt.jar:1.7.0_07]
    at org.hibernate.internal.util.ReflectHelper.classForName(ReflectHelper.java:192)
    at org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:101)
    ... 23 more

01:50:40,265 INFO  [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS015870: Deploy of deployment "SIMSProject.ear" was rolled back with failure message {"JBAS014671: Failed services" => {"jboss.persistenceunit.\"SIMSProject.ear#SIMSJPA\"" => "org.jboss.msc.service.StartException in service jboss.persistenceunit.\"SIMSProject.ear#SIMSJPA\": Failed to start service"},"JBAS014771: Services with missing/unavailable dependencies" => ["jboss.persistenceunit.\"SIMSProject.ear#primary\"jboss.naming.context.java.jboss.datasources.SIMSDBMissing[jboss.persistenceunit.\"SIMSProject.ear#primary\"jboss.naming.context.java.jboss.datasources.SIMSDB]"]}
01:50:40,296 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015877: Stopped deployment SIMSWebProject.war in 31ms
01:50:40,296 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-4) JBAS015877: Stopped deployment SIMSEJB.jar in 31ms
01:50:40,309 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-4) JBAS015877: Stopped deployment SIMSProject.ear in 44ms
01:50:40,312 INFO  [org.jboss.as.controller] (DeploymentScanner-threads - 2) JBAS014774: Service status report
JBAS014777:   Services which failed to start:      service jboss.persistenceunit."SIMSProject.ear#SIMSJPA": org.jboss.msc.service.StartException in service jboss.persistenceunit."SIMSProject.ear#SIMSJPA": Failed to start service

01:50:40,316 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"JBAS014671: Failed services" => {"jboss.persistenceunit.\"SIMSProject.ear#SIMSJPA\"" => "org.jboss.msc.service.StartException in service jboss.persistenceunit.\"SIMSProject.ear#SIMSJPA\": Failed to start service"},"JBAS014771: Services with missing/unavailable dependencies" => ["jboss.persistenceunit.\"SIMSProject.ear#primary\"jboss.naming.context.java.jboss.datasources.SIMSDBMissing[jboss.persistenceunit.\"SIMSProject.ear#primary\"jboss.naming.context.java.jboss.datasources.SIMSDB]"]}}}

MY -ds.xml is:
<?xml version="1.0" encoding="UTF-8"?>
<datasources xmlns="http://www.jboss.org/ironjacamar/schema">
<datasource jndi-name="java:jboss/datasources/SIMSDB" enabled="true"
 use-java-context="true" pool-name="SIMSDB">
 <connection-url>jdbc:mysql://localhost:3306/mydb</connection-url>
<driver>mysql-connector-java-5.1.0-bin.jar</driver>
<pool></pool>
<security>
<user-name>root</user-name>
<password>nbuser</password>
</security>
</datasource>
</datasources>

My persistence.xml file is:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0"
   xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="
        http://java.sun.com/xml/ns/persistence
        http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
   <persistence-unit name="primary">

      <jta-data-source>java:jboss/datasources/SIMSDB</jta-data-source>
      <properties>

         <property name="hibernate.show_sql" value="false" />
      </properties>
   </persistence-unit>
    <persistence-unit name="SIMSJPA">
        <class>model.Class</class>
        <class>model.Subject</class>
        <class>model.Teacher</class>
        <properties>
           <!--   //i put in dialect line  -->
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
            <property name="hibernate.connection.username" value="root"/>
            <property name="hibernate.connection.password" value="nbuser"/>
            <property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/mydb"/>
            <property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
        </properties>
    </persistence-unit>
</persistence>

The datasourse section of my Standalone file is:
<datasource jndi-name="java:jboss/datasources/SIMSDB" pool-name="SIMSDB">
                <connection-url>jdbc:mysql://localhost:3306/mydb</connection-url>
                <driver>mysql-connector-java-5.1.0-bin.jar</driver>
                <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
                <pool>
                    <min-pool-size>10</min-pool-size>
                    <max-pool-size>100</max-pool-size>
                    <prefill>true</prefill>
                </pool>
                <security>
                    <user-name>test</user-name>
                    <password>test</password>
                </security>
                <statement>
                    <prepared-statement-cache-size>32</prepared-statement-cache-size>
                    <share-prepared-statements/>
                </statement>
                </datasource>
            <drivers>
            <driver name="com.mysql" module="com.mysql">
            <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
            </driver>
    </drivers>

A: You need to create MySQL driver module.
JBoss 7 will be able to use if you create it like this:

*

*download the driver (jar file)

*create directory in you server path: {$jboss-home}/modules/com/mysql/main
and paste the driver jar file here

*in same folder create and new file module.xml

*Insert following code in that module.xml (if your jar file is named mysql.jdbc.jar):

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="com.mysql">
    <resources>
        <resource-root path="mysql.jdbc.jar"/>
    </resources>
    <dependencies>
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>
    </dependencies>
</module>

Make sure the dependencies for your mysql.jdbc.jar are OK.
JBoss 7 is not using -ds.xml  any more.
You allready doing setup for your databse in standalon.xml, this the right way.
Just make sure your migration is correct. I see you have diffent user name and password...
EDIT1:
I don't know how hibernate works with JBoss 7.
But I see you should try to change in your persistence.xml
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>

to
<property name="hibernate.connection.driver_class" value="com.mysql"/>

because you are using com.mysql as module name. Otherwise you can change module name to com.mysql.jdbc.Driver.
In your standalone.xml
change
<driver>mysql-connector-java-5.1.0-bin.jar</driver>

to
<driver>com.mysql</driver>

because you gave com.mysql as name for your driver:
<driver name="com.mysql" module="com.mysql">

redpajama_set_name: RedPajamaStackExchange


text:
Carson, Barbara Harrell
CARSON, Barbara Harrell. American, b. 1943. Genres: Literary criticism and history. Career: Towson State College, Baltimore, MD, assistant professor of English, 1968-71; University of Massachusetts, Amherst, assistant professor of English, 1971-72; Florida Technological University, Orlando, FL, adjunct instructor, 1973-79; Valencia Community College, Orlando, adjunct instructor, 1973-79; Rollins College, Winter Park, FL, adjunct instructor, 1973-79, assistant professor, 1979-81, associate professor, 1981-88, professor of English, 1988-94, Theodore Bruce and Barbara Lawrence Alford Professor of English, 1994-. Publications: Eudora Welty: Two Pictures at Once in Her Frame, 1992. Contributor to periodicals. Address: Box 2619, Rollins College, Winter Park, FL 32789, U.S.A.
"Carson, Barbara Harrell ." Writers Directory 2005. . Encyclopedia.com. 20 Jan. 2023 <https://www.encyclopedia.com>.
"Carson, Barbara Harrell ." Writers Directory 2005. . Encyclopedia.com. (January 20, 2023). https://www.encyclopedia.com/arts/culture-magazines/carson-barbara-harrell
"Carson, Barbara Harrell ." Writers Directory 2005. . Retrieved January 20, 2023 from Encyclopedia.com: https://www.encyclopedia.com/arts/culture-magazines/carson-barbara-harrell
College Professor , Professors of genetics at colleges and universities teach, perform research, and handle administrative responsibilities. Professors may teach at the… Benjamin Griffith Brawley , Brawley, Benjamin 1882–1939 Educator, author Benjamin Brawley was one of the leading black academics of the 1930s, and the author of a number of scho… College textbooks , Benjamin Brawley 1882–1939 Educator, author Steeped in Academics Became Distinguished Black Scholar Selected writings Sources Benjamin Brawley was on… Dame Barbara Hepworth , Hepworth, Dame Barbara (1903–76) English sculptor. She shared Henry Moore's interest in the techniques of carving. Her early pieces were mainly in wo… Daniel Jones , JONES, Daniel [1881–1967]. English phonetician, born in London and educated at Radley and University College Schools. He graduated in mathematics fro… Jacques Barzun , BARZUN, Jacques BARZUN, Jacques. American (born France), b. 1907. Genres: History, Intellectual history, Literary criticism and history, Music, Philo…
BENEDICT, Barbara M.
Wiedemann, Barbara
Sizemore, Christine Wick
Mcentyre, Marilyn Chandler
Schapiro, Barbara
HUNTER, J(ames) Paul
Gates, Barbara T(imm)
DIEHL, Huston
Carson, Anne (Regina)
Carson, Ann (d. 1824)
Carson, André
Carson Sink
Carson Pirie Scott & Company
Carson City Kid
carsick
Carshena
Carsey, Marcy 1944-
Carse, Matilda Bradley (1835–1917)
Carse, Adam (von Ahn)
Carryl, Charles E. 1841–1920
Carrying Charges
carryback note
carry-out
Carson, Benjamin
Carson, Benjamin S(olomon)
Carson, Christopher "Kit"
Carson, Ciaran
Carson, Clarence B.
Carson, D(onald) A(rthur)
Carson, Donald W.
Carson, Gladys (b. 1903)
Carson, Hampton Lawrence
Carson, Herbert L.
Carson, Iain
Carson, Inc.
Carson, Joan (1935–)
Carson, John William ("Johnny")
Carson, John William ("Johnny")
Carson, John William 1925-2005
Carson, Johnny (1925–)
Carson, Julia (1938–)
Carson, Lisa Nicole 1969–
Carson, Mary Kay 1964-
Carson, Rachel (1907–1964)
Carson, Rachel (Louise)
Carson, Rachel Louise (1907 – 1964) American Ecologist, Marine Biologist, and Writer
Carson, Rachel Scientist, Ecologist, Writer of Silent Spring (1907–1964)


text:
Museum turns away tourists
27 Nov, 2021 - 00:11 2021-11-27T00:32:56+00:00 2021-11-27T00:02:23+00:00 0 Views
Natural History Museum of Zimbabwe in Bulawayo
TOURISTS are being turned away from the Natural History Museum of Zimbabwe in Bulawayo after Zesa cut electricity from the facility three weeks ago over a $700 000 debt.
The museum's director Dr Moira Fitzpatrick said the debt accumulated over the past one and a half years as they were struggling to operate due to Covid-19 pandemic induced lockdowns.
"We are a victim of Covid-19 and we have not had income for the past one and a half years because of the pandemic and we had no tourism. We are at the point now where we cannot afford to pay our electricity bill which stands at about $700 000," said Dr Fitzpatrick.
"People can come in and see a little bit if they are willing to pay but they aren't. We have been largely closed for the past three weeks. The offices, those being powered by solar, are open, but largely everything else is closed."
Before the onset of Covid-19, the museum would receive about 5 000 to 6 000 visitors monthly, but due to the Covid-19 pandemic, it is receiving a little over 1 000. Tourists pay US$10 each and locals pay the equivalent of US$3 per adult and US$1 per child per each visit.
Dr Fitzpatrick said they had made a request through their headquarters in Harare to the Ministry of Home Affairs and Cultural Heritage for intervention.
"We fall under the Ministry of Home Affairs and Cultural Heritage and we requested three weeks ago for the ministry to pay or help us out and we are hoping they will give us some money. We are still waiting and hopeful that they will intervene," said Dr Fitzpatrick.
She said they had installed solar power for some sections of the museum and the institution needs between US$30 000 and US$40 000 to complete the project.
"We started the first phase, but we could not continue due to Covid and lockdowns. We had the money in reserve to put in solar, but had to use it to keep afloat as an institution and now it's been exhausted. We would probably need between US$30 000 to US$40 000 for us to complete the solar project," said Dr Fitzpatrick.
"We do have a bit of solar power, and few of our galleries are lit up and we can't expect the tourist to pay the entrance fee while we are in darkness. At this point now we can't receive any income in order to pay our bills such as the Zesa one."
The museum contains exhibits illustrating the history, mineral wealth and wildlife of Zimbabwe, including the second largest mounted elephant in the world. It is one of the five national museums nationwide and the only natural history museum in Zimbabwe.
It is part of the Heritage Corridor trail that starts at the Inxwala Grounds, The Hanging Tree some metres away from the Inxwala site, headed south on Joshua Mqabuko Street.
The trail continues to the iconic Joshua Mqabuko statue in the middle of Joshua Mqabuko Street and 8th Avenue in the CBD then the St Mary's Cathedral Basilica Parish, that is found at 9th Avenue and Lobengula Street. Part of the Heritage Corridor takes tourists to the Joshua Nkomo Memorial Museum along Aberdeen Road in Matsheumhlope, some 8km from the CBD. The last leg of the Heritage Corridor tour is Natural History Museum corner Park Road and Leopold Takawira. — @bonganinkunzi
NEW: Enkundleni Exclusive online show ou...20 Jan, 2022
NEW: Professor Ncube among Africa's to...20 Jan, 2022
Draw for the 2023 Afcon finals prelimina...20 Jan, 2022
Private school parents suffer fees hikes in silence
Minister promises to rid Central Vehicle Registry (CVR) of corruption
Harare learns from Gweru, so should Byo
Zisco sends list of potential investors to Cabinet


text:
Q: Connection Refused Error installing Nextcloud on Synology NAS Trying to install Nextcloud on a Synology NAS following this guide.
I am stuck on step 9. When I hit "Finish Setup" I get the following error:

Error while trying to create admin user: Failed to connect to the database: An exception occurred in driver: SQLSTATE[HY000] [2002] Connection refused

MariaDB is running on port 3307 and I am using 127.0.0.1:3307 in the Database Host field.
I have set the root password for MariaDB and validated that it works with phpMyAdmin.
The Apache log shows me this (not sure if it's related):
2020-02-07T09:06:52+01:00 Synology [Fri Feb 07 09:06:52.842797 2020] [core:alert] [pid 32462:tid 140624225343232] [client 192.168.1.50:34372] /var/services/web/nextcloud/data/.htaccess: Expected </IifModule> but saw </IfModule>
2020-02-07T09:07:06+01:00 Synology [Fri Feb 07 09:07:06.128359 2020] [core:alert] [pid 32462:tid 140624191772416] [client 192.168.1.50:34378] /var/services/web/nextcloud/data/.htaccess: Expected </IifModule> but saw </IfModule>
2020-02-07T09:07:20+01:00 Synology [Fri Feb 07 09:07:20.905597 2020] [core:alert] [pid 32462:tid 140624015525632] [client 192.168.1.50:34383] /var/services/web/nextcloud/data/.htaccess: Expected </IifModule> but saw </IfModule>
2020-02-07T09:08:49+01:00 Synology [Fri Feb 07 09:08:49.110084 2020] [core:alert] [pid 32462:tid 140624099452672] [client 192.168.1.50:34388] /var/services/web/nextcloud/data/.htaccess: Expected </IifModule> but saw </IfModule>
2020-02-07T09:11:12+01:00 Synology [Fri Feb 07 09:11:12.579977 2020] [core:alert] [pid 32462:tid 140624208557824] [client 192.168.1.50:34394] /var/services/web/nextcloud/data/.htaccess: Expected </IifModule> but saw </IfModule>
2020-02-07T09:12:10+01:00 Synology [Fri Feb 07 09:12:10.283186 2020] [core:alert] [pid 32462:tid 140624183379712] [client 192.168.1.50:34399] /var/services/web/nextcloud/data/.htaccess: Expected </IifModule> but saw </IfModule>
2020-02-07T09:20:09+01:00 Synology [Fri Feb 07 09:20:09.222903 2020] [core:alert] [pid 32462:tid 140624057489152] [client 192.168.1.50:34437] /var/services/web/nextcloud/data/.htaccess: Expected </IifModule> but saw </IfModule>
2020-02-07T09:22:44+01:00 Synology [Fri Feb 07 09:22:44.829287 2020] [core:alert] [pid 32462:tid 140624074274560] [client 192.168.1.50:34459] /var/services/web/nextcloud/data/.htaccess: Expected </IifModule> but saw </IfModule>

Can anyone point me in the right direction?

A: I had similar issues:

*

*phpMyAdmin worked with the user I created just for nexcloud (myuser)

*Command usr/local/mariadb10/bin/mysql –u myuser –p worked fine

*but still getting QLSTATE[HY000] [2002] Connection refused on the
installation

Turned out, I had to tick the "Enable TCP/IP Connections" on MariaDB 10 packet. I also used 127.0.0.1:3307 for "database server"
https://blog.viking-studios.net/en/your-own-cloud-nextcloud-hub-installation-on-synology-diskstation-with-dsm-6-2/


text:
package com.jungle.base.utils;

import android.app.Activity;
import android.app.ActivityManager;
import android.content.ActivityNotFoundException;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.res.AssetManager;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Looper;
import android.os.Parcel;
import android.provider.Settings;
import android.support.annotation.RequiresApi;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.util.Patterns;
import android.view.View;
import android.view.WindowManager;
import android.webkit.URLUtil;
import com.jungle.base.R;
import com.jungle.base.app.AppCore;
import com.jungle.base.app.BaseActivity;
import com.jungle.base.app.BaseApplication;
import com.jungle.base.common.OnRequestPermissionsResultListener;
import com.jungle.base.misc.JungleSize;

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.Date;
import java.util.Formatter;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public final class MiscUtils {

    public interface OnPermissionRequestListener {
        void onResult(Set<String> grantedPermissions);
    }

    public static boolean isMainThread() {
        return Thread.currentThread() == Looper.getMainLooper().getThread();
    }

    public static void startActivity(Context context, Class<?> clazz) {
        Intent intent = new Intent(context, clazz);
        context.startActivity(intent);
    }

    public static Drawable getAppIcon() {
        String pkgName = MiscUtils.getPackageName();
        PackageManager mgr = BaseApplication.getAppContext().getPackageManager();

        try {
            ApplicationInfo info = mgr.getApplicationInfo(pkgName, 0);
            return mgr.getApplicationIcon(info);
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }

        return null;
    }

    public static String getPackageName() {
        return BaseApplication.getAppContext().getPackageName();
    }

    public static String getAppName() {
        String pkgName = MiscUtils.getPackageName();
        PackageManager mgr = BaseApplication.getAppContext().getPackageManager();

        try {
            ApplicationInfo info = mgr.getApplicationInfo(pkgName, 0);
            return String.valueOf(mgr.getApplicationLabel(info));
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }

        return pkgName;
    }

    @RequiresApi(api = Build.VERSION_CODES.HONEYCOMB)
    public static void setImmersiveMode(Activity activity) {
        View decorView = activity.getWindow().getDecorView();
        int option = decorView.getSystemUiVisibility();

        if (Build.VERSION.SDK_INT >= 14) {
            option ^= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION;
        }

        if (Build.VERSION.SDK_INT >= 16) {
            option ^= View.SYSTEM_UI_FLAG_FULLSCREEN;
        }

        if (Build.VERSION.SDK_INT >= 19) {
            //option ^= View.SYSTEM_UI_FLAG_IMMERSIVE;
        }

        decorView.setSystemUiVisibility(option);
    }

    public static void rateAppInMarkets(Context context) {
        Uri uri = Uri.parse("market://details?id=" + context.getPackageName());
        Intent intent = new Intent(Intent.ACTION_VIEW, uri);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

        try {
            context.startActivity(intent);
        } catch (ActivityNotFoundException e) {
            e.printStackTrace();
        }
    }

    public static String getAssetContent(String path) {
        StringBuilder builder = new StringBuilder();

        AssetManager mgr = BaseApplication.getApp().getAssets();

        try {
            InputStreamReader reader = new InputStreamReader(mgr.open(path));
            BufferedReader buffReader = new BufferedReader(reader);

            String line = "";
            while ((line = buffReader.readLine()) != null) {
                builder.append(line);
                builder.append("\r\n");
            }

            buffReader.close();
        } catch (IOException e) {
            e.printStackTrace();
        }

        return builder.toString();
    }

    public static String getMetaData(String metaKey) {
        Context context = BaseApplication.getAppContext();
        try {
            ApplicationInfo info = context.getPackageManager().getApplicationInfo(
                    context.getPackageName(), PackageManager.GET_META_DATA);
            if (info.metaData != null && info.metaData.containsKey(metaKey)) {
                Object value = info.metaData.get(metaKey);
                return value != null ? value.toString() : null;
            }
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }

        return null;
    }

    public static int getIntMetaData(String metaKey) {
        Context context = BaseApplication.getAppContext();
        try {
            ApplicationInfo info = context.getPackageManager().getApplicationInfo(
                    context.getPackageName(), PackageManager.GET_META_DATA);
            if (info.metaData != null && info.metaData.containsKey(metaKey)) {
                return info.metaData.getInt(metaKey);
            }
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }

        return 0;
    }

    public static boolean installApk(Context context, String apkPath) {
        File apkFile = new File(apkPath);
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setDataAndType(Uri.fromFile(apkFile),
                "application/vnd.android.package-archive");

        try {
            context.startActivity(intent);
        } catch (ActivityNotFoundException e) {
            e.printStackTrace();
            return false;
        }

        return true;
    }

    public static boolean isScreenAutoRotate(Context context) {
        int gravity = 0;
        try {
            gravity = Settings.System.getInt(context.getContentResolver(),
                    Settings.System.ACCELEROMETER_ROTATION);
        } catch (Settings.SettingNotFoundException e) {
            e.printStackTrace();
        }

        return gravity == 1;
    }

    public static boolean openUrlByBrowser(Context context, String url) {
        if (TextUtils.isEmpty(url)) {
            return false;
        }

        final String HTTP_TAG = "http://";
        url = url.trim();
        if (!URLUtil.isNetworkUrl(url)) {
            url = HTTP_TAG + url;
        }

        try {
            Uri uri = Uri.parse(url);
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            intent.setData(uri);
            context.startActivity(intent);
        } catch (ActivityNotFoundException e) {
            e.printStackTrace();
            return false;
        }

        return true;
    }

    public static boolean callPhoneNumber(Context context, String phoneNumber) {
        Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber));
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        try {
            context.startActivity(intent);
        } catch (ActivityNotFoundException e) {
            e.printStackTrace();
            return false;
        }

        return true;
    }

    public static boolean dialPhoneNumber(Context context, String phoneNumber) {
        Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + phoneNumber));
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        try {
            context.startActivity(intent);
        } catch (ActivityNotFoundException e) {
            e.printStackTrace();
            return false;
        }

        return true;
    }

    public static boolean isNumber(String str) {
        if (TextUtils.isEmpty(str)) {
            return false;
        }

        Pattern pattern = Pattern.compile("^[0-9]+$");
        Matcher matcher = pattern.matcher(str);
        return matcher.matches();
    }

    public static boolean isPhoneNumber(String str) {
        if (TextUtils.isEmpty(str)) {
            return false;
        }

        Pattern pattern = Pattern.compile("^[1]([3|4|5|7|8][0-9])[0-9]{8}$");
        return pattern.matcher(str).matches();
    }

    public static boolean isEmailAddress(String str) {
        if (TextUtils.isEmpty(str)) {
            return false;
        }

        Matcher matcher = Patterns.EMAIL_ADDRESS.matcher(str);
        return matcher.matches();
    }

    public static boolean isAccountId(String str) {
        if (TextUtils.isEmpty(str)) {
            return false;
        }

        Pattern pattern = Pattern.compile("^[0-9A-Za-z_].*$");
        Matcher matcher = pattern.matcher(str);
        return matcher.matches();
    }

    public static void writeBytesToParcel(Parcel dest, byte[] buff) {
        int len = buff != null ? buff.length : 0;
        dest.writeInt(len);
        if (len > 0) {
            dest.writeByteArray(buff);
        }
    }

    public static byte[] readBytesFromParcel(Parcel source) {
        int len = source.readInt();
        if (len > 0) {
            byte[] buff = new byte[len];
            source.readByteArray(buff);
            return buff;
        }

        return null;
    }

    public static byte[] generateMD5Binary(String value) {
        if (value == null) {
            return null;
        }

        try {
            MessageDigest md5 = MessageDigest.getInstance("MD5");
            return md5.digest(value.getBytes("UTF-8"));
        } catch (NoSuchAlgorithmException | UnsupportedEncodingException e) {
            e.printStackTrace();
        }

        return null;
    }

    public static byte[] generateMD5Binary(byte[] value) {
        if (value == null) {
            return null;
        }

        try {
            MessageDigest md5 = MessageDigest.getInstance("MD5");
            return md5.digest(value);
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }

        return null;
    }

    public static byte[] generateMD5BinaryX2(String value) {
        byte[] md5x1 = generateMD5Binary(value);
        return generateMD5Binary(md5x1);
    }

    public static String generateMD5String(String value) {
        try {
            MessageDigest md5 = MessageDigest.getInstance("MD5");
            byte[] hash = md5.digest(value.getBytes("UTF-8"));

            StringBuilder builder = new StringBuilder(hash.length * 2);
            for (byte b : hash) {
                int temp = b & 0xff;
                if (temp < 0x10) {
                    builder.append("0");
                }

                builder.append(Integer.toHexString(temp));
            }

            return builder.toString();
        } catch (NoSuchAlgorithmException | UnsupportedEncodingException e) {
            e.printStackTrace();
        }

        return value;
    }

    public static String getFormattedMD5(byte[] content) {
        byte[] md5 = generateMD5Binary(content);
        if (md5 == null || md5.length == 0) {
            return null;
        }

        return serializationBytesToHex(md5);
    }

    public static String getHash(String value) {
        if (value == null) {
            return null;
        }

        return getHash(value.getBytes());
    }

    public static String getHash(byte[] value) {
        try {
            MessageDigest md5 = MessageDigest.getInstance("MD5");
            md5.update(value);
            BigInteger bi = new BigInteger(md5.digest()).abs();
            return bi.toString(Character.MAX_RADIX);
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }

        return serializationBytesToHex(value);
    }

    public static String serializationBytesToHex(byte[] src) {
        if (src == null || src.length <= 0) {
            return "";
        }

        StringBuilder builder = new StringBuilder(src.length * 2);
        for (byte ch : src) {
            builder.append(String.format("%02x", ch & 0xff));
        }

        return builder.toString();
    }

    public static int getApplicationPid() {
        Context context = BaseApplication.getAppContext();
        String pkgName = getPackageName();

        ActivityManager manager = (ActivityManager)
                context.getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningAppProcessInfo> runningList = manager.getRunningAppProcesses();

        for (ActivityManager.RunningAppProcessInfo info : runningList) {
            if (TextUtils.equals(pkgName, info.processName)) {
                return info.pid;
            }
        }

        return 0;
    }

    public static List<Integer> getApplicationPidList() {
        Context context = BaseApplication.getAppContext();
        String pkgName = getPackageName();

        ActivityManager manager = (ActivityManager)
                context.getSystemService(Context.ACTIVITY_SERVICE);
        List<ActivityManager.RunningAppProcessInfo> runningList = manager.getRunningAppProcesses();

        List<Integer> result = new ArrayList<>();
        for (ActivityManager.RunningAppProcessInfo info : runningList) {
            if (info.processName.contains(pkgName)) {
                result.add(info.pid);
            }
        }

        return result;
    }

    public static void openNetworkSetting(Context context) {
        Intent intent = null;
        if (VersionUtils.getSystemVersion() > Build.VERSION_CODES.HONEYCOMB_MR2) {
            intent = new Intent(Settings.ACTION_WIFI_SETTINGS);
        } else {
            intent = new Intent(Settings.ACTION_SETTINGS);
        }

        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent);
    }

    public static String getDeviceId() {
        TelephonyManager mgr = (TelephonyManager)
                BaseApplication.getAppContext().getSystemService(Context.TELEPHONY_SERVICE);
        String deviceId = null;
        try {
            deviceId = mgr.getDeviceId();
        } catch (Exception e) {
            e.printStackTrace();
        }

        if (TextUtils.isEmpty(deviceId)) {
            deviceId = "";
        }

        return MiscUtils.generateMD5String(deviceId);
    }

    public static String getDeviceInfo() {
        // Nexus 5, API-19, google/hammerhead/...../release-keys, TIME-1403892907000, CPU_ABI-armeabi-v7a
        //
        return new StringBuilder()
                .append(Build.MODEL)
                .append(", API-").append(Build.VERSION.SDK_INT)
                .append(", ").append(Build.FINGERPRINT)
                .append(", TIME-").append(Build.TIME)
                .append(", CPU_ABI-").append(Build.CPU_ABI)
                .toString();
    }

    public static String formatSimpleDateDesc(long millSeconds) {
        return new SimpleDateFormat("yyyy-MM-dd").format(new Date(millSeconds));
    }

    public static String formatDateDesc(long millSeconds) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(System.currentTimeMillis());
        int thisYear = calendar.get(Calendar.YEAR);
        int thisMonth = calendar.get(Calendar.MONTH);
        int thisDay = calendar.get(Calendar.DAY_OF_MONTH);

        calendar.setTimeInMillis(millSeconds);
        int nowYear = calendar.get(Calendar.YEAR);
        int nowMonth = calendar.get(Calendar.MONTH);
        int nowDay = calendar.get(Calendar.DAY_OF_MONTH);

        SimpleDateFormat format = null;
        if (thisYear == nowYear && thisMonth == nowMonth && thisDay == nowDay) {
            format = new SimpleDateFormat("HH:mm");
        } else if (thisYear == nowYear) {
            format = new SimpleDateFormat("MM-dd HH:mm");
        } else {
            format = new SimpleDateFormat("yyyy-MM-dd HH:mm");
        }

        return format.format(new Date(millSeconds));
    }

    public static String formatFullDateDesc(long millSeconds) {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        return format.format(new Date(millSeconds));
    }

    public static String getMainLauncherActivity() {
        try {
            Context context = BaseApplication.getAppContext();
            PackageManager manager = context.getPackageManager();
            Intent intent = new Intent(Intent.ACTION_MAIN, null);
            intent.addCategory(Intent.CATEGORY_LAUNCHER);
            List<ResolveInfo> list = manager.queryIntentActivities(intent, 0);
            Collections.sort(list, new ResolveInfo.DisplayNameComparator(manager));

            String packageName = MiscUtils.getPackageName();
            for (ResolveInfo info : list) {
                if (TextUtils.equals(packageName, info.activityInfo.packageName)) {
                    return info.activityInfo.name;
                }
            }
        } catch (Throwable e) {
            e.printStackTrace();
        }

        return null;
    }

    public static byte[] bundleToBytes(Bundle bundle) {
        Parcel accountInfoParcel = Parcel.obtain();
        bundle.writeToParcel(accountInfoParcel, 0);
        byte[] bytes = accountInfoParcel.marshall();

        accountInfoParcel.recycle();
        return bytes;
    }

    public static Bundle bytesToBundle(byte[] bytes) {
        Bundle bundle = new Bundle();
        if (bytes == null || bytes.length == 0) {
            return bundle;
        }

        Parcel accountInfoParcel = Parcel.obtain();
        accountInfoParcel.unmarshall(bytes, 0, bytes.length);
        accountInfoParcel.setDataPosition(0);
        bundle.readFromParcel(accountInfoParcel);
        accountInfoParcel.recycle();

        return bundle;
    }

    public static String ensureString(String value) {
        return value != null ? value : "";
    }

    public static boolean isSameDay(long timestamp) {
        Calendar calendar = Calendar.getInstance();
        Calendar today = Calendar.getInstance();
        calendar.setTimeInMillis(timestamp);
        today.setTimeInMillis(System.currentTimeMillis());

        return calendar.get(Calendar.YEAR) == today.get(Calendar.YEAR)
                && calendar.get(Calendar.MONTH) == today.get(Calendar.MONTH)
                && calendar.get(Calendar.DAY_OF_MONTH) == today.get(Calendar.DAY_OF_MONTH);
    }

    public static boolean isSameWeek(long timestamp) {
        Calendar calendar = Calendar.getInstance();
        Calendar today = Calendar.getInstance();
        calendar.setTimeInMillis(timestamp);
        today.setTimeInMillis(System.currentTimeMillis());

        return calendar.get(Calendar.YEAR) == today.get(Calendar.YEAR)
                && calendar.get(Calendar.WEEK_OF_YEAR) == today.get(Calendar.WEEK_OF_YEAR);
    }

    public static String formatTime(long timeMs) {
        if (timeMs <= 0) {
            return "00:00";
        }

        long totalSeconds = timeMs / 1000;
        long seconds = totalSeconds % 60;
        long minutes = totalSeconds / 60 % 60;
        long hours = totalSeconds / 3600;

        Formatter formatter = new Formatter();
        return hours > 0
                ? formatter.format("%d:%02d:%02d", new Object[]{hours, minutes, seconds}).toString()
                : formatter.format("%02d:%02d", new Object[]{minutes, seconds}).toString();
    }

    public static void playSound(Context context, int soundResId) {
        final MediaPlayer player = MediaPlayer.create(context, soundResId);
        if (player == null) {
            return;
        }

        AudioManager manager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
        int maxVolume = manager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
        int currVolume = manager.getStreamVolume(AudioManager.STREAM_MUSIC);

        float volume = 1.0f;
        if (maxVolume > 0) {
            volume = (float) currVolume / (float) maxVolume;
        }

        player.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            @Override
            public void onCompletion(MediaPlayer mp) {
                player.release();
            }
        });

        player.setVolume(volume, volume);
        player.start();
    }

    public static String getTimeProgressDesc(int progressSeconds) {
        int hour = progressSeconds / 3600;
        int minute = (progressSeconds - hour * 3600) / 60;
        int second = progressSeconds - hour * 3600 - minute * 60;

        Context context = BaseApplication.getAppContext();
        if (hour != 0) {
            return context.getString(R.string.hour_time_format, hour, minute, second);
        } else if (minute != 0) {
            return context.getString(R.string.minute_time_format, minute, second);
        }

        return context.getString(R.string.second_time_format, second);
    }

    public static void switchScreenOnOff(Context context, boolean keepOn) {
        if (context instanceof Activity) {
            Activity activity = (Activity) context;

            if (keepOn) {
                activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
            } else {
                activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
            }
        }
    }

    public static void scanMediaFile(String file) {
        if (TextUtils.isEmpty(file)) {
            return;
        }

        Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
        intent.setData(Uri.fromFile(new File(file)));
        AppCore.getApplicationContext().sendBroadcast(intent);
    }

    public static JungleSize getScreenSize() {
        DisplayMetrics metrics = AppCore.getApplicationContext()
                .getResources().getDisplayMetrics();

        return new JungleSize(metrics.widthPixels, metrics.heightPixels);
    }

    public static void requestRuntimePermission(Activity activity, String permission) {
        requestRuntimePermission(activity, permission, null);
    }

    public static void requestRuntimePermission(
            Activity activity, String permission,
            OnPermissionRequestListener listener) {

        requestRuntimePermission(activity, new String[]{permission}, listener);
    }

    public static void requestRuntimePermission(
            Activity activity, String[] permissions,
            final OnPermissionRequestListener listener) {

        final Set<String> grantedPermissions = new HashSet<>();
        if (permissions == null || permissions.length <= 0) {
            if (listener != null) {
                listener.onResult(grantedPermissions);
            }

            return;
        }

        List<String> noGrantedPermissions = new ArrayList<>();
        for (String permission : permissions) {
            if (ContextCompat.checkSelfPermission(activity, permission)
                    != PackageManager.PERMISSION_GRANTED) {
                noGrantedPermissions.add(permission);
            }
        }

        if (noGrantedPermissions.isEmpty()) {
            if (listener != null) {
                Collections.addAll(grantedPermissions, permissions);
                listener.onResult(grantedPermissions);
            }

            return;
        }

        final int REQUEST_PERMISSION_CODE = 1000;
        if (listener != null && activity instanceof BaseActivity) {
            BaseActivity baseActivity = (BaseActivity) activity;
            baseActivity.addRequestPermissionResultListener(
                    new OnRequestPermissionsResultListener() {
                        @Override
                        public boolean onRequestPermissionsResult(
                                BaseActivity activity, int requestCode,
                                String[] permissions, int[] grantResults) {

                            if (requestCode != REQUEST_PERMISSION_CODE) {
                                return false;
                            }

                            if (permissions == null || grantResults == null) {
                                listener.onResult(grantedPermissions);
                                return true;
                            }

                            int count = Math.min(permissions.length, grantResults.length);
                            for (int i = 0; i < count; ++i) {
                                if (grantResults[i] == PackageManager.PERMISSION_GRANTED) {
                                    grantedPermissions.add(permissions[i]);
                                }
                            }

                            listener.onResult(grantedPermissions);
                            return true;
                        }
                    });
        }

        ActivityCompat.requestPermissions(activity,
                noGrantedPermissions.toArray(new String[noGrantedPermissions.size()]),
                REQUEST_PERMISSION_CODE);
    }

    public static String getPackageSign(Context context, String packageName) {
        PackageInfo info = null;
        try {
            info = context.getPackageManager().getPackageInfo(
                    packageName, PackageManager.GET_SIGNATURES);
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
            return null;
        }

        MessageDigest md5 = null;
        try {
            md5 = MessageDigest.getInstance("MD5");
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
            return null;
        }

        for (int i = 0; i < info.signatures.length; ++i) {
            byte[] bytes = info.signatures[i].toByteArray();
            if (bytes != null) {
                md5.update(bytes);
            }
        }

        return MiscUtils.serializationBytesToHex(md5.digest());
    }

    @RequiresApi(api = Build.VERSION_CODES.HONEYCOMB)
    public static void copyTextToClipboard(String data) {
        ClipboardManager clipboardManager = (ClipboardManager)
                AppCore.getApplicationContext()
                        .getSystemService(Context.CLIPBOARD_SERVICE);

        ClipData clipData = ClipData.newPlainText("text", data);
        clipboardManager.setPrimaryClip(clipData);
    }

    public static Bitmap takeViewScreenshot(View view) {
        if (view == null) {
            return null;
        }

        view.setDrawingCacheEnabled(true);
        view.buildDrawingCache();
        Bitmap bitmap = Bitmap.createBitmap(view.getDrawingCache());
        view.setDrawingCacheEnabled(false);

        return bitmap;
    }
}

redpajama_set_name: RedPajamaGithub


text:
Location PO Box 3302 Easton, MD 21601 Phone 415.533.3106 E-mail quarteracre.sonoma@gmail.com
Quarter Acre Farm
providing certified organic vegetables & seedlings with agricultural expertise
Andrea . Organic Farmer
Sustainable Growing Radio Show
Quarter Acre Farm EATS
November 26, 2016 November 26, 2016 andreamdavisLeave a Comment on Farmers Love Books
Farmers Love Books
As a farmer with winter coming and farm life slowing down, now is the perfect time to stay inside and get cozy with a good book. Books make great presents this holiday season either as a hostess gift or a stocking stuffer. Below are some of my personal favorite agriculture themed books that any farmer, gardener, or agrarian lover needs on their bookshelf.
Turn Here Sweet Corn
by: Atina Diffley
In telling her story of working the land, coaxing good food from the fertile soil, Atina Diffley reminds us of an ultimate truth: we live in relationships—with the earth, plants and animals, families and communities. A memoir of making these essential relationships work in the face of challenges as natural as weather and as unnatural as corporate politics, her book is a firsthand history of getting in at the "ground level" of organic farming. One of the first certified organic produce farms in the Midwest, the Diffleys' Gardens of Eagan helped to usher in a new kind of green revolution in the heart of America's farmland, supplying their roadside stand and a growing number of local food co-ops. This is a story of a world transformed—and reclaimed—one square acre at a time.
Chasing Chiles
by: Gary Paul Nabhan,
Kurt Michael Friese, & Kraig Kraft
Chasing Chiles looks at both the future of place-based foods and the effects of climate change on agriculture through the lens of the chile pepper-from the farmers who cultivate this iconic crop to the cuisines and cultural traditions in which peppers play a huge role. Over a year-long journey, three pepper-loving gastronauts- an agroecologist, a chef, and an ethnobotanist- set out to find the real stories of America's rarest heirloom chile varieties, and learn about the changing climate from farmers and other people who live by the pepper, and who, lately, have been adapting to shifting growing conditions and weather patterns. They put a face on an issue that has been made far too abstract for our own good.
The Market Gardener
by: Jean-Martin Fortier
Les Jardins de la Grelinette is a micro-farm located in eastern Quebec, just north of the American border. Growing on just 1.5 acres, owners Jean-Martin and Maude-Helène feed more than two hundred families through their thriving CSA and seasonal market stands and supply their signature mesclun salad mix to dozens of local establishments. The secret of their success is the low-tech, high-yield production methods they've developed by focusing on growing better rather than growing bigger, making their operation more lucrative and viable in the process.
by: Gene Logsdon
Gene Logsdon's story embodies both the frustrations and longing so many of us feel as we search for our essential selves and a harmonious life. The measure of his courage — and contrariness — is that he has been successful. In You Can Go Home Again, he tells us what motivated him and what success has meant. For Logsdon, to create a home; is not to escape from the world, but to establish a nexus of people, all working together to produce a home-based economy as a bulwark of stability under the larger economy gone crazy with paper money. Home is a local community tied to other local communities.
by: Scott & Helen Nearing
Helen and Scott Nearing are the great-grandparents of the back-to-the-land movement, having abandoned the city in 1932 for a rural life based on self-reliance, good health, and a minimum of cash. The Nearings' food and living philosophies have provided the guidelines for many who seek a simpler way of life.
The Organic Farmer's Business Handbook
by: Richard Wiswall
In The Organic Farmer's Business Handbook, Richard Wiswall shares advice on how to make your vegetable production more efficient, better manage your employees and finances, and turn a profit. From his over twenty-seven years of experience at Cate Farm in Vermont, Wiswall knows firsthand the joys of starting and operating an organic farm—as well as the challenges of making a living from one. Farming offers fundamental satisfaction from producing food, working outdoors, being one's own boss, and working intimately with nature. But, unfortunately, many farmers avoid learning about the business end of farming; because of this, they often work harder than they need to, or quit farming altogether because of frustrating—and often avoidable—losses.
This Life is in Your Hands
by: Melissa Coleman
In a work of power and beauty Melissa Coleman delivers a luminous, evocative childhood memoir exploring the hope and struggle behind her family's search for a sustainable lifestyle. Coleman's searing chronicle tells the true story of her upbringing on communes and sustainable farms along the rugged Maine coastline in the 1970's, embedded within a moving, personal quest for truth that her experiences produced.
A Buzz in the Meadow
by: Dave Goulson
In A Buzz in the Meadow, Dave Goulson tells the tale of how he bought a derelict farm in the heart of rural France. Over the course of a decade, on thirty-three acres of meadow, he created a place for his beloved bumblebees to thrive. But other creatures now live there too, myriad insects of every kind, many of which Goulson had studied before in his career as a biologist. You'll learn how a deathwatch beetle finds its mate and why butterflies have spots on their wings, and you'll see how a real scientist actually conducts his experiments. But this book is also a wake-up call, urging us to cherish and protect life in all its forms. Goulson has that rare ability to persuade you to go out into your garden or local park and observe the natural world. The subtle glory that is life in all its forms is there to be discovered. And if we learn to value what we have, perhaps we will find a way to keep it.
You Can Farm
by: Joel Salatin
Have you ever desired, deep within your soul, to make a comfortable full-time living from a farming enterprise? Too often people dare not even vocalize this desire because it seems absurd. It's like thinking the unthinkable. After all, the farm population is dwindling. It takes too much capital to start. The pay is too low. The working conditions are dusty, smelly and noisy: not the place to raise a family. This is all true, and more, for most farmers. But for farm entrepreneurs, the opportunities for a farm family business have never been greater. The aging farm population is creating cavernous niches begging to be filled by creative visionaries who will go in dynamic new directions. As the industrial agriculture complex crumbles and our culture clambers for clean food, the countryside beckons anew with profitable farming opportunities.
The Seed Underground
by: Janisse Ray
Farmers and gardeners a century ago had five times the possibilities of what to plant than farmers and gardeners do today; we are losing untold numbers of plant varieties to genetically modified industrial monocultures. Janisse Ray argues that if we are to secure the future of food, we first must understand where it all begins: the seed. The Seed Underground is a journey to the frontier of seed-saving. It is driven by stories, both the author's own and those from people who are waging a lush and quiet revolution in thousands of gardens across America to preserve our traditional cornucopia of food by simply growing old varieties and eating them. The Seed Underground pays tribute to time-honored and threatened varieties, deconstructs the politics and genetics of seeds, and reveals the astonishing characters who grow, study, and save them.
Gone Feral
by: Novella Carpenter
In Gone Feral, Novella Carpenter—who leads an untraditional life, not unlike her parents', raising livestock and growing vegetables in the city—finds herself contemplating a family of her own. Before that can happen, she knows she has to return to the harsh wilds of Idaho to search for her parents' broken past and to discover why her father chose a life of solitude. Gone Feral marks Carpenter's transformative passage from daughter to mother, a wry and rough tale of life lived on the margins and redemption between generations.
by: John Jeavons
How to Grow More Vegetables demonstrates that small-scale, high-yield, all-organic gardening methods can yield bountiful crops over multiple growing cycles using minimal resources in a suburban environment. This concept that John Jeavons and the team at Ecology Action launched more than 40 years ago is the go-to reference for food growers at every level: from home gardeners dedicated to nurturing their backyard edibles in maximum harmony with nature's cycles, to small-scale commercial producers interested in optimizing soil fertility and increasing plant productivity. Whether you hope to harvest your first tomatoes next summer or are planning to grow enough to feed your whole family in years to come, How to Grow More Vegetables is your indispensable sustainable garden guide.
Published by andreamdavis
View all posts by andreamdavis
Categories Autumn, Continuing Education, WinterTags Atina Diffley, best gift for farmers, christmas gifts, cyber monday, Dave Goulson, farm books, farmer gift guide, gardeners, Gary Paul Nabhan, Gene Logsdon, gifts for farmers, gifts for gardeners, gifts under $20, hanukkah gifts, helen nearing, holiday gift guide, Janisse Ray, Jean-Martin Fortier, Joel Salatin, Kraig Kraft, Kurt Michael Friese, Melissa Coleman, Novella Carpenter, Richard Wiswall, Scott Nearing, secret santa gift ideas, stocking stuffers
Previous Finally Heirloom Popcorn
Next Oh Drip Tape


More severe outcomes override less severe. For example if several students assigned to a pick up ID are summoned without a conflict but one student assigned to the pick up ID warrants a yellow alert, the return will be colored yellow. Similarly, if one student is designated as red then designations of yellow or green are overridden by a red alert.
Red alert messages generate an on screen pop up message to alert the staff of a significant problem but this may disabled by location. For example, presume that a school has a holding area for parents to move to when the students do not arrive in a timely manner; let's call the location "Holding Area." Navigate to Groups / Location then click on the location name. On the Location edit screen set the Suppress Alert setting to Suppress Pop Up Alert.
The results of the last pick up ID entered may be seen by pressing on the colored alert message at the top of the screen. The ensuing pop up will display every student associated to the pick up ID and for those not being notified why they should not be expected to arrive at the pick up location.
A yellow alert is a less severe condition wherein the normal call → depart → mark (optional) → load process has not been followed for one or more students. Yellow alerts a generated for the following conditions, provided that none of the red alert conditions have been met.
Yellow alerts indicate that at least a portion of the students assigned to the pick up ID will not be arriving in the pick up area; conversely, if none of the students assigned to the pick up ID will arriving then a red alert will be generated.
Depending upon which features of Silent Dismissal are used at your school, some entries designated as yellow may be as severe as those designated in red. Presume for this example that the school is not using the Depart, Mark, Load features of Silent Dismissal. In this example one person arrives at the school, displays the pick up ID, and the children leave campus with that person. Now presume that another family member arrives in the pick up line 15 minutes behind the first person with the same pick up ID. When the same number is entered again the response will be in yellow because no new dismissals occurred. In this case, however, the actual condition warrants a red alarm because no children will be coming out of the school for that pick up ID as they have already left the campus.
It is imperative that each school understands their own dismissal configuration so as to respond appropriately for yellow alerts.
The result will display in Green if none of the conditions are met to classify the dismissal as either Yellow or Red. This is equivalent to all of the students assigned to the group being notified with at least one member of the group being notified for the first time on the current day.
At the most basic level, the first evaluation is whether the ID is assigned to one or more students or is not assigned to any student. If no students are assigned to a pick up ID, then it follows that no students will be notified.
Presuming that the ID is assigned to at least one student, the current state for that student will be one of the following. The applicability of the pick up ID to the student for the current day is evaluated in this order.
A student who is not participating has been marked as absent from school or has been marked as already having left the school. Students designated as not participating will not notified in the classroom for dismissal.
When at least one student assigned to a pick up ID is determined to be not participating, a yellow level alert is generated.
when a student is assigned to an alternate pick up ID for the current day and the normal ID is entered, this will generate a yellow alarm. This may not be an error if the parent is picking up other children on that day.
If a student has been explicitly designated to participate in a group on the current day via an override, the student will not be called when the corresponding pick up ID is entered. This will generate a yellow alarm.
This evaluation is applied only when the school has enabled group assignment to take precedence over pick up ID entry. The option may be set by the administrator by going to TOOLS / SCHOOL SETTINGS then selecting the section titled Pick Up Number Entry and finally by setting the Group Priority option to YES and saving the school settings.
If group priority is set for the school and a student is assigned to a group for the current day of the week then that student will not be called for pick up. This is analogous to setting a group override for the current day but it persists each week and an explicit override to pick up is required.
If a student is not called for pick up when the ID is entered due to being assigned to a group for the current day and the school enabling the setting for group priority, then a yellow alert will be generated.
If a school does not have Group Priority enabled, it is possible for a student to be called for a group and for pick up on the same day.
When any of the above actions have been taken and a student is called for pick up, it is assured that the student will not receive the pick up notification in the classroom as the student has already left the classroom.
This condition results in a red error message as the information entered in the pick up area will not be properly communicated to the student.
If a student has only been called for a group but has not been marked in any of the above listed ways as engaging the group on the current day only a yellow warning will be generated.
The entry of a pick up ID may not be the initial entry of that ID on the current day. It may be entered on subsequent occasions in an attempt to more strenuously alert a student who has not yet arrived at the pick up location or may be entered when another family member arrives for pick up due to a miscommunication within the family.
If a pick up number is entered following the initial entry and the current status of the student is that the student has indicated Clear in the classroom this is an indication that the student will not be coming to the pick up area. This will generate a red alarm.
If a pick up number is entered following the initial entry and the current status of the student is that the student has already been Loaded for pick up this indicates that the student is no longer at the school and will generate a red alarm.
If every student assigned to a pick up ID matches one of the above listed conditions then reasonably no students will appear at the pick up location. When every students assigned to a pick up ID matches one of the above criteria - no students called - a red alert will be displayed.
If none of the above conditions apply to a student associated to a pick up ID then the student will be notified in the classroom. Even at this stage, however, the student may be in one of a number of different states, the first two of which apply to pick up ID entry performed after the initial entry.
A student may have been slow to leave the classroom when called initially but has now marked Depart and is in transit to the pick up area. This will generate a yellow alert. This condition, however, should be monitored closely as the student may have been distracted en route.
A student may have already been called for pick up but has not designated that he or she has left the classroom. This may be an indication that the student has not noticed the pick up notification. This will generate a yellow alert so that dismissal staff can inform the parent that the student has already been notified.
not assigned to a group for the day.
From an operational perspective there should be no change at the schools; only better, more timely information for dismissal staff.
For example, students who had departed a classroom for a group were previously unable to see the notification for pick up but this wasn't always readily apparent to dismissal staff. Similarly, when a pick up number did not summon any students the on screen message notified that no students were called but this message was sometimes overlooked during the rush to enter subsequent pick up IDs; now the message is popped up on the screen so that it cannot be missed.


regarded. They are as weighty as eternity. Eternal destinies are at stake. Men and women are deciding for weal or woe. Christian zeal will not exhaust itself in talk, but will feel and act with vigor and efficiency. Yet Christian zeal will not act for the sake of being seen. Humility will characterize every effort and be seen in every work. Christian zeal will lead to earnest prayer and humiliation, and to faithfulness in home duties. In the family circle will be seen the gentleness and love, benevolence and compassion, which are ever the fruits of Christian zeal.
I was shown that you must make an advance move. Your treasure in heaven, Sister E, is not large. You are not rich toward God. May the Lord open your eyes to see and your heart to feel, and cause you to manifest Christian zeal. Oh, how few feel the worth of souls! How few are willing to sacrifice to bring souls to the knowledge of Christ! There is much talking, much professed love for perishing souls; but talk is cheap stuff. It is earnest Christian zeal that is wanted--a zeal that will be manifested by doing something. All must now work for themselves, and when they have Jesus in their hearts they will confess Him to others. No more could a soul who possesses Christ be hindered from confessing Him than could the waters of Niagara be stopped from flowing over the falls.
the halves, and therefore turn from religious duties and religious exercises, and bury themselves up in the world. They make their business primary, and forget God, and He is displeased with them. If any are engaged in business where they cannot advance in the divine life and perfect holiness in the fear of God, they should change to a business in which they can have Jesus with them every hour.
Brother F, you do not honor your profession. Your zeal is a worldly zeal, your interest a worldly interest. You are dying spiritually. You understand not your perilous condition. The love of the world is swallowing up your religion. You must awake; you must seek God and repent of your backslidings. In contrition take words and return to the Lord. Your religious duties have become merely a form. You do not enjoy religion; for this enjoyment is dependent upon willing obedience. The willing and obedient shall eat the good of the land. You do not possess a bright evidence that you will dwell with God in His kingdom. You occasionally engage in the outward performance of religious duties, but your heart is not in the exercise. You occasionally drop a word of warning to sinners, or a word in favor of the truth; but it is a reluctant service, as though rendered to a taskmaster, instead of the cheerful service of filial affection. If your heart is aglow with Christian zeal, the most arduous duties will be pleasant and easy.
done, thou good and faithful servant"? What have you been doing faithfully? Hard work in the business and cares of this life. Will this bring from the lips of Christ the gracious words: "Well done, thou good and faithful servant"?
My brother, Jesus loves you, and He invites you to face rightabout, and take your eyes from the earth, and fix them upon the mark for the prize of your high calling, which is in Christ Jesus. Cease lightness and trifling. Let a solemn weight of the time in which we live be borne by you till the war is over. Go to work; if consecrated to God, your influence will tell.
Most of the family of Brother G are in the downward road. H lives an aimless life. She is full of folly, vanity, and pride. Her influence does not tend to ennoble, does not lead to goodness and holiness. She does not like the restraint which religion imposes; therefore she will not yield her heart to its sacred sway. She loves self, loves pleasure, and is seeking for her own enjoyment. Sad, sad indeed will be the result, unless she now turns square about and seeks for genuine godliness. She might exert a softening, ennobling, and elevating influence over her brothers. God loves these children, but they are not Christians. If they would try to live humble Christian lives, they could become children of the light and workers for God; they could be missionaries in their own family and among their associates.


For the first time that I can actually remember, we're home over the long 4th of July weekend. Typically we're at the beach or up in the Adirondacks but we're laying low this weekend and hitting a few BBQs and local parties. And today… ? Well, I may have to shop some of these amazing 4th of July coupon codes and sales because there are some insane ones today!
So for today's Fashion Friday, I'm going Coupons & Sales because there are so many great fashion, style and beyond shopping sites here and that I know you'll love to hearing about. I'll update this throughout the day as I see other awesome sales too.
« What Bag Do You Use at the Pool?
There really are a ton of great sales out there right now. I'm trying to be good.