. Place the ball of flour onto your work surface and knead it for approximately 5-7 minutes, until it becomes smooth and elastic. Use a clock or watch to keep track of the approximate time you spent kneading. Note the amount of time you spent kneading in your lab notebook so you can knead for the same amount of time in later trials. If you are unfamiliar with kneading, this is the process of pressing down on the dough ball with your palms, and then pulling it back up again and rotating it slightly with your fingertips. This cycle is repeated over and over again.
Side-by-side photos showing the pushing (with the palms) and pulling (with the fingertips) process of kneading.
Figure 4. These photos show the pushing and pulling process of kneading.
 1. Repeat steps 3–4 for your other two bowls of flour. Be sure to knead all the flours for the same amount of time. At the end of the kneading process, you should have three smooth-looking elastic balls of dough.
 2. Place your three balls of dough back in their small bowls and let them rest and relax for about 10 minutes.
Photo showing three smooth, elastic balls of dough in three, small bowls.
Figure 5. This photo shows how the balls of dough will look after kneading.
 1. Now it's time to find out how much gluten is inside those balls of dough. If you thought kneading was icky and gooey, brace yourself for the next step! Place your strainer in the sink. Some strainers are "stand-alone," meaning they have legs to support them inside the sink, while others need to be placed over a bowl or propped against the edge of the sink. Either way, make sure your strainer is over a sink where the faucet can reach it.
 2. Take one of the balls of dough to the sink and cup it in your hands over the strainer. Let cold water run on it as you gently pull and stretch it apart, as shown below. The water will wash away the water-soluble parts, like the carbohydrates, but will leave behind the insoluble protein, the gluten, that you developed while you were kneading. The starch that is being washed away will look like a milky liquid. Continue rinsing your ball of dough until very little milky liquid is coming out and only a sticky, stringy ball remains.
Side-by-side photos showing how to rinse, stretch, and knead the balls of dough under running water inside a strainer to extract the gluten.
Figure 6. These photos show how to rinse off the ball of dough inside a strainer.
 1. Rinse off your strainer to remove any debris, and repeat step 8 for the other two balls of dough. At the end of the rinsing process, you should have three balls of gluten.
 2. Measure the diameter of each ball of gluten with a ruler. Record your measurements in a data table, like the one below, in your lab notebook.
This photo shows a ball of gluten resulting from the extraction process being measured with a ruler.
Figure 7. This photo shows the measurement of the diameter of one ball of gluten.
 1. Repeat steps 1–10 two more times so that you have a total of three trials for the three different types of flour.
 2. Average the diameters of your balls of gluten for each type of flour and record the averages in your data table. Which type of flour produced the smallest diameter gluten ball, on average? Which produced the largest? Does this make sense based on the type of foods that each flour is used to create?
Gluten Ball Diameter Data Table
Flour Type Pastry Flour (example) All-purpose Flour (example) Whole Wheat Flour (example)
Trial 1: Gluten Ball Diameter (cm)
Trial 2: Gluten Ball Diameter (cm)
Trial 3: Gluten Ball Diameter (cm)
Average Gluten Ball Diameter (cm)
Share your story with Science Buddies!
 - Use a kitchen scale, such as the Fast Weigh MS-500-BLK Digital Pocket Scale, 500 by 0.1 G, available from Amazon.com, to evaluate the gluten balls, based on weight, rather than diameter.
 - Choose one type of flour and create three equally sized balls of dough from it with different degrees of kneading: no kneading, 5 minutes of kneading, and 10 minutes of kneading. Rinse the three balls of dough and evaluate the gluten balls that are created, either by weight or by diameter.
 - Select one type of flour and make doughs with different additives, such as salt, sugar, or oil. Compare the development of gluten within these doughs.
Share your story with Science Buddies!
Ask an Expert
Ask an Expert
Related Links
plant scientist polleniating tree
Plant Scientist
Scientists inspecting special corn oil
Food Scientist or Technologist
scientist performing experiments
food science technician checking an egg
Food Science Technician
Looking for more science fun?
Find an Activity


text:
Thousands of physical therapists, physical therapist assistants, and students have benefitted from the "ethical lens" provided by the ethics column written by Nancy Kirsch, PT, DPT, PhD, FAPTA, and published in PT in Motion. This series of ethics articles was a constant reminder to the physical therapy community about the ethical dimension of physical therapy practice in every setting. Ethical issues in physical therapy range from relatively simple challenges of courteous professional behavior and communication to vexing dilemmas between competing ethical obligations and confusing situations of moral ambiguity.
Dr. Kirsch's ongoing work through publication and professional presentations has elevated our profession's understanding of ethical issues in physical therapy. This new book continues this "moral dialogue" with the physical therapy community. The case studies draw on Dr. Kirsch's wealth of professional experience and wisdom gained as a practitioner, educator, and leader in physical therapy. The importance of case deliberation in the development of moral reasoning skills has been wellestablished; and this book can be an important tool for students and practitioners in honing ethical reasoning skills. Dr. Kirsch's ability to create real-life, practical, and engaging cases will be appreciated by students, educators, and clinicians frustrated by hypothetical cases that may miss the mark. I have no doubt that this book will become a trusted professional resource for students, educators, and practitioners confronting ethical issues in daily practice.
Laura Lee (Dolly) Swisher, PT, PhD, FNAP, FAPTA
Associate Dean, Professor, and Director
School of Physical Therapy & Rehabilitation Sciences
USF Health Morsani College of Medicine
University of South Florida

source: openbmb/Ultra-FineWeb


!
Another tricky problem:
a = foo +
 bar(baz,
 barbaz
) +
 foobar
After the function call, the line is not seen as continuing anymore, so indentation gets decreased by 1 level, while being increased by 1 level because of the opener (so no change overall).
It gets even worse when nested:
a = foo +
 bar(baz +
 bazbaz
 ) +
 foobar
b = foo +
 bar(baz(
 bazbaz
 )
 ) +
 foobar
The solution to this problem involves a more complex continuation algorithm. We need to use a stack to remember the level of indentation of the nested continuations.
 - Indent line.
 - Check if continuing: either the end token on previous line or the start token on current line must be a continuation token.
 - If current indentation does not match the stack and if continuing, increase indent and push the new indentation on the stack.
 - If not continuing and current indentation is < stack indentation, pop the stack and decrease indent.
The cases not matched by the previous conditions do not change the indentation level.
An example algorithm
The following algorithm yields an indentation engine close in practice to the one found in gofmt. The indentation is computed by looking at current and previous lines only, thus being efficient.
What if previous line indentation is wrong? It does not matter, as indenting the whole file at once will make sure every line is indented properly.
Unmatched means not matched on the same line. Openers match their respective closer forward and vice-versa.
First pass:
On current line:
-1 on every closer until an unmatched opener is met, if first token is a closer.
-1 if first token is a middler.
On previous line:
+ current indentation.
+1 on every unmatched opener.
+1 if first token is a middler.
-1 on every unmatched closer if first token is not a closer.
For this last case, it is worth noting that if the first token is a middler, then the first unmatched closer is compensating the indentation change.
Second pass:
+ continuation indentation.
For the continuation indentation, we use the algorithm from the previous section.
]]>
_URL_ _URL_ Wed, 12 Nov 2014 00:00:00 +0000
Inprogen
About
This is the home page of my research on inverse procedural generation applied to building facades. A quick presentation of the concept follows. I will update this page to keep track of my progress.
Background
In computer graphics it is often useful to generate the content automatically to ease the burden of drawing everything by hand. Common examples include cities, forests, landscapes, oceans, or roads, which often show up in movies, video games, or urban planning simulations to name a few. These features clearly follow some patterns. Nonetheless they cannot be drawn with a naive tiling which would result in something too geometrical to come from the real world. Nature and mankind induce some randomness and chaos on the environment.
This is where procedural graphics prove useful: with a set of rules combined to some transformation functions, one can generate a whole city with its underlying randomness by specifying a few parameters.
Goals
The use of procedural generator can be overwhelming: they usually require of dozens of inter-related parameters. A tiny alteration in a parameter value may dramatically affect the result. Therefore, the biggest challenge in procedural graphics is the understanding of the parameter set for every generator.
To overcome the limitation of procedural generation, we could think of a different approach: from a real-world input, we can deduce the right parameter set that generate the desired result. This is called inverse procedural generation.
Nonetheless facade formalization might involve hundreds of parameters. Some of them may affect minor details in the output, others may transform the result drastically. In other words, they have different psychophysical properties, i.e. they affect the way we perceive the building unevenly.
Which one makes it look believable? Does it look old or sad? Does it belong to a specific neighbourhood of some city? A psychophysical study of the architectural properties is relevant to improve the generation process.
Progress
Forward generation
The first logical move is to master the forward procedural generation. Thus I have implemented a prototype in Lua/Cairo based on the papers Instant Architecture (Wonka et al.) and Procedural Modeling of Buildings (Müller et al.).
Inverse generation from a data structure
A facade can be seen as a tile of rectangular regions. This model can be conveniently stored into a data structure.
Before working directly with pictures, we can feed our inverse data generator with a manually created data structure.
As for the forward generator, I have implemented a Lua prototype with some basic heuristics. The (only?) reference I have been using is Inverse Procedural Modeling of Facade Layouts (Fuzhang Wu et al.).
The data structure and its associated functions are actually quite interesting to study. I will devote an article to it later.
Pre-processing
The input data is real-world pictures. Some work is needed before we can get to the convenient data structure our inverse generator can use.
 - Perspective correction: it is easier to work on orthographic data. Real life pictures of facades are never perfectly aligned, but this can be easily rectified. Even with some specialized hardware it is not always possible to take orthographic pictures of facades, e.g. in narrow streets with tall buildings.
 - Occlusion handling: facade picture are usually not barebone, a lot of elements cannot be taken away when taking the picture. This includes streets signs and lights, bystanders, trees, and so on. They should not be included in the final data structure, thus they should be removed. It is possible to handle most cases automatically.
 To implement. It is still possible to work without it on ideal facades.
 - Lighting normalization: depending on the time of the day, the weather and the cast shadows, not all parts of the facade might illuminated equally. This can disturb the segmentation process, e.g. a shadow on a region can be seen as different regions.
 To implement.
