text:
Raw Beginnings: The Evolution of Offshore Oil Industry Pipeline Safety
This guest blog post is part of a series written by Edward J. Farmer, PE, ISA Fellow and author of the ISA book Detecting Leaks in Pipelines. To download a free excerpt from Detecting Leaks in Pipelines, click here. If you would like more information on how to purchase the book, click this link. To read all the posts in this series, scroll to the bottom of this post for the link archive.
It was a long, long time ago, the early 1980s as I recall. I can still remember my huge smile when I was selected to consult for a consortium led by Chevron Corporation to develop a new project off the California coast in the Santa Barbara Channel. Considering the political obstacles following leakage from a previous subsea blowout, and a pervasive anti-oil attitude it was a risky project in a lot of ways.
It was also technically challenging. This crude oil had a substantial gas component and the liquid came up with a tremendous amount of brine in it. There were issues with the state of the fluid at the wellhead pressure, in the riser as it rose from the wellhead to the processing platforms, and in the pipelines, which began on the outer continental shelf and rose to an on-land processing and trans-shipment facility.
An early block of work involved developing a way to accurately measure the amount of oil in the flowing stream at custody transfer points – crude oil had economic value, but the oil-contaminated brine was a significant liability. I worked with a Chevron team that did the research and analysis that produced the measurement methodology.
From that work I published an ISA book and software package called Advanced Methods in Crude Oil Volume Correction. The U.S. Department of Transportation Minerals Management Service had primary regulatory jurisdiction for much of the project and imposed new regulations for, among other things, automatic leak detection. That resulted in another project for me, which ultimately resulted in the development of a very successful leak detection product.
Blog Bonus: Free Book and Software Download! Click this link to download a free PDF copy of Edward Farmer's 188-poage book Advanced Methods in Crude Oil Volume Correction plus the accompanying software, Volume Correction Factor Routines for Oil Water and Wet Oil.
I have many fond memories of those times, the work, and especially the very fine people. The project manager was a wonderful and accomplished Chevron fellow named Dave Hylton, a dynamic leader who went on to become the chief engineer of Chevron Pipeline Company. It was my first project with a budget over $2 billion, a sobering thought in those days.
Over three decades later, here is the result: years of safe operation, lots of now-tested, then-new ideas, and a starting point for the next vision. Source: City of Santa Barbara Planning & Development Department
My mind was drawn to those days as I sorted some old files, and I was reminded of my feelings on the morning the platform and pipeline design began. As I drove to the project office that morning there were no drawings, specifications, criteria, or standard practices pertinent to much of what we were about to do. We had our research and analysis of the oil and an understanding of offshore conditions but even that wasn't in an engineering document that fit into our familiar design practice.
I walked into the conference room and noticed a large, completely blank white board at the front of the room. In short order and without much introduction Hylton stepped up and began describing what we were about to begin. In those days I carried a small camera in my briefcase and it suddenly occurred to me this was a seminal moment – the ostensible beginning of the design of what had grown to a multi-partner $2.5 billion venture.
If you would like more information on how to purchase Detecting Leaks in Pipelines, click this link. To download a free 37-page excerpt from the book, click here.
The picture below is the first "engineering drawing" of the Point Arguello Project in its original form. The next morning there were prints of ink-on-velum drawings of these whiteboard creations. Over months they would expand to include all the details necessary to understand and build the project – details of huge issues, such as manifold arrangements, and crucial methodology for accurately measuring flows over the expected range of operating conditions.
It all began a few moments before this picture, at the Pt. Arguello Project Office in Concord, CA with an empty whiteboard and a box of colored pens.
Hours of thought and pages of calculations would support seemingly tiny details. Going to a meeting would involve carrying a role of drawings or a bundle of reduced-size prints. There would be animated discussion of the information on these drawings and lots of note taking on them that would result in even more intense and detailed discussions as the project moved along. Over a few months the project became sets of drawings of the various facilities and the special features, all spawned from that white board on that amazing morning in the conference room.
By the time we were finished, those lines on the whiteboard had become three off-shore platforms, two pipelines, an on-shore treating facility, and a trans-shipment plant. They had also spawned a very sophisticated (for its day) SCADA system with hot-standby, automatic fail-over capability. It supported the first pipeline leak detection system to meet the new regulations, incorporating three independent methods of detecting leaks within minutes of occurrence anywhere on the pipeline. We had accurate and automatic custody transfer instrumentation and a state-of-the-art control room.
A lot of insight and work goes into these projects and a lot of amazing things come out. It begins, though, with a dream forming a vision; followed by an idea; the development of opportunities, constraints, and concepts; a tremendous amount of knowledge and effort involved in figuring out how to build it; and ultimately a real manifestation of the dream. Along the path and into the future there may be good days and bad days – there were both over the history of this project; BUT the feelings it produces and the results we get to see certainly remind us why we like engineering.
Learn more about pipeline leak detection and related industry topics
Book Excerpt + Author Q&A: Detecting Leaks in Pipelines
How to Optimize Pipeline Leak Detection: Focus on Design, Equipment and Insightful Operating Practices
What You Can Learn About Pipeline Leaks From Government Statistics
Is Theft the New Frontier for Process Control Equipment?
What Is the Impact of Theft, Accidents, and Natural Losses From Pipelines?
Can Risk Analysis Really Be Reduced to a Simple Procedure?
Do Government Pipeline Regulations Improve Safety?
What Are the Performance Measures for Pipeline Leak Detection?
What Observations Improve Specificity in Pipeline Leak Detection?
Three Decades of Life with Pipeline Leak Detection
How to Test and Validate a Pipeline Leak Detection System
Does Instrument Placement Matter in Dynamic Process Control?
Condition-Dependent Conundrum: How to Obtain Accurate Measurement in the Process Industries
Are Pipeline Leaks Deterministic or Stochastic?
How Differing Conditions Impact the Validity of Industrial Pipeline Monitoring and Leak Detection Assumptions
How Does Heat Transfer Affect Operation of Your Natural Gas or Crude Oil Pipeline?
Why You Must Factor Maintenance Into the Cost of Any Industrial System
How Long Does It Take to Detect a Leak on an Oil or Gas Pipeline?
Pipeline Leak Size: If We Can't See It, We Can't Detect It
An Introduction to Operations Research in the Process Industries
The Enigma of Process Knowledge
Energy in Fluid Mechanics: How to Ensure Physical Line and Operating Data Are Consistent
Edward Farmer, author and ISA Fellow, has more than 40 years of experience in the "high tech" part of the oil industry. He originally graduated with a bachelor of science degree in electrical engineering from California State University, Chico, where he also completed the master's program in physical science. Over the years, Edward has designed SCADA hardware and software, practiced and written extensively about process control technology, and has worked extensively in pipeline leak detection. He is the inventor of the Pressure Point Analysis® leak detection system as well as the Locator® high-accuracy, low-bandwidth leak location system. He is a Registered Professional Engineer in five states and has worked on a broad scope of projects worldwide. He has authored three books, including the ISA book Detecting Leaks in Pipelines, plus numerous articles, and has developed four patents. Edward has also worked extensively in military communications where he has authored many papers for military publications and participated in the development and evaluation of two radio antennas currently in U.S. inventory. He is a graduate of the U.S. Marine Corps Command and Staff College. During his long industry career, he established EFA Technologies, Inc., a manufacturer of pipeline leak detection technology.
Connect with Ed


Shirley J sets the standard for bouillons. Our chicken bouillon has a rich, deeper flavor and is more concentrated with a greater yield than other brands, allowing you to use less with tastier results. It's also lower in sodium than other brands, making it a better nutritional choice.
INGREDIENTS: Salt, Hydrolyzed Vegetable Protein (hydrolyzed corn protien, palm and/or sunflower oil), Sugar, Whey Powder, Onion Powder, Silicon Dioxide, Disodium Inosinate and Disodium Guanylate, Turmeric, Spice Extracts.
INGREDIENTS: Salt, Hydrolyzed Vegetable Protein (hydrolyzed corn protien, palm and/or sunflower oil), Sugar, Whey Powder, Onion Powder, Silicon Dioxide, Disodium Inosinate and Disodium Guanylate, Turmeric, Spice Extracts. Contains Milk.


text:
package com.salesmanager.shop.populator.references;

import org.apache.commons.collections4.CollectionUtils;

import com.salesmanager.core.business.exception.ConversionException;
import com.salesmanager.core.business.utils.AbstractDataPopulator;
import com.salesmanager.core.model.merchant.MerchantStore;
import com.salesmanager.core.model.reference.language.Language;
import com.salesmanager.core.model.reference.zone.Zone;
import com.salesmanager.core.model.reference.zone.ZoneDescription;
import com.salesmanager.shop.model.references.ReadableZone;

public class ReadableZonePopulator extends AbstractDataPopulator<Zone, ReadableZone> {

	@Override
	public ReadableZone populate(Zone source, ReadableZone target, MerchantStore store, Language language)
			throws ConversionException {
		if(target==null) {
			target = new ReadableZone();
		}

		target.setId(source.getId());
		target.setCode(source.getCode());
		target.setCountryCode(source.getCountry().getIsoCode());

		if(!CollectionUtils.isEmpty(source.getDescriptions())) {
			for(ZoneDescription d : source.getDescriptions()) {
				if(d.getLanguage().getId() == language.getId()) {
					target.setName(d.getName());
					continue;
				}
			}
		}

		return target;

	}

	@Override
	protected ReadableZone createTarget() {
		// TODO Auto-generated method stub
		return null;
	}

}

redpajama_set_name: RedPajamaGithub


Oodles of doodles of everyone's favourite bald lady! TANK GIRL! For those of you who don't know, I'm working on the new Tank Girl book along with some of the best in the business, including WJC, Jamie Hewlett, P J Bond, Jonathan Edwards, Jim Mahfood and Brett Parson Very exciting times indeed!


German Financial Supervisory Authority (BaFin) has ordered Crypto.exchange GmbH, a Berlin-based exchange, to immediately stop acting as a financial broker.
The order was issued after the exchange advertised on its website, btc-now.de, that it would sell customer's bitcoins for euros and sell them on a stock exchange, says BaFin in a statement. The firm claimed the purchase price would be transferred to the investors within 30 minutes, it adds.
According to BaFin, the financial commission business operated by Crypto.exchange GmbH is not authorized by the regulator. The financial watchdog took the decision after users claimed that they did not receive any money for cryptocurrency that was transferred to the firm, Bloomberg states.
The subsidiary structure of Sberbank in Switzerland is preparing to begin trading in cryptocurrency for customers, said Andrei Shemetov, vice president of Sberbank and head of global markets for investment – Sberbank CIB. This is the first time a service of this kind is being offered by Russian banks.
The Bell (Korean news website) reports that Samsung has began producing chips for Bitcoin mining this month.
The report says that Samsung had signed a contract with a Chinese hardware company related to Bitcoin mining, and has began production already on the chips – citing an unidentified Samsung official.
It also goes on to say that Samsung had also completed development of ASIC semiconductors for Bitcoin mining last year.


text:
@interface IIIFlowCell : UIView
@property BOOL isDownloading;
@property (strong, nonatomic) NSString *reuseId;
@property (strong, nonatomic) UIImageView *image;

