text:
Tuesday 18 June
Whitehead's spiny rat (Maxomys whiteheadi)
Whitehead's spiny rat fact file
- Find out more
- Print factsheet
Whitehead's spiny rat description
Named after the British explorer John Whitehead who first documented its existence (3), Whitehead's spiny rat (Maxomys whiteheadi) has reddish-brown upperparts with grey underfur (2) (4). As its name suggests, Whitehead's spiny rat also has numerous inflexible grey spines with black tips on its upperparts, which are thought to be for protection. The underparts are orange-buff with grey underfur and numerous soft, pale spines (4) (5).
The tail, which is shorter than the head and body length combined, is bicoloured, with a brown-black upperside separated from a white underside by a sharp line (6).
Male Whitehead's spiny rats generally have longer hindfeet than females. This species of rat has the largest teeth of all Maxomys species. Six subspecies of Whitehead's spiny rat are currently recognised, all of which differ slightly in appearance (7).
- Also known as
- Whitehead's sundaic maxomys. Top
Borneo Conservation Trust:
- A very diverse phylum (a major grouping of animals) that includes crustaceans, insects and arachnids. All arthropods have paired jointed limbs and a hard external skeleton (exoskeleton).
- A category used in taxonomy, which is below 'family' and above 'species'. A genus tends to contain species that have characteristics in common. The genus forms the first part of a 'binomial' Latin species name; the second part is the specific name.
- Home range
- The area occupied by an animal during routine activities, which is not actively defended.
- Having only one mate during a breeding season, or throughout the breeding life of a pair.
- Active at night.
- Feeding on both plants and animals.
- A population usually restricted to a geographical area that differs from other populations of the same species, but not to the extent of being classified as a separate species.
IUCN Red List (November, 2010)
- Payne, J., Francis, C.M. and Phillipps, K. (1985) A Field Guide to the Mammals of Borneo. The Sabah Society and World Wildlife Fund Malaysia, Kota Kinabalu, Kuala Lumpur.
- Beolens, B., Watkins, M. and Grayson, M. (2009) Eponym Dictionary of Mammals. The Johns Hopkins University Press, Baltimore, Maryland.
- Yasuma, S., Andau, M., Apin, L., Tuh Yit Yu, F. and Kimsui, L. (2003) Identification Keys to the Mammals of Borneo. Park Management Component, BBEC Programme, Kota Kinabalu, Sabah.
- Nowak, R.M. (1999) Walkers Mammals of the World. The Johns Hopkins University Press, Baltimore, Maryland.
- Harrison, J.L. (1966) An Introduction to the Mammals of Singapore and Malaya. Malaya Nature Society, Singapore.
- Sinaga, M.H., Gorog, A.J. and Chinen, A.A. (2007) Morphological variation of Whitehead's rat Maxomys whiteheadi (Rodentia: Muridae) from Kalimantan and Sumatra. Zoo Indonesia, 62(2): 75-86.
- Nakagawa, M., Miguchi, H., Sato, K. and Nakashizuka, T. (2007) A preliminary study of two sympatric Maxomys rats in Sarawak, Malaysia: spacing patterns and population dynamics. Raffles Bulletin of Zoology; 55(2): 381-387.
- Rajaratnam, R., Sunquist, M., Rajaratnam, L. and Ambu, L. (2007) Diet and habitat selection of the leopard cat (Prionailurus bengalensis borneoensis) in an agricultural landscape in Sabah, Malaysian Borneo, Journal of Tropical Ecology, 23: 209-217.
- Shingo, M., Yasuda, M. and Ratnam, L. (1997) Who steals the fruits? Monitoring furgivory of mammals in a tropical rainforest. Malayan Nature Journal, 50: 183-193.
- Curran, L.M. and Webb, C.O. (2000) Experimental tests of the spatiotemporal scale of seed predation in mast-fruiting Dipterocarpaceae. Ecological Monographs, 70(1): 129-148.
- Mittermeier, R.A., Robles-Gil, P., Hoffmann, M., Pilgrim, J.D., Brooks, T.M., Mittermeier, C.G., Lamoreux, J.L. and Fonseca, G. (2004) Hotspots Revisited: Earth's Biologically Richest and Most Endangered Ecoregions. Cemex, Mexico City.
WWF – Borneo (November, 2010)
- view the contents of, and Material on, the website;
- download and retain copies of the Material on their personal systems in digital form in low resolution for their own personal use;
- teachers, lecturers and students may incorporate the Material in their educational material (including, but not limited to, their lesson plans, presentations, worksheets and projects) in hard copy and digital format for use within a registered educational establishment, provided that the integrity of the Material is maintained and that copyright ownership and authorship is appropriately acknowledged by the End User.
Whitehead's spiny rat biology
Whitehead's spiny rat is believed to be monogamous, with each breeding pair occupying a home range that is defended against other spiny rats (8). It is believed to breed throughout the year, at least in peninsular Malaysia, and has one to six young per litter (5).
A nocturnal animal (8), Whitehead's spiny rat spends its nights foraging on the forest floor for a wide range of plant material, such as fallen fruits and seeds, with a preference for oil palm fruit (10). However, as an omnivorous species, its diet also includes arthropods (8). Like other spiny rats, it is a hoarder, storing seeds in deep underground burrows that are dug by other forest animals (11).
Whitehead's spiny rat is eaten by a number of predators, including the leopard cat (Prionailurus bengalensis) (9).Top
Whitehead's spiny rat range
Whitehead's spiny rat is native to Southeast Asia, ranging from peninsular Thailand south to Malaysia, Indonesia and Brunei. This includes the islands of Borneo and Sumatra, as well as various neighbouring islands (1).Top
Whitehead's spiny rat habitat
Belonging to a genus of rodents which are the most common in Southeast Asian tropical forests, Whitehead's spiny rat is found in old undisturbed areas of forest (8), as well as areas that have re-grown following a disturbance (secondary forest) (9). This ground-dwelling spiny rat also inhabits rice paddies and gardens adjacent to forests (8). Although generally a lowland species, Whitehead's spiny rat has been recorded at elevations as high as 2,100 metres on the slopes of Mount Kinabalu (1).Top
Whitehead's spiny rat status
Whitehead's spiny rat is classified as Vulnerable (VU) on the IUCN Red List (1).Top
Whitehead's spiny rat threats
The main threat to Whitehead's spiny rat is the widespread loss of habitat on Sumatra and Borneo (1), as a result of commercial logging and agriculture, particularly oil palm plantations (12). Lowland forests have been particularly hard hit, with some predicting that if this rate of deforestation continues, lowland forest in Sumatra and Kalimantan (Indonesian Borneo) may soon disappear completely (12).Top
Whitehead's spiny rat conservation
Although there are no known specific conservation measures currently in place for Whitehead's spiny rat, it occurs in the protected area of the Mount Kinabalu National Park, Borneo. A number of conservation organisations, such as WWF, are working to conserve forest in the region this endangered species inhabits (1) (13).Top
Find out more
Learn more about conservation in Borneo:
This information is awaiting authentication by a species expert, and will be updated as soon as possible. If you are able to help please contact:
MyARKive offers the scrapbook feature to signed-up members, allowing you to organize your favourite ARKive images and videos and share them with friends.
Terms and Conditions of Use of Materials
Copyright in this website and materials contained on this website (Material) belongs to Wildscreen or its licensors.
Visitors to this website (End Users) are entitled to:
End Users shall not copy or otherwise extract, alter or manipulate Material other than as permitted in these Terms and Conditions of Use of Materials.
Additional use of flagged material
Green flagged material
Certain Material on this website (Licence 4 Material) displays a green flag next to the Material and is available for not-for-profit conservation or educational use. This material may be used by End Users, who are individuals or organisations