Segmentation
Once our images have been pre-processed, the segmentation can be run serenely. The quality of the result can hardly be garanteed. Indeed, there is no formal deterministic definition of a region, this is mostly a human criteria. A semi-automatic segmenter sounds a reasonable choice here: first pass is fully automatic; for the second pass, control is left to the user who can then merge or split regions, resize them, group them, and so on.
To implement.
Future
The current state of the art is fairly limited, yet certainly extensible to 3D. This is definitely some field to explore.
References
 - Instant Architecture, Peter Wonka et al.
 - Inverse Procedural Modeling of Facade Layouts, Fuzhang Wu et al.
 - Procedural Modeling of Buildings, Pascal Müller et al.
Links
 - Perspector - a control-point-based perspective rectification tool.
]]>
_URL_ _URL_ Wed, 12 Nov 2014 00:00:00 +0000
Perspector
About
Perspector is a perspective rectification tool.
As opposed to most competitors out there (Gimp, Photoshop, Rawtherapee), this tool is not axis-based but rather control-point-based. This allows for much faster processing (in human time) while obtaining more accurate results.
It was originally created out of a need for ortho-aligning a batch of facade pictures as quickly as possible in the most convenient manner. (Understand "the less annoying".)
The technique behind this tool is a tad more sophisticated than the usual axis-aligned version, without being revolutionary. I developed this program as I could not find such a thing anywhere. I believe it would be great to see it implemented in a tool like Gimp.
Preview
1.jpg 1-rect.jpg
See more in the gallery.
Usage
Select four control points on the picture. When processed, the picture will be transformed so that the four control points become the corners of an axis-aligned rectangle.
Installation
It should run out of the box on most Unix-based systems.
Fetch the source code and read the README file for further instructions.
License
Perspector is under MIT license.
Links
]]>
_URL_ _URL_ Wed, 12 Nov 2014 00:00:00 +0000
Links and literature
Here follows a collection of articles, books and videos that I'd personally recommend…
…Or not! Because I believe it's also important to cover a spectrum of literature wider than just someone's own opinion. Many links refer to arguments and counter-arguments: I don't necessarily agree with everything listed here. Nonetheless I believe it's wiser to not automatically discard antagonistic opinions. They can prove instrumental in further consolidating one's argument.
Besides, I've spent a significant amount of time reading books which, with hindsight, I now consider a waste of time. If sharing my opinions can help people on the same page avoid wasting their own time, then for the better!
Discussion is more than welcome!
Political science
Economy
Anthropology
History
Linguistic
Education and psychology
Psychology in computer programming
Social sciences and computing
Security and communication
Broken security
Free software philosophy
Decentralized Internet
Hardware and freedom
Operating system of the past: Unix
While Unix brought us lots of good ideas, I also beieve many things are wrong with Unix and more generally with the Unix philosophy. The discussion is rather complex so I won't go into details here


