affect the structural integrity of the aeroplane," the safety watchdog warns.
EASA says two types of cracks have been found in the L-shaped brackets, called rib feet, that join the A380's wing surface, which is also made of an aluminium alloy, to the ribs whose profile defines the wing's cross sectional shape. The first type of rib foot crack was found when the aircraft damaged in last November's A380 engine-loss incident was being checked out after repairs.
But after subsequent checking of more of the fleet, engineers found a "more significant" form of cracking has developed on the rib feet of some of the aircraft. So EASA has ordered "detailed visual inspections" within the next six weeks for A380 aircraft that have flown between 1300 and 1799 takeoffs and landings - and within just four days for those with over 1800 flight cycles.
There's a good reason safety watchdogs take no chances with even the smallest of cracks: it was cracks caused by the then unknown phenomenon of metal fatigue that caused the fatal midflight breakups of the De Havilland Comet, the first world's pressurised, aluminium-skinned jetliner, in the 1950s. Tiny cracks around window portholes eventually propagated, bursting the fuselage, after a certain number of flight pressurisations and depressurisations.
While EASA has not said what might happen if A380 rib feet fail owing to cracking, if a section of wing skin were to separate from the plane the debris could potentially damage any critical structure it collides with - like the tailfin.
Jacob Aron, technology reporter
76223667.jpg(Image: Mark Hamblin/Oxford Scientific/Getty)
Fast-moving birds like goshawks can zip through dense forests by intuitively avoiding the trees, but researchers at MIT have discovered a theoretical speed limit over which they are guaranteed to crash. The findings could help build more efficient unmanned aerial vehicles (UAVs) by designing them to mimic bird flight paths.
UAVs are currently designed to fly at relatively slow speeds, allowing them to come to a halt before reaching the edge of their field of view. You might think that adding more sensors would allow them to fly faster, but MIT aerospace engineer Emilio Frazzoli says otherwise.
Frazzoli and colleagues created a mathematical model that shows a bird or drone flying through a built-up environment of a given density will always crash once it reaches a certain speed, no matter how much it knows about its surroundings.
Paul Marks, senior technology correspondent
79335741.jpg(Image: Image Source/Getty)
Sick of having to ditch your bottled water, booze and toiletries at the airport security post? That appalling hassle should end by April next year, when airports are supposed to start screening the contents of bottles for explosives.
But they can only do this if the bottle-scanning technologies currently being trialled are up to the job. This week, Cobalt Light Systems of the UK says its explosives detector has passed all its European civil aviation security tests - which means the end should be in sight for bottle-dumping at airport security.
The rule that no bottles larger than 100 millilitres can be carried on aircraft followed the failed 2006 attempt by 17 would-be terrorists who conspired to carry hydrogen peroxide-based liquid explosives onto aircraft in Britain.
Paul Marks, senior technology correspondent
(Image: AFP Photo/
Yesterday's shutdown of the Megaupload file storage website, and the arrest of four of its founders in New Zealand, illustrates how a global Anti-Counterfeiting Trade Agreement (ACTA) may be facilitating coordinated multinational clampdowns on alleged digital content piracy.
The move, led by the FBI, comes just a day after huge protests on the internet against SOPA - controversial US legislation designed to stop online piracy.
Megaupload allowed users to upload and store large files to make them easily downloaded by others, without using sophisticated peer-to-peer software. But the FBI alleges it was posting "movies, music, TV programmes, ebooks and business and entertainment software on a massive scale" - allegedly costing copyright owners $500 million in lost sales.
Jacob Aron, technology reporter
PA-_PHONE_.jpg(Image: Mark Lennihan/AP/Press Association Images)
Students groaning under the weight of multiple textbooks can now swap their hefty tomes for an iPad - if they can afford one. Apple today launched a new range of interactive textbooks specifically designed for its tablets.
iBook Textbooks dump the paper-flipping effect of ebooks for a more app-like experience, offering images, videos and interactive diagrams alongside the text. Students can also highlight passages and make notes, then touch a button to have them transformed into study cards.
Jim Giles, consultant
Picture-1(2).jpgWikipedia went down, denying access to the 85 million people who visit the site every day. Flickr users chose to black out over 200,000 photos. Reddit, a news aggregator that is an important source of traffic for many media sites, was out of action. Wired censored its own headlines and BoingBoing, a popular tech culture blog, censored its entire site. So, did yesterday's black-out have any effect?
For the benefit of those who missed the furore, which at one point was the subject of 4,500 tweets per minute, the black-outs were protests against two copyright bills - dubbed SOPA and PIPA - that are making their way through Congress. The bills would give copyright holders greater power to take down content deemed to be infringing, and so are liked by Hollywood and big music companies.
The protests seem to have been effective. Several Republican supporters of the legislation, most notably potential vice-presidential pick Marco Rubio, withdrew their backing. Since the White House had already signalled its dislike of the bills, supporters of SOPA and PIPA will probably have to substantially rewrite their proposals, or kill them altogether.
Jacob Aron, technology reporter
The Wikipedia protest against US anti-piracy laws is in full swing, with the site blacked out until 5 am GMT on 19 January. But while millions are realising they might have to reach for those dusty Encarta DVDs, those in the know can still access the web's favourite encyclopaedia. Here are our top five ways to get your Wiki fix.
While those visiting Wikipedia on their desktop or laptop will see a black page (pictured above), mobile users can access the site as normal. That means you can also view the mobile site on your regular PC - just point your browser at for full access, albeit in shrunk-down form. Wikipedia says this was done intentionally, to allow access "during an emergency".
A Wikipedia app for your phone is normally an optional extra for those who don't like using the mobile site. But apps for the Apple or Android smartphones and tablets also avoid the blackout, since they should work as normal. Some apps even download Wikipedia content to read offline, which makes them immune to any future downtime.
Jacob Aron, technology reporter
rexfeatures_1260595d.jpg(Image: Roland Kemp/Rex Features)
Wikipedia, the sixth-most visited website on the internet, is planning a major shutdown to protest against the Stop Online Piracy Act (SOPA) and PROTECT IP Act (PIPA), two proposed laws aimed at halting online piracy that critics say could seriously harm the internet.
From 5am GMT tomorrow, the English language version of the online encyclopaedia will be replaced by a single black page asking visitors to contact US politicians and express their opposition to the proposed laws. The decision to shutdown the site was reached in typical Wikipedia fashion, with users discussing the pros and cons before eventually agreeing to go ahead with the protest.
The community rushed to reach a consensus so that the protest could coincide with other website blackouts, including social news site Reddit and news blog Boing Boing, set for 18 January, the same day as a planned SOPA hearing in the US Congress.
That hearing has now been postponed following criticism of the legislation from the White House, but Wikipedia founder Jimmy Wales says the protest will still go ahead. "Unclear that SOPA is really dead, but messaging will target the reality on the ground on Wednesday," he said on Twitter, later adding that PIPA, which is still due to be debated by the US Senate, remains "a live threat".
Not all Wikipedians support the protest, however. Some have complained about the speed at which the decision was reached, while others questioned the need for an international blackout to protest US legislation.
Other websites wanting to join the protest can now use an app created by CloudFlare, the web security service previously used by LulzSec to protect its website from attacks. CloudFlare users can activate the Stop Censorship app to automatically black out words longer than five characters and ask visitors to protest the new laws.
CES: High-tech scales zero in on fat
by Peter Nowak, contributor
scaleCES.JPG(Image: Peter Nowak)
As the Consumer Electronics Show wraps up in Las Vegas, Nevada, many of the 140,000-plus attendees are heading home a few pounds lighter: walking around 158,000 square metres of exhibition space for a week will do that to you.
Still, some may come away wanting to lose even more weight after seeing all of the high-tech bathroom scales at the show. From small vendors to electronics giants such as Samsung, which demonstrated a scale that can beam its results to a television, futuristic weight-watching devices were all over the place.
Tanita Corp., a small Japanese company, showed off a dozen scales ranging in price from $100 to $500. All of them incorporate Wi-Fi and transmit either to smartphone apps or computer software.
The company's higher-end scales are capable of


World Science Day for Peace and Development (WSDPD) is celebrated on 10th November every year worldwide. It is also known as World Science Day. The day aims to raise awareness about the importance of science in society, highlights the need to link science with our day to day life, and also encourages people to participate in scientific issues.
World Science day for Peace and Development ensures that citizens are kept informed of developments and new innovations in science and technologies. This day marks an understanding of the role that our scientists play in widening the understanding of our planet and making our societies more sustainable.
United Nations Educational, Scientific, and Cultural Organization (UNESCO) declared World Science day back in 2001 and was celebrated first in 2002. Since then, it has been supported by many global governmental and non-governmental organizations as well as scientific and research institutions.
The WSDPD has the following objectives:
 - To create awareness among the public about the role of science in the development of a peaceful and sustainable society.
 - To encourage National and International unity for shared science between countries.
 - To renew National and International commitments for using scientific innovations to the benefit of societies;
 - To find out the challenges faced by science and raising support for scientific projects.
World Science Day for Peace and Development has been helpful in generating many projects, programs, and funding for science. It has also strengthened cooperation between scientists living in regions affected by conflict – For example, UNESCO supported the creation of the Israeli-Palestinian Science Organization (IPSO).
Every year, the World Science Day for Peace and Development is celebrated with a different theme.
Last year the theme was "Open Science, leaving no one behind " whereas the theme for 2020 is "Science for and with Society". This year, UNESCO is celebrating via online mode and is doing a Roundtable on "Science for and with Society in dealing with COVID-19," theme. The 2020 Roundtable aims at sharing new ideas with UNESCO to improve the link between science and society to solve global challenges like the COVID-19 pandemic.
In this corona crisis, UNESCO has been working hard to bring science closer to society. It has also supported international scientific collaborations. From the perspective of science, UNESCO's response to COVID-19 has structured around three major pillars:
 1. Promoting international scientific cooperation
To manage the COVID-19 pandemic, UNESCO aims to support scientific cooperation. It also plans to promote the conversation between researchers, private practitioners, industries, health professionals, and the public. The aim is to provide open access to scientific knowledge, data, and hypothesis to everyone. Open science can bring positive changes in society.
 1. Improving access to water and sanitation
Billions of people don't have access to clean water and sanitation facilities. Furthermore, the COVID-19 pandemic has highlighted the need for safe water. UNESCO calls for increased access to clean and safe water which is necessary to avoid the spread of COVID-19 and to fight the pandemic. UNESCO provides scientific and technical advice and develops water policies and helps in the sustainable management of water resources to provide access to clean water and sanitation for all.
 1. Supporting ecological reconstruction
Destruction of natural habitats increases the spread of infection from animals to humans. COVID-19 spread is also an example of such Zoonotic disease. This highlights the need to rethink the links between people and nature. To help people understand more about nature, UNESCO has provided some sites, such as Biosphere Reserves and Global UNESCO Geoparks. These sites provide information on integrated approaches to conserve the world's cultural, biological, and geological diversity and promote sustainable economic development.
UNESCO calls on everyone to exercise their human right to participate in World Science Day for Peace and Development and benefit from science.


text:
Economical in the use or appropriation of resources; not wasteful or lavish; wise in the expenditure or application of force, materials, time, etc.; characterized by frugality; sparing; economical; saving; as, a frugal housekeeper; frugal of time.
- Practicing or marked by economy, as in the expenditure of money or the use of material resources. See Synonyms at sparing.
- Costing little; inexpensive: a frugal lunch.

source: openbmb/Ultra-FineWeb


text:
Have you ever stopped to wonder about the avocado's bizarrely large seed? How on earth this most scrumptious of plants could ever have propagated itself in the wild when swallowing such a seed could mean extreme discomfort when passing it or even death by choking?
Unlike many other plants we eat that humans have genetically manipulated over the years to make larger, more nutritious, and more delicious (such as corn and strawberries), today's avocados are pretty much the same as their ancient ancestors. But it turns out that the animals that helped the avocado spread its massive seeds no longer exists.
To learn more, check out this post on Brainpickings that reviews Connie Barlow's 2002 book The Ghosts of Evolution: Nonsensical Fruit, Missing Partners, and Other Ecological Anachronisms and includes the following It's Okay to Be Smart video about stinky ginko seeds and avocados:
Without an animal around that can eat avocados without fear of choking or asphyxiation, the avocado only remains because humans find it so goddamn delicious. In honor of our ancestors that decided this fruit was worth preserving, below are directions for how I usually make guacamole. Enjoy!
2 ripe avocados
1-2 cloves garlic, depending on size (and love of garlic)
1 bunch cilantro
Fresh ground black pepper
1. Slice open the avocados long ways, twist apart, remove the seed, halve the halves, and turn the quarters inside out to remove the avocado flesh into a bowl. Here's a video of how I do it (and yes, I do drop the pit on the floor):
2. Smash the garlic clove with the flat of your knife, finely mince, and add to the bowl.
3. Halve the lime, and (depending on how juicy your lime is) squeeze the juice into the bowl. (Start with just one half; you can always add more later.)
4. Using a fork, mash the avocado chunks against the side of the bowl to your desired level of smoothness or chunkiness, mixing in with the garlic and lime as you do.
5. Slice open the jalapeno, remove seeds and membranes, finely dice, and add to the bowl.
6. Chop a handful of cilantro off of the bunch, finely chop, and add to the bowl.
7. Mixing everything together, then taste. Add more lime if it needs to be brighter. Add salt and pepper to taste.
Featured image from the Brainpickings article. Guacamole photo by me.


Why become a dormant company?
Although many businesses in the UK are constantly trading, some people choose to form or become a dormant company.
A dormant company is a business that has seen no significant economic activity during an accounting period, thus it stops trading; you can read more about dormant associations in our Transmit Start Ups guide. Here are some reasons why you might want to become a dormant company:
Future proofing
Preparation is key if you want your start-up or small business to succeed, thus if you have an idea for a trading company or are working toward starting a business you may want to open a dormant company. This way, whenever you are ready to begin trading you can jump right in, and begin growing your brand, but, in the meantime, you won't have to worry about filing detailed accounts for your dormant company. Furthermore, you may want to form a dormant company to pit your competitors at the post. Everyone knows the value of a good business idea and even a strong company name. So, why not prevent people from stealing your thunder and incorporate your stellar business today?
A trading break
Many businesses don't start their lives as dormant companies. Sometimes, an actively trading company may decide they want to take a break, and become dormant. Becoming a dormant company is helpful if you intend to continue trading in future. It simplifies the entire administration process, as you should submit abridged accounting forms to Companies House each year, which is less detailed, and so time-saving. Furthermore, it will also reduce the cost compared to if you remained a limited company, as dormant companies are not tax liable. Becoming dormant is also not as much hassle as dissolving your business – especially if there is a chance that you are likely to incorporate a similar business in future.
Some businesses may look to become dormant, for a period, if they hit any significant hurdles during their lifetime. For example, if the owner or director of the company falls ill or dies, a business may become temporarily dormant in order to assess the situation, and appoint new company officers. A company may also undergo a restructuring, and – as a result – no trading will be taking place, thus becoming dormant is a cheaper and more sensible solution. Furthermore, if a business is winding up then it may also choose to become dormant until its end to tie up any loose ends.
Holding assets
Finally, some people choose to register a dormant company so that they can hold a particular asset. For example, in the housing industry, one company – a dormant company – may hold several flats, while a larger, umbrella company handles the leasing. Thus, the holding company remains dormant, as it does not partake in any significant economic activity.
For further information on start-up loans, or support to set up your business, refer to our start up advice section.


text:
Clark, Alison and Moss, Peter
Listening To Young Children: The Mosaic Approach (2nd ed.).
London: National Children's Bureau.
Viewing children as 'experts in their own lives', the Mosaic approach offers a creative framework for listening to young children's perspectives through talking, walking, making and reviewing together. Children's own photographs, tours and maps can be joined to interviews and observing for adults to gain deeper understandings of young children's lives in a range of early childhood settings.
The Mosaic approach has been applied by practitioners throughout the world. This second edition reflects on the authors' original ground-breaking work, with new introductions, updates and examples of how the Mosaic approach has been adapted, and offers case studies that will encourage practitioners to use the framework in their own setting.
Listening to Young Children will be of interest to policy makers, practitioners in nurseries, children's centres, pre-schools and schools and residential settings. It will also be welcomed by early childhood students and other researchers who are engaged in searching for new theoretical, practical and imaginative ways of listening to young children.
Actions (login may be required)

source: HuggingFaceFW/fineweb-edu


text:
- Proceedings of the National Academy of Sciences of the United States of America
- Published almost 4 years ago
Although people often assume that multiple motives for doing something will be more powerful and effective than a single motive, research suggests that different types of motives for the same action sometimes compete. More specifically, research suggests that instrumental motives, which are extrinsic to the activities at hand, can weaken internal motives, which are intrinsic to the activities at hand. We tested whether holding both instrumental and internal motives yields negative outcomes in a field context in which various motives occur naturally and long-term educational and career outcomes are at stake. We assessed the impact of the motives of over 10,000 West Point cadets over the period of a decade on whether they would become commissioned officers, extend their officer service beyond the minimum required period, and be selected for early career promotions. For each outcome, motivation internal to military service itself predicted positive outcomes; a relationship that was negatively affected when instrumental motives were also in evidence. These results suggest that holding multiple motives damages persistence and performance in educational and occupational contexts over long periods of time.
Two female doctors who were undergoing officer training at the Royal Military Academy Sandhurst sustained pubic ramus stress fractures. This report looks at the reasons why these medical officers may have sustained these fractures and how they may be prevented in future.
The Impact of Load Carriage on Measures of Power and Agility in Tactical Occupations: A Critical Review
- International journal of environmental research and public health
- Published 3 months ago
The current literature suggests that load carriage can impact on a tactical officer's mobility, and that survival in the field may rely on the officer's mobility. The ability for humans to generate power and agility is critical for performance of the high-intensity movements required in the field of duty. The aims of this review were to critically examine the literature investigating the impacts of load carriage on measures of power and agility and to synthesize the findings. The authors completed a search of the literature using key search terms in four databases. After relevant studies were located using strict inclusion and exclusion criteria, the studies were critically appraised using the Downs and Black Checklist and relevant data were extracted and tabled. Fourteen studies were deemed relevant for this review, ranging in percentage quality scores from 42.85% to 71.43%. Outcome measures used in these studies to indicate levels of power and agility included short-distance sprints, vertical jumps, and agility runs, among others. Performance of both power and agility was shown to decrease when tactical load was added to the participants. This suggests that the increase in weight carried by tactical officers may put this population at risk of injury or fatality in the line of duty.
One of the best ways to contribute to multidisciplinary research and to improve your own knowledge of the review process at the National Institutes of Health (NIH) is to serve as a peer reviewer for research, traineeship, and small business innovation research proposals. Proactive targeted outreach to Scientific Review Officers (SROs) at NIH will increase your chances to become a reviewer. Reviewers with nursing expertise are especially welcome as multidisciplinary research is becoming more prevalent. Steps to identify a likely study section, contact the correct SRO, and review responsibly are described in this article, written by an experienced NIH review officer.
Little is known about occupational fatalities among tactical officers. A greater understanding of such injuries is needed to improve officer safety. The purpose of this study was to provide a descriptive analysis of line-of-duty deaths secondary to felonious assault during tactical incidents.
A retrospective review of Medical Evaluation Board (MEB) data to determine the effect of career field or Army component on the relative risk for mental health (MH) related MEBs among Army Officers, may identify specific populations for enhanced screening before accession, or groups that may require targeted preventive resources during their careers.
The current report presents data on lifetime prevalence of suicide ideation and nonfatal attempts as reported by the large representative sample of U.S. Army soldiers who participated in the Consolidated All-Army Survey of the Army Study to Assess Risk and Resilience in Servicemembers (N = 29,982). We also examine associations of key Army career characteristics with these outcomes. Prevalence estimates for lifetime suicide ideation are 12.7% among men and 20.1% among women, and for lifetime suicide attempts are 2.5% and 5.1%, respectively. Retrospective age-of-onset reports suggest that 53.4%-70% of these outcomes had preenlistment onsets. Results revealed that, for both men and women, being in the Regular Army, compared with being in the National Guard or Army Reserve, and being in an enlisted rank, compared with being an officer, is associated with increased risk of suicidal behaviors and that this elevated risk is present both before and after joining the Army.
The purpose of this study was to collect data and disseminate trends in officer-involved firearm deaths in Oklahoma from 2000 to 2015. The Oklahoma Office of the Chief Medical Examiner (OCME) database was searched for civilian decedents with gunshot wounds inflicted by law enforcement officers and officer decedents with gunshot wounds inflicted by civilians. Five decedents were law enforcement officers, while 274 decedents were civilians. The number of civilian decedents throughout the study followed a quadratic trend. Civilian decedents were most commonly males (95%) between the ages of 20 and 39 (64%), had one or two gunshot wounds (46%), and had an increasing number of gunshot wounds over time. Postmortem toxicology testing most commonly detected ethanol, methamphetamine, cocaine, and PCP. Efforts toward increased tracking by various agencies and more scientific studies like this are needed to facilitate future analysis of trends in officer-involved firearm deaths.
We used administrative data to examine predictors of medically documented suicide ideation (SI) among Regular Army soldiers from 2006 through 2009 (N = 10,466 ideators, 124,959 control person-months). Enlisted ideators (97.8% of all cases) were more likely than controls to be female, younger, older when entering service, less educated, never or previously deployed, and have a recent mental health diagnosis. Officer ideators were more likely than controls to be female, younger, younger when entering service, never married, and have a recent mental health diagnosis. Risk among enlisted soldiers peaked in the second month of service and declined steadily, whereas risk among officers remained relatively stable over time. Risk of SI is highest among enlisted soldiers early in Army service, females, and those with a recent mental health diagnosis.
Contrasting the classical explanation of military group cohesion as sustained by interpersonal bonds, recent scholars have highlighted the importance of ritualized communication, training and drills in explaining effective military performance in professional armies. While this has offered a welcome addition to the cohesion literature and a novel micro-sociological method of examining cohesion, its primary evidential base has been combat groups. Indeed, despite their prominent role in directing operations over the past decade, the British Army's officer corps has received relatively little attention from sociologists during this period. No attempt has been made to explain cohesion in the officer corps. Using a similar method to recent cohesion scholars, this paper seeks to address this imbalance by undertaking a micro-sociology of one ritual in particular: 'Barossa Night' in the Royal Irish Regiment. Firstly, it draws on the work of Durkheim to examine how cohesion amongst the officer corps is created and sustained through a dense array of practises during formal social rituals. It provides evidence that the use of rituals highlights that social solidarity is central to understanding officer cohesion. Secondly, following Hockey's work on how private soldiers negotiate order, the paper shows how this solidarity in the officer corps is based on a degree of negotiated order and the need to release organizational tensions inherent in a strictly hierarchical rank structure. It highlights how the awarding of gallantry medals can threaten this negotiated order and fuel deviancy. In examining this behaviour, the paper shows that even amongst an officer class traditionally viewed as the elite upholders of organizational discipline, the negotiation of rank and hierarchy can be fluid. How deviant behaviour is later accepted and normalized by senior officers indicates that negotiated order is as important to understanding cohesion in the British Army's officer corps as it is amongst private soldiers.


Unlike battlesuits (whose weight capacity is fixed for a particular body style), mecha may upgrade their chassis in order to increase their weight capacity.
Strength Cost Modifier Max. Weight Modifier
Standard 0 None
Heavy +50% +10%
X-Heavy +100% +20%
Super-Heavy +400% +40%
Arms & Legs
The legs of a humanoid mecha are equal to 60% of the mecha's body spaces. Therefore, each leg has 30% of the body spaces. The arms are each equal to 20% of the body spaces. For example, the legs of a light mecha (with 20 body spaces) are 6 spaces each and the arms are 4 spaces each. Leg armor is half the cost and weight of torso armor. Arm armor is one-quarter the cost and weight of torso armor. The cost and weight is rounded down to the nearest whole number.
A humanoid mecha's turret is equal to 10% of the body spaces (rounded up). It has a traverse and elevation equal to a normal human head. The costs & weights for the various sizes of humanoid mecha turrets are listed below.
Size Cost Weight Internal Spaces
2-space $2,000 200 lbs 1
3-space $3,000 300 lbs 1
5-space $5,000 500 lbs 2
8-space $8,000 800 lbs 2
10-space $10,000 1,000 lbs 3
15-space $15,000 1,500 lbs 4
20-space $20,0000 2,000 lbs 5
Power Plants
Power plants of fixed size are an in-efficient use of the space available in a mecha's torso. In order to economize on the use of this interior space, modular power plants were developed. These are of three different types; electric, nuclear battery, fusion.
Type Cost/space Weight/space DP/space Power Factors
Electric $1,000 75 lbs 2 1,000/space
Electric power plants are compact, high-capacity batteries. They may use platinum catalysts and superconductors. Extra power cells are the normal cost and weight. Electric power plants store power units equal to (DP x 100). They are expended at the rate of (PU x current speed/maximum speed x 400).
Type Cost Weight DP Power Factors
Nuclear Battery $100,000 +$5,000 per space 500 lbs +100 lbs per space Spc 2,000/space
Nuclear batteries do not sustain a fission reaction. Instead, they use arrays of thermocouples to convert the heat released by radioactive decay into electricity. Nuclear batteries last for one year. They can only be refueled at facilities specially designed for that purpose. Refueling costs 20% of the battery's cost. A nuclear battery has an armored casing with 30 DP of metal armor. Inside this casing is the core, which has 10 DP. Damage to the core will reduce the battery's power capacity by 10% for every DP lost. When the last core DP is destroyed, it will begin to leak radiation (treat as a spill of mid-level radioactive waste).
Type Cost Weight DP Power Factors
Fusion $500,000 + $50,000 per space 250 lbs + 50 lbs per space Spc 4,000/space
Fusion power plants are small-scale fusion reactors. They are experimental items only, and are being considered for use by the military. Fusion power plants have the same DP as nuclear batteries. A core breach has the effects of a hit from a heavy flamer (see Ultra-Tech Car Wars). Note that the damage is taken internally.
Acceleration, Top speed & Handling
All sizes of mecha will accelerate at the rate of 5 mph per turn. Mecha drivetrains are highly efficient (even more so than battlesuit drivetrains). Accordingly, the formula (100 x power factors/power factors + weight) is used to determine top speed. Top speeds are rounded up to the nearest 5 mph.
 Mecha of any size handle differently than tracked or wheeled vehicles. Small mecha are more maneuverable than their larger cousins, but are less stable. Conversely, larger mecha are less maneuverable than smaller mecha and more stable. Accordingly, all mecha have the following modifiers to their crash table rolls; Small/medium: +2, Large/heavy: +1, x-hvy: 0, Super-heavy: -1. Titan: -2. These modifiers are cumulative with those provided by pilot skill and mecha speed.
 Small, medium and large mecha may make any maneuver of up to D4 hazard without risk. Maneuvers of D5 or greater will force an automatic control roll. Mecha of any larger size can only perform maneuvers of up to D3 hazard without risk. An automatic control roll is required if they attempt maneuvers of D4 or greater. Failure of these rolls requires a roll on the mecha crash table.
 Mecha can operate off-road without penalty. They may also move underwater at up to half-speed (maximum of 30 mph) and half acceleration.
Mecha Crash Table
2 or less: Trivial skid. Mecha keeps same orientation, but moves 1/4" in the direction it was moving before the maneuver in which it lost control.
3-4: Minor skid. As above, but mecha skids ½". No speed is lost.
5-6: Moderate skid. Mecha skids 3/4" and decelerates by 5 mph. On the next move, it performs a trivial skid.
7-8: Major skid. Mecha skids 1" and decelerates by 10 mph. The mecha performs a minor skid on its next move.
9-10: Severe skid. Mecha turns sideways and skids 1", decelerating by 10 mph per turn. The mecha has a 50% chance per turn of falling over. If this happens, the side which hits the ground takes sideswipe damage. A mecha pilot can attempt to recover from the skid by rolling for control at HC -6. Failure means that the skid continues. Success means that the mecha stops skidding and move normally in the direction it faces.
11-12: Fall. As above, except that the mecha falls over and takes sideswipe damage (multiplied by the mecha's damage modifier). It skids 1" per inch of movement, decelerating by 10 mph per turn. The mecha may not get up until the skid is done.
13-14: As above, except that the mecha takes full ram damage on the side which hits the ground (as if it had run directly into a wall).
15 or greater: Mecha falls over (as per results of 11-12), with a 50% chance of falling to the front or back. The mecha strikes its head on the ground and takes full ram damage to it. After impact, the mecha skids 1" per turn (taking normal sideswipe damage). The pilot is stunned by the impact (roll for results on the ram concussion table) and takes 1 point of damage. The use of impact armor will prevent the damage and will add a -2 bonus to the roll for stunning effects.
 This table is also used in cases where control rolls are required because of the hazards from weapons fire or collisions. When skids are made or rolls called for, they will be done in the direction opposite from the attack.
Physical Attacks
All mecha can punch once every three turns or kick once every five turns, causing half-damage to vehicles and buildings.
Mecha Size Damage/attack
Small 4d punch/8d kick
Medium 6d punch/12d kick
Large 8d punch/16d kick
Heavy 10d punch/20d kick
X-heavy 14d punch/28d kick
Super-heavy 18d punch/36d kick
Titan 20d punch/40d kick
If a mecha kicks at a target and misses, the pilot must make a control roll to prevent his machine from falling. This roll is adjusted by the modifiers from pilot skill and mecha size.
A mecha pilot can attack targets by jumping his machine up in the air and landing on top of them. This attack is known as the "piledriver" or "death from above". Success or failure is determined by rolling 2d6 and adding the level of pilot skill. A roll of 9 or better means that the mecha has landed on top of the target, inflicting 10d damage (multiplied by the mecha's damage modifier). Failure means that the mecha misses the target and lands normally. A roll of 2-3 means that the mecha falls.
Mecha can easily lift their own body weight above their heads. If the lifted object is ½ the mecha's body weight, it can be thrown a distance of 1d-3". If the object is 1/4 the mecha's body weight or less, it can be thrown 1d+2".
Mecha use full-size versions of all types of weapons. Weapons mounted in mecha arms are automatically stabilized at no extra cost or weight. Weapons mounted in the torso may have auto-stabilizers fitted at the normal cost and weight.
Mecha weapons may have magazines mounted with them in the same location, or in an immediately-adjacent body space. For example, an autocannon mounted


text:
Price competition between store brands and national brands: determinants of price elasticities for cheese products
Store brands and national brands (Kraft) account for eighty percent of the retail cheese market in the United States. The goal of this study is to estimate brand demand elasticities and reveal factors that determine price elasticities for store and national brands of cheese; more importantly, to provide implications for marketing managers. Data used in this study are store-level scanner data provided by a national supermarket chain in the Columbus, Ohio metropolitan area (CMA). Based on product forms, cheese is classified into five product categories: shredded, sliced, chunk, snack, and miscellaneous. Six stores are included in the data set and these stores are selected from geographic areas that can be described as being populated by higherand lower-income consumers. A two-stage modeling process is utilized in this study. First, brand demand elasticities are estimated with respect to various store locations, cheese product forms, and package sizes. Second, a meta-analysis is applied to reveal the factors that determine price elasticities of store and national brands. This process involves regressing the estimated price elasticities of store and national brands on the determinants of elasticities: store location, market share, product form, and package size. Both the nonlinear Almost Ideal Demand System (AIDS) and linear approximation AIDS (LA/AIDS) are utilized in the first stage to estimate brand demand elasticities. Given five product categories and two income groups, a total of 20 demand systems are estimated for the two AIDS models. Before estimating the two versions of AIDS model, the unit-root test was initially conducted to confirm stationarity of the time-series variables. This study provides a rich knowledge base for retail store managers and manufacturers to use for maximizing sales and profits. Results from the first stage demand systems indicate that compared with store brands, consumers are very sensitive to national brands price changes for most cheese items even in higher-income areas. The second stage meta-analysis shows that store location, market share, product form, and package size affect price elasticities for store and national brands; moreover, the estimated demand elasticities between AIDS and LA/AIDS models are not significantly different.
School:The Ohio State University
School Location:USA - Ohio
Source Type:Master's Thesis
Keywords:store brands national cheese
Date of Publication:01/01/2004


text:
On Science Program is a great opportunity for students to learn through
"doing." Many activities have something that the children can take home
with them to show mom or dad what they did or to spark further observations/
Children pick 7 science activities
from the form that has at least 18 choices. The Discovery Center will group children by age and assign your
child 3 of his/her 7 choices for the Saturday or Sunday program or 2 of
his/her 7 choices if doing the week night program. Children who are chosen
to do Rocketry will use the
entire morning for those activities so they will do Rocketry and one
other workshop. The Saturday or Sunday program has a magic show during
lunch. Lunch can be pre-purchased for $3 and will include an all beef
hotdog, drink and snack. Or you can purchase lunch items a la carte.
Please send your child with $3-5 to purchases items the day of the event or if you prefer
send a bag lunch. Click
to view the form.
Changes to dates and locations can
be made at any time, please check for updated information, click on link
Volunteer children can do a Hands on
Science Day for FREE, please email
_EMAIL_ you will need to be at the school at 9 am and
stay until 2:45.
Frequently Asked Questions
- Can I stay with my child?
Please note this is not a parent /child activity.
should my child wear?
Children are also encouraged to wear clothes that can get a little
- Should I pick 7 if my child
wants Rocketry, Hot Air Ballooning or Aviation & Gliders? Yes, you
always pick 7, there is never a guarantee that you child will be chosen
for those as they tend to fill up quickly. Please note that if you
want to "guarantee" that as an activity we suggest that you take them at
the Discovery Center in Carmel, go to the Workshops section of this
website for the next time these classes are offered.
- Will my Kindergartener feel
comfortable, he/she is so young?
There should be several other kindergarteners attending so your child
will be with other 5 and 6 year olds. However if you still are anxious
go to a different school and be the volunteer there, this way you are in
the hall (outside of the cafeteria where the program takes place) at all
For Additional Information Call _PHONE_


Automating Power Transmission and Distribution Inspection
Transmission and Distribution System Operators are facing increasing pressure to manage assets more effectively to assure availability while factors like renewables and smart grids are increasing operational demands. Many operators have hundreds of thousands of assets to manage and while they are data rich, many say they are information poor when it comes to making more informed asset management decisions. Working with Transmission System Operators we have automated certain tasks, like object identification proving inspections and maintenance can be done faster and more efficiently.
How Inspection² Drives Asset Availability
Manage high volumes of inspection data from hundreds of thousands of towers, substations and other assets
Automatically identify and classify common defects and anomalies like cracked or flashed insulators and corrosion among millions of images
Analyse both current and historical condition data from a variety of sources to identify defect growth and trends
Provide high-quality consistent data in 3D, improving decision making and enabling more effective field operations, reduce Time to Repair and spares inventory
By enabling the mining of datasets across the operator's multiple regions, Inspection² is supporting efforts to enhance best practice in risk-based maintenance and asset management methodologies network-wide
Get Started With Inspection²
Inspection² is designed and engineered for the industrial inspection world. Start making more informed decision with better data using the power of AI, Automation and Digital Twins
Pin It on Pinterest
Share This


London Piano Institute on Pianist Artur Schnabel
London-Piano-Institute-Artur-SchnabelLondon Piano Institute is the U.K.'s only piano school for adults only. Located in central London, London Piano Institute offers the highest quality instruction in classical, jazz, pop, rock and blues piano using the latest and most effective adult instructional methods developed by renowned piano pedagogue Celine Gaurier-Joubert. Here a top instructor at London Piano Institute discusses one the greatest masters of the keyboard, Artur Schnabel.
A Gathering of Experts: Who was Artur Schnabel?
London Piano Institute: He was an Austrian classical pianist, teacher and composer.
A Gathering of Experts: In what era did he live?
London Piano Institute: He was born April 17, 1882, and died April 15, 1951. He was one of the great pianists of the 20th century.
A Gathering of Experts: What was his specialty?
London Piano Institute: He specialized in the great Austrian and German composers, specifically Beethoven and Schubert, although he played others as well.
A Gathering of Experts: What set him apart?
London Piano Institute: He was recognized for his intellectual seriousness when approaching the repertoire and avoiding pure technical bravura.
A Gathering of Experts: Was that received well?
London Piano Institute: Yes, indeed. He has been hailed for his "interpretive penetration." Harold C. Schonberg, once chief music critic for the New York Times, called him "the man who invented Beethoven," meaning that he established authoritative interpretations that have stood the test of time.
A Gathering of Experts: Where was he born?
London Piano Institute: Born in Lipnik near Bielitz, Galicia, Austro-Hungarian Empire (today a part of Poland), Schnabel was the youngest of three children born into a Jewish family. At an early age, however, his family moved to Vienna, Austria.
A Gathering of Experts: Was he a child prodigy?
London Piano Institute: Evidently, yes. At the age of 2 he took an interest in his older sister's piano lessons and his talent became obvious. At age 6 he began piano studies at the prestigious Vienna Conservatorium and by age 9 was a student of the famed pedagogue Theodor Leschetizky.
A Gathering of Experts: What came next for him?
London Piano Institute: He continued to study piano and music theory and became acquainted with famous pianists and composers of his day, including Johannes Brahms. He made his concert debut in 1897 in Vienna.
A Gathering of Experts: Did he become a touring artist?
London Piano Institute: Yes, he gave concerts throughout the region including Budapest, Prague and Brunn (in today's Czech Republic). In 1898 he moved to Berlin where he gained fame as an orchestral soloist.
A Gathering of Experts: Did he tour outside of central Europe?
London Piano Institute: After World War I he gave concert tours in Russia, England and the United States.
A Gathering of Experts: Was there a focus to his performing during this time?
London Piano Institute: He became known for his chamber music and formed a number of variations of the Schnabel Trio with famous violinists and cellists of his day. He also performed with contralto Therese Behr, who became his wife.
A Gathering of Experts: Did he leave Germany before World War II started?
London Piano Institute: Yes, with the rise of the Nazi party, he left Berlin in 1933 for England and finally America in 1939.
A Gathering of Experts: Did he ever return to Germany or Austria after the war?
London Piano Institute: No, despite many concert tours in other parts of Europe he never did.
A Gathering of Experts: What were the standards of his repertoire?
London Piano Institute: He remained devoted to the core German composers but also included the piano masterworks of Bach, Mozart, Schumann, Weber and Liszt.
A Gathering of Experts: He is known for the difficult late Beethoven piano works, is he not?
London Piano Institute: Yes, indeed, although he recognized that as enjoyable as they were for the pianist to master, they could be challenging for an audience to enjoy.
A Gathering of Experts: How about Schnabel as composer?
London Piano Institute: As conventional as his repertoire was, it is interesting to note that his compositions were very modern in style, since he wrote in the atonal and 12-tone style, which feature the dissonance typical of mid-20th century classical music.
Speak Your Mind


text: The paper asks what role the European Bank for Reconstruction and Development (EBRD) plays in coordinating policy reform in post-crisis Eastern Central Europe (ECE). How did the EBRD attempt to mitigate the effects of the crisis and what role did the institution play in the configuration of a post-crisis European political economy? The paper analyses the content of the annual EBRD Transition Reports (TR) as representation of thinking in the EBRD Chief Economist's Office on the salient concerns relevant to its region of operations. The paper analyses TRs from 2007 to 2013 assessing the discursive shifts inside the EBRD establishing (1) how the TRs frame whether the region is in crisis, (2) apportioning censure for causing crisis and (3) how the EBRD TRs delineate the development of appropriate policy responses to the crisis. In conclusion the paper situates these processes as evidence of a further iteration of 'fail forwards' neoliberalization.


text:
This article presents the results of studies on the motivation of highly qualified athletes involved in Paralympics sport football five-a-side, which was held at the international friendly tournament in Silvi Marina (Italy) in June 2018. The main factors determining the importance of results in achieving the results are physical and mental stresses corresponding to critical values. The study of sports motivation of qualified Paralympics football players of the national team of the Russian Federation began with the definition of a list of motives for playing football five-a-side (sports of the blind). Analysis and generalization of literary sources made it possible to form an extended circle of motivation, and interviewing and questioning current athletes and coaches, allowed to determine the list of motives of highly qualified athletes, included in the questionnaire for study. The study involved active athletes of the youth and main staff of the Russian national team. Football players represented three regions: Moscow, Moscow Region, and the Republic of Mari El. In total, 13 respondents took part in the survey. The data obtained were statistically processed using the method of average values (calculations were performed using the standard Microsoft Excel for Windows software package).
Part of the book: Sports, Health and Exercise Medicine


text:
We Were Made for These Times: A Short Course in Leadership with Debbie McFalone
In this pre-recorded learning opportunity, Debbie McFalone introduces a new virtual course to explore how Uncommon Leaders are navigating this time. In these two 30-minute sessions, we'll explore what we're learning about ourselves as leaders right now, as well as strategies for leading during times of significant change.
When purchasing this webinar, you will receive a digital download that includes:
- Debbie's Slides for Sessions 1 & 2
- Webinar Recording of Sessions 1 & 2, approximately 30 minutes each
- A Folder of Handouts for Sessions 1 & 2
Session 1 | Who Are You As The Leader?
- Your leadership legacy is being shaped right now
- Balancing the four areas of your life
- The power of resilience
- The gift of Quadrant 2 time
- The Fork In The Road: 6 things to consider during change
Session 2 | Leading Your People Through This Time
- Understanding grief and loss in "the neutral zone"
- Focusing on communicating and connecting
- What makes a happy life?
- Resources for encouraging the heart
- Daring leadership during this time


Latest release of socket server code
The latest release of the free version of my asynchronous, windows, IOCP based, socket server framework can now be obtained from here at
The latest release is really just a bug fix and compiler compatability release. The code now supports Visual Studio 2005 (as well as VC6, Visual Studio.Net (2002) and Visual Studio 2003). I've fixed the memory leak bugs that were present in the ThreadPoolLargePacketEchoServer sample and worked around the iostream leak that's present in the Visual Studio 2005 version of STL. I've also included a set of build configurations for the basic echo server that builds the system with STLPort rather than the standard Visual Studio STL.
The bug fixes are reported here. Please note that this version of the code still suffers from poor handling of low resource issues; see here for the kind of things that could leave you with an unresponsive server.
I expect that this will be the last release of the free code. Though, I expected that last time too ;)
The example servers are as follows:
 - EchoServer - the basic example server that simply echoes back the data it receives.
 - PacketEchoServer - a server that echoes back complete packets, each packet starts with a length indicator. This is slightly more "real world" as many protocols have a header that indicates the length of the packet that follows.
 - SimpleProtocolServer - a server that operates on variable length packets that are terminated with a \r\n sequence. This is the other common way to determine how much data the client is sending in one "command". Things like SMTP and POP3 use this style of protocol.
 - SimpleProtocolServer2 - a version of the SimpleProtocolServer above that uses a separate thread pool to actually process the requests. This is potentially useful if the requests will block (such as requests to a database, perhaps). If you have X IO threads and all of them are engaged in a blocking activity at once then your communications subsystem stops responding! This server architecture avoids that problem by passing complete command packets to another thread pool via an in process FIFO queue so that the blocking operations do not adversly affect the communications subsystem.
 - ThreadPoolLargePacketEchoServer - a really contrived example that I've only ever used to demonstrate some theory. This server is a packet echo server that runs the communications subsystem with a small buffer size and yet requires that the server only echo packets that do not fit completely in the small buffer size. This means that the server copies data from the IO buffers into "transfer buffers" that it then passes to another thread pool to echo. I've never found a use for this architecture but it might be useful if your protocol uses buffers that are 99% one size and occasionally bigger...
I recommend using the simplest server architecture that you can. That means you're probably looking for something based on either the second or third example. If you access a database or other slow, blocking, non async device then you should probably use a variation on server four. If you think you really need to use the fifth server as a base get in touch and I'll talk you out of it ;)
Due to how I have my CVS repository structured and how I like to work on servers in isolation (I sometimes work on multiple servers at once and like to build/rebuild them without affecting other work in progress), each server has its own copy of the "tools" library.
Please report any bugs that you may find via email.
You probably need the platform SDK to build the code. See disclaimers on the previous release and on the original code project articles for more details.
If you need more than this free code provides then take a look at the rest of for details of The Server Framework a licensed and fully supported high performance server framework.
Updated: 18 Feb - fixed a bug in the new version of ToString()
Updated: 25 Feb - added the files for the CStringConverter class so that the fix I added on the 18th actually compiles!
Updated: 27 Oct - bug fix for CSocket::InternetAddress - see here for details
Updated: 14 March - link to the differences between this free version of the code and the licensed version: see here.
Updated: 10 Jan 2008 - bug fix for the write sequencing memory leak and data loss - see here for details
Updated: 12 Jan 2008 - bug fix for the potential deadlock bug - see here for details
Updated: 21 April 2009 - see here for a bug fix for a connection termination issue that leaves I/O threads unresponsive (note that this fix is not currently included in the code on this page.
Updated: 4 October 2010 - moved the code to
There seems to be some wierdness with the new implementation of ToString() on VC6. Will post a fix when I have one.
The wierdness was me ;) The new version of ToString() used std::wostringstream for the wide character version whereas the original code used the narrow version and then converted the result. There's a good reason for doing it the old way... Since on VC6 (and optionally on later compilers) wchar_t is, in fact, unsigned short the wide streams can't stream an unsigned short as they assume it's a string...
Hi Len,
I was testing various completion port based server solutions and finally I decided to play longer with your solution. I am really impressed with the quality and usability of your JetByte server tools.
I found a small problem trying to use "". The compiler complains that it cannot find "CStringConverter::AtoW" when building unicode version of SimpleProtocolServer2. Is the CStringConverter class a standard one?
Thanks for the compliment.
I'll check the build, I adjusted a couple of includes at the last minute due to the ToString() changes and I expect it's a precompiled header issue.
I've fixed that problem and uploaded a new zip file. There were two missing files (for the CStringConverter class). This came about because I first fixed the VS2005 ToString() leak in this code and then ported it to my latest libraries, they don't use USES_CONVERSION as it's evil ;). I added some tests to the new code and found the unsigned short issue with the new code so I fixed the bug in the new lib and then ported the code back to the old socket server codebase. Looks like I didn't try a compile before I shipped it! Unusual for me to be this slack but I've had a bit of a week.
Hi Len,
thanks for the wonderful code. I'm (re)using your framework and it works great. One thing that i'm trying to achieve is to introduce priority queues in the framework so I can provide a prioritized service depending on a type of the message. Would you have any suggestion what approach to take. I would really appreciate your thoughts.
best regrads.
I dont have a priority queue class. I guess I'd probably build one using an std::list of std::lists of items a critical section to make it thread safe and a semaphore to allow me to wait on it having entries...
Once you have that working then you could replace the IOCP between the IO threads and the "business logic" threads with your priority queue and you're done...
Hi Len,
This library looks terrific. You mention that we can pay a fee to subscribe to get the latest version. What is the fee and how do we subscribe? I don't see your e-mail address on here anywhere.
Contact details are on the main page, on the right, under links...
I've emailed you details.
First of all, your great solution.
In this version, When the client's socket is disconnected,
CThreadPoolWorkerThread::OnConnectionClosing function is called. But sometimes is not called.
Is something wrong?
Also CThreadPoolWorkerThread::OnConnectionClosed function is not implemented.
If I want to call OnConnectionClosed, how do I?
For example, I customized the code like below.
Is right? :(
enum DispatchEvents
ConnectionClosed, // added
bool CSocketServer::OnConnectionClosed( Socket *pSocket)
return true;
// added new func
void CThreadPool::DispatchConnectionClosed(
Socket *pSocket)
DoDispatch(pSocket, 0, ConnectionClosed);
sorry for my english.
OnConnectionClosing() is called if the server initiates the socket closure, you should also handle OnConnectionClientClose() to deal with situations where the client closes the connection and OnConnectionReset() for errors, etc.
OnConnectionClosed() is called once the socket itself has been closed, this may be in response to an explicit call to Close() from the server code or due to the reference count on the socket reaching 0.
Hi Len
I would like to implement a server containing both the broadcast server and the tcpserver handling multiple connections, do I need to create one iocp handle for both or just use one iocp handle for each?
I dont understand the question... Are you using my source code? If so I assume you're asking if you can create one instance of the IOPool and share that between servers? If so, then yes, see the EchoServer example code for details.
Hi Len,
Suppose I have to connect() to some other tcp based servers in parallel with running your tcp server. Can i connect() to the any remote server and add my socket to the iocp handle to participate in iocp events for WSARecv() and WSASend() completion events for those sockets? If yes, how to do this?
Yes, all of the new servers allow outbound connections and they share the iocp, io threads, socket and buffer pools with any inbound connections


text:
During the transition to chip, customers are being told to swipe their card as they normally would and follow the prompts. If the terminal is chip-enabled, it will prompt them to insert it instead. If you have chip-enabled terminals and you see that your customer has a chip card, you can tell them to insert their card for a chip transaction. These basic steps will help your customers pay successfully in your store:
- The customer should insert their card with chip toward terminal, facing up. The chip card should not be removed until the customer is prompted.
- The customer will provide their signature or PIN as prompted by the terminal. Some transactions may not require either.
- When the terminal says the transaction is complete, the customer can remove their card.
- If the customer has questions, remind them to follow the prompts on the terminal and leave their card inserted until prompted to remove.


Manufacturing Area's
Sponge iron, also called direct reduced iron, is the product created when iron ore is reduced to metallic iron, usually with some kind of carbon (charcoal, etc), at temperatures below the melting point of iron. This results in a spongy mass, sometimes called a bloom, consisting of a mix of incandescent wrought iron and slag.
Use of sponge iron
Grades Available for Sponge Iron -
GRADE - A (FeM - 81% Min)
GRADE - B (FeM - 78 To 80 %)
GRADE - C (Fem - < 78%)


text:
International Standard Bible Encyclopedia
1. Name of the Prophet
2. The Prophet's Times
1. Name of the Prophet:
The last book of the Old Testament. Nothing is known of the person of Malachi. Because his name does not occur elsewhere, some scholars indeed doubt whether "Malachi" is intended to be the personal name of the prophet. But none of the other prophetic books of the Old Testament is anonymous. The form mal'akhi, signifies "my messenger"; it occurs again in 3:1; compare 2:7. But this form of itself would hardly be appropriate as a proper name without some additional syllable such as Yah, whence mal'akhiah, i.e. "messenger of Yahweh." Haggai, in fact, is expressly designated "messenger of Yahweh" (Haggai 1:13). Besides, the superscriptions prefixed to the book, in both the Septuagint and the Vulgate, warrant the supposition that Malachi's full name ended with the syllable -yah. At the same time the Septuagint translates the last clause of Malachi 1:1, "by the hand of his messenger," and the Targum reads, "by the hand of my angel, whose name is called Ezra the scribe." Jerome likewise testifies that the Jews of his day ascribed this last book of prophecy to Ezra (V. Praef. in duodecim Prophetas). But if Ezra's name was originally associated with the book, it would hardly have been dropped by the collectors of the prophetic Canon who, lived only a century or two subsequent to Ezra's time. Certain traditions ascribe the book to Zerubbabel and Nehemiah; others, still, to Malachi, whom they designate as a Levite and a member of the "Great Synagogue." Certain modern scholars, however, on the basis of the similarity of the title (1:1) to Zechariah 9:1; Zechariah 12:1, declare it to be anonymous; but this is a rash conclusion without any substantial proof other than supposition. The best explanation is that of Professor G.G. Cameron, who suggests that the termination of the word "Malachi" is adjectival, and equivalent to the Latin angelicus, signifying "one charged with a message or mission" (a missionary). The term would thus be an official title; and the thought would not be unsuitable to one whose message closed the prophetical Canon of the Old Testament, and whose mission in behalf of the church was so sacred in character (1-vol HDB).
2. The Prophet's Times:
Opinions vary as to the prophet's exact date, but nearly all scholars are agreed that Malachi prophesied during the Persian period, and after the reconstruction and dedication of the second temple in 516 B.C. (compare Malachi 1:10; Malachi 3:1, 10). The prophet speaks of the people's governor" (Hebrew pechah, Malachi 1:8), as do Haggai and Nehemiah (Haggai 1:1 Nehemiah 5:14; Nehemiah 12:26). The social conditions portrayed are unquestionably those also of the period of the Restoration. More specifically, Malachi probably lived and labored during the times of Ezra and Nehemiah. Serious abuses had crept into Jewish life; the priests had become lax and degenerate, defective and inferior sacrifices were allowed to be offered upon the temple altar, the people were neglecting their tithes, divorce was common and God's covenant was forgotten and ignored; just such abuses as we know from the Book of Ne were common in his day (compare Nehemiah 3:5; Nehemiah 5:1-13). Yet, it is doubtful whether Malachi preached during Nehemiah's active governorship; for in Malachi 1:8 it is implied that gifts might be offered to the "governor," whereas Nehemiah tells us that he declined all such (Nehemiah 5:15, 18). On the other hand, the abuses which Malachi attacked correspond so exactly with those which Nehemiah found on his 2nd visit to Jerusalem in 432 B.C. (Nehemiah 13:7) that it seems reasonably certain that he prophesied shortly before that date, i.e. between 445 and 432 B.C. As Dr. J.M.P. Smith says, The Book of Malachi fits the situation amid which Nehemiah worked as snugly as a bone fits its socket" (ICC, 7). That the prophet should exhort the people to remember the law of Moses, which was publicly read by Ezra in the year 444 B.C., is in perfect agreement with this conclusion, despite the fact that Stade, Cornill and Kautzsch argue for a date prior to the time of Ezra. On the other hand, Nagelsbach, Kohler, Orelli, Reuss and Volck rightly place the book in the period between the two visits of Nehemiah (445-432 B.C.).
The book, in the main, is composed of two extended polemics against the priests (Malachi 1:6-2:9) and the people (Malachi 2:10-4:3), opening with a clear, sharp statement of the prophet's chief thesis that Yahweh still loves Israel (Malachi 1:2-5), and closing with an exhortation to remember the Law of Moses (Malachi 4:4-6). After the title or superscription (Malachi 1:1) the prophecy falls naturally into seven divisions:
(1) Malachi 1:2-5, in which Malachi shows that Yahweh still loves Israel because their lot stands in such marked contrast to Edom's. They were temporarily disciplined; Edom was forever punished.
(2) Malachi 1:6-2:9, a denunciation of the priests, the Levites, who have become neglectful of their sacerdotal office, indifferent to the Law, and unmindful of their covenant relationship to Yahweh.
(3) Malachi 2:10-16, against idolatry and divorce. Some interpret this section metaphorically of Judah as having abandoned the religion of his youth (2:11). But idolatry and divorce were closely related. The people are obviously rebuked for literally putting away their own Jewish wives in order to contract marriage with foreigners (2:15). Such marriages, the prophet declares, are not only a form of idolatry (2:11), but a violation of Yahweh's intention to preserve to Himself a "godly seed" (2:15).
(4) Malachi 2:17-3:6, an announcement of coming judgment. Men are beginning to doubt whether there is longer a God of justice (2:17). Malachi replies that the Lord whom the people seek will suddenly come, both to purify the sons of Levi and to purge the land of sinners in general. The nation, however, will not be utterly consumed (3:6).
(5) Malachi 3:7-12, in which the prophet pauses to give another concrete example of the people's sins: they have failed to pay their tithes and other dues. Accordingly, drought, locusts, and famine have ensued. Let these be paid and the nation will again prosper, and their land will become "a delightsome land."
(6) Malachi 3:13-4:3, a second section addressed to the doubters of the prophet's age. In 2:17, they had said, "Where is the God of justice?" They now murmur: "It is vain to serve God; and what profit is it that we have kept his charge?" The wicked and the good alike prosper (3:14, 15). But, the prophet replies, Yahweh knows them that are His, and a book of remembrance is being kept; for a day of judgment is coming when the good and the evil will be distinguished; those who work iniquity will be exterminated, while those who do righteously will triumph.
(7) Malachi 4:4-6, a concluding exhortation to obey the Mosaic Law; with a promise that Elijah the prophet will first come to avert, if possible, the threatened judgment by reconciling the hearts of the nation to one another, i.e. to reconcile the ideals of the old to those of the young, and vice versa.
Malachi was content to write prose. His Hebrew is clear and forceful and direct; sometimes almost rhythmical. His figures are as numerous as should be expected in the brief remnants of his sermons which have come down to us, and in every case they are chaste and beautiful (1:6; 3:2, 3, 17; 4:1-3). His statements are bold and correspondingly effective. The most original feature in his style is the lecture-like method which characterizes his book throughout; more particularly that of question and answer. His style is that of the scribes. It is known as the didactic-dialectic method, consisting first of an assertion or charge, then a fancied objection raised by his hearers, and finally the prophet's refutation of their objection. Eight distinct examples of this peculiarity are to be found in his book, each one containing the same clause in Hebrew, "Yet ye say"


text:
Date of Award
Bachelor of Education Honours
School of Education
Faculty of Community Services, Education and Social Sciences
Dr Barry Down
The purpose of this exploratory study is to examine family member perceptions and experiences of homework. More broadly, it seeks to illuminate the nature and social function of homework practices in families and in so doing, highlights the complex relationship between schools and family life. The study involved four families and their experiences of homework. The families were selected on the basis that the parents came from a range of socio-economic backgrounds which may impact upon their children's attitudes and experiences of homework and schooling. The approach adopted to investigate this phenomenon is that of case study. Specifically, this case study uses the unstructured interview to collect data to enable the interviewer to develop a conversation using a set of relatively open-ended questions. These conversations were audiotaped, then transcribed for analysis and interpretation. The interviews focused on participant's understandings and expectations in relation to homework. The intensity of the interaction between interviewer and participant provided an opportunity for the participant to openly relate their homework experiences. The interviewees were asked to 'tell their story' in relation to their homework experiences. This case study adds to the existing literature by exploring family member perceptions of the family-school relationship as it relates to homework. It portrays the experiences of these families and how they make sense of homework practices. It provides an insight into the lives of the four families and how they understand the nature and function of homework practices.
Voak, C. (1999). How do Family Members Perceive, Understand and Explain the Experience of Homework? : A Case Study of Four Families. Retrieved from _URL_


_USER_{Stepanova_Svetlana_V._Autor_The_2019, author={Stepanova, Svetlana V. Autor}, volume={92}, number={4}, copyright={Creative Commons Attribution BY 4.0 license}, address={Warszawa}, journal={Geographia Polonica}, journal={Geographia Polonica}, howpublished={online}, year={2019}, publisher={IGiPZ PAN}, language={eng}, abstract={The work reported here has examined the transformation of the Northern Ladoga region (a natural and historical region in the Russian-Finnish borderland) from 'closed' border area into a prospective tourist destination in the face of changes taking place in the 1990s. Three periods to the development of tourism in the region are identified, while the article goes on to explore general trends and features characterising the development of a tourist destination, with the focus on tourist infrastructure, the developing types of tourism and tourismoriented projects. Measures to further stimulate tourism as an economic activity of the region are suggested.}, title={The Northern Ladoga region as a prospective tourist destination in the Russian-Finnish borderland: Historical, cultural, ecological and economic aspects}, type={Text}, URL={_URL_ keywords={touism development, the Northern Ladoga Region, tourist destination, Russian-Finnish borderland, Republic of Karelia, political and socio-economic changes}, }


text:
Wind Energy | previous page
South Dakota Wind Energy Potential
South Dakota ranks in the top five states for wind energy potential. In a recent study, South Dakota was estimated to have the potential to produce more than 3 million gigawatt-hours of energy on annual basis. If this entire wind energy potential of South Dakota was harnessed, it would be nearly enough to provide power for the entire United States. While it is not feasible to harness every breeze, wind farms in the state have reported higher than industry standard capacity factors, which means the quality of South Dakota wind is high. This wind resource map shows how the wind is classified throughout South Dakota. NREL has also developed a wind resource map for South Dakota's tribal lands.
Web site links found throughout _URL_ are intended to provide helpful resources. Inclusion of a Web link on this site is not necessarily an endorsement of an organization, product or service.


text: Factors influencing nutritional supplement use by high school students were assessed. Comparisons were made between various groups of sports participants and non-sports participants. The Nutritional Supplement Use and Knowledge Scale was administered to 509 students. Mean supplement use score was 10.87 (SEM = 0.50, range 0-57). Mean knowledge score was 13.56 (SEM = 0.16, range 1-21). Significant relationships (p <.01) were obtained for supplement knowledge with use, and supplement use with gender. ANOVA found significant differences between supplement use by gender (p <.01), supplement use by sports category (p <.05), and knowledge scores by sports category (p <.01). Discriminant function analysis indicated knowledge, supplement use, and subscores for protein, vitamins/minerals, and carbohydrates were best discriminators of sport group membership. Greater knowledge about supplements was associated with less use; hence, education about supplements can be a deterrent to use. This study may help coaches, athletic trainers, athletic directors, teachers, physicians, and parents identify nutritional misconceptions held by adolescents.


Start with the basic plugin call without any parameters.
object CheckCommand "systemd" { // Plugin name without 'check_' prefix
 command = [ PluginContribDir + "/" ] // Use the 'PluginContribDir' constant, see the contributed ITL commands
Run a config validation to see if that works, icinga2 daemon -C
Next, analyse the plugin parameters. Plugins with a good help output show optional parameters in square brackes. This is the case for all parameters for this plugin. If there are required parameters, use the required key inside the argument.
The arguments attribute is a dictionary which takes the parameters as keys.
 arguments = {
 "--unit" = {... }
If there a long parameter names available, prefer them. This increases readability in both the configuration as well as the executed command line.
The argument value itself is a sub dictionary which has additional keys:
 - value which references the runtime macro string
 - description where you copy the plugin parameter help text into
 - required, set_if, etc. for advanced parameters, check the CheckCommand object chapter.
The runtime macro syntax is required to allow value extraction when the command is executed.
Inside the Director, store the new command first in order to unveil the Arguments tab.
Best practice is to use the command name as prefix, in this specific case e.g. systemd_unit.
 arguments = {
 "--unit" = {
 value = "$systemd_unit$" // The service parameter would then be defined as 'vars.systemd_unit = "icinga2"'
 description = "Name of the systemd unit that is beeing tested."
 "--warning" = {
 value = "$systemd_warning$"
 description = "Startup time in seconds to result in warning status."
 "--critical" = {
 value = "$systemd_critical$"
 description = "Startup time in seconds to result in critical status."
This may take a while – validate the configuration in between up until the CheckCommand definition is done.
Then test and integrate it into your monitoring configuration.
Remember: Do it once and right, and never touch the CheckCommand again. Optional arguments allow different use cases and scenarios.
Once you have created your really good CheckCommand, please consider sharing it with our community by creating a new PR on GitHub. Please also update the documentation for the ITL.
Inside the Director, you can render the configuration in the Deployment section. Extract the static configuration object and use that as a source for sending it upstream.
Modify Existing CheckCommand
Sometimes an existing CheckCommand inside the ITL is missing a parameter. Or you don't need a default parameter value being set.
Instead of copying the entire configuration object, you can import an object into another new object.
object CheckCommand "http-custom" {
 import "http" // Import existing http object
 arguments += { // Use additive assignment to add missing parameters
 "--key" = {
 value = "$http_..." // Keep the parameter name the same as with http
 // Override default parameters
 vars.http_address = "..."
This CheckCommand can then be referenced in your host/service object definitions.
Plugin API
Icinga 2 supports the native plugin API specification from the Monitoring Plugins project. It is defined in the Monitoring Plugins guidelines.
The Icinga documentation revamps the specification into our own guideline enriched with examples and best practices.
The output should be as short and as detailed as possible. The most common cases include:
 - Viewing a problem list in Icinga Web and dashboards
 - Getting paged about a problem
 - Receiving the alert on the CLI or forwarding it to external (ticket) systems
:
OK: MySQL connection time is fine (0.0002s)
WARNING: MySQL connection time is slow (0.5s > 0.1s threshold)
CRITICAL: MySQL connection time is causing degraded performance (3s > 0.5s threshold)
Icinga supports reading multi-line output where Icinga Web only shows the first line in the listings and everything in the detail view.
Example for an end2end check with many smaller test cases integrated:
OK: Online banking works.
Testcase 1: Site reached.
Testcase 2: Attempted login, JS loads.
Testcase 3: Login succeeded.
Testcase 4: View current state works.
Testcase 5: Transactions fine.
If the extended output shouldn't be visible in your monitoring, but only for testing, it is recommended to implement the --verbose plugin parameter to allow developers and users to debug further. Check here for more implementation tips.
More debug output also helps when implementing your plugin.
Best practice is to have the plugin parameter and handling implemented first, then add it anywhere you want to see more, e.g. from initial database connections to actual query results.
Value Status Description
0 OK The check went fine and everything is considered working.
1 Warning The check is above the given warning threshold, or anything else is suspicious requiring attention before it breaks.
2 Critical The check exceeded the critical threshold, or something really is broken and will harm the production environment.
3 Unknown Invalid parameters, low level resource errors (IO device busy, no fork resources, TCP sockets, etc.) preventing the actual check. Higher level errors such as DNS resolving, TCP connection timeouts should be treated as Critical instead. Whenever the plugin reaches its timeout (best practice) it should also terminate with Unknown.
Keep in mind that these are service states. Icinga automatically maps the host state from the returned plugin states.
A plugin calculates specific values and may decide about the exit state on its own. This is done with thresholds - warning and critical values which are compared with the actual value. Upon this logic, the exit state is determined.
Imagine the following value and defined thresholds:
ptc_value = 57.8
warning = 50
critical = 60
Whenever ptc_value is higher than warning or critical, it should return the appropriate state.
The threshold evaluation order also is important:
 - Critical thresholds are evaluated first and superseed everything else.
 - Warning thresholds are evaluated second
 - If no threshold is matched, return the OK state
Avoid using hardcoded threshold values in your plugins, always add them to the argument parser.
Example for Python:
import argparse
import signal
import sys
if __name__ == '__main__':
 parser = argparse.ArgumentParser()
 parser.add_argument("-w", "--warning", help="Warning threshold. Single value or range, e.g. '20:50'.")
 parser.add_argument("-c", "--critical", help="Critical threshold. Single vluae or range, e.g. '25:45'.")
 args = parser.parse_args()
Users might call plugins only with the critical threshold parameter, leaving out the warning parameter. Keep this in mind when evaluating the thresholds, always check if the parameters have been defined before.
 if args.critical:
 if ptc_value > args.critical:
 print("CRITICAL -...")
 sys.exit(2) # Critical
 if args.warning:
 if ptc_value > args.warning:
 print("WARNING -...")
 sys.exit(1) # Warning
 print("OK -...")
 sys.exit(0) # OK
The above is a simplified example for printing the output and using the state as exit code.
Before diving into the implementation, learn more about required performance data metrics and more best practices below.
Threshold Ranges
Threshold ranges can be used to specify an alert window, e.g. whenever a calculated value is between a lower and higher critical threshold.
The schema for threshold ranges looks as follows. The @ character in square brackets is optional.
There are a few requirements for ranges:
 - start <= end. Add a check in your code and let the user know about problematic values.
10:20 # OK
30:10 # Error
 - start: can be omitted if its value is 0. This is the default handling for single threshold values too.
10 # Every value > 10 and < 0, outside of 0..10
 - If end is omitted, assume end is infinity.
10: # < 10, outside of 10..∞
 - In order to specify negative infinity, use the ~ character.
~:10 # > 10, outside of -∞..10
 - Raise alert if value is outside of the defined range.
10:20 # < 10 or > 20, outside of 10..20
 - Start with @ to raise an alert if the value is inside the defined range, inclusive start/end values.
_USER_:20 # >= 10 and <= 20, inside of 10..20
Best practice is to either implement single threshold values, or fully support ranges. This requires parsing the input parameter values, therefore look for existing libraries already providing this functionality.
check_tinkerforge implements a simple parser to avoid dependencies.
Performance Data Metrics
Performance data metrics must be appended to the plugin output with a preceding | character. The schema is as follows:
 | 'label'=value[UOM];[warn];[crit];[min];[max]
The label should be encapsulated with single quotes. Avoid spaces or special characters such as % in there, this could lead to problems with metric receivers such as Graphite.
Labels must not include'and = characters. Keep the label length as short and unique as possible.
Values must respect the C/POSIX locale and not implement e.g. German locale for floating point numbers with,. Icinga sets LC_NUMERIC=C to enforce this locale on plugin execution.
Unit of Measurement


Creating and managing SMB volumes
Before you can create and manage SMB volumes, you must review security considerations regarding SMB access. You must also add an Active Directory (AD) connection. Currently, Cloud Volumes Service supports only one AD connection per Google Cloud region. You can only associate a cloud volume in a region with the AD connection in the same region.
The following diagram shows how Cloud Volumes Service works with Windows applications on Google Cloud:
Cloud Volumes Service Windows
For more information about SMB services provided by Cloud Volumes Service for Google Cloud, see SMB performance FAQs.
Creating an AD connection
You can set up an AD connection for Cloud Volumes Service to an AD configured on Compute Engine or to an on-premises Active Directory service if the on-premises network is connected to Google Cloud.
 1. In the Cloud Console, go to Cloud Volumes.
 Go to the Cloud Volumes page
 2. Click Active Directory connections, and then click Create.
 Active Directory menu
 3. In the Create Active Directory Connection window, enter the following information, and then click Save.
 1. In the Username and Password fields, enter credentials associated with an account that has privileges to create a computer account in AD.
 2. In the Domain field, enter the name of the AD domain.
 3. In the DNS server field, enter the DNS server IP address fetched from the AD domain.
 The CVS-Performance service type checks all IP addresses listed. The CVS service type uses the first IP address listed.
 4. In the NetBIOS field, enter a name for the AD server. The length of the NetBIOS name must be 10 characters or fewer.
 5. From the Region drop-down list, select a region associated with your AD credentials.
 6. In the Security Privilege Users field, provide a list of comma-separated domain user accounts that require elevated privileges to manage security logs for the Active Directory associated with Cloud Volumes Service. This list is specifically needed for the installation of a SQL server where binaries and system databases are stored on an SMB share. This option is not mandatory if you use an administrator user during installation.
 7. In the Backup Users field, provide either a group or a comma-separated list of users that require access to all files and directories without being a domain administrator.
 8. The Active Directory connection supports NFS extended groups (greater than 16 GIDs) with the CVS-Performance service type by default. However, the use of extended groups disables support for users that exist on the NFS client locally.
 If you need support for local users rather than extended groups, select the checkbox for Allow local NFS users with LDAP when creating or editing the Active Directory connection.
Creating an SMB volume
 1. In the Cloud Console, go to Cloud Volumes.
 Go to Cloud Volumes page
 2. Click Create.
 3. In the Create File System page, complete the following fields:
 1. Name: Enter a display name for the volume.
 2. Service Type: Select either the CVS or CVS-Performance service type, depending on which is appropriate for your workload. Each service type offers different service levels, and the service levels are offered in different regions. For more information, see Service types.
 3. Region: Select a Google Cloud region for your volume. For more information about region selection, see Best practices for Compute Engine region selection.
 4. Zone: Select a Google Cloud zone for your volume. This field applies only to volumes using the CVS service type.
 5. Volume path: Enter the name of the volume path. It must be unique across all your cloud volumes. The system automatically generates a recommended volume path.
 6. Service level:
 - If you selected the CVS service type, select the level of availability for the volume.
 - If you selected the CVS-Performance service type, select the level of performance for the volume.
 7. Snapshot: If you want to create a volume based on a snapshot, select the snapshot from the drop-down list. This field applies only to volumes that use the CVS-Performance service type. For more information, see Creating and managing volume snapshots.
 8. Allocated capacity: Set the size of the cloud volume. The minimum size is 1,024 GiB (1 TiB).
 9. Protocol type: Select SMB.
 10. Make snapshot directory (~snapshot) visible: Selecting this option makes your snapshot directory visible to the client as a ~snapshot hidden directory in the root of the mapped share and enables Previous Versions access in Windows Explorer. This field applies only to volumes that use the CVS-Performance service type.
 11. Enable SMB encryption: To enable SMB encryption for in-flight SMB3 data, select this option. SMB clients using data without encryption can't access a volume that has this option enabled.
 12. Enable CA share support for SQL server: You can enable continuously available (CA) share support for the SQL server. You should enable this option only for SQL workloads that require continuous availability. This field applies only to volumes that use the CVS-Performance service type.
 13. Hide SMB Share: To enhance security, you can select this option to prevent your volume and data from being viewable by untrusted sources. Selecting this option makes the SMB share non-browsable. This field applies only to volumes that use the CVS-Performance service type.
 14. Shared VPC Configuration: The VPC network can be part of a host project in a shared VPC, or it can be a standalone project. If you have a host project and a shared VPC topology, select the checkbox. For standalone projects, leave the checkbox clear.
 15. VPC Network Name:
 - Select the network from which the volume will be accessible.
 - Optionally, you can specify your custom CIDR range by selecting Use Custom Address Range.
 - If this is the first time that you're setting up the VPC peering for Cloud Volumes Service, you receive the following prompt indicating that you need to set up network peering:
 Network peering warning window. The service networking peering for this VPC is not set up.
 For more information, see Setting up private services access.
 16. Snapshot policy: To manage snapshot policy for the volume, expand Show snapshot policy. Select Allow automatic snapshots, specify the snapshot schedules, and specify the number of snapshots to keep. See Managing snapshot policies for details.
 Snapshot policy page
 4. Click Save to create the volume.
 The new volume appears in the Volumes list.
Mapping SMB shares from Compute Engine instances
 1. In the Cloud Console, go to the Volumes page.
 Go to the Volumes page
 2. Click the SMB volume for which you want to map an SMB share.
 3. Scroll to the right, click More, and then click Mount Instructions.
 4. Follow the instructions in the Mount Instructions for SMB window that appears.
 Create SMB instructions
What's next


text:
Lexical cohesion refers to the reader-perceived unity of text achieved by the author's usage of words with related meanings (Halliday and Hasan, 1976). This article reports on an experiment with 22 readers aimed at finding lexical cohesive patterns in 10 texts. Although there was much diversity in peoples' answers, we identified a common core of the phenomenon, using statistical analysis of agreement patterns and a validation experiment. The core data may now be used as a minimal test set for models of lexical cohesion; we present an example suggesting that models based on mutually exclusive lexical chains will not suffice. In addition, we believe that procedures for revealing and analyzing sub-group patterns of agreement described here may be applied to data collected in other studies of comparable size.
Reader-based exploration of lexical cohesion - Springer


text:
qc is a testing tool that lets you write properties that you expect to hold true, and let the computer generate randomized test cases to check that these properties actually hold. For example, if you have written compress and decompress functions for some data compression program, an obvious property to test is that compressing and decompressing a string gives back the original string. Here's how you could express that:
"""Test that compressing and decompressing returns the original data."""
data = qc.str() # An arbitrary string. Values are randomized.
self.assertEqual(data, decompress(compress(data)), repr(data))
That's an ordinary test with Python's built-in unittest framework (which is why there's so much boilerplate). Alternately, you could do the exact same thing with a different testing framework, like the minimally verbose, quite pleasant nose. The _USER_.property decorator runs the decorated function several times, and each time the values returned by functions like qc.string() are different. In other words, QuickCheck is compatible with pretty much every unit test framework out there; it's not particularly demanding.
Functions like qc.str(), qc.int(), and so on, generate arbitrary values of a certain type. In the example above, we're asserting that the property holds true for all strings. When you run the tests, QuickCheck will generate randomized strings for testing.
You'll notice that I said "randomized", not "random". This is intentional. The distribution of values is tweaked to include interesting values, like empty strings, or strings with NUL characters in the middle, or strings containing English text. In general, QuickCheck tries to give a good mix of clever tricky values and randomness. This is essentially what you would do, if you had to write really thorough test cases by hand, except that you don't have to do it. In practice, the computer has fewer preconceptions about what constitutes sane data, so it will often find bugs that would never have occurred to you to write test cases for. It doesn't know how to subconsciously avoid the bugs.
You're not limited to the built-in arbitrary value functions. You can use them as building blocks to generate your own. For example:
def __init__(self, x, y):
self.x, self.y = float(x), float(y)
"""Get an arbitrary point."""
x = qc.int(-20, 20)
y = qc.int(-34, 50)
return Point(x, y)
You can then use this to generate arbitrary point values in properties. Here's a nose-style test:
pt = point()
assert abs(pt.x) + abs(pt.y) >= math.sqrt(pt.x**2 + pt.y**2), (pt.x, pt.y)
When you run this, something magical happens: QuickCheck will try to generate tricky values for both the x and y variables in the Point class, together, so you'll see points like (0, 0), (1, 1), (0, 1), (385904, 0), as well as totally random ones like (584, -35809648). In other words, rather than just drawing x and y values from a stream of random numbers with some tricky values in it, QuickCheck will actually try to generate tricky combinations of x and y coordinates.
Functions for getting arbitrary data
- int(low, high) gives ints, between the optional bounds low and high.
- long(low, high) gives longs, between the optional bounds low and high.
- float(low, high) gives floats, between the optional bounds low and high. No Infinities or NaN values.
str(length=None, maxlen=None) gives strings, of type str. The encoding is UTF-8. If length is given, the strings will be exactly that long. If maxlen is given, the string length will be at most maxlen characters.
- unicode(length=None, maxlen=None) gives unicode strings, of type unicode. If length is given, the strings will be exactly that long. If maxlen is given, the string length will be at most maxlen characters.
- name() gives names, in Unicode. These range from the prosaic, like "John Smith", to the exotic -- names containing non-breaking spaces, or email addresses, or Unicode characters outside the Basic Multilingual Plane. This is, if anything, less perverse than the names you will see in a sufficiently large set of Internet data.
- nameUtf8() is the same as name().encode('utf8').
- fromList(items) returns random items from a list. This is mostly useful for creating your own arbitrary data generator functions.
- randstr(length=None, maxlen=sys.maxint) gives strings of random bytes. If length is given, the strings will be exactly that long. If maxlen is given, the string length will be at most maxlen bytes.
The strings produced by str and unicode are randomized, but some effort has been put into making them sufficiently perverse as to reveal bugs in a whole lot of string processing code. The name list is loosely based on horrible memories of seeing name processing code crash on real-world data, over and over and over again, as it became ever more clear that the world is mad, and we are truly doomed. (This feeling passes once you get enough test coverage and things finally stop crashing. There is hope!)
The name and string example data in qc.arbitrary may be interesting as a source of more deteministic test case data. Feel free to borrow any of it. The internals are magic, but of the magical internal parts, the most interesting ones are in qc.arbitrary and qc.