Mathematics and Clinical Concepts, Part V: Using Relations to Organize Clinical Information
We saw in the last post that taking the Cartesian product of two sets results in a collection of ordered pairs. Now, we are going to explore how ordered pairs and larger groupings can be used to organize information using relations.
Here is the definition of a relation taken from Discrete Mathematics with Applications, by Epp:
Let A and B be sets. A relation R from A to B is a subset of A x B. Given an ordered pair (x, y) in A x B, x is related to y by R, written x R y, if, and only if, (x, y) is in R. The set A is called the domain of R and set B is called its co-domain. (1)
This definition makes it clear that a relation R is a subset of the Cartesian product of two sets. It further clarifies that the subset of ordered pairs contained in the relation is determined by whatever R is. Here is an example. Suppose we have two sets: A= {1, 2, 3}, B = {2,3,4}. The Cartesian product of these two sets is the set of ordered pairs:
A x B = {(1, 2), (1,3), (1,4), (2,2), (2,3), (2,4), (3,2), (3,3), (3,4)}
From here, we can define a relationship on A x B that selects out the type of ordered pairs we are interested in. Let's say we are interested in a relation x R y where R = x < y. Analyzing A x B, we can see that the ordered pairs that fulfill the x < y relation are:
x R y = {1,2), (1,3), (1,4), (2,3), (2,4), (3,4)}
Using relations
Even though relations are defined as a subset of a Cartesian product, there is no requirement that they be generated in that way. Here is a clinical example. Suppose we are building a clinical app and the goal is to track patients and their diagnoses. We can began by defining a relation from the set of patients to the set of diagnoses – specifically that a patient x has diagnosis y. We will call this relation Problem List (PL). (The ellipses indicates that there are many more pairs than are listed.)
PL = {(Doe, headache), (Smith, chest pain), (Green, asthma), …}
This relation could have been created by taking a list of patients and a list of diagnoses, generating the Cartesian product, then checking each pair to see if it actually represents a real situation (i.e., Mr. Doe actually has complained of headaches). However, it could just as easily have been generated by clinicians adding patient problems into our app. The important thing is that relations obey certain mathematical rules, and we can make use of those rules for any relation regardless of how it was created.
Databases and relations
Since we know that relations are derived from sets, we can use a relation to generate a set. For example, we know that ordered pairs in the relation PL have a patient's name for the first value and a diagnosis for the second. With this knowledge, we could reconstruct the set of all known ailments (at least among this patient population) by simply collecting into a set all of the diagnosis elements from the ordered pairs. We could do the same with the patient elements and find everyone who has at least one problem. Assuming the pairs exist in our software as a collection of PL objects, we could generate the list of all ailments using code similar to this:
Add_SecondValue to Ailment_List
Of course, there is no reason to limit the relation to ordered pairs (referred as a binary relation); relations may have an arbitrary number of elements. Such relations are referred to as n-ary relations, and they are the starting point for relational databases.
We can expand our PL relation to contain more elements by adding DOB, diagnosis date and doctor.
Expanded PL = (Name, DOB, Diagnosis, Diagnosis_Date, Doctor)
(Doe, 12/15/1967, headache, 03/15/2013, Jones)
(Smith, 06/07/1949, chest pain, 05/11/2013, Brown)
(Green, 10/09/1988, asthma, 09/25/2013, Smythe)
Using this relation, we can ask more complex questions such as: "How many doctors are there?"; "Who has asthma"; "When was Mr. Doe diagnosed with a headache?" Relational algebra, the mathematical basis of relational databases, provides the formal rules for manipulating n-ary relations (queries, joins, selections, projections, etc.).
Equivalence relations
Thus far, I have discussed relations between two or more sets. However, relations on a single set are interesting and useful as well. Using relations on a single set, we can explore general relation properties such as reflexivity, symmetry, and transivity (1). Let's start with a clinical example. Suppose we have a set of terms for medical ailments.
A = {MI, myocardial infarction, hypertension, HBP, high blood pressure, …}
We will apply the relation: x R y such that R= x is a synonym for y. A set of ordered pairs that meet this requirement is listed below.
x R y = x is a synonym for y = {(MI, MI), (myocardial infarction, myocardial infarction), (MI, myocardial infarction), (myocardial infarction, MI), (hypertension, HBP), (HBP, high blood pressure), (HBP, hypertension), (hypertension, high blood pressure), (high blood pressure, hypertension), high blood pressure, HBP), (HBP, HBP), (hypertension, hypertension), (high blood pressure, high blood pressure) }
Pairs such as (MI, MI) and (high blood pressure, high blood pressure) demonstrate reflexivity because each term is synonymous with itself. This is the same as saying x is a synonym for x.
Symmetry is illustrated by pairs such as (MI, myocardial infarction), (myocardial infarction, MI), which demonstrate that the relation is bi-directional. In other words, it shows that just as x is related to y, y is related to x. In plain English: MI is a synonym for myocardial infarction (MI, myocardial infarction) and myocardial infarction is a synonym for MI (myocardial infarction, MI).
The pairs (hypertension, HBP), (HBP, high blood pressure), (hypertension, high blood pressure) demonstrate the link between terms. Namely, hypertension is a synonym for HBP; HBP is a synonym for high blood pressure; therefore, hypertension is a synonym for high blood pressure.
Any relation that exhibits reflexivity, symmetry, and transivity is referred to as an equivalence relation (1).
If a relation is an equivalence relation, it can be used to generate equivalence classes. An equivalence class is the set of all terms that are related to a specific term in the relation (1). An equivalence class is represented symbolically as [a] (1). Thus the equivalence classes for hypertension and myocardial infarction are represented as:
[hypertension] = {HBP, high blood pressure, hypertension}
[myocardial infarction] = {MI, myocardial infarction}
Equivalence classes can be useful in a number of situations. For example, using the above synonym relation, we could create a thesaurus that could automatically map synonyms to a preferred term. One possible use case would be mapping various terms in an EHR to the preferred SNOMED term for that ailment.
Partial-order relations
Mathematically speaking, partial order relations are relations on a single set that are reflexive, transitive, and anti-symmetric. Partial order relations are useful for organizing things into hierarchies. A good example of a partial order relation for real numbers is "<=". Using this relation, numbers can be sorted in ascending order: 1<=2<=3<=4…
Partial order relations are everywhere. Courses for a college major have prerequisites and must be taken in a specific order. If we say that for a biology degree, the courses that must be completed are the set {101, 102, 115, 201, 202, 234, 267, 301, 305, 410, 421, 431}, and lower-numbered courses must be completed before those with higher numbers, this represents a type of less-than relation.
This prerequisite relation will contain pairs such as (101,101), (202,202), thereby demonstrating reflexivity. (Of course, we can ignore this property when advising students.)
Anti-symmetry enters the picture because pairs such as (101, 201) and (201, 301) are included, indicating that 101 must be taken before 201 and 201 must be taken before 301. However, it is impossible to take 201 before 101 or 301 prior to 201. Therefore, these relations are not symmetric; they go only one way—from lower to higher.
Finally,


Simulink Design Optimization
Specify Custom Signal Objective with Uncertain Variable (GUI)
This example shows how to specify a custom objective function for a model signal. You calculate the objective function value using a variable that models parameter uncertainty.
Competitive Population Dynamics Model
The Simulink model sdoPopulation models a simple two-organism ecology using the competitive Lotka-Volterra equations:
$$\frac{d P_1}{dt} = R_1 P_1 (1 - \frac{P_1(t-\tau_1)+\alpha
P_2(t-\tau_2)}{K})$$
$$\frac{d P_2}{dt} = R_2 P_2 (1 - \frac{P_2(t-\tau_2)+\alpha
P_1(t-\tau_1)}{K})$$
 - $P_n$ is the population size of the n-th organism.
 - $R_n$ is the inherent per capita growth rate of each organism.
 - $\tau_n$ is the competitive delay for each organism.
 - $K$ is the carrying capacity of the organism environment.
 - $\alpha$ is the proximity of the two populations and how strongly they affect each other.
The model uses normalized units.
Open the model.
The two-dimensional signal, P, models the population sizes for P1 (first element) and P2 (second element). The model is initially configured with one organism, P1, dominating the ecology. The Population scope shows the P1 population oscillating between high and low values, while P2 is constant at 0.1. The Population Phase Portrait block shows the population sizes of the two organisms in relation to each other.
Population Stabilization Design Problem
Tune the $R_2$, $\tau_2$, and $\alpha$ values to meet the following design requirements:
 - Minimize the population range, that is, the maximum difference between P1 and P2.
 - Stabilize P1 and P2, that is, ensure that neither organism population dies off or grows extremely large.
You must tune the parameters for different values of the carrying capacity, $K$. This ensures robustness to environment carrying-capacity uncertainty.
Open Design Optimization Tool
Double-click the Open Optimization Tool block in the model to open a pre configured Design Optimization tool session. The session specifies the following variables:
 - DesignVars - Design variables set for the $R_2, \tau_2$, and $\alpha$ model parameters.
 - K_unc - Uncertain parameter modeling the carrying capacity of the organism environment ( $K$ ). K_unc specifies the nominal value and two sample values.
 - P1 and P2 - Logged signals representing the populations of the two organisms.
Specify Custom Signal Objective Function
Specify a custom requirement to minimize the maximum difference between the two population sizes. Apply this requirement to the P1 and P2 model signals.
 1. Open the Create Requirement dialog box. In the New list, select Custom Requirement.
 2. Specify the following in the Create Requirement dialog box:
 - Name - Enter PopulationRange.
 - Type - Select Minimize the function output from the list.
 - Function - Enter _USER_. For more information about this function, see Custom Signal Objective Function Details.
 - Select Signals and Systems to Bound (Optional) - Select the P1 and P2 check boxes.
3. Click OK.
A new variable, PopulationRange, appears in the Design Optimization Workspace.
Custom Signal Objective Function Details
PopulationRange uses the sdoPopulation_PopRange function. This function computes the maximum difference between the populations, across different environment carrying capacity values. By minimizing this value, you can achieve both design goals. The function is called by the optimizer at each iteration step.
To view the function, type edit sdoPopulation_PopRange. The following discusses details of this function.
The function accepts data, a structure with the following fields:
 - DesignVars - Current iteration values of $R_2, \tau_2$, and $\alpha$.
 - Nominal - Logged signal data, obtained by simulating the model using parameter values specified by data.DesignVars and nominal values for all other parameters. The Nominal field is itself a structure with fields for each logged signal. The field names are the logged signal names. The custom requirement uses the logged signals, P1 and P2. Therefore, data.Nominal.P1 and data.Nominal.P2 are timeseries objects corresponding to P1 and P2.
 - Uncertain - Logged signal data, obtained by simulating the model using the sample values of the uncertain variable K_unc. The Uncertain field is a vector of N structures, where N is the number of sample values specified for K_unc. Each element of this vector is similar to data.Nominal and contains simulation results obtained from a corresponding sample value specified for K_unc.
The function returns the maximum difference between the population sizes across different carrying capacities. The following code snippet in the function performs this action:
val = max(maxP(1)-minP(2),maxP(2)-minP(1));
Data Time Range
When computing the design goals, discard the initial population growth data to eliminate biases from the initial-condition. The following code snippet in the function performs this action:
%Get the population data
tMin = 5; %Ignore signal values prior to this time
iTime = data.Nominal.P1.Time > tMin;
sigData = [data.Nominal.P1.Data(iTime), data.Nominal.P2.Data(iTime)];
iTime represents the time interval of interest, and the columns of sigData contain P1 and P2 data for this interval.
Optimization for Different Values of Carrying Capacity
The function includes the effects of varying the carrying capacity by iterating through the elements of data.Uncertain. The following code snippet in the function performs this action:
for ct=1:numel(data.Uncertain)
 iTime = data.Uncertain(ct).P1.Time > tMin;
 sigData = [data.Uncertain(ct).P1.Data(iTime), data.Uncertain(ct).P2.Data(iTime)];
 maxP = max([maxP; max(sigData)]); %Update maximum if new signals are bigger
 minP = min([minP; min(sigData)]); %Update minimum if new signals are smaller
The maximum and minimal populations are obtained across all the simulations contained in data.Uncertain.
Optimize Design
Click Optimize.
The optimization converges after a number of iterations.
The P1,P2 plot shows the population dynamics, with the first organism population in blue and the second organism population in green. The dotted lines indicate the population dynamics for different environment capacity values. The PopulationRange plot shows that the maximum difference between the two organism populations reduces over time.
The Population Phase Portrait block shows the populations initially varying, but they eventually converge to stable population sizes.
% Close the model


In 1958, nuns and children died in fire at school in Chicago
Judith Bainbridge
The front page of The Greenville News on Dec. 2, 1958
Three nuns and scores of children died when fire swept through Our Lady of the Angels School in northwest Chicago on the afternoon of Dec. 1, 1958. One of the worst school tragedies of the century, the fire, which started in the corner of a basement corridor, climbed rapidly up a staircase to classrooms on the second floor where seventh and eighth graders were taught. The nuns, who belonged to the order of the Sisters of Charity of the Blessed Virgin, died when they were overcome with smoke while they were trying to lead the children out of the building.
When firemen arrived on the scene, they discovered children crying and hanging out of upper floor windows. Some youngsters escaped by crawling out the doors while others were killed sitting at their desks. Initially concerned that the fire had been an arson attempt because the 40-year old building was solidly built, fire investigators later discovered that two boys had been sneaking a cigarette at a location where oil-soaked rags had been thrown. The perpetrators were not discovered.