text:
- In English speaking North American subcultures, outside family and intimate relationships, in most circumstances there is a tendency during social interaction to minimize physical contact and maintain a relatively large space between individuals.
- Limitation of physical contact is particularly evident in interactions between men.
- Reliance on social media for social interaction in lieu of face-to-face interaction, increasingly common in modern North American society, has also reduced physical contact between individuals, adding to feelings of physical isolation.
- Increased awareness regarding sexually inappropriate behavior (e.g., via the Me Too Movement), while addressing a serious problem, has had some unintended consequences in inhibiting the initiation of appropriate intergender expressions of affection.
- Insufficient physical contact with other human beings can lead to feelings of loneliness and depression and therefore have a negative impact on physical and mental health.
- In contrast to North America, in Argentina daily social interactions are characterized by hugs and kisses on the cheek given to friends and acquaintances, typically in the context of greetings and departures.
- Cross-cultural research has identified that, in general, Argentines maintain a smaller interpersonal distance than identified in other cultures.
- Tango dancing, as practiced in the milongas of Buenos Aires, with its close personal contact (chest-to-chest, cheek-to-cheek) between partners, sometimes between people who have never met previously, is an example of the lower limits of personal space in Argentine society.
- In North American milongas there is a wide range of variation in partner connection, from the maintained embrace characteristic of Buenos Aires milongas to a maintained open position, with a partner hold shifting between closed and open positions appearing to be the most common.
- Close personal contact with other human beings has a positive effect on human health, lowering stress and blood pressure and decreasing the risk of loneliness and depression.
- Tango dancing in a maintained embrace provides the benefits of close personal contact.
- When the Traditional Milonga codes of partner respect are practiced, intergender couple formation in tango creates the possibility for dancers to explore romantic and sexual relationships under conditions of mutual consent and safe boundaries.
- Use of the cabeceo in partner selection, as well as within community policing to identify violators of the mutual consent guideline, should be sufficient in marginalizing sexually inappropriate behavior at the milonga.
- The promotion of tango as a performance dance, common in North America, prevents many developing tango dancers from experiencing the physical and emotional intimacy of tango.
Outside family and intimate relationships, and oftentimes even within the boundaries of these relationships, daily social interactions between adults in Anglophone North America are characterized by the avoidance of physical contact and a relatively large distance between interacting individuals (Personal Space and American Individualism), especially when viewed from a worldwide perspective (Americans Love Wide Open Spaces Between People; What Personal Space Looks Like Around the World). This contact avoidance is magnified in interactions between adult men (Why Men Need Platonic Touch), where physical contact is typically ritualized in the form of handshakes, fist bumps, back slaps, and other forms of brief and hard physical contact; interpersonal contact of a softer nature (e.g., hugs, arm and shoulder touching) may play a role in some interactions between adult women who are close friends. Increased societal acceptance of open homosexuality (and awareness regarding it) may also play a role in contact avoidance between men (Inside the Fear of Being Gay) and, in some cases, between women, when there is concern that affection with a person of the same sex may be perceived as homosexual.
Technological changes also have contributed to physical and social isolation in North American society, as well as in other technologically advanced societies. Social media (Facebook, Twitter, etc.) have been designed to create connections between individuals, yet the consequence of social media engagement has often been the opposite, i.e., social isolation (Is Social Media Making You Lonely?). The availability of electronic communication often results in a decrease in face-to-face interaction and thus also less physical contact between individuals. This social isolation can lead to loneliness and depression (Feeling Lonely? Too Much Time On Social Media May Be Why; Health Effects Of Isolation).
In North American society (and elsewhere in modern progressive societies), intergender interactions (see Appendix) in particular are often fraught with ambiguities and therefore misunderstandings regarding physical contact, with entry into one's personal space itself often being regarded as sexually suggestive and viewed as invasive, or perhaps desirable, depending upon the intentions of the interactants. In recent years, the Me Too Movement has drawn public attention to the most egregious assaults of a sexual nature, in particular those committed by prominent men in politics, business, and entertainment, but has also raised awareness regarding verbal comments of a sexually imposing or suggestive nature (Verbal Sexual Harassment: What You Need to Know to Identify and Report It).
Although the root causes of sexually aggressive behavior (sexual harassment and assault) are complex, and its motivation is not purely or even primarily sexual (i.e., it is a expression of power) (The Thinking Processes of Sexual Predators) to a significant degree these behaviors are characteristic of individuals who are socially isolated and therefore have not experienced normal affectionate physical contact and, in particular normal intergender contact (Common Characteristics of Sex Offenders); sexual repression and its consequence – a barrier against normal expression of affection between the sexes – has been implicated as one causal factor for abnormal sexual expression (The Dark Reality Of What Happens When Someone Is Sexually Repressed).
In contrast to the clear violation of individual integrity in cases of sexual assault and harassment, there are situations in which physical contact is initiated (e.g., placing a hand on someone's shoulder) or compliments are made (e.g., regarding attractiveness of personal appearance) in which there is ambiguity regarding the intentions of the actor, yet the recipient nevertheless feels uncomfortable, possibly even threatened. Therefore, associated with the social exposure of unwanted physical contact has been a discussion and/or reevaluation of the boundaries between appropriate and inappropriate physical contact and verbal content (e.g., compliments, humor) in social interaction in general, or in specific environments [in the workplace (What Are the Boundaries of Appropriate Touch in the Workplace?), on a college campus (Be Curious Not Invasive … Physical Contact & Personal Boundaries), in religious institutions (Safe Church Unit: Physical Contact)]. Often the recommendation in these latter cases, in order to avoid the creation of discomfort, is to minimize physical contact and verbal compliments. The standard established in many social environments is to limit physical contact to a handshake, and to not make compliments regarding one's personal appearance (The Dilemma of Physical Touch & Appreciation in the Workplace).
As prior standards for intergender interaction are being reevaluated, men sensitive to social mores are placed in a quandary regarding initiation of physical and verbal contact with women, with the result that often the choice made is to minimize this contact. These newly imposed prohibitions, in conjunction with more general cultural norms of contact avoidance and larger personal space, have led to increased emotional isolation in North American societies (Health Effects of Isolation), with a greater impact on men than women.
Given the traditional prohibitions against interpersonal contact and the increased sensitivity regarding intrusion into intimate space in intergender interactions, tango dancing, in which couples envelope their arms around each other with chest-to-chest and even cheek-to-cheek contact, maintaining this close contact unwaveringly for minutes without separating, stands in stark contrast to the contact avoidance prevalent in North American society. This contrast indeed may present the primary attractiveness of tango dancing, in that it provides a relief from chronic physical isolation. However, how tango dancing achieves (or attempts to achieve) social acceptability within a culture awakened to increased sensitivity to respect for intimate space is an interesting enigma. This post examines the status of tango dancing within this matrix of cultural traditions, changing values, and personal choices. These issues will be examined here within the framework of the cultural underpinnings of the Argentine culture that has engendered this unique form of social interaction. Implications of the transference of traditional Argentine milonga customs to North American milonga are also discussed.
Contact and Personal Space during Daily Social Interaction in Buenos Aires
Contrast the paucity of physical contact characteristic of North American social interactions with daily life in Buenos Aires. During the course of a typical day, most porteños greet numerous people with hugs and kisses on the cheek; even men greet each other in this way. Although greetings with hugs and kisses are typically (but not always) limited to family, friends and close acquaintances (of which there are many), upon introduction to friends of friends for the first time, hugs and kisses on the cheek are standard interaction [Argentine Culture: How to greet an Argentine; Getting Cheeky in Argentina: How and when to Kiss People in Buenos Aires; The Art of the Kiss (video)]. Argentines are also recognized as having a small personal space, standing close to one another when talking, in a queue, or sitting next to one another. They frequently touch one another during conversation. One study found Argentines to have the smallest personal space among all 42 nationalities examined (Journal of Cross-Cultural Psychology; Summaries: Washington Post; The Telegraph).
Personal Space in Buenos Aires Milongas
Personal space boundaries are relaxed further in Buenos Aires milongas. Upon entering a milonga, the guest is often greeted by the host(s) with a hug and a kiss on the cheek. Additional exchanges of hugs and kisses may follow upon encountering friends and familiar dance partners (and sometimes their friends and family) in movements to and from where one is seated. This is more common in Milongas del Barrio, where neighborhood residents who are already familiar with one another tend to congregate, than in Milongas del Centro [Tango de Salon: The Tango of the Mil


a An ice-cream with two different scoops is selected from a choice of vanilla, chocolate and strawberry. b Two students from the group of Jaime, Georgia and Wey are chosen to represent the class in debating. c Two students from the group of Thomas, William, Jackson and Phillip are chosen for the tennis team. d Three scarves are chosen from a blue scarf, a green scarf, a red scarf and a white scarf.
Example 12
2
Evaluate: a 5C3
b 5C2
c 7C4
d 7C3
Compare your answers for parts a and b, and for parts c and d. 3
Evaluate: a
4
20
C18
Evaluate: ! 6 a 3
b
100
100
c
!
8 c 2
7 b 1
C99
250
C2
d
!
50 d 48
C248 !
5
How many netball teams of seven can be chosen from 13 players?
6
An ice-cream parlour has 25 different flavours of ice-cream available. How many different three-scoop ice-cream sundaes are available if three different flavours are to be used and the order of the scoops does not matter?
7
How many different hands of seven cards can be dealt from a normal pack of 52 cards?
Cambridge Senior Maths AC/VCE Mathematical Methods 1&2
Cambridge University Press ISBN 978-1-107-52013-4 © Evans et al. 2016 Photocopying is restricted under law and this material must not be transferred to another party.
10C Selections 381
10C
Example 13
8
In Tattslotto six numbers are selected from 45. How many different possible selections are there? (Do not attempt to consider supplementary numbers.)
9
A student has the choice of three mathematics subjects and four science subjects. In how many ways can they choose to study one mathematics and two science subjects?
10
A survey is to be conducted, and eight people are to be chosen from a group of 30. a In how many different ways could the eight be chosen? b If the group contains 10 men and 20 women, how many groups containing exactly two men are possible?
11
From a standard 52-card deck, how many 7-card hands have 5 spades and 2 hearts?
12
In how many ways can a committee of five be selected from eight women and four men: a without restriction
13
b if there must be exactly three women on the committee?
Six females and five males are interviewed for five positions. If all are acceptable for any position, in how many ways could the following combinations be selected? a three males and two females c five females e at least four females
14
The selectors of a sporting team need to choose 10 athletes from the 15 track and 12 field athletes who have qualified to compete. a b c d
Example 14
b four females and one male d five people regardless of sex
How many groups are possible? How many groups would contain track athletes only? How many groups would contain field athletes only? How many groups would contain half track and half field athletes?
15
A student representative committee of five is to be chosen from four male and six female students. How many committees could be selected which contain more female than male students?
16
Joanne is offered a selection of five different sweets. She can choose to pass or to select any number of them. In total how many choices does she have?
17
Eight people have auditioned for roles in a play. The director can choose none, or any number of them for the production. In how many ways can selections be made from these eight people, any number at a time?
18
How many colours can be obtained by mixing a set volume of red, blue, green, orange and white paints if any number of paints can be used at a time?
19
How many varieties of fruit salad, using at least two fruits, can be obtained from apples, oranges, pears, passionfruit, kiwifruit and nectarines, taken any number at a time?
20
In how many ways can a group of six people be divided into: a two equal groups b two unequal groups, if there must be at least one person in each group?
Cambridge Senior Maths AC/VCE Mathematical Methods 1&2
Cambridge University Press ISBN 978-1-107-52013-4 © Evans et al. 2016 Photocopying is restricted under law and this material must not be transferred to another party.
382 Chapter 10: Counting methods
10D Applications to probability Skillsheet
As discussed in Chapter 9, for a sample space with equally likely outcomes, the probability of an event occurring may be determined by dividing the number of outcomes in the event by the total number of possible outcomes. Establishing the number of outcomes in the event and the total number of outcomes is often achieved by using permutations and combinations.
Example 15 Four-letter 'words' are to be made by arranging letters of the word SPECIAL. What is the probability that the 'word' will start with a vowel? Solution There are 7 letters to be arranged in groups of 4. So the total number of possible arrangements is 7 × 6 × 5 × 4 = 840. Now consider words which start with a vowel. Since there are three vowels, we have 3 choices for the first letter. Having done this, we have six letters remaining which are to be placed in the three remaining positions, and this can be done in 6 × 5 × 4 = 120 ways. Thus the number of arrangements which start with a vowel is 3 × 6 × 5 × 4 = 360 Hence, the probability of the word starting with a vowel is number of outcomes in the event 360 3 = = total number of outcomes 840 7
Example 16 Three students are to be chosen to represent the class in a debate. If the class consists of six boys and four girls, what is the probability that the team will contain: a exactly one girl
b at least two girls?
Solution Since there is a total of 10 students, the number of possible teams is 10C3 = 120. a One girl can be chosen for the team in 4C1 = 4 different ways. Having placed one girl, the other two places must be filled by boys, and this can be done in 6C2 = 15 different ways. Thus the total number of teams containing one girl and two boys is 4 × 15 = 60, 60 and the probability that the team contains exactly one girl is = 0.5. 120 b If the team is to contain at least two girls, then it may contain two or three girls. The number of teams containing:  exactly two girls is 6C1 × 4C2 = 36  exactly three girls is 6C0 × 4C3 = 4
Thus the total number of teams containing at least two girls is 40, and the probability of 40 1 this is = . 120 3 Cambridge Senior Maths AC/VCE Mathematical Methods 1&2
Cambridge University Press ISBN 978-1-107-52013-4 © Evans et al. 2016 Photocopying is restricted under law and this material must not be transferred to another party.
10D Applications to probability 383
10D Section summary
Using our knowledge of arrangements and selections, we can calculate probabilities for sample spaces with equally like outcomes:  First determine the total number of possible outcomes.  Then determine the number of outcomes in the event of interest.  The required probability is equal to
number of outcomes in the event total number of oucomes
Exercise 10D 1
A four-digit number (with no repetitions) is to be formed from the set of digits {1, 2, 3, 4, 5, 6}. Find the probability that the number: a is even
Example 15
b is odd.
2
Three-letter 'words' are to be made by arranging the letters of the word COMPUTER. What is the probability that the 'word' will start with a vowel?
3
Three letters are chosen at random from the word HEART and arranged in a row. Find the probability that: a the letter H is first
Example 16
b the letter H is chosen
c both vowels are chosen.
4
Three men and three women are to be randomly seated in a row. Find the probability that both the end places will be filled by women.
5
A netball team of seven players is to be chosen from six men and seven women. Find the probability that the selected team contains more men than women.
6
Bill is making a sandwich. He may choose any combination of the following: lettuce, tomato, carrot, cheese, cucumber, beetroot, onion, ham. Find the probability that: a the sandwich contains ham b the sandwich contains three ingredients c the sandwich contains at least three ingredients.
7
A bag contains five white, six red and seven blue balls. If three balls are selected at random, without replacement, find the probability they are: a all red
8
b all different colours.
Susie chooses four pieces of bubble gum from a jar containing five red, two blue and three green pieces of bubble gum. Calculate the probability that Susie selects: a b c d
no green bubble gum at least one green bubble gum at least one green bubble gum and at least one red bubble gum at least one red bubble gum, given that there is at least one green bubble gum.
Cambridge Senior Maths AC/VCE Mathematical Methods 1&2
Cambridge University Press ISBN 978-1-107-52013-4 © Evans et al. 2016 Photocopying is restricted under law and this material must not be transferred to another party.
384 Chapter 10: Counting methods 9
A four-digit number (with no repetitions) is to be formed from the set of digits {0, 1, 2, 3, 4, 5, 6, 7}. Find the probability that the number: a is even b is odd d is less than 4000, given that it is greater that 3000.
10
c is less than 4000
A


text:
EVER wondered why con artists find it so easy to hoodwink the elderly? Researchers in Iowa have discovered that many older people have localised brain damage that impairs their ability to avoid risky decisions.
Daniel Tranel, Natalie Denburg and their colleagues at the University of Iowa in Iowa City were studying a group of elderly patients with known damage to the ventromedial prefrontal cortex, a part of the brain that deals with decision making. In a test gambling game with cards, these patients keep losing, despite increasingly clear signs that the choices they make are bad.
But the team had a surprise when they looked for healthy controls for their tests. It turned out that about a third of their controls of the same age performed just as badly on the gambling task as the brain-damaged people in the study.
To investigate further the team recruited 40 people aged between...
To continue reading this article, subscribe to receive access to all of newscientist.com, including 20 years of archive content.

source: HuggingFaceFW/fineweb-edu


How we use AWS OpsWorks
Amazon Web Services (AWS) OpsWorks was released one year ago this month. In the past year, we've used OpsWorks on several Cloud Delivery projects at Stelligent and at some of our customers. This article describes what's worked for us and our customers. One of our core aims with any customer is to create a fully repeatable process for delivering software. To us, this translates into several more specific objectives. For each process we automate, the process must be fully documented, tested, scripted, versioned and continuous. This article describes how we achieved each of these five objectives in delivering OpsWorks solutions to our customers. In creating any solution, we version any and every asset required to create the software system. With the exception of certain binary packages, the entire software system gets described in code. This includes the application code, configuration, infrastructure and data.
As a note, we've developed other AWS solutions without OpsWorks using CloudFormation, Chef, Puppet and some of the other tools mentioned here, but the purpose of this is to describe our approach when using OpsWorks.
AWS Tools
AWS has over 30 services and we use a majority of these services when creating deployment pipelines for continuous delivery and automating infrastructure. However, we typically use only a few services directly when building these infrastructure. For instance, when creating infrastructure with OpsWorks, we'll use the AWS Ruby SDK to provision the OpsWorks resources and CloudFormation for the resources we cannot provision through OpsWorks. We use these three services to access services such as EC2, Route 53, VPC, S3, Elastic Load Balancing, Auto Scaling, etc. These three services are described below.
AWS OpsWorks
– OpsWorks is an infrastructure orchestration and event modeling service for provisioning infrastructure resources. It also enables you to call out to Chef cookbooks (more on Chef later). The OpsWorks model logically defines infrastructure in terms of stacks, layers and apps. Within stacks, you can define layers; within layers you can define applications and within applications, you can run deployments. An event model automatically triggers events against these stacks (e.g. Setup, Configure, Deploy, Undeploy, Shutdown). As mentioned, we use the AWS API (through the Ruby SDK) to script the provisioning of all OpsWorks behavior. We never manually make changes to OpsWorks through the console (we make these changes to the versioned AWS API scripts).
CloudFormation – We use CloudFormation to automatically provision resources that we cannot provision directly through OpsWorks. For example, while OpsWorks connects with Virtual Private Clouds (VPC)s and Elastic Load Balancer (ELB)s, you cannot provision VPC or ELB directly through OpsWorks. Since we choose to script all infrastructure provisioning and workflow, we wrote CloudFormation templates for defining VPCs, ELBs, Relational Database Service (RDS) and Elasticache. We orchestrate the workflow in Jenkins so that these resources are automatically provisioned prior to provisioning the OpsWorks stacks. This way, the OpsWorks stacks can consume these resources that were provisioned in the CloudFormation templates. As with any other program, these templates are version-controlled.
AWS API (using Ruby SDK) – We use the AWS Ruby SDK to script the provisioning of OpsWorks stacks. While we avoid using the SDK directly for most other AWS services (because we can use CloudFormation), we chose to use the SDK for scripting OpsWorks because CloudFormation does not currently support OpsWorks. Everything that you might do using the OpsWorks dashboard – creating stacks, JSON configuration, calling out to Chef, deployments – are all written in Ruby programs that utilize the OpsWorks portion of the AWS API.
Infrastructure Automation
There are other non-AWS specific tools that we use in automating infrastructure. One of them is the infrastructure automation tool, Chef. Chef Solo is called from OpsWorks. We use infrastructure automation tools to script and as a way to document the process of provisioning infrastructure.
Chef – OpsWorks is designed to run Chef cookbooks (i.e. scripts/programs). Ultimately, Chef is where a bulk of the behavior for provisioning environments is defined – particularly once the EC2 instance is up and running. In Chef, we write recipes (logically stored in cookbooks) to install and configure web servers such as Apache and Nginx or application servers such as Rails and Tomcat. All of these Chef recipes are version-controlled and called from OpsWorks or CloudFormation.
Ubuntu – When using OpsWorks and there's no specific operating system flavor requirement from our customer, we choose to use Ubuntu 12.04 LTS. We do this for two reasons. The first is that at the time of this writing, OpsWorks supports two Linux flavors: Amazon Linux and Ubuntu 12.04 LTS. The reason we choose Ubuntu is because it allows us to use Vagrant (more on Vagrant later). Vagrant provides us a way to test our Chef infrastructure automation scripts locally – increasing our infrastructure development speed.
Supporting Tools
Other supporting tools such as Jenkins, Vagrant and Cucumber help with Continuous Integration, local infrastructure development and testing. Each are described below.
JenkinsJenkins is a Continuous Integration server, but we also use it to orchestrate the coarse-grained workflow for the Cloud Delivery system and infrastructure for our customers. We use Jenkins fairly regularly in creating Cloud Delivery solutions for our customers. We configure Jenkins to run Cucumber features, build scripts, automated tests, static analysis, AWS Ruby SDK programs, CloudFormation templates and many more activities. Since Jenkins is an infrastructure component as well, we've automated the creation in OpsWorks and Chef and it also runs Cucumber features that we've written. These scripts and configuration are stored in Git as well and we can simply type a single command to get the Jenkins environment up and running. Any canonical changes to the Jenkins server are made by modifying the programs or configuration stored in Git.
VagrantVagrant runs a virtualized environment on your desktop and comes with support for certain OS flavors and environments. As mentioned, we use Vagrant to run and test our infrastructure automation scripts locally to increase the speed of development. In many cases, what might take 30-40 minutes to run the same Chef cookbooks can take 4-5 minutes to run locally in Vagrant – significantly increase our infrastructure development productivity.
Cucumber – We use Cucumber to write infrastructure specifications in code called features. This provides executable documented specifications that get run with each Jenkins build. Before we write any Chef, OpsWorks or CloudFormation code, we write Cucumber features. When completed, these features are run automatically after the Chef, OpsWorks and/or CloudFormation scripts provision the infrastructure to ensure the infrastructure is meeting the specifications described in the features. At first, these features are written without step definitions (i.e. they don't actually verify behavior against the infrastructure), but then we iterate through a process of writing programs to automate the infrastructure provisioning while adding step definitions and refining the Cucumber features. Once all of this is hooked up to the Jenkins Continuous Integration server, it provisions the infrastructure and then runs the infrastructure tests/features written in Cucumber. Just like writing XUnit tests for the application code, this approach ensures our infrastructure behaves as designed and provides a set of regression tests that are run with every change to any part of the software system. So, Cucumber helps us document the feature as well as automate infrastructure tests. We also write usage and architecture documentation in READMEs, wikis, etc.
Leave a Reply
Fill in your details below or click an icon to log in:
WordPress.com Logo
You are commenting using your WordPress.com account. Log Out / Change )
Twitter picture
You are commenting using your Twitter account. Log Out / Change )
Facebook photo
You are commenting using your Facebook account. Log Out / Change )
Google+ photo
You are commenting using your Google+ account. Log Out / Change )
Connecting to %s