- (id)initWithReuseId:(NSString *)idStr;
- (void)loadWithImage:(UIImage *)image cellWidth:(CGFloat)width;
- (void)unload;

@end


STUNNING COLONIAL BUILT IN 2017. GREAT OPEN CONCEPT FLOOR PLAN GREAT FOR ENTERTAINING. MAINTENANCE FREE FLOORING THROUGHOUT 1ST FLOOR. FULL LENGTH FRONT PORCH TO ENJOY THE GREAT NEIGHBORHOOD. CONVENIENT WALKING DISTANCE TO ALL THAT DOWNTOWN FREDERICKSBURG HAS TO OFFER. GREAT ROOM WALKS OUT ONTO A CONCRETE PATIO AND FENCED IN YARD.


We've updated and refreshed our range of Adviser resources, including our new Adviser guide. This now includes our Underwriting limits and Cover and benefits at a glance, giving you all you need to know in one handy reference.
We've added our new quick to read Life Insurance and Critical Illness Made Easy guide, a useful introduction to share with clients looking for individual protection.
• Our guide to Life Insurance and Life Insurance plus Critical Illness cover – our top read!
We'd be pleased to hear your thoughts on our new Adviser resources. Please send them to marketing-feedback@canadalife.co.uk.


text:
Rapist caught after telling cops 'come get me'
by Chris Clarke, Christine Flatley
A DANGEROUS sex offender who was on the run from authorities after allegedly ditching his tracking device in Queensland has been arrested.
Damien Kennedy, 28, who was on supervised release after serving jail time for rape and assault with intent to commit rape, was arrested in Wollongong after allegedly cutting off his ankle bracelet and fleeing on Monday.
In a post on Facebook this afternoon, Queensland Corrective Services said: "Queensland Corrective Services (QCS) can confirm that Damien KENNEDY, supervised under the Dangerous Prisoners (Sexual Offenders) Act 2003 (DPSOA), has been arrested and taken into custody.
"QCS and Queensland Police Service thank the community for their efforts in spreading awareness around this incident."
Before his arrest he was last tracked at Salisbury, south of the Brisbane, at about 4pm on Monday.
He then allegedly removed his electronic monitoring bracelet and went on the run.
Around 12 hours later he posted a message on Facebook saying he is in Rockhampton, taunting police with the words: "Come get me morther f***ers (sic)".
Police said they were aware of the post.
Court documents seen by The Courier-Mail show Kennedy is a dangerous criminal who bashed a 49-year-old sex worker in 2007 before threatening her life with a pair scissors during a violent rape he committed at the age of 18.
In December last year, a judge declared Kennedy was "a serious danger to the community".
During his sentencing hearing for rape and assault with intent to commit rape in 2008, a prosecutor revealed harrowing details about the afternoon he attacked the sex worker.
"He grabbed her around the neck and pushed her towards the lounge room, or the lounge. They struggled," the prosecutor said.
"He continued punching her, hitting her and grabbing her around the head and upper body until she fell to the ground. He straddled her and was now again groping the top of his pants. He produced a pair of scissors, with one blade more pointy than the other."
Kennedy had lied to the woman and told her his name was Jerry.
Convicted rapist Damien Kennedy once raped a woman while holding a pair of scissors to her throat.
After the crime, Kennedy apologised to her for what he had done.
According to the court document, Kennedy grew up in a "toxic family environment" around a mother who was a drug fiend and dealer.
A psychiatrist told the court in 2008 that Kennedy was "psychotic" at the time of the rape due to a combination of substance abuse and a lack of sleep.
Another expert declared Kennedy was a moderate to high chance of violently reoffending.
Along with his rape and assault with intent to commit rape convictions, Kennedy was jailed in 2008 for fraud and stealing offences.
In total he was ordered to serve more than nine years in jail, but he became eligible for parole in November 2010.
In the past, Kennedy has also been charged with stealing, wilful damage, common assault, possession of tainted property, possession of cannabis, possession of utensils, burglary, unlawful use of a motor vehicle, dangerous operation of a motor vehicle and evading fares.
He was first imprisoned as an adult at the age of 17 years for offences including burglary and unlawful use of a motor vehicle.
Drone filmed dropping drugs into prison
caught editors picks on the run rapist

redpajama_set_name: RedPajamaCommonCrawl


text:
Tornado rips through Dallas, plunging tens of thousands into darkness
Fire officials said seven people narrowly escaped a building that collapsed in north Dallas, while numerous people reported being injured by glass.
Tornado in Dallas carves nearly 20-mile trail of destruction
Oct. 21, 2019, 3:52 AM UTC / Updated Oct. 21, 2019, 5:17 PM UTC
By Alex Johnson and Yuliya Talmazan
Tens of thousands of Dallas residents woke up to no power on Monday after a tornado plowed a long path through the north of the city, leaving power outages and scenes of destruction in its wake.
By 10:30 a.m. CT on Monday, there were 55,000 homes and business without power and 100 traffic signals were down across the city, said Dallas Office of Emergency Management director Rocky Vaz.
This is Iglesias Emanuela church. Completely destroyed. Many members are going inside to salvage, despite it being unsafe. Other members out here just sobbing. pic.twitter.com/tLq8w8jkKT
— Sam Blum (@SamBlum3) October 21, 2019
Dallas Mayor Eric Johnson and other city officials said Monday they're grateful there don't appear to be any deaths or serious injuries caused by this storm.
"Considering the path that the storm took, it went across a pretty densely populated part of our city, I think we should consider ourselves very fortunate that we did not lose any lives, no fatalities, and no serious injuries," Johnson told reporters.
The National Weather Service confirmed at 9:48 p.m. (10:48 p.m. ET) Sunday that a tornado had touched down in north and northeast Dallas.
Download the NBC News app for breaking news
NBC Dallas-Fort Worth reported that a tornado touched down near Love Field and that its radar indicated that the twister could have tracked for 17 miles.
Aerial video shows devastating tornado aftermath in Dallas
The station and other news organizations published images and video of downed power lines, debris and scores of emergency personnel on the streets in northwestern parts of the city. Social media photos showed numerous homes with their roofs ripped off and cars damaged on Interstate 35 highway.
"Property damage, we're not unconcerned about that," Mayor Johnson said. "But our top priority has been making sure that everyone in our city is safe."
The Dallas Police Department and Dallas Fire Rescue said they were assessing damaged structures throughout the night. Officers were also going door-to-door in some areas to check on residents, but won't know the full extent of the damage until the sun rises.
Dallas Fire-Rescue tweeted that one of their stations was badly damaged, but no one inside was hurt.
Intensity of tornado north of Dallas captured by eyewitness video
Vaz told "Today" there was "extensive damage" to one small sector of the city, including many rooftops blown away. Only three people were brought to area hospitals, Vaz said, and his department is confident nobody is currently trapped in rubble.
The City of Dallas tweeted that an emergency operations center has been activated as it assesses the damage.
Tina Devlin of Dallas said her home was a "total loss."
"I heard all the snapping of the trees and the wind blowing, and so I climbed into this bedroom closet, and just as I got in there, the roof blew off," Devlin told NBC Dallas-Fort Worth.
A search and rescue team checks a home after a tornado hit the neighborhood in Richardson, Texas, on Oct. 21, 2019.LM Otero / AP
Devlin said a fire crew was able to help her and her family get out safely.
"I just thank God we're alive," she said. "I haven't cried any — I've just been panicked."
Former President George W. Bush and his wife, Laura, live in the area. A representative of the family told NBC News that the Bushes were safe and that they were praying for their neighbors.
Texas Gov. Greg Abbott tweeted his support for those affected, saying: "We are sending prayers. We are also sending the Texas Division of Emergency Management to provide assistance. Stay safe Texans."
Dallas Stars player Tyler Seguin tweeted Monday morning he was safe after a local reporter shared images of a house badly damaged in the tornado.
"Luckily this is my house for sale and I have moved into a new one," Seguin said. "I just left the area and it is an extremely sad sight to see. Prayers to everyone affected by the tornado."
Dallas fire officials told NBC News that an unspecified structure collapsed near the area where the tornado touched down. They said as many seven people were able to make it out of the structure safely but that a search and rescue team was on the scene to look for other people.
Authorities didn't identify the structure, but NBC Dallas-Fort Worth showed a flooring company building in the immediate area with its front half crumpled in a heap.
Fire officials said they were also responding to multiple calls for people who had been injured by broken glass.
Here's a look at just some of the storm damage in #Dallas. A store is demolished, as well destruction along Harry Hines near Walnut Hill Lane. https://t.co/ziHMTvOZib#NBCDFWWeather pic.twitter.com/8I4epX2JeZ
— NBCDFW Weather (@NBCDFWWeather) October 21, 2019
Police officers in Garland, a community northeast of Dallas, where a tornado warning was also issued, reported major structural damage in a residential area, but said there were no substantial injuries.
Several schools sustained "significant damage" and will be closed Monday, the Dallas Independent School District said.
Oncor Corp., the main electric provider for the Dallas area, reported that more than 70,000 customers still remained without power in Dallas county at 5:30 a.m. (6:30 a.m. ET).
The company said it has experienced significant damage to power lines and it was working to restore power as quickly as possible.
The tornado didn't affect the Dallas Cowboys' game on Sunday night against the Philadelphia Eagles in Arlington, west of Dallas.
Meanwhile, in far southwest Tennessee, a twister forced temporary evacuation of at least one terminal at Memphis International Airport on Monday morning.
The airport retweeted a photo posted by a traveler of an empty gate area and ticketing area. The airport said "minor damage was sustained" but that "normal operations have resumed."
CORRECTION (Oct. 21, 2019, 9 a.m. ET): An earlier version of this article misspelled the last name of a Dallas Stars player. He is Tyler Seguin, not Seduin.
Kurt Chirbas, Ben Kesslen and David K. Li contributed.