CommitCheck Documentation
Setup Guide
This guide explains how to setup CommitCheck.
Signup and add your regex
1. Signing up is easy, just click on one of the 'Sign in with Github' buttons on the homepage.
2. CommitCheck will ask you to authenticate with Github, this is all that's needed to create an account with CommitCheck. Simply sign in with your Github credentials.
Github omniauth
After registering or signing in, you'll be taken to the admin panel where you can specify a matcher (see section on matchers for help).
Admin panel
Add the CommitCheck GitHub App to your project
After signing up and adding a matcher, you need to allow your Github project to talk to CommitCheck.
1. Go to the CommitCheck App homepage and click 'configure'.
Github app homepage
2. Then choose which organisation you'd like to configure CommitCheck for
Github app configure
2. Next you can choose whether you want CommitCheck to have access to all repos or specific repos. The app will also show you which permissions CommitCheck requires.
Github app setup page
3. Once that's all done, you'll see CommitCheck added to your personal settings.
Github app success page
If you have any problems setting this up, please send a message.
CommitCheck supports any ruby regular expression. I recommend Rubular for testing a regex. Here are some examples:
JIRA ticket number regex
\[[A-Z]{3}-\d*\] will match on a JIRA number of the format "ABC-123".
Multiline commit messages
(?=.*Jira Ticket number: )(?=.*What does this address\?)(?=.*What was the solution\?) will match the following commit message:
"Jira Ticket number: RSB-111
What does this address? A new feature.
What was the solution? Some awesome code."
Check Status
CommitCheck can run against commit messages, PR titles or PR descriptions. This section explains how build results are displayed.
Regardless of how you've configured CommitCheck, PRs get marked as pass/fail on the following events:
 - Opening a PR
 - Pushing a commit or rebase
 - Updating a PR description or title
If the check is successful, CommitCheck will mark your commit as passed:
Commitcheck commit message success check
If the check is unsuccessful, CommitCheck will mark your commit as failed:
Commitcheck commit message failed check
Next, we'll cover how CommitCheck determines and displays the status for different configurations:
Against Commit Messages
CommitCheck will look at each commit in your PR and check each of them against your regex. If any of the commits fail to match the regex then CommitCheck will fail the PR.
You can click on the details page to get a breakdown of each commit. The details page lists each commit and whether it passed or failed the regex:
Commitcheck status page
Against The Pull Request Title
The status page for pull request title checks has not been built. Right now, it will just redirect to
Against The Pull Request Description
The status page for pull request description checks has not been built. Right now, it will just redirect to
Anything Else..
If you would like to request any other regex examples or suggest any features,
please send a message.


text:
Fruit Tree Installation and Care
Yes, you can grow organic, heirloom fruit trees in your garden in the San Francisco Bay Area! Get started with this workshop for fruit tree beginners in which you learn the basics of organic fruit tree care for apples, pears and plums. As we dive into the world of organic fruit trees and organic fruit tree care, you will learn everything you need to know to care for your tree for the first year: how to plant your tree, irrigate properly, fertilize with organic fertilizer, manage pests organically and winter prune (summer pruning is covered in a separate class).
This workshop will cover both 'pome' fruits and 'stone' fruits (apples, pears and plums) and will discuss varieties of apples, pears and plums best suited for San Francisco. While this class is intended for beginners, our instructor Matthew Sutton founder of Orchard Keepers: Ecological Tree Care will be available to answer any and all advanced-topic questions. Space is limited, register online.
- Event Phone:
- Event e-mail:
- Event URL:
- Wheelchair Accessibility:

source: openbmb/Ultra-FineWeb


Take the 2-minute tour ×
Let $M$ be a geometrically finite hyperbolic surface with one cuspidal end and one funnel end so that it can be divided into $C \cup K \cup F$ where $C$ is the cusp, $F$ the funnel and $K$ the compact core.
Focus on the cusp with the following boundary defining function (due to David Borthwick: Spectral Theory of Infinite-Area Hyperbolic Surfaces)
Let $\rho (x)=e^{-r}$ where $r$ is the distance of $x$ to the compact core $K$. As a boundary defining function it needs to have a non-vanishing differential on the boundary. How can this fact be seen for this function?
If I take the look back to the upper half plane the hyperbolic distance for distinct points $a$ and $b$ located on the y-axis is given by $log(a/b)$. I suppose that's the reason for choosing $e^{-r}$. If you take a point $c$ at the boundary its distance to the compact core is infinite, so $e^{-r(c)}$ is zero, clearly. But what's with the differential? Is there a direct way of calculating it in this case with the given information? I don't understand why is it not zero at the boundary.
In a discussion with others there was the idea to show it by relating the the boundary defining function for the cusp to a (maybe given) boundary defining function for a funnel end by 'inverting', precisely:
Here $M = (0, \infty) \times S^1$ with the metric $g=(dx^2+d\theta^2)/x^2$ where the variable $x$ refers to $(0,\infty)$ and $x$ itself is a boundary defining for the funnel end. If $x$ is bdf for the funnel, is it true that then 1/x is a boundary defining function for the cusp?
My problem is the absence of a diffeomorphism from the cusp (as a point) to the funnel (which is a circle). Can this be repaired by viewing the cusp as a 'infinitely' small circle? The strategy I have in mind is: If there would be a diffeomorphism between the ends and given a boundary defining function for the funnel then the pullback of it has non-vanishing differential.
Since this is my first question on MO, I hope my explanations were precise enough and the questions aren't too basic.
Thank you for your help, Robin Neumann
share|improve this question
add comment
Your Answer
Browse other questions tagged or ask your own question.


text:
Model-Prototype Study of Overland Flowby I. Muzik, Univ of Calgary, Canada,
Document Type: Proceeding Paper
Part of: Hydraulic Engineering
Abstract: Similarity of overland flow hydrographs was investigated. Similarity ratios based on Froude number modeling were tested by using: 1) computed hydrographs by kinematic wave equations, 2) observed hydrographs from a laboratory watershed system. The derived scaling ratios were found to be valid for computed hydrographs. Results obtained from observed hydrographs indicate discrepancies which might be attributed to unsteady flow conditions, transition from laminar to turbulent flow and variable flow resistance due to raindrop impact. These factors were not accounted for in the computed hydrographs.
Subject Headings: Hydrographs | Model analysis | Overland flow | Hydrologic models | Kinematic waves | Wave equations | Flow resistance | Turbulent flow
Services: Buy this book/Buy this article
Return to search


The University of Chicago Header Logo
Last Name
Search Results to Kourosh Rezania
One or more keywords matched the following properties of Rezania, Kourosh
overview Kourosh Rezania, MD, is an expert in electromyography and neuromuscular diseases. He is particularly interested in the evaluation and treatment of a broad range of diseases that include peripheral neuropathies, metabolic myopathies, myasthenia gravis and amyotrophic lateral sclerosis (ALS). Dr. Rezania is also an active researcher and teacher. Currently, he is conducting clinical trials on ALS.
One or more keywords matched the following items that are connected to Rezania, Kourosh
Search Criteria
 - Muscular Diseases


text:
1. Generation Change Fellows Program 2020
The United States Institute of Peace is an independent, nonpartisan institution established and funded by Congress to increase the nation's capacity to manage international conflict without violence. USIP aims to "think, act, teach, and train" across the spectrum of international conflict prevention, management, and resolution and to help societies in the period of post-conflict stabilization. Learn more about USIP.
About the Generation Change Fellows Program
The Generation Change Fellows Program (GCFP) is dedicated to strengthening the capacity of civically engaged youth leaders as they emerge as peacebuilders in their communities. By delivering training in effective leadership, conflict management, and prejudice awareness and reduction; providing online courses and other resources; and fostering a global learning community, the two year Fellowship gives participants the additional skills, knowledge, support, and resources needed to increase their resilience as peacebuilders and civic leaders, manage conflict at a local level, and increase the effectiveness of their peacebuilding programs.
Generation Change Fellows are between 18 and 35 years old. They hold leadership roles within civic organizations and are actively working to positively impact their community. The Fellows have earned trusted and legitimacy within their community through their demonstrated commitment to their work.
About the Training
The five day program will deliver training in effective leadership, conflict management, and prejudice awareness and reduction in order for these emerging leaders to increase their resilience and have a greater impact on their respective communities. The training will provide a safe space for participants to share ideas, gain new tools, practice constructive conversations, and better understand conflict resolution, especially as it relates to their country. It will also expose participants to experts in the leadership development and conflict resolution
USIP Ethiopia Generation Change Fellows Program 2020 (Fully-funded)


News Download Projects Publications Community Documentation
home > documentation > developing your first application, part 1
Prev: Development Principles
Next: Developing your First Application, Part 2
Developing your First Application, Part 1
To demonstrate in detail how to develop an ARToolKit application, we will step through the source code for an existing example program: simpleTest (or simple according to your ARToolKit version). This program is found in the directory examples/simple/.
The SimpleTest Program
The file we will be looking at is simpleTest.c (or simple.c). This program simply consists of a main routine and several graphics drawing routines.
The functions which correspond to the six application steps previously described (see here) are shown in Table 1. The functions corresponding to steps 2 through 5 are called within the mainLoop function.
ARToolKit Step Functions
1. Initialize the application
2. Grab a video input frame arVideoGetImage (called in mainLoop)
3. Detect the markers arDetectMarker (called in mainLoop)
4. Calculate camera transformation arGetTransMat (called in mainLoop)
5. Draw the virtual objects draw (called in mainLoop)
6. Close the video capture down cleanup
Table 1: Function calls and code that corresponds to the ARToolKit applications steps.
The most important functions in the program are main, init, mainLoop, draw and cleanup. In the remainder of this section we will explain these function calls in detail.
The main routine of simple is shown below:
main(int argc, char *argv[])
 argMainLoop( NULL, keyEvent, mainLoop );