text:
Visioning 2035: The future of the higher education sector in the UK
The concept of 'university' has been around for centuries and yet the majority of British Universities have yet to reach their 50th birthday. The higher education sector has been through extensive change over a relatively short period of time and this is likely to continue in the future. This paper presents the results of a futures study focussed on the Higher Education sector in the UK in 10 and 25 years time. Following an extensive, broad ranging literature review covering business, education, futures, and socio-political texts and studies, a series of scenarios were developed for the future of the sector as a whole. This study differs from other studies in its field as it is does not focus on individual institutions, but rather at the environmental factors that are going to impact on the sector, setting out a range of scenarios within which institutions will need to shape their individual futures. Five scenarios are presented in this paper with their underlying driving factors, and their implications for the academic workforce being employed in the sector.


Coping with Difficult Coworkers
Coping with difficult coworkers effectively requires significant forethought and restraint. Three guidelines can help you when dealing with difficult employees and other coworkers.
By Katie Shonkon / Dealing with Difficult People
At one time or another, most of us have found ourselves coping with difficult coworkers. We might experience flare-ups over workload, funding, or personality issues, to name just a few sources of workplace conflict. The experience of coping with difficult coworkers can be extremely stressful. The following conflict negotiation skills can help you address this type of difficult situation at work, whether you are managing difficult employees or dealing with coworkers.
1. Reappraise Negative Emotions
The anger triggered by workplace conflict can damage our decision making by prompting overconfidence, unrealistic optimism, and aggression, negotiation researchers have found.
One negotiation study by James Gross of Stanford University and his colleagues compared the relative costs of two forms of emotional regulation: 1) suppression, or attempts to tamp down and avoid confronting our emotions, and 2) reappraisal, or attempts to control our emotions by changing how we think about a given situation. In this study, relative to those who engaged in reappraisal, participants who suppressed their emotions had impaired cognitive processing, and their negotiation counterparts liked them less.
How can you reappraise your anger when dealing with difficult employees or coworkers? Try to anticipate when you may be subject to strong emotional experiences and reappraise the situation beforehand, suggests Stanford University professor Margaret A. Neale. As an example, before a conference call with a difficult coworker, think about what they might say that could cause you to react emotionally. If you anticipate a threat, consider what it might suggest about what they value, says Neale. This type of reappraisal may help you head off an emotional reaction when coping with difficult coworkers.
2. Respond to Challenging Moves
Whenever negotiators are bargaining over concrete issues, such as the terms of a work project, they are simultaneously conducting a parallel negotiation regarding their relationship, write Deborah M. Kolb and Judith Williams in their book Everyday Negotiation: Navigating the Hidden Agendas in Bargaining (Jossey-Bass, 2003). This "shadow negotiation" explains why discussions of concrete, seemingly rational matters can lead to angry outbursts and hurt feelings.
Negotiators may make any of several "moves" to question each other's legitimacy and assert their power, note Kolb and Williams. For example, whether subtly or directly, a negotiator may challenge your competence or expertise, demean your ideas, or criticize your style.
How can you defend yourself against such moves without being accused of overreacting? Kolb and Williams suggest several responses, which they call "turns":
 - Interrupt the move. Take a break, which should give everyone present time to gain control of their emotions.
 - Try naming the move. Put your coworker on notice that you recognize their power play. If someone says, "You can't be serious!" in response to one of your ideas, for example, you might respond, "Actually, I'm quite serious. Instead of cutting me off, how about if you give me a chance to clarify my plan?"
 - Correct the move. Substitute the other side's negative remarks with a more positive interpretation of your behavior. If a coworker incorrectly blames you for a decision that went wrong, rather than lashing out, provide hard evidence in the form of the facts.
 - Divert the move. Shift the focus back to the issue at hand. If someone criticizes you as overly sensitive, you might say, "Let's try to avoid personal judgments and concentrate on the proposal."