text:
> Commercial Vehicle Market Trends
Bus Market - Growth, Trends, and Forecasts (2020 - 2025)
The bus market is projected to be worth USD 54.92 billion by 2025, registering a CAGR of 7.58% during the forecast period.
- Buses are the most preferred mode of public transportation as billions of people use buses for day-to-day commute across the world. The bus demand has increased significantly in the recent years, especially in developing countries, such as India, China, Brazil, and Mexico, owing to the rapid population growth, urbanization, and government initiatives to connect rural areas to cities.
- Growing concerns over pollution and rise in stringent emission regulations have encouraged countries to include a greater number of electric buses in the existing bus fleet, thereby contributing to the overall bus market growth.
- Some of the major companies that capture a significant market share include Daimler AG, Zhengzhou Yutong Bus Co., Volvo, Traton (Man, Scania etc.), Tata Motors, Ashok Leyland, and Alexander Dennis.
Increasing Adoption of Electric Buses
Fuel constitutes a major part of the operating cost of any vehicle. With increasing fuel costs, using an electric bus for public transport is significantly cost-effective in the long run.
- Electric buses help reduce 81-83% of the maintenance and operating costs, compared to a diesel engine bus.
Electric buses offer more comfort to travellers compared to gasoline or diesel buses. The NVH levels in electric buses are minimal, unlike traditional diesel buses, providing enhanced comfort to passengers.
Currently, China is the most promising market in this sector, and this is likely to lead the e-bus demand over the forecast period. For instance, in 2018, nearly 23% of bus purchases in China were e-buses. Moreover, the overall bus purchases in the country is expected to remain stable, with more than 400,000 new purchases by 2025. Electric bus purchases are expected to increase, supported by continuous government initiatives to promote e-mobility, and the overall e-bus adoption is likely to reach 40% of new bus purchases, globally, by 2040.
The Chinese e-bus market is likely to be followed by the US and European markets, as it is expected that both the countries may have a combined contribution of more than 40,000 electric heavy-duty vehicles on the roads by 2025. In 2019, approximately 12% of city buses registered were battery-electric. In Western Europe and Poland, as already anticipated, 2019 was a record year with regards to the transition to zero emission buses. The limit of 1,000 electric bus units was already exceeded in September 2019, and the year ended with as many as 1,687 e-buses registered on a total market of 14,392 city buses.
At the end of 2019, 39% of the city buses had an alternative driveline in Europe. In 2018 this was 28% (3.340 buses with an alternative driveline of the total of 11,845 city buses).
Furthermore, governments across the regions are taking initiatives for the promotion of electric vehicles, which are playing a pivotal role in the growth of the on-demand bus industry.
Europe is Expected to Witness the Second-fastest Growth Rate
The European region is expected to witness the second-fastest CAGR of 7.50%, during the forecast period.
In Europe, in 2018, the United Kingdom dominated the market and accounted for 20.22% share of the total market, followed by Germany, France, and Spain. In the United Kingdom, buses are the most frequently used mode of transport. In 2017, 4.4 billion bus trips were made across England, and buses accounted for approximately 59% of all public transport trips in Great Britain, compared to 21% by rail.
Local bus passenger journeys have been continually declining in London, English metropolitan areas, English non-metropolitan areas, England, Scotland, Wales, and Great Britain. The prime reason is the steep decline in travel on local government funded bus and privatization of buses (as bus operators can decide the routes they want to travel), which resulted in sparse services. However, owing to rise in pollution, and to reduce reliance on oil and dependence on oil producing countries, the country has been focusing on e-mobility. Moreover, clean air zones have been introduced in many cities of the United Kingdom, and commuters are deterred by the congestion and high parking costs, which in turn, is propelling the need for clean and efficient bus service in the country.
In Europe, the United Kingdom has the most number of electric buses, with hybrid electric buses currently running in many British cities, representing 18% of the Europe's entire fleet. The electrification of the country's road transport is still in its nascent stage, but the falling costs are expected to drive the growth of the market.
The market for buses is a fragmented one, with the major players holding a significant share of the market due to their developed products and network of various dealers. The major players in the market include Zhengzhou Yutong Bus Co., Xiamen King Long United, Daimler AG, Volvo, Traton (Man, Scania, etc.), Tata Motors, Ashok Leyland, etc.
The other players, such as Solaris, Navistar, IC Bus, etc., hold a relatively smaller market share. These companies are in the process of expanding their operations in local and international markets.
The bus market is characterized by mergers, acquisitions, and collaborations between various manufacturers trying to tap into potential markets. Since the market for electric buses is expected to grow significantly over the forecast period, bus manufacturers are investing considerably in R&D and are subsequently ramping up their portfolio to include more electric models.
- The market estimate (ME) sheet in Excel format
- 3 months of analyst support
Global Bus Market - SIZE, SHARE, COVID-19 IMPACT & FORECASTS UP TO 2028
The Global Bus Market is projected to register a CAGR of 6.42% Key Highlights Largest Segment by Fuel Type - Diesel : HEV is the most utilized electric bus propulsion technology in the world. Government ...
Bus Pantograph Charger Market - Growth, Trends, COVID-19 Impact, and Forecast (2022 - 2027) $ 4750 December 2022
Buses Markets in China $ 4000 October 2022
Shocks and Struts Markets in China $ 4000 October 2022
Other Motor Vehicle Sales in the UK - Industry Market Research Report $ 735 November 2022
Buses Companies in China $ 1800 October 2022
Buses Industry Forecasts - China Focus $ 1800 October 2022
Buses And Coaches Global Market Opportunities And Strategies To 2031: COVID-19 Impact and Recovery $ 4000 July 2022
Public Transportation in the US - Industry Market Research Report $ 1020 August 2022
Coach & Bus Transport in the UK - Industry Market Research Report $ 660 September 2022
Commercial Vehicle in the World
Commercial Vehicle in North America
Commercial Vehicle in Asia
Commercial Vehicle in Europe
Commercial Vehicl... in the United States
Commercial Vehicle in East Asia
Commercial Vehicle in APAC
Commercial Vehicle in China
Commercial Vehicle in Middle East


This article appeared on pages 30-32 in the August 2006 issue of Native American Review (formally Indian Education Today) published by the Native American Journalists Foundation. It ceased publication in December 2006.
As students return to school, some will face writing about "What I did last summer." While such an assignment draws on the writer's personal experience, which is good, what will students learn from doing this assignment? As the curriculum gets increasingly crowded with things to teach, teachers can't afford to have assignments that don't have educational goals.
I began thinking again about the goals of school writing assignments when I came across Ann Nolan Clark's little 1969 autobiography Journey to the People while browsing a few weeks ago in a local used bookstore. I knew that Clark had helped write a whole series of books for Indian students in the 1940s, including About the Hen of Wahpeton, Little Herder In Autumn, The Pine Ridge Porcupine, and Young Hunter Of Picuris, some of which were bilingual and printed at Haskell and Phoenix Indian schools. I also knew she had been an Indian school teacher, but nothing else.
In Journey to the People Clark writes about how Willard Beatty, Chief of the Indian Office's Branch of Education from 1936 to 1952 and a former president of the Progressive Education Association, encouraged experimenting in teaching approaches and methods. She states that all the Indian-school teachers were using "Experience Reading Charts" where students described their experiences and the teacher wrote them down on chart paper, but her students rather than learning to read from them were memorizing what she wrote and singsonging it back. "But these were charts, and to the children charts were charts and had no connection with books." She even folded paper and bound it with yarn to make booklets, but still her Tesuque Pueblo students did not see these as books and were still against books because they saw books as some sort of white-man's magic closed to them.
Of course the Indian Office could not come up with the money to buy her a mimeograph machine to produce something that really looked like books for children, so she had to advance her own money. With a mimeograph machine her "book-hating third-graders with ceremony and pomp were henceforth the Tesuque Printers." They printed and sold thirty copies of A Courier in New Mexico to pay off the mimeograph machine and then printed A Third Grade Home Geography written by Clark, "a book about life every day in Tesuque." Somehow that book made it all the way to New York City where it was published in 1941 by The Viking Press as In My Mother's House and named a Caldecott Honor Book. Her initially reluctant readers went on to Haskell and Sherman Indian Schools and one went on to college and another became an artist.
Page 8 of Ann Nolan Clark's Caldecott Honor Book In My Mother's House illustrated by Velino Herrera. In her autobiography, Clark writes, "What a book says must be interesting to the child who reads it or listens to it read to him. The story must be vital to him. He must be able to live it as the pages turn. It must enrich the world he knows and lead him into a wider, larger unfamiliar world. The experience of having known it must have been an adventure and a delight.... A good book has an inner quality that may have a deep, personal, special meaning for some child, somewhere. It is an unfortunate adult who does not remember certain books of his childhood that he will hold forever dear." Unfortunately, the stories in textbooks used to teach reading in elementary schools usually don't live up to Clark's definition of a good book.
for children to have books written for them that will help them develop an understanding of themselves, their potentialities and resources, and the pressures and problems of their immediate world. It is the need for books to be written that will help give them an insight into, and an acceptance of, the larger world outside their own.
She declares that "books for children should help develop an appreciation of life and all that life means and holds and promises."
Clark's book reminded me of T.D. Allen's 1982 book Writing to Create Ourselves published by the University Oklahoma Press, which was based on a 1969 BIA Curriculum Bulletin No. 2 that she wrote with the same title. The ideas in her book are based on her five years experience working with Indian students at the Institute of American Indian Arts in Santa Fe, New Mexico, where she started teaching in 1963, as well as subsequent years spent working with Indian school teachers across the country. She started with her students using their "five doors" (the five senses) to describe something, then had them do short "here and now" exercises that capture the look, feel, smell, sound, and/or taste of a moment in time, and went on to have them write life stories. As the book jacket states, "Allen shows that, by helping a student discover what it is he has to say that is uniquely his own, the student motivates himself to gain language skills and define himself as a person." One of her students, Emerson Blackhorse "Barney" Mitchell, got so carried away writing his life story that it was published as Miracle Hill by the University of Oklahoma Press in 1967. Her students also had their writing commercially published in an Arrow series of anthologies.
Allen's ideas to develop young writers parallel those of Mick Fedullo who wrote Light of the Feather about his experiences getting Indian students to write poetry across the western United States. He echoes Allen's advice of students using their five senses to paint a picture in words of the scene or event and let the readers draw their own conclusions. He tells students to not use adjectives like beautiful, bad, cute, good, nice, pretty and ugly that don't really describe anything--"show don't tell." Some of the students he worked with had their poetry commercially published in Rising Voices in 1992.
Famous writers like Louisa Mae Alcott who wrote Little Women and Lucy Maud Montgomery who wrote Anne of Green Gables got nowhere with their writing until they took advice to write about what they knew, about the people and places they grew up around. Well known Indian writers like N. Scott Momaday, Virginia Driving Hawk Sneve, Luci Tapahonso and Laura Tohe have built much of their success on the same principle.
However, non-fiction or fiction life stories are just one type of writing that students should learn how to do in school. Also useful are five paragraph (or more) essays and various forms of process writing where students brainstorm ideas, write drafts, discuss drafts with fellow students (and the teacher!), edit, and finally publish in some form their writing.
Mike Rose in his book Lives on the Boundary writes about students he met working at the University of California at Los Angeles Tutorial Center that got high grades on their essays in high school and then low ones for writing the same way in college. They had learned to write good summaries of things they read about, but not to critically analyze what they read, which is what their university professors demanded. Daniel McLaughlin in his book When Literacy Empowers writes about a Navajo student who did well in a reservation school and then went to a Harvard summer program where just writing from "the top of her head" was not enough. She was disappointed to learn that she would need to take a remedial writing class, and later wrote to students back at her high school, "Think what you're writing. What are you saying? What is your thesis? Thesis, thesis, thesis: everything has to relate to your main topic." The Applied Literacy Program at her school got students to develop their writing skills in Navajo and English by writing in a variety of ways, including for the school's low-power television station and award winning newspaper. Much of their writing was based on interviewing elders, tribal officials, and other community members.
Rose, who was born into poverty and initially did poorly in school, emphasizes again and again how a few of his teachers made all the difference in his life with their encouragement and help. Part of the encouragement and help teachers can give is to provide students some choices about what they read and write about and letting them use their experiential and cultural background to inform that writing. Of course teachers also needs to provide guidance in how this and other types of writing can be improved.
Hopi teacher Polingaysi Qoyawayma insisted in her autobiography No Turning Back "on teaching from the known to the unknown." Responding to being told by her supervisors in the 1920s to teach only in English, she wrote, "What do these white-men stories mean to a Hopi child? What is a choo-choo to these little ones who have never seen a train? No! I will not begin with the outside world of which they have no knowledge. I shall begin with the familiar. The everday things. The things of home and family." For Little Red Riding Hood she substituted familiar Hopi legends, songs and stories. Initially reprimanded for her audacity, her talents were recognized by Ho Chunk educator Henry Roe Cloud, the first Indian graduate of Yale University who became Superintendent of Haskell Institute in 1933 and Supervisor of Indian Education for the U.S. Indian Office in 1936. Commissioner of Indian Affairs John Collier also recognized her work and asked her to give workshops for other Indian Office teachers.
In all of this, it is important not to forget the role of Library Media Centers that are ideally the heart of a school. Students learn about different kinds of writing by reading different kinds of writing. They develop reading fluency by reading a lot and writing fluency by writing a lot. The availability of interesting reading material in school classrooms and libraries as well as the encouragement by teachers and librarians to make use of that material is critical for the academic success of students. This encouragement should include some time at school for students to read books and other reading material that they select from the library without any pressure to write reports or do other related assignments. Students need a chance to enjoy reading, since it is only when they enjoy reading they will read enough to get the practice they need to become fluent readers.
Ironically, the insights gained by Ann Nolan Clark, Polingaysi Qoyawayma, T.D. Allen, Mick Fedullo and many other teachers who have actually worked with Indian students are being lost in the efforts under the No Child Left Behind (NCLB) Act of 2001 to close the achievement gap between American Indian and non-Indian students by using teaching methods based on "scientific" educational studies. Studies that did not focus on American Indian students and ignored the role of motivation in student success!
An example of current educational malpractice being enforced under NCLB is the use the Dynamic Indicators of Basic Early Literacy Skills (DIBELS). For all practical purposes, recipients of Department of Education NCLB Reading First Grants are being required to use DIBELS. Author and reading specialists Michael Pressley of Michigan State University noted that its grade 3 level oral reading test only predicted 20% of the variance on more comprehensive reading tests and thus while being quick to administer, it is a very poor measure of students' reading comprehension. Even worse, its oral reading measure is one of "word-calling" (pronouncing words without paying attention to their meaning) rather than comprehension. Indian educators would do well to remember Polingaysi Qoyawayma's focus on students understanding what they read and her demand that "there should be no parrot learning."
By ignoring the importance of student motivation and overemphasizing phonics, the Reading First provisions of NCLB are unfortunately moving teachers back towards the "parroting," drill and kill type teaching that Qoyawayma warned against in her 1964 autobiography.
Done well, writing about "What I Did on My Summer Vacation" could develop student writing skills in ways similar to the work of T.D. Allen and Mick Fedullo, but it is not just a matter of giving an assignment. For example, students might be asked think about how one or more of their summer experiences helped them grow as a person. In their writing process they could focus on improving a developmentally appropriate aspect of their writing, and ideally their writing should be targeted at an audience beyond their teacher, who could be younger students at their school.


