33
As a non-lisper coming to clojure how should I best understand the naming convention where vars get a name like *var-name*?
This appears to be a lisp convention indicating a global variable. But in clojure such vars appear in namespaces as far as I can tell.
I would really appreciate a brief explanation of what I should expect when an author has used such vars in their code, ideally with a example of how and why such a var would be used and changed in a clojure library.
19
It's a convention used in other Lisps, such as Common Lisp, to distinguish between special variables, as distinct from lexical variables. A special or dynamic variable has its binding stored in a dynamic environment, meaning that its current value as visible to any point in the code depends upon how it may have been bound higher up the call stack, as opposed to being dependent only on the most local lexical binding form (such as let or defn).
Note that in his book Let Over Lambda, Doug Hoyte argues against the "earmuffs" asterix convention for naming special variables. He uses an unusual macro style that makes reference to free variables, and he prefers not to commit to or distinguish whether those symbols will eventually refer to lexical or dynamic variables.
Though targeted specifically at Common Lisp, you might enjoy Ron Garret's essay The Idiot's Guide to Special Variables. Much of it can still apply to Clojure.
16
Functional programming is all about safe predictable functions. Infact some of us are afraid of that spooky "action at a distance" thing. When people call a function they get a warm fuzzy satisfaction that the function will always give them the same result if they call the function or read the value again. the *un-warm-and-fuzzy* bristly things exist to warn programmers that this variable is less cuddly than some of the others.
7
Some references I found in the Clojure newsgroups:
Re: making code readable John D. Hume Tue, 30 Dec 2008 08:30:57 -0800
On Mon, Dec 29, 2008 at 4:10 PM, Chouser wrote: I believe the idiom for global values like this is to place asterisks around the name.
I thought the asterisk convention was for variables intended for dynamic binding. It took me a minute to figure out where I got that idea. "Programming Clojure" suggests it (without quite saying it) in chapter 6, section 3.
"Vars intended for dynamic binding are sometimes called special vari-
ables. It is good style to name them with leading and trailing asterisks."
Obviously the book's a work in progress, but that does sound reasonable. A special convention for variables whose values change (or that my code's welcome to rebind) seems more useful to me than one for "globals" (though I'm not sure I'd consider something like grid-size for a given application a global). Based on ants.clj it appears Rich doesn't feel there needs to be a special naming convention for that sort of value.
and...
I believe the idiom for global values like this is to place asterisks around the name. Underscores (and CamelCase) should only be used when required for Java interop:
(def *grid-size* 10)
(def *height* 600)
(def *margin* 50)
(def *x-index* 0)
(def *y-index* 1)
 - Is markdown breaking your code example? I assume the stuff that is italicized should be in asterisks such as *grid-size*? (I escaped the * by putting them in backticks.) – Alex Stoddard Dec 31 '09 at 20:48
 - Definitely, and thanks for pointing it out! Let me see if I can get that fixed... – Carl Smotricz Dec 31 '09 at 20:49
 - 2
 First off, you'll see the term earmuffs ... a humorous reference to the asterisks on either side. In more recent releases of Clojure (starting in 1.3, I believe) only vars marked with the :dynamic meta data could be dynamic (that is, bound to a per-thread value). You get a warning if you name a var with earmuffs but don't also mark it as dynamic. – Howard M. Lewis Ship Apr 18 '14 at 21:03
Your Answer
By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy
Not the answer you're looking for? Browse other questions tagged or ask your own question.


SQL Cache Dependency in ASP.NET
It is containing all topics related to Visual Basic, .NET Framework, Web Resource, GDI etc.
Ladva Nidhi
Posts: 295
Joined: Sat Sep 20, 2014 5:26 pm
Contact:
SQL Cache Dependency in ASP.NET
Postby Ladva Nidhi » Thu Oct 16, 2014 3:05 am
What is SQL Cache Dependency in ASP.NET?
Guest
Re: SQL Cache Dependency in ASP.NET
Postby Guest » Fri Jul 31, 2015 10:05 am
SqlCacheDependency class to create a cache item dependency on a table or row in a database. When a change occurs in the table or in a specific row, the item that has a dependency is invalidated and removed from the cache. You can set a dependency on a table in Microsoft SQL Server 7.0, SQL Server 2000, and SQL Server 2005. If you are using SQL Server 2005 you can also set a dependency on a specific record.
Using caching with a SQL dependency can dramatically increase application performance in certain scenarios. For example, imagine you are building an e-commerce application that displays product information from a database. Without caching, your application must request the data from the database each time a user wants to view a product. You could cache the product information for a day at a time, ensuring fast response times because the product information is already in memory. However, if product information changes, the cached product information might then be out of sync with the data for up to a day.
Using SQL cache dependency, you could cache your product information and create a dependency on a database table or row change. When the data changes—and only then—the cache items based on that data are invalidated and removed from the cache. The next time you request that item from the cache, if it is not in the cache, you can re-add the updated version to the cache and be assured that you have the latest data.
Return to "Visual Basic .NET and ASP.NET"
Who is online
Users browsing this forum: No registered users and 1 guest