3. Mediate a Resolution
The techniques of professional mediators can help us when coping with difficult coworkers and other sources of workplace conflict, writes Tufts University professor Jeswald Salacuse in his book Leading Leaders: How to Manage Smart, Talented, Rich, and Powerful People (Amacom, 2006).
In mediation, disputants work together to reach a resolution that satisfies both sides. The mediator helps disputants deal with conflict by encouraging them to share information about their interests and explore creative solutions.
As a leader, you can never be fully impartial, but you can adapt mediation skills with the goal of handling difficult conversations and helping the organization. By listening closely and encouraging problem solving, you may be able to bring employees together.
Leaders also can leverage punishment and rewards to resolve workplace conflict, writes Salacuse. If two unit heads have been fighting over an account, you could threaten to penalize them or their departments—say, by giving the account to a third unit or by decreasing their funding—to motivate them to negotiate a resolution. Alternatively, you could reward disputants for setting aside their differences, whether with praise, additional funding, or some other valued resource.
What other advice do you have for coping with difficult coworkers?


How to Install OpenOffice on Linux
Written in C language, Apache OpenOffice is a powerful software suite that allows you to perform basic office tasks such as word processing, create spreadsheets, and create stunning presentations. Written in C language, OpenOffice is opensource and free to download. It closely resembles the LibreOffice suite and is considered an ideal alternative to the Microsoft Office suite.
In this article, you will know how to install Openoffice on Linux Distributions such as Ubuntu, Debian, Mint, RHEL, and CentOS.
At the time of penning down this guide, the latest version of OpenOffice is Openoffice 4.1.7. Apache OpenOffice comes bundled with the following applications:
 1. Calc - A spreadsheet application, the equivalent of Microsoft Excel.
 2. Impress - This is a simple yet effective tool for creating slide presentations.
 3. Writer - A word processing application, the equivalent of Microsoft Word.
 4. Draw - A nifty tool that allows you to draw 3D images and create simple diagrams.
 5. Base - A database tool that lets you design tables, forms as well as create queries to retrieve results from the tables.
 6. Math - A tool that enables you to come up with mathematical equations.
That said, let's now switch gears and see how you can install OpenOffice on various Linux distributions.
How to install OpenOffice in Ubuntu/Debian/Mint
Firstly, before you embark on the installation of OpenOffice, ensure that Java is installed on your system. To do this, run the command:
$ java -version
If Java is not installed, you will the following output printed on your terminal:
Command 'java' not found, but can be installed with:
sudo apt install default-jre # version 2:1.11-72, or
sudo apt install openjdk-11-jre-headless # version 11.0.7+10-3ubuntu1
sudo apt install openjdk-13-jre-headless # version 13.0.3+3-1ubuntu2
sudo apt install openjdk-14-jre-headless # version 14.0.1+7-1ubuntu1
sudo apt install openjdk-8-jre-headless # version 8u252-b09-1ubuntu
To install Java, run the following command to install the default Java Runtime Environment (JRE) . This installed JRE from OpenJDK 11.
$ sudo apt install default-jre
Next, uninstall or remove the LibreOffice suite and its associated packages. To accomplish this, run the command:
$ sudo apt-get remove --purge libreoffice*
Next, clear the cache and free up the disk space.
$ sudo apt clean
$ sudo apt autoremove
Next, head over to the Official download page and select to download the Debian package from the pull-down menu shown.
download OpenOffice Debian package install OpenOffice on Linux
Similarly, you can run the following command on the terminal to download the Debian package.
$ wget _URL_
Now you have to extract the downloaded the tarball file:
$ tar -xvf Apache_OpenOffice_4.1.7_Linux_x86-64_install-deb_en-US.tar.gz
Once extracted, you will end up with a folder called en-US with a subfolder called DEBS that contains all the Debian packages that need to be installed. Therefore navigate to this sub-folder.
$ cd en-US/DEBS
Next, install OpenOffice using the following command as shown:
$ sudo dpkg -i *.deb
Finally, set up the desktop integration feature for your installation by navigating to the desktop-integrations directory
$ cd desktop-integrations
To install the desktop integrations feature, run the command:
$ sudo dpkg -i *.deb
How to install OpenOffice in CentOS/RHEL/Fedora
The installation of OpenOffice in CentOS & RHEL is pretty much similar to the installation of OpenOffice on Ubuntu and Debian distros. After uninstalling LibreOffice, head out to the OpenOffice download page and select to download the RPM package.
Download RPM package OpenOffice
Or you can download the package on the terminal for the specific version:
$ wget _URL_
Next, proceed and extract the tarball file.
$ tar -xvf Apache_OpenOffice_4.1.7_Linux_x86-64_install-rpm_en-US.tar.gz
This yields a en-US directory in your current working directory with the RPMS sub-directory that contains all the RPM packages associated with OpenOffice.
Navigate to 'en-US/RPMS' sub-directory.
$ cd en-US/RPMS
Install OpenOffice as shown:
$ sudo rpm -ivh *.rpm
The last step involves setting up the desktop integration for your OpenOffice setup. There's a desktop-integration directory in the RPMS directory. Navigate into it.
$ cd desktop-integration
Finally, execute the command:
$ sudo rpm -i openoffice4.1.7-redhat-menus-4.1.7-9800.noarch.rpm
Lanching OpenOffice
Once OpenOffice is installed, Launching it is quite easy. You can do it either via the terminal or using the application menu. On the terminal, run the command:
$ openoffice4
If you are using the application menu, simply search for the keyword 'OpenOffice'.
Launching OpenOffice suite
Next, click on the installation icon which is second from the left:
OpenOffice installation icon
This will open the welcome page as shown. Click on the 'Next' button to proceed.
OpenOffice welcome page
In the next step, fill out your username and provide the initials. Then finally click on the 'Finish' button
Provide username OpenOffice setup
Apache OpenOffice will start initializing and loading its components for the first time.
Install OpenOffice on Linux
Next, select the software application that you'd like to launch from the list of applications that bundle with Apache OpenOffice.
Install OpenOffice on Linux
Conclusion
In this article, we have shown you how to install OpenOffice on Linux. While not as popular and feature-rich as LibreOffice, OpenOffice suite still offers you a decent ability to open and work on various office documents such as spreadsheets, Word documents, and slide presentations. We do hope that you can comfortably get OpenOffice on your Linux system.
1 thought on "How to Install OpenOffice on Linux"... add one
Leave a Comment