text:
Take note and vote
August 27, 2015 August 26, 2015 Admin_trop
Katie Miller
Furman Taylor, a freshman political science major from New Orleans, filled me in on why voting and participating in various political events should be important for students, especially with the upcoming 2016 presidential election.
"I want to have a say on what goes on in my country," he said, adding that every registered voter should vote, as long as he or she has a valid opinion to bring to the table. "Even if it's a little voice, it's a voice."
Qualities Taylor said he is looking for in each candidate in the upcoming election include: good leadership ability, respect and a lack of belligerency and over aggressiveness.
"A candidate should be able to lead a country from a financial standpoint and from a foreign policy one," Taylor said.
Taylor Hopper, a sophomore computer science major from Wetumpka, also offered his input. Hopper said he does not receive information about the candidates through word of mouth.
"You have to look things up and see what they stand for," Hopper said.
Hopper said that though his opinion is just a number, it can make a difference.
"Voting is important because it is one of the many chances that citizens have to express themselves politically but also engage in the political process," said Richard Ledet, an assistant professor of political science.
After speaking with Ledet, it was clear that one goal for his class is to motivate students to become informed before they place their ballot in the box.
"I try to give my students a sense of efficacy that they can change things," Ledet said. "They can actually have their voices heard."
Ledet works with the Political Science Club, a group that provides a source of learning and fellowship for students majoring or minoring in political science and any other interested students.
He said his involvement with the club is beneficial for students because he equips students for their experiences with voting and the political process in general, and by "making sure people are informed when they vote."
Another avenue for students who are interested in politics and helping the Troy community is the Student Government Association.
Taylor, after meeting several people in the association, said he believes that the SGA is moving toward the right direction when it comes to listening to students' opinions.
"The Student Government Association here at Troy works hard to constantly improve our school," he said. "The Student Government Association does their job fairly well with everyone else's opinions and what they think should happen."
Straight outta Troy
Letter to the editor concerning "Parking mayhem upsets Trojans" article and the parking issue:
March 16, 2021 Opinion
An American perspective on free education
Sam Stroud Opinion Editor Before I address the topic at hand, free education, I feel several...
ENgLIST - Slovenia International Contributors Opinion
An international perspective on free education
Nadja Jukič Contributor How would you like your education free? As it happens, very much. But...
March 7, 2021 Photography
Looking back on the year of COVID
Sam Stroud Opinion Editor We are rapidly approaching the one-year anniversary of the Troy University on-campus...


text:
package soot.jimple.infoflow.android.manifest;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Map.Entry;
import java.util.Set;

import org.xmlpull.v1.XmlPullParserException;

import pxb.android.axml.AxmlVisitor;
import soot.jimple.infoflow.android.axml.AXmlAttribute;
import soot.jimple.infoflow.android.axml.AXmlHandler;
import soot.jimple.infoflow.android.axml.AXmlNode;
import soot.jimple.infoflow.android.axml.ApkHandler;

/**
 * This class provides easy access to all data of an AppManifest.

 * Nodes and attributes of a parsed manifest can be changed. A new byte compressed
 * manifest considering the changes can be generated.
 *
 * @author Steven Arzt
 * @author Stefan Haas, Mario Schlipf
 * @see App Manifest
 */
public class ProcessManifest {

	/**
	 * Enumeration containing the various component types supported in Android
	 */
	public enum ComponentType {
		Activity,
		Service,
		ContentProvider,
		BroadcastReceiver
	}

	/**
	 * Handler for zip-like apk files
	 */
	protected ApkHandler apk = null;

	/**
	 * Handler for android xml files
	 */
	protected AXmlHandler axml;

	// android manifest data
	protected AXmlNode manifest;
	protected AXmlNode application;

	// Components in the manifest file
	protected List<AXmlNode> providers = null;
	protected List<AXmlNode> services = null;
	protected List<AXmlNode> activities = null;
	protected List<AXmlNode> receivers = null;

	/**
	 * Processes an AppManifest which is within the file identified by the given path.
	 *
	 * @param	apkPath					file path to an APK.
	 * @throws	IOException				if an I/O error occurs.
	 * @throws	XmlPullParserException	can occur due to a malformed manifest.
	 */
	public ProcessManifest(String apkPath) throws IOException, XmlPullParserException {
		this(new File(apkPath));
	}

	/**
	 * Processes an AppManifest which is within the given {@link File}.
	 *
	 * @param	apkFile					the AppManifest within the given APK will be parsed.
	 * @throws	IOException				if an I/O error occurs.
	 * @throws	XmlPullParserException	can occur due to a malformed manifest.
	 * @see		{@link ProcessManifest#ProcessManifest(InputStream)}
	 */
	public ProcessManifest(File apkFile) throws IOException, XmlPullParserException {
		this.apk = new ApkHandler(apkFile);
		InputStream is = null;
		try {
			is = this.apk.getInputStream("AndroidManifest.xml");
			this.handle(is);
		}
		finally {
			if (is != null)
				is.close();
		}
	}

	/**
	 * Processes an AppManifest which is provided by the given {@link InputStream}.
	 *
	 * @param	manifestIS				InputStream for an AppManifest.
	 * @throws	IOException				if an I/O error occurs.
	 * @throws	XmlPullParserException	can occur due to a malformed manifest.
	 */
	public ProcessManifest(InputStream manifestIS) throws IOException, XmlPullParserException {
		this.handle(manifestIS);
	}

	/**
	 * Initialises the {@link ProcessManifest} by parsing the manifest provided by the given {@link InputStream}.
	 *
	 * @param	manifestIS				InputStream for an AppManifest.
	 * @throws	IOException				if an I/O error occurs.
	 * @throws	XmlPullParserException	can occur due to a malformed manifest.
	 */
	protected void handle(InputStream manifestIS) throws IOException, XmlPullParserException {
		this.axml = new AXmlHandler(manifestIS);

		// get manifest node
		List<AXmlNode> manifests = this.axml.getNodesWithTag("manifest");
		if(manifests.isEmpty()) throw new RuntimeException("Manifest contains no manifest node");
		else if(manifests.size() > 1) throw new RuntimeException("Manifest contains more than one manifest node");
		this.manifest = manifests.get(0);

		// get application node
		List<AXmlNode> applications = this.manifest.getChildrenWithTag("application");
		if(applications.isEmpty()) throw new RuntimeException("Manifest contains no application node");
		else if(applications.size() > 1) throw new RuntimeException("Manifest contains more than one application node");
		this.application = applications.get(0);

		// Get components
		this.providers = this.axml.getNodesWithTag("provider");
		this.services = this.axml.getNodesWithTag("service");
		this.activities = this.axml.getNodesWithTag("activity");
		this.receivers = this.axml.getNodesWithTag("receiver");
	}

	/**
	 * Generates a full class name from a short class name by appending the
	 * globally-defined package when necessary
	 * @param className The class name to expand
	 * @return The expanded class name for the given short name
	 */
	private String expandClassName(String className) {
		String packageName = getPackageName();
		if (className.startsWith("."))
			return packageName + className;
		else if (className.substring(0, 1).equals(className.substring(0, 1).toUpperCase()))
			return packageName + "." + className;
		else
			return className;
	}

	/**
	 * Returns the handler which parsed and holds the manifest's data.
	 *
	 * @return Android XML handler
	 */
	public AXmlHandler getAXml() {
		return this.axml;
	}

	/**
	 * Returns the handler which opened the APK file. If {@link ProcessManifest} was
	 * instanciated directly with an {@link InputStream} this will return null.
	 *
	 * @return APK Handler
	 */
	public ApkHandler getApk() {
		return this.apk;
	}

	/**
	 * The unique manifest node of the AppManifest.
	 *
	 * @return manifest node
	 */
	public AXmlNode getManifest() {
		return this.manifest;
	}

	/**
	 * The unique application node of the AppManifest.
	 *
	 * @return application node
	 */
	public AXmlNode getApplication() {
		return this.application;
	}