The topic Nematocera is discussed in the following articles:
 - TITLE: dipteran (insect)
 ...soil, beneath bark or stones, in decaying plant and animal matter, even in pools of crude petroleum). Adults feed on plant or animal juices or other insects. Diptera fall into three large groups: Nematocera (e.g., crane flies, midges, gnats, mosquitoes), Brachycera (e.g., horse flies, robber flies, bee flies), and Cyclorrhapha (e.g., flies that breed in vegetable or...


Image (mathematics)
Get Image Mathematics essential facts below. View Videos or join the Image Mathematics discussion. Add Image Mathematics to your PopFlock.com topic list for future reference or share this resource on social media.
Image Mathematics
f is a function from domain X to codomain Y. The yellow oval inside Y is the image of f.
In mathematics, the image of a function is the set of all output values it may produce.
More generally, evaluating a given function f at each element of a given subset A of its domain produces a set, called the "image of A under (or through) f ". Similarly, the inverse image (or preimage) of a given subset B of the codomain of f, is the set of all elements of the domain that map to the members of B.
Image and inverse image may also be defined for general binary relations, not just functions.
The word "image" is used in three related ways. In these definitions, f : X -> Y is a function from the set X to the set Y.
Image of an element
If x is a member of X, then the image of x under f, denoted f(x),[1] is the value of f when applied to x. f(x) is alternatively known as the output of f for argument x.
Image of a subset
The image of a subset A? X under f, denoted, is the subset of Y which can be defined using set-builder notation as follows:[2]
When there is no risk of confusion, is simply written as. This convention is a common one; the intended meaning must be inferred from the context. This makes f[.] a function whose domain is the power set of X (the set of all subsets of X), and whose codomain is the power set of Y. See § Notation below for more.
Image of a function
The image of a function is the image of its entire domain, also known as the range of the function.[3]
Generalization to binary relations
If R is an arbitrary binary relation on X×Y, then the set { y?Y | xRy for some x?X } is called the image, or the range, of R. Dually, the set { x?X | xRy for some y?Y } is called the domain of R.
Inverse image
Let f be a function from X to Y. The preimage or inverse image of a set B? Y under f, denoted by, is the subset of X defined by
Other notations include f -1 (B)[4] and f - (B).[5] The inverse image of a singleton, denoted by f -1[{y}] or by f -1[y], is also called the fiber over y or the level set of y. The set of all the fibers over the elements of Y is a family of sets indexed by Y.
For example, for the function f(x) = x2, the inverse image of {4} would be {-2, 2}. Again, if there is no risk of confusion, f -1[B] can be denoted by f -1(B), and f -1 can also be thought of as a function from the power set of Y to the power set of X. The notation f -1 should not be confused with that for inverse function, although it coincides with the usual one for bijections in that the inverse image of B under f is the image of B under f -1.
Notation for image and inverse image
The traditional notations used in the previous section can be confusing. An alternative[6] is to give explicit names for the image and preimage as functions between power sets:
Arrow notation
 - with
 - with
Star notation
 - instead of
 - instead of
Other terminology
 - An alternative notation for f[A] used in mathematical logic and set theory is f "A.[7][8]
 - Some texts refer to the image of f as the range of f, but this usage should be avoided because the word "range" is also commonly used to mean the codomain of f.
 1. f: {1, 2, 3} -> {a, b, c, d} defined by
 The image of the set {2, 3} under f is f({2, 3}) = {a, c}. The image of the function f is {a, c}. The preimage of a is f -1({a}) = {1, 2}. The preimage of {a, b} is also {1, 2}. The preimage of {b, d} is the empty set {}.
 2. f: R -> R defined by f(x) = x2.
 The image of {-2, 3} under f is f({-2, 3}) = {4, 9}, and the image of f is R+. The preimage of {4, 9} under f is f -1({4, 9}) = {-3, -2, 2, 3}. The preimage of set N = {n? R | n < 0} under f is the empty set, because the negative numbers do not have square roots in the set of reals.
 3. f: R2 -> R defined by f(x, y) = x2 + y2.
 The fibres f -1({a}) are concentric circles about the origin, the origin itself, and the empty set, depending on whether a > 0, a = 0, or a < 0, respectively.
 4. If M is a manifold and?: TM -> M is the canonical projection from the tangent bundle TM to M, then the fibres of? are the tangent spaces Tx(M) for x?M. This is also an example of a fiber bundle.
 5. A quotient group is a homomorphic image.
Counter-examples based on
f:R->R, x?x2, showing
that equality generally need
not hold for some laws:
f(A1?A2)? f(A1)? f(A2)
f(f-1(B3))? B3
f-1(f(A4))? A4
For every function and all subsets and, the following properties hold:
Image Preimage
(equal if, e.g. is surjective)[9][10]
(equal if is injective)[9][10]
[11] [11]
[11] [11]
Multiple functions
For functions and with subsets and, the following properties hold:
Multiple subsets of domain or codomain
For function and subsets and, the following properties hold:
Image Preimage
(equal if is injective[13])
(equal if is injective[13])
(equal if is injective)
The results relating images and preimages to the (Boolean) algebra of intersection and union work for any collection of subsets, not just for pairs of subsets:
(Here, S can be infinite, even uncountably infinite.)
With respect to the algebra of subsets described above, the inverse image function is a lattice homomorphism, while the image function is only a semilattice homomorphism (i.e., it does not always preserve intersections).
See also
 2. ^ "5.4: Onto Functions and Images/Preimages of Sets". Mathematics LibreTexts. 2019-11-05. Retrieved.
 3. ^ Weisstein, Eric W. "Image". mathworld.wolfram.com. Retrieved.
 4. ^ "Comprehensive List of Algebra Symbols". Math Vault. 2020-03-25. Retrieved.
 5. ^ Dolecki & Mynard 2016, pp. 4-5.
 6. ^ Blyth 2005, p. 5.
 7. ^ Jean E. Rubin (1967). Set Theory for the Mathematician. Holden-Day. p. xix. ASIN B0006BQH7S.
 8. ^ M. Randall Holmes: Inhomogeneity of the urelements in the usual models of NFU, December 29, 2005, on: Semantic Scholar, p. 2
 9. ^ a b c See Halmos 1960, p. 39
 10. ^ a b See Munkres 2000, p. 19
 11. ^ a b c d e f g h See p.388 of Lee, John M. (2010). Introduction to Topological Manifolds, 2nd Ed.
 12. ^ a b Kelley 1985, p. 85
 13. ^ a b See Munkres 2000, p. 21
This article incorporates material from Fibre on PlanetMath, which is licensed under the Creative Commons Attribution/Share-Alike License.
Music Scenes


text:
"Apollonia (Greek: Ἀπολλωνία) was a town of Mygdonia in Macedon, south of Lake Bolbe (Athen...Apollonia (Mygdonia)
"Paphos (Greek: Πάφος, transliteration: Pafos, Turkish: Baf), sometimes referred to as Pafos, is...Paphos
"Abilene (Abilênê) or simply Abila was a plain, a district in Coele-Syria, of which the chief...Abilene (biblical)
"Ozolian Locris or Esperian Locris was a district inhabited by the Ozolian Locrians a tribe of...Ozolian Locris
"Heliopolis (Greek: Ἡλίου πόλις or Ἡλιούπολις}, meaning sun-city, was one of the most ancient...Heliopolis (ancient)
Pages in category "Wikipedia articles incorporating text from the Dictionary of Greek and Roman Geography"
The following 13 pages are in this category, out of 13 total.

source: m-a-p/FineFineWeb


text:
Sudan is a destination-, transit- country and also country of origin for migrants and refugees. Most of them live in the states of Kassala and Gedaref. A lot of these migrants and refugees as well as the local population have difficulties in finding a job which inhibits them from improving their living conditions.
The project aimed at enabling migrants and refugees and the host population to improve their living conditions. Thus, the project has been active in three areas:
1. Promotion of vocational qualifications in crafts, services, and small businesses.
2. Support of companies in creating and securing apprenticeships and jobs for graduates holding a vocational qualification
3. Establishment of job centres
Madiba Consult was responsible for the yearly adaption of the operation plan, ensured the effective implementation and adaption of the monitoring system, developed qualitative data collection formats and tools, and conducted interviews. Moreover, madiba coached the team and ensured the steering of the complex project.


text:
Civil society organisations from across sectors, such as health, development, environment, food, agriculture, social affairs, trade, have developed a Guide & Phonebook on how newly elected Members of the European Parliament (MEPs) can improve people's health in Europe and beyond by ensuring the implementation of a Health in All Policies approach.
In the last legislature, health and social justice issues significantly fell down the EU political agenda. This resulted in missed opportunities to decrease health inequalities, to increase the years people spend in good health, and to reduce societal costs related to ill-health.
New MEPs will have the unique opportunity to take a strategic leadership role in putting people's physical and mental health and their well-being at the center of EU policy-making. By doing so, you will restore confidence in the European project at a crucial time of unprecedented change in political and public life.
To ensure health in all policies, MEPs can:
- Support strong governance to ensure the implementation of health in all policies
- Make health a strategic priority in the next EU 2019-2024 strategic agenda and legislature
- Introduce a health impact assessment mechanism
- Ensure a high level of health protection and promotion in all EU policies
More information and concrete recommendations can be found in the Guide which also contains a phonebook with contact details of different organisations and individuals for thematic expertise.


text:
- Vertex Specification
- Vertex Processing
- Vertex Post-Processing
- Primitive Assembly
- Fragment Shader
- Per-Sample Processing
Vertex Post-Processing is the stage in the OpenGL Rendering Pipeline where the vertex outputs of the Vertex Processing undergo a variety of operations. Many of these are setup for Primitive Assembly and Rasterization stages.
Primitives generated by previous stages are collected and then clipped to the view volume. Each vertex has a clip-space position (the gl_Position output of the last Vertex Processing stage). The viewing volume for a vertex is defined by:
This volume can be modified by depth clamping as well as the addition of user-defined clip-planes. The total volume that primitives are clipped to, including user-defined clip planes, is the clipping volume.
The way primitives are clipped to this clipping volume depends on the basic Primitive type:
- Points are not really "clipped". If a point is in any way outside of the clipping volume, then the primitive is discarded (ie: not rendered). Points can be bigger than one pixel, but the clipping remains; if the center of the point (the actual gl_Position value) is outside of the clipping range, it is discarded. Yes, this means that point sprites will disappear when the center moves off-screen.
Platform Issue (NVIDIA): These cards will not clip points "properly". That is, they will do what people generally want (only discard the point if it is fully off-screen), rather than what the OpenGL specification requires. Be advised that other hardware does what OpenGL asks.
- If the line is entirely outside of the volume, it is discarded. If the line is partially outside of the volume, then it is clipped; new vertex coordinates are computed for one or both vertices, as appropriate. The end-point of such a clipped vertex is on the boundary of the clipping volume.
- A triangle is clipped to the viewing volume by generating appropriate triangles who's vertices are on the boundary of the clipping volume. This may generate more than 1 triangle, as appropriate. If a triangle is entirely outside of the viewing volume, it is culled.
When primitives are clipped, new per-vertex outputs must be generated for them. These are generated via linear interpolation (in clip-space) of the output values. Flat-shaded outputs don't get this treatment.
The clipping behavior against the Z position of a vertex (ie: ) can be turned off by activating depth clamping. This is done with glEnable(GL_DEPTH_CLAMP). This will cause the clip-space Z to remain unclipped by the front and rear viewing volume.
The Z value computations will proceed as normal through the pipeline. After computing the window-space position, the resulting Z value will be clamped to the glDepthRange.
|This section needs to be filled in.|
The clip-space positions returned from the clipping stage are transformed into normalized device coordinates (NDC) via this equation:
The viewport transform defines the transformation of vertex positions from NDC space to window space. These are the coordinates that are rasterized to the output image.
The viewport is defined by a number of viewport parameters. These parameters are set by these functions:
void glDepthRangef(GLfloat nearVal, GLfloat farVal)
The second two functions set the same parameters, the near and far values of the depth range.
Given the viewport parameters, we compute the window-space coordinates via these equations:
Where x, y, width, height, nearVal, and farVal are the viewport parameters.
|Core in version||4.3|
|Core since version||4.1|
|Core ARB extension||ARB_viewport_array|
Multiple viewports can be used in OpenGL. The specific viewport for a particular primitive can be set by the Geometry Shader. If the GS does not specify a viewport, then viewport number 0 is selected. The computation works as above, except where it says "the viewport parameters", it means "the viewport parameters for the primitive's viewport index".
There are sets of viewports, indexed on the half-open range [0, GL_MAX_VIEWPORTS). Each index has its own depth range and viewport coordinates. The previously defined functions will only set the value for viewport index 0.
To set the viewport parameters for a particular index, use this pair of functions:
void glDepthRangeIndexed(GLuint index, GLdouble nearVal, GLdouble farVal)
Multiple viewport indices can be set with a single function, via these APIs:
The first index is the first viewport index to set. count is the number of viewport indices to be set by the function. v is an array of viewport values, which contains count * 4 or 2 values, depending on the function being called. The values for a single viewport index are in the same order as the arguments in the regular function calls.

source: HuggingFaceFW/fineweb-edu


text:
Sensei Zen's Pro Tips:
Master a consistent fling:
Try sliding your finger the same distance each time, and adjust the speed accordingly. Sliding your finger too short usually will result in your fling either going faster or slower than you intended.
Master the straight shot:
If you don't like the angle you are sliding your finger, rotate your iPhone to provide an easier sliding path, usually vertical.
Master the world tricks:
Each world will provide a different type of challenge, so be sure to read the tutorial screen at the beginning of each world to find out what to expect from that world.
Master the round name:
Each round name will provide a hint to what the round will be like.
Master a top score:
Gather extra points by causes ricochets and combos to increase your score. However, gaining small bonuses at the cost of a fling is rarely worth it. The best way to gain a high score is to free play each world to master its tricks.
Master the edges:
When you are too close to an edge it may be difficult to put your finger in the right place to get the power of the slide you want. You can easily solve this by placing your finger anywhere on the screen and slide it at the same angle you would if it wasn't on the edge.

source: openbmb/Ultra-FineWeb


This documentation is for WSO2 Data Analytics Server 3.0.1. View documentation for the latest release.
All docs This doc
||
Skip to end of metadata
Go to start of metadata
Following are the Siddhi extensions you can use in processing events using WSO2 DAS.
math
Math extension provides basic mathematical functions such as calculating absolute value, sin, cos, tan, base conversion, parsing, etc. Following are the functions of the Math extension.
abs
Syntax<double> abs(<float|double> p1)
Extension TypeFunction
DescriptionReturns the absolute value of p1 . This function wraps the java.lang.Math.abs() function.
Examples
Both the following queries return 3 since the absolute value of both 3 and -3 is 3.
 - abs(3)
 - abs(-3)
acos
Syntax<double> acos(<float|double> p1)
Extension TypeFunction
DescriptionIf -1 <= p1 <= 1, this function returns the arc-cosine (inverse cosine) of p1. If not, it returns NULL. The return value is in radian scale. This function wraps the java.lang.Math.acos() function.
Exampleacos(0.5) returns 1.0471975511965979.
asin
Syntax<double> asin (<float|double> p1)
Extension TypeFunction
DescriptionIf -1 <= p1 <= 1, this function returns the arc-sin (inverse sine) of p1 . If not, it returns NULL. The return value is in radian scale. This function wraps the java.lang.Math.asin() function.
Exampleasin(0.5) returns 0.5235987755982989.
atan
Syntax<double> atan(<int|long|float|double> p1)
Extension TypeFunction
DescriptionReturns the arc-tangent (inverse tangent) of p1. The return value is in radian scale. This function wraps the java.lang.Math.atan() function.
Examplesatan(6d) returns 1.4056476493802699.
Syntax<double> atan (<int|long|float|double> p1, <int|long|float|double> p2)
Extension TypeFunction
DescriptionReturns the arc-tangent (inverse tangent) of p1 and p2 coordinates. The return value is in radian scale. This function wraps the java.lang.Math.atan2() function.
Examplesatan(12d, 5d) returns 1.1760052070951352.
bin
Syntax<string> bin(<int|long> p1)
Extension TypeFunction
DescriptionReturns a string representation of the integer/long p1 argument as an unsigned integer in base 2. This function wraps the java.lang.Integer.toBinaryString and java.lang.Long.toBinaryString methods.
Examples bin(9) returns "1001".
ceil
Syntax<double> ceil(<float|double> p1)
Extension TypeFunction
DescriptionReturns the smallest (closest to negative infinity) double value that is greater than or equal to the p1 argument, and is equal to a mathematical integer. This function wraps the java.lang.Math.ceil() method.
Exampleceil(423.187d) returns 424.0.
conv
Syntax<string> conv(<string> a, <int> fromBase, <int> toBase)
Extension TypeFunction
DescriptionConverts a from the fromBase base to the toBase base.
Exampleconv("7f", 16, 10) returns "127".
copySign
Syntax<double> copySign(<int|long|float|double> magnitude, <int|long|float|double> sign)
Extension TypeFunction
DescriptionReturns the magnitude of magnitude with the sign of sign . This function wraps the java.lang.Math.copySign() function.
ExamplecopySign(5.6d, -3.0d) returns -5.6.
cos
Syntax<double> cos(<int|long|float|double> p1)
Extension TypeFunction
DescriptionReturns the cosine of p1 ( p1 is in radians). This function wraps the java.lang.Math.cos() function.
Examplecos(6d) returns 0.9601702866503661.
cosh
Syntax<double> cosh(<int|long|float|double> p1)
Extension TypeFunction
DescriptionReturns the hyperbolic cosine of p1 ( p1 is in radians). This function wraps the java.lang.Math.cosh() function.
Examplecosh (6d) returns 201.7156361224559.
cbrt
Syntax<double> cbrt(<int|long|float|double> p1)
Extension TypeFunction
DescriptionReturns the cube-root of p1 ( p1 is in radians). This function wraps the java.lang.Math.cbrt() function.
Examplecbrt(17d) returns 2.5712815906582356.
e
Syntax<double> e()
Extension TypeFunction
DescriptionReturns the java.lang.Math.E constant, which is the closest double value to e (which is the base of the natural logarithms).
Examplee() returns 2.7182818284590452354.
exp
Syntax<double> exp(<int|long|float|double> p1)
Extension TypeFunction
DescriptionReturns Euler's number e raised to the power of p1 . This function wraps the java.lang.Math.exp() function.
Exampleexp(10.23) returns 27722.51006805505.
floor
Syntax<double> floor(<int|long|float|double> p1)
Extension TypeFunction
DescriptionThis function wraps the java.lang.Math.floor() function that returns the largest (closest to positive infinity) value that is less that or equal to p1 , and is equal to a mathematical integer.
Examplefloor(10.23) returns 10.0.
getExponent
Syntax<double> getExponent(<int|long|float|double> p1)
Extension TypeFunction
DescriptionReturns the unbiased exponent used in the representation of p1 . This function wraps the java.lang.Math.getExponent() function.
ExamplegetExponent(60984.1) returns 15.
hex
Syntax<string> hex(<int|long|float|double> p1)
Extension TypeFunction
DescriptionThis function wraps the java.lang.Double.toHexString() function that returns a hexadecimal string representation of p1 .
Examplehex(200) returns "c8".
isInfinite
Syntax<boolean> isInfinite(<float|double> p1)
Extension TypeFunction
DescriptionThis function wraps the java.lang.Float.isInfinite() and java.lang.Double.isInfinite() functions that return true if p1 is infinitely large in magnitude, or return false otherwise.
ExampleisInfinite(java.lang.Double.POSITIVE_INFINITY) returns true.
isNan
Syntax< boolean> isNan(<float|double> p1)
Extension TypeFunction
DescriptionThis function wraps the java.lang.Float.isNaN() and java.lang.Double.isNaN() functions that return true if p1 is a NaN (Not-a-Number) value, or return false otherwise.
ExampleisNan(java.lang.Math.log(-12d)) returns true.
ln
Syntax<double> ln (< int|long|float|double > p1)
Extension TypeFunction
DescriptionReturns the natural logarithm (base e) of p1 .
Exampleln(11.453) returns 2.438251704415579.
log2
Syntax<double> log2 (< int|long|float|double > p1)
Extension TypeFunction
DescriptionReturns the base 2 logarithm of p1 .
Examplelog2(91d) returns 6.507794640198696.
log10
Syntax<double> log10 ( < int|long|float|double > p1 )
Extension TypeFunction
DescriptionReturns the base 10 logarithm of p1.
Examplelog10(19.234) returns 1.2840696117100832.
log
Syntax<double> log (< int|long|float|double > number, < int|long|float|double > base )
Extension TypeFunction
DescriptionReturns the logarithm (base=base) of number .
Examplelog(34, 2f) returns 5.08746284125034.
max
Syntax<double> max (< int|long|float|double > p1, <int|long|float|double> p2 )
Extension TypeFunction
DescriptionReturn


×
Community Blog Why SSDs Matter for Application Development
Why SSDs Matter for Application Development
The benefits of SSDs don't end with these use cases. SSDs can also speed the development of applications.
Solid state disks (SSDs) have become popular in consumer devices, and sometimes server environments, as a means of improving data I/O and application performance.
But the benefits of SSDs don't end with these use cases. SSDs can also significantly speed the development of applications. This article explains how software delivery teams can leverage SSD storage to improve application development.
SSDs Enable Frequent Builds
Modern DevOps teams work at a pace that more traditional teams would call frantic. Builds have become micro-sized and they're more frequent as team members commit code all through the day.
Docker containers enable teams to work in this manner—to decompose your application and develop it in a distributed way. At a time when application development is more complex and developers use multiple OSes to build development environments, containers bring consistency across the team. Containers also allow for portability of code, as the same container can be run in different environments and even in production.
In the past, the number of VMs were manageable and development environments were fewer and more consistent. Today, applications are more distributed and are developed over a large number of containers. Docker also enables greater variation in development environments and the explosion in the number of container instances used for development (and the small files inside each container) have a big impact on storage.
Dev teams need storage which can handle the high input/output operations per second (IOPS) that today's container-based operations require. This can be achieved to an extent by optimizing storage for containerized development, but to see big results, it takes a switch from traditional storage disks to cloud-based SSDs.
SSDs Better Align QA with Dev
With DevOps, testing has become more aligned with development and happens earlier in the development pipeline. Tests are equally fragmented to reflect the change in development. In addition, containers have made testing more consistent, as QA teams can test the exact same containers used in development environments. This means no more configuration drift and better team dynamics.
SSDs Help Create Environments Faster
The ability to quickly create new environments is a necessity. This is true for Dev as well as QA. They need to be able to easily and quickly create new dev and test environments to support the pace of work. Test environments need to be destroyed after test runs and results need to be stored persistently—and containers have made this possible. What it once took to spin up and fully configure a VM now takes mere seconds, thanks to Docker. Because they're much more lightweight than VMs, containers enable higher server density and require much less storage per instance.
To fully take advantage of the container revolution for Dev and QA, SSDs are a must-have. The high IOPS, throughput, and low latency that they enable give DevOps teams the confidence to move faster through each step of the pipeline. QA teams can push the limits when trying to break things in the apps they test, knowing that creating a new test environment takes just a few seconds.
Along with these fundamental changes at the infrastructure level, greater gains can be achieved with automation. When dev and test environments are created and destroyed automatically, it relieves DevOps teams of the burden of having to configure infrastructure from scratch every time—and this wouldn't even be possible to do manually, considering the scale at which modern DevOps teams function. Taking this into account, automation would be severely restricted if done using traditional hard disks. SSDs let you take advantage of the speed that automation provides when creating and destroying dev and QA environments.
SSDs Help Reduce Storage Costs
A prime concern for IT teams is optimizing the costs of running development and testing environments. Containers help by increasing server density and requiring lesser storage. One misconception IT teams may have, however, is that traditional hard disks are more economical than SSDs when it comes to application development. It's true that SSDs seem like a big investment if you look at the price per GB of storage. But that's a primitive and misleading way to assess real long-term costs. The biggest hidden cost when using hard disks is sacrificing all the benefits discussed above. Slower performance of dev and QA environments means less agility and less innovation. Products are released slower and what gets released isn't the best your organization can deliver.
Apart from this, it's more holistic to look at the combination of containers and SSDs and how well they complement each other. Another important aspect is that the cloud is making SSDs much cheaper. SSDs, combined with containers, bring you the best price-performance ratio. Alibaba Cloud has made it easy to get started with SSDs by providing a $300 free trial, which is more than enough to get a feel for their various storage options.
You could also optimize storage to use a combination of SSDs and cloud disks. This way, you would use SSDs for high-performance workloads and traditional disks for reliable storage over a longer period.
As your software delivery chain is transformed by DevOps principles, the transformation requires changes across your development stack. Storage is one area that's ripe for change. Moving to SSDs gives your teams the edge in speed and helps you deliver your most innovative work yet.
Author's Bio
Twain Taylor is a Fixate IO Contributor. He began his career at Google, where, among other things, he was involved in technical support for the AdWords team. His work involved reviewing stack traces, resolving issues affecting both customers and the Support team, and handling escalations. Later, he built branded social media applications and automation scripts to help startups better manage their marketing operations. Today, as a technology journalist he helps IT magazines and startups change the way teams build and ship applications.
0 0 0
Share on
Alibaba Clouder
2,600 posts | 750 followers
You may also like
Comments


and system level knowledge. I specifically said "Also, if I artificially constrain an int in a predicate statement using a relational operator such as if (intValue <= 0) then there is another boundary condition that I would certainly want to analyze" and "testers must be aware that boundary values don't always exist only at the extreme ranges of data types or other variables. Occasionally, there are boundary values/conditions within the minimum and maximum physical ranges of a variable." I am trying to pass on some useful information here, so if any of this is unclear please let me know.
 But, perhaps I am missing the intent of your question, or the point you are tyring to make (and I sure hope that point is not suggesting the upper boundary for a 32 bit unsigned int can be greater than _PHONE_). If so, can you please rephrase your question concisely?
 4. Shrini says:
 Hi BJ,
 My question was more about "very well known" boundaries and "not so well known or unknown" boundaries.
 I believe there are some boundaries that can be reasonably considered to be "clear" and known – like "32 bit unsigned int can be greater than _PHONE_" (Let me know if I am wrong)
 [Bj] I assume you mean a 32 bit unsigned int cannot be greater than _PHONE_.
 So can you please elaborate on approach to identifying "known" and "unknown boundaries".
 If we agree that given a test object with several variables – there are some known boundaries and some unknown. Hence, Pradeep's assertion that "he has not seen boundary" seems correct (at least with respect to unknowns)
 [Bj] I take his assertion to imply that there are no defined boundary conditions in software. Even if the boundaries are unknown, testers should assume that any time there are physical values in play there are definate boundary values that must be considered (unless of course we can prove otherwise). But, it is probably foolish for me at this point to make any assumptions as to his implied meaning.
 Coming back to your differentiation between "Extreme ranges of data types and other variables (I am not sure what other variables you are referring to)" vs. "Maximum and minimum physical ranges of variables" – Can you help me with an example? This can be an interesting twist to our discussion on boundary values.
 [Bj] The use of the word variable is often overloaded. But, perhaps a simple example is the extreme range of an integral uint type in C# is 0 to 4,294,967,295. But, if the program only allowed input values greater than or equal to 1 and less than or equal to 10, then the minimum and maximum physical range of the user input (variable) is artifically constrained between 1 and 10 although the extreme range of the type is much larger. In the example below we declare a variable of type uint which has a extreme range between 0 and 4,294,967,295. But, the conditional statement limits (or artifically constrains) the userinput assigned to the variable named input to the minimum value of 1 and maximum value of 10.
 //assuming user input is a valid integer value between 0 and 4,294,967,295
 uint input = Convert.ToUnit32(userinput);
 if ((input < 1) || (input > 10))
 {
 //sorry..invalid input
 }
 Another thing for which I am always puzzled is – about the name "Boundary Value Analysis".
 Consider following traditional approach that I mostly heard from people
 1. Identify the variable(s)
 2. Get the boundaries of the variable from specification and by asking the developer.
 3. Create a set of values (3 per each boundary – one bellow, one on the boundary and one above it) for each variable
 4. Check the application behavior for these values
 5. Declare that Boundary testing has been performed.
 If the whole process were so simple – why it is called as "analysis" – what analysis goes here?
 [Bj] Actually, step 1 is identifying parameters that accept physical or quantifiable values (basically something that can be counted). Step 2 the physical range of allowable values can come from the spec, the dev, or the code.
 The minimum and maximum values are the specific boundary conditions or values themselves. So, one way to view analysis is the process of analyzing the value immediately above that value and immediately below the specific boundary value (per data type). Another way to view analysis is the fact that we must decompose and analyze the range and type of data for potential boundaries within the allowable range and identify unique or special values that are or could be more interesting than other values within the allowable minimum and maximum range. But, this may mostly be an academic debate as the technique has different names depending on your reference.
 What are your experiences?
 [Bj] In my experience, most people have a limited understanding of boundary testing from a very superficial point of view which is often based only on the minimum and maximum input and output values (although most people also forget about output values). The most common problem is the failure to decompose the data to identify additional boundary values or potential boundary conditions that could exist within the allowable (and most easily identified) physical range. Of course, the ability and skill to decompose data takes a great deal of time, expertise, and in-depth knowledge of the data set, the programming language in use, the algorithm, the system, etc. (This is one example of the types of abilities and skills we are expecting from our highly skilled testers at Microsoft and our training is designed to teach and reinforce this and other skills necessary to become more effective and more efficient.)
 The mere execution of testing boundaries is pretty much rudimentary as you describe above once the boundary conditions or values are identified. The real skill in the application of the technique of boundary value analysis (or boundary testing) is not in the execution of the test, but in the ability to identify specific and probable boundary conditons (especially those within the obvious minimum and maximum ranges).
 Shrini
 5. I.M.Testy says:
 Shrini,
 These are really great questions! I replied inline above in blue. Please let me know if there is something I did not clarify sufficiently.
 – Bj –
 6. Shrini says:
 Thanks BJ for the clarifications. It really helped. I will come back with more questions in due course.
 [Bj] I assume you mean a 32 bit unsigned int cannot be greater than _PHONE_.
 [shrini] Yes that was my assumption. Is this boundary fixed or not. If I overflow this with some value which is greater and managed to go past it and hit another boundary say at _PHONE_ – will this remain as fixed? Here tester's curiosity or hunch that "things can be different" is at play and might discover few interesting things. What do you say?
 I have a blog post for you see and comment at
 _URL_
 I am calling the whole approach of boundary testing as "Boundary Value Exploration".
 >>[Bj] Actually, step 1 is identifying parameters that accept physical or quantifiable values (basically something that can be counted).
 [shrini] That is BVE -Outsider's view for me.
 >>> [Bj] Step 2 the physical range of allowable values can come from the spec, the dev, or the code.
 [shrini] That is BVE – Insider's view.
 >> [BJ]The minimum and maximum values are the specific boundary conditions or values themselves. So, one way to view analysis is the process of analyzing the value immediately above that value and immediately below the specific boundary value (per data type).
 [Shrini] Again, BVE -Outsider's view
 >> [BJ]Another way to view analysis is the fact that we must decompose and analyze the range and type of data for potential boundaries within the allowable range and identify unique or special values that are or could be more interesting than other values within the allowable minimum and maximum range.
 [Shrini] BVE – Insider's view.
 Thanks again
 Shrini
 7. I.M.Testy says:
 It is mathematically impossible for 2 raised to the 32nd power to be greater than _PHONE_ _PHONE_ – 1 because we start counting at zero).
 Therefore, if the developer declares a variable with an unsigned 32-bit integer type (which is an integral data type) and the user enters a value > _PHONE_ then an overflow exception will be thrown (and hopefully the developer has error code to deal with that situation.
 Now, if you can enter a value of 5,000,000,000 and the application does not throw an exception then the developer has not declared the variable as a 32-bit unsigned integer, but (mostly likely) as a signed or unsigned 64-bit integer data type.
 If the developer chooses to artificially constrain that 64-bit integer to _PHONE_ based on some requirements, then it is most likely that will remain fixed because I don't know of too many developers who arbitrarily change an established boundary value in the code very frequently. In fact, in well-formed code the value used to contrain the size of an integral data type is typically declared as constant value and not hard-coded into a conditional statement.
 Curiosity is good, and curiosity often helps us discover new and interesting things. However, between _PHONE_ (max value for unsigned 32 bit integer) and 9


text:
News & Events
Capping Pipes Saves Wildlife
Concerned about the discovery of accidental bird deaths in California State, Missourians are taking action to eliminate similar hazards in the ShowMe State.
Workers at Audubon California's Kern River Preserve discovered the remains of hundreds of dead birds in a 20-foot-long pipe that had rusted and fallen over. Victims of the irrigation pipe, which had been in place more than 50 years, included bluebirds, woodpeckers and kestrels, along with lizards and other small animals that had gotten inside and were unable to escape. The death trap was part of an abandoned irrigation system.
Following the macabre discovery, Audubon staff began noticing similar hazards on their preserve and neighboring land. They found dead animals in pipes ranging from 1 to 10 inches in diameter and set to work removing or capping the pipes to prevent further carnage.
Missourians have discovered similar carnage here and are looking for ways to prevent further damage. Solutions include capping exposed vent pipes or fence posts or covering the open ends with hardware cloth. Removal is an option for obsolete pipes. See ca.audubon.org/ workinglands-pipes.php for more information.
About a month before the California revelation, MDC also had discovered a pipe problem and was re-examining the design of fishing-line disposal bins provided for anglers at popular fishing spots. The bins consist of PVC pipe mounted vertically on posts with caps on the bottom and uncapped elbows on top. Anglers place scrap line in the pipe, preventing it from becoming a hazard to wildlife.
Tree swallows and prothonotary warblers have been found dead and entangled in fishing line inside similar receptacles in other states. MDC is retrofitting line-recycling bins with covers with slits that still allow insertion of used fishing line without letting birds get inside. The covers are made from tire inner tubes or rubber roof sheeting held in place by pipe clamps. See mdc. _URL_ for details.
Deer, Turkey Harvest Wrap-Up
Missouri hunters had good success during the 2011–2012 fall deer and turkey seasons, proving that Conservation makes Missouri a great place to hunt. They checked 52,671 deer during the four-month archery season. That is 24 percent more than in 2010. Archers also checked 2,923 turkeys, an increase of 34 percent from the previous year. The fall firearms turkey harvest was 7,077, a 19-percent increase from 2010.
Hunters age 6 through 15 checked 2,193 deer during the late youth firearms hunt Jan. 7 and 8, bringing the 2011–2012 firearms deer harvest to 238,921. That is a 3-percent increase from the previous year.
The combined archery and firearms deer harvest was 291,592. That was up 6 percent from the previous year and virtually identical to the past 10 years' average of 252,029.
Expenditures by Missouri's more than 500,000 deer hunters pump $690 million into the state's economy each year, generating more than $1 billion of overall business activity and supporting more than 11,000 jobs.
MDC staff works with you and for you to sustain healthy wildlife. To learn more about the types of assistance available to private landowners, visit mdc.mo.gov.
Missourians Await Return of Martins
Hundreds of purple martins are on their way back to Missouri, and the Purple Martin Conservation Association (PMCA) needs your help finding them.
John Miller, a PMCA member who monitors purple martins in the St. Louis area, says he and other martin aficionados banded more than 800 martin nestlings in St. Louis, Licking and Marshall last year. They need to know when and where those birds return to Missouri in order to learn more about the birds' survival and movements.
The banded martins will arrive here a little later than older birds, trickling in from late April through early June. Previous banding studies (published at purplemartin.org) showed that only 10 to 20 percent of purple martin fledglings return to their natal sites. Most return to within 30 miles of where they hatched. However, a small percentage ends up hundreds of miles away. A female martin banded at a colony near Jamesport in 2009 turned up the next year in Jenera, Ohio, 650 miles from its birthplace.
Each of the martins banded in Missouri last year carries two bands, a silver federal band and a colored Missouri band that can be read with a spotting scope. The bands bear the letters "MO" and numbers. N aturally, people who maintain martin houses have the best chance of spotting one of the banded birds.
If you spot a banded martin, contact the Missouri River Bird Observatory at _PHONE_ or _EMAIL_ to report the sighting and learn the origin of the bird.
Help Bash Trash in April
Missourians care about keeping their state clean, and the annual N o MOre Trash! Trash Bash, co-sponsored by the Missouri departments of Conservation (MDC) and Transportation (MoDOT) each April, helps them act on that caring. The Trash Bash is part of the two agencies' ongoing No MOre Trash! statewide anti-litter campaign. During the entire month of April, people pick up litter all across Missouri from roadsides, parks, neighborhoods, rivers, streams and other places.
"This is the 10th year of No MOre Trash! In Missouri," said Stacy Armstrong, MoDOT No MOre Trash! coordinator. "Through the years, hundreds of thousands of volunteers have picked up more than half a million bags of trash as part of April Trash Bash activities," she said. "Now that's a lot of litter!"
MDC No MOre Trash! Coordinator Joe Jerek added that littering isn't just ugly, it hurts wildlife, is illegal and costs Missourians millions of tax dollars each year.
"Animals get tangled in litter, such as plastic six-pack holders and fishing line, and it can kill them," Jerek explained. "Litter also poisons wild-life and can cost a litterer up to $1,000 in fines and one year in jail."
MoDOT spends more than $5 million each year cleaning litter from Missouri's roadsides, while MDC spends almost $1 million a year to clean litter from conservation areas and other MDC locations.
Last year more than 157,000 bags of trash and many more truckloads of debris were collected by thousands of volunteers during April. Volunteers included MoDOT and MDC employees, Adopt-A-Highway volunteers, Stream Team members and members of the public and community groups.
Anyone can report their activity at nomoretrash.org and get a free lapel pin for their efforts. "Besides the recognition, we all get a little exercise, some fresh air, and a cleaner place to work, live and play," Armstrong said.
Photo Tip of the Month: Zoom Lenses
In last month's photo tip we said that great wildlife photography requires more than just long zoom lenses. While that is certainly true, this month's phototip is devoted to why those long zoom lenses are also very helpful. The goal of good wildlife photography is to show a particular critter up close and personal, and because most wildlife tends to take offense when we get too close, a telephoto or zoom lens is vitally important.
Long lenses also have the added bonus of compressing the "depth-of-field." That is, the distance in front of and behind your subject that is also in focus is very short, so there is little else that is also in focus competing for attention with your subject. In the example image, you can see how the background is so out see how the background is so out of focus it becomes a diffuse backdrop that really helps the subject stand out.
Long lenses can, of course, get very expensive. Various things affect the price, and you have to weigh your budget against the features that are important to you. G enerally, the more money you spend the lenses get sharper, longer, have better auto-focus and other electronics, and have wider apertures. This last item is helpful because it means you can shoot in lower light conditions, or use faster shutter speeds to better freeze the motion of your subject.
This all assumes you have a camera with interchangeable lenses. If you want to take wildlife photos with your point-and-shoot, you can do so, but you have to understand the limitations. You will not be able to take photos like the pros. But, to increase your chances of getting a decent shot, be sure to purchase a point-and-shoot camera with the longest optical zoom possible. Do not be lured by the promises of digital zoom. Digital zoom essentially works by cropping your images, which degrades quality. Some point and shoots now come with as much as 21x optical zoom.
75th Anniversary of Conservation Photo Contest, Enter Now!
Remember to get out those cameras and search those photo files for your best images that
celebrate the natural wonders of Missouri and the 75-year legacy of MDC. A full list of rules and guidelines can be found on our website at _URL_. Entries will only be accepted via Flickr, an Internet photo sharing service. If you are not on Flickr, it is easy to join. Just go to our 75th anniversary photo contest Flickr site for more information: _URL_ groups/mdc75thanniversary/. When you add photos to the contest group in Flickr, the photos MUST be tagged


text:
Making your Scrapy spider undetectable by applying basic statistics
Scrapy can either make calls to a website in constant intervals or use auto throttling to delay the next request. AutoThrottle calculates the website latency and uses it to make requests as often as possible. There is no way we can hide the fact of using a bot by doing this. From the server's perspective, the intervals between requests are almost constant, but we can make it look more like human generated traffic.
Many real-life processes follow an exponential distribution. It can be used to predict the time between phone calls in a call center or requests to a website.
The distribution applies to situations in which event occurrences are independent, happen at a constant average rate and occur continuously.
Obviously, sometimes there are exceptions. Websites tend to be more popular during some hours of a day. Phone calls may occur more often in the afternoon, but it does not mean that exponential distribution does not work. It does, but its parameters change throughout the day.
It also applies only to normal situations. If we had been talking about a tech support call center and we had received the first call informing us about a malfunction, we would have known that many, many calls would follow soon. Most likely it would have been exponentially distributed too, but with dramatically different parameters.
Let's look at a probability density function of the exponential distribution. What we see is the long tail, which means that long delays are less likely to happen. We also notice the huge probability of no delay occurring at all.
Define the distribution
To generate delays according to a given exponential distribution, we are going to use Scipy. Remember that the distribution has one parameter: lambda, but the Scipy implementation of all distributions always get two parameters: loc and scale. So what are we going to do?
According to the documentation, we can set the lambda parameter by passing the scale equal to 1 / lambda.
What does the lambda mean?
It is the rate of the event occurrences. It tells us how often on average the event occurs in a given unit of time. We can estimate the rate by looking at real occurrences of the event and fitting the data to a distribution, just like I did in my Monte Carlo simulation blog post.
In this example, I am going to set the rate to 0.2 events per second. It is going to be a slow scraper, but it was supposed to be undetectable, not very efficient.
1 2 3 4 from scipy.stats import expon lambda_param = 0.2 distribution = expon(scale = 1 / lambda_param)
Let's check whether it worked. First, I am going to plot the probability density function of my distribution:
1 2 3 4 5 6 7 8 import matplotlib.pyplot as plt import numpy as np x = np.linspace(0, 20, 2000) _, ax = plt.subplots(1, 1) ax.plot(x, distribution.pdf(x), '-', lw=2) plt.title('Exponential distribution with lambda = 0.2') plt.show()
Looks good. Let's generate 10000 random values using that distribution and plot a histogram:
1 2 3 4 5 6 7 8 generated_values = distribution.rvs(10000) import pandas as pd pd.DataFrame( generated_values, columns=["Exponential distribution, rate = 0.2, 10000 random values"] ).hist(bins = 50)
Make it work in Scrapy
To add such delays to Scrapy, we must modify the AutoThrottling implementation. First, let's copy the source code from GitHub.
Now, I am going to change the implementation a little bit. We need the lambda parameter which should be passed as a configuration variable, so let's add the following code to the
1 2 3 4 from scipy.stats import expon lambda_param = crawler.settings.getfloat("AUTOTHROTTLE_LAMBDA") self.random_delay_distribution = expon(scale = 1 / lambda_param)
I am not going to replace the existing implementation with a completely new one. Instead of that, I will generate a random delay after every request and add it to the delay calculated by AutoThrottling extension, so after my changes, the code of the _adjust_delay function looks like this (note that I removed the existing comments to make it shorter):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 def _adjust_delay(self, slot, latency, response): target_delay = latency / self.target_concurrency new_delay = (slot.delay + target_delay) / 2.0 random_delay = random_delay_distribution.rvs() _TAG_ generate delay in seconds (because the rate was 0.2 per second), but Scrapy delays are in ms, so I have to multiply it new_delay = new_delay + random_delay * 1000 new_delay = max(target_delay, new_delay) new_delay = min(max(self.mindelay, new_delay), self.maxdelay) if response.status!= 200 and new_delay <= slot.delay: return slot.delay = new_delay
The other aspects of hiding a scraper
Making the delays more human-like won't help at all if the spider sends some bizarre User-Agent header or initiates all requests from the same IP. So there is more to that than just delays.
Law and ethics
Many websites have conditions of use which explicitly forbid you from using scrapers. Remembers always to read and obey their conditions of use! If the website offers an API, always use it to get the data instead of scrapping their content.
If there is no API and they don't allow using scrapers, you can always ask for the data you need. You will be surprised how often you get what you wanted.
Remember to share on social media! If you like this text, please share it on Facebook/Twitter/LinkedIn/Reddit or other social media.


text:
Wednesday, November 08, 2006
No two microchips are exactly the same, even if they come from the same factory and production line. But US Navy researchers think this quirk of modern manufacturing could be turned into an advantage, as it provides a clever way to authenticate the microchips used in many modern ID cards.
Each chip has hundreds of thousands of transistors and wires that all vary very slightly in size and qualities, meaning no two chips are truly identical. These differences are not enough to affect the way each chip works but can be detected by sending signals through each device and measuring the resulting delays.
These variations can be used to generate a unique identifying code for each chip. The code could be held by an authenticating party, like a bank, and then checked each time the card is used in a reader. If someone tries to clone the card, the reader will warn that the chip's electrical signature does not match that of the original.
Read the full smart-card fingerprints patent application


when it has priority. After retirements, Manifests have been marked for deletion, Garbage Collection is required. Starting with v1.6, NetVault SmartDisk also recognizes that Garbage Collection counting work is required after any deduplications have completed — new Manifests have been added.
After all deduplications have completed, NetVault SmartDisk waits for five minutes — the default Inactivity Timeout of 300 seconds — before starting Garbage Collection. This delay prevents Garbage Collection from starting and getting interrupted almost immediately, which would clutter the logs. However, it also means that NetVault SmartDisk is not performing work during that time, unless it is receiving backups. Therefore, it is important to the overall deduplication throughput that the Garbage Collection window is not longer than it must be.
Extending NetVault SmartDisk Storage Pools
You can extend NetVault SmartDisk physical capacity by adding or updating the volumes specified for the NetVault SmartDisk Storage Pools. To extend the NetVault SmartDisk physical capacity, use the config ‑‑add|‑‑update ‑‑volume <path> command. You can also use the following additional parameters:
‑‑volume <path>
Specifies the path for the file-system path of the volume to be used as a NetVault SmartDisk Storage Pool. You can specify local drives or Universal Naming Convention (UNC) paths for Common Internet File System (CIFS), Network File System (NFS), and Storage Area Network (SAN). If the volume is on a mounted file system, verify that the specified path is a valid subdirectory on the mounted file system, and not the mounted directory itself. This path ensures that data is not written to the local directory if the mounted location is unavailable.
[‑‑volume-size <%>]
Specifies the percentage of the volume that NetVault SmartDisk can use; the remainder cannot be used by NetVault SmartDisk.
The value of ((100 - X) / 100) * (total volume size) is added to the Last Resort Threshold (LRT). In addition, a small amount of storage is reserved to complete Garbage Collection. These three components of reserved storage determine the total storage set aside that cannot be directly used by NetVault SmartDisk.
For example, if volume-size is set to 30 and the volume's size is 100 GB, 70 GB is set aside — in addition to the LRT and Garbage Collection reserve space — and NetVault SmartDisk cannot use it.
[‑‑dedupe-cap <Unlimited|cap>]
Specifies the maximum number of backup segments for the specific volume that can be deduplicated simultaneously. Defaults to 4.
[‑‑pool <label>]
Specifies the Label assigned to the Storage Pool. Defaults to a system-generated numeric label. To add the volume to an existing Storage Pool, specify an existing Storage Pool label. To create a Storage Pool, specify a new name.
[‑‑reservation-size <bytes>]
Specifies the number of bytes reserved by the processes streaming data into NetVault SmartDisk. A smaller size results in NetVault SmartDisk having to reserve space more frequently; a larger size renders more disk space temporarily unavailable. If the Space.Available — reported through the show option — is less than the reservation-size, the volume is considered FULL.
[‑‑favour <Staging|Storage|"Chunk Index"|"Disk Index"|All|None>]…
Specifies which Storage Pool Roles the volume is available to perform. To specify multiple roles, list the ‑‑favour parameter multiple times. For example:
Use with ‑‑deny to dedicate a volume to one or more roles.
[‑‑deny <Staging|Storage|"Chunk Index"|"Disk Index"|All|None>]…
Specifies which Storage Pool Roles the volume is not available to perform. To specify multiple roles, list the ‑‑deny parameter multiple times.
For example:
Use with ‑‑favour to dedicate a volume to one or more roles.
[‑‑balancing <Space|Activity|None>]
Instructs NetVault SmartDisk to use the volume with either the most space available or the least activity occurring. If used with ‑‑favour and ‑‑deny, ‑‑balancing is applied last.
NOTE: The --balancing parameter provides guidance to NetVault SmartDisk; the NetVault SmartDisk Disk Manager and Deduplicator make the final decision about how to allocate space.
[‑‑account <UNC-path-account>]
Required for Windows platform when specifying UNC paths. Specifies the user account with read and write permissions to the UNC path.
[‑‑password <UNC-path-password>]
Required for Windows platform when specifying UNC paths. Specifies the password for the user account with read and write permissions to the UNC path. This password is case-sensitive.
Related Documents
The document was helpful.
Select Rating
I easily found the information I needed.
Select Rating


text:
Fennel – It's Not Just Food Any More
We have a perennial fennel plant in our garden, not a bulbing variety but one that sends up incredibly tall stalks and a frothy haze of delicate fronds each spring and summer. Last year, I meant to harvest the pollen and seeds but didn't manage to catch either in time. As a result, our garden beds this year are dotted with the many baby fennel plants that came from those seeds I didn't harvest.
Fortunately, my kids love fennel. They eat handfuls of the delicate anise-flavored leaves each day. Hungry children are a handy control for edible invasive plants, but even with this secret weapon I wanted to cut down on our mama fennel plant's self-sowing this year.
Our plant was well over my head, at least 6′ tall on Saturday, with flower heads forming. It was time to harvest the bounty. Some of the stalks were so thick, I thought I might need my pruning saw to get through them, but by Sunday evening our plant was back down to about 3′ thanks to my hand-held pruners. I may have killed the plant off, but I doubt it; she's been strong enough to survive ice storms and scratching chickens. If I did, though, we'll let one of our volunteers grow on in peace so we have plenty to harvest next year.
Mira noticed the hollow stems and asked me to cut the stalks into a variety of lengths. She set to work inventing uses for these strong, hollow fennel tubes. She chewed the end of one stalk up to create a soft brush and cleaned her teeth – It's not as robust as a miswak, but a fennel toothbrush certainly makes for lovely breath. This worked for our dogs as well – Each of them accepted a thick length of stalk and set to work chewing up their new green bones. They lost interest in a few minutes, but even that did wonders for their doggy breath.
Then Mira filled some glasses with water and gave everyone a fennel straw to try. Water sipped through a fennel stalk doesn't have a strong flavor, but the fennel does make it sweet and refreshing. We love our Glass Dharma straws, and now we have one more alternative to single-use plastic straws. No plastic straw is as tasty as fennel, or as healthy all around.
Finally, she took a pile of stalk pieces and used them as building toys – The smaller pieces fit inside the larger ones, making for stable connections. I think my girls are outside right now putting together a new fairy house from some fennel stalks. I'm sure our garden sprites will enjoy their new scented walls.
Have you and yours come up with new uses for old plants, ways to use garden bounty to replace items commonly made from plastic? We'd love to hear about it!


text:
Envisioning possible futures for the Greater Vancouver gateway
In 2022, we launched the Port Forward scenario planning process: a collaborative initiative for envisioning possible futures of the Greater Vancouver gateway. This process brought together a diverse group of senior leaders and key stakeholders from across the gateway to explore questions about our shared future and consider both the challenges and opportunities ahead.
Together, we identified four plausible scenarios for the future of the gateway, which you can read about below. More information about each scenario, our approach to scenario planning, and the groups that participated in the Port Forward Process can be found in the final scenarios report.
Four plausible scenarios for the future of the gateway
The Port Forward process tapped into the unique input, insights, and experiences of participants to create the following four distinct stories about what could happen in the future:


Tabular Data Structures: Organizing Information with Systematic Brilliance
Estimated read time 5 min read
In the vast landscape of data structures, tabular data structures emerge as pillars of systematic brilliance, revolutionizing the organization and manipulation of information.
With their innate ability to represent data in a table-like format, these structures offer efficient retrieval, sorting, and filtering capabilities.
In this illuminating exploration, we embark on a captivating journey into the world of tabular data structures, unraveling their intricacies and unlocking their potential in modern data management.
The Essence of Tabular Data Structures
Tabular data structures epitomize order and structure, providing a systematic framework for organizing data in rows and columns.
Resembling tables found in spreadsheets or databases, these structures allow for the representation of complex relationships and the storage of heterogeneous data types.
By leveraging the inherent organization of tables, programmers can efficiently access, update, and analyze data, laying the foundation for powerful data management systems.
Streamlined Data Retrieval and Manipulation
One of the remarkable features of tabular data structures lies in their ability to facilitate efficient data retrieval and manipulation operations.
Through the use of row and column indices, programmers can swiftly access specific data points or entire rows, eliminating the need for linear searches.
This expedited retrieval mechanism empowers data-intensive applications, such as data analysis or database querying, with optimal performance and responsiveness.
Sorting and Filtering: The Elixir of Order
Tabular data structures provide an ideal canvas for sorting and filtering operations, enabling the extraction of meaningful insights from vast datasets.
Sorting algorithms can arrange rows based on specific column values, allowing for rapid identification of trends, patterns, and anomalies.
Additionally, filtering operations enable the extraction of subsets of data that meet specific criteria, enabling targeted analysis and streamlined decision-making processes.
Multidimensional Tabular Structures
Tabular data structures extend their capabilities into the realm of multidimensionality, accommodating complex data relationships through the use of multiple tables or matrix-like representations.
By organizing data into multiple dimensions, programmers can create sophisticated systems capable of handling interconnected datasets.
This multidimensional approach empowers applications ranging from financial modeling to scientific simulations, offering a versatile solution for diverse data management needs.
Ensuring Computational Efficiency
Tabular data structures strive to optimize computational efficiency, ensuring that operations on large datasets remain swift and responsive.
By employing indexing mechanisms and optimized algorithms, these structures minimize time complexity, enabling fast data retrieval, updates, and computations.
Moreover, by leveraging modern database technologies and indexing techniques, tabular data structures can scale to handle massive datasets, empowering applications with robust performance.
Conclusion
As we conclude our exploration of tabular data structures, we have witnessed the transformative power of these orderly repositories of information.
Tabular data structures, with their systematic organization, efficient retrieval, and manipulation capabilities, open the doors to effective data management and analysis.
By harnessing the potential of these structures, programmers can unlock new dimensions of efficiency, precision, and insight in their data-driven endeavors.
Let us embrace the beauty of tabular data structures and continue our journey into the vast realm of data management, armed with their systematic brilliance.
You May Also Like
More From Author
+ There are no comments
Add yours


text:
New research shows that electrically-assisted bikes (e-bikes) have the capability to slash carbon dioxide emissions from transport and could offer a safe and sustainable route back to work.
University of Leeds Researchers from the Centre for Research into Energy Demand Solutions (CREDS) found that e-bikes, if used to replace car travel, have the capability to cut car carbon dioxide (CO2) emissions in England by up to 50% – about 30 million tonnes per year.
Even replacing just 20% of car miles travelled with e-bike travel would mean 4-8 million fewer tonnes of carbon emitted each year.
The greatest impact on carbon emissions would come from e-bike use outside urban centres. In Denmark, e-bike routes are already linking cities to towns and villages.'
Continue reading at University of Leeds
Image via University of Leeds


text:
Laser cladding is an advanced technology that offers numerous benefits for industrial repairs. In this article, we will explore the various advantages of using laser cladding for industrial repairs, highlighting its efficiency, cost-effectiveness, and environmental friendliness. By the end of this article, you will understand why laser cladding has become a preferred choice in the manufacturing and repair industries.
Section 1: Understanding Laser Cladding
1.1 What is laser cladding?
1.2 How does laser cladding work?
1.3 Applications of laser cladding in industrial repairs
Section 2: Efficiency of Laser Cladding
2.1 Rapid and precise repairs
2.2 Minimizing downtime
2.3 Enhanced part quality and lifespan
2.4 Improved productivity and cost savings
Section 3: Cost-effectiveness of Laser Cladding
3.1 Reduced material waste
3.2 Minimized machining and finishing processes
3.3 Lower labor costs
3.4 Extended equipment lifespan and reduced replacement costs
Section 4: Environmental Friendliness of Laser Cladding
4.1 Reduced carbon footprint
4.2 Minimized waste generation
4.3 Avoidance of hazardous chemicals
4.4 Compliance with environmental regulations
Section 5: Case Studies and Success Stories
5.1 Real-life examples of laser cladding applications
5.2 Success stories showcasing the benefits of laser cladding for industrial repairs
5.3 Testimonials from satisfied customers
Section 6: Future Trends and Innovation in Laser Cladding
6.1 Advancements in laser cladding technology
6.2 Potential applications in emerging industries
6.3 Research and development efforts
In conclusion, laser cladding is revolutionizing the industrial repair industry with its efficiency, cost-effectiveness, and environmental friendliness. This advanced technology offers rapid and precise repairs, reduces downtime, and enhances part quality. Additionally, laser cladding helps businesses save costs by minimizing material waste, reducing labor expenses, and extending equipment lifespan. Moreover, its environmental benefits make it a sustainable choice for companies striving towards eco-friendly practices. As the technology continues to evolve, it is expected to find even more applications and contribute to the overall growth and sustainability of various industries.
Note: The above outline provides a logical structure for the article, but the content should be developed based on research and technical knowledge related to laser cladding for industrial repairs. Additionally, the word count mentioned may vary depending on the level of detail and examples provided in each section.


text:
Specific surface and porosimetry analyses using BET
The main method for measuring the specific surface of a microporous material is by gas adsorption (BET method). The measurement is made at low temperatures and pressures and assesses the volume of gas adsorbed by the solid at various pressures.
Characterization of powders
Measurement of gas adsorption and desorption kinetics


text:
Empowering Curious Researchers
At the Vienna Biocenter (VBC), we want to foster a world-class scientific environment where PhD students develop and excel. The purpose of the VBC PhD Program is to train rigorous, independent scientists through a comprehensive training program.
The VBC PhD program encourages students to positively contribute to the advancement of science by making and publishing important scientific discoveries. The training program will allow students to acquire scientific skills, which are important for a career in science, but also for other career paths.
By the end of their PhD training VBC PhD students should be able to
- Understand a scientific problem, define specific questions, and by scientific reasoning develop an (experimental) approach to address it. In particular, the following scientific practices should have been acquired:
- to independently and critically evaluate the current state of a research field regarding the chosen scientific problem and approach
- to formulate testable hypotheses
- to design experiments to test hypotheses, to define a realistic time plan for them, and to define their logical outcomes
- to plan and implement projects rigorously, and be able to revise them when necessary
- to interpret experimental outcomes and to reach sound conclusions based on the results
- to propose an follow up experiments
- Have demonstrated the ability to be intellectually independent and to take project ownership
- Be critical thinkers and proficient in scientific reasoning
- Be experts with regard to their topic, and knowledgeable in science and the scientific method in general
- Have advanced science communication skills in
- Writing (for publications/fellowships and grant applications)
- Presenting to specialised and interdisciplinary audiences
Fundamental requirements to achieving these goals are:
- willingness and capability to learn and/or expand technical skills
- proficiency in keeping thorough research records
- practicing high standards of professionalism and collegiality
- cultivating professional networks and collaborations
Ultimately it is the responsibility of all participants in the VBC PhD Program to foster and promote the development of the PhD candidates.
There are three main levels, in which the parties involved have important roles and responsibilities.
(i) Student self-assessment:
The student is responsible to check his/her progress, to take the initiative, and to look for support in order to reach the learning outcomes
The supervisor has to evaluate the student's progress and provide the necessary mentoring and support for the student to reach the above learning outcomes and the agreed scientific goals
(iii) Thesis Advisory Committee:
The TAC is responsible for monitoring the student's progress and giving external advice and support to the student and supervisor.
Checklist for Progress Review
- VBCPhD ProgressReview.pdfPDF, 78 K


text:
4. How Does Ultrasound Behave in Overpressure Conditions?
The speed of sound decreases by less than 1 % between sea level and 3000 m altitude. Atmospheric fluctuations at a specific location are also negligibly low and the effects on the speed of sound are scarcely measurable. If an application involves overpressure of more than 1 bar compared to standard pressure, the speed of sound increases while air damping decreases. This means that ultrasonic sensors have an increased detection range in the case of overpressure compared to standard pressure conditions. From overpressure of around 3 bar above standard pressure, parameter settings in the sensors must be changed so that the increased detection range and lower air damping do not cause interference and measurement errors.
In installation situations with overpressure, it is important to note that most standard ultrasonic sensors are not designed to be installed with just their front in the pressure range when the rest of the sensor is outside the pressure range. Special models are available for these installation situations. However, installing standard models completely in the overpressure area is not a problem. Only the information above regarding possible parameter adjustments at higher pressures must be considered.


Testing Methodology
Although the testing of a cooler appears to be a simple task, that could not be much further from the truth. Proper thermal testing cannot be performed with a cooler mounted on a single chip, for multiple reasons. Some of these reasons include the instability of the thermal load and the inability to fully control and or monitor it, as well as the inaccuracy of the chip-integrated sensors. It is also impossible to compare results taken on different chips, let alone entirely different systems, which is a great problem when testing computer coolers, as the hardware changes every several months. Finally, testing a cooler on a typical system prevents the tester from assessing the most vital characteristic of a cooler, its absolute thermal resistance.
The absolute thermal resistance defines the absolute performance of a heatsink by indicating the temperature rise per unit of power, in our case in degrees Celsius per Watt (°C/W). In layman's terms, if the thermal resistance of a heatsink is known, the user can assess the highest possible temperature rise of a chip over ambient by simply multiplying the maximum thermal design power (TDP) rating of the chip with it. Extracting the absolute thermal resistance of a cooler however is no simple task, as the load has to be perfectly even, steady and variable, as the thermal resistance also varies depending on the magnitude of the thermal load. Therefore, even if it would be possible to assess the thermal resistance of a cooler while it is mounted on a working chip, it would not suffice, as a large change of the thermal load can yield much different results.
Appropriate thermal testing requires the creation of a proper testing station and the use of laboratory-grade equipment. Therefore, we created a thermal testing platform with a fully controllable thermal energy source that may be used to test any kind of cooler, regardless of its design and or compatibility. The thermal cartridge inside the core of our testing station can have its power adjusted between 60 W and 340 W, in 2 W increments (and it never throttles). Furthermore, monitoring and logging of the testing process via software minimizes the possibility of human errors during testing. A multifunction data acquisition module (DAQ) is responsible for the automatic or the manual control of the testing equipment, the acquisition of the ambient and the in-core temperatures via PT100 sensors, the logging of the test results and the mathematical extraction of performance figures.
Finally, as noise measurements are a bit tricky, their measurement is being performed manually. Fans can have significant variations in speed from their rated values, thus their actual speed during the thermal testing is being recorded via a laser tachometer. The fans (and pumps, when applicable) are being powered via an adjustable, fanless desktop DC power supply and noise measurements are being taken 1 meter away from the cooler, in a straight line ahead from its fan engine. At this point we should also note that the Decibel scale is logarithmic, which means that roughly every 3 dB(A) the sound pressure doubles. Therefore, the difference of sound pressure between 30 dB(A) and 60 dB(A) is not "twice as much" but nearly a thousand times greater. The table below should help you cross-reference our test results with real-life situations.
The noise floor of our recording equipment is 30.2-30.4 dB(A), which represents a medium-sized room without any active noise sources. All of our acoustic testing takes place during night hours, minimizing the possibility of external disruptions.
<35dB(A) Virtually inaudible
35-38dB(A) Very quiet (whisper-slight humming)
38-40dB(A) Quiet (relatively comfortable - humming)
40-44dB(A) Normal (humming noise, above comfortable for a large % of users)
44-47dB(A)* Loud* (strong aerodynamic noise)
47-50dB(A) Very loud (strong whining noise)
50-54dB(A) Extremely loud (painfully distracting for the vast majority of users)
>54dB(A) Intolerable for home/office use, special applications only.
*noise levels above this are not suggested for daily use
Introduction & the Cooler Testing Results
Comments Locked
22 Comments
View All Comments
 - mr2ns - Thursday, September 14, 2023 - link
 I apologize; I'm not attempting to drag you in on the copy edit comments but just trying to point out that IF he was intending to reply to your analysis of the performance then he replied to the wrong posts. Then again, meaculpa has been around the Anandtech block more than a few times so that was probably unnecessary.
 - back2future - Saturday, September 9, 2023 - link
 1) mediocrity within a range of possible developments for cost or a price (not about technology for a 21. century level of 'heat dissipation')
 2) enthusiasts are developers who aim towards impossible setups without (necessarily) being backed with company infrastructures and doing with a limited budget (that's impressive, but getting harder with technology being more diverse and specialized development structures), getting towards lower noise than to be heard within a silent room running full spec or oc tasks could be a lower priority compared to limiting logics&sram&peripherals(&gpu) heat addition from its source (some of it will appear with photon switched transistors within circuits(?, 'fastest demonstrated all-optical switching signal is 900 attoseconds'), but 'enthusiasts' designing optical circuits(?), again a rare niche to meet and worth a price(?) )
Log in
Don't have an account? Sign up now


text:
It is important to have a pavement management plan in place to protect your asphalt and give it a longer life. As pavement ages, repairs will become necessary in order to keep it looking good and working well – infrared asphalt patching is an efficient, cost-effective method that is the best choice in pavement management for all your asphalt patching needs.
What is Infrared Asphalt Patching?
Infrared asphalt patching is a repair technique that utilizes infrared radiation to increase the malleability of your currently existing asphalt pavement surface. Asphalt is heated and reworked on site, then combined with new asphalt to resurface a damaged area. This is a perfect solution for a low-cost yet highly effective repair of roads, driveways, and walkways. It is easy, quick, and outperforms other methods of repair.
How does infrared asphalt patching work?
Infrared asphalt patching revolves around working with the existing, compromised asphalt that is in need of repair in tandem with new and compacted asphalt. The process includes:
- The treatment area is cleaned of debris and moisture, ensuring a perfect environment for the infrared process.
- An infrared pavement heater generates infrared radiation that softens the existing asphalt in the area that needs to be patched. The area is heated for 5-10 minutes, which can vary according to the time of year, outside temperature, amount of existing asphalt, and the amount of damage.
- After the area is heated, the malleable asphalt is raked while workers remove any loose, failed asphalt.
- A piece of equipment called an Infrared Reclaimer is stored on-site with new asphalt material prepared and heated for the new patch.
- A special rejuvenating mixture is added to the existing asphalt that has been heated, adding back in oils that had been lost through age and oxidation.
- New asphalt from the Reclaimer is added and mixed into the new patch. Workers grade the patch to the proper level and shape.
- After mixing and application of the new asphalt, the area is compacted with roller equipment or heavy plating to finish a seamless patch.
What are the benefits of infrared asphalt patching?
There are many benefits to infrared asphalt patching, including:
- Seamless result preventing water from getting into cracks
- No cutting, chopping, chiseling, or sawing of existing material
- Reuse of existing material making it a cost-effective solution
- Professional finish
- Applicable to residential and commercial environments
Infrared asphalt patching uses infrared rays that allow deep penetration asphalt repair and reclaiming without causing burning, scaling, or separation of the asphalt from the aggregate.
Infrared Asphalt Patching Outperforms Other Methods
Infrared asphalt patching outperforms other methods due to its simplicity and effectiveness. By recycling and reusing existing materials, the result is less expensive as well as more environmentally friendly by reducing waste. Furthermore, it reduces the cost and impact of increased fuel and labor required for manufacturing and transporting new asphalt in mass.
This method is also superior to complete road replacement as it is much less disruptive. It won't disrupt underground infrastructure like electricity, water, and internet and will be completed in a short period of time, allowing traffic to resume after about 30 minutes.
Does Infrared Asphalt Patching Fix Everything?
While infrared asphalt patching is a fantastic, immediate solution for pavement failure, it is not permanent. This is specifically the case if the damage is not just surface level but structural. If there is a structural problem underlying the pavement, the repair will likely fail again as the platform continues to degrade.
When to use Infrared Asphalt Patching
One of the best aspects of infrared asphalt patching is that it can be done all year round — from the intense heat of summer to the freezing cold of winter — this method of pavement repair is consistently reliable and always viable.
Asphalt repair costs normally shoot up during the winter season due to the increased amount of machinery and equipment required to keep materials at the correct temperature. Fortunately, infrared asphalt patching negates this entirely and is there for you when you need it at no additional charge.
Infrared Asphalt Patching is the Perfect Solution
When it comes to pavement management, infrared asphalt patching is by far the best solution out there. This method will save you time, money, and stress, and the experts at the Asphalt Doctors are your team of specialists that will get the job done. Check out our customer testimonials and contact us today for questions, advice, and support for all your asphalt needs.


-1
I have the following setup:
create table Test(id integer, itemID integer, title varchar(100) ,PRIMARY KEY (id, itemID));
insert into Test(id, itemID, title) values(1,678, "Hello");
insert into Test(id, itemID, title) values(1,679, "how");
insert into Test(id, itemID, title) values(1,680, "are");
insert into Test(id, itemID, title) values(2,692, "you");
insert into Test(id, itemID, title) values(2,693, "iam");
And I'm running this query:
Explain select * from Test where id IN (1,2,3) AND itemID IN (679,692);
In v8.0.12 I'm getting 6 in the Rows column. Is it a bug? Since there are only 5 rows.
In v8.0.21 I'm getting 5.
1
 - 2
 Please consider including everything that's needed to answer your question in the question itself. Once the link you have included goes stale, your question as is won't make sense. – mustaccio Sep 14 '20 at 19:06
1
That actually depends on which version of mysql you use
_URL_
mysql 8 estimates 6 rows
and mysql 5.7 and 5.6 think it must examine 5 rows
The definition of rows is
Estimate of rows to be examined
see _URL_
This means:
That it only gives the estimated number of rows, that MySQL believes it must examine from the examined table, to execute the query.
This is as the description already tells you only an estimated number.
if you have a high row count then there is some room for optimization. As lower rows count means faster queries
7
 - Can one know the source code for how it estimates? – Smart Manoj Sep 15 '20 at 2:26
 - In v8.0.21 returns 5 too – Smart Manoj Sep 15 '20 at 2:47
 - that depends not only on source code version version but also on operating system and compiler. – nbk Sep 15 '20 at 7:45
 - Can one see what are the rows to be examined? – Smart Manoj Sep 15 '20 at 13:40
 - Even approximation , how it returns 6 since there is only 5 rows. – Smart Manoj Sep 15 '20 at 13:41
Your Answer
By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy
Not the answer you're looking for? Browse other questions tagged or ask your own question.


Category:
What Is a Connection String?
Article Details
 - Written By: T.S. Adams
 - Edited By: M. C. Hughes
 - Last Modified Date: 06 July 2017
 - Copyright Protected:
 2003-2017
 Conjecture Corporation
 - Print this Article
Free Widgets for your Site/Blog
Astronauts have captured images inside the International Space Station that can be seen on Google Street View. more...
July 26 , 2006 : Andrea Yates was found not guilty of killing her five children by reason of insanity. more...
When accessing information from the Internet or any other network, a user must provide the computer with commands to indicating where and how to access the requisite data. Although the only step for the end-user is typing in a web address, within the computer, much more is going on. The connection string for the computer is a string — a list of characters and information — which provides the computer with parameters about accessing a specific piece of data.
Think of a connection string like a note containing the address of a particular restaurant along with information about a reservation as well as any other relevant information about the dining experience, such as table size and dress code. A typical connection string contains information such as the address of the server containing the information, whether the server containing the information operates using the Secure Socket Layer (SSL) standard, the specific type of SSL mode utilized, the specific database containing the requested information, user identification information, password information, and the connection timeout number.
Ad
Although the process is completely transparent to most end-users, the connection string information is transferred from the location where it is stored — whether on the specific computer or on another computer on the same network — to the driver file for the network card. A driver file is a file which tells the computer's operating system how to use a specific piece of hardware, such as the computer's graphics or network card. Once the driver file receives the file containing the connection string information, it can then use the information to establish a connection between the computer's Ethernet or other type of networking card and the remote server or database containing the desired information.
The location to specify a particular type of connection string varies depending on the software program used. For example, some database programs allows users to enter command-line connection strings (manual inputting of the specific connection string information). Alternatively, the user can store the connection string information in a specific file, automating the process of input. In either event, the actual process of using the connection string remains the same: the computer passes the data to the driver which utilizes the networking device(s) on the computer to connect with and retrieve the requested data. The only difference is whether the end-user wishes to use a static string — in a stored file — or enter the string on-the-fly, as might be required for a database with a frequently changing password.
Ad
You might also Like
Recommended
Discuss this Article
Post your comments
Post Anonymously
Login
username
password
forgot password?
Register
username
password
confirm
email


Question: What Is The Most Uncommon Color?
What color is burnt yellow?
Burnt Yellow color is primarily a color from Yellow color family.
It is a mixture of orange and yellow color.
Download Burnt Yellow color background image..
Do purple eyes exist?
What is a rare color?
1. Lapis Lazuli. Lapus Lazuli is a blue mineral so rare that in the Middle Ages and the Renaissance it was actually more valuable than gold. Today it is still a much sought-after stone prized for its intense blue hue.
What color attracts the human eye most?
What color is indigo?
What color is mulberry red?
The color mulberry is displayed on the right. This color is a representation of the color of mulberry jam or pie….Mulberry (color)MulberrysRGBB (r, g, b)(197, 75, 140)SourceCrayolaISCC–NBS descriptorStrong purplish redB: Normalized to [0–255] (byte) H: Normalized to [0–100] (hundred)4 more rows
What is the ugliest eye color?
hazelThe ugliest is hazel/ light brown that looks too yellow.
What is the most attractive color?
What does yellow mean sexually?
Yellow is a happy color-people who love it are naturally optimistic and hopeful. This makes them fun and easy to be with. They make warm, cheerful and intellectually stimulating lovers. Yellow lovers are also attractive and pleasant.
Is red better than blue?
One found that students taking tests did better on blue paper than on red, but Dr. Schwarz said the study used depressing blue and upbeat red. The Science study's conclusion that red makes people more cautious and detail-oriented coincides with Dr. Elliot's finding that people shown red test covers before I.Q.
Is there a color that nobody has seen?
What is the most underrated color?
Yellow: The World's Most Underappreciated Color — The Factory Times.
What color eyes are rarest?
What is the rarest favorite color?
What is the longest color?
What is the rarest color in the world?
Vantablack is known as the darkest man made pigment. The color, which absorbs almost 100 percent of visible light, was invented by Surrey Nanosystems for space exploration purposes. The special production process and unavailability of vantablack to the general public makes it the rarest color ever.
What is the least known color?
What race has GREY eyes?
What is the ugliest color?
What is America's favorite color?
BlueAmerica's Favorite Color Is Blue, According To House Beautiful's 2012 Color Report (PHOTOS) | HuffPost Life.
What does your eye color mean?