text:
Did you know 413,000 or 14 percent of Kansans suffer from food insecurity? The issue affects communities across the state, and there's no magic bullet.
The American Farm Bureau wants to be part of the solution and parents, teachers and students can help. Through its Foundation for Agriculture students can tackle food insecurity with the Purple Plow Challenge.
What Is Food Insecurity?
Many children and adults wonder where their next meal is coming from, whether they will have enough food to eat throughout the week, and how to deal with hunger on a regular basis. That is food insecurity. And, it can affect anyone. In fact, many people are surprised to learn that neighbors or friends face food insecurity.
What Is the Purple Plow Challenge?
The Purple Plow Challenge is a program that tasks students with becoming aware of food insecurity issues and championing solutions in their communities. How? By creating and maintaining an edible plant garden. With spring just around the corner, this is a great time to introduce kids to gardening and help them get planting!
The gardens created during the Purple Plow Challenge could serve as prototypes for community gardens in the future designed to help combat food insecurity.
How Does It Work?
Students in grades 5-8 can enter to participate in the challenge, which runs runs through May 1, 2018. BONUS: It's a fun and simple way to get involved with your community and teach students about agriculture, STEM and giving back.
How Do I Start?
Before starting the challenge, sit down with teachers and administrators to set out a plan of action for the classroom, who may be willing to donate supplies and how to teach students about food insecurity.
For the challenge, students must complete an assessment of needs related to food and hunger in their community and then develop a growing space for edible plants. Here are some ideas to help you in your own challenge:
- Identify the problem in your community and describe what the solution may be. For this challenge, the solution may be one of the student's prototypes!
- Set goals for the project so the students know what to aim for when participating in the challenge. Let the students brainstorm all the ways they can fight food insecurity, what design they will use and all the materials needed.
- Build the prototype! This is the most fun part where students (and parents and teachers) get to see their designs come to life. Have them collect data like how long each plant takes to grow, what each plant produces and how much the materials cost.
- Discuss what this prototype could do on a large scale. How many people could they feed? Talk about the results and compare to the goals. Find the areas for improvement and make the changes.
- Finally, share all the ideas, designs, data and conclusions! Look for opportunities in the community to share the student's work and give them the opportunity to share it.
Benefits of Participating
Students will not only learn about the science of growing plants and the engineering of designing the perfect growing space, but they will also learn about food insecurity, population growth and access to resources.
This project has a far-reaching impact from students to parents to members of the community. Try a project that goes beyond the classroom to have a positive influence on those involved.
And finally, you might be able to win a prize for your local school! Enter the students' reflections and presentation or social media post to win one of eight $500 grants from the American Farm Bureau Foundation for Ag in the Classroom. The top three teams will win a 3D printer and Visa gift card to buy supplies for the next challenge.
Ready to start? Visit purpleplow.org for more information.
From the Purple Plow website:
- The Purple Plow encourages students to research scenarios related to food, hunger and sustainability and build their own prototypes to solve the defined problem. Resources provided for facilitators, students and volunteers are written by teachers, aligned to national learning standards and reviewed by industry experts.
- The Purple Plow is a great fit for individuals, groups, and 5th through 8th grade classes. It's perfect for maker spaces, after school programs, in-school lessons, 4-H clubs, library learning, scout troops and more!


Take the 2-minute tour ×
How big should a slice be for a DVD, assuming that the file system restricts the size?
should slices be 1GB or so? What's an efficient slice size?
share|improve this question
add comment
1 Answer
up vote 1 down vote accepted
According to the Wikipedia article,
It is, however, possible to circumvent this limitation by using the multi-extent (fragmentation) feature of ISO 9660 Level 3 and create ISO 9660 filesystems and single files up to 8 TB. With this, files larger than 4 GB can be split up into multiple extents (sequential series of sectors), each not exceeding the 4 GB limit. For example, the free software such as InfraRecorder and mkisofs as well as Roxio Toast are able to create ISO 9660 filesystems that use multi-extent files to store files larger than 4 GB on appropriate media such as recordable DVDs.
So a slice can be as large as a DVD (about 4.3 GB binary for a single-layer disc).
Limited file size
If, for whatever reason, you need to limit the file size to no more than max_file_size and the disk holds disk_size, make your slice size the largest disk_size / s less than max_file_size, where s is an integer. That way, you can fit s slices on the disk exactly (ignoring round-off error), wasting no space. For disk_size ≈ 4.3 GB and max_file_size = 1 GB, you could then make each slice 880 MB, fitting 5 slices per disc.
share|improve this answer
pardon, I meant to state assuming that the file system prevents large files, what's the optimum slice size? – Thufir Sep 16 '12 at 0:22
_USER_: Okay. Edited. – Mechanical snail Sep 16 '12 at 0:41
I haven't tried that, so I've accepted the answer assuming your arithmetic is correct :) – Thufir Sep 19 '12 at 20:33
add comment
Your Answer


text:
A historic farm in Minnesota that is on a national registry is now the subject of ongoing legal disputes that appear to be escalating. The farm is historic because it was once the home of a 19th century immigrant to the Minnesota area from Sweden. The immigrant kept a journal, which now has great significance both to Carver County, Minnesota, and to those of Swedish heritage.
In the 1970s, a man bought the farm and, eventually, began to recognize its historical importance. The farmland was eventually divided into four legal parcels of land. The man conveyed 20 acres of the land to his sons, but gave the remaining 50 acres to a historical society near the end of his life. According to the deed that the man signed, the historical society would get the land upon the man's death. Reportedly, the man also signed an agreement with the historical society that would give them access to the land.
Now, the two sons are refusing to honor the access agreement and also have suggested that their late father did not validly give the property to the historical society. The sons specifically state that their father was a victim of undue influence and also did not have capacity to give the property because of some ongoing issues with his health. At this point, it is not clear when a Minnesota court will take up these legal disputes, but a preliminary hearing is scheduled in the near future.
Aside from being of general interest to history buffs and residents of Carver County, this case goes to show that, even when a person attempts to transfer property by a deed, as opposed to a traditional will, a probate fight can still emerge, particularly, if family members are not happy that a charitable organization or other not-for-profit is getting the land. In these sorts of situations, an experienced probate litigation attorney can be helpful.
Source: Shakopee Valley News, "Legal action grows on historic farm in Carver County," Richard Crawford, Jan. 30, 2014

source: m-a-p/FineFineWeb