	/**
	 * Returns a list containing all nodes with tag provider.
	 *
	 * @return list with all providers
	 */
	public ArrayList<AXmlNode> getProviders() {
		return new ArrayList<AXmlNode>(this.providers);
	}

	/**
	 * Returns a list containing all nodes with tag service.
	 *
	 * @return list with all services
	 */
	public ArrayList<AXmlNode> getServices() {
		return new ArrayList<AXmlNode>(this.services);
	}

	/**
	 * Gets all classes the contain entry points in this applications
	 * @return All classes the contain entry points in this applications
	 */
	public Set<String> getEntryPointClasses() {
		// If the application is not enabled, there are no entry points
		if (!isApplicationEnabled())
			return Collections.emptySet();

		// Collect the components
		Set<String> entryPoints = new HashSet<String>();
		for (AXmlNode node : this.activities)
			checkAndAddComponent(entryPoints, node);
		for (AXmlNode node : this.providers)
			checkAndAddComponent(entryPoints, node);
		for (AXmlNode node : this.services)
			checkAndAddComponent(entryPoints, node);
		for (AXmlNode node : this.receivers)
			checkAndAddComponent(entryPoints, node);

		String appName = getApplicationName();
		if (appName != null && !appName.isEmpty())
			entryPoints.add(appName);

		return entryPoints;
	}

	private void checkAndAddComponent(Set<String> entryPoints, AXmlNode node) {
		AXmlAttribute<?> attrEnabled = node.getAttribute("enabled");
		if (attrEnabled == null || !attrEnabled.getValue().equals(Boolean.FALSE)) {
			AXmlAttribute<?> attr = node.getAttribute("name");
			if (attr != null)
				entryPoints.add(expandClassName((String) attr.getValue()));
			else {
				// This component does not have a name, so this might be obfuscated
				// malware. We apply a heuristic.
				for (Entry<String, AXmlAttribute<?>> a : node.getAttributes().entrySet())
					if (a.getValue().getName().isEmpty()
							&& a.getValue().getType() == AxmlVisitor.TYPE_STRING) {
						String name = (String) a.getValue().getValue();
						if (isValidComponentName(name))
							entryPoints.add(expandClassName(name));
					}
			}
		}
	}

	/**
	 * Checks if the specified name is a valid Android component name
	 * @param name The Android component name to check
	 * @return True if the given name is a valid Android component name,
	 * otherwise false
	 */
	private boolean isValidComponentName(String name) {
		if (name.isEmpty())
			return false;
		if (name.equals("true") || name.equals("false"))
			return false;
		if (Character.isDigit(name.charAt(0)))
			return false;

		if (name.startsWith("."))
			return true;

		// Be conservative
		return false;
	}

	/**
	 * Gets the type of the component identified by the given class name
	 * @param className The class name for which to get the component type
	 * @return The component type of the given class if this class has been
	 * registered as a component in the manifest file, otherwise null
	 */
	public ComponentType getComponentType(String className) {
		for (AXmlNode node : this.activities)
			if (node.getAttribute("name").getValue().equals(className))
				return ComponentType.Activity;
		for (AXmlNode node : this.services)
			if (node.getAttribute("name").getValue().equals(className))
				return ComponentType.Service;
		for (AXmlNode node : this.receivers)
			if (node.getAttribute("name").getValue().equals(className))
				return ComponentType.BroadcastReceiver;
		for (AXmlNode node : this.providers)
			if (node.getAttribute("name").getValue().equals(className))
				return ComponentType.ContentProvider;
		return null;
	}

	/**
	 * Returns a list containing all nodes with tag activity.
	 *
	 * @return list with all activities
	 */
	public ArrayList<AXmlNode> getActivities() {
		return new ArrayList<AXmlNode>(this.activities);
	}

	/**
	 * Returns a list containing all nodes with tag receiver.
	 *
	 * @return list with all receivers
	 */
	public ArrayList<AXmlNode> getReceivers() {
		return new ArrayList<AXmlNode>(this.receivers);
	}

	/**
	 * Returns the provider which has the given name.
	 *
	 * @param	name	the provider's name
	 * @return	provider with name
	 */
	public AXmlNode getProvider(String name) {
		return this.getNodeWithName(this.providers, name);
	}

	/**
	 * Returns the service which has the given name.
	 *
	 * @param	name	the service's name
	 * @return	service with name
	 */
	public AXmlNode getService(String name) {
		return this.getNodeWithName(this.services, name);
	}

	/**
	 * Returns the activity which has the given name.
	 *
	 * @param	name	the activitie's name
	 * @return	activitiy with name
	 */
	public AXmlNode getActivity(String name) {
		return this.getNodeWithName(this.activities, name);
	}

	/**
	 * Returns the receiver which has the given name.
	 *
	 * @param	name	the receiver's name
	 * @return	receiver with name
	 */
	public AXmlNode getReceiver(String name) {
		return this.getNodeWithName(this.receivers, name);
	}

	/**
	 * Iterates over list and checks which node has the given name.
	 *
	 * @param	list	contains nodes.
	 * @param	name	the node's name.
	 * @return	node with name.
	 */
	protected AXmlNode getNodeWithName(List<AXmlNode> list, String name) {
		for (AXmlNode node : list) {
			Object attr = node.getAttributes().get("name");
			if(attr != null && attr.equals(name))
				return node;
		}

		return null;
	}

	/**
	 * Returns the Manifest as a compressed android xml byte array.
	 * This will consider all changes made to the manifest and
	 * application nodes respectively to their child nodes.
	 *
	 * @return	byte compressed AppManifest
	 * @see		AXmlHandler#toByteArray()
	 */
	public byte[] getOutput() {
		return this.axml.toByteArray();
	}

	/**
	 * Gets the application's package name
	 * @return The package name of the application
	 */
	private String cache_PackageName = null;
	public String getPackageName() {
		if (cache_PackageName == null) {
			AXmlAttribute<?> attr = this.manifest.getAttribute("package");
			if (attr != null)
				cache_PackageName = (String) attr.getValue();
		}
		return cache_PackageName;
	}

	/**
	 * Gets the version code of the application. This code is used to compare
	 * versions for updates.
	 * @return The version code of the application
	 */
	public int getVersionCode() {
		AXmlAttribute<?> attr = this.manifest.getAttribute("versionCode");
		return attr == null ? -1 : Integer.parseInt("" + attr.getValue());
	}

	/**
	 * Gets the application's version name as it is displayed to the user
	 * @return The application#s version name as in pretty print
	 */
	public String getVersionName() {
		AXmlAttribute<?> attr = this.manifest.getAttribute("versionName");
		return attr == null ? null : (String) attr.getValue();
	}

	/**
	 * Gets the name of the Android application class
	 * @return The name of the Android application class
	 */
	public String getApplicationName() {
		AXmlAttribute<?> attr = this.application.getAttribute("name");
		return attr == null ? null : expandClassName((String) attr.getValue());
	}

	/**
	 * Gets whether this Android application is enabled
	 * @return True if this application is enabled, otherwise false
	 */
	public boolean isApplicationEnabled() {
		AXmlAttribute<?> attr = this.application.getAttribute("enabled");
		return attr == null || !attr.getValue().equals(Boolean.FALSE);
	}

	/**
	 * Gets the minimum SDK version on which this application is supposed to run
	 * @return The minimum SDK version on which this application is supposed to run
	 */
	public int getMinSdkVersion() {
		List<AXmlNode> usesSdk = this.manifest.getChildrenWithTag("uses-sdk");
		if (usesSdk == null || usesSdk.isEmpty())
			return -1;
		AXmlAttribute<?> attr = usesSdk.get(0).getAttribute("minSdkVersion");

		if (attr == null)
			return -1;

		if (attr.getValue() instanceof Integer)
			return (Integer) attr.getValue();

		return Integer.parseInt("" + attr.getValue());
	}

	/**
	 * Gets the target SDK version for which this application was developed
	 * @return The target SDK version for which this application was developed
	 */
	public int targetSdkVersion() {
		List<AXmlNode> usesSdk = this.manifest.getChildrenWithTag("uses-sdk");
		if (usesSdk == null || usesSdk.isEmpty())
			return -1;
		AXmlAttribute<?> attr = usesSdk.get(0).getAttribute("targetSdkVersion");

		if (attr == null)
			return -1;

		if (attr.getValue() instanceof Integer)
			return (Integer) attr.getValue();

		return Integer.parseInt("" + attr.getValue());
	}

	/**
	 * Gets the permissions this application requests
	 * @return The permissions requested by this application
	 * @return
	 */
	public Set<String> getPermissions() {
		List<AXmlNode> usesPerms = this.manifest.getChildrenWithTag("uses-permission");
		Set<String> permissions = new HashSet<String>();
		for (AXmlNode perm : usesPerms) {
			AXmlAttribute<?> attr = perm.getAttribute("name");
			if (attr != null)
				permissions.add((String) attr.getValue());
			else {
				// The required "name" attribute is missing, so we collect all empty
				// attributes as a best-effort solution for broken malware apps
				for (AXmlAttribute<?> a : perm.getAttributes().values())
					if (a.getType() == AxmlVisitor.TYPE_STRING && a.getName().isEmpty())
						permissions.add((String) a.getValue());
			}
		}
		return permissions;
	}

	/**
	 * Adds a new permission to the manifest.
	 * @param complete permission name e.g. "android.permission.INTERNET"
	 */
	public void addPermission(String permissionName) {
		AXmlNode permission = new AXmlNode("uses-permission", null, manifest);
		AXmlAttribute<String> permissionNameAttr = new AXmlAttribute<String>("name", permissionName,  AXmlHandler.ANDROID_NAMESPACE);
		permission.addAttribute(permissionNameAttr);
	}

	/**
	 * Adds a new provider to the manifest
	 * @param node provider represented as an AXmlNode
	 */
	public void addProvider(AXmlNode node) {
		if (providers.isEmpty())
			providers = new ArrayList<AXmlNode>();
		providers.add(node);
	}

	/**
	 * Adds a new receiver to the manifest
	 * @param node receiver represented as an AXmlNode
	 */
	public void addReceiver(AXmlNode node) {
		if (receivers.isEmpty())
			receivers = new ArrayList<AXmlNode>();
		receivers.add(node);
	}

	/**
	 * Adds a new activity to the manifest
	 * @param node activity represented as an AXmlNode
	 */
	public void addActivity(AXmlNode node) {
		if (activities.isEmpty())
			activities = new ArrayList<AXmlNode>();
		activities.add(node);
	}

	/**
	 * Adds a new service to the manifest
	 * @param node service represented as an AXmlNode
	 */
	public void addService(AXmlNode node) {
		if (services.isEmpty())
			services = new ArrayList<AXmlNode>();
		services.add(node);
	}

	/**
	 * Closes this apk file and all resources associated with it
	 */
	public void close() {
		if (this.apk != null)
			this.apk.close();
	}

