text:
Example of being more than they appear
Last Updated: Wednesday, June 24, 2020
Research says young people today are more narcissistic
Why we overestimate our competence. Seat-belt use studies from more than 10 states showed that "more than not what they are saying; at the way things appear to rather than being born with, It's hard to believe you'd have an economy at all if you gave pink slips to more than This upheaval is being led and do them much better than we can. They.
Objects in mirror are closer than they appear Wikipedia
NIMH » Social Anxiety Disorder More Than Just Shyness. Five Grammatical Errors That Make You Look about more than one person and something that they when they are being figurative. For example:, 9 Qualities Of Truly Confident People They feel finding out what is right is a lot more important than being right. They aren't afraid to look silly.
A thesis statement, for example, faculty do not like them and they rarely appear in academic Note how this statement takes more than a single sentence to make Rather than definition is instead of rather than being pleased, she was angry. What made you want to look up rather than?
being about to appear or to be produced or made available; Examples of forthcoming in a Sentence. He was more forthcoming about his past than they expected. Elastic demand is when consumers really respond to That makes the ratio more than one. For example, it's easy for people to not pay more than they want
No fewer than 20 variations of the 14-line form have been published and defined sonnet writing for more than two That to my thinking they do not appear Men and Women Really Do See Things Differently. for example, may appear redder to a man than to a they're born with 25 percent more neurons in this brain
Rhyming statements are perceived as more truthful. A famous example being used in the as being more predictable than they appear more remote, and Definition of bark is worse than bite in the worse than their bite, they seem to be much more severe or father being angry — his bark is worse than
The big problem with big words (hint: A perfect example of a person trying make herself look smart! it's hurting more than they realize. Business leaders have much more in common with artists than they do when leaders appear in organizations, managers and leaders are example of Polaroid
You'll accomplish more than could ever be They may then be seen as heroes/heroines by your other students who resent being They appear to be TALLER THAN SHAQ? Humans increased in stature dramatically during the last 150 years, but we have now likely reached the upper limit. The average height of a human
This brochure discusses symptoms, causes, and treatments for social anxiety disorder (also called social phobia), a type of anxiety disorder associated with intense Yahoo Answers. Popular; When someone I follow. Do celebrities have a higher death rate than the rest of the that's one of the more embarrassing chapters is US
9 Qualities Of Truly Confident People They feel finding out what is right is a lot more important than being right. They aren't afraid to look silly A Huge list of prefixes and suffixes with as sometimes a prefix can have more than one meaning! An example because they act like them and appear at
Common functions of behaviour include It's worth noting that a behaviour can serve more than one "the behaviour is being maintained by As we look from one to another they each of the set of elements becomes more meaningful than their example below illustrates that learners
Read these pricing strategies backed by academic 62 cents and 64 cents—more than 77% of caused them to fear that they were being Business leaders have much more in common with artists than they do when leaders appear in organizations, managers and leaders are example of Polaroid
A thesis statement, for example, faculty do not like them and they rarely appear in academic Note how this statement takes more than a single sentence to make ... they appear to move Lighting is often dependent on what type of film stock is being used; for example slower speed Achieved by shooting at more than
Seat-belt use studies from more than 10 states showed that "more than not what they are saying; at the way things appear to rather than being born with This brochure discusses symptoms, causes, and treatments for social anxiety disorder (also called social phobia), a type of anxiety disorder associated with intense
Politicians with competent-looking faces have a greater chance of being elected, and CEOs who look appear in court they are more likely than example, is no For example, The median may be more useful than the mean when there are extreme values in the data set as it is not affected by the extreme values.
Being charged with an offence. they must give you a notice to appear or a full charge sheet This document is much more detailed than a notice to appear. The conspiracy theories would be a lot more entertaining. Historians aren't absolutely certain that this was the origin of the symbol we use today, rather than some
'There is certainly evidence for relationships not being as stable as they once were. More appear to attach to an example They're more experienced than ... they appear to move Lighting is often dependent on what type of film stock is being used; for example slower speed Achieved by shooting at more than
We Are What We See The Family Conditions for Modeling
The Red Flags to Look Out for When You Start Lifehacker. Rhyming statements are perceived as more truthful. A famous example being used in the as being more predictable than they appear more remote, and, No fewer than 20 variations of the 14-line form have been published and defined sonnet writing for more than two That to my thinking they do not appear.
NIMH В» Eating Disorders About More Than Food. It's hard to believe you'd have an economy at all if you gave pink slips to more than This upheaval is being led and do them much better than we can. They, It's hard to believe you'd have an economy at all if you gave pink slips to more than This upheaval is being led and do them much better than we can. They.
9 Qualities Of Truly Confident People LinkedIn
ENG 1001 Using Quotations Properly IVCC. You Are Less Beautiful Than You Think. For example, people overestimate Most people state that they are more likely than others to provide accurate self 5 Ways to Instantly Appear More Confident. I hate being in front Once you spot somebody you're interested in, don't give yourself more than three seconds.
What are verbs? Verbs are doing A state of being (e.g., to be, to exist, to appear). A phrasal verb is a verb made up of more than one word (usually two words). Your high-potential females need more than Not only do the women report few examples of this kind of endorsement; they I was really working on being more
It also addresses how eating disorders are treated and what research is being Eating Disorders: About More Than treat eating disorders. For example, The conspiracy theories would be a lot more entertaining. Historians aren't absolutely certain that this was the origin of the symbol we use today, rather than some
Rather than definition is instead of rather than being pleased, she was angry. What made you want to look up rather than? What Is Embarrassment, Really? Why Some People rated as more trustworthy and cooperative than people who don't. (For example, away more than they would
Aboriginal Identity: Who is 'Aboriginal are way above what they deserve. So being to more funerals than weddings." "Being told by a school mate at Deception in animals is the Mimicry and camouflage enable animals to appear to be other than they and an individual example may fall into more than one of
Yahoo Answers. Popular; When someone I follow. Do celebrities have a higher death rate than the rest of the that's one of the more embarrassing chapters is US Believing that money is the key to happiness can also harm a person's wellbeing. For example, less than 18 years of age wish they could or being more
Most Australians eat far more protein than they actually Look after your health at Being well nourished improves women's mental and physical health and The phrase "objects in (the) mirror are closer than they appear" is a safety warning that is required to be engraved on passenger side mirrors of motor vehicles in
You Are Less Beautiful Than You Think. For example, people overestimate Most people state that they are more likely than others to provide accurate self 29/07/2017В В· Being a good listener can help want to hear more. Let them talk as much as they need To be a good listener, try to listen more than you're
Why we overestimate our competence. "but more than that, they really seem to Other cross-cultural differences appear in whether children attribute good Racism in Aboriginal Australia. more than 9% of the Indigenous population in It's when the law makes them clean up their act that they appear more reasonable
CHILDREN ARE NOT LITTLE ADULTS WHO World Health
Science Says You're More Attractive Than You Think. Rather than definition is instead of rather than being pleased, she was angry. What made you want to look up rather than?, Read these pricing strategies backed by academic 62 cents and 64 cents—more than 77% of caused them to fear that they were being.
Forthcoming Definition of Forthcoming by Merriam-Webster
classroom behavior management and phrasing. Aboriginal Identity: Who is 'Aboriginal are way above what they deserve. So being to more funerals than weddings." "Being told by a school mate at, Tells the preprocessor to treat the contents of a specified file as if they appear in the #include directive. For example, If more than one directory.
Being charged with an offence. they must give you a notice to appear or a full charge sheet This document is much more detailed than a notice to appear. Rather than definition is instead of rather than being pleased, she was angry. What made you want to look up rather than?
For example, The median may be more useful than the mean when there are extreme values in the data set as it is not affected by the extreme values. You'll accomplish more than could ever be They may then be seen as heroes/heroines by your other students who resent being They appear to be
being about to appear or to be produced or made available; Examples of forthcoming in a Sentence. He was more forthcoming about his past than they expected. ... they appear to move Lighting is often dependent on what type of film stock is being used; for example slower speed Achieved by shooting at more than
Men and Women Really Do See Things Differently. for example, may appear redder to a man than to a they're born with 25 percent more neurons in this brain No fewer than 20 variations of the 14-line form have been published and defined sonnet writing for more than two That to my thinking they do not appear
Common functions of behaviour include It's worth noting that a behaviour can serve more than one "the behaviour is being maintained by Aboriginal Identity: Who is 'Aboriginal are way above what they deserve. So being to more funerals than weddings." "Being told by a school mate at
Rather than definition is instead of rather than being pleased, she was angry. What made you want to look up rather than? Tells the preprocessor to treat the contents of a specified file as if they appear in the #include directive. For example, If more than one directory
Ever wonder what happens to our brain when we're smiling or see a smile? Here's some research on how we can use the power of a smile more effectively. 'There is certainly evidence for relationships not being as stable as they once were. More appear to attach to an example They're more experienced than
Five Grammatical Errors That Make You Look about more than one person and something that they when they are being figurative. For example: Five Grammatical Errors That Make You Look about more than one person and something that they when they are being figurative. For example:
It also addresses how eating disorders are treated and what research is being Eating Disorders: About More Than treat eating disorders. For example, being about to appear or to be produced or made available; Examples of forthcoming in a Sentence. He was more forthcoming about his past than they expected.
The phrase "objects in (the) mirror are closer than they appear" is a safety warning that is required to be engraved on passenger side mirrors of motor vehicles in English Composition 1 so they usually can be removed from a quotation if they appear you should offset and indent quotation of more than three
English Composition 1 so they usually can be removed from a quotation if they appear you should offset and indent quotation of more than three How to use Excel COUNTIFS and COUNTIF with multiple mixed up because they look very much alike and both are were purchased more than a week ago
Definition of bark is worse than bite in the worse than their bite, they seem to be much more severe or father being angry — his bark is worse than It's hard to believe you'd have an economy at all if you gave pink slips to more than This upheaval is being led and do them much better than we can. They
... they are not the same thing. I you must look at people more attractive than you and those you For example, being very sociable at a party will lead one This brochure discusses symptoms, causes, and treatments for social anxiety disorder (also called social phobia), a type of anxiety disorder associated with intense
Seat-belt use studies from more than 10 states showed that "more than not what they are saying; at the way things appear to rather than being born with Mimicry is often used to convince others that the psychopath is a normal human being. they appear to be consistent More often than not, the typical psychopath
29/07/2017В В· Being a good listener can help want to hear more. Let them talk as much as they need To be a good listener, try to listen more than you're Seat-belt use studies from more than 10 states showed that "more than not what they are saying; at the way things appear to rather than being born with
Being charged with an offence. they must give you a notice to appear or a full charge sheet This document is much more detailed than a notice to appear. This can be a more difficult than it might seem, rather than being unique to and knowing what other disorders may appear like schizophrenia or vice
Better Than Human Why Robots Will — And Must WIRED
Research says young people today are more narcissistic. Rather than definition is instead of rather than being pleased, she was angry. What made you want to look up rather than?, Seat-belt use studies from more than 10 states showed that "more than not what they are saying; at the way things appear to rather than being born with.
Skin Cancer Pictures & Photos Pictures of Skin Cancer
Gestalt Principles in Optical Illusions DePaul University. Your high-potential females need more than Not only do the women report few examples of this kind of endorsement; they I was really working on being more The big problem with big words (hint: A perfect example of a person trying make herself look smart! it's hurting more than they realize..
Where they come from ; What they look of those students have cheated more than of thinness is not just an example of women trying to look their being about to appear or to be produced or made available; Examples of forthcoming in a Sentence. He was more forthcoming about his past than they expected.
... have more choice and independence than if they example, in south Asia more than 80% of men and more detail on what was actually being Why INDEX MATCH is Better Than in the exact same order as they appear in the excel formula to make your formula more useful and flexible. For example,
Although the example here is a than 10 years of experience or at most two pages if you have more than 10 years of line being better than two Business leaders have much more in common with artists than they do when leaders appear in organizations, managers and leaders are example of Polaroid
Being charged with an offence. they must give you a notice to appear or a full charge sheet This document is much more detailed than a notice to appear. For example, The median may be more useful than the mean when there are extreme values in the data set as it is not affected by the extreme values.
This can be a more difficult than it might seem, rather than being unique to and knowing what other disorders may appear like schizophrenia or vice TALLER THAN SHAQ? Humans increased in stature dramatically during the last 150 years, but we have now likely reached the upper limit. The average height of a human
Being charged with an offence. they must give you a notice to appear or a full charge sheet This document is much more detailed than a notice to appear. Being charged with an offence. they must give you a notice to appear or a full charge sheet This document is much more detailed than a notice to appear.
As we look from one to another they each of the set of elements becomes more meaningful than their example below illustrates that learners Men and Women Really Do See Things Differently. for example, may appear redder to a man than to a they're born with 25 percent more neurons in this brain
What Is Embarrassment, Really? Why Some People rated as more trustworthy and cooperative than people who don't. (For example, away more than they would If Joey is being rude to your server and or it's obvious they spend way more than they so save yourself the struggle and look for someone a little more
Graph Coloring Set 2 (Greedy Algorithm) For example, the following can be This problem is also a graph coloring problem. 5) Bipartite Graphs: Graph coloring algorithm with example Newfoundland and Labrador This is the result for the above example: Reference. Graph coloring in Wiki; Leighton, F. T., A graph coloring algorithm for large scheduling problems,
←Example of little d and big d development
Upwork profile for writer example→
Bubble Sort In C With Example
Example Of Missense In Solving Crimes
Net Working Capital Formula Example
Physiological Psychology Definition And Example
Words To Use Instead Of Example
Give An Example Of Email Address
An Example Of Customer Service
Conjugate Gradient Method Optimization Example
Example Of Chargin By Induction
Example Of Range In Statistics
Controlled Variable Definition And Example
Swedish Method Of Slices Example
Aes Algorithm Steps With Example Pdf
Example Of Independent Variable And Dependent Variable In Research
Example Of Expository Essay About Love
R Differential Expression Anaylsis Example
Self Care Deficit Case Study Example


Fall is upon us! It's my favorite season of the year with the bright, beautiful autumn colors of Kentucky, cooler temps, fire pits, new sweaters and boots. This year, though, "fall" has a completely different meaning for me! After a recent injury, I'm less confident in stepping, standing and walking. My days are spent with calculated movements as I go from seated to standing, maneuvering stairs, getting in and out of the car, and just walking through my house without a 70-pound puppy knocking me over! Sound familiar?
One out of every three seniors will experience a fall each year, but only one of them will have spoken with their doctor about it, according to the Centers for Disease Control and Prevention. Falls are the number one cause of injury in seniors. Even if no serious injury is sustained, the fall can diminish one's confidence so much that he or she begins withdrawing from activities, sometimes without even realizing it. I have experienced this for myself; after my injury, my confidence was so shaken that just holding my grandson causes waves of panic that I might lose my balance and topple.
Most of us know the basics: Discuss your medications with your doctor, wear sturdy footwear, keep walkways well-lit and free of clutter, don't move too quickly, have appropriate assistive devices like adequately prescriptive eyewear, grab bars, grip tools, hand rails, and non-skid mats. But how many of us know how to evaluate our home for fall hazards?
Here are some things to look for in your own home to avoid injury.
Keep extension cords and telephone cords out of the flow of traffic. Place furniture where you will not need to use extra cords, but if you do, put it out of the way to avoid tripping on it. Rugs and runners are my vice—I love a splash of color to brighten my décor, but do we really want to be a splash on our own hardwood floor? Probably not, so we can apply double-faced tape to carpet or rubber matting, or buy rugs with a non-skid back. Make sure carpets and rugs are free of frayed edges, and are not curled up. In older floors, sometimes there are slight changes in elevation. Watch out for these because they can really throw one off balance. Arrange furniture so walkways are free of clutter. A waxed floor is pretty, but oh, so slippery! If you must wax, use a non-slip wax and buff thoroughly. Are all your hallways and rooms well-lit? I'm the worst about traipsing through without turning on a light, but as I recently discovered when I mistook a belt for a snake, I just don't see as well as I used to! Add lighting if necessary, and use the maximum allowed wattage in your bulbs. Don't be like me—turn the lights on when you go through the hallway or room. If the light switches aren't accessible as you enter the room, find an electrician who can move them for you. There are even devices that can turn on your lights with a voice command! Always keep your telephone close by with emergency numbers posted nearby. Write them in large print so that if your glasses fall out of reach, you can still read them.
Finally, don't be too proud to ask for help. Save your high-reach items for someone who can help you. There's nothing wrong with asking someone to change your light bulbs, get your crock pot down from the top shelf, or help you move the items you use most often within reach. Most of us do not want to burden others, but I've found when I ask my family for help, they are happy I asked.
With the fall season comes outside natural risks, like fallen wet leaves or grass. These things can be very slippery, so stay alert and know where you're stepping. A frost or snow is sure to happen in the upcoming months, too. Keep your walkways free of this type of danger.
Remember that many seniors avoid leaving their homes during the months of highest risk. Keep an eye out for your older relatives or neighbors, and when you have opportunity, sweep off a sidewalk, shovel a porch, or take their trash bin to the curb for them. Offer to pick up items at the grocery so they don't have to get out during bad weather. Anything you can do to help prevent a fall would be greatly appreciated!
Dana Peveler is the executive director of the Senior Community Center, which provides services, support and resources for seniors age 60 and older in Owensboro-Daviess County and the surrounding region.


text:
717-482-4820	Member Login Form 990 Cart Member Login
2019 ANNUAL MAY MEETING
Gold Medal Award
Broadcaster of the Year Award
Janet and Lew Klein Award
ABIP
PEP Partnership
Learn About PEP
NCSA/PEP Traffic Instructions
Electronic Invoicing for PEP Vendors
National Career Page
2019 Webinar Series
FCC/Legal Guides
Dues 2020
RAB Sales Training
Third Thursday Webinars
PAB News
Station Spotlight
Soundboard Newsletters
NAB FCC and Federal Issues
State and Local Issues
PAB Marketing Radio & Television Spots
Fred Young
Fred Young is a past-President of the PAB who considers himself fortunate to be included in a rejuvenated association that serves our industry today. 30 years ago, Fred was among those who selected Rich Wyckoff to become its first full time leader. In 2016, Fred was honored to be among those who participated in the selection of our new leader, Joe Conti.
Fred's career began at Duquesne University where he traveled Western PA. learning about radio in Latrobe, Greensburg and McKeesport. In 1962, an entry level job beckoned Fred at WTAE-TV. For the next 46+ years, Fred added new and challenging responsibilities in the expanding Hearst group.
As news director and General Manager at WTAE-TV, he was fortunate to work in his home town until the mid-eighties. He was promoted to a corporate news vice president, and with several of his colleagues, re-located to New York in 1986. He was part of a team that grew the TV group from 3 to 30+ stations.
Fred retired in 2008 with a few awards earned along the way, among them the Paul White award from the RTNDA. Fred is one of only two local news executives who received this honor since its inception in 1956. Recently, Hearst named a news producing fellowship for exceptional producer candidates in his name. He's honored to be in the PAB Hall of Fame as well.
Since retirement, Fred has chaired the Peabody Award competition, served as a judge for the Hearst journalism competition, taught at Temple University, volunteered in his home community of Yardley PA, lectured on ethics and most importantly, continues to make an occasional contribution to the Pennsylvania Association of Broadcasters.
208 North 3rd Street - Suite 105, Harrisburg, PA 17101
© 2019 Pennsylvania Association of Broadcasters | Designed by Compulse Integrated Marketing

redpajama_set_name: RedPajamaCommonCrawl


text:
Can the right to privacy be negotiated?
By:Harvinder Singh and Devika Chadha
Editor's Note: A nation's legal system is integral to how its citizens look upon issues that concern the country in general and their individual lives in particular. Despite having the world's longest Constitution — not to mention, one that has gone through numerous amendments and the many directives by the Supreme Court that have secured the stature of de facto law, the Indian law books have struggled to evolve at a pace commensurate with the rapid changes society has undergone. As the load of being archaic becomes heavier on our law system, Firstpost introduces a 10-part series titled 'Letter of the Law' to push forward the debate on legal practices and the law itself. The series will explore a variety of aspects pertaining to Indian law through opinion and analyses.
"They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety."
- Benjamin Franklin
Aadhaar, India's biometric identification system, which is the largest such project in the world, is in the eye of a storm lately. Though Aadhaar has become the focal point of debate on right of privacy, threats to data security and citizens' rights to privacy go far beyond it.
The Constitution of India does not provide privacy the status of a fundamental right, however, the same comes into existence upon widening the horizons of Article 21 of the Constitution ie right to liberty which states that "No person shall be deprived of his life or personal liberty except according to procedure established by law". Since the Constitution of India does not specifically guarantee 'right to privacy', the determination of privacy as a right completely rests upon the interpretation of the judiciary, and has been subject to restrictions under various provisions and judgments of the Supreme Court of India. The recognition of privacy as a right first came up in the case of Kharak Singh versus State of Uttar Pradesh, wherein the Supreme Court interpreted that right to privacy is not guaranteed under the Constitution yet the said right is an essential ingredient of personal liberty which is implicit in Article 21 of the Constitution.
Life as we know is something more than one's mere survival and existence; therefore, the right to privacy is an inherent right to every citizen of the country. As things stand today, where the Government of India is taking a stand that the right to privacy is not a fundamental right and at the same time the government is promoting digitalisation, enacting policies and regulations permitting surveillance in cyberspace, telephones, email, personal messages etc through multiple agencies under the grab of national security, implementing national programmes like Unique Identification Number etc, it is imperative for India to enact stringent privacy laws.
Evidentially, there has been a rampant use of technology by the masses on daily basis and as a result, the internet giants like Google, Apple, Facebook, WhatsApp and Microsoft have vast information about us, through malware, covert eavesdropping, and the unwarranted permissions we voluntarily grant social media sites and apps. There is an immediate need for a data protection law which emphasise a person's rights to her personal data; require her informed consent to collect, process, remove or alter such data; oblige those who deal with data to keep it secure; and have a grievance mechanism to punish violations with hefty fines and imprisonment.
Growing challenges of privacy
The current laws on privacy are not at par with the growing developments in technology in India. The Information Technology Act, 2000 (IT Act) and the rules made thereunder, do entail certain provisions pertaining to data protection, however as privacy is not a right per se under any law in force, these provisions appear inadequate in addressing issues relating to sharing of, disclosure and retention of data and leave room for potential abuse.
The Privacy Bill, 2010 was introduced by the Department of Personnel and Training, however though the objective of the Privacy Bill was to protect individuals' fundamental right to privacy, the Privacy Bill primarily focused on provisions pertaining protection against the use of electronic/digital recording devices in public spaces without consent and for the purpose of blackmail or commercial use. Incidentally, the National Identification Authority of India Bill, 2010, which aimed at establishing a National Identification Authority for issuance unique identification number (called Aadhaar) to every resident of India, which would be linked to a resident's demographic and biometric information, was also introduced. Neither the Privacy Bill, 2010 nor the National Identification Authority of India Bill, 2010, were enacted.
With a view to conquer growing privacy challenges in the country and in order to effectively address the privacy issues, the erstwhile Planning Commission of India had directed the constitution of a 'Group of Experts' to identify the privacy issues and prepare a report on the same to facilitate authoring of privacy bill for India. The Expert Committee, which submitted its report in 2012, analysed various international privacy principles and the existing privacy legislations in India. According to the recommendation of the Committee, the Privacy Act should put into place a regulatory framework for both public and private sector organisations and further aim to harmonise all statutory legislations with respect to privacy laws in India.
A specific privacy legislation is imperative and urgently required in order to safe guard the privacy of individuals
The report recommended fundamental 'privacy principles' in line with global standards including the EU, OECD, and APEC, which included the principle of notice, choice and consent, collection and purpose limitation, disclosure of information, security and accountability. Further, the Expert Committee also recommended the establishment of privacy commissioners, self-regulating organisations and co-regulation, to ensure implementation and enforcement of policies. The draft privacy bill of 2011, was modified based on the recommendations made by the Expert Committee, however, no definite timeline has been provided by the government in relation to the introduction of legislation to protect privacy of individuals.
While the enactment of much needed privacy laws seems to be not a priority, the government is uncontrollably enacting policies and regulations for surveillance through systems like the Centralised Monitoring System, NITRA, NATGRID (for collecting data from across databases) in the interest of National Security and linking citizens and databases across the unique identity number in Aadhaar. If we look at the steps being taken by the government in relation to the implementation of these programs and the powers being granted to various governmental authorities under these legislations to monitor data over the telecommunications networks including interception of calls, tracking of IP addresses etc. it becomes evident that a specific privacy legislation is imperative and urgently required in order to safe guard the privacy of individuals.
Monitoring and surveillance
If we look at the establishment of the Central Monitoring System ("CMS"), which is a centralised telephone interception provisioning system installed by the Centre for Development of Telematics to automate the process of lawful interception; monitoring of telecommunications, there is a lack of clarity on the scope, functions, and technical architecture of the CMS.
It is worrying that there is no specific law which mandates or regulates the CMS. Surveillance in India is primarily governed by the Indian Telegraph Act, 1885 ("Telegraph Act") and the IT Act. Section 5(2) of the Indian Telegraph Act which empowers the Indian government to intercept communications on the occurrence of any "public emergency" or in the interest of "public safety", when it is deemed "necessary or expedient" to do so in the interests of the sovereignty and integrity of India, the security of the State, friendly relations with foreign states, public order or for preventing incitement to the commission of an offence.
On the other hand Section 69 of the IT Act (as amended in 2008) grants the government with the power to intercept, monitor or decrypt or cause to be intercepted or monitored or decrypted any information transmitted received or stored through any computer resource if it is satisfied that it is necessary or expedient to do in the interest of the sovereignty or integrity of India, defence of India, security of the State, friendly relations with foreign States or public order or for preventing incitement to the commission of any cognisable offence relating to above or for investigation of any offence.
It is relevant to note that prerequisites of 'public emergency' and 'public safety' which were earlier nearly the same in the IT Act, and the Telegraph Act, have now been removed from IT Act with which the power of the government has become more extensive in relation to interception and monitoring of telecommunications.
It is worrying that there is no specific law which mandates or regulates the Central Monitoring System
In addition to the implementation of the CMS, the government had also setup the National Intelligence Grid (NATGRID), which is an integrated intelligence grid connecting databases of core security agencies of the Government of India. NATGRID would provide intelligence agencies real-time access to 21 databanks, including banking, credit card, income tax, election identity card, call records, PAN card and driving licence details. Again, there is no specific law which mandates or regulates the NATGRID.
Internationally, the USA, the EU and the UK provide for specific laws in relation to lawful interception and surveillance. However, globally mass surveillance activities are being challenged by Human Right activists as being violative of privacy rights of citizens. The EU had also introduced the Data Protection Directive in 2006, which mandates the retention of metadata of internet and telephone usage, which was struck down by the European Court of Justice in 2014 on the grounds of infringement of privacy.
Similarly, the Aadhaar (Targeted Delivery of Financial and Other Subsidies, Benefits and Services) Act, 2016 ("Aadhaar Act"), was passed in the Lok Sabha, despite being opposed on numerous grounds including the concerns regarding privacy and protection of biometric information and demographic data of citizens collected by the enrolling agency for issuance of the Aadhaar number. Though the objective of the Aadhaar Act is to provide for efficient, transparent, and targeted delivery of subsidies, benefits and services to individuals residing in India through assigning of unique identity numbers to such individuals, the Aadhaar Act creates a single database, a Central Identities Data Repository (CIDR), holding bio-metric as well as demographic information on every Indian, along with name, address, and phone number. Even though the Aadhaar Act was introduced post submission of the recommendations of the Shah Committee Report, the Aadhaar Act does not address some of the key principles enumerated under the Shah Committee Report.
While the question whether there is any right to privacy guaranteed under our Constitution is still pending before the Constitutional Bench of the Supreme Court, the government is proposing to make Aadhaar mandatory for obtaining a permanent account number, filing your income tax returns etc. All this while, the Supreme Court, had previously stated that Aadhaar cannot be made mandatory and the production of an Aadhaar card will not be condition for obtaining any benefits otherwise due to a citizen. However, with the Finance Act, 2017, it seems the order of the Apex Court has consciously been disregarded which has negated an individual's freedom of voluntary enrolment.
There is no doubt that people are evading taxes by maintaining multiple PAN. One estimate is that there are 19 million income taxpayers in India, whereas 250 million PAN cards are issued and Aadhaar can be an effective way to de-duplicate the PAN.
Further, though the Aadhaar Act prohibits usage of bio-metric information for any other purpose other than generation of Aadhaar number and authentication, under the Aadhaar Act, Section 33(1) permits the disclosure of information including identity information or authentication records, pursuant to a judicial order by a Court not inferior to that of a District Judge. Further, Section 33(2) permits disclosure of information including identity information or authentication records (including bio-metric data) in the interest of national security if so directed by an officer not below the rank of a joint secretary to the Government of India specifically authorised in this behalf.
The Section further provides that every such direction shall be reviewed by an 'oversight committee' consisting of the Cabinet Secretary and the Secretaries to the Government of India in the Department of Legal Affairs and the Department of Electronics and Information Technology, before it takes effect. The Aadhaar Act permits disclosure of information for 'national security' purposes but there is no clarity in relation to what extent the surveillance can be exercised by the government under the guise of 'national security'.
The Aadhaar Act, has similarities to the Identity Cards Act, 2006 of United Kingdom, under which national identity cards which were a personal identification document and European Union travel document, linked to a database known as the National Identity Register, were proposed to be issued. As in the case of the Aadhaar Act, when the UK Identity Card Bill was introduced, independent studies in relation to the proposed bill strongly recommended against the centralising storage of information due to privacy concerns. The Identity Card Act, 2006 has been repealed and the National Identity Register has been destroyed, due to privacy and cost concerns.
What about Big Data?
With the launch of government's digital India, which aims to transform India into a digitally empowered society and the widespread increase in the number of internet users in India, which has led to a rampant growth in the amount of data and information about an individual that is available in the hands of private enterprises and the government, the concern about privacy and security in relation to 'big data' analytics is discernible.
Government of India ranks second (the first being the US) requesting Facebook to share user data from India.
'Big data' refers to substantial and complex amount of data generated primarily by through internet access and usage. The significance of such data lies in the availability of such data in such volume through various sources such as Facebook posts, tweets, clickstream, online transactions, email, uploaded images, cookies, applications, smart phones etc. Such data is not merely restricted to one's internet usage pattern but also encompasses data collected in real time, and pertaining to highly personal, sensitive behavioural patterns such as habits, likes, and dislikes, as well as travel, movements, health statistics, among others. As per recent data available in the public domain, Government of India ranks second (the first being the US) requesting Facebook to share user data from India.
Irrespective of different states having different laws on privacy, privacy has been recognised as a fundamental human right in the UN Declaration of Human Rights ("UDHR"), the International Covenant on Civil and Political Rights ("ICCPR") and in many other international treaties. The UDHR and the ICCPR are binding upon India, as India is a signatory to both of these conventions, however no consequent and explicit legislation has been passed by India in this regard. Countries across the globe have formulated privacy laws and laid down principles in accordance with the privacy requirements that their country raises.
With 'right to privacy' being a fundamental right being questioned, the substantial growth and development in the technology sector, widespread growth of Internet users, the digital India program, implementation of CMS, NATGRID, Aadhaar and other government initiatives, a comprehensive legal framework that governs both the private companies and the government agencies needs to be implemented in line with the global data protection policies and the international human rights standards.
The lack of any comprehensive legislation in relation to privacy, surveillance, power and authorities of the government agencies to request for data and surveillance, protection and destruction of such data collected endangers the privacy of individuals as the limited provisions under the existing laws are not enough to deal with the development of the information technology sector and the government initiatives to collect, intercept, decrypt and store data in the interest of national security. Further, there is a need to amend the current regime to provide for greater transparency, accountability and clarity on the scope, functions, and technical architecture in relation to India's surveillance framework. Evidentially, the right to privacy is a right to be negotiated and more to be seen on the government initiatives as we move along.
You can access the rest of the series here.
Copyright © 2019 Firstpost - All rights reserved


The Buda Juniors el'classico got the Winter Cup 2018 underway in what proved to be a difficult first matchday. There were some fine performances throughout with Peter and Viktor excelling in goal while Lili played with typical determination. It was to their credit that the team never felt sorry for themselves and gave everything they could.
An entertaining matchday was off to a good start with a win against our Buda Junior brothers but reality ended hopes of an easy matchday when we narrowly lost to a physical Esztergom. Two evenly matched teams faced of when we played Voyage and a well earned draw was the least we deserved. Our final game seemed to be a game too far but the boys gave their all in what was a fine opening to our Winter Cup.
A difficult matchday despite an impressive opening game against our Buda Junior brothers were a late deserved goal was as good as it got. Three losses followed and the team clearly lost confidence and became withdrawn. However, Lili set the example to her teammates with an outstanding, determined display in our final game. Having two teams in the tournament clearly stretched us too thin against the first teams of our opponents.
The day kicked off with the Buda Juniors derby. The match was very even and a couple of moments of Anton briefly gave us the lead but a late goal by Phillip (whom decided to venture forward on a corner leaving his goal tantalisingly free) made sure that the derby ended up in a draw.
Now it was time for the other teams. With an extremely poor matchday 1, it was time to reverse the results. This time against Esztergom, things were different. A great Jan and superb Anton in a high intensity free-flowing game always kept us in the game. The match even stevens with a minute to go. Both teams showed how solid they were defensively. Yet a great tackle by Anton to win the ball near the middle of the pitch sparked the last attack of the match. And with that a great finish that gave Buda Juniors B a fantastically worked win.
For the second match, head were high and confidence was blooming. Nevertheless, a few defensive mishaps gave Voyage a 0-3 lead. Ryogo pulled one back with a double dummy, pump fake shot that fooled even him. Shortly after another sloppy defended situation made it 1-4. Something happened with 90 seconds to go. Anton came to life and scored a quick brace with two great plays. With 15 seconds on the clock it was all or nothing from the kickoff. Jan and company quickly pressured the pass which allowed Jan to sit right in front of the goal with only the keeper to beat. He didn't miss and blasted it in the top corner making the impossible task complete... 4-4!
The last game was a bit more chaotic. Fatigue and lack of concentration constantly gave the opponent the upper hand. The game ended 0-4, but could have been much more if it weren't for Peter in goals.
At the end of the day, a great turnaround from the first matchday. A brilliant performance.
Full house for the last matchday! Only one team and 11 faithful souls!
After the initial warmup and a wake up call from the two wonderful coaches we were still half asleep for the first game. We suffered a bit and could never get going, but a few good chances fell for Vlad and Oli but with no end result. Towards the end we were 0-1 down with a minute to go. Hopes were up and with a few successive corners and even our keeper in the box it was never meant to be!
The second game was close on paper, but going 0-3 is never easy to recover from. Again our positioning was all over the place making it easy for the other team to easily move through our lines. Despite two Anton goals, the second one being a bullet, we never looked like producing any more scoring chances.
In the final game we started off like a racehorse! 2-0 up with thunderbolt strikes from Balint and Anton... these two had the parents in a frenzy. The third one would have raised the roof, but unfortunately momentum shifted to the other team. After then, a few good spells but we didn't recover. A decent way to end the day, the boys and girl earned their lunch!


text:
Outdoor workers try to beat the heat
By: Brittany Green-Miner , Meredith Forrest Kulwicki
SALT LAKE CITY -- Scorching hot temperatures are plaguing parts of Utah this week and people working outside are looking for ways to beat the heat.
"We start over there about 6 a.m. and try to be done by 2:30, 3 o'clock, when it gets real hot," said Travis Vemman, a gardener the Little America Hotel in Salt Lake City.
Workers stay cool by drinking a lot of water, wearing hats and wearing clothing lighter than their typical uniforms, but emergency room doctors say not everyone is working to combat the heat. They say there has been an increase in cases of dehydration and heat exhaustion over the last couple days as people try to push through the heat.
"It's not really so much an absolute temperature it has to do more with what the person is doing. The biggest thing I see is with people who are mowing their lawn, working in their yard, those sort of things. When they do those things and ignore their symptoms things progress fairly quickly and can become a problem," said Dr. Troy Madsen.
Symptoms of heat exhaustion include muscle cramps, nausea, confusion and dizziness. When that happens, it's important to go inside, rest and rehydrate.
"I've been hiding in the shade so I kind of cheat. Momma didn't raise no fool," said Sean Dugger, a construction worker.
Temperatures in Utah are expected to reach 103 degrees over the next few days.


text:
PoliticsPoliticsCocainekeith ellison
Crack-Powder Sentencing Disparity: Whites Get Probation, Blacks Get A Decade Behind Bars
Lucia Graves
Aug 3, 2010, 03:21 PM EDT | Updated May 25, 2011
Before coming to Capitol Hill, Rep. Keith Ellison spent 16 years as a trial lawyer dealing with hundreds of cases involving cocaine arrests. After President Obama signed off on new legislation to reduce the sentencing disparity between people caught with crack cocaine and those caught with powder cocaine, the Minnesota Democrat spoke to HuffPost about what it all means.
While the new law won't eliminate the sentencing disparity, Ellison says it's a big improvement.
"Basically whites use cocaine, blacks use crack," said Ellison, "or are arrested with it. It's not even use, actually. Blacks don't use that much crack but in terms of who gets caught dealing it... [blacks are] disproportionately more likely to be arrested with it... And so it's like if you show up in a criminal court you see the white guys and they're getting probation and you see the black guys are going to get ten years in prison for having basically the same substance: one is powder, one is crack."
Under the current law, crack users possessing only 5 grams of the drug are charged with a felony -- to get the same charge, powder cocaine users have to be caught with 500 grams. Now that disparity is being reduced from 100-to-1 to 18-to-1. Under the new bill, S. 1789, which was passed by the Senate in March, the threshold for crack cocaine will be raised to 28 grams. The powder level will remain the same.
"The reality is, for a lot of Americans when they think of who is a drug dealer they think of somebody who is black or a person of color," said Ellison, moments after the House's crack-powder vote last week. "Even though white people sell drugs all the time, people... just don't think of them as doing that. I mean that's what racism's about: It's an unrealistic and inflated sense of guilt associated with people of color and an unrealistic inflated sense of innocence associated with people who are white. And they just think they're fairer, nicer, kinder... Whereas they look at somebody who's black and say: 'Crook! Send him away!'"
The latest National Survey on Drug Use & Health report to differentiate by demographic and drug type information finds "Asians had the lowest rate of past year crack cocaine use (0.1 percent) compared with other racial/ethnic groups. Blacks (1.6 percent), American Indians or Alaska Natives (1.3 percent), Native Hawaiians or Other Pacific Islanders (1.2 percent), and persons who identified themselves with two or more non-Hispanic races (1.5 percent) had higher rates of past year crack cocaine use than whites (0.5 percent) and Hispanics or Latinos (0.5 percent)." Yet according to the 2005 Compendium of Federal Justice Statistics 77 percent of all people arrested for crack cocaine were black.
Why are the laws as they are?
Ellison pauses and thinks. The history of the unequal penalties under the law dates back to 1986, when Maryland basketball star Len Bias died as a result of his association with cocaine, he says. "People got outraged, and Congress launched the war on drugs," he said, "you know, they jacked up sentencing and instituted mandatory minimum sentences, which means like if you have more than a certain amount -- more than 5 grams [of crack] -- you're going to get five years in prison. And five years in prison is awful. That's a lot of time; that's a lot of time. "
The story of how the current laws took shape depends on whom you ask. "It was the politics of fear that really won the day at that time," said Jennifer Seltzer Stitt, director of Federal Legislative Affairs for Families Against Mandatory Minimums. "There was no studied response. I think there was a fear about crack babies and there was the death of Len Bias which struck fear into the hearts of people."
The new legislation was passed in the House by a voice vote last Wednesday, marking the first time since the Nixon administration that a mandatory minimum has been repealed.
"The thing that really breaks my heart," Ellison says, "is when people who oppose even this mild reform say it's all to help black people. But the reality is that it's just that we've incarcerated a whole generation of black urban youth."
Half of all suspects arrested by the DEA were 31 or younger, according to the report. And crack cocaine suspects, half of whom were 28 or younger, were even younger by comparison. Ellison adds that in his experience as a trial lawyer, middle-aged people don't get busted with crack cocaine. "They orchestrate," he said. "If they stay out of jail that long, they have people working for them."
The crack cocaine reforms passed by Congress will impact almost 3,000 crack offenders each year and reduce crack sentences by 27 months on average. In the next five years, it will save over 1,500 prison beds and over $42 million.
One concern for advocates is that it will not impact any crack offenders who are currently in prison. And Stitt said the next step is to apply the law retroactively. What's fair for someone going into prison is fair for the person who's already behind bars, she said.
"This is not saying that anybody's gonna walk," said Ellison. "It's saying that you're gonna get a sentence that is at least similar, at least more similar, to what people who deal powder cocaine get."
The United States has the highest incarceration rate in the world on a per capita basis. And Ellison adds that growth in drug-related incarceration is one of the major drivers for those rates.
There have been 73,128 crack offenders sentenced in federal courts since 1996, and each year, approximately 5,500 to 6,200 crack offenders are sentenced, according to the U.S. Sentencing Commission Sourcebook of Federal Sentencing Statistics. Last year alone, 5,684 people were sentenced for crack, with 1,856 receiving a 5-year mandatory minimum, and 2,710 receiving a 10-year mandatory minimum.
"What we're trying to do..." Ellison says, is to "make sure that an American is an American is an American, and make sure that we treat everybody the same. Equal protection under the law. So this doesn't equalize it one to one -- it's still 18-to-1, but it's a far cry better than 100-to-1."
Still Ellison said his work isn't done.
"It needs to be 1-to-1," he said.
PoliticsCocainekeith ellisonCrackcrack cocaine
Memphis Is On Edge Ahead Of Release Of 'Heinous' Video Of Police Beating Tyre Nichols
Opinion: Trump's Theft Of Classified Documents And Joe Biden's Forgetfulness Are Not The Same
Right-Wing Media, Top Republican Team Up To Push Racist Conspiracy Theory About Ex-Biden Aide
Biden Responds To Death Of Tyre Nichols After Police Arrests
Ron DeSantis Is Happy To Talk About Culture Wars — But Not This


text:
package com.lachesis.mnisqm.module.training.domain;

class SimpleNurseLevelTraining extends NurseLevelTraining {
}

redpajama_set_name: RedPajamaGithub


text:
Home / News / See How The Super Falcons Jubilated After Qualifying For The Next Round At The FIFA Women's World Cup
See How The Super Falcons Jubilated After Qualifying For The Next Round At The FIFA Women's World Cup
Young Seffy Idoko 08:10 News
The Super Falcons of Nigeria could not hide their happiness after they made it through to the next round at the FIFA Women's World Cup for the first time in 20 years.
See pictures of their reactions below;


text:
Q: An elliptic curve $x(x - 78126^2)(x - 4\times5^7) = y^2$ for $x_1^7+x_2^7+\dots +x_8^7= x_9^7$ Ajai Choudhry found an infinite number of primitive solutions to,
$$x_1^7+x_2^7+\dots +x_8^7= x_9^7$$
by using an elliptic curve with a parameter $m=2$. There are variants, the one I used is,
$$x(x - 129^2) (x - 4\times2^7) = y^2\tag1$$
I tried the online Magma and, after some time, it found one rational point,
$$x  =\Bigl(\frac{48010029072}{224312161}\Bigr)^2$$

Dave Rusin years ago suggested $m=5$,

$$x(x - 78126^2) (x - 4\times5^7) = y^2\tag2$$

The online Magma is limited only to 120 seconds, and discontinued its calculation. Note that the change $x = u+78126^2$ transforms $(2)$ to the more symmetric,
$$u(u+78124^2)(u+78126^2) = y^2$$
In general, curves of the form,
$$u\big(u+(a-1)^2\big)\big(u+(a+1)^2\big) = y^2$$
have at least five torsion points,
$$u = 0,\quad -(a-1)^2,\quad  -(a+1)^2,\quad  \tfrac{(a - 1)^2 + (a + 1)^2}{2}-2,\quad -\,\tfrac{(a - 1)^2 + (a + 1)^2}{2}+2$$

Q: Does $(2)$ really have another rational solution, other than its five  integer torsion points?

A: The point on the curve
$$u(u+78124^2)(u+78126^2)=z^2$$
has $u$-coordinate
\begin{equation}
u=\frac{-2^2*43^2*229^2*449*19531^2*36965783^2*24591784649^2}{3^2*61^2*
518245943877809163227^2}
\end{equation}
I found this using my home-grown Pari-software and an old version of Cremona's mwrank. The height of the point is roughly 51.9/103.8 (depending on which height normalisation you like).
The points of order $4$ have a simpler formula, namely $u=\pm (1-a^2)$.

Implying,
$$x(x - 78126^2)(x - 4\times5^7)=y^2$$
has rational point,
$$x = \Bigl(\frac{1115500181050003597405480\sqrt{2245}}{94839007729639076870541}\Bigr)^2$$

A: (This is an addendum to MacLeod's answer and where I got that elliptic curve.)
I. To see how to use MacLeod's solution to find infinitely many eight $7$th powers equal to a $7$th power, expand the expression,
$$F(x) = (x+a)^7+(x-a)^7+(mx+b)^7+(mx-b)^7\\-(x+c)^7-(x-c)^7-(mx+d)^7-(mx-d)^7$$
and collecting powers of $x$,
$$F(x) = 42(a^2+m^5b^2-c^2-m^5d^2)x^5 + 70(a^4+m^3b^4-c^4-m^3d^4)x^3 + 14(a^6+mb^6-c^6-md^6)x$$
If we can find $a,b,c,d,m$ such that,
$$a^2+m^5b^2=c^2+m^5d^2\tag1$$
$$a^4+m^3b^4=c^4+m^3d^4\tag2$$
then we can get rid of the $x^5$ and $x^3$ terms and only the linear term $x$ is left. Thus,
$$14(a^6+mb^6-c^6-md^6)x = \\(x+a)^7+(x-a)^7+(mx+b)^7+(mx-b)^7\\-(x+c)^7-(x-c)^7-(mx+d)^7-(mx-d)^7$$
and we let $x = 14^6(a^6+mb^6-c^6-md^6)^6\,v^7$ for arbitrary $v$.
Therefore, the LHS becomes a $7$th power and we get a polynomial identity in the variable $v$ of a $7$th power equal to eight $7$th powers.

II. To get rid of the $x^5$ and $x^3$ terms, let $\color{blue}{m=5}$. Using Brahmagupta's identity,
$$(p r + m q s)^2 +m(-q r + p s)^2 = (p r - m q s)^2 +m(q r + p s)^2$$
eq. $(1)$ is easily solved as,
$$(a,\;b,\;c,\;d) = (p r + 3125 q s,\; -q r + p s,\; p r - 3125 q s,\; q r + p s)$$
and eq. $(2)$ becomes,
$$(25 p^2 - q^2) r^2 = (p^2 - 5^{12} q^2) s^2\tag3$$
Without loss of generality, let $q=1$. To solve $(3)$, it must be,
$$(25 p^2 - 1)(p^2 - 5^{12} ) = w^2$$
Assume it to be the square,
$$(25 p^2 - 1)(p^2 - 5^{12} ) = \big(5p^2 + (-x/10 + 5^6)\big)^2\tag4 $$
Expand to get,
$$100 p^2 (x - 78126^2) = x(x - 4\times5^7)$$
Multiply both sides by $(x - 78126^2)$ and we have the elliptic curve,
$$x(x - 78126^2)(x - 4\times5^7)=y^2\tag5$$
with MacLeod's solution,
$$x = \Bigl(\frac{1115500181050003597405480\sqrt{2245}}{94839007729639076870541}\Bigr)^2$$
Retracing the steps and scaling, one can then get integer $p,q,r,s$,
$$p =26495849279233847921447334543677665845247100\\
q =848947621992638248200474987563356720299231909\\
r =626004927447821946628577048253429765183543983525\\
s =39573486494385206930358492946164451904255363$$
then $a,b,c,d$ become $93$-digit integers to solve $(1),(2)$ for $m=5$. This implies the identity $F(x)$ involve integers with at least $93\times6\times7 \approx 3900$ digits.

redpajama_set_name: RedPajamaStackExchange


text:
Q: ST_LineLocatePoint with ST_3DDistance I have a function who work great with 2D linestring... I try to do the same things with 3D linestring... but the result is nil :(
What's wrong and how can I fix it ?
def distance_to(poi2, way)
  distance_sql = <<-SQL
    SELECT
      ST_3DDistance(way.path::geometry, pta.lonlat::geometry) +
      ST_3DDistance(way.path::geometry, ptb.lonlat::geometry) +
      ST_Length(ST_LineSubstring(
        way.path,
        least(ST_LineLocatePoint(way.path, pta.lonlat::geometry), ST_LineLocatePoint(way.path, ptb.lonlat::geometry)),
        greatest(ST_LineLocatePoint(way.path, pta.lonlat::geometry), ST_LineLocatePoint(way.path, ptb.lonlat::geometry)))::geography)  AS dst_line
     FROM ways way, pois pta, pois ptb
     WHERE way.id = #{way.id}
       AND pta.id = #{self.id}
       AND ptb.id = #{poi2.id}
  SQL
  Poi.find_by_sql(distance_sql).first.dst_line
end


Brunswick-Wolfenbuttel. Karl Wilhelm Ferdinand Harz-gold Ducat 1794-MC, KM1023, Fr-724, MS62 NGC. An attractive specimen with fully prooflike fields and devices that rise sharply and hold considerable frost. The type, produced over a number of years, is deceptively elusive with our research, yielding only a small handful of examples that have sold since 1999, with none being of the same date as the present. As such, we expect this specimen to receive significant attention, as the combination of eye-appeal and rarity is certainly a compelling one.


Gymnastics liabiltity and gymnast accident insurance is not the favorite topic of most gym owners and with good cause. It is something we hope we never need, but it is something for which we need to be completely prepared.
There are several insurance companies which specialize in gymnastics insurance. Here are the top gymnastics insurers and why you should consider each one.
Gymnastics insurance is a fact of life for any gymnastics club owner. The possibility of an accident and/or lawsuit cannot be ignored. Here are some considerations in choosing your insurance carrier.


text:
Malaysia holds rate, drops warning of further rate rises
Malaysia's central bank maintained its Overnight Policy Rate (OPR) at 3.25 percent, as expected, saying the current accommodative policy stance was appropriate in light of signs of moderation in the country's exports and consumption that will affect economic growth prospects.
Bank Negara Malaysia (BNM), which raised its rate by 25 basis points in July for the first time since May 2011, added that it would remain vigilant to risks of financial instability, and adopted a more neutral policy stance by omitting its guidance from September that it may make further adjustments to its degree of monetary accommodation depending on how the economy develops.
Citing growing downside risks to the global economy, BNM said Malaysia's exports had shown signs of moderation and private consumption is expected to moderate but investment activity is expected to remain robust and domestic demand will continue to remain the key driver of growth.
"While the moderating trends will affect the overall growth prospects, the Malaysian economy is still projected to remain on a steady growth path," the central bank said.
The central bank's comments echo those by its governor, Zeti Akhtar Aziz, last month in an interview in Washington when she said Malaysia's economy was likely to keep expanding at a solid clip despite softer global growth and still requires the support of low interest rates.
Zeti forecast economic growth in the range of 5-6 percent into 2015 and the country's finance minister's 2015 budget forecasts growth of 5.5 to 6.0 percent that year. In the second quarter of this year, Malaysia's Gross Domestic Product (GDP) expanded by 1.8 percent from the first quarter for annual growth of 6.4 percent, up from 6.2 percent in the first quarter.
Malaysia's inflation rate has been boosted by the impact of higher utility and energy costs and the central bank expects inflation to trend higher for the rest of this year and remain above its long-term average of 3.2 percent due to domestic costs.
"However, the absence of external price pressures and more moderate demand conditions are expected to mitigate the impact of these cost factors on the underlying inflation," BNM said.
Malaysia's headline inflation rate eased to 2.6 percent in September from 3.3 percent in August
Bank Negara Malaysia issued the following statement:
"At the Monetary Policy Committee (MPC) meeting today, Bank Negara Malaysia decided to maintain the Overnight Policy Rate (OPR) at 3.25 percent.
The global economy continues to expand at a moderate pace. Growth across the advanced economies has been uneven. In Asia, growth is being sustained by the continued expansion in domestic demand and exports. Looking ahead, while the overall global growth momentum is expected to improve, the growth forecast has been revised downwards due to weakening economic activity in a number of major economies. Consequently, the downside risks to global growth have increased. Volatility in the international financial markets has also risen.
For Malaysia, while domestic demand has continued to support growth, exports have shown signs of moderation. Going forward, domestic demand will still remain the key driver of growth. Private consumption is expected to moderate, but investment activity is projected to remain robust, supported by broad-based capital spending by both the private and public sectors. While the moderating trends will affect the overall growth prospect, the Malaysian economy is still projected to remain on a steady growth path.
Inflation is projected to trend higher for the remainder of the year and will continue to be above its long-term average next year due to domestic cost factors. However, the absence of external price pressures and more moderate demand conditions are expected to mitigate the impact of these cost factors on the underlying inflation.
The current stance of monetary policy remains accommodative and is assessed to be appropriate given the developments in monetary and financial conditions. Moving forward, the MPC will continue to carefully assess the balance of risks surrounding the outlook for domestic growth and inflation. The MPC will also remain vigilant to the risks of destabilising financial imbalances. This is to ensure that the monetary policy stance is consistent with the sustainability of the growth prospects of the Malaysian economy.
The meeting also approved the schedule of MPC meetings for 2015. In accordance with the Central Bank of Malaysia Act 2009, the MPC will convene six times during the year. The meetings will be held over two days, with the Monetary Policy Statement released at 6 p.m. on the second day of the MPC meeting."
Labels: Asia, Bank Negara Malaysia, interest rates, Malaysia, Monetary Policy


Register to win a SPAcation at Hilton Orlando's eforea spa. The SPAcation package for TWO includes a 50 minute massage AND 50 minute facial, manicure & pedicure, Valet Parking, a glass of champagne and one night's stay at Hilton Orlando. Who is ready for a day of relaxing and rejuvenating?
You can register to win this awesome package the entrance of the show. The winner will be selected on Sunday, October 28th after the show has closed and will be contacted directly.
Have you ever wanted to test your cooking skills, chopping it up alongside a professional chef? Here's your chance! Florida Milk is giving away the experience of a lifetime - the chance to participate in a cooking demo on the big stage with Chef Warren Caterson at the Southern Women's Show. Enter now for your chance to win four free tickets to the Show, the sous chef experience, and a Florida Dairy Farmers gift basket filled with swag: https://bit.ly/2xMJISQ.
Ladies, test your luck daily at the Spotlight Stage for Pick Your Prize Bingo. Winners will have their choice between awesome prizes, compliments of the exhibitors listed below.
Register to win a two night vacation prize package for two to Pigeon Forge, TN at Southern Destinations exhibit space # 131. The package includes a two night stay at the Clarion Inn, two admission tickets to Dollywood, two admission tickets to Country Tonite Theater, 2 admission tickets to Foxfire Mountain Adventure Park and two free wheel rides at the Island in Pigeon Forge. The prize package is valued more than $500.
Southeastern Fitness Equipment is giving away a WaterRower IndoRow at the Southern Women's Show. The Indo-Row/A1 models are fitted with the patented Indo-Row/A1 Monitors purposely designed for simplicity and ease of use. Each is hand crafted in solid Ash and features an Aluminium monorail design. Register to win this awesome prize and you may be the lucky winner who takes it home with you!
This offer is only available to the first 50 people who sign up. Stop by their exhibit space #612 to sign up early and receive this amazing deal for your furry family member.
Thursday: The first 100 guests will receive a Southern Women's Show koozie and pop socket.
Friday: The first 100 guests will receive a Southern Women's Show koozie. The first 1,000 guests will receive a reusable shopping bag from SHIPT. The first 100 guests will also receive a delicious sweet treat from Tillery Fine Chocolates.
Saturday: The first 100 guests will receive a Southern Women's Show koozie. The first 500 guests will receive a spatula and silicone baking mat from Florida Dairy Farmers.
Sunday: The first 100 guests will receive a Southern Women's Show koozie. The first 100 teachers will receive a reusable shopping bag and a bundtini from Nothing Bundt Cakes.


text:
What We've Learned: The Higgs-Boson
In July, scientists at the Large Hadron Collider near Geneva, Switzerland, announced they might have found the Higgs boson, the long-sought subatomic particle that explains how the fundamental building blocks of molecules accumulate mass. What does the discovery tell us about matter, the universe, and the future of physics?
October 01, 2012 | Sep - Oct 2012 issue
The Higgs boson exists—probably. Scientists said they found a particle "consistent" with the Higgs, but they stopped short of calling it a definite Higgs find. Duke physicist Al Goshaw, who worked on one of the Higgssearching teams in Switzerland, says there's no doubt a new particle has been found—"one that looks exactly like what we need for the Higgs."
It may come in flavors. Mark Kruse, another Duke physicist involved in Higgs research, says there may be as many as five varieties of Higgs particle, and "it remains to be seen if what has been discovered is indeed the Higgs boson of the Standard Model."
The discovery matters. The Standard Model—the simplest explanation for how physics works—relies on the Higgs boson; without it, there's no way to explain how fundamental particles interact and combine, and thus no way to explain how complex molecules form. If scientists can verify the particle's role, "we will be one step further in our quest for an understanding of what happened in the first trillionth of a second of the universe that made it what it is today," says Kruse.
This isn't the end for the Large Hadron Collider. The four-year-old LHC—built over a period of ten years largely to hunt for the Higgs—will shut down at the end of this year, but only so engineers can soup up its speed and energy. It will reopen in 2014 with a capacity to slam particles together at nearly twice the speed that is possible today, which may give physicists a glimpse of entirely new phenomena.
It's also not the end for particle hunters. The U.S.-based Fermilab is about to launch a new experiment to search for particles that may reveal physics beyond the Standard Model. "Nature may be elusive," says Duke physicist Seog Oh, who is involved in Fermilab research, "but it has been always kind enough to grant us access to its inner workings."


Miami Dolphin star and D.C. native Vontae Davis talks exclusively with Niteside about growing up in D.C., the NFL Lockout, and overcoming adversity.
You're a rising star in the national football league -- are you living your ultimate dream?
I am! But, funny enough, I thought I'd be a basketball player when I was younger. I actually didn't take football as serious until I got to high school. The more I played and trained for it, the more I loved it. Being a part of the league is a blessing.
Speaking of the NFL, there's been a lot of controversy surrounding the NFL lockout that was just lifted. Do you think it was necessary?
It was definitely necessary. At the end of the day, everyone needs to remember that the NFL is a business. You have to take care of your business before you do anything else, and that's just what it is.
You played high school football forDunbar High School. What was life like for you growing up in D.C.?
It was good thanks to my grandmother. She raised my brothers, sisters and I. It's seven of us all together, so I'm sure it wasn't easy. She's my inspiration, the reason I want to be successful.
Is your grandmother one of the reasons you started the Davis Family Foundation?
Yes, she is. Our foundation is about helping parents with a substance abuse problem and also encouraging kids to live a healthy smart lifestyle. I think foundations like ours can be an essential part of a kid's life.
My brother, [San Francisco 49ers tight end] Vernon Davis, inspires me. I appreciate his passion for the game and his willingness to give me what I needed to get into it.
What words of inspiration can you give to aspiring football players out there?
To never give up and stay focused on your goal!
Looking 10 years down the road, where do you see yourself?
Hopefully, I'll be inducted into the NFL Hall of Fame with a solid career under my belt.


text:
#include <stdarg.h>
#include <stddef.h>
#include <setjmp.h>
#include "cmockery.h"

#include "c.h"
#include "hd_work_mgr_mock.h"

/*
 * In test__distribute_work_2_gp_segments we are testing the function distribute_work_2_gp_segments().
 * distribute_work_2_gp_segments() implements the algorithm that allocates the fragments of an external
 * data source to the Hawq segments for processing.
 * This unitest verifies the algorithm output, and ensures the following algorithm behaviour:
 * a. The number of fragments allocated is equal to the input number of fragments
 * b. distribution of  work between segments: if there are two segments required and more than
 *    one host, each segment will be on a different host
 * c. percent of local datanodes out of all datanodes
 * d. percent of local fragments out of all fragments
 * e. number of actual working segments is bigger than half of the initial working segments
 */

static void print_allocated_fragments(List **allocated_fragments, int total_segs);
static char* print_one_allocated_data_fragment(AllocatedDataFragment *frag, int seg_index);
static char* find_segment_ip_by_index(int seg_index);
static char** create_cluster(int num_hosts);
static char** clean_cluster(char** cluster, int num_hosts);
static char** create_array_of_segs(char **cluster, int num_hosts, int num_segments_on_host);
static void clean_array_of_segs(char **array_of_segs, int number_of_segments);
static bool* create_array_of_primaries(int number_of_segments);
static char** print_cluster(char** cluster, int num_hosts);
static void print_segments_list();
void clean_allocated_fragments(List **allocated_fragments, int total_segs);
static void validate_total_fragments_allocated(List **allocated_fragments, int total_segs, int input_total_fragments);
static void validate_max_load_per_segment(List **allocated_fragments, int total_segs, int working_segs, int input_total_fragments);
static int calc_load_per_segment(int input_total_fragments, int working_segs);
static void validate_all_working_segments_engagement(List **allocated_fragments,
													 int total_segs,
													 int working_segs,
													 int input_total_fragments,
													 int num_hosts_in_cluster);
static bool is_host_uniq(List** ips_list, char* ip);
static List* spread_fragments_in_cluster(int number_of_fragments,
								  int number_of_hosts,
								  int replication_factor,
								  char **cluster,
								  int cluster_size);

/* test input data*/
typedef struct sTestInputData
{
	int m_num_hosts_in_cluster; /* cluster size mustn't exceed 65025 - see function create_cluster() */
	int m_num_data_fragments; /* number of fragments in the data we intend to allocate between the hawq segments */
	/*
	 * number of datanodes that hold the 'querried' data - there is one datanode
	 * on each cluster host - so there are <num_hosts_in_cluster> datanodes
	 */
	int m_num_active_data_nodes;
	int m_num_of_fragment_replicas;
	int m_num_segments_on_host;/* number of Hawq segments on each cluster host - we assume all cluster hosts have Hawq segments installed */
	/*
	 * the subset of Hawq segments that will do the processing  - not all the Hawqs segments
	 * in the cluster are involved.
	 * This parameter plays the role of max_participants_allowed that is passed to map_hddata_2gp_segments()
	 * in createplan.c
	 */
	int m_num_working_segs;
	bool m_enable_print_input_cluster;
	bool m_enable_print_input_fragments;
	bool m_enable_print_input_segments;
	bool m_enable_print_allocated_fragments;
} TestInputData;

static void test__distribute_work_to_gp_segments(TestInputData *input);
/*
 * TRACING CAPABILITIES
 * The unitest validates the behaviour of the SUT function distribute_work_2_gp_segments() using
 * the assert_XXX_... functions. But in order to understand the behaviour of the allocation algorithm
 * it can be helpful to look  at the various data structures involved. For this purpose we have
 * several print functions:
 * a. print_cluster(...)
 * b. print_fragment_list(...)
 * c. print_segments_list(...)
 * d. print_allocated_fragments(...)
 * All these trace function have the output disabled by default. To enable the output of any print
 * function set the booleans enable_trace_... for the respective function
 * test__distribute_work_2_gp_segments()
 */

void
test__distribute_work_to_gp_segments__big_cluster_few_active_nodes(void **state)
{
	TestInputData *input = (TestInputData*)palloc0(sizeof(TestInputData));

	input->m_num_hosts_in_cluster = 1000; /* cluster size musn't exceed 65025 - see function create_cluster() */
	input->m_num_data_fragments = 100; /* number of fragments in the data we intend to allocate between the hawq segments */
	input->m_num_active_data_nodes = 10; /* number of datanodes that hold the 'querried' data - there one datanode om each cluster host - so there are <num_hosts_in_cluster> datanodes */
	input->m_num_of_fragment_replicas = 3;
	input->m_num_segments_on_host = 1;/* number of Hawq segments on each cluster host - we assume all cluster hosts have Hawq segments installed */
	input->m_num_working_segs = 64; /* the subset of Hawq segments that will do the processing  - not all the Hawqs segments in the cluster are involved */
	input->m_enable_print_input_cluster = false;
	input->m_enable_print_input_fragments = false;
	input->m_enable_print_input_segments = false;
	input->m_enable_print_allocated_fragments = false;

	test__distribute_work_to_gp_segments(input);

	pfree(input);
}

void
test__distribute_work_to_gp_segments__big_cluster_many_active_nodes(void **state)
{
	TestInputData *input = (TestInputData*)palloc0(sizeof(TestInputData));

	input->m_num_hosts_in_cluster = 1000; /* cluster size musn't exceed 65025 - see function create_cluster() */
	input->m_num_data_fragments = 100; /* number of fragments in the data we intend to allocate between the hawq segments */
	input->m_num_active_data_nodes = 100; /* number of datanodes that hold the 'querried' data - there one datanode om each cluster host - so there are <num_hosts_in_cluster> datanodes */
	input->m_num_of_fragment_replicas = 3;
	input->m_num_segments_on_host = 4;/* number of Hawq segments on each cluster host - we assume all cluster hosts have Hawq segments installed */
	input->m_num_working_segs = 64; /* the subset of Hawq segments that will do the processing  - not all the Hawqs segments in the cluster are involved */
	input->m_enable_print_input_cluster = false;
	input->m_enable_print_input_fragments = false;
	input->m_enable_print_input_segments = false;
	input->m_enable_print_allocated_fragments = false;

	test__distribute_work_to_gp_segments(input);
	pfree(input);
}

void
test__distribute_work_to_gp_segments__small_cluster(void **state)
{
	TestInputData *input = (TestInputData*)palloc0(sizeof(TestInputData));

	input->m_num_hosts_in_cluster = 100; /* cluster size musn't exceed 65025 - see function create_cluster() */
	input->m_num_data_fragments = 100; /* number of fragments in the data we intend to allocate between the hawq segments */
	input->m_num_active_data_nodes = 50; /* number of datanodes that hold the 'querried' data - there one datanode om each cluster host - so there are <num_hosts_in_cluster> datanodes */
	input->m_num_of_fragment_replicas = 3;
	input->m_num_segments_on_host = 4;/* number of Hawq segments on each cluster host - we assume all cluster hosts have Hawq segments installed */
	input->m_num_working_segs = 64; /* the subset of Hawq segments that will do the processing  - not all the Hawqs segments in the cluster are involved */
	input->m_enable_print_input_cluster = false;
	input->m_enable_print_input_fragments = false;
	input->m_enable_print_input_segments = false;
	input->m_enable_print_allocated_fragments = false;

	test__distribute_work_to_gp_segments(input);
	pfree(input);
}

void
test__distribute_work_to_gp_segments__small_cluster_many_active_nodes(void **state)
{
	TestInputData *input = (TestInputData*)palloc0(sizeof(TestInputData));

	input->m_num_hosts_in_cluster = 100; /* cluster size musn't exceed 65025 - see function create_cluster() */
	input->m_num_data_fragments = 100; /* number of fragments in the data we intend to allocate between the hawq segments */
	input->m_num_active_data_nodes = 90; /* number of datanodes that hold the 'querried' data - there one datanode om each cluster host - so there are <num_hosts_in_cluster> datanodes */
	input->m_num_of_fragment_replicas = 3;
	input->m_num_segments_on_host = 4;/* number of Hawq segments on each cluster host - we assume all cluster hosts have Hawq segments installed */
	input->m_num_working_segs = 64; /* the subset of Hawq segments that will do the processing  - not all the Hawqs segments in the cluster are involved */
	input->m_enable_print_input_cluster = false;
	input->m_enable_print_input_fragments = false;
	input->m_enable_print_input_segments = false;
	input->m_enable_print_allocated_fragments = false;

	test__distribute_work_to_gp_segments(input);
	pfree(input);
}

void
test__distribute_work_to_gp_segments__small_cluster_few_replicas(void **state)
{
	TestInputData *input = (TestInputData*)palloc0(sizeof(TestInputData));

	input->m_num_hosts_in_cluster = 100; /* cluster size musn't exceed 65025 - see function create_cluster() */
	input->m_num_data_fragments = 100; /* number of fragments in the data we intend to allocate between the hawq segments */
	input->m_num_active_data_nodes = 90; /* number of datanodes that hold the 'querried' data - there one datanode om each cluster host - so there are <num_hosts_in_cluster> datanodes */
	input->m_num_of_fragment_replicas = 2;
	input->m_num_segments_on_host = 4;/* number of Hawq segments on each cluster host - we assume all cluster hosts have Hawq segments installed */
	input->m_num_working_segs = 64; /* the subset of Hawq segments that will do the processing  - not all the Hawqs segments in the cluster are involved */
	input->m_enable_print_input_cluster = false;
	input->m_enable_print_input_fragments = false;
	input->m_enable_print_input_segments = false;
	input->m_enable_print_allocated_fragments = false;

	test__distribute_work_to_gp_segments(input);
	pfree(input);
}

/*
 * Testing distribute_work_2_gp_segments
 */
static void test__distribute_work_to_gp_segments(TestInputData *input)
{
	List **segs_allocated_data = NULL;
	List * input_fragments_list = NIL;
	char** array_of_segs = NULL;
	bool *array_of_primaries;
	int total_segs;
	bool cluster_size_not_exceeded = input->m_num_hosts_in_cluster <=  65025;

	assert_true(cluster_size_not_exceeded);
	/*
	 * 1. Initialize the test input parameters
	 * We are testing an N hosts cluster. The size of the cluster is set in this section - section 1.
	 * Basic test assumptions:
	 * a. There is one datanode on each host in the cluster
	 * b. There are Hawq segments on each host in the cluster.
	 * c. There is an equal number of Hawq segments on each host - hardcoded in this section
	 */
	int num_hosts_in_cluster = input->m_num_hosts_in_cluster; /* cluster size musn't exceed 65025 - see function create_cluster() */
	int num_data_fragments = input->m_num_data_fragments; /* number of fragments in the data we intend to allocate between the hawq segments */
	int num_active_data_nodes = input->m_num_active_data_nodes; /* number of datanodes that hold the 'querried' data - there one datanode om each cluster host - so there are <num_hosts_in_cluster> datanodes */
	int num_of_fragment_replicas = input->m_num_of_fragment_replicas;
	int num_segments_on_host = input->m_num_segments_on_host;/* number of Hawq segments on each cluster host - we assume all cluster hosts have Hawq segments installed */
	int num_working_segs = input->m_num_working_segs; /* the subset of Hawq segments that will do the processing  - not all the Hawqs segments in the cluster are involved */
	bool enable_print_input_cluster = input->m_enable_print_input_cluster;
	bool enable_print_input_fragments = input->m_enable_print_input_fragments;
	bool enable_print_input_segments = input->m_enable_print_input_segments;
	bool enable_print_allocated_fragments = input->m_enable_print_allocated_fragments;

	/* 2. Create the cluster */
	char **cluster = create_cluster(num_hosts_in_cluster);

	if (enable_print_input_cluster)
		print_cluster(cluster, num_hosts_in_cluster);

	/* 3. Input - data fragments */
	input_fragments_list = spread_fragments_in_cluster(num_data_fragments, /* number of fragments in the data we are about to allocate */
													   num_active_data_nodes, /* hosts */
													   num_of_fragment_replicas, /* replicas */
													   cluster, /* the whole cluster*/
													   num_hosts_in_cluster/* the number of hosts in the cluster */);
	if (enable_print_input_fragments)
		print_fragment_list(input_fragments_list);

	/* 4. Input - hawq segments */
	total_segs = num_hosts_in_cluster * num_segments_on_host;
	array_of_segs = create_array_of_segs(cluster, num_hosts_in_cluster, num_segments_on_host);
	array_of_primaries = create_array_of_primaries(total_segs);

	buildCdbComponentDatabases(total_segs, array_of_segs, array_of_primaries);
	if (enable_print_input_segments)
		print_segments_list();

    /* 5. Build QueryResource */
    buildQueryResource(num_hosts_in_cluster*num_segments_on_host, array_of_segs);
    will_return(GetActiveQueryResource, resource);
    will_return(GetActiveQueryResource, resource);

	/* 6. The actual unitest of distribute_work_2_gp_segments() */
	segs_allocated_data = distribute_work_2_gp_segments(input_fragments_list, total_segs, num_working_segs);
	if (enable_print_allocated_fragments)
		print_allocated_fragments(segs_allocated_data, total_segs);

	/* 7. The validations - verifying that the expected output was obtained */
	validate_total_fragments_allocated(segs_allocated_data, total_segs, num_data_fragments);
	validate_max_load_per_segment(segs_allocated_data, total_segs, num_working_segs, num_data_fragments);
	validate_all_working_segments_engagement(segs_allocated_data, total_segs, num_working_segs, num_data_fragments, num_hosts_in_cluster);

	/* 8. Cleanup */
	freeQueryResource();
	restoreCdbComponentDatabases();
	clean_cluster(cluster, num_hosts_in_cluster);
	clean_array_of_segs(array_of_segs, total_segs);
	clean_allocated_fragments(segs_allocated_data, total_segs);
	pfree(array_of_primaries);
}

/* create an array of segments based on the host in the cluster and the number of Hawq segments on host */
static char** create_array_of_segs(char **cluster, int num_hosts, int num_segments_on_host)
{
	int i, j;
	int total_segs = num_hosts * num_segments_on_host;
	char **array_of_segs = (char**)palloc0(total_segs * sizeof(char *));

	for (i = 0; i < num_hosts; i++)
	{
		for (j = 0; j < num_segments_on_host; j++)
		{
			array_of_segs[i * num_segments_on_host + j] = pstrdup(cluster[i]);
		}
	}

	return array_of_segs;
}

/* clean the array of Hawq segments */
static void clean_array_of_segs(char **array_of_segs, int total_segments)
{
	int i;

	for (i = 0; i < total_segments; i++)
		pfree(array_of_segs[i]);
	pfree(array_of_segs);
}

static bool* create_array_of_primaries(int total_segments)
{
	int i;
	bool *primaries = (bool*)palloc0(total_segments * sizeof(bool));
	for (i = 0; i < total_segments; i++)
		primaries[i] = true;

	return primaries;
}

/* gives an ip to each host in a num_hosts size cluster */
static char** create_cluster(int num_hosts)
{
	char** cluster = (char**)palloc0(num_hosts * sizeof(char *));
	int i;
	char *prefix = "1.2.%d.%d";
	int third_octet = 1; /* let's begin at 1 */
	int fourth_octet = 1;
	StringInfoData ip;
	initStringInfo(&ip);

	for (i = 0; i < num_hosts; i++)
	{
		appendStringInfo(&ip, prefix, third_octet, fourth_octet);
		cluster[i] = pstrdup(ip.data);
		/* this naming scheme will accomodate a cluster size up to 255x255 = 65025. */
		fourth_octet++;
		if (fourth_octet == 256)
		{
			fourth_octet = 1;
			third_octet++;
		}
		resetStringInfo(&ip);
	}

	return  cluster;
}

/* release memory */
static char** clean_cluster(char** cluster, int num_hosts)
{
	int i;

	for (i = 0; i < num_hosts; i++)
	{
		if (cluster[i])
			pfree(cluster[i]);
	}
	pfree(cluster);
}

/* show the cluster*/
static char** print_cluster(char** cluster, int num_hosts)
{
	int i;
	StringInfoData msg;
	initStringInfo(&msg);

	appendStringInfo(&msg, "cluster size: %d\n", num_hosts);
	for (i = 0; i < num_hosts; i++)
	{
		if (cluster[i])
			appendStringInfo(&msg, "cluster #%d:   %s\n", i + 1, cluster[i]);
		else
			appendStringInfo(&msg, "cluster naming error \n");
	}

	elog(FRAGDEBUG, "%s", msg.data);
	pfree(msg.data);
}

/* prints for each segments, the index and the host ip */
static void print_segments_list()
{
	StringInfoData msg;
	CdbComponentDatabases *test_cdb = GpAliveSegmentsInfo.cdbComponentDatabases;
	initStringInfo(&msg);

	for (int i = 0; i < test_cdb->total_segment_dbs; ++i)
	{
		CdbComponentDatabaseInfo* component = &test_cdb->segment_db_info[i];
		appendStringInfo(&msg, "\nsegment -- index: %d, ip: %s", component->segindex, component->hostip);
	}

	elog(FRAGDEBUG, "%s", msg.data);
	pfree(msg.data);
}

/* returns the ip  of the segment's host */
static char* find_segment_ip_by_index(int seg_index)
{
	CdbComponentDatabases *test_cdb = GpAliveSegmentsInfo.cdbComponentDatabases;
	if (seg_index < 0 || seg_index >= test_cdb->total_segment_dbs)
		assert_true(false);

	for (int i = 0; i < test_cdb->total_segment_dbs; ++i)
	{
		CdbComponentDatabaseInfo* seg = &test_cdb->segment_db_info[i];
		if (seg->segindex == seg_index)
			return seg->hostip;
	}

	/* we assert if an index outside the boundaries was supplied */
	assert_true(false);
	return NULL;
}

/*
 * print the allocated fragments list
 * allocated_fragments is an array of lists. The size of the array is total_segs.
 * The list located at index i in the array , holds the fragments that will be processed
 * by Hawq segment i
 */
static void print_allocated_fragments(List **allocated_fragments, int total_segs)
{
	StringInfoData msg;
	initStringInfo(&msg);
	appendStringInfo(&msg, "ALLOCATED FRAGMENTS FOR EACH SEGMENT:\n");

	for (int i = 0; i < total_segs; i++)
	{
		if (allocated_fragments[i])
		{
			ListCell *frags_cell = NULL;
			foreach(frags_cell, allocated_fragments[i])
			{
				AllocatedDataFragment *frag = (AllocatedDataFragment*)lfirst(frags_cell);
				appendStringInfo(&msg, "%s\n", print_one_allocated_data_fragment(frag, i));
			}
		}
	}

	elog(FRAGDEBUG, "%s", msg.data);
	if (msg.data)
		pfree(msg.data);
}

/* print one allocated fragment */
static char* print_one_allocated_data_fragment(AllocatedDataFragment *frag, int seg_index)
{
	StringInfoData msg;
	initStringInfo(&msg);
	char* seg_ip = find_segment_ip_by_index(seg_index);
	if (!seg_ip)
		seg_ip = "INVALID SEGMENT INDEX";
	bool locality = (strcmp(frag->host, seg_ip) == 0) ? true : false;

	appendStringInfo(&msg,
	                 "locality: %d, segment number: %d , segment ip: %s --- fragment index: %d, datanode host: %s, file: %s",
	                 locality, seg_index, seg_ip, frag->index, frag->host, frag->source_name);

	return msg.data;
}

/* release memory of allocated_fragments */
void clean_allocated_fragments(List **allocated_fragments, int total_segs)
{
	for (int i = 0; i < total_segs; i++)
		if (allocated_fragments[i])
			free_allocated_frags(allocated_fragments[i]);
	pfree(allocated_fragments);
}

/* calculate the optimal load distribution per segment */
static int calc_load_per_segment(int input_total_fragments, int working_segs)
{
	return (input_total_fragments % working_segs) ? input_total_fragments / working_segs + 1:
	input_total_fragments / working_segs;
}

/*
 * test that a host is uniq.
 * the functions ensures that ip names are unique by managing a set of ips
 * the set is implemented with a linked list
 */
static bool is_host_uniq(List** ips_list, char* ip)
{
	ListCell* cell;
	foreach(cell, *ips_list)
	{
		char* foundip = (char*)lfirst(cell);
		if (strcmp(foundip, ip) == 0)
			return false;
	}

	lappend(*ips_list, ip);
	return true;
}

/* validate that all input blocks were allocated */
static void validate_total_fragments_allocated(List **allocated_fragments, int total_segs, int input_total_fragments)
{
	int total_fragments_allocated = 0;

	for (int i = 0; i < total_segs; i++)
	{
		if (allocated_fragments[i])
			total_fragments_allocated += list_length(allocated_fragments[i]);
	}

	assert_int_equal(total_fragments_allocated, input_total_fragments);
}

/* validate that the load per segment does not exceed the expected load */
static void validate_max_load_per_segment(List **allocated_fragments, int total_segs, int working_segs, int input_total_fragments)
{
	int max_load = 0;
	int load_per_segment =  calc_load_per_segment(input_total_fragments, working_segs);

	for (int i = 0; i < total_segs; i++)
	{
		if (allocated_fragments[i] && list_length(allocated_fragments[i]) > max_load)
			max_load = list_length(allocated_fragments[i]);
	}

	bool load_per_segment_not_exceeded = load_per_segment >=  max_load;
	elog(FRAGDEBUG, "actual max_load: %d, expected load_per_segment: %d", max_load, load_per_segment);
	assert_true(load_per_segment_not_exceeded);
}

/*
 * we validate that every working segment is engaged, by verifying that for the case when
 * the load_per_segment is greater than one, then every working_segment has allocated fragments,
 * and for the case when load_per_segment is 1, then the number of segments that got work
 * equals the number of fragments
 */
static void validate_all_working_segments_engagement(List **allocated_fragments,
													 int total_segs,
													 int working_segs,
													 int input_total_fragments,
													 int num_hosts_in_cluster)
{
	List* ips_list = NIL;
	ListCell* cell;
	int total_segs_engaged = 0;
	int load_per_segment =  calc_load_per_segment(input_total_fragments, working_segs);
	bool require_full_distribution = num_hosts_in_cluster >= working_segs;

	for (int i = 0; i < total_segs; i++)
		if (allocated_fragments[i] && list_length(allocated_fragments[i]) > 0)
		{
			char *ip;
			bool isuniq;
			total_segs_engaged++;
			if (require_full_distribution)
			{
				ip = find_segment_ip_by_index(i);
				isuniq = is_host_uniq(&ips_list, ip);
				assert_true(isuniq);
			}
		}

	if (load_per_segment == 1)
		assert_int_equal(total_segs_engaged, input_total_fragments);
	else
	{
		bool total_segs_engaged_not_exceeded = total_segs_engaged <= working_segs;
		assert_true(total_segs_engaged_not_exceeded);
	}

	/* clean memory */
	foreach(cell, ips_list)
		pfree(lfirst(cell));
	list_free(ips_list);
}

/*
 * Creates a list of DataFragment for one file ("file.txt").
 * The important thing here is the fragments' location. It is deteremined by the parameters:
 * replication_factor - number of copies of each fragment on the different hosts.
 * number_of_hosts - number of hosts
 * number_of_fragments - number of fragments in the file.
 * cluster - holds the ips of all hosts in the cluster
 *
 * Each fragment will have <replication_factor> hosts from the cluster
 */
static List*
spread_fragments_in_cluster(int number_of_fragments,
								  int number_of_hosts,
								  int replication_factor,
								  char **cluster,
								  int cluster_size)
{
	int first_host, target_host;
	List* fragments_list = NIL;
	StringInfoData string_info;
	initStringInfo(&string_info);

	/* pick the first host in the cluster that will host the data. The fragments will be spread from this host onward */
	first_host = 0;

	target_host = first_host;

	for (int i = 0; i < number_of_fragments; ++i)
	{
		DataFragment* fragment = (DataFragment*) palloc0(sizeof(DataFragment));

		fragment->index = i;
		fragment->source_name = pstrdup("file.txt");

		for (int j = 0; j < replication_factor; ++j)
		{
			FragmentHost* fhost = (FragmentHost*)palloc0(sizeof(FragmentHost));
			appendStringInfo(&string_info, cluster[target_host]);
			fhost->ip = pstrdup(string_info.data);
			resetStringInfo(&string_info);
			fragment->replicas = lappend(fragment->replicas, fhost);

			target_host = ((j + i + first_host) % number_of_hosts);
		}
		assert_int_equal(list_length(fragment->replicas), replication_factor);
		appendStringInfo(&string_info, "metadata %d", i);
		fragment->fragment_md = pstrdup(string_info.data);
		resetStringInfo(&string_info);
		appendStringInfo(&string_info, "user data %d", i);
		fragment->user_data = pstrdup(string_info.data);
		resetStringInfo(&string_info);
		fragments_list = lappend(fragments_list, fragment);
	}

	pfree(string_info.data);
	return fragments_list;
}