Take the 2-minute tour ×
If a space has curvature, then the curvature can be seen intrinsically by finding sums of angles in triangles made of geodesics. Under general relativity, space-time is curved on local scales. On global scales, experiments have determined that space-time is almost totally flat. If one were to, for each of three points in a gravitational gradient (like near a black hole), find the angle between the sight lines to the other two points and then add up all of the angles, would it add up to 180 (degrees) or perhaps it would show intrinsic curvature?
Is the way of thinking about this good, because it is quite general and conceptual. I don't actually know the equations for general relativity, but this is what I thought of when I was thinking about intrinsic geometric properties.
share|improve this question
I think that there is a problem in this view: in GR we are not dealing with Riemannian metrics, but instead with Lorentzian ones. That is, the signture of the metric is "(-,+,+,+)". The notion of "angle", something that varies between 0 and \Pi and denotes the inclination of one direction with respect to the other, is good for Riemannian metrics. There is no sense (as far as I know, please someone correct me if this is not true) in talking about this kind of angle in Lorentzian manifolds. – Ronaldo Oct 19 '10 at 21:00
What is well-defined is the "hyperbolic angle" between two time-like vectors, but this is another thing. Maybe you can look at a Riemannian submanifold (with a positive-definite metric) to analyze angles, but I don't know if this helps. – Ronaldo Oct 19 '10 at 21:01
_USER_: Now looking at the comments I think I have just done what you had in mind :) Greets – Robert Filter Jan 18 '11 at 14:36
1 Answer 1
your question tackles some basic concepts of general relativity and hence pseudo-Riemannian manifolds. To answer the several parts your question, we will have to go a little into detail.
Limiting behaviour of general relativity
First of all, I have to confess that you somehow got the limiting behaviour of Einstein's theory of gravitation the other way round.
Locally, you will always be able to construct a Minkowski spacetime with metric $$\eta = -c^2 dt^2 + d\mathbf{r}^2$$ such that your original spacetime metric $$g=\eta + \text{higher order terms}_{ij}dx^i dx^j$$ is kind of Taylor expanded locally. This linearization works pretty well for "normal life" gravitation and you can explain gravitational waves or get Newtonian gravitation. How good a linear approximation can be will tell you the value of the scalar Riemann curvature $R = R^a_{\,a}$.
For long-range interactions, this picture fails as a Taylor expansion will be more and more inaccurate. Then, you have to take the full theory into account and can, under further assumptions, explain things corresponding to cosmology.
Measuring angles
First of all, we have to make a simplification. If you would assume that you want to measure the angles of your triangle on a dynamic spacetime, you would have some conceptual problems defining how to return to the point where you started, and, maybe worse: what is an angle then?
So, it is convenient to assume that you want to do that in a stationary spacetime. That means there exists a local isometry of the metric $\varphi$ and a corresponding Killing field $\xi = \dot{\varphi}(\tau)$ which is properly parametrized, say $g\left( \xi,\xi \right) = -c^2\,\forall\tau$, $$\varphi^\star g = g$$
Now we can define something like an ordinary angle which I guess you had in mind. Consider the metric $$\tilde{g}\left(X,Y\right) = g\left(X,Y\right) - \frac{1}{g(\xi,\xi)}g\left(\xi,Y\right)g\left(\xi,X\right)$$ which only takes the spatial part of the scalar product of the vectors $X$ and $Y$, then you can assign an angle $\theta$ to these quantities in the usual sense as $$\cos \theta = \frac{\tilde{g}\left(X,Y\right)}{\sqrt{\tilde{g}\left(X,X\right)\cdot\tilde{g}\left(Y,Y\right)}}$$
Now you have to think of what $X$ and $Y$ should be. Since you want to compare these quantities at three different points, you will have to parallel transport them between these points using a geodesic motion, again in the 4D setup.
Light geodesics will be totally different from e.g. human ones. So, generally, the angles will depend on how you transport.
So, DarthPickley, if you have a light ray travelling on the event horizon of a Schwarzschild black hole, what would be the sum of the angles of a corresponding "triangle"?
share|improve this answer
This seems a bit overly complicated - it would make a lot more sense to me to define a triangle (not necessarily 'the' triangle!) between three points A, B, and C as being described by chosen geodesics between A and B, between B and C and between C and A (of course, if any of these sets are empty then there is no such triangle!). Stationarity ensures that we can speak only about the spatial portions of the metric and not the temporal portions (which I think was the poster's intention), and then all the quantities are well-defined... – Steven Stadnicki Jan 18 '11 at 18:45
e.g., as the two geodesics meeting at A should each have well-defined tangent vectors at A barring some sort of metric shenanigans, then you can define the angle of the triangle at A; this quantity is scalar and so transports trivially, and so you can add the three angles of the triangle. – Steven Stadnicki Jan 18 '11 at 18:46
_USER_: Thank you for your thoughts - I am not sure if I get them correctly, though. Assuming you are in a dynamic spacetime you can go from A to B to C on some geodesic. How do you go to A from C? It wont be possible with respect to causality. So you will have to define an equivalence class of points A - but in a dynamical spacetime this construction will be due to a certain gauge - your angle will depend on this as well. I wanted to leave out these things for simplicity. Greets – Robert Filter Jan 18 '11 at 19:34
Robert: I'm looking strictly at the internal geodesics (WRT the induced spatial metric) within some timeslice - essentially trapping the problem at a single 'time', for some loose definition of that term. While this doesn't always work, it does generally work for the stationary metrics you're talking about (outside of the wonkier regions, e.g. inside the Schwarzschild horizon!) and lets the problem be phrased as a strictly-spatial problem that IMHO gets more cleanly at the essence of the original question; the (timeslice-internal) geodesics correspond to what we think of as 'lines'. – Steven Stadnicki Jan 18 '11 at 20:56
_USER_: Thank you for your further thoughts. First of all I have to state that the choice of a timeslice would be the gauge I was referring to - hence angles will depend on this choice. Second of all the author is referring to lines of sight - I would interprete these as light geodesics. So, to maybe find a compromise here: One could define such angles more generally but they would depend on the gauge. Is this along your lines of thought? Greets – Robert Filter Jan 18 '11 at 22:17
Your Answer


text:
Early Learning Center
SPRINGFIELD? The Illinois State Board of Education (ISBE) encourages families to establish and maintain good health and study habits as schools across the state open doors for the start of a new academic year. The onset of the school year provides a prime opportunity to review academic skills and implement positive habits and routines.
"Students need to arrive at school ready for new challenges and experiences," said State Board of Education Chairman Gery J. Chico. "Families can help their children excel by developing habits that ensure children get enough sleep, a good breakfast and a dedicated study time and place. Most importantly, they can pass on a positive attitude about education. Learning doesn't just happen during the school day but every moment adults spend with children."
As students approach the new school year, families might start new bedtime hours for an easier transition during the first week of school. Setting aside a quiet dedicated study space, with good light and appropriate supplies, may help children focus as they do homework.
A review of academic skills before the start of the school year may also help students succeed in the classroom. Some ideas include:


text:
The product glides on the sealed Teﬂon or ceramic surface of the sensor where the moisture measurement is taken. The sensor is fixed in place using the ﬂange and is placed in critical points throughout your production process. Performs well in high vibration environments and is ideally suited for granular or powdered products. Typically used in bins, hoppers, planar (sloping/vertical/horizontal) surfaces and conveyor drop-off points.
Sealed Moisture Sensor: In a sealed sensor, an insulating material supports the center electrode, at the same time forming a flush sealed surface. Choice of insulator material depends on many factors including sanitary requirements, wear resistance and operating temperature.
Teflon Insulator: Materials include Teflon (PTFE) for food-grade applications. Teflon withstands high temperature (260°C) and is nonstick, but is quite easily worn down by abrasive materials.
Polyethylene Insulator: Ultra-high molecular weight polyethylene (UHMWPE) is also food-grade and much harder wearing than Teflon, but is limited to relatively cool applications (60°C).Ceramic Insulator: High alumina ceramic is another useful material. It is extremely hard wearing, second only to diamond, but is brittle and not accepted in food applications. The most important consideration for any insulating material is that it must be dimensionally stable and absolutely non-hygroscopic.
Sensor Application: The most common application is located in the side of a hopper or bin such that the inside surface is flush with the inner wall of the vessel. In hopper/bin applications, it is important to maintain a fairly constant height of material above the sensor, particularly if the material is compressible since density changes as well as moisture content will influence the dielectric value. Another thing to consider with bin applications is that the flow of product is maintained over the sensor at all times. A static build-up of product on the sensor will obviously impair accuracy.
Geometries and Sizes: The Flange Mount Series is available in numerous geometries and sizes. These varieties of options give the Flange Mount the versatility of being placed exactly where your moisture measurement is needed.
No video is available for this product


text:
30 Days of Prayer Int'l
Colorado Springs, CO
Afghans have been fleeing their homeland for years, but the exodus grew more intense as Kabul fell into Taliban hands and Talib fighters became more open about persecuting and killing people they do not approve of. Thankfully, Tajikistan was one of the nations that was willing to host Afghan refugees.
Last year the Afghan refugee population in Tajikistan numbered about 5,000. Many of these have been in Tajikistan for 5 or 10 years or longer. These Afghans are from all the major ethnic groups in their home country (Pashtu, Hazara, Tajiks, Uzbeks, etc.) and are practicing Muslims.
Tajikistan offered safety but not much more. Many refugees are merely existing there. Despite a close cultural and language affinity, they have little hope of building a stable life in Tajikistan. Around 80% of Afghan men and women in Tajikistan are unemployed and there is little material support from their host country. Sadly, there there are no prospects of gaining citizenship either. Afghan refugees suffer from the trauma of persecution and flight, depression, hopelessness, poverty and the ever present fear of deportation back to their home country. For the few followers of Jesus amongst them (estimated at about 300 to 400), added to this is exclusion and rejection – particularly from their own families.
Most Afghan refugees want to leave the country for Canada or the USA. To do this, they need a sponsor who will bear the costs and vouch for the new arrivals. Almost all refugees place their hope in this option but it is a long and difficult journey.
Pray More: Get the Afghanistan Prayer Guide at prayafghanistan.org
How to Pray
- Pray that God will provide the refugees encouragement and hope for the future.
- Ask God that that those suffering from trauma will receive professional help and healing for the pains and losses.
- Pray for steadfastness and comfort for the Afghan followers of Jesus who experience rejection, separation from community and persecution.


Diagonal
From Wikipedia, the free encyclopedia
Jump to: navigation, search
For the avenue in Barcelona, see Avinguda Diagonal.
The diagonals of a cube with side length 1. AC' (shown in blue) is a space diagonal with length \sqrt 3, while AC (shown in red) is a face diagonal and has length \sqrt 2.
In geometry, a diagonal is a line segment joining two nonconsecutive vertices of a polygon or polyhedron. Informally, any sloping line is called diagonal. The word "diagonal" derives from the ancient Greek διαγώνιος diagonios,[1] "from angle to angle" (from διά- dia-, "through", "across" and γωνία gonia, "angle", related to gony "knee"); it was used by both Strabo[2] and Euclid[3] to refer to a line connecting two vertices of a rhombus or cuboid,[4] and later adopted into Latin as diagonus ("slanting line").
In matrix algebra, a diagonal of a square matrix is a set of entries extending from one corner to the farthest corner.
There are also other, non-mathematical uses.
Non-mathematical uses[edit]
A stand of basic scaffolding on a house construction site, with diagonal braces to maintain its structure
In engineering, a diagonal brace is a beam used to brace a rectangular structure (such as scaffolding) to withstand strong forces pushing into it; although called a diagonal, due to practical considerations diagonal braces are often not connected to the corners of the rectangle.
Diagonal pliers are wire-cutting pliers defined by the cutting edges of the jaws intersects the joint rivet at an angle or "on a diagonal", hence the name.
A diagonal lashing is a type of lashing used to bind spars or poles together applied so that the lashings cross over the poles at an angle.
In association football, the diagonal system of control is the method referees and assistant referees use to position themselves in one of the four quadrants of the pitch.
The diagonal is a common measurement of display size.
Polygons[edit]
As applied to a polygon, a diagonal is a line segment joining any two non-consecutive vertices. Therefore, a quadrilateral has two diagonals, joining opposite pairs of vertices. For any convex polygon, all the diagonals are inside the polygon, but for re-entrant polygons, some diagonals are outside of the polygon.
Any n-sided polygon (n ≥ 3), convex or concave, has
\frac{n^2-3n}{2}\,
or
\frac{n(n-3)}{2}\,
diagonals, as each vertex has diagonals to all other vertices except itself and the two adjacent vertices, or n − 3 diagonals.
Sides Diagonals
3 0
4 2
5 5
6 9
7 14
8 20
9 27
10 35
Sides Diagonals
11 44
12 54
13 65
14 77
15 90
16 104
17 119
18 135
Sides Diagonals
19 152
20 170
21 189
22 209
23 230
24 252
25 275
26 299
Sides Diagonals
27 324
28 350
29 377
30 405
31 434
32 464
33 495
34 527
Sides Diagonals
35 560
36 594
37 629
38 665
39 702
40 740
41 779
42 819
Matrices[edit]
In the case of a square matrix, the main or principal diagonal is the diagonal line of entries running from the top-left corner to the bottom-right corner.[5][6][7] For a matrix A with row index specified by i and column index specified by j, these would be entries A_{ij} with i = j. For example, the identity matrix can be defined as having entries of 1 on the main diagonal and zeroes elsewhere:
\begin{pmatrix}
 1 & 0 & 0 \\
 0 & 1 & 0 \\
 0 & 0 & 1
\end{pmatrix}
The top-right to bottom-left diagonal is sometimes described as the minor diagonal or antidiagonal. The off-diagonal entries are those not on the main diagonal. A diagonal matrix is one whose off-diagonal entries are all zero.[8][9]
A superdiagonal entry is one that is directly above and to the right of the main diagonal.[10][11] Just as diagonal entries are those A_{ij} with j=i, the superdiagonal entries are those with j = i+1. For example, the non-zero entries of the following matrix all lie in the superdiagonal:
\begin{pmatrix}
 0 & 2 & 0 \\
 0 & 0 & 3 \\
 0 & 0 & 0
\end{pmatrix}
Likewise, a subdiagonal entry is one that is directly below and to the left of the main diagonal, that is, an entry A_{ij} with j = i - 1.[12] General matrix diagonals can be specified by an index k measured relative to the main diagonal: the main diagonal has k = 0; the superdiagonal has k = 1; the subdiagonal has k = -1; and in general, the k-diagonal consists of the entries A_{ij} with j = i+k.
Geometry[edit]
By analogy, the subset of the Cartesian product X×X of any set X with itself, consisting of all pairs (x,x), is called the diagonal, and is the graph of the equality relation on X or equivalently the graph of the identity function from X to x. This plays an important part in geometry; for example, the fixed points of a mapping F from X to itself may be obtained by intersecting the graph of F with the diagonal.
In geometric studies, the idea of intersecting the diagonal with itself is common, not directly, but by perturbing it within an equivalence class. This is related at a deep level with the Euler characteristic and the zeros of vector fields. For example, the circle S1 has Betti numbers 1, 1, 0, 0, 0, and therefore Euler characteristic 0. A geometric way of expressing this is to look at the diagonal on the two-torus S1xS1 and observe that it can move off itself by the small motion (θ, θ) to (θ, θ + ε). In general, the intersection number of the graph of a function with the diagonal may be computed using homology via the Lefschetz fixed point theorem; the self-intersection of the diagonal is the special case of the identity function.
See also[edit]
Notes[edit]
 1. ^ Online Etymology Dictionary
 2. ^ Strabo, Geography 2.1.36–37
 3. ^ Euclid, Elements book 11, proposition 28
 4. ^ Euclid, Elements book 11, proposition 38
 5. ^ Bronson (1970, p. 2)
 6. ^ Herstein (1964, p. 239)
 7. ^ Nering (1970, p. 38)
 8. ^ Herstein (1964, p. 239)
 9. ^ Nering (1970, p. 38)
 10. ^ Bronson (1970, pp. 203,205)
 11. ^ Herstein (1964, p. 239)
 12. ^ Cullen (1966, p. 114)
References[edit]
External links[edit]


text:
I want to write some data to an Excel file, and I want the first page to show a summary of the data that are spread all over the sheets. The individual data items on a sheet can be included or excluded, and I want the summary to be calculated only on the included values.
Thus, I thought I'd use a formula like this to show, for example, an average (for which empty fields shouldn't be counted, either):
If I have this formula in
dataSheet1, everything works fine. If I have this formula in the
summary sheet, I need to enter it as an array formula, and I have to specify the exact ranges to make it work. Is there a way (aside from adding the average in
dataSheet, and then referencing the result in
summary) to make the formula work without having it turn into an array formula?