	/**
	 * Returns all activity nodes that are "launchable", i.e. that are called when the user
	 * clicks on the button in the launcher.
	 * @return
	 */
	public Set<AXmlNode> getLaunchableActivities() {
		Set<AXmlNode> allLaunchableActivities = new HashSet<AXmlNode>();

		for(AXmlNode activity : activities) {
			for(AXmlNode activityChildren : activity.getChildren()) {
				if(activityChildren.getTag().equals("intent-filter")) {
					boolean actionFilter = false;
					boolean categoryFilter = false;
					for(AXmlNode intentFilter : activityChildren.getChildren()) {
						if(intentFilter.toString().equals("<action name=\"android.intent.action.MAIN\">"))
							actionFilter = true;
						else if(intentFilter.toString().equals("<category name=\"android.intent.category.LAUNCHER\">"))
							categoryFilter = true;
					}

					if(actionFilter && categoryFilter)
						allLaunchableActivities.add(activity);
				}
			}

		}

		return allLaunchableActivities;
	}

}


Actor Wesely Snipes has hung out his shingle as a yoga instructor as he serves his sentence for tax charges in a Pennsylvania federal prison.
Sources told TMZ that Snipes recently requested yoga mats for himself and other inmates at the McKean Correctional Facility, and that the request was granted.
Snipes starred in a string of films including the "Blade" action trilogy; however, he ran into charges of filing false tax returns and was locked up at McKean in December to serve three years.


Even though dinosaurs are extinct, this didn't stop Pragmatic Play from bringing them back on Jurassic Giants Slot! Play this highly entertaining slot machine at Wicked Jackpots! Packed with 6 reels and 4096 ways to win, this slot game is based in the dense American jungles.
On this slot game, you will find symbols like: Women, Tiger Teeth, Fire Torches, Dinosaurs and high card values landing on your reels to trigger massive wins!
This slot game pays both ways, from left to right and from right to left! Trigger wins anytime on the massive amount of paylines present.
Amount of Lines Selection: Ways to win remain fixed on this slot game, and cannot be adjusted.
This slot game consists of a Free Spins Bonus! When Scattered Diamonds appear stacked anywhere on the reels, the bonus round is activated. Getting 10 or more Diamond symbols trigger the feature. For combinations of: 10, 11, 12, 13, 14, 15, 16, 17, 18 or 19 Diamond symbols, you are awarded with 15, 20, 25, 30, 35, 40, 45, 50, 80 or 100 FREE spins respectively.


According to employee research by Gallup, 17.5% of employees are "actively disengaged" in their jobs. These are easy to spot: they don't enjoy coming to work, they're dissident in meetings and internal comms, they have a bad attitude, or they're missing work often.
51%, however, are merely "not engaged" in their work—and this looks very different. These employees quietly do their work without challenging the status quo. They're not willing to put in extra effort, they may not fully believe in the company vision, and they aren't powerful contributors.
Most importantly, they're not innovating.
Regardless of which group they belong to, disengaged employees produce a slow and steady decline in productivity and work quality. Employers are looking at nearly 70% of our workforce in these underperforming categories—and that's something that we can all agree needs to change.
To motivate disengaged individuals on your team, you need to complete three distinct steps: identify the problem, fix the immediate issues, and apply a broad long-term solution.
Are your employees frustrated by a lack of upward movement in their career trajectory?
Are they overworked, required to work too much overtime, or frustrated by an inflexible work schedule?
Do they feel undervalued by your company due to low salaries and infrequent raises?
Are your employees mad at their managers?
Are they receiving proper acknowledgement for a job well done?
Are they overwhelmed by a lack of skills and proper training for their roles?
Have they already started the hunt for new job prospects?
Do they see a lack of values or purpose displayed by your company?
Do they know what your company stands for? Are they familiar with your company's culture and purpose?
Are they just not being challenged?
The truth of the matter is, all of the problems outlined here rest directly in the hands of management at your company.
Take stock of your survey results and look closely to identify relevant patterns. You'll see immediately whether your employees have a problem with management, whether they need more training, and whether or not your employees are satisfied with their salaries and benefits. The last situation can't be solved immediately without a serious restructuring of your budget, so we'll tackle that problem another time. The other two, however, we can do something about.
By looking at results by department, it should become evident if you have a manager whose leadership style needs work. This is the first and foremost area of improvement you should address. Interpersonal conflicts are a source of major stress for employees, and correcting unhelpful managerial behavior can make a huge difference in morale. Ultimately, you want managers who inspire and motivate their direct reports toward greater success.
Next, determine if your employees feel confident and qualified in their roles. If your employees feel unable to do their jobs due to lack of information or necessary skills, that's a fire you'll want to put out immediately. It's relatively easy to allocate resources toward training, and it might just save your employee turnover rate.
Each disengaged employee's situation requires a nuanced response and resolution. However, if you're seeing signs of low engagement across all departments or leadership levels in your company, it's a clear sign you need to make a change on a larger scale. You need to get your team back on track and excited to come to work every day.
If you try only one strategy, we recommend incentivizing, recognizing, and rewarding your employees with a game-changing rewards program.
Here's why this works: a custom employee incentive program rewards your team members for their increased productivity. It offers them a clear goal, a steady path to get there, and a sweet reward at the end. It shows employees that you care about making work fun, challenging, and rewarding. And it goes a long way toward satisfying those individuals who may be dissatisfied with compensation or benefits packages.
Whether the program of your choice involves custom uniforms for high achieving employees, a comprehensive company store with customizable swag, or earned gifts from name brands employees love, it's time to start rewarding your team for their improved performance.
Sometimes, no matter what you do, your company ends up parting ways with those "actively disengaged" employees. I personally see this as a good thing. That 17.5 % is already halfway out the door and may be doing more harm than good through their negative influence on your organization. It's the other 51% we're concerned with—and those employees can be reached by figuring out what motivates them and providing great incentives.
Try out this two-step method with your own employees. Before long, I bet you'll have built a more successful team.
At Inproma, we specialize in custom employee incentives that really work. We're talking about programs that reward high achievers, recognize big (and small) wins, and incentivize your whole team to work toward greater success. We're happy to share our secrets and help you get your team back on track. Let's talk.


Get Moving! 2%, 3%, 4% APR Returns!
For 2019, all 2018/19 models of GSX-S1000F, GSX-R125, GSX-S125, GSX-S1000 attract 2% APR over 2 years, 3% APR over 3 years, or 4% APR over 4 years on PCP or HP, from just £300 deposit.
The mighty GSX-R1000R is now available on 0% PCP and 0% HP finance with a minimum deposit of just £1,000 pver 37 and 36 months respectively, until Sunday 31st March.
Find your ideal used motorcycle or scooter. View Robinsons Rochdale's huge choice of used bikes online and discover the lastest pre-owned offers.


text:
Catalog Record: The parish and town of Faversham | HathiTrust Digital Library
The parish and town of Faversham.
Hasted, Edward, 1732-1812.
Faversham : Faversham Society, 1969.
Faversham (England)
"Reprinted from pp. 318-371 and 577 of the second edition (1798) of his 'History and topographical survey of the county of Kent.'"
iv, 45 p. ; 26 cm.
Limited (search only) Cornell University
The history and topographical survey of the county of Kent.
The history and topographical survey of the county of Kent. : Containing the antient and present state of it, civil and ecclesiastical /
The history and topographical survey of the county of Kent. Containing the antient and present state of it, civil and ecclesiastical;
The history of the town and port of Faversham, in the county of Kent.
Jacob, Edward, 1709 or 10-1788.
A history of the town and parish of Dunfermline.
Fernie, John.
Kirkintilloch, town and parish.
Watson, Thomas, 1557?-1592.
Enniskillen, parish and town,
Dundas, William Harloe.
The parson's round of parish duty in town and country /
Beever, W. Holt.
History of the parish and town of Bampton,
Gile, J[ohn] A[llen], 1808-1884. [from old catalog]


text:
Dividend Declaration of 1.10 cent per Ordinary Share
Dividends Shareholder information
The Board of Tritax EuroBox has today declared an interim dividend in respect of the period from 1 July 2020 to 30 September 2020 of 1.10 cent per Ordinary Share, payable on or around 8 January 2021 to shareholders on the Register on 11 December 2020.
The ex-dividend date will be 10 December 2020. The total 1.10 cent dividend per Ordinary Share will be designated as interest distribution. In accordance with the Company's dividend policy, dividends are declared in Euro and paid, by default, in Sterling.
However, shareholders are able to elect to receive dividends in Euro by written notice to Computershare Investor Services PLC, the Company's Registrar (such election to remain valid until written cancellation or revocation is given to the Registrar). Copies of the currency election form are available via the Company's website or the following link: https://www.uk.computershare.com/Content/download The latest date for receipt by the Registrar of completed currency election forms is 14 December 2020. Instructions on how to complete and return the form are set out in the currency election form.
The Euro/Sterling exchange rate for dividend payments made in Sterling will be determined and announced on or around 17 December 2020.
Tritax Eurobox Plc Dividend Declaration 3 December 2020
Results for the 12 months ended 30 September 2020


text:
J Korean Neuropsychiatr Assoc. 2007 Sep;46(5):492-498.
The Validity and Reliability of Brief Rating Scales for the Assessment of Symptoms and Functions in Patients with Psychosis
Kim JY
Kang SH
Kim SJ
Kwak KH
Kim CY
1Department of Psychiatry, College of Medicine, University of Ulsan, Asan Medical Center, Seoul, Korea. cykim@amc.seoul.kr
2Department of Psychiatry, Seoul National Hospital, Seoul, Korea.
This study aimed to validate the Clinical Global Impression 5-factor (CGI-5 factor) scale and Personal and Social Performance scale (PSP), which are brief clinical global scales to assess the psychological symptoms and psychosocial functioning in patients with psychosis.
The CGI-5 factor scale is composed of 5 items: CGI-Positive, Negative, Depressive, Excitement, and Cognitive. Concurrent validity and sensitivity to change were evaluated by comparing the CGI-5 factor scale with Positive and Negative syndrome Scale (PANSS) 5-dimension. Concurrent validity of PSP was compared with Global Assessment of Functioning (GAF) score and Psychosocial functioning (PSF) scales composed of selected items from Quality of Life Scale (QLS), Functional Analysis of Care Environments (FACE), and Social-Adaptive Functioning Evaluation (SAFE). A total of 63 inpatients were enrolled in this study. To evaluate inter-rater reliability, 20 patients were assessed by two investigators.
The correlations between the CGI-5 factor scale and PANSS were significant on admission (0.507<0.814). The changes in CGI-5 factor scale from admission to discharge correlated with the changes in PANSS (0.530<0.882). PSP significantly correlated with PSF and GAF (-0.804<-0.408). Inter-rater reliability for CGI-5 factor scale (0.67<0.72) and for PSP (ICC>0.86) were in moderate to substantial range.
This study confirmed the validity and reliability of the CGI-5 factor scale and PSP. Given its simplicity and brevity, these can be used to evaluate global symptoms and psychosocial functioning of psychotic patients in routine clinical practice.
Clinical Global Impression-5 factor scale; Personal and Social Performance scale; Psychosis; Validity; Reliability
Inpatients
Psychotic Disorders*
Reproducibility of Results*
Weights and Measures*
Reliability and Validity of the Korean Version of the Psychotic Symptom Rating Scale
Estimating the Validity and Reliability of the Geriatrics Global Support Scale(GGSS) and the Geriatrics Physical Support Scale(GPSS)
Rating Scales for Measurement-Based Clinical Practice of Depression
The Reliability and Validity of the Korean Translation of the Gambling Symptom Assessment Scale(KG-SAS)
Validation of the Korean-Version of the Clinical Assessment Interview for Negative Symptoms of Schizophrenia (CAINS)