The init initialization routine contains code for starting the video capture, reading in the marker and camera parameters, and setup of the graphics window. This corresponds to step 1 in the development method. Next, we enter in the real-time state, with a call to the video starting function arVideoCapStart. Following, the argMainLoop function is called which starts the main program loop and associates the function keyEvent with any keyboard events and mainLoop with the main graphics rendering loop. The definition of argMainLoop is contained in the file gsub.c.
The init routine is called from the main routine and is used to initialize the video capture and read in the initial ARToolKit application parameters.
At first, the video path is opened and the video image size found:
/* open the video path */
/* find the size of the window */
The variable vconf contains the initial video configuration and is defined at the top of simple.c. In function of your platform the content can be really different: see video configuration page. For each platform a default string is defined, that generally open the first available video stream in your architecture.
After, we need to initialize the ARToolKit application parameters. The key parameters for an ARToolKit application are:
 - the patterns that will be used for the pattern template matching and the virtual objects these patterns correspond to.
 - the camera characteristics of the video camera being used.
These are both read in from file names that can either be specified on the command line or by using default hard-coded file names.
So, the camera parameters are read in with the default camera parameter file name Data/camera_para.dat:
/* set the initial camera parameters */
if( arParamLoad(cparaname, 1, &wparam) < 0 ) {
Next, the parameters are transformed for the current image size, because camera parameters change depending on the image size, even if same camera is used.
The camera parameters are set to those read in, the camera parameters printed to the screen:
arInitCparam( &cparam );
arParamDisp( &cparam );
After that we read the pattern definition with the default pattern file Data/patt.hiro:
patt_id is an identified pattern identification.
Finally a graphics window is opened:
/* open the graphics window */
The second argument of argInit defined a zoom function, set to 1.0 for matching video image format, set to 2.0 for double the size (e.g have a VGA AR display with a 320x240image input).
This is the routine where the bulk of the ARToolKit function calls are made and it contains code corresponding to steps 2 through 5 of the required application steps.
First a video frame is captured using the function arVideoGetImage:
/* grab a video frame */
The video image is then displayed on screen. This can either be an unwarped image, or an image warped to correct for camera distortions. Warping the image produces a more normal image, but can result in a significant reduction in video frame rate. In this example the image is non-unwarped:
argDispImage( dataPtr, 0,0 );
Then the function arDetectMarker is used to search the video image is searched for squares that have the correct marker patterns:
The number of markers found is contained in the variable marker_num, while marker_info is a pointer to a list of marker structures containing the coordinate information and recognition confidence values and object id numbers for each of the markers. The marker_info structure is detailled in the API documentation.
At this moment, The video image have been displayed and analyzed. So we don't need to use it more: we can ask the frame grabber to start a new grabbing in the same time we operates new functions. For this you have just to call arVideoCapNext:
Remark: when you called this function, using the last video image buffer can produce a bad result (dependant of your plaform). Be sure that you finish to deal with the video image buffer.
Next, all the confidence values of the detected markers are compared to associate the correct marker id number with the highest confidence value:
/* check for object visibility */
k = -1;
 if( k == -1 ) k = j;
if( k == -1 ) {
The transformation between the marker cards and camera can then be found by using the arGetTransMat function:
The real camera position and orientation relative to the marker object i are contained in the 3x4 matrix, patt_trans.
Finally, the virtual objects can be drawn on the card using the draw function:
Remark: a simple optimization step is done if no pattern are found (k==-1), we can directly swap the buffer without a call to draw and return:
if( k == -1 ) {
The draw functions is divided in initialize rendering, setup matrix, render object. You initialize a 3D rendering by ask ARToolKit to do rendering of 3D object and setup minimal OpenGL state:
argDraw3dCamera( 0, 0 );
glClearDepth( 1.0 );
You need after that to convert the computed transformation (3x4 matrix) to an openGL format (array of 16 values), using the function call argConvGlpara. These sixteen values are the position and orientation values of the real camera, so using them to set the position of the virtual camera causes any graphical objects to be drawn to appear exactly aligned with the corresponding physical marker.
/* load the camera transformation matrix */
argConvGlpara(patt_trans, gl_para);
glLoadMatrixd( gl_para );
The virtual camera position is set using the OpenGL function glLoadMatrixd(gl_para).The last part of the code is the rendering of 3D object, in this example a cube with a blue color under a white color light:
glLightfv(GL_LIGHT0, GL_POSITION, light_position);
glLightfv(GL_LIGHT0, GL_AMBIENT, ambi);
glLightfv(GL_LIGHT0, GL_DIFFUSE, lightZeroColor);
glMaterialfv(GL_FRONT, GL_SPECULAR, mat_flash);
glMaterialfv(GL_FRONT, GL_SHININESS, mat_flash_shiny);
glMaterialfv(GL_FRONT, GL_AMBIENT, mat_ambient);
glTranslatef( 0.0, 0.0, 25.0 );
And to finish, you reset to default some OpenGL variables:
glDisable( GL_LIGHTING );
glDisable( GL_DEPTH_TEST );
The steps mentioned above occur every time through the main rendering loop. While the program is running mouse events are handled by the mouseEvent function and keyboard events by the keyEvent function.
The cleanup function is called to stop the video processing and close down the video path to free it up for other applications:
This is accomplished by using the arVideoCapStop, arVideoClose and argCleanup routines.
You can compile this program and run it!
One limitation of this program is that used only the Hiro pattern: it seems really interesting to use others patterns or more than one! We will describe how do that in the next section.


text:
Recently, an entertainment robot is emerging as a new type of a robot. The purpose of an entertainment robot is to provide intimacy and enjoyment for people rather than to give any function. Therefore, not only emotion design but also personality design is needed for an entertainment robot. When we endow an entertainment robot personality, it gives an entertainment robot the consistency and the distinction of behavior.
The purpose of this study is to suggest a design process for constructing personality of an entertainment robot based on psychological types, and prove the possibility of the process with a case study and an experiment.
In this study, four temperaments which are derived from 16 personality types in psychological type Indicator, MBTI(Myers Briggs Type Indicator), were applied to design personality of an entertainment robot. These temperaments are divided into four types, such as Sensing-Perceiving type, Sensing-Judging type, Intuitive-Thinking type, and IntuitiveFeeling type. Based on the concept that a robot has its own temperament factor, we propose an entertainment robot personality design process, which is composed of four steps. The steps are selecting the concept of an entertainment robot, situation scene design and perception device design, reaction design based on temperaments, and demonstration of robot temperaments about the reaction with an experiment. To see the effectiveness of the suggested process, we also conducted a case study, which followed the design process with an entertainment robot.
Through a case study and an experiment, we could find several results. First, the major experimenters match the reaction with the robot temperament. From this result, we could see that robot temperaments are useful guidelines to design an entertainment robot's personality. Second, there are situations, which make the reaction express robot temperament better. This means that situation scene design is an important factor to make reaction express robot temperament more distinctly. Third, there are some reactions, which display the robot temperaments better. This helps robot developers notice the reaction, which should be redesigned.
The process suggested in this study will provide a useful guideline for constructing personality of an entertainment robot. This will make it possible for robot developers to construct robot's personality more easily. As a result, the design of the personality of an entertainment robot will make entertainment robot more intimate and enjoyable.


text:
Mitsubishi Integrates Inverter With EV Motor System
Mitsubishi Electric Corp developed a motor system whose output power is more than 70kW for electric vehicles (EVs) by integrating an inverter and a motor on the same axis.
The volume of the new system is only half that of the company's motor system whose inverter and motor are separated, which was exhibited at the 42nd Tokyo Motor Show 2011. The integration enabled to shorten electric lines between the inverter and motor as well as to integrate pipes for water cooling that are required for each of the inverter and motor in the old system.
The mass of the new system is about 10% less than that of the old one. And the total efficiency of the new system is 3-5 points higher than that of the old system under the JC08 test mode.
"(To integrate the inverter and motor,) the most difficult challenge was to prevent heat generation," Mitsubishi Electric said.
Because the motor and inverter generate a large amount of heat, the company not only increased cooling capability but also made improvements to each of the motor and inverter to reduce heat generation. Specifically, it changed the magnetic design of the motor and employed a silicon carbide (SiC)-based power device for the inverter. With the SiC-based power device, the loss of the inverter was reduced by half, compared with the inverter of the old system that uses a silicon (Si)-based power device.
This time, Mitsubishi Electric used a motor containing a permanent magnet. Also, it improved output power per unit volume by 5% by employing a concentrated winding method to increase coil space factor and using magnetic design technologies to optimize the shape of the motor.
Currently, the motor system can be used for rotating tires and for simulated driving based on actual driving patterns in a laboratory. To commercialize the system, it is necessary to improve its structure for volume production, fine-tune it and further reduce its weight by 10 to 20%, Mitsubishi Electric said.
The company aims to commercialize the system in 2017. And it plans to commercialize an EV motor system whose inverter using a Si-based power device and motor are separated in 2014.


text:
- a person or thing that terminates
- the line dividing the illuminated and dark parts of the disk of the moon or a planet
See terminator in American Heritage Dictionary 4
- One that terminates: a terminator of unpopular policies.
- The dividing line between the bright and shaded regions of the disk of the moon or an inner planet.
- A sequence of nucleotides that signals the end of transcription or translation and the completion of the synthesis of a nucleic acid or protein molecule.
Learn more about terminator

source: HuggingFaceFW/fineweb-edu


text:
Alberto Pinto named chief editor of the Journal of Dynamics and Games
Alberto Pinto from LIAAD/INESC TEC has been named chief editor of the Journal of Dynamics and Games (JDG) by the American Institute of Mathematical Sciences.
The researcher will run the journal in partnership with Michael Benain. The journal is dedicated to applied mathematics and publishes high quality articles on Dynamic System interfaces and Game Theory.
The journal addresses the development and diffusion of ideas and mathematical techniques that result from the analysis and modelling of systems where the agents interact in a dynamic way over time. The JDG covers topics, such as dynamic stochastic games and learning and evolution models.


Difference Between Similar Terms and Objects
Difference Between Civil engineering and Architecture
architectureCivil engineering vs Architecture
You may already have an idea on the process of designing and the construction of buildings, mansions, and other edifice; and you know for a fact that the job requires professionals like Architects and Civil Engineers.
It is very likely that your idea of their work is vague. Maybe when you think of architects, you would only visualize a person making drawings on large sheets of paper and when you think of civil engineers, you imagine someone with a hardhat analyzing on the field of construction, yelling instructions to workers involved in the assembly. If you were thinking along these lines, though stereotypical, you are to some extent accurate.
However, there are marked differences between the fields of architecture and civil engineering. In fact, the two practices have well-defined responsibilities that make them distinct from each other.
Architecture is mainly a practice of designing structures with aesthetics and spatial functionality in mind. Architects may have the basic to advanced knowledge of structural mechanics but their primary focus is always, first and foremost, the creativity, look and feel, and functionality of the design. Structural vision starts in the field of architecture.
Civil engineering, also referred as structural engineering, specializes in the structural elements of systems, ensuring that facilities can withstand normal and extreme loading conditions. Civil engineers work closely with architects and they are responsible for making the vision of architects into a realization. Civil engineering deliberates on the physics involved in the construction process of the architect's design.
Civil engineering may also tackle the particulars of design but the practice is often not concerned with the aesthetics and intended function of structures. Civil Engineers will rather focus on innovative ways to make the design work. When they see something in the design as impractical, they can suggest a design modification from the ones involved in the architectural department.
A good engineer-architect relationship is vital to have a more efficient, high quality project result.
A good civil engineer will always give the best efforts to make the design into a reality. A good architect, on the other hand, will always consider the practicality of the design so it can be built with less cost and at a faster rate. They may overlap each other's work but in the ideal world, each has its own expertise to be esteemed.
1. Architecture is more into the creativity of designs. Civil engineering focus on innovation to realize that design.
2. Architecture involves the design of structures with the focus on aesthetics and functionality. Civil engineering will not normally care about those things; Civil Engineers will rather deliberate and plan the methodology to construct the design.
3. Architecture initiates the project through architects' drafts. Civil engineering involves studying drafts and examining the practicality of the design; civil engineers ensure that the design can withstand normal and extreme loading conditions.
4. Architects will need engineers help to make their designs work. Civil engineers will be guided by the architectsÂ' outlines and dimensions.
Search DifferenceBetween.net :
Custom Search
Help us improve. Rate this post! 1 Star2 Stars3 Stars4 Stars5 Stars (27 votes, average: 4.26 out of 5)
 1. Thank you for explaining the difference between the two jobs! I always found it very confusing which job does what. That's cool that the engineers deliberate on the physics involved with the architects! Thanks for all the fun information!
 2. Your post is extremely useful post
 3. Yes you are exactly right about this Civil engineers work closely with architects and they are responsible for making the vision of architects into a realization, this sentence will clear all the doubts about difference between Architecture and Civil Engineer, thank you so much for this post!! waiting for another post.
 4. Thanks for your post, Your post is very helpful
 I will recommend this site!
Leave a Response
See more about :,
Protected by Copyscape Plagiarism Finder


text:
Following is my piece of code in which I am assigning my screen width to variable
$width. But when I convert it to integer and echo it,
0 is returned.
$width = ' document.write(window.screen.width); '; //if i echo $width it shows 1366 which is width of my screen $height = ' document.write(window.screen.height); '; echo "The height is = $height"."The width is = ".$width; $a = (int)($width); echo $a;
I am asking for guidenance to make this conversion perfect.


Sign up ×
If a prime with prime norm is a split prime, in an number ring PID?
Example: $5-\sqrt{14}$ in $\mathbb{Z}[\sqrt{14}]$ has norm $11$, it is a split prime in $\mathbb{Z}[\sqrt{14}]$? Why?
share|cite|improve this question
Could you clarify your question? It isn't very clear to me what you're asking. Are you asking why certain primes split in quadratic fields? Or do you want to deduce something about the class number from this information...? – Dylan Moreland Sep 18 '11 at 16:34
Also there is no need to write so many?s. – Ted Sep 18 '11 at 17:11
1 Answer 1
This is not quite true, I'm afraid.
I assume that the statement you want to prove is:
If $K$ is a number field, $\mathfrak{O}_K$ is its ring of integers, $x \in \mathfrak{O}_K$ is a prime element (that is, $\mathfrak{p} = x \mathfrak{O}_K$ is a prime ideal), and $|\operatorname{Norm}_{K / \mathbf{Q}}(x)|$ is a prime integer $p$, then $\mathfrak{p}$ is split (i.e. the completion of $K$ with respect to the $\mathfrak{p}$-adic valuation is isomorphic to $\mathbf{Q}_p$).
This is not quite true, because you could have ramification. For instance, if $K = \mathbf{Q}(\sqrt{-2})$ and $x = \sqrt{-2}$, then the norm of $x$ is 2 (which is prime!), but the completion of $K$ at the ideal generated by $x$ is a quadratic extension of $\mathbf{Q}_p$. But it's true if you assume that $x$ doesn't divide the discriminant of $K$, which only rules out finitely many primes (and works in the example you gave above). Moreover, you don't need to assume in advance that $x$ is prime; if the norm of $x$ is prime, then $x$ itself is prime.
Note that it makes no difference here whether $\mathfrak{O}_K$ is a PID or not.
(Edit: I should have said either "p doesn't divide the discriminant of K" - a statement about divisibility of integers -- or "x doesn't divide the different of K" -- a statement about divisibility of ideals of K. The different is an ideal of K, which provides slightly finer information about ramification than the discriminant, which is an integer, does.
There are numerous excellent books on this subject. Stewart and Tall's book "Algebraic number theory and Fermat's last theorem" is one of my favourites.)
share|cite|improve this answer
many thanks David when you say "x doesn't divide the discriminant of K", in my example : x=5-sqrt{14} doesn't divide the discriminant of Q[sqrt{14}] is 4*14=56, but the division is in the number ring or in Z. Can you recommend some book that comes it explained thanks again PD: Sorry for my level of english – Sidi Sep 18 '11 at 22:25
_USER_: I have converted your answer to a comment. Answers should be reserved for posts that answer the question. To post a comment, look on the bottom left of a comment thread; there is a grey button "add comment". But you didn't see it earlier because you didn't log in using the same account as you used to post the question; I have now merged your accounts (to avoid future issues, it should help if you register your account). Note that because you do not have 50 reputation points yet, you can only comment on your own questions and answers. – Zev Chonoles Sep 18 '11 at 22:31
Your Answer


text:
One of the questions that readers have on the topic of refueling combat aircraft aviation in the air, deals with the theme of a thunderstorm. Can aircraft refueling in the air during a thunderstorm be carried out with numerous discharges of atmospheric electricity - lightning?
This kind of refueling is not a frequent phenomenon, but the air forces of different countries do not refuse it - in cases of emergency. Thus, in the United States, during a night thunderstorm, the F / A-18 tanks were refilled with fuel using the KC-130 air tanker.
The corresponding video was posted on Instagram on the Combat_Learjet page. Such refueling is actively discussed on the net.
In the American information sources, during the discussion, it is assumed that refueling a carrier-based fighter-bomber in such conditions was a necessary measure. The planes were in the air and tried to bypass the thunderstorm front, but in the end the bad weather overtook the aviation facilities during that very refueling.
In fact, the planes could be at a completely safe distance from the storm front.
What do domestic standards say about this?
For example, the Manual on the Technical Operation and Repair of Aviation Equipment in Civil Aviation of Russia (order of the Ministry of Transport of the Russian Federation of 1994) prescribes:
5.1.10. Open refueling of an aircraft during rain and strong wind with dust, during a thunderstorm (during atmospheric electricity discharges) and closed refueling during lightning discharges is prohibited.
Western regulations: "When observing a thunderstorm front and flashes from atmospheric electrical discharges within a radius of 10 miles (about 16 km) from the immediate place of refueling, the refueling procedure must be stopped."
However, all these are "airfield" standards, and for civil aircraft and precisely for refueling. The conditions for the operation of combat aircraft are different. Although it is quite obvious that refueling in the air during a thunderstorm and discharges of atmospheric electricity is an extremely dangerous action that can lead to negative consequences for both sides - the fuel donor and the acceptor.


Take the 2-minute tour ×
I am trying to understand why the order of the stabilizer group of a body diagonal of a cube is 6 rather than 3. It is clear to me that rotations about that diagonal stabilize the diagonal, by definition, and the order of this group is 3 (including the identity). So that means there must be 3 other, non-identity, rotations that stabilize this diagonal. I am terrible at geometry and I cannot think of what these others would be. I don't think that any of the rotations about $i$, $j$, $k$ can stabilize the diagonal, and I can't see 3 elements of order 2 doing this either. But then there are no elements left to consider! I am confused.
share|improve this question
There is a "swap the poles" symmetry (180 degree rotation that swaps the two ends of the body diagonal), and if you allow reflections, the "inversion" should also work. (A good answer should have a picture too :-) – Jack Schmidt Oct 17 '12 at 19:29
have you considered rotary reflections? – user39280 Oct 17 '12 at 19:32
_USER_ and dado, does the "swap the poles" symmetry correspond to a "double-rotation" about the $i$, $j$, and $k$ axis (st order of these guys is 2)? Or am I misunderstanding you? – tacos_tacos_tacos Oct 17 '12 at 20:17
_USER_: $(i,j,k) \mapsto (-j,-i,-k)$ or $a\mathbf{i}+b\mathbf{j} +c\mathbf{k} \mapsto -b\mathbf{i}-a\mathbf{j}-c\mathbf{k}$ is the rotation in terms of the coordinates. The cube itself is all $(a,b,c)=a\mathbf{i}+b\mathbf{j} +c\mathbf{k}$ such that $|a| \leq 1$, $|b|\leq 1$, $|c|\leq 1$. I still think a good answer deserves a picture, but if no-one will post one, I'll write up the linear algebra version. – Jack Schmidt Oct 17 '12 at 23:38
Your Answer
Browse other questions tagged or ask your own question.


Why is the USS Arizona Underwater?
The USS Arizona is the resting place to hundreds of sailors. The Navy decided to leave them and the ship there after an inspection a few months after the attack. It was determined that there was so much damage taht the ship was a total loss and could not be salvaged. Though, it should be noted that some parts from the Arizona were taken for use on other ships during WWII.
After deciding that the ship could not be salvaged, was not a navigation risk and would be left where she was, the Navy had a decision about what to do with the men who perished on board. It was decided that the men would be considered buried at sea because it would be too difficult to remove them in a respectful manner.
The decision to leave the USS Arizona underwater at the bottom of Pearl Harbor was made after much deliberation. The same decision was made for the USS Utah. The USS Oklahoma was similarly sunk in the attack, but raised and put in drydock in 1943. In 1944, the USS Oklahoma was decommissioned. She eventually sunk to the bottom of the ocean as she was towed to the US mainland. All of the other ships sunk or damaged during the attack were returned to service.
Please log in to rate this.
0 people found this helpful.
Category: 4. History
← Why is the USS Arizona Underwater?
Leave a Reply


text: We study the long-time behavior of solutions to the nonlinear Schrödinger / Gross-Pitaevskii equation (NLS/GP) with a symmetric double-well potential. NLS/GP governs nearly-monochromatic guided optical beams in weakly coupled waveguides with both linear and nonlinear (Kerr) refractive indices and zero absorption, as well as the behavior of Bose-Einstein condensates. For small L2 norm (low power), the solution executes beating oscillations between the two wells. There is a power threshold at which a symmetry breaking bifurcation occurs. The set of guided mode solutions splits into two families of solutions. One type of solution is concentrated in either well of the potential, but not both. Solutions in the second family undergo tunneling oscillations between the two wells. A finite dimensional reduction (system of ODEs) derived in Marzuola and Weinstein 2010 and is expected to well-approximate the PDE dynamics on long time scales. In particular, we revisit this reduction, find a class of exact solutions and shadow them in the (NLS/GP) system by applying the above approach.


text:
Meaning: an offensive, derogatory word meaning a Jewish person
- When I was a kid my friend Ben was sometimes called a yid by older boys, and I didn't understand what it meant.
- The word "Yid" is derogatory and insulting to Jewish people and it should never be used.
Warning! This is very bad language. If you are a non-native speaker, you are advised not to use it. (You could cause resentment or anger if you use it inappropriately.)
The word "Yid" is a derogatory slang word that is used to insult people who are


text:
In addition to the above parameters, the SRM agent supports additional configuration variables. Each of the variables described in this section is both an OTcl class variable and an OTcl object's instance variable. Changing the class variable changes the default value for all agents that are created subsequently. Changing the instance variable of a particular agent only affects the values used by that agent. For example,
Agent/SRM set D1_ 2.0 # Changes the class variable; $srm set D1_ 2.0 # Changes D1_ for the particular $srm object only;
The default request and repair timer parameters for each SRM agent are:
Agent/SRM set C1_ 2.0 # request parameters; Agent/SRM set C2_ 2.0 Agent/SRM set D1_ 1.0 # repair parameters; Agent/SRM set D2_ 1.0It is thus possible to trivially obtain two flavors of SRM agents based on whether the agents use probabilistic or deterministic suppression by using the following definitions:
Class Agent/SRM/Deterministic -superclass Agent/SRM Agent/SRM/Deterministic set C2_ 0.0 Agent/SRM/Deterministic set D2_ 0.0 Class Agent/SRM/Probabilistic -superclass Agent/SRM Agent/SRM/Probabilistic set C1_ 0.0 Agent/SRM/Probabilistic set D1_ 0.0In a later sectionSectionsec:extensions, we will discuss other ways of extending the SRM agent.
Timer related functions are handled by separate objects belonging to the class SRM. Timers are required for loss recovery and sending periodic session messages. There are loss recovery objects to send request and repair messages. The agent creates a separate request or repair object to handle each loss. In contrast, the agent only creates one session object to send periodic session messages. The default classes the express each of these functions are:
Agent/SRM set requestFunction_ "SRM/request" Agent/SRM set repairFunction_ "SRM/repair" Agent/SRM set sessionFunction_ "SRM/session" Agent/SRM set requestBackoffLimit_ 5 # parameter to requestFunction_; Agent/SRM set sessionDelay_ 1.0 # parameter to sessionFunction_;The instance procedures requestFunction../ns-/srm.tclAgent/SRM::requestFunction, repairFunction../ns-/srm.tclAgent/SRM::repairFunction, and sessionFunction../ns-/srm.tclAgent/SRM::sessionFunction can be used to change the default function for individual agents. The last two lines are specific parameters used by the request and session objects. The following sectionSectionsec:architecture describes the implementation of theses objects in greater detail.
Tom Henderson 2011-11-05


text:
Progression to secondary school, female (%)
Definition: Progression to secondary school refers to the number of new entrants to the first grade of secondary school in a given year as a percentage of the number of students enrolled in the final grade of primary school in the previous year.
Description: The map below shows how Progression to secondary school, female (%) varies by country. The shade of the country corresponds to the magnitude of the indicator. The darker the shade, the higher the value. The country with the highest value in the world is Belarus, with a value of 100.00. The country with the lowest value in the world is Burundi, with a value of 30.60.
Source: United Nations Educational, Scientific, and Cultural Organization (UNESCO) Institute for Statistics.


sconsign(1) print SCons.sconsign file information
sconsign [options...] file [...]
The sconsign command displays the contents of one or more.sconsign files specified by the user.
By default, sconsign dumps the entire contents of the specified file(s). Each entry is printed in the following format:
file: signature timestamp length implicit_dependency_1: signature timestamp length implicit_dependency_2: signature timestamp length action_signature [action string]
None is printed in place of any missing timestamp, bsig, or csig values for any entry or any of its dependencies. If the entry has no implicit dependencies, or no build action, the lines are simply omitted.
By default, sconsign assumes that any file arguments that end with a.dbm suffix contains signature entries for more than one directory (that is, was specified by the SConsignFile () function). Any file argument that does not end in.dbm is assumed to be a traditional.sconsign file containing the signature entries for a single directory. An explicit format may be specified using the -f or --file= options.
Various options control what information is printed and the format:
-a, --act, --action
Prints the build action information for all entries or the specified entries.
-c, --csig
Prints the content signature (csig) information for all entries or the specified entries.
When the signatures are being read from a.dbm file, or the -f dbm or --format=dbm options are used, prints information about only the signatures for entries in the specified DIRECTORY.
-e ENTRY, --entry=ENTRY
Prints information about only the specified ENTRY. Multiple -e options may be used, in which case information about each ENTRY is printed in the order in which the options are specified on the command line.
-f FORMAT, --format=FORMAT
The file(s) to be printed are in the specified FORMAT. Legal values are dbm (the DBM format used when the SConsignFile() function is used) or sconsign (the default format used for an individual.sconsign file in each directory).
-h, --help
Prints a help message and exits.
-i, --implicit
Prints the list of cached implicit dependencies for all entries or the the specified entries.
Prints a pretty-printed representation of the raw Python dictionary that holds build information about individual entry (both the entry itself or its implicit dependencies). An entry's build action is still printed in its usual format.
-r, --readable
Prints timestamps in a human-readable string, enclosed in single quotes.
-t, --timestamp
Prints the timestamp information for all entries or the specified entries.
-v, --verbose
Prints labels identifying each field being printed.
Specifies the directory that contains the SCons Python module directory (e.g. /home/aroach/scons-src-0.01/src/engine). on the command line.
Steven Knight


How to clean leather
Here are some tips on how to clean leather. First you need to identify which type of leather is to be cleaned. There are two types of leather you may find in your household. One is unfinished leather such as work boots and saddles and the other is finished leather such as furniture, luggage and clothing. Finished leather has had a protective layer applied to it so it requires less care.
 Cleaning leather can be a risky process, especially if you are not sure how to do it. Always test a small part of the leather you are cleaning before beginning the full process.
To clean finished leather:
1. Use a small amount of moisturizing soap on a damp cloth and bring it to a lather before applying to the leather. An example of a moisturizing soap is Dove.
2. Bring the damp cloth to the leather trying to keep as much water off the leather as possible.
3. Using a fresh, damp cloth, wipe away the lather. Never rinse the leather in water.
4. Finish by polishing the leather with a dry towel. Also, where possible, treat the leather using a leather conditioner after it is completely dry.
To clean unfinished leather:
1. With a damp cloth, rub saddle soap directly into the leather working the soap into a light lather.
2. Wipe away the lather with a clean, fresh cloth.
3. Allow to air dry
4. Lightly spread a leather preservative, such as mink oil, on the leather to finish and give a polished look.
For more help, try professional cleaning services
Leave a Reply


Take the 2-minute tour ×
Let $A$ be a finite, Abelian, additive group. Let $A^{*} = Hom(A, \mathbb{Q}/\mathbb{Z})$ denote the group of homomorphisms $f$ from $A$ to $\mathbb{Q}/\mathbb{Z}$. Take for granted that $A^{*}$ is an Abelian group (I have already proved this). Prove that $A$ is isomorphic to $A^{*}$ if $A$ is cyclic.
share|improve this question
What's the group operation on $A^*$? $(f \cdot g)(a) = f(a) \cdot g(a)$? – Clive Newstead Oct 30 '12 at 18:30
That is indeed the case! – user44069 Oct 30 '12 at 18:36
add comment
1 Answer
up vote 2 down vote accepted
Hint: If $A$ is cyclic, and $a$ generates it, then every homomorphism $f:A\to G$ is completely determined by $f(a)$.
share|improve this answer
add comment
Your Answer


text:
Deformational Behaviour Of FRP Confined Concrete Under Sustained Compression
- International Institute for FRP in Construction, Florida International University
- Publication Type:
- Conference Proceeding
- CICE 2006 - Composites in Civil Engineering, 2006, pp. 207 - 210
- Issue Date:
Copyright Clearance Process
- Recently Added
- In Progress
- Open Access
This item is open access.
Confining concrete is an effective method to enhance the strength and ductility of reinforced concrete columns. Fibre reinforced polymer (FRP) composites are emerging as a suitable confining material to replace conventional materials such as steel and fibre-reinforced cement composites. Past research on the behaviour of FRP confined concrete in compression is considerable however limited research has been reported on the behaviour of confined concrete under sustained compressive loading. This paper reports the preliminary results of an experimental investigation on the deforinational behaviour of carbon FRP (CFRP) confined concrete columns under sustained compressive stress levels corresponding to 40% and 60% of the unconfined concrete compressive strength for up to 50 days. The results show that the creep of confined concrete columns is marginally influenced under moderate sustained stress/strength ratios.
Please use this identifier to cite or link to this item:


When the bell rings at the end of recess, 10-year-old Jordan Duzenack will be taking the slide to return to class at Big Thompson Elementary School.
"We get to go down the slide instead of having to go downstairs," the fourth-grader said about the built-in, embankment slide that offers quick transportation from the upper playground's playing field to the lower playground filled with brand-new playground equipment.
Jordan and her friends rode the slide a few times after school Thursday on the day it opened to the students as part of the playscape dedication ceremony. Donors and supporters of the first natural playscape at a public school in Larimer County turned out to celebrate the completion of the five-year, $540,000 project.
The playscape integrates hands-on learning and playing in the school's outdoor areas that includes a playground, a playing field and learning centers.
"I think it's a lot better than the other one," said 11-year-old Adam Cagnina about the playground. "The other one had old equipment. This one has new climbing equipment and that spinning thing everyone likes."
The spinning thing is a piece of playground equipment with bars for holding on to while twirling above recycled rubber that is soft in case of accidents or falls. The north side of the playground is separated from the upper playground by the eco-zones climbing wall, which contains the slide and pictorial information about the Colorado mountains and animal life.
"Our ultimate goal is to get kids outdoors and help them have a better understanding of their environment," said Linda Strand, GOCO board member.
The playscape includes five main features, the climbing wall, an outdoor education center, a one-eighth-mile eco trail around the upper playground, a water flume that demonstrates how water interacts with the landscape, and a bioswayle drainage area with native vegetation.The upper playground playing field is made out of recycled rubber turf that replaces the much disliked pea gravel.
"It's fabulous. It's totally safe for kids," said Dawn Hennessy, physical education teacher at the school, adding that the pea gravel limited activity and was the source of injuries. "The kids would slip and fall and would get bloody knees."
Construction on the playscape began on the last day of school in 2013 and was mostly completed by the start of school this year.
"It took tremendous effort to get it all done," said Kerri Rollins, school volunteer. "It's better because it incorporates the natural features of the area surrounding the school. It complements the school's focus on nature and STEM (Science, Technology, Engineering and Math). And it allows for more imaginative play and learning."
The playscape was funded by a $322,200 grant from GOCO, $50,000 from the Colorado Department of Public Health and Environment, $20,000 from the Larimer County Open Lands Program and other sources of funding and in-kind donations from businesses and clubs.
"I like the spinny thing and the bars. The ground is bouncy now, and there's a lot more fun stuff," said Zoe Rollins, a third-grader at the school and daughter of Kerri.


text:
This paper reviews the progress on nano-aperture vertical-cavity surface-emitting lasers (VCSELs). The design, fabrication, and polarization control of nano-aperture VCSELs are reviewed. With the nano-aperture evolving from conventional circular and square aperture to unique C-shaped, H-shaped, I-shaped, and bowtie-shaped aperture, both the near-field intensity and near-field beam confinement from nano-aperture VCSELs are significantly improved. As a high-intensity compact light source with sub-100-nm spot size, nano-aperture VCSELs are promising to realize many new near-field optical systems and applications.
© 2008 Chinese Optics LettersPDF Article


text:
Terje Tvedt's The Nile. The River of History is probably the most comprehensive book about the Nile ever written. Tvedt travels upstream along the longest river in the world, from the river's mouth to its sources. The result is a travelogue through 5000 years and 11 countries, from the Mediterranean to Central Africa. With insight and sensitivity, the writer shows and describes both the river's wealth and poverty, its greatness and beauty, as well as its historical and political significance throughout the ages. The book is lavishly illustrated.
Terje Tvedt wrote and presented the award-winning documentaries The History of Water and The Future of Water, a comprehensive story of how humans' battles with water have shaped the past and will shape our future. They contain detailed accounts from a global journey to almost 40 countries on five continents. The series have been broadcast on major TV channels all over the world. Tvedt also edited a nine volume book series based on the TV series.
"It's risky to hail a newly-published work a classic, but The Nile – the River of History definitely has the potential to be one. It's a magnificent work."


Ship's bell
From Wikipedia, the free encyclopedia
Jump to: navigation, search
Ship's bell on USS Chancellorsville
A ship's bell is used to indicate the time aboard a ship and hence to regulate the sailors' duty watches. The bell itself is usually made of brass or bronze and normally has the ship's name engraved or cast on it.
Timing of duty periods[edit]
Unlike civil clock bells, the strikes of the bell do not accord to the number of the hour. Instead, there are eight bells, one for each half-hour of a four-hour watch. In the age of sailing, watches were timed with a 30-minute hourglass. Bells would be struck every time the glass was turned, and in a pattern of pairs for easier counting, with any odd bells at the end of the sequence.
The classical system was:
Bell from the Titanic
Number of bells Bell pattern Middle
One bell. 0:30 4:30 8:30 12:30 16:30 18:30† 20:30
Two bells.. 1:00 5:00 9:00 13:00 17:00 19:00† 21:00
Three bells... 1:30 5:30 9:30 13:30 17:30 19:30† 21:30
Four bells.... 2:00 6:00 10:00 14:00 18:00 22:00
Five bells..... 2:30 6:30 10:30 14:30 18:30 22:30
Six bells...... 3:00 7:00 11:00 15:00 19:00 23:00
Seven bells....... 3:30 7:30 11:30 15:30 19:30 23:30
Eight bells........ 4:00 8:00 12:00‡ 16:00 20:00 0:00
† British usage after the Nore mutiny[1]
‡ Before the introduction of time zones, noon was not struck by the glass, but when the captain or officer of the deck confirmed local noon by the sun, using a sextant.
An underwater archaeologist with the Lighthouse Archaeological Maritime Program in St. Augustine, Florida, recording the ship's bell discovered on the 18th century "Storm Wreck."
"Eight bells" by Winslow Homer, 1887
At midnight on New Year's Eve sixteen bells would be struck – eight bells for the old year and eight bells for the new.
Most of the crew of a ship would be divided up into between two and four groups called watches. Each watch would take its turn with the essential activities of manning the helm, navigating, trimming sails, and keeping a lookout.
The hours between 16:00 and 20:00 are so arranged because that watch (the "dog watch") was divided into two. The odd number of watches aimed to give each man a different watch each day. It also allows the entire crew of a vessel to eat an evening meal, the normal time being at 1700 with First Dog watchmen eating at 1800.[1]
Some "ship's bell" clocks use a simpler system:
Number of bells Bell pattern Hour (a.m. and p.m.)
One bell. 12:30 4:30 8:30
"Eight bells" can also be a way of saying that a sailor's watch is over, for instance, in his or her obituary, as a nautical euphemism for "finished".
Other uses[edit]
Ship's bells are also used for safety in foggy conditions, their most important modern use.[2] On naval vessels, bells additionally are rung as "boat gongs" for officers and dignitaries coming aboard or leaving the ship, in a number equivalent to the number of sideboys to which the visitor is entitled.
Name of the ship[edit]
Ship's bell of HMS Cavalier
The ship's name is traditionally engraved or cast onto the surface of the bell, often with the year the ship was launched as well. Occasionally (especially on more modern ships) the bell will also carry the name of the shipyard that built the ship. If a ship's name is changed, maritime tradition is that the original bell carrying the original name will remain with the vessel. A ship's bell is a prized possession when a ship is broken up[2] and often provides the only positive means of identification in the case of a shipwreck.
Number of bells[edit]
Most United States Navy ships of the post-World War II era have actually carried two ship's bells: the official bell on deck and a smaller one in the pilot house at the 1MC (public address) station, used when the ship is underway.
Cook and boatswain[edit]
According to seafaring legend, the ship's cooks and boatswain's mates had a duty arrangement to give the cooks more sleep. The boatswain's mates, who worked 24 hours a day on watches, would build the fire in the stove, so the cook could get up a little while later and the fire would be already going so he could begin preparing breakfast. In return, between meals, the cooks would shine the bell, which was traditionally the boatswain's mates' responsibility.
Baptizing children[edit]
Ship's bell as Baptismal font at chapel, Yeo Hall, Royal Military College of Canada
Baby is baptized with holy water from the ship's bell
It is a naval tradition to baptize children using the ship's bell as a baptismal font and to engrave the names of the children on the bell afterwards. Christening information from the bells held by the Canadian Forces Base Esquimalt Museum has been entered into a searchable data archive.[3]
See also[edit]
 1. ^ a b Tony Gray. "Workshop Hints: Ship's Bells". The British Horological Institute. Archived from the original on 9 November 2012. Retrieved 12 June 2011.
 2. ^ a b "Ship's Bell". National Maritime Museum. Archived from the original on 9 December 2008. Retrieved 2008-04-07.
 3. ^ "The Christening Bells Project". CFB Esquimalt Naval & Military Museum. Retrieved 6 November 2012.
External links[edit]


Award-Winning LSAT Tutors in Rio de Janeiro
Expert LSAT tutoring for students at all levels
Get a better score guaranteed, or your money back.
Who needs a tutor?
What is your name?
What is your email address?
What is your phone number?
Featured by
Tutors from
Private Online LSAT Tutoring in Rio de Janeiro
If you're looking for quality LSAT tutoring in Rio de Janeiro, Varsity Tutors has you covered with excellent private instruction opportunities. The LSAT, or the Law School Admission Test, takes about two and a half hours to complete and assesses the skills and knowledge one would need to know to be successful in law school. If you are graduating or have graduated from a school such as the Federal University of Rio de Janeiro and are hoping to attend a law school in the United States or Canada, you're likely to be required to take the LSAT. The exam assesses you on Reading Comprehension, Analytical Reasoning, Logical Reasoning, and Writing. If you have a hard time with any of these topics or simply want to increase your skills, signing up for private Rio de Janeiro LSAT tutoring can be the resource you need to put your best foot forward.
There are many benefits to be gained from signing up for private instruction as you prepare for your LSAT. The one-on-one environment, which can be difficult to find in a traditional classroom setting, provides your teacher with the chance to get to know you. He or she can spend time learning your professional goals, your academic strengths and weaknesses, and your preferred method of learning. With this information, you can receive instruction which is customized to fit your learning style. As an example, if you're an auditory student, your private Rio de Janeiro LSAT tutoring sessions would look different than those of someone who prefers a visual learning style. Your teacher could provide lessons using a lecture style or give you a recording on how to draw a well-supported conclusion to listen to at your leisure
In addition to personalizing the lessons to suit your method of learning, private LSAT tutoring in Rio de Janeiro can spend time focusing on the exact content you most need to review. If you've already mastered most of the skills found in the Logical Reasoning section, your instructor can help you review for the Reading Comprehension section instead. If you have strong Writing skills but have a difficult time with Analytical Reasoning, your Rio de Janeiro LSAT tutoring sessions can focus on your ability to infer what could or must be true based on the provided information.
In addition to reviewing the content you'll encounter on the exam, your LSAT tutoring in Rio de Janeiro can include sessions on the format of the exam. Your teacher can give you opportunities to take a practice test in a similar environment you'll find on test day. Each section has a specific time limit and you can practice your pacing ahead of time so you can feel at ease on exam day. Your Rio de Janeiro LSAT tutor can also give you advice on different strategies to use on test day. For example, your instructor can help you practice using the process of elimination on your exam as a way to improve your chances of choosing the correct answer to questions. This is important because your LSAT score will be based on the number of correct answers you get. There is no penalty for getting a question wrong, so you'll want to make sure to at least make an educated guess on each question. Your instructor can also assist you in practicing your Writing skills. Although the Writing sample is unscored, it is sent with your scores to any school you apply to, so it's important to demonstrate your argumentative writing skills.
To get started with LSAT tutoring in Rio de Janeiro, contact Varsity Tutors. We can have you connected to an instructor in as little as 24 hours to help you work towards your LSAT goals.
Your Personalized Tutoring Program and Instructor
Identify Needs
Customize Learning
Increased Results
Online Convenience
Call us today to connect with a top Rio de Janeiro LSAT tutor
_PHONE_
Call Now


text:
How to add a ReadOnly property in C#?
Property - A property is an entity that describes the features of an object.
A property is a piece of data contained within a class that has an exposed interface
for reading/writing. Looking at that definition, you might think you could declare a
public variable in a class and call it a property. While this assumption is somewhat
valid, the true technical term for a public variable in a class is a field. The key
difference between a field and a property is in the inclusion of an interface.
We make use of Get and Set keywords while working with
properties. We prefix the variables used within this code block with an underscore.
Value is a keyword, that holds the value
which is being retrieved or set. See code below to set a property as ReadOnly. If
a property does not have a set accessor, it becomes a ReadOnly property.
Default Values of Types
Const - ReadOnly
Interface Reference, is, as
public class ClassA
private int length = 0;
public ClassA(int propVal)
length = propVal;
public int length
More Interview Questions...


text:
Daily 9x9 Nurikabe for 2013-08-20
Nurikabe is a binary determination puzzle. You must decide for each cell if it is white or black (by clicking on them) according to the following rules:
- All of the black cells must be connected.
- Each numbered cell must be part of a white island of connected white cells.
- Each island must have the same number of white cells as the number it contains (including the numbered cell).
- Two islands may not be connected.
- There cannot be any 2x2 blocks of black cells.
Read more about the history and methods behind nurikabe in the Wikipedia nurikabe article.


emitter categorisations might be of help:
 - Animals
 - Animals.Birds
 - Animals.Cats
 - Animals.Dogs
If wanting all traces sent by all cats to be gathered in the Animals.Cats trace category, one shall introduce in class_Cat following define before the aforementioned class_TraceEmitter.hrl include:
and use it in the constructor like the following example, where class_Cat inherits directly from class_Creature [2] - supposingly itself a child class of class_TraceEmitter:
[2]We chose on purpose, with class_Creature, a classname that differs from class_Animal, to better illustrate that trace categories can be freely specified.
construct(State,TraceEmitterName) ->
 TraceState = class_Creature:construct(State,
 % Cannot use?warning("Hello!), as it would use 'State',
 % which is not a trace emitter yet! So:
 ?send_warning(TraceState,"Cat on the loose!"),
Then all traces sent by all cats will be automatically registered with this trace emitter category.
The purpose of the trace_categorize macro used in the above example is to register the trace categorisation defined through the inheritance tree so that, right from the start, the most precise category is used for all emitted traces [3].
[3]Otherwise, should the various constructors involved declare their own categorisation (which is the general case) and send traces, creating a cat instance would result in having these traces sorted under different emitter categories (ex: the one declared by class_Creature, then by class_Cat, etc.). Tracking the messages emitted by a given instance would be made more difficult than needed, using this macro allows to have them gathered all in the most precise category from the start.
Activation / Desactivation
The trace macros used above can be fully toggled at build-time, on a per-module basis (if disabled, they incur zero runtime overhead, and no source change is required).
See the ENABLE_TRACES make variable in for that, and do not forget to recompile all classes and modules that shall observe this newer setting.
Note that an error-like trace severity will not be impacted by this setting, as such traces shall remain always available (never muted).
Doing so incurs a very low runtime overhead anyway (supposing of course that sending these failure-related messages happens rather infrequently), as the cost of a mostly idle trace aggregator (which is spawned in all cases) is mostly negligible - knowing that runtime resource consumption happens only when/if emitting actual traces.
Switching from Basic Console Traces
In some cases, it may be convenient to have first one's lower-level, debugging traces be directly output on the console.
Then, once the most basic bugs are fixed (ex: the program is not crashing anymore), the full power of this Traces layer can be best used, by switching the initial basic traces to the more advanced traces presented here.
To output (basic) console traces, one may use the trace_utils module of the Myriad layer. For example:
trace_utils:debug_fmt("Hello world #~B",[2])
Then switching to the more advanced traces discussed here is just a matter of replacing, for a given trace type T (ex: debug), trace_utils:T with?T, like in:
?debug_fmt("Hello world #~B",[2])
(with no further change in the trace parameters).
Yet now, as already mentioned, there is a better way of doing so (not requiring trace primitives to be changed once specified), through the use of the trace_bridge module - which is also provided by the Myriad layer - instead.
It allows all Erlang code, including the one of lower-level libraries, to rely ultimately either on basic traces (i.e. the ones offered by Myriad in trace_utils) or on more advanced ones (typically the ones discussed here, offered by Traces - or any other respecting the same conventions) transparently (i.e. with no further change, once the emitter process is registered).
See trace_bridging_test.erl for an example of use thereof.
Trace Ordering
It should be noted that the ordering of the reported traces is the one seen by the trace aggregator, based on their receiving order by this process (not for example based on any sending order of the various emitters involved - there is hardly any distributed global time available anyway).
So, due to network and emitter latencies, it may happen (rather infrequently) that in a distributed setting a trace message associated to a cause ends up being listed, among the registered traces, after a trace message associated to a consequence thereof [4]; nevertheless each trace includes a wall-clock timestamp corresponding to its sending (hence expressed according to the local time of its trace emitter).
[4]A total, reproducible order on the distributed traces could be implemented, yet its runtime synchronisation cost would be sufficiently high to have a far larger impact onto the executions that this trace system is to instrument than the current system (and such an impact would of course not be desirable).
Trace Output Generation
Trace Format Type
Traces may be browsed thanks to either of the following supervision solutions (see class_TraceSupervisor.erl):
 - text_traces, itself available in two variations:
 - text_only if wanting to have traces be directly written to disk as pure, yet human-readable, text
 - pdf, if wanting to read finally the traces in a generated PDF file (hence the actual text includes a relevant mark-up, and as such is less readable directly before a PDF is generated out of it)
 - advanced_traces, for smarter log tools such as LogMX (the default), as discussed below
Trace Rotation
Note also that trace rotation can be enabled: when requested, it is performed (in a synchronous or asynchronous manner, see the rotateTraceFile/1 oneway and the rotateTraceFileSync/1 request of the trace aggregator) unconditionally or based on a threshold in the size of the trace file (the default; see also the setMinimumTraceFileSizeForRotation/2 oneway).
Such trace rotation is typically meant to be triggered by a scheduler, on a regular basis (doing so is more relevant than for example checking a criterion at each trace addition).
If the current trace file is my_file.traces, its rotated version will be an XZ archive named for example my_file.traces.8.2021-1-17-at-22h-14m-00s.xz (the count, here 8, allows to keep track of a series of rotation archives, while the timestamp corresponds to the time at which the log rotation was done), located in the same directory.
Trace Supervision & Browsing
Indeed the tool that generally we use for trace browsing is LogMX (the only tool that we use that is not free software, as we find it convenient), which we integrated:
We implemented a Java-based parser of our trace format for LogMX (see
Traces can be browsed with this tool:
 - live (i.e. during the execution of the program), either from its start or upon connection to the instrumented program whilst it is already running [5] (see class_TraceListener.erl and trace_listening_test.erl)
 - post mortem (i.e. after the program terminated for any reason, based on the trace file that it left)
[5]In which case the trace supervisor will first receive, transactionally, a compressed version of all past traces; then all new ones will be sent to this new listener, resulting in no trace being possibly lost.
The trace supervision solution can be switched at compile time (see the TraceType defined in traces/include/traces.hrl); the Traces layer shall then be rebuilt.
Trace Implementation
General Mode of Operation
All processes are able to emit traces, either by using standalone trace sending primitives (mostly for plain Erlang processes), or by inheriting from the TraceEmitter class, in the (general) case of WOOPER-based processes.
In the vast majority of cases, all these emitters send their traces to a single trace aggregator, in charge of collecting them and storing them on-disk (for most uses, their memory footprint would be quickly too large for RAM), according to an adequate trace format.
This trace format can be parsed by various trace supervisors, the most popular being LogMX.
Various measures have been taken in order to reduce the overhead induced by the overall trace system.
Notably normal traces (as opposed to error-like ones) are sent in a "fire and forget", non-blocking manner (thanks to oneways, which are not specifically acknowledged). The number of messages exchanged is thus reduced, at the cost of a lesser synchronization of the traces (i.e. there is no strong guarantee that the traces will be ultimately recorded and displayed in the order of their emission in wallclock-time, as they will be directly and sequentially stored in their actual order of receiving by the trace aggregator [6], an order that depends itself on the potentially varied network latencies experienced from the potential multiple sources to the trace aggregator).
[6]For example, if both the trace aggregator and a process B are running on the same host, and if a process A, running on another host, emits a trace then sends a message to B so that B sends in turn a trace, then the trace from B might in some cases be received - and thus be listed - by the aggregator before the trace for A (it depends on the network congestion, relative scheduling of processes, etc.).
Trace Emitters
When sending a trace, an emitter relies on its trace_timestamp attribute, and sends a (binarised) string representation thereof (obtained thanks to the ~p quantifier of io:format/2 ). This allows the trace subsystem to support all


text:
A domain name can be succeeded and transferred to the legal successor.
- In the process of domain name succession a registrar must make the domain name transfer to new registrant;
- In this case the consent of the old owner is replaced by a succession document;
- A succession document must be a notarised authorised document in which the notary has officially confirmed the identity of the legal successors;
- Neither a marriage certificate, death certificate nor will would constitute such a document
- How long a domain can be succeeded? According to the domain regulation the deletion of the domain name is only possible after the 6 months have elapsed from the death. In this case EIF will send to the contacts (e-mail) of the domain a notice and make a proposal for submitting the documentation within 30 days. After 30 days the domain will be deleted. So it means that if the legal successors have the right to use aforementioned e-mail, they will get the notice.
- If a technical notation of prohibition restricts the transfer, the domain name cannot be succeeded to a new owner.