' from a sequence of 'NUL'-terminated 'UTF8.CodeUnit' as a 'WithUnsafeBufferPointerType'. init?<T: WithUnsafeBufferPointerType where T.Element == UTF8.CodeUnit>(nulTerminatedUTF8: T) { guard let string = nulTerminatedUTF8.withUnsafeBufferPointer({ String(UTF8String: UnsafePointer($0.baseAddress))}) else { return nil } self = string } /// Initializes a 'String' from a sequence of 'UTF8.CodeUnit's that conforms to 'WithUnsafeBufferPointerType'. A 'NUL'-terminator is not required. init?<T: WithUnsafeBufferPointerType where T.Element == UTF8.CodeUnit>(UTF8CodeUnits: T) { let string = UTF8CodeUnits.withUnsafeBufferPointer { NSString(bytes: $0.baseAddress, length: $0.count, encoding: NSUTF8StringEncoding) } if let string = string as? String { self = string } else { return nil } } /// Initializes a 'String' from any sequence of 'UTF8.CodeUnit's. A 'NUL'-terminator is not required. /// /// Note that this initializer may be slow because it must first convert the input sequence to an 'Array'. init?<T: SequenceType where T.Generator.Element == UTF8.CodeUnit>(UTF8CodeUnitSequence: T) { self.init(UTF8CodeUnits: Array(UTF8CodeUnitSequence)) } /// Initializes a 'String' from a buffer of 'UTF8.CodeUnit'. A 'NUL'-terminator is not required. init?(UTF8CodeUnits buffer: UnsafeBufferPointer<UTF8.CodeUnit>) { if let string = NSString(bytes: buffer.baseAddress, length: buffer.count, encoding: NSUTF8StringEncoding) { self = string as String } else { return nil } } /// Initializes a 'String' from a mutable buffer of 'UTF8.CodeUnit'. A 'NUL'-terminator is not required. /// /// This is a convenience initializer for when a 'UnsafeMutableBufferPointer' exists already. It does not modify the input. init?(UTF8CodeUnits buffer: UnsafeMutableBufferPointer<UTF8.CodeUnit>) { self.init(UTF8CodeUnits: UnsafeBufferPointer(start: buffer.baseAddress, count: buffer.count)) } /// Calls the given closure with a 'UnsafeBufferPointer<UTF8.CodeUnit>' to an optionally 'NUL'-terminated UTF-8 representation of the 'String'. func withUTF8UnsafeBufferPointer<Result>(includeNulTerminator includeNulTerminator: Bool = true, @noescape f: UnsafeBufferPointer<UTF8.CodeUnit> throws -> Result) rethrows -> Result { return try nulTerminatedUTF8.withUnsafeBufferPointer { codeUnitBuffer in let cCharBufferCount = includeNulTerminator ? codeUnitBuffer.count : codeUnitBuffer.count - 1 let cCharBuffer = UnsafeBufferPointer<UTF8.CodeUnit>(start: UnsafePointer(codeUnitBuffer.baseAddress), count: cCharBufferCount) return try f(cCharBuffer) } } } /// A common protocol of all array-like types that implement a 'withUnsafeBufferPointer()' method. protocol WithUnsafeBufferPointerType { associatedtype Element func withUnsafeBufferPointer<R>(@noescape body: (UnsafeBufferPointer<Element>) throws -> R) rethrows -> R } extension Array: WithUnsafeBufferPointerType { } extension ArraySlice: WithUnsafeBufferPointerType { } extension ContiguousArray: WithUnsafeBufferPointerType { }
a843011d68d481dbc4814a14c3f015ba
41.914634
187
0.710429
false
false
false
false
shnhrrsn/ImagePalette
refs/heads/master
src/ColorHistogram.swift
apache-2.0
1
// // ColorHistogram.swift // ImagePalette // // Original created by Google/Android // Ported to Swift/iOS by Shaun Harrison // import Foundation import UIKit /** Class which provides a histogram for RGB values. */ public struct ColorHistogram { /** An array containing all of the distinct colors in the image. */ private(set) public var colors = [Int64]() /** An array containing the frequency of a distinct colors within the image. */ private(set) public var colorCounts = [Int64]() /** Number of distinct colors in the image. */ private(set) public var numberOfColors: Int /** A new ColorHistogram instance. :param: Pixels array of image contents */ public init(pixels: [Int64]) { // Sort the pixels to enable counting below var pixels = pixels pixels.sort() // Count number of distinct colors self.numberOfColors = type(of: self).countDistinctColors(pixels) // Finally count the frequency of each color self.countFrequencies(pixels) } private static func countDistinctColors(_ pixels: [Int64]) -> Int { if pixels.count < 2 { // If we have less than 2 pixels we can stop here return pixels.count } // If we have at least 2 pixels, we have a minimum of 1 color... var colorCount = 1 var currentColor = pixels[0] // Now iterate from the second pixel to the end, counting distinct colors for pixel in pixels { // If we encounter a new color, increase the population if pixel != currentColor { currentColor = pixel colorCount += 1 } } return colorCount } private mutating func countFrequencies(_ pixels: [Int64]) { if pixels.count == 0 { return } var currentColorIndex = 0 var currentColor = pixels[0] self.colors.append(currentColor) self.colorCounts.append(1) if pixels.count == 1 { // If we only have one pixel, we can stop here return } // Now iterate from the second pixel to the end, population distinct colors for pixel in pixels { if pixel == currentColor { // We've hit the same color as before, increase population self.colorCounts[currentColorIndex] += 1 } else { // We've hit a new color, increase index currentColor = pixel currentColorIndex += 1 self.colors.append(currentColor) self.colorCounts.append(1) } } } }
7944147ce652c729239422d1330c4d81
21.300971
77
0.69003
false
false
false
false
fitpay/fitpay-ios-sdk
refs/heads/develop
FitpaySDK/Rest/RestClientCreditCard.swift
mit
1
import Foundation import Alamofire extension RestClient { // MARK: - Completion Handlers /** Completion handler - parameter result: Provides collection of credit cards, or nil if error occurs - parameter error: Provides error object, or nil if no error occurs */ public typealias CreditCardsHandler = (_ result: ResultCollection<CreditCard>?, _ error: ErrorResponse?) -> Void /** Completion handler - parameter creditCard: Provides credit card object, or nil if error occurs - parameter error: Provides error object, or nil if no error occurs */ public typealias CreditCardHandler = (_ creditCard: CreditCard?, _ error: ErrorResponse?) -> Void /** Completion handler - parameter pending: Provides pending flag, indicating that transition was accepted, but current status can be reviewed later. Note that CreditCard object is nil in this case - parameter card?: Provides updated CreditCard object, or nil if pending (Bool) flag is true or if error occurs - parameter error?: Provides error object