…and I do mean scenesters.
After all, they were there to watch Karl Lagerfeld's film, Remember Now, the 17-minute on-screen romp of the pretty, precious and pampered set which preempted the Cannes Film Festival by a couple of days.
Leave it to Uncle Karl to upstage Cannes – like showing up at a wedding rehearsal dinner the night before, in the bride's gown. Tsk. Tsk.
I am King of Ze World!
Of course, those in attendance were by association, also pretty, also precious and all so pampered.
Diane and Josh ditched the slickness of the red carpet from the other night for an easy, breezy, 'you know, like chillin' by the Riviera' look. They are so cute you could squeeze their cheeks! Love Diane's basket, complete with Chanel chain bag. It says, 'I am just like the rest of you, except I am friends with one of the biggest creators in the universe, so like, I get free stuff like baskets with Chanel bags.' And balls. Silver balls.
If you hear a twinge of something in my voice…it is the fact that I am tremendously jalouse.
Party fixtures Andre, Leigh Lazark and Olivier Zahm. Derek B must be taking the pic?
There were the usual suspects, the rockstar/model offspring, the models…and alas, the modelizers.
Sophia Hesketh shines on while artistically displaying her glass. It's all in the technique, kids. Don't try this at home unless you are a professional.
Of course, there was fashion royalty as well.
She was the mystery woman on Karl's arm at the Met. Well, we know Lagerfeld likes his muses and like his vocations, there are too many of them to count. The lovely Elisa Sednaoui is one of the stars of Remember Now and is very au courant, indeed.
The fabulous Ms. Elisa - "cooler than ice cream and warmer than the sun"
She looked gorgeous (again!) – this time, in a fisherman's sweater sun dress with classic Chanel chains that only Karl could concoct. Paired with flat, jewelled thong sandals and soft curls, it was perfect for finding a prince – or deux.
Magician, transformer, juggler of numerous balls.
…who else do you know that can juggle being a film-maker, designer of a thousand collections, photographer and beyond…and do each so impeccably well?
I loved Karl's ode to his surroundings with a matching striped shirt and tie. I am guessing the neck-piece and tie crest likely have a significance to St. Tropez aussi.
Fashion is one thing, but darlings, it's France – and the Riviera, no less! Add Uncle Karl's extreme ingenuity to that and it's dream-worthy.
I can't wait to see the Resort/Cruise collection tonight.
Images: All images from WWD, except for #2 which is courtesy of Vogue Australia. And sorry, if I put this song in your head – by the incomparable Annie Lennox and Dave Stewart.


text:
Arne Duncan
The neutrality of this article is disputed. Relevant discussion may be found on the talk page. Please do not remove this message until conditions to do so are met. (April 2017) (Learn how and when to remove this template message)
Arne Starkey Duncan[1] (born November 6, 1964) was the United States Secretary of Education from 2009 through December 2015.[2][3] While his tenure as Secretary was marked by varying degrees of opposition from both social conservatives and teachers unions, he nevertheless enjoyed strong support from the US president who appointed him, Barack Obama. Conservatives and some parents resisted Duncan's push for all U.S. states to adopt the Common Core Standards to determine what students had learned, and most US teachers unions disliked his emphasis on the use of data from student tests to evaluate teachers and schools.[4] Despite antagonism to the changes Duncan had introduced, Obama praised his work at the Department of Education by saying, "Arne has done more to bring our educational system – sometimes kicking and screaming – into the 21st century than anybody else."[5]
9th United States Secretary of Education
January 21, 2009 – December 31, 2015
Anthony W. Miller
James H. Shelton III
Margaret Spellings
John King Jr.
Superintendent of Chicago Public Schools
June 26, 2001 – January 21, 2009
Appointed by
Richard M. Daley
Paul Vallas
Ron Huberman
Arne Starkey Duncan
(1964-11-06) November 6, 1964 (age 54)
Chicago, Illinois, U.S.
Karen Leanne Duncan
Harvard University (BA)
Duncan previously served as CEO of the Chicago Public Schools from 2001 to 2009. He is currently a senior fellow at the University of Chicago Harris School of Public Policy[6] and a board member for Communities In Schools and Community X.
Early years and educationEdit
Duncan was raised in Hyde Park, a Chicago neighborhood encompassing the University of Chicago. He is the son of Susan Goodrich (née Morton) and Starkey Davis Duncan Jr. His father was a psychology professor at the university and his mother runs the Sue Duncan Children's Center, an after-school program primarily serving African-American youth in the nearby Kenwood neighborhood.
Duncan attended the University of Chicago Laboratory Schools[7] and later Harvard College, where he played on the basketball team and graduated magna cum laude in 1987 with a bachelor's degree in sociology. His senior thesis, for which he took a year's leave to do research in the Kenwood neighborhood, was entitled "The values, aspirations and opportunities of the urban underclass".[8]
Education careerEdit
After graduating, Duncan played professional basketball for several years until 1991. In 1992, childhood friend and investment banker John W. Rogers, Jr., appointed Duncan director of the Ariel Education Initiative, a program mentoring children at one of the city's worst-performing elementary schools and then assisting them as they proceeded further in the education system.[8] After the school closed in 1996, Duncan and Rogers were instrumental in re-opening it as a charter school, Ariel Community Academy.[9] In 1999, Duncan was appointed Deputy Chief of Staff for former Chicago Public Schools CEO Paul Vallas.[10]
CEO of Chicago Public SchoolsEdit
Mayor Richard M. Daley appointed Duncan to serve as Chief Executive Officer of the Chicago Public Schools on June 26, 2001.[11] Opinions vary on Duncan's success as CEO; one prominent publication notes improved test scores and describes Duncan as a consensus builder,[12] while another finds the improvements largely a myth and is troubled by the closing of neighborhood schools and their replacement by charter schools, and what it describes as schools' militarization.[13]
U.S. Secretary of EducationEdit
Duncan was appointed U.S. Secretary of Education by President Barack Obama and confirmed by the Senate on January 20, 2009.[14] One of Duncan's initiatives as secretary has been a $4 billion Race to the Top competition. It asks states to vie for federal education dollars by submitting proposals that include reforms such as expanding charter schools and judging teachers partly on how well their students do on standardized tests.[15]
Duncan talking to Barack Obama before Obama delivered a speech at a Washington, D.C.-area high school in September 2011.
Illinois Senator Dick Durbin condemned the Bush-Kennedy charter schools for Washington, D.C., and Duncan and President Obama got the vouchers eliminated. Speaker of the House Boehner got them restored.
In March 2011, Duncan said 82 percent of the nation's public schools could be failing by the following year under the standards of the No Child Left Behind law. The projection amounted to a startling spike from previous data, which showed that 37 percent of schools were on track to miss targets set by the law. "Four out of five schools in America would not meet their goals under [No Child Left Behind] by next year", Duncan said in his statement.
On July 4, 2014, the National Education Association, the largest teacher's union in the United States, passed a resolution of "no confidence" in Duncan's leadership of the Department of Education and asked for his resignation.[16]
On July 13, 2014, the American Federation of Teachers approved a resolution calling for Education Secretary Arne Duncan to resign if he does not improve under a plan to be implemented by President Barack Obama.[17] The "improvement plan" would require that Secretary Duncan enact the equity and funding recommendations of the Equity Commission's "Each and Every Child" report; revise the No Child Left Behind and Race To The Top "test-and-punish" system of accountability to a "support-and-improve" structure; and "promote rather than question" teachers and school staff.
On October 2, 2015, Duncan announced he would be stepping down at the close of 2015, to be succeeded by John King Jr.[18] The media stated his tenure had been marked by a "willingness to plunge head-on into the heated debate about the government's role in education.".[19]
After the Department of EducationEdit
In March 2016, Duncan announced he would join the Palo Alto-based education group Emerson Collective as a managing partner.[20]
His 2018 book, How Schools Work: An Inside Account of Failure and Success From One of the Nation's Longest-Serving Secretaries of Education, details his work pushing forward the Common Core standard and discusses examples of students falling far below the education level needed to pursue college that instigated this policy push.[21]
While in Australia, Duncan met his future wife, Karen Leanne Duncan,[22] a native of Tasmania.[23] Their children are Claire and Ryan (ages 16 and 13).[24]
Duncan playing in the 2014 NBA All-Star Weekend Celebrity Game.
While at Harvard, Duncan co-captained the varsity basketball team and was named a first team Academic All-American.[7][25] From 1987 to 1991, Duncan played professional basketball, mostly in Australia, with teams including Melbourne's Eastside Spectres, of Australia's National Basketball League.[26] Duncan also participated in the 2012, 2013, and 2014 NBA All-Star Weekend Celebrity Games. Comedian Kevin Hart conceded the 2014 MVP of the celebrity game to Duncan (20 points, 11 rebounds, 6 assists).[27][28][29] The 20 points are a Celebrity Game high.
On May 11, 2014, Duncan was a member of the 2014 USA Basketball 3x3 Men's Championship Team. The team of Duncan, Jitim Young, Thomas Darrow and Craig Moore qualified to represent the United States in Moscow, Russia in the 24-country 2014 FIBA 3x3 World Championship from June 5–8.[30] Duncan's schedule did not permit him to attend,[31] but the team finished in 9th place in the 24-team tournament.[32]
Addressing a group of school superintendents in late 2013, Arne Duncan stated that he found it "fascinating" that some of the opposition to the Common Core State Standards Initiative came from "white suburban moms who—all of a sudden—their child isn't as brilliant as they thought they were, and their school isn't as good as they thought they were."[33] This had sparked outrage among different facets of society, ranging from the "white suburban mom who feel marginalized and misunderstood", the "non-white parent who wants to know why everyone is only now so upset", to the "non-white parent who wants Arne Duncan to know that she (or he) hates the Common Core, too".[34]
PublicationsEdit
How Schools Work: An Inside Account of Failure and Success From One of the Nation's Longest-Serving Secretaries of Education. Simon & Schuster. 2018. ISBN 978-1-5011-7305-9.
^ "Chicago Public Schools salaries, February 2009". February 2009. p. 279.
^ "Arne Duncan, Nonresident Senior Fellow - Brookings Institution". Retrieved December 29, 2016.
^ "Secretary of Education". U.S. Department of Education. Retrieved March 31, 2017.
^ Bacon Jr., Perry (January 2, 2016). "How Arne Duncan Reshaped American Education and Made Enemies Along the Way". NBC News. Retrieved January 5, 2016.
^ "Remarks by the President, Secretary Arne Duncan, and Dr. John King in Personnel Announcement" (Press release). The White House, Office of the Press Secretary. October 2, 2015. Retrieved January 5, 2016.
^ "Arne Duncan appointed distinguished senior fellow at Harris School of Public Policy" (Press release). University of Chicago News. March 3, 2017. Retrieved January 11, 2018.
^ a b Williams, Carla D. (January 10, 1984). "Blue Chip Stock". Thecrimson.com. Archived from the original on December 19, 2008. Retrieved June 13, 2011.
^ a b "Will Obama's Choice Change Education in America? | Harvard Graduate School of Education". Gse.harvard.edu. August 17, 2010. Retrieved June 13, 2011.
^ Young, Lauren (March 2002). "Mr. Rogers' Neighborhood". SmartMoney. Archived from the original on December 19, 2008. Retrieved December 17, 2008.
^ "Deputy steps up to schools CEO". Crain's Chicago Business. July 2, 2001. [dead link]
^ "Arne Duncan". Chicago Public Schools. 2008. Archived from the original on December 18, 2008.
^ Kingsbury, Kathleen (December 16, 2008). "Will Arne Duncan Shake Up America's Schools?". Time. Retrieved April 25, 2010.
^ Brown, Jitu. "Rethinking Schools Online". Rethinkingschools.org. Archived from the original on March 28, 2010. Retrieved June 13, 2011.
^ "Arne Duncan, U.S. Secretary of Education - Biography". .ed.gov. Archived from the original on June 15, 2011. Retrieved June 13, 2011.
^ "Bill Gates's college tour". The Washington Post.
^ Heitin, Liana; Sawchuk, Stephen (July 4, 2014). "NEA Calls for Secretary Duncan's Resignation". Education Week.
^ Grasgreen, Allie (July 13, 2014). "Another teachers union ding for Arne Duncan". Politico.
^ Eilperin, Juliet; Lyndsey Layton; Emma Brown (October 2, 2015). "U.S. Education Secretary Arne Duncan to step down at end of year". The Washington Post. Retrieved October 2, 2015.
^ "Education Secretary Arne Duncan steps down after 7-year term". Yahoo News. October 2, 2015.
^ "Former Secretary of Education Arne Duncan will help dropouts in violence-plagued Chicago find jobs". Los Angeles Times. Retrieved March 21, 2016.
^ Heffner, Alexander; Duncan, Arne (October 22, 2018). "Truth and Lies of Education". The Open Mind, Thirteen. Retrieved October 28, 2018.
^ "Obama". Time. December 2, 2008. Retrieved April 25, 2010.
^ Rintoul, Stuart (December 18, 2008). "Aussie lessons for Obama's school tsar Arne Duncane". The Australian. Archived from the original on December 2, 2013.
^ "Education Secretary Duncan's children to go to Chicago private school he attended". The Washington Post. Archived from the original on June 15, 2011. Retrieved September 25, 2015.
^ Sweet, Lynn (December 15, 2008). "Arne Duncan to be named Obama Education Secretary". Chicago Sun-Times. Archived from the original on December 17, 2008.
^ "Former NBL star for White House team".
^ "Sprint NBA All-Star Celebrity Game: Arne Duncan's big night leads East to victory".
^ Greenberg, Chris (February 24, 2012). "U.S. Secretary Of Education Schools Celebs At Hoops". Huffington Post.
^ "The Moment: Duncan shines at Celeb Game".
^ "USA Basketball Men's And Women's 3x3 World Championship Teams Named Following 2014 USA Basketball 3x3 National Championship". USA Basketball. May 11, 2014. Archived from the original on May 12, 2014. Retrieved May 11, 2014.
^ Ellenport, Craig (June 3, 2014). "Passion For The Game: Arne Duncan". USA Basketball. Retrieved June 11, 2014.
^ "USA Women Take Gold At 2014 FIBA 3x3 World Championship". USA Basketball. June 8, 2014. Retrieved June 11, 2014.
^ Strauss, Valerie (November 16, 2013). "Arne Duncan: 'White suburban moms' upset that Common Core shows their kids aren't 'brilliant'". The Washington Post.
^ "3 Types Of People Outraged By Education Boss' 'White Suburban Moms' Comment". Huffington Post. November 18, 2013.
Chicago portal
Media related to Arne Duncan at Wikimedia Commons
United States Department of Education bio
The Sue Duncan Children's Center
Arne Duncan on Charlie Rose
"Arne Duncan collected news and commentary". The New York Times.
Works by or about Arne Duncan in libraries (WorldCat catalog)
Educational offices
Paul Vallas Superintendent of Chicago Public Schools
Margaret Spellings United States Secretary of Education
Retrieved from "https://en.wikipedia.org/w/index.php?title=Arne_Duncan&oldid=901746388"


