191.png -cubes in an oriented manifolds192.png -dimensional manifold manifolds193.png and manifolds194.png is a manifolds195.png -form on manifolds196.png such that manifolds197.png outside of manifolds198.png, then
Proof: We have
where manifolds201.png and we have used the assumption that manifolds202.png is zero outside of manifolds203.png It remains to show that
But, if manifolds205.png, then we have
since manifolds207.png The result now follows by the change of variables formula for integrals.
We can now define integrals. Let manifolds208.png be a k-form on an oriented k-dimensional manifold manifolds209.png. Choose an open cover manifolds210.png of manifolds211.png such that for each manifolds212.png, there is an orientation preserving singular manifolds213.png -cube manifolds214.png with manifolds215.png Let manifolds216.png be a partition of unity for manifolds217.png subordinate to this cover. Define
where manifolds219.png was chosen so that manifolds220.png is zero outside of an compact subset of manifolds221.png and manifolds222.png is is an orientation preserving singular manifolds223.png -cube with manifolds224.png Then just as in Chapter 3, the value of this integral is independent of the choice of manifolds225.png, manifolds226.png, and manifolds227.png.
Now suppose we have a manifolds228.png -dimensional manifold-with-boundary manifolds229.png with orientation manifolds230.png. Let manifolds231.png be the orientation induced by manifolds232.png on manifolds233.png. Let manifolds234.png be an orientation-preserving manifolds235.png -cube in manifolds236.png such that manifolds237.png lies in manifolds238.png and this is the only face which contains any interior points of manifolds239.png. Then manifolds240.png is orientation preserving if and only manifolds241.png is even. In particular, if manifolds242.png is a manifolds243.png -form on manifolds244.png which is zero outside of manifolds245.png, we have
Now manifolds247.png appears with coefficient manifolds248.png in the definition of manifolds249.png. So,
This explains the strange choice of signs in the definition of the induced orientation on manifolds251.png
8.3 Stokes' Theorem for Manifolds-with-Boundary
Theorem 1: (Stokes' Theorem) Let manifolds252.png be a compact oriented manifolds253.png -dimensional manifold-with-boundary and manifolds254.png be a manifolds255.png -form on manifolds256.png. Then
where manifolds258.png is oriented with the orientation induced from that of manifolds259.png
Proof: Begin with two special cases: First assume that there is an orientation preserving manifolds260.png -cube in manifolds261.png such that manifolds262.png outside of manifolds263.png Using our earlier Stokes' Theorem, we get
since manifolds265.png on manifolds266.png But manifolds267.png also since manifolds268.png on manifolds269.png
The second case is where there is an orientation-preserving singular manifolds270.png -cube in manifolds271.png such that manifolds272.png is the only face containing points of manifolds273.png and manifolds274.png outside of manifolds275.png One has:
For the general case, choose an open cover manifolds277.png of manifolds278.png and a partition of unity manifolds279.png subordinate to manifolds280.png such that for each manifolds281.png, the form manifolds282.png is as in one of the two cases already considered. Since manifolds283.png is compact, one has a finite sum:
But then,
8.4 Volume
In manifolds286.png, the volume can be calculated as the integral of the form manifolds287.png. We would like to find a generalization to manifolds of this differential form.
If manifolds288.png is a manifolds289.png -dimensional manifold, then the usual inner product on manifolds290.png induces an inner product on each of the tangent spaces of manifolds291.png. (Recall that an inner product of V is a bilinear form manifolds292.png such that manifolds293.png for all manifolds294.png.) With an inner product, one can define an orthonormal basis to be one of the form manifolds295.png where manifolds296.png where manifolds297.png is the Kronecker manifolds298.png. Now, if manifolds299.png and manifolds300.png are both orthonormal bases, then we can write manifolds301.png. In particular, one calculates:
which can be expressed as a matrix equation manifolds303.png where manifolds304.png is the matrix with entries manifolds305.png Taking determinants of this means that manifolds306.png In particular, if manifolds307.png where manifolds308.png is a vector space of dimension manifolds309.png, then
Proposition 4: manifolds310.png is constant for all orthonormal bases of manifolds311.png of the same orientation.
Definition 3: Let manifolds312.png be an oriented manifolds313.png -dimensional manifold in manifolds314.png. Then a manifolds315.png -form manifolds316.png on manifolds317.png is called a volume element if manifolds318.png for all orientation preserving orthonormal bases manifolds319.png
Example: Consider the case of 2-dimensional oriented manifolds in manifolds320.png Let manifolds321.png be the outward normal at manifolds322.png. Then define manifolds323.png by
By the definition of the outward normal, manifolds325.png is a volume element. Further, if manifolds326.png is an orthonormal basis of the same orientation as manifolds327.png, one has:
Also, expanding as cofactors of the last row, one gets
On manifolds330.png, one can compute for manifolds331.png using manifolds332.png for some manifolds333.png, that
Letting manifolds335.png, and manifolds336.png, we get:
Proposition 4: Let manifolds337.png be an oriented 2-dimensional manifold in manifolds338.png and let manifolds339.png be the unit outward normal. Then the volume element manifolds340.png satisfies:
Further, on manifolds342.png, one has:
To calculate a surface area, we need to evaluate manifolds344.png for an orientation preserving singular 2-cube manifolds345.png. The integrand is
(See Problem 4.9, part e.)
8.4 Classical Stokes' Theorem
Three separate results will be shown to be special cases of our Stokes' Theorem.
Theorem 2: (Green's Theorem) Let manifolds348.png be a compact 2-dimensional manifold-with-boundary. Suppose that manifolds349.png are differentiable. Then
Proof: This is just Stoke's Theorem in the case of a 1-form.
Theorem 3: (Divergence Theorem) Let manifolds351.png be a compact 3-dimensional manifold-with-boundary and manifolds352.png be the unit outward normal on manifolds353.png. Let manifolds354.png be a differentiable vector field on manifolds355.png Then
In terms of manifolds357.png, this amounts to:
Proof: Define manifolds359.png Then manifolds360.png Further, Proposition 4 says that:
So, we see that this is also a special case of Stokes' Theorem
Theorem 4: (Stokes' Theorem) Let manifolds362.png be a compact oriented 2-dimensional manifold-with-boundary and manifolds363.png be the unit outward normal on manifolds364.png determined by the orientation on manifolds365.png. Let manifolds366.png have the induced orientation. Let manifolds367.png be the vector field on manifolds368.png with manifolds369.png and manifolds370.png be a differentiable vector field in an open set containing manifolds371.png. Then
In terms of manifolds373.png, this amounts to:
Proof: Let manifolds375.png on manifolds376.png be defined by manifolds377.png Again, using Proposition 4, we get:
Since manifolds379.png, one has
as one can see by evaluating each equation at manifolds381.png. It follows that
So, this is also a special case of our earlier Stokes' Theorem.


GA.test: Test the association between an quantitative outcome variable...
Description Usage Arguments Value Examples
Description
Once the preliminary work is done using "GA.prelim()", this function tests a specifc region/gene. Single SNP analyses are also incorporated.
Usage
1
2
GA.test(result.prelim,G,Gsub.id=NULL,bootstrap=NULL,
MinP.adjust=NULL,impute.method='fixed')
Arguments
result.prelim
The output of function "GEI.prelim()"
G
Genetic variants in the target region/gene, an m*q matrix where m is the subject ID and q is the total number of genetic variables. Note that the number of rows in Z should be same as the number of subjects.
Gsub.id
The subject id corresponding to the genotype matrix, an m dimensional vector. This is in order to match the phenotype and genotype matrix. The default is NULL, where the order is assumed to be matched with Y, X and time.
bootstrap
Whether to use bootstrap for small sample size adjustement. This is recommended when the number of subjects is small, or the set contains rare variants. The default is NULL, but a suggested number is 10000 when it is needed.
MinP.adjust
If the users would like to compare with the MinP test, this parameter specify the adjustment thereshold as in Gao, et al. (2008) "A multiple testing correction method for genetic association studies using correlated single nucleotide polymorphisms". Values from 0 to 1 are permitted. The default is NULL, i.e., no comparison. The value suggested by Gao, et al. (2008) is 0.95.
impute.method
Choose the imputation method when there is missing genotype. Can be "random", "fixed" or "bestguess". Given the estimated allele frequency, "random" simulates the genotype from binomial distribution; "fixed" uses the genotype expectation; "Best guess" uses the genotype with highest probability.
Value
p.value
P-value of the set based generalized score type test.
p.single
P-values of the incorporated single SNP analyses
p.MinP
P-value of the MinP test.
n.marker
number of heterozygous SNPs in the SNP set.
Examples
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
## GA.prelim does the preliminary data management.
# Input: Y, time, X (covariates)
## GA.test tests a region.
# Input: G (genetic variants) and result of GEI.prelim
library(LGEWIS)
# Load data example
# Y: outcomes, n by 1 matrix where n is the total number of observations
# X: covariates, n by p matrix
# time: describe longitudinal structure, n by 2 matrix
# G: genotype matrix, m by q matrix where m is the total number of subjects
data(LGEWIS.example)
Y<-LGEWIS.example$Y;time<-LGEWIS.example$time;X<-LGEWIS.example$X;G<-LGEWIS.example$G
# Preliminary data management
result.prelim<-GA.prelim(Y,time,X=X)
# test without the MinP test
result<-GA.test(result.prelim,G,MinP.adjust=NULL)
# test with the MinP test
result<-GA.test(result.prelim,G,MinP.adjust=0.95)
# test with the MinP test and the small sample adjustment
result<-GA.test(result.prelim,G,MinP.adjust=0.95,bootstrap=1000)
Search within the LGEWIS package
Search all R packages, documentation and source code
Questions? Problems? Suggestions? or email at _EMAIL_.
Please suggest features or report bugs with the GitHub issue tracker.
All documentation is copyright its authors; we didn't write any of that.


text:
A novel digital phase tracking algorithm for a high resolution fibre Bragg grating based sensor system
Journal of Physics, Conference Series
A novel digital phase tracking algorithm for a high resolution fibre Bragg grating based sensor system To cite this article: BT Meggitt et al 2005 J. Phys.: Conf. Ser. 15 74 View the article online for updates and enhancements. Abstract. The development of a high-resolution, optical fibre Bragg grating sensor system is described that incorporates a novel digital, condition-based, phase-tracking algorithm for unwrapping the 2π phase ambiguity and permits the continuous up/down phase-tracking of
... phase-tracking of multiple fringe changes. An all-fibre, Michelson interferometric phase-measurement approach is utilised for the determination of strain and temperature induced Bragg wavelength shifts. The system incorporates orthoconjugate mirrors and a stabilised reference channel to compensate for polarisation and random thermal induced drifts and has the potential for resolving sub-µstrain and mK temperature changes with a resolutions of <100nε/√Hz (at 1Hz) and <10mK respectively.

source: m-a-p/FineFineWeb


text:
|pygame.mask.from_surface||—||Returns a Mask from the given surface.|
|pygame.mask.from_threshold||—||Creates a mask by thresholding Surfaces|
|pygame.mask.Mask||—||pygame object for representing 2d bitmasks|
Useful for fast pixel perfect collision detection. A Mask uses 1bit per pixel to store which parts collide.
New in pygame 1.8.
Makes the transparent parts of the Surface not set, and the opaque parts set.
The alpha of each pixel is checked to see if it is greater than the given threshold.
If the Surface is color keyed, then threshold is not used.
This is a more featureful method of getting a Mask from a Surface. If supplied with only one Surface, all pixels within the threshold of the supplied color are set in the Mask. If given the optional othersurface, all pixels in Surface that are within the threshold of the corresponding pixel in othersurface are set in the Mask.
|pygame.mask.Mask.get_size||—||Returns the size of the mask.|
|pygame.mask.Mask.get_at||—||Returns nonzero if the bit at (x,y) is set.|
|pygame.mask.Mask.set_at||—||Sets the position in the mask given by x and y.|
|pygame.mask.Mask.overlap||—||Returns the point of intersection if the masks overlap with the given offset - or None if it does not overlap.|
|pygame.mask.Mask.overlap_area||—||Returns the number of overlapping 'pixels'.|
|pygame.mask.Mask.overlap_mask||—||Returns a mask of the overlapping pixels|
|pygame.mask.Mask.fill||—||Sets all bits to 1|
|pygame.mask.Mask.clear||—||Sets all bits to 0|
|pygame.mask.Mask.invert||—||Flips the bits in a Mask|
|pygame.mask.Mask.scale||—||Resizes a mask|
|pygame.mask.Mask.draw||—||Draws a mask onto another|
|pygame.mask.Mask.erase||—||Erases a mask from another|
|pygame.mask.Mask.count||—||Returns the number of set pixels|
|pygame.mask.Mask.centroid||—||Returns the centroid of the pixels in a Mask|
|pygame.mask.Mask.angle||—||Returns the orientation of the pixels|
|pygame.mask.Mask.outline||—||list of points outlining an object|
|pygame.mask.Mask.convolve||—||Return the convolution of self with another mask.|
|pygame.mask.Mask.connected_component||—||Returns a mask of a connected region of pixels.|
|pygame.mask.Mask.connected_components||—||Returns a list of masks of connected regions of pixels.|
|pygame.mask.Mask.get_bounding_rects||—||Returns a list of bounding rects of regions of set pixels.|
Coordinates start at (0,0) is top left - just like Surfaces.
The overlap tests uses the following offsets (which may be negative):
+----+----------.. |A | yoffset | +-+----------.. +--|B |xoffset | | : :
You can see how many pixels overlap with the other mask given. This can be used to see in which direction things collide, or to see how much the two masks collide. An approximate collision normal can be found by calculating the gradient of the overlap area through the finite difference.
dx = Mask.overlap_area(othermask,(x+1,y)) - Mask.overlap_area(othermask,(x-1,y)) dy = Mask.overlap_area(othermask,(x,y+1)) - Mask.overlap_area(othermask,(x,y-1))
Returns a Mask the size of the original Mask containing only the overlapping pixels between Mask and othermask.
Sets all bits in a Mask to 1.
Sets all bits in a Mask to 0.
Flips all of the bits in a Mask, so that the set pixels turn to unset pixels and the unset pixels turn to set pixels.
Returns a new Mask of the Mask scaled to the requested size.
Performs a bitwise OR, drawing othermask onto Mask.
Erases all pixels set in othermask from Mask.
Returns the number of set pixels in the Mask.
Finds the centroid, the center of pixel mass, of a Mask. Returns a coordinate tuple for the centroid of the Mask. In the event the Mask is empty, it will return (0,0).
Finds the approximate orientation of the pixels in the image from -90 to 90 degrees. This works best if performed on one connected component of pixels. It will return 0.0 on an empty Mask.
Returns a list of points of the outline of the first object it comes across in a Mask. For this to be useful, there should probably only be one connected component of pixels in the Mask. The every option allows you to skip pixels in the outline. For example, setting it to 10 would return a list of every 10th pixel in the outline.
Returns a mask with the (i-offset,j-offset) bit set if shifting othermask so that its lower right corner pixel is at (i,j) would cause it to overlap with self.
If an outputmask is specified, the output is drawn onto outputmask and outputmask is returned. Otherwise a mask of size self.get_size() + othermask.get_size() - (1,1) is created.
This uses the SAUF algorithm to find a connected component in the Mask. It checks 8 point connectivity. By default, it will return the largest connected component in the image. Optionally, a coordinate pair of a pixel can be specified, and the connected component containing it will be returned. In the event the pixel at that location is not set, the returned Mask will be empty. The Mask returned is the same size as the original Mask.
Returns a list of masks of connected regions of pixels. An optional minimum number of pixels per connected region can be specified to filter out noise.
This gets a bounding rect of connected regions of set pixels. A bounding rect is one for which each of the connected pixels is inside the rect.

source: HuggingFaceFW/fineweb-edu


text: Multilevel modeling is a data analysis technique used to analyze nested data. Nested data refers to data wherein units of analysis at one level are nested within units of analysis at higher levels. Multilevel data are observed in cross-sectional designs which sample individuals nested within groups. An example of this type of multilevel data is patients (level 1) nested within hospitals (level 2). Multilevel data are also found in repeated measures designs (e.g., multiwave longitudinal or experience sampling designs) which sample repeated reports nested within individuals. An example of this type of multilevel data is an experience sampling study where repeated reports of pain (level 1) are nested within individuals (level 2). In multilevel modeling, level thus refers to the structure of the data. The lower level (level 1) represents the most detailed unit of analysis and has the greatest number of data points. Level 2 represents the higher level within which level 1 observations are nested.

source: openbmb/Ultra-FineWeb


Aimé Césaire was born on June 26, 1913 in Basse-Pointe, Martinique. His father, Fernand Elphège, managed a sugar estate, though he was educated as a teacher. His mother, Eléonore, was a seamstress. In order to gain access to better education, his family moved to Martinique's capital, Fort-de-France, where Aimé attended the Lycée Schoelcher. He excelled as a student and was granted a scholarship at age 18 to study in Paris at the Lycée Louis-le-Grand, where he met Léopold Senghor. Along with Léon Damas, Césaire's classmate from the Lycée Schoelcher, Césaire and Senghor founded the student publication L'Etudiant noir, a literary review that focused on black literature from Africa and the West Indies. This publication laid the foundation for the "negritude" movement. Césaire began writing his poem "Cahier d'un retour au pays natal" in 1936, and it was first published in 1939.
In 1937, Césaire married his classmate Suzanne Roussi, with whom he ultimately had four sons and two daughters. The two moved back to Martinique with their first son in 1939, and both took jobs teaching at the Lycée Schoelcher. During this time, Césaire was sent to Haiti as a cultural ambassador, and there he lectured on French poetry. He and his wife founded the literary review Tropiques in 1941, which dealt with Martinican identity. Around this time he also became close friends with French surrealist André Breton, who encouraged Césaire to incorporate surrealism into his writing and political spheres. A member of the communist party, Césaire was elected mayor of Fort-de-France and deputy in the French National Assembly in 1945. He helped to draft the 1946 law that began departmentalization of former French colonies. Césaire maintained his position in the communist party until 1956, when the Soviet Union's suppression of the Hungarian revolution led to his leaving the party. In 1958 he founded the Parti Progressiste Matriniquais, or Martinican Progressive Party. He ultimately retired from French politics in 1993, though he remained mayor of Fort-de-France until 2001 (he had held the position since 1945, minus a short period from _PHONE_). Césaire died on April 18, 2008 at the age of 94.
In trying to conceptualize the impact Césaire had on the country and people of Martinique, perhaps it is easiest simply to look at the number of attendees of his funeral procession in Martinique, united in both mourning Aimé's passing and in celebrating his achievements. A short video of a section of the procession can be found by clicking the link below.
Césaire Funeral Procession – Fort-de-France
Leave a Reply
Empire and Its Contemporary Legacies


This section is empty.
This section is empty.
func Delete
func Delete(path string)
Delete the file at the given path.
To avoid panics, you should check if the file exists.
func FileExists
func FileExists(file string) bool
FileExists returns true if the file at the given path exists and is readable. Returns false if the given file is a directory.
func GetFileExtension
func GetFileExtension(file string) string
GetFileExtension returns the last part of a file name. If the file doesn't have an extension, returns an empty string.
func GetMIMEType
func GetMIMEType(file string) (string, int64)
GetMIMEType get the mime type and size of the given file.
If the file cannot be opened, panics. You should check if the file exists, using "filesystem.FileExists()"", before calling this function.
func IsDirectory
func IsDirectory(path string) bool
IsDirectory returns true if the file at the given path exists, is a directory and is readable.
type File
type File struct {
 Header *multipart.FileHeader
 MIMEType string
 Data multipart.File
File represents a file received from client.
func ParseMultipartFiles
func ParseMultipartFiles(request *http.Request, field string) []File
ParseMultipartFiles parse a single file field in a request.
func (*File) Save
func (file *File) Save(path string, name string) string
Save writes the given file on the disk. Appends a timestamp to the given file name to avoid duplicate file names. The file is not readable anymore once saved as its FileReader has already been closed.
Creates directories if needed.
Returns the actual file name.


text:
Reflecting on UNISDR's reviews of the HFA, as well as GNDR's Views from the Frontline review of progress at the local level, this Reality Checklist highlights 10 essentials for local level impact.
Can we make sure that the HFA2 has an impact at the frontline?
We can enhance impact if we:
1. Understand local perspectives of risk
Listen and understand the experiences of people most at-risk
2. Consider the local context
Recognise the real life challenges of fragility, insecurity, and informality
3. Leave no one behind
Ensure the inclusion of all groups, particularly those most at-risk
Work with and across all groups and levels
5. Mobilise local resources
Build on existing capacities, knowledge and other sources of resilience
6. Align across policies
Ensure coherence across development and climate change activities
7. Hold people to account
Ensure accountability to local communities
8. Learn from the past and look to the future
Learn lessons and recognise future trends to inform recovery and development planning
9. Be environmentally aware
Recognise, protect and strengthen the functions of ecosystems
10. Recognise the potential of civil society
Actively work with civil society to achieve these essentials
How can I participate?
- In the run up to, during, and after the WCDRR in March, GNDR will be working to build support for these 10 essentials. In particular we want GNDR members to lobby with their national governments to utilise the checklist when designing their implementation plans. Share your stories of lobbying with governments on the GNDR Advocacy Facebook Group.
- Have a reality check with your partners. Use the Reality Checklist to develop and assess implementation strategies for the Post-2015 DRR Framework.


text:
New Alias (Alias Tab)
An alias is an alternate name that can be used to make a connection. The alias encapsulates the required elements of a connection string, and exposes them with a name chosen by the user. Use the Alias page on the Alias - New dialog box to specify the elements of the connection string for an alias. To change the connection string of an existing alias, see Properties (Alias Tab).
All values in the Properties grid do not have to be completed. Valid combinations vary depending on the protocol selected. See the topics listed below for examples of valid combinations.
By default, SQL Server connects to a local instance of SQL Server using the Shared Memory protocol, and to an instance of SQL Server on another computer using either TCP/IP or Named Pipes. Create an alias when you are using TCP/IP, named pipes, or VIA, and you want to provide a customized connection string, or when you want to use a name other than the server name for the connection.
SQL Server is not listening on the default TCP/IP port of 1433 so you want to provide a connection string with a different port number.
SQL Server is not listening on the default named pipe so you want to provide a connection string with a different pipe name.
An application expects to connect to a database on the server named ACCT, but that database has been consolidated as an instance named ACCT on a server named CENTRAL. The application cannot easily be changed. Create an alias named ACCT, with a connection string pointing to CENTRAL\ACCT.
See the following topics for a description and examples of valid combinations of alias properties:


Using Microsoft Visual Basic Express 2010
This is the code i used:
Dim b As Integer = TextBox1.Text
Dim c As Integer = TextBox2.Text
Dim a As Integer = b * c
MsgBox(a
Why does this visual basic code not work and how do i fix it to make it work? It is supposed to multiply any two numbers I input into the text boxes but whenever I 'start debugging', it says:
"Conversion from string "" to type 'Integer' is not valid." and it highlights 'As Integer = TextBox1.Text' (part of first line of text)
Ive been trying to figure out why it wont work for a while now. Please help! And please be detailed in answer.
Thanks
It looks like it's because TextBox1.Text is of type string. I'm not sure but it may attempt to convert the string into an int where applicable (with inputs such as "20" or "350") and error out otherwise. If the text box is empty, conversion may not be possible. You may need to check if the string can be converted and there's a built in function for this called IsNumeric. You can read more about it below:
_URL_
Also, where have you placed the code to work out the value? If this is done as soon as the program loads, it may not work as expected. You will need to do this as part of a button click event handler.
You are trying to assign a string value to an integer variable. In order to do the assignment you should first (as stated by jwdunne) determine that the conversion is possible. If the conversion is possible you can use Convert to do the conversion as in
Dim b As Integer = Convert.ToInt32(textbox1.Text)
Replace "ToInt32" with the appropriate conversion.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 Dim b As Integer = Convert.ToInt32(TextBox1.Text)
 Dim c As Integer = Convert.ToInt32(TextBox2.Text)
 Dim a As Integer = b * c
 MsgBox(a, MsgBoxStyle.OkOnly, )
End Sub
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
 Select Case e.KeyCode
 Case Keys.D0, Keys.D1, Keys.D2, Keys.D3, Keys.D4, Keys.D5, Keys.D6, Keys.D7, Keys.D8, Keys.D9
 e.SuppressKeyPress = False
 Case Keys.Subtract, Keys.OemMinus
 If Me.TextBox1.Text.StartsWith("-") Then e.SuppressKeyPress = True
 Case Keys.Delete, Keys.Back, Keys.Enter, Keys.Return
 e.SuppressKeyPress = False
 Case Else
 e.SuppressKeyPress = True
 End Select
End Sub
The keyDown sub will need to be for both text boxes, and you will not be allowed to type in text just +/- intergers
 Dim b As Integer = CInt(TextBox2.Text)
 Dim c As Integer = CInt(TextBox3.Text)
 Dim a As Integer = b * c
 MsgBox(a)
Or, you can shorten the whole thing to one line:
MsgBox(Val(TextBox1.Text) + Val(TextBox2.Text))
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.


text:
Jesse Owens in 1936
|Full name||James Cleveland Owens|
|Born||September 12, 1913
Oakville, Alabama, USA
|Died||March 31, 1980
Tucson, Arizona, USA
|Height||5 ft 10 in (1.78 m)|
|Weight||165 lb (75 kg)|
|Sport||Track and field athletics|
|Event(s)||Sprint, Long jump|
James Cleveland "Jesse" Owens (September 12, 1913 – March 31, 1980) was an American track and field athlete who specialized in the sprints and the long jump. He participated in the 1936 Summer Olympics in Berlin, Germany, where he achieved international fame by winning four gold medals: one each in the 100 meters, the 200 meters, the long jump, and as part of the 4x100 meter relay team. He was the most successful athlete at the 1936 Summer Olympics.
Owens was the youngest of ten children, three girls and seven boys, born to Henry Cleveland Owens and Mary Emma Fitzgerald in Oakville, Alabama on September 12, 1913. J.C., as he was called, was nine years old when the family moved to Cleveland, Ohio for better opportunities, as part of the Great Migration, when 1.5 million African Americans left the segregated South. When his new teacher asked his name (to enter in her roll book), he said "J.C.", but because of his strong Southern accent, she thought he said "Jesse". The name took, and he was known as Jesse Owens for the rest of his life.
As a boy and youth, Owens took different jobs in his spare time: he delivered groceries, loaded freight cars and worked in a shoe repair shop while his father and older brother worked at a steel mill. During this period, Owens realized that he had a passion for running. Throughout his life, Owens attributed the success of his athletic career to the encouragement of Charles Riley, his junior high track coach at Fairmount Junior High School. Since Owens worked in a shoe repair shop after school, Riley allowed him to practice before school instead.
Owens first came to national attention when he was a student of East Technical High School in Cleveland; he equalled the world record of 9.4 seconds in the 100-yard (91 m) dash and long-jumped 24 feet 9 1⁄2 inches (7.56 metres) at the 1933 National High School Championship in Chicago.
Ohio State University
Owens attended Ohio State University after employment was found for his father, ensuring the family could be supported. Affectionately known as the "Buckeye Bullet," Owens won a record eight individual NCAA championships, four each in 1935 and 1936. (The record of four gold medals at the NCAA was equaled only by Xavier Carter in 2006, although his many titles also included relay medals.) Though Owens enjoyed athletic success, he had to live off campus with other African-American athletes. When he traveled with the team, Owens was restricted to ordering carry-out or eating at "black-only" restaurants. Similarly, he had to stay at "blacks-only" hotels. Owens did not receive a scholarship for his efforts, so he continued to work part-time jobs to pay for school.
Owens's greatest achievement came in a span of 45 minutes on May 25, 1935, during the Big Ten meet at Ferry Field in Ann Arbor, Michigan, where he set three world records and tied a fourth. He equaled the world record for the 100 yard dash (9.4 seconds); and set world records in the long jump (26 ft 8 1⁄4 in or 8.13 m, a world record that would last 25 years); 220-yard (201.2 m) sprint (20.3 seconds); and 220-yard (201.2m) low hurdles (22.6 seconds, becoming the first to break 23 seconds). In 2005, University of Central Florida professor of sports history Richard C. Crepeau chose these wins on one day as the most impressive athletic achievement since 1850.
In 1936, Owens arrived in Berlin to compete for the United States in the Summer Olympics. Adolf Hitler was using the games to show the world a resurgent Nazi Germany. He and other government officials had high hopes that German athletes would dominate the games with victories (the German athletes achieved a "top of the table" medal haul). Meanwhile, Nazi propaganda promoted concepts of "Aryan racial superiority" and depicted ethnic Africans as inferior.
Owens surprised many by winning four gold medals: On August 3, 1936, he won the 100m sprint, defeating Ralph Metcalfe; on August 4, the long jump (later crediting friendly and helpful advice from Luz Long, the German competitor he ultimately defeated); on August 5, the 200m sprint; and, after he and Ralph Metcalfe were added to the 4 x 100 m relay team that featured Frank Wykoff and Foy Draper, following a request by the Germans for United States coach Dean Cromwell to replace Jewish-American sprinters Marty Glickman and Sam Stoller, he won his fourth on August 9 (a performance not equaled until Carl Lewis won gold medals in the same events at the Soviet boycotted 1984 Summer Olympics). Jesse Owens set the world record in the long jump in 1935, and this record would stand for 25 years (a very rare length of time for a track and field record), until it was finally broken by Ralph Boston in 1960. In an ironic coincidence, Owens was a spectator at the 1960 Summer Olympics when Boston took the gold medal in the long jump.
Just before the competitions, Owens was visited in the Olympic village by Adi Dassler, the founder of the Adidas athletic shoe company. He persuaded Owens to use Gebrüder Dassler Schuhfabrik shoes, the first sponsorship for a male African-American athlete.
On the first day, Hitler shook hands only with the German victors and then left the stadium. Olympic committee officials insisted Hitler greet every medalist or none at all. Hitler opted for the latter and skipped all further medal presentations. On reports that Hitler had deliberately avoided acknowledging his victories, and had refused to shake his hand, Owens said at the time:
"Hitler had a certain time to come to the stadium and a certain time to leave." "It happened he had to leave before the victory ceremony after the 100 meters. But before he left I was on my way to a broadcast and passed near his box. He waved at me and I waved back. I think it was bad taste to criticize the'man of the hour' in another country."
Owens was allowed to travel with and stay in the same hotels in Germany as whites, while at the time African Americans in many parts of the United States had to stay in segregated hotels while traveling. After a New York City ticker-tape parade of Fifth Avenue in his honor, Owens had to ride the freight elevator at the Waldorf-Astoria to reach the reception honoring him. FDR never invited Jesse Owens to the White House following his triumphs at the Olympics games. Since 1936 was a presidential-election year, Roosevelt was afraid that he would lose southern votes if he played Kowtow to a black man. Jesse Owns also publicly endorsed Alf Landon during the upcoming election.
"Hitler didn't snub me – it was FDR who snubbed me. The president didn't even send me a telegram."
Hitler sent Owens a commemorative inscribed cabinet photograph of himself. Jesse Owens was never invited to the White House nor were honors bestowed upon him by President Franklin D. Roosevelt (FDR) or his successor Harry S. Truman during their terms. In 1955, President Dwight D. Eisenhower (himself an athlete of note) honored Owens by naming him an "Ambassador of Sports."
The dormitory used by Owens during the Olympics has been fully restored into a living museum, with pictures of his accomplishments at the Games, and a letter (intercepted by the Gestapo) from a fan urging him not to shake hands with Hitler.
After the games had finished, the Olympic team and Owens were all invited to compete in Sweden. He decided to capitalize on his success by returning to the United States to take up some of the more lucrative commercial offers. United States athletic officials were furious and withdrew his amateur status, ending his career immediately. Owens was angry, saying, "A fellow desires something for himself."
Prohibited from amateur sporting appearances to bolster his profile, Owens found the commercial offers all but disappeared. In 1946, he joined Abe Saperstein in the formation of the West Coast Baseball Association (WCBA), a new Negro baseball league; Owens was Vice-President and the owner of the Portland (Oregon) Rosebuds franchise. He toured with the Rosebuds, sometimes entertaining the audience in between doubleheader games by competing in races against horses. The WCBA disbanded after only two months.
Owens helped promote the exploitation film Mom and Dad in black neighborhoods. He tried to make a living as a sports promoter, essentially an entertainer. He would give local sprinters a tenor twenty-yard start and beat them in the 100-yd (91-m) dash. He also challenged and defeated racehorses; as he revealed later, the trick was to race a high-strung thoroughbred that would be frightened by the starter's shotgun and give him a bad jump. Owens said, "


Why do Trout Jump Out of the Water?
Ever wondered why do trout jump out of the water? I was taken by surprise the first time I saw a trout fly out of the water, but I've learned it's actually fairly common. Trout jump out of the water to catch insects, relieve irritation from lice and parasites, or shake hooks out of their mouth.
Sometimes trout may need to jump to get away from dangerous predators or adjust their temperature too.
Here's the scoop on the top reasons why trout jump out of water.
 - Trout jump to eat
 - Trout Jump to remove parasites
 - Trout jump to shake hooks
 - Trout jump to escape predators
 - Trout jump to adjust temperature and bladder
Why Do Trout Jump Out of the Water?
Trout are similar to salmon with their jumping, which may happen both when they are swimming around or caught on a line. Brook trout are the smallest and don't jump much compared to large rainbow trout that jump a lot while moving upstream.
The main reasons why trout jump include catching insects to eat, removing irritants like lice or parasites, and getting rid of fishing hooks.
It's in trout's natural instincts to jump, and the force of their jumping can clear out their mouths to keep them comfortable and healthy. Sometimes they may jump to escape predators or adjust their temperature, too. It's pretty impressive how high trout can jump – around 4-5 feet or even higher in some cases.
A lot of times trout just need to jump 1-2 feet in the air to shake free of anything irritating them or catch a tasty treat like crunchy insects.
Trout Jump to Eat
One of the top motivators for jumping trout is their diet. Like most fish, trout will eat almost any food that's available to them, especially aquatic and terrestrial insects.
Trout may feed on leeches, worms, crustaceans, and smaller fish, but insects are the easiest to eat and are found both underwater and above the water's surface.
While trout can eat underwater, if they want something on top of the water like caddisflies, mayflies, midges, or stoneflies, they may swim up fast and jump.
These insects hatch on top of the water, generating a trout feeding frenzy where jumping comes in handy. Mayflies are especially popular for hungry trout because they fly low to the surface, so light jumping is enough to secure a good source of food.
Trout Jump to Get Rid of Parasites
Trout are susceptible to lice, leeches, external protozoa, and parasites, which may hitch a ride on their scales and gills. These tiny creatures are often a source of irritation for trout, but jumping out of the water creates a good splash to effectively clean themselves and eliminate lice or other parasitic insects.
Lake trout are most affected by parasites, but they are smart enough to solve the irritation by leaping in and out of the water. Lake trout are likely to jump to get rid of uncomfortable and irritating parasites, which will come loose as the fish hits the water.
Trout Jump to Shake Hooks
Why do Trout Jump Out of the Water?
It's understandable that trout, or any other fish for that matter, want to shake free of hooks in the mouth or throat. That's hard to do underwater, but trout have a forceful enough jump to dislodge hooks when they come splashing back down.
Whether it's a stubborn hook stuck in their mouth or they've just hit the line, trout will do what they can to relieve the discomfort.
Trout may flip and flop as you're reeling them in, or even breach the water unexpectedly in an effort to free themselves of the hook. It's at this point that angles may lose a hooked trout if it starts frenzied jumping.
Trout Jump to Escape Predators
Trout may also have to jump to get away from predators if fast swimming won't suffice. Ospreys, pelicans, eagles, and herons like to feast on trout if they can pluck them out of the water. Jumping gives trout the chance to move out of the way and confuse predators.
This is also true for bears, raccoons, and river otters, which use their front paws to grab hold of trout underwater. Trout propel upwards out of the water to escape from predators' grasp, although they will need to keep jumping and swim fast to stay safe from large, powerful mammals.
Trout jump higher when they are scared, and fear may push them to jump up to 12x their own length.
Animal predators are one thing, and anglers are another. Trout are notoriously shy and picky, and if they get startled by a line, hook, or bait, they may jump in response to the stress.
Trout may also get spooked by watercraft, which is why you could see them jumping alongside your boat.
Trout Jump to Adjust Temperature and Bladder
Trout are cold-blooded with body temperatures that change based on the surrounding water. Trout prefer water temps between 45 and 65 degrees Fahrenheit. When trout feel cold in water below 50 degrees, they will eventually need to jump to warm up.
Jumping is a good way for trout to quickly improve their temps, which is important because they may slow down and even develop serious illness from hypothermia if they don't move enough in cold waters.
Adjusting temperature isn't the only body regulation benefit from trout jumping. Trout can readjust their bladder by jumping. As the swim bladder fills up and bulges, its increased volume displaces water and makes trout more buoyant.
Eventually, the fish float up toward the surface before jumping. This action readjusts and deflates the swim bladder, which brings buoyancy levels down too.
Conclusion
When you're on the lake or river, you may notice trout jumping. Rainbow trout, brown trout, and lake trout are more likely to jump than small brown trout, although any of these fish can leap up and out of the water.
The main reasons why trout jump out of the water is to eat insects like mayflies and stoneflies, shake off parasites and hooks, and get out of the way of predators. Jumping also helps with trout temperature regulation and bladder readjustment.


What is a raised bezel does it protect the screen? The description of the Speck candy shell case for the iPhone 4 says it has this.
Back To Product
Follow this Question
1 Answer from the Community
 - Best Answer:
 It's just the rubber around the edge of the screen - it's raised above the screen so that when it comes into impact with the ground, the rubber will take the impact, protecting your glass and stopping it from cracking!
 Was this useful? Answer 1
 8 of 9 people found this useful
Related Questions


text:
A Problem posed by
BASILIO THE TAXMAN
"In a basket we have 100 fortune cookies there are 5 each of 20 different fortunes, how many cookies we have to eat to have a 50/50 chance of reading all the fortunes?"
Let us generalize the problem a little bit. A basket contains N fortune cookies. There are k different fortunes and exactly m of each are present in the basket. So N=km. There are many probability questions that may be asked which involve randomly picking cookies out of this basket. We shall start by anwsering Basilio's question by picking 35 cookies and reading the fortunes. In order to get an idea how probable it is to read all of the fortunes we will have to repeat this experiment many times and determine the percentage of times we get to read all of the fortunes. So as not to get sick of eating cookies, we will simulate this on the computer.
Below is an applet which eats x cookies and reads the fortunes. It will allow you to specify the number k of different fortunes and the number of times m that each fortune is repeated. After you enter your choices for k, m and x, press the "Go" button and the computer will display the state of the basket as you specified it, the number of cookies that were eaten and the number of different fortunes that were read. To answer Basilio's question try for instance entering k=20, m=5, and x=35. Then press "Go" as many times as you want and see how often it reads all the fortunes. If this does not happen half of the time, then keep increasing the value of x until you reach a value that appears to answer Basilio's question.


text:
Indonesian Aerospace rolled out its new PUNA medium altitude long endurance (MALE) drone on Monday.
It was developed by the Indonesian Ministry of Defense, Agency for the Assessment and Application of Technology (BPPT), Air Force, ITB, Indonesian Aerospace (PT Dirgantara Indonesia), and PT LEN Persero.
"A mere 700-meter runway is required for take-off and landing of the MALE drone. It can attain altitudes of 20,000 feet and a maximum speed of 235 kmph. The drone is designed to fly for 30 hours," President Director of PT Dirgantara Indonesia Elfien Goentoro was quoted as saying by local media.
The PUNA is equipped with synthetic-aperture radar (SAR) technology to create two-dimensional images or three-dimensional reconstructions of objects, such as landscapes.
Preliminary tests of the MALE unmanned aerial vehicle is scheduled to begin in 2020. Two additional prototypes will be built next year for flight and structure endurance testing.
The company is aiming to obtain airworthiness certification for the drone in 2023.


Using click macros with Adobe Edge
Adobe Edge allows you to quickly make interactive HTML5 rich media ad items, and it's easy to implement our click tracking macros in the process.
Implement the 'click event'
Once you've created your Adobe Edge creative, you will need to edit the code in order for AdButler to communicate with it properly. First, create an element that will act as a hyperlink. Once done, select the element and click the code button "{}" on the properties panel. Choose the action that activates the element. Click is the most common.
You can set the cursor type in your elements cursor panel.
In the code panel that appears, paste in the following code bit, taken from our HTML5 click-track reference:, '_blank');
This is a JavaScript function which will open a different website in a new tab. After you've pasted it in, save and export the ad item for web.
Adding the click macro to the HTML document
Now open the HTML file that we just exported in any plain text editor. In the of the HTML, paste the code:
window.clickTag = '[TRACKING_LINK]';
This script allows AdButler to replace "window.clickTag" with the destination of the ad item, and let's us also track the impressions and clicks of the ad item. Be sure to use the macro "[TRACKING_LINK]."
Upload your HTML5 ad to AdButler
For AdButler to properly display the creative, all the files associated with the ad (HTML, image assets, CSS, etc.) will need to be compressed into a single.zip file. Most operating systems give you the ability to create a zip via right-clicking the folder selecting the appropriate option from the dropdown menu, but you can use any program or utility to create your zip file.
Naming permissions differ between folders and URLs. In URLs the. character is reserved for differentiating domains. When creating your Adobe Edge files, please ensure that you do not use any restricted characters.
After creating your zip file, in your AdButler dashboard navigate to the advertiser campaign or publisher zone where you want to add your ad item. Create a new HTML5 Rich Media Ad Item, and use the upload button to upload the zip file. Make sure you set your destination URL in AdButler so the user will be directed to the appropriate location after the click.
With this setup, the ad item's click event will record a click in our database, and the destination URL in your ad setup will redirect them to the proper destination.
Can't find what you're looking for?
Send us an email
Visit the blog
For more ad serving tips, industry news and AdButler insights.


text:
Date of Final Oral Examination (Defense)
Type of Culminating Activity
Master of Science in Civil Engineering
Arvin Farid, Ph.D.
Bhaskar Chittoori, Ph.D.
Jim Browning, Ph.D.
Electromagnetic (EM) waves of various power levels and frequencies can be used to alter the hydraulic conductivity of soil with minimal heat generation. The result can lead to a number of potential applications such as contamination remediation and liquefaction mitigation. In this research, the possibility of radio-frequency (RF) waves' effect on the excess pore-water pressure (EPWP) generation and hydraulic conductivity of coarse-grained soils has been investigated.
Impact tests were performed on glass beads to examine the effect on the generation of EPWP due to RF waves. These tests were performed on a rigid box made of Plexiglas. The impacts were produced by shaking the box with periodic impact, and the generated EPWP was measured using a pore-water pressure (PWP) transducer. A loop antenna was installed inside the specimen to launch RF-waves. The RF-stimulated impact tests were performed at a constant frequency of 498 MHz and input power levels of 10, 25, 40, and 50 Watts. There were no noticeable changes observed in the EPWP generation within the glass-bead sample due to the application of RF waves.
In order to better understand the above-mentioned potential of using RF waves to mitigate liquefaction, a different set of experiments, hydraulic-conductivity measurements, were performed on two types of samples: (i) glass beads and (ii) natural sand. These tests were conducted using a customized, rigid-wall, cylindrical permeameter placed inside a box made of Plexiglas. Constant-head (D2434, ASTM, 2010) tests were performed to measure the hydraulic conductivity of these samples. The soil samples were placed within a cavity made of Plexiglas covered with transparent conductive film (resonant cavity). A chlorinated polyvinyl chloride (CPVC)-cased monopole antenna sharing the same electric ground as that of the cavity was placed within the soil sample at its center and used to launch RF waves. Various sets of tests were conducted to evaluate the effect of the power of RF waves on the change in the hydraulic conductivity. For both samples, the tests were conducted at a constant frequency of 726 MHz and input power levels of 10, 25, and 40 Watts. The hydraulic conductivity of both natural sand and glass-bead samples increased with the RF stimulation, and the increase was larger at higher RF power. At the input power of 40 Watts, the hydraulic conductivity of glass-bead sample increased by 8.7% of the unstimulated value, whereas the increase in natural-sand sample was only measured to be 25.4%.
Measurement of the electric-field component of RF waves was performed and plotted to verify the pattern of the electric field to evaluate both the impact and the hydraulic-conductivity tests. The electric field was simulated using COMSOL Multiphysics and validated against the experimentally measured electric field. In the case of the hydraulic-conductivity tests, a finite-difference numerical model was developed in MATLAB interface to analyze the seepage flow. This numerical model was also validated against experimentally measured hydraulic conductivity. This numerical model was then used to find the spatial variation of the hydraulic head within the soil specimen.
Acharya, Rakesh, "Electromagnetically Induced Alteration of Hydraulic Conductivity of Coarse-Grained Soils for Geotechnical Applications" (2016). Boise State University Theses and Dissertations. 1209.


Define JavaScript Resource Types
You can get full control over returned JSON by defining JavaScript resource types.
You can get full control over returned JSON by defining JavaScript resource types. JavaScript resources are not explicitly bound to tables, such as other web services. Your JavaScript code is responsible for retrieving data and for formatting it into JSON. The most common use for this resource type is to call an outside REST service and connect to multiple servers of any type. For example, you might aggregate REST/JSON services.
You can provide options on how you want
Layer7 Live API Creator
to handle incoming requests for your JavaScript resources by defining the extended properties for the resource.
For more information about how to define extended properties for a resource, see Manage the Extended Properties for Resources.
Layer7 Live API Creator
does not understand the internals of the external content, including its mapping to underlying data, its primary keys, its logic, and its security.
Layer7 Live API Creator
cannot supply advanced automation services such as pagination or update.
In this article:
Create a JavaScript Resource
 1. With your API open, in the Create section, click
 If you have not defined any resources yet, the Welcome to Resources page appears. If you have created at least one resource, the Resource tab displays.
 2. Do one of the following options:
 - If you have not defined a resource yet, create a resource by clicking
 Create a Resource
 - If you have created at least one resource, above the list of resources, click
 New Resource
 The Add Resource window opens.
 3. Complete the following fields, and then click
 Resource Type
 Defines the type of resource you want to create. Select
 JavaScript Resource
 - Ⓣ Table-based Resource.
 Resources that are linked to existing base SQL entities (tables and views) and automate SQL handling. You can integrate other data sources and control SQL by defining the resource type.
 - Ⓢ Free SQL
 . Resources that you specify the SQL to execute.
 - Ⓙ JavaScript
 . (Advanced users) Resources that you supply the server-side JavaScript that
 Layer7 Live API Creator
 executes whenever the resource is accessed and returns JSON.
 Resource Name
 The resource name is the container name with JSON. The name must contain alphanumerics or the underscore (_) special character.
Your JavaScript resource is created and displays in the list of resources.
Define the JavaScript Resource
Top-level resources should be collections. Sub-resources are collections if there can be many rows for a single row in the containing resource. If a sub-resource is for an entity that is a parent entity of the containing resource's entity, then
With your JavaScript resource open, complete the following fields, and then click
Is a collection
Defines whether the entity (table or view) for the resource is a child of the containing resource's entity.
Defines the server-side JavaScript code that API Server executes when an API user accesses this resource. The code is responsible for retrieving data and for formatting it into JSON.
For an example of how to define the code for your JavaScript resource, see the "Example JavaScript Resource" section.
var result = {
result: "Hello, world!",
String: "rkxgohwzng",
Number: 827.3783957232455,
"Null value": null
return result;
You can access and insert JavaScript code examples into the JavaScript resource code editor. For more information about the code examples that are available for JavaScript resources, see JavaScript Code Examples.
The details of your JavaScript resource is defined.
Example JavaScript Resource
JavaScript subresource illustrates how you can deliver JSON results combining managed data (
) with external service results (
) by retrieving resource information from another REST server (line 2) as the data for the
The following code snippet shows the code for the
JavaScript subresource that is included with the
Service calls to integrate external data
code example is available from the JavaScript resource code editor.
var url = req.baseUrl;
log.debug(url); // this is the base URL for this server
url = url.replace("/demo","/sample");// compute baseURL of target system
url = url + "v1/orders"; // add version/ resource endPoint on target
var key =; // this context variable is system supplied
log.debug("..using key: " + key + ", and url: " + url);
key = JSON.stringify(key, null, 0);
var params= {
sysfilter: "equal(customer_name:" + key + ")"
//special Auth Token in this project to allow access from url (?auth=AdminKey:1)
var settings = {
headers: {
Authorization: "CALiveAPICreator AdminKey:1"
//////////// Built in utility to make REST GET call
var response = SysUtility.restGet(url, params, settings);
return JSON.parse(response);
For more information about the
API sample, see Demo API Sample.
Your returned JSON (
) is inserted into the larger result, as shown in the following code snippet:
"name": "Alpha and Sons",
"balance": 4484,
"_USER_": {
"href": "http://localhost:8080/APIServer/rest/el-local/demo/v1/CustomerJSOrdersREST/Alpha%20and%20Sons",
"checksum": "A:e86aea2e0a4e74bf"
"OrdersRest": [
"order_number": 1,
"amount_total": 1079,
"paid": false,
"notes": "This is a small order",
"customer_name": "Alpha and Sons",
"salesrep_id": 2,
"_USER_": {
"href": "http://localhost:8080/APIServer/rest/el-local/demo/v1/PurchaseOrders/1",
"checksum": "A:5c157e88a42aa592"
"LineItems": [
"lineitem_id": 12,
"product_number": 2,
"order_number": 1,
JavaScript subresource in the Demo API shows how your code includes context for:
 - The
 JavaScript context variable. You can access data from the containing row, in the previous example, a Customer row from the
 containing resource (line 3). You can parameterize the external service using locally managed data using this context variable.
 - The
 JavaScript context variable. This object is for printing to the log. You can view debugging information in the log.
 For more information about how to view logging information, see View Logging Information.
 - The
 context variable. You can use this variable to invoke REST services, such as GET.
 - The
 object. Provides access to the HTTP request, including the API key, resource name, and arguments. This object has the following useful properties:
 return {
 baseUrl: "" + req.baseUrl, // The URL of this call up to the project
 fullBaseUrl: "" + req.getFullBaseURL(),
 accountName: "" + req.account.getName(),
 accountUrl: "" + req.account.getUrlName(),
 projectName: "" + req.project.getName(),
 projectUrl: "" + req.project.getUrlName(),
 apiName: "" + req.apiVersion.getName(),
 userIdentifier: "" + req.userIdentifier, // Can be null
 params: JSON.parse("" + req.urlParameters), // Parameters from URL, e.g.?abc=123&def=foo
 userProps: JSON.parse("" + req.userProperties), // User props from authentication
 verb: "" + req.verb, // GET, POST, PUT, DELETE, etc...
 clientAddress: "" + req.clientAddress // The IP address of the caller
 For more information about the
 object, see The req Object.
For more information about the context variables that are set when
Layer7 Live API Creator
invokes JavaScript logic, see the Quick Reference Guide.
Call JavaScript Resources
You can call JavaScript resources in the following ways:
Call JavaScript Resources as Endpoints
You can invoke an endpoint from the current API using the
method in your JavaScript code. This method uses the same authentication as the original call, which is more efficient than making a full network call. If you are using different authentication or if you are invoking an endpoint from another API, make a network call using the()
var custsJson = SysUtility.getResource("Customers", {filter: {"name like '%foo%' "}); var custs = JSON.parse(custsJson); for (var i = 0; i < custs.length; i++) { log.debug("Customer: " + JSON.stringify(custs[i])); }
Calls to your usual REST URL depend on your use of a load balancer. If you are using a load balancer, ensure that your load balancer sets HTTP forwarding headers properly.
For more information about these methods, see The SysUtility Object.
Call JavaScript Resources using GET and POST Requests
You can call JavaScript resources using GET and POST requests. Access the JSON payload with a POST using the
property in your JavaScript code.
Layer7 Live API Creator
performs logic on only table-based resources.
For more information:
Call Multiple HTTP Requests in Parallel
You can have
Layer7 Live API Creator
call multiple HTTP requests in parallel using the
method in your JavaScript code. This method optimizes your API by creating separate threads to call the HTTP service requests, and then it returns and array of JSON responses. You can iterate through the responses to perform more processing or API mashups before returning the response to the client.
For more information about this method, including the syntax to use, see The SysUtility Object


text:
The Lovebunnies' friends know that they like to plant trees, shrubs and flowers, and those good friends sometimes bring them plants to plant! So Bucky has made a list of plants to put in a garden or yard that will help support native Maryland wildlife and maintain the native Maryland plant populations.
Many "wildflower" seed mixes or plant catalogs make no distinction between flowers that are native to our region and those that are native to the prairie or western states, or that have gone wild after being introduced here. Many of the non-regional species escape cultivation and become obnoxious, crowding out native plants. Beware, therefore, the label of "wildflower," and help preserve bio-diversity by encouraging our regionally native plants, which are noted as "Native."
Some plants that are not native species are included in the list. These plants should be placed in the garden to feed insects, birds or animals. They are believed to be not obnoxious if escaped.
Some plants are marked "Gatherable." These species are wide-spread and hardy enough to be judiciously gathered from the wild. (If you find a huge stand of some of these, take a couple. If you find a couple, or if someone else has gathered, leave them alone.) All others should be purchased.
Click the "Continue" heart to read the list!


text:
July 1, 2011 The position of the foot just before ground contact during running and walking may put people at risk for ankle sprains, according to a new study published by a University of Georgia kinesiology researcher.
The results of the study, which appear in the June online edition of the American Journal of Sports Medicine, found that people who have a history of repetitive ankle sprains demonstrated lower clearance heights between their feet and the floor during running and pointed their toes down more during walking. Ankle sprains are the most common sports-related injury, and many who experience a sprain will go on to develop chronic instability, suffering repeated sprains during their lifetime.
"Almost everyone who is physically active will suffer an ankle sprain at some point," said the study's lead author, Cathleen Brown Crowell, an assistant professor in the UGA College of Education's department of kinesiology. "Many people develop repetitive ankle injuries that are painful, can decrease performance and increase the risk of ankle osteoarthritis. We were able to identify factors in foot positioning prior to contact with the ground that may predispose some people to these repetitive injuries. These findings can help clinicians develop rehabilitation programs that address movements that may have been ignored in the past."
The study collected data on more than 30 male recreational athletes, some with a history of repetitive ankle sprains and some without. Motion capture equipment analyzed joint movements and forces in the participants during walking and running. This study was unique in that it analyzed all three possible motions of the ankle and included participants who had different types of ankle instability, explained Brown Crowell.
While such motion capture equipment may not be available for analysis of patients in rehabilitation clinics, the findings can be applied to physically active individuals at any level who sprain their ankles.
"We can apply our findings to clinical practice," said Brown Crowell. "Our study demonstrates there are differences in movements at the foot and ankle in an injured population that may respond to rehabilitation interventions beyond typical stretching and strengthening. The next step is to see if targeted interventions, trying to influence how people run and walk, can treat and even prevent ankle sprains."
Other social bookmarking and sharing tools:
- C. Brown. Foot Clearance in Walking and Running in Individuals With Ankle Instability. The American Journal of Sports Medicine, 2011; DOI: 10.1177/0363546511408872
Note: If no author is given, the source is cited instead.


ThreadsSeqa parallel implementation of seqCalling SequenceParametersDescriptionExamples
<Text-field bookmark="usage" style="Heading 2" layout="Heading 2">Calling Sequence</Text-field>Seq( f, i = m..n )Seq( f, i = m..n, step )Seq( f, i = 1..n, step )Seq( f, i = x )Seq( f, i in x )Seq( i = m..n, step )Seq[ tasksize = s ]( ... )
<Text-field bookmark="bkmrk0" style="Heading 2" layout="Heading 2">Parameters</Text-field>
f-(expression) any expressioni-(name)m,n-(numeric) values to range overx-(expression)step-(numeric) (optional)s-(optional, posint) maximum task size
<Text-field bookmark="info" style="Heading 2" layout="Heading 2">Description</Text-field>The Seq command is a parallel implementation of the seq command. For a complete description of the calling sequences of Seq see the seq help page.Seq is implemented using the Task programming model.Seq attempts to determine how to divide the input into separate tasks to spread the work across all available cores. However in some situations Seq may not choose the optimal size. In particular a small number of long running tasks may not be spread evenly over all threads. In this case, you can specify the maximum task size using the tasksize option. Seq will divide the input into tasks that compute at most tasksize elements within a single task.
<Text-field bookmark="examples" style="Heading 2" layout="Heading 2">Examples</Text-field> LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2I1EhRictRiM2Ji1GLDYlUSV3aXRoRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW9HRiQ2LVEwJkFwcGx5RnVuY3Rpb247RicvRjhRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZCLyUpc3RyZXRjaHlHRkIvJSpzeW1tZXRyaWNHRkIvJShsYXJnZW9wR0ZCLyUubW92YWJsZWxpbWl0c0dGQi8lJ2FjY2VudEdGQi8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRlEtSShtZmVuY2VkR0YkNiQtRiM2JS1GLDYlUShUaHJlYWRzRidGNEY3LyUrZXhlY3V0YWJsZUdGQkY+Rj5GPi1GOzYtUSI6RidGPkZARkNGRUZHRklGS0ZNL0ZQUSwwLjI3Nzc3NzhlbUYnL0ZTRlxvRmZuRj4= LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2I1EhRictRiM2Ji1GLDYlUSRTZXFGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYtUTAmQXBwbHlGdW5jdGlvbjtGJy9GOFEnbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkIvJSlzdHJldGNoeUdGQi8lKnN5bW1ldHJpY0dGQi8lKGxhcmdlb3BHRkIvJS5tb3ZhYmxlbGltaXRzR0ZCLyUnYWNjZW50R0ZCLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGUS1JKG1mZW5jZWRHRiQ2JC1GIzYoLUklbXN1cEdGJDYmLUYsNiVRImlGJ0Y0RjctSSNtbkdGJDYkUSIyRidGPi8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRicvSSttc2VtYW50aWNzR0YkUSJeRictRjs2LVEiLEYnRj5GQC9GREY2RkVGR0ZJRktGTUZPL0ZTUSwwLjMzMzMzMzNlbUYnLUYjNidGZm4tRjs2LVEpJmVxdWFscztGJ0Y+RkBGQ0ZFRkdGSUZLRk0vRlBRLDAuMjc3Nzc3OGVtRicvRlNGX3AtRiM2Ji1Gam42JFEiMUYnRj4tRjs2LlExJnBlcmlvZDsmcGVyaW9kO0YnRj4vRmFvUSZyYW5nZUYnRkBGQ0ZFRkdGSUZLRk0vRlBRLDAuMjIyMjIyMmVtRidGUi1Gam42JFEiNUYnRj5GPkYrRj5GKy8lK2V4ZWN1dGFibGVHRkJGPkY+Rj5GK0ZgcUY+ NiciIiIiIiUiIioiIzsiI0Q= LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2I1EhRictRiM2Ji1GLDYlUSRTZXFGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYtUTAmQXBwbHlGdW5jdGlvbjtGJy9GOFEnbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkIvJSlzdHJldGNoeUdGQi8lKnN5bW1ldHJpY0dGQi8lKGxhcmdlb3BHRkIvJS5tb3ZhYmxlbGltaXRzR0ZCLyUnYWNjZW50R0ZCLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGUS1JKG1mZW5jZWRHRiQ2JC1GIzYpRistRiM2Ji1GLDYlUSRzaW5GJy9GNUZCRj5GOi1GVTYkLUYjNiUtSSZtZnJhY0dGJDYoLUYjNiYtRiw2JVElJnBpO0YnRmhuRj4tRjs2LVExJkludmlzaWJsZVRpbWVzO0YnRj5GQEZDRkVGR0ZJRktGTUZPRlItRiw2JVEiaUYnRjRGN0Y+LUkjbW5HRiQ2JFEiNkYnRj4vJS5saW5ldGhpY2tuZXNzR1EiMUYnLyUrZGVub21hbGlnbkdRJ2NlbnRlckYnLyUpbnVtYWxpZ25HRmRwLyUpYmV2ZWxsZWRHRkIvJStleGVjdXRhYmxlR0ZCRj5GPkY+LUY7Ni1RIixGJ0Y+RkAvRkRGNkZFRkdGSUZLRk1GTy9GU1EsMC4zMzMzMzMzZW1GJy1GIzYnRmhvLUY7Ni1RKSZlcXVhbHM7RidGPkZARkNGRUZHRklGS0ZNL0ZQUSwwLjI3Nzc3NzhlbUYnL0ZTRmdxLUYjNiYtRlxwNiRRIjBGJ0Y+LUY7Ni5RMSZwZXJpb2Q7JnBlcmlvZDtGJ0Y+L0krbXNlbWFudGljc0dGJFEmcmFuZ2VGJ0ZARkNGRUZHRklGS0ZNL0ZQUSwwLjIyMjIyMjJlbUYnRlJGW3BGPkYrRj5GK0ZpcEY+Rj5GPkYrRmlwRj4= NikiIiEjIiIiIiIjLCQqJkYkRiUpIiIkRiRGJUYlRiVGJ0YkRiM= LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2I1EhRictRiM2Ji1GLDYlUSRTZXFGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYtUTAmQXBwbHlGdW5jdGlvbjtGJy9GOFEnbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkIvJSlzdHJldGNoeUdGQi8lKnN5bW1ldHJpY0dGQi8lKGxhcmdlb3BHRkIvJS5tb3ZhYmxlbGltaXRzR0ZCLyUnYWNjZW50R0ZCLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGUS1JKG1mZW5jZWRHRiQ2JC1GIzYpRistRiM2JS1GLDYlUSJ4RidGNEY3LUZVNiYtRiM2JS1GLDYlUSJpRidGNEY3LyUrZXhlY3V0YWJsZUdGQkY+Rj4vJSVvcGVuR1EnJmxzcWI7RicvJSZjbG9zZUdRJyZyc3FiO0YnRj4tRjs2LVEiLEYnRj5GQC9GREY2RkVGR0ZJRktGTUZPL0ZTUSwwLjMzMzMzMzNlbUYnLUYjNidGXG8tRjs2LVEpJmVxdWFscztGJ0Y+RkBGQ0ZFRkdGSUZLRk0vRlBRLDAuMjc3Nzc3OGVtRicvRlNGY3AtRiM2Ji1JI21uR0YkNiRRIjFGJ0Y+LUY7Ni5RMSZwZXJpb2Q7JnBlcmlvZDtGJ0Y+L0krbXNlbWFudGljc0dGJFEmcmFuZ2VGJ0ZARkNGRUZHRklGS0ZNL0ZQUSwwLjIyMjIyMjJlbUYnRlItRmhwNiRRIjdGJ0Y+Rj5GK0Y+RitGX29GPkY+Rj5GK0Zfb0Y+ NikmSSJ4RzYiNiMiIiImRiQ2IyIiIyZGJDYjIiIkJkYkNiMiIiUmRiQ2IyIiJiZGJDYjIiInJkYkNiMiIig= LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2I1EhRictRiM2Ji1GLDYlUSJYRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW9HRiQ2LVEpJkFzc2lnbjtGJy9GOFEnbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkIvJSlzdHJldGNoeUdGQi8lKnN5bW1ldHJpY0dGQi8lKGxhcmdlb3BHRkIvJS5tb3ZhYmxlbGltaXRzR0ZCLyUnYWNjZW50R0ZCLyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGUS1JKG1mZW5jZWRHRiQ2Ji1GIzYmLUYsNiVRJFNlcUYnRjRGNy1GOzYtUTAmQXBwbHlGdW5jdGlvbjtGJ0Y+RkBGQ0ZFRkdGSUZLRk0vRlBRJjAuMGVtRicvRlNGam4tRlU2JC1GIzYoLUYsNiVRImlGJ0Y0RjctRjs2LVEiLEYnRj5GQC9GREY2RkVGR0ZJRktGTUZpbi9GU1EsMC4zMzMzMzMzZW1GJy1GIzYnRmBvLUY7Ni1RKSZlcXVhbHM7RidGPkZARkNGRUZHRklGS0ZNRk9GUi1GIzYmLUkjbW5HRiQ2JFEiMEYnRj4tRjs2LlExJnBlcmlvZDsmcGVyaW9kO0YnRj4vSSttc2VtYW50aWNzR0YkUSZyYW5nZUYnRkBGQ0ZFRkdGSUZLRk0vRlBRLDAuMjIyMjIyMmVtRidGW28tRmFwNiRRIjZGJ0Y+Rj5GK0Y+RisvJStleGVjdXRhYmxlR0ZCRj5GPkY+Rj4vJSVvcGVuR1EnJmxzcWI7RicvJSZjbG9zZUdRJyZyc3FiO0YnRj5GK0ZfcUY+ PkkiWEc2IjcpIiIhIiIiIiIjIiIkIiIlIiImIiIn LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYlUSRTZXFGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYtUTAmQXBwbHlGdW5jdGlvbjtGJy9GOFEnbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkIvJSlzdHJldGNoeUdGQi8lKnN5bW1ldHJpY0dGQi8lKGxhcmdlb3BHRkIvJS5tb3ZhYmxlbGltaXRzR0ZCLyUnYWNjZW50R0ZCLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGUS1GLDYkLUYjNiktRjE2I1EhRictRiM2KS1JJW1zdXBHRiQ2Ji1GMTYlUSJpRidGNEY3LUkjbW5HRiQ2JFEiMkYnRj4vJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYnL0krbXNlbWFudGljc0dGJFEiXkYnRlgtSSdtc3BhY2VHRiQ2Ji8lJ2hlaWdodEdRJjAuMGV4RicvJSZ3aWR0aEdRJjAuM2VtRicvJSZkZXB0aEdGXHAvJSpsaW5lYnJlYWtHUSVhdXRvRictRjs2L1EkbW9kRicvJSVib2xkR0Y2L0Y4USVib2xkRicvJStmb250d2VpZ2h0R0ZbcUZARkNGRUZHRklGS0ZNRk9GUkZnby1GXm82JFEiN0YnRj5GPi1GOzYtUSIsRidGPkZAL0ZERjZGRUZHRklGS0ZNRk8vRlNRLDAuMzMzMzMzM2VtRictRiM2JkZqbi1GOzYtUSkmZXF1YWxzO0YnRj5GQEZDRkVGR0ZJRktGTS9GUFEsMC4yNzc3Nzc4ZW1GJy9GU0Zdci1GMTYlUSJYRidGNEY3Rj5GWC8lK2V4ZWN1dGFibGVHRkJGPkY+Rj5GPi8lJW9wZW5HUScmbGN1YjtGJy8lJmNsb3NlR1EnJnJjdWI7RidGYnJGPg== PCYiIiEiIiIiIiMiIiU= LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2I1EhRictRiM2Ji1GLDYlUSJZRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW9HRiQ2LVEpJkFzc2lnbjtGJy9GOFEnbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkIvJSlzdHJldGNoeUdGQi8lKnN5bW1ldHJpY0dGQi8lKGxhcmdlb3BHRkIvJS5tb3ZhYmxlbGltaXRzR0ZCLyUnYWNjZW50R0ZCLyUnbHNwYWNlR1EsMC4yNzc3Nzc4ZW1GJy8lJ3JzcGFjZUdGUS1JKG1mZW5jZWRHRiQ2Ji1GIzYmLUYsNiVRJFNlcUYnRjRGNy1GOzYtUTAmQXBwbHlGdW5jdGlvbjtGJ0Y+RkBGQ0ZFRkdGSUZLRk0vRlBRJjAuMGVtRicvRlNGam4tRlU2JC1GIzYoLUklbXN1cEdGJDYmLUYsNiVRImlGJ0Y0RjctSSNtbkdGJDYkUSIyRidGPi8lMXN1cGVyc2NyaXB0c2hpZnRHUSIwRicvSSttc2VtYW50aWNzR0YkUSJeRictRjs2LVEiLEYnRj5GQC9GREY2RkVGR0ZJRktGTUZpbi9GU1EsMC4zMzMzMzMzZW1GJy1GIzYmRmNvLUY7Ni1RKSZlcXVhbHM7RidGPkZARkNGRUZHRklGS0ZNRk9GUi1GLDYlUSJYRidGNEY3Rj5GKy8lK2V4ZWN1dGFibGVHRkJGPkY+Rj5GPi8lJW9wZW5HUScmbHNxYjtGJy8lJmNsb3NlR1EnJnJzcWI7RidGPkYrRl5xRj4= PkkiWUc2IjcpIiIhIiIiIiIlIiIqIiM7IiNEIiNP LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYlLUkobWZlbmNlZEdGJDYmLUYjNiYtSSNtaUdGJDYlUSRTZXFGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYtUTAmQXBwbHlGdW5jdGlvbjtGJy9GOFEnbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkIvJSlzdHJldGNoeUdGQi8lKnN5bW1ldHJpY0dGQi8lKGxhcmdlb3BHRkIvJS5tb3ZhYmxlbGltaXRzR0ZCLyUnYWNjZW50R0ZCLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGUS1GLDYkLUYjNigtRiw2Ji1GIzYpLUYxNiNRIUYnLUYjNiUtRjE2JVEiWEYnRjRGNy1GLDYmLUYjNiUtRjE2JVEiaUYnRjRGNy8lK2V4ZWN1dGFibGVHRkJGPkY+LyUlb3BlbkdRJyZsc3FiO0YnLyUmY2xvc2VHUScmcnNxYjtGJ0Y+LUY7Ni1RIixGJ0Y+RkAvRkRGNkZFRkdGSUZLRk1GTy9GU1EsMC4zMzMzMzMzZW1GJy1GIzYlLUYxNiVRIllGJ0Y0RjdGXm9GPkZmbkZlb0Y+Rj5GZ29Gam9GXXAtRiM2J0Ziby1GOzYtUSkmZXF1YWxzO0YnRj5GQEZDRkVGR0ZJRktGTS9GUFEsMC4yNzc3Nzc4ZW1GJy9GU0ZecS1GIzYoLUkjbW5HRiQ2JFEiMUYnRj4tRjs2LlExJnBlcmlvZDsmcGVyaW9kO0YnRj4vSSttc2VtYW50aWNzR0YkUSZyYW5nZUYnRkBGQ0ZFRkdGSUZLRk0vRlBRLDAuMjIyMjIyMmVtRidGUi1GMTYlUSVub3BzRidGNEY3RjotRiw2JC1GIzYlRltvRmVvRj5GPkY+RmZuRj5GZm5GZW9GPkY+Rj5GPkZnb0Zqb0Zlb0Y+ Nyk3JCIiIUYkNyQiIiJGJjckIiIjIiIlNyQiIiQiIio3JEYpIiM7NyQiIiYiI0Q3JCIiJyIjTw== LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2I1EhRictRiM2Ji1GLDYlUSRTZXFGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYtUTAmQXBwbHlGdW5jdGlvbjtGJy9GOFEnbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkIvJSlzdHJldGNoeUdGQi8lKnN5bW1ldHJpY0dGQi8lKGxhcmdlb3BHRkIvJS5tb3ZhYmxlbGltaXRzR0ZCLyUnYWNjZW50R0ZCLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGUS1JKG1mZW5jZWRHRiQ2JC1GIzYoLUYsNiVRImlGJ0Y0RjctRjs2LVEiLEYnRj5GQC9GREY2RkVGR0ZJRktGTUZPL0ZTUSwwLjMzMzMzMzNlbUYnLUYjNidGWS1GOzYtUSkmZXF1YWxzO0YnRj5GQEZDRkVGR0ZJRktGTS9GUFEsMC4yNzc3Nzc4ZW1GJy9GU0Ziby1JI21zR0YkNiNRJkhlbGxvRidGK0Y+RisvJStleGVjdXRhYmxlR0ZCRj5GPkY+RitGaG9GPg== NidRIkg2IlEiZUYkUSJsRiRGJlEib0Yk LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2I1EhRictRiM2Ji1GLDYlUSRTZXFGJy8lJ2l0YWxpY0dRJXRydWVGJy8lLG1hdGh2YXJpYW50R1EnaXRhbGljRictSSNtb0dGJDYtUTAmQXBwbHlGdW5jdGlvbjtGJy9GOFEnbm9ybWFsRicvJSZmZW5jZUdRJmZhbHNlRicvJSpzZXBhcmF0b3JHRkIvJSlzdHJldGNoeUdGQi8lKnN5bW1ldHJpY0dGQi8lKGxhcmdlb3BHRkIvJS5tb3ZhYmxlbGltaXRzR0ZCLyUnYWNjZW50R0ZCLyUnbHNwYWNlR1EmMC4wZW1GJy8lJ3JzcGFjZUdGUS1JKG1mZW5jZWRHRiQ2JC1GIzYoLUYsNiVRImlGJ0Y0RjctRjs2LVEiLEYnRj5GQC9GREY2RkVGR0ZJRktGTUZPL0ZTUSwwLjMzMzMzMzNlbUYnLUYjNidGWS1GOzYtUSkmZXF1YWxzO0YnRj5GQEZDRkVGR0ZJRktGTS9GUFEsMC4yNzc3Nzc4ZW1GJy9GU0Ziby1GIzYoRistSSNtc0dGJDYjUSJhRictRjs2LlExJnBlcmlvZDsmcGVyaW9kO0YnRj4vSSttc2VtYW50aWNzR0YkUSZyYW5nZUYnRkBGQ0ZFRkdGSUZLRk0vRlBRLDAuMjIyMjIyMmVtRidGUi1GZ282I1EiZkYnRitGPkYrRj5GKy8lK2V4ZWN1dGFibGVHRkJGPkY+Rj5GK0ZlcEY+ NihRImE2IlEiYkYkUSJjRiRRImRGJFEiZUYkUSJmRiQ= [Seq( i, i=0..-infinity )]; C := proc( f, x ) local i; [Seq( coeff( f, x, i ), i=0..degree(f,x) )]; end proc; NyI= PkkiQ0c2ImYqNiRJImZHRiRJInhHRiQ2I0kiaUdGJEYkRiQ3Iy1fSShUaHJlYWRzRzYkJSpwcm90ZWN0ZWRHSShfc3lzbGliR0YkSSRTZXFHRiQ2JC1JJmNvZWZmR0YwNiVGJ0YoRiovRio7IiIhLUknZGVncmVlR0YwRiZGJEYkRiQ= LUklbXJvd0c2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkdGJzYnLUkjbWlHRiQ2I1EhRictRiM2Ji1GLDYlUSJDRicvJSdpdGFsaWNHUSV0cnVlRicvJSxtYXRodmFyaWFudEdRJ2l0YWxpY0YnLUkjbW9HRiQ2LVEwJkFwcGx5RnVuY3Rpb247RicvRjhRJ25vcm1hbEYnLyUmZmVuY2VHUSZmYWxzZUYnLyUqc2VwYXJhdG9yR0ZCLyUpc3RyZXRjaHlHRkIvJSpzeW1tZXRyaWNHRkIvJShsYXJnZW9wR0ZCLyUubW92YWJsZWxpbWl0c0dGQi8lJ2FjY2VudEdGQi8lJ2xzcGFjZUdRJjAuMGVtRicvJSdyc3BhY2VHRlEtSShtZmVuY2VkR0YkNiQtRiM2KEYrLUYjNidGKy1GIzYnRistRiM2Ji1JI21uR0YkNiRRIjJGJ0Y+LUY7Ni1RMSZJbnZpc2libGVUaW1lcztGJ0Y+RkBGQ0ZFRkdGSUZLRk1GT0ZSLUYsNiVRInhGJ0Y0RjdGPi1GOzYtUSgmbWludXM7RidGPkZARkNGRUZHRklGS0ZNL0ZQUSwwLjIyMjIyMjJlbUYnL0ZTRmdvLUZqbjYkUSI0RidGPkY+LUY7Ni1RJyZwbHVzO0YnRj5GQEZDRkVGR0ZJRktGTUZmb0Zoby1JJW1zdXBHRiQ2JkZgby1Gam42JFEiM0YnRj4vJTFzdXBlcnNjcmlwdHNoaWZ0R1EiMEYnL0krbXNlbWFudGljc0dGJFEiXkYnRj4tRjs2LVEiLEYnRj5GQC9GREY2RkVGR0ZJRktGTUZPL0ZTUSwwLjMzMzMzMzNlbUYnRmBvLyUrZXhlY3V0YWJsZUdGQkY+Rj5GPkYrRmFxRj4= NyYhIiUiIiMiIiEiIiI=
See AlsoseqThreadsThreads[Add]Threads[Map]Threads[Mul]


Article
How to Calibrate and Adjust the Differential Pressure Switch
Just like the pressure switch, the differential pressure switch can be calibrated to a known set point. You can calibrate the differential pressure switch as quickly as you can calibrate the pressure switch. However, in order to calibrate more accurately, some modifications have to been made to the process.
Quick calibration procedure of differential pressure switch
The required equipment includes:
(a) Variable pressure source
(b) Digital multimeter or continuity test lamp
(c) Tester
Electronic Differential Pressure Switches
Digital Electronic Differential Pressure Switches
No need Calibrate, Easy adjust by pressing the button, easy installation, 2 set point, 2 SPDT switch, adjustable. Made by A.YITE TECH, GE-209 series
Calibration steps
Step 1
Connect a variable pressure source to the high side pressure port of the test gauge and the switch.
Step 2
Jumper the test lamp or multimeter (set to ohmmeter setting) C normal and no normally open
Step 3
Raise the pressure and record the test gauge reading when the circuit is closed.
Step 4
Slowly reduce the pressure and note the tester reading when the circuit is disconnected.
Step 5
Adjust the set point screw to increase or decrease the set point.
Step 6
Repeat steps 3, 4, and 5 until the contact changes at the desired increase or decrease in differential pressure set point.
Accurate calibration procedure
In order to calibrate the differential pressure switch accurately, we need to simulate the required service conditions.
The equipment required for this calibration process is:
(a) Differential pressure gauge (preferably digital)
(b) Variable pressure source
(c) Stop valve, drain valve and balance valve
(d) Continuity test lamp or digital multimeter
First determine that the set point occurs when the differential pressure increases or decreases, and then calibrate
Differential Pressure Flow Switches for variable flow primary pumping system
Differential Pressure Switches to detect the water flow of pump
Made by A.YITE TECH, GE-511 series, adjustable differential pressure switch
Use one of the following methods:
(a) Set point for increasing differential pressure
(b) Set point to reduce differential pressure
To calibrate the set point when the differential pressure increases:
Calibration steps
Step 1
Jumper the continuity test lamp or DMM to the c-common and no-normally open switch elements / contacts.
Step 2
Close the vent valve, open the balance valve, and increase the pressure on both sides of hi and lo to the static pressure that the differential pressure switch can see under normal operation conditions.
Step 3
When the static pressure is stable, close the balance valve to isolate the hi side from the lo side.
Step 4
Keep the high side pressure stable, slightly open the lo side vent valve to reduce the lo side pressure (increase the differential pressure) until the required differential pressure set point appears on the differential pressure gauge. Close the bleeder valve to stabilize the differential pressure. Check the status of the electrical contacts when possible and follow the instructions that match the status of the contacts:
(a) The set point is normal if:
Contact is made precisely at the increased differential pressure set point, repeat step
Verify 2- 4 as needed to verify calibration. Calibration complete.
(b) Contact open - set point too high
When the increased differential pressure is reached, if the contact is open, adjust the set point screw until the contact is closed. Repeat steps 2- 4
(c) Contact closed - set point too low
If the contact closes when the increased differential pressure is reached, adjust the set point screw until the contact breaks. From this point on, adjust the set point again until the contact is closed. Repeat steps 2-4
Differential Pressure Switches
A.YITE Brand 101NN type Dfferential Pressure Switches
To calibrate the set point for reducing the differential pressure:
Step 1
Connect a continuity test lamp or digital multimeter to the c-normal and no-normally open contacts.
Step 2
Close the vent valve, open the balance valve, and increase the pressure on both sides of HI and LO to the normal working static pressure.
Step 3
Close the balance valve to isolate the hi side from the lo side when the normal hi side pressure is stable.
Step 4
Slightly open the lo side drain valve to reduce the lo side pressure (increase the differential pressure) until the normal operating differential pressure appears on the differential pressure gauge. Close the drain valve to stabilize the differential pressure. When the normal working differential pressure is reached, the contact should be closed (closed). If the contact is still open under normal operating differential pressure, adjust the set screw until the contact is loose.
Step 5
Keep the high side pressure stable and slightly open the balance valve to increase the lo side pressure (decrease the differential pressure) until the required differential pressure set point appears on the differential pressure gauge.
Close the balance valve to stabilize the differential pressure. Check the state of the electric contact under the following differential pressure and operate according to the instructions matching the state of the contact:
(a) The set point is normal if:
The contact breaks precisely when the differential pressure setting is reduced, repeat step
Verify 2-5 as needed to verify calibration. Calibration complete.
(b) Contact open - set point too high
If the contact opens when the reduced differential pressure is reached, adjust the set point screw until the contact closes. From this point on, adjust the set point screw again until the contact opens. Repeat steps 2 -5
(c) Contact closed - set point too low
If the contact closes when the reduced differential pressure is reached, adjust the set point screw until the contact breaks. Repeat steps 2-5
CATEGORIES
CONTACT US
Contact: Mr.Robert
Phone: 0086-_PHONE_
Tel: _PHONE_
Email: _EMAIL_
Add: Building 17 &22, No.2928, Chuan Zhou Highway, Shanghai, 201319, China


Experimental Lighting
 A continuous light such as a torch or candle can be mixed with flash light to create a composite negative with two exposures. How to get this effect: 1. Set the camera to multiple exposure. 2. Use the camera on a tripod with a cable release. 3. Meter for the flash light (or overhead/daylight in the case of the Picasso or Dance Hall images) and make the 1st exposure. 4. Then in a darkened space where the torch is the only light source use a long exposure to record the movement of the torch (this could be about 20 seconds for example). 5. The torch Read more
Combining Flash and Continuous Light
 Fill-in flash uses a combination of flash and daylight to make an exposure. It is useful in strong daylight to fill in shadows formed by existing light. The effect is natural rather than harsh. PDF: Combining Flash and Continuous Light


text:
Wed July 11, 2012
That's 'Gnathia Marleyi' To You: Scientist Names New Species After Bob Marley
Originally published on Thu July 12, 2012 4:00 pm
We're not quite sure what to make of it. Is it an honor? Is it an insult?
Either way, a biologist and a fan of Bob Marley has decided to name a new species in honor of the Jamaican singer.
"I named this species, which is truly a natural wonder, after Marley because of my respect and admiration for Marley's music. Plus, this species is as uniquely Caribbean as was Marley," Paul Sikkel, assistant professor of biology and a field marine biologist at Arkansas State University, said in a press release.
Also, Gnathia marleyi is the first new species described in the Caribbean in more than two decades.
But... and you were expecting a but... here are some of the characteristics of the species described in the latest issue of the journal Zootaxia.
-- Gnathia marleyi is a parasite.
-- Juveniles hide in coral rubble, sea sponge or algae and sneak up on unsuspecting fish to infest them.
-- Adults can live without feeding for two or three weeks before dying.
-- They are blood suckers, "ecologically similar to land-based... ticks or disease-carrying mosquitoes," Sikkel says.
-- In its press release Arkansas State explains, "About 80 percent of all organisms found on coral reefs are parasites. The gnathiid isopods are among the most ecologically important of them, according to biologists, because many diseases afflicting desirable fish are either caused by, or are transmitted by gnathiids."
-- So the Gnathia marleyi might have something to do with the demise of some coral.
All that said, would Marley be proud to be associated with that creature? Marley was of course famous for preaching unconditional love. "Love would never leave us alone," he sang famously on Could You Be Loved.


Healthy Living Blog
The Importance of Positive Interactions
April 11, 2019 | Rachel Velishek, LPCC
How do you feel when someone says something nice to you or about you? How do you feel after exchanging a hug with a person you care about?
Part of being a sincere, genuine human being is the ability to give and receive fondness, admiration, and appreciation. It is important to communicate our appreciation for to those around us, the role they may have in our lives, and be able to accept the same genuine feedback in return.
A psychological method called Transactional Analysis (TA) refers to an individual's ability to address a person's interactions and communications with the purpose of establishing and reinforcing individuality, in other words, that each person is valuable and has the capacity for positive change and growth. The interactions or communications between two people are often called "strokes" and the positive strokes are what contribute to a healthy pattern of communication and positive living.
Positive strokes are necessary in developing and building our self-image and encouraging emotional connections with others. They have the ability to increase compassion for others and ourselves. Positive strokes create the opportunity to develop trust and be vulnerable.
Strokes can be verbal or nonverbal. It may be a smile or a hug from a person you care deeply for. Positive strokes are critical for developing minds, but still vital for us adults. Strokes can also be negative. Based on some research by Eric Berne, the founder of Transactional Analysis, any stroke (positive or negative) is better than no stroke at all. Receiving some recognition is better than no recognition at all and being ignored. It is often why a child who doesn't receive enough positive strokes will often develop negative behaviors that will at minimum result in negative strokes because anything is better than nothing.
Berne has classified strokes as "conditional" and "unconditional," he stated that unconditional strokes are related to what you are and conditional strokes are about what you do. For example, an unconditional positive stroke (compliment) is "I love you," or "you're wonderful." An unconditional negative stroke (insult) is "I hate you," or "You're an idiot." Conditional positive strokes are similar to statements like, "I like when you smile," "You look pretty," and "You've done a great job." Negative conditional strokes may sound like, "You are really stupid for failing that test," "Your work is unacceptable," or "I don't like you when you act like this."
Studies in Transactional Analysis suggest that when a person does not receive enough positive strokes we seek out acceptance by chasing negative strokes. When those negative strokes are accepted, we only reinforce that behavior and so the cycle continues. This is unhealthy for not only us as the individual, but also for the person who issued the negative stroke. When we accept only positive strokes, we are reinforcing positive interactions.
I encourage you to take some time and really think about that for a moment. Are you accepting only positive strokes and reinforcing the positive? Or are you seeking out negative strokes and reinforcing negative behaviors? Are you a person who has more negative strokes — interactions where people are more critical of you or others or just leave you feeling more down and drained? Or do you radiate positive energy and feelings of joy when around others? Be honest with who you are and what you say and do. There are benefits to being a "radiator" for yourself and others instead of being a "drain."
If you want to be a radiator or surround yourself with radiators consider this: oxytocin is a neurotransmitter that acts as a hormone. It has been linked to the regulation of trust and morality. It is released in the body when we feel safe and connected. In a TED talk, Dr. Zak prescribed a minimum of 8 hugs per day to feel happier and more connected, and to nurture relationships. He recommended this because physical touch has been shown to stimulate the most potent release of oxytocin. According to his research, a 20 second hug with a romantic partner can achieve a spike in oxytocin levels and can trigger a decrease in blood pressure, heart rate, and cortisol levels. A 20-second hug with a person you care for is a positive stroke that has emotional, physical, and mental benefits. Take the time to communicate unconditional and conditional positive strokes to others. Verbally express appreciation, fondness, and admiration as it will only increase positive growth, compassion, and trust in yourself and others.
The fact is, all of us need to be seen and recognized by others. Positive strokes are free. They are great motivators and have the ability to improve a person's overall perspective on life. Across our lifespan, expressions of appreciation, fondness, and admiration in addition to positive strokes contribute to high self-esteem and confidence. Expressing appreciation in others and receiving positive feedback is the simplest yet, one of the biggest investments that can be made in the emotional and psychological wellbeing of all people.


text:
The Cardassian system was an inhabited planetary system. This system was located in the Cardassian sector. This sector was a region of space in the Alpha Quadrant. The system consisted of a primary and five named planets. One of the planets, Cardassia Prime (Cardassia II), was inhabited by the Cardassians, a warp capable species. This planet was the capital of the Cardassian Union. (DS9: "Explorers") The planets Cardassia III, Cardassia IV, and Cardassia V were colonized by the Cardassians. (DS9: "The Homecoming", "Shadowplay", "Prophet Motive") In 2375, the Dominion began their withdrawal to Cardassia Prime during the waning days of the Dominion War. The Allied Forces, or Allied Fleets, planned a risky and costly military operation to end the war by penetrating the system and engaging the forces stationed in orbit of Cardassia Prime. (DS9: "The Dogs of War")
It was never stated in the canon if Cardassia I was an inhabited planet.
"Tactical Display 7624N" was reproduced for the Star Trek: Star Charts, and appeared on page 49.
According to this same book (pgs. 36, 42-43), the system primary was named Cardassia. Cardassia was a K class star with a magnitude of -1, which was a hundred times brighter than Sol. There were eight planets in the system, four of which were inhabited, and two asteroid belts. The system was visited by a Bajoran solar-sail vessel in 1571. Distance between Bajor and Cardassia was 5.25 light years.


text:
Webinar 18: Air quality monitoring at the local level: the case of Dakar, Senegal
Nov 19, 2019
Air pollution in cities is a major threat to the population, with significant negative impacts on public health, but also on climate change, the water cycle, ecosystems, energy production, amongst others. Monitoring air quality (measuring the level of different pollutants in the air, where they are concentrated, and their sources) is essential to raise public awareness, inform air quality policies and measure progress.
During this webinar, we discuss the monitoring of air quality in Dakar, the development of the CGQA, its operation, as well as the results and challenges since its inception. The CGQA is under the tutelage of the Directorate of Environment and Classified Institutions, Ministry of Environment and Sustainable Development of Senegal.