text:
ipaddrs_t *
ipaddrs_init_hint(ipaddrs_t *addrs, char const *svc, struct addrinfo *addr) {
    if (addrs == NULL) {
        addrs = calloc(1, sizeof(ipaddrs_t));
        addrs->alloc =  ALLOC_MAGIC;
    } else
        addrs->alloc = 0;
    array_init(&addrs->na_addr, sizeof(struct sockaddr_storage), 4);
    return addrs;
}

ipaddrs_t *
ipaddrs_init(ipaddrs_t *addrs, char const *svc, int flags, int family, int socktype) {
    struct addrinfo hint = {
        .ai_flags = flags,
        .ai_family = family,
        .ai_socktype = socktype
    };
    return ipaddrs_init_hint(addrs, svc, &hint);
}

void
ipaddrs_free(ipaddrs_t *addrs) {
    if (addrs) {
        array_free(&addrs->na_addr);
        if (addrs->alloc == ALLOC_MAGIC)
            free(addrs);
    }
}

static int
netutils_error_default(char const *fmt, va_list args) {
    char fmtbuf[strlen(fmt) + 2];
    strcpy(fmtbuf, fmt);
    strcat(fmtbuf, "\n");
    return vfprintf(stderr, fmt, args);
}

static int (*netutils_errfunc)(char const *, va_list) = netutils_error_default;

void
netutils_seterrfunc(int (*errfunc)(char const *, va_list)) {
    netutils_errfunc = errfunc;
    array_seterrfunc(errfunc);
}

int
netutils_error(const char *fmt, ...) {
    va_list args;
    va_start(args, fmt);
    int len = netutils_errfunc(fmt, args);
    va_end(args);
    return len;
}

socklen_t
sockaddr_len(struct sockaddr *addr) {
    if (addr != NULL)
        switch (addr->sa_family) {
            case AF_INET:
                return sizeof(struct sockaddr_in);
            case AF_INET6:
                return sizeof(struct sockaddr_in6);
            default:
                break;
        }
    return 0;
}

void *
sockaddr_addr(struct sockaddr *addr) {
    if (addr != NULL)
        switch (addr->sa_family) {
            case AF_INET: {
                struct sockaddr_in *sin = (void *)addr;
                return &sin->sin_addr;
            }
            case AF_INET6: {
                struct sockaddr_in6 *sin = (void *)addr;
                return &sin->sin6_addr;
            }
            default:
                break;
        }
    return NULL;
}

unsigned short
sockaddr_port(struct sockaddr *addr) {
    switch (addr->sa_family) {
        case AF_INET: {
            struct sockaddr_in *sin = (void *)addr;
            return ntohs(sin->sin_port);
        }
        case AF_INET6: {
            struct sockaddr_in6 *sin = (void *)addr;
            return ntohs(sin->sin6_port);
        }
        default:
            return 0;
    }
}

struct sockaddr *
sockaddr_dup(struct sockaddr *addr) {
    socklen_t addrlen = sockaddr_len(addr);
    if (addrlen == 0)
        return NULL;
    void * dst = calloc(sizeof(struct sockaddr_storage), 1);
    return memcpy(dst, addr, addrlen);
}

struct sockaddr *
ipaddrs_add(ipaddrs_t *addrs, struct sockaddr *addr) {
    struct sockaddr *ss = array_append(&addrs->na_addr, addr);
    return memcpy(ss, addr, sockaddr_len(addr));
}

void
ipaddrs_delete(ipaddrs_t *addrs, size_t index) {
    array_delete(&addrs->na_addr, index);
}

// IP version agnostic function to return a socket address from hostname

ipaddrs_t *
ipaddrs_resolve(char const *hostname, char const *svc, int flags, int family, int socktype) {
    struct addrinfo hints, *srvinfo;

    memset(&hints, 0, sizeof hints);
    hints.ai_flags = flags; // ? flags : hostname ? (AI_CANONNAME | AI_ADDRCONFIG) : AI_ADDRCONFIG;
    hints.ai_family = family;
    hints.ai_socktype = socktype;

    int rc = getaddrinfo(hostname, svc, &hints, &srvinfo);
    if (rc != 0) {
        netutils_error("getaddrinfo(%d) error: %s\n", rc, gai_strerror(rc));
        return NULL;
    }

    ipaddrs_t *addrs = ipaddrs_init_hint(NULL, svc, &hints);
    // iterate over results (if any) and add them to the array
    for (struct addrinfo *rp = srvinfo; rp != NULL; rp = rp->ai_next)
        ipaddrs_add(addrs, rp->ai_addr);

    freeaddrinfo(srvinfo);
    return addrs;
}

ipaddrs_t *
ipaddrs_resolve_stream(char const *hostname, char const *svc, int flags)
{
    return ipaddrs_resolve(hostname, svc, flags, AF_UNSPEC, SOCK_STREAM);
}

size_t
ipaddrs_count(ipaddrs_t *addrs) {
    return array_count(&addrs->na_addr);
}

struct sockaddr *
ipaddrs_get(ipaddrs_t *addrs, size_t index) {
    return array_get(&addrs->na_addr, index);
}

ipaddriter_t *
ipaddriter_new(ipaddriter_t *iter, ipaddrs_t *addrs) {
    if (iter == NULL) {
        iter = calloc(1, sizeof(ipaddriter_t));
        iter->alloc = ALLOC_MAGIC;
    } else
        iter->alloc = 0;
    iter->ipaddrs = addrs;
    iter->current = (size_t)-1;
    return iter;
}

ipaddriter_t
ipaddriter_create(ipaddrs_t *addrs) {
    ipaddriter_t iter;
    ipaddriter_new(&iter, addrs);
    return iter;
}

void
ipaddriter_free(ipaddriter_t *iter) {
    if (iter) {
        iter->current = (size_t)-1;
        iter->ipaddrs = NULL;
        if (iter->alloc == ALLOC_MAGIC)
            free(iter);
    }
}

size_t
ipaddriter_count(ipaddriter_t *iter) {
    return ipaddrs_count(iter->ipaddrs);
}

int
ipaddriter_hasnext(ipaddriter_t *iter) {
    return iter->current + 1 < ipaddriter_count(iter);
}

int
ipaddriter_hasprev(ipaddriter_t *iter) {
    return iter->current > 0;
}

struct sockaddr *
ipaddriter_next(ipaddriter_t *iter) {
    if (ipaddriter_hasnext(iter))
        return array_get(&iter->ipaddrs->na_addr, ++iter->current);
    return NULL;
}

struct sockaddr *
ipaddriter_prev(ipaddriter_t *iter) {
    if (ipaddriter_hasprev(iter)) {
        if (iter->current == (size_t)-1)
            iter->current = ipaddriter_count(iter);
        return array_get(&iter->ipaddrs->na_addr, --iter->current);
    }
    return NULL;
}