text:
What The Evidence Reveals About Prophylactic Ankle Bracing
- Doug Richie Jr. DPM FACFAS
- 3869 reads
- 1 comments
At last month's American Podiatric Medical Association (APMA) National Meeting in Seattle, I had the privilege of moderating a fascinating session titled "Controversies in Podiatric Sports Medicine," which attracted a standing room only crowd in one of the main lecture halls. Topics such as "When to Operate on a Jones Fracture" and "Management of Second MTP Pathologies in the Runner" stimulated lively debate amongst the panelists.
One topic I presented was the role of prophylactic ankle bracing in the adolescent athlete. Most of us are getting increased numbers of inquiries from concerned parents who are now hearing from coaches of youth athletic teams that ankle braces are required for all participants. This is becoming prominent in club volleyball where coaches are recommending ankle braces for all participants from age 8 through 20. Where did this notion come from and what is the justification?
While ankle sprains are the most common injury in athletics, the three sports with the most common incidence of sprains are soccer, volleyball and basketball. Club volleyball has far greater participation from female athletes and in comparison to their male counterparts, females have been documented in several studies to have a greater risk of ankle sprains.1
A Closer Look At The Literature On Bracing
The literature reveals at least eight studies on the role of preventive or prophylactic ankle bracing. However, only three of the published studies utilized a randomized, prospective comparative design (Level II evidence).1-3
The studies by Sitler and colleagues and Surve and co-workers both focused on male athletes only.2,3 Both showed a significant preventive effect of external braces to prevent an ankle sprain in both basketball and soccer. However, Surve and colleagues showed this preventive effect only in athletes with a previous history of sprains.
The more recent study by Frey and co-workers underscores some of the problems with interpretation of data and conclusions that may be un-justified.1 This study was the first to evaluate the role of preventive ankle bracing in high school volleyball players. Researchers randomly assigned five different types of ankle braces (three lace-up and two semi-rigid) to 957 athletes almost equally divided between males and females. Forty-two patients were in the control group. Note the large disparity between the size of the test group and control group.
Researchers followed the players for one entire season of high school volleyball and documented all ankle sprains.1 The results of the study were quite clear and emphatically spelled out: "Regardless of gender, there was no significant difference in the ability of each brace to prevent injury (p = 0.691). In addition, the braced group did not have any significant advantage in preventing injury when compared to the control group (p = 0.824)."
While you would think this is the end of the story, the authors dug deeper to find some differences among subgroups of the participants.1 Indeed, when looking at women who suffered a sprain, there was an increased incidence of sprain with the cloth lace-up braces in comparison to the semi-rigid braces. Also, there was a protective effect of semi-rigid braces among participants but only if they had never suffered a previous sprain.
Therefore, this study showed no protective benefit in the incidence of an ankle sprain with the use of ankle braces worn by high school volleyball players.3 Yet the authors " … conclude that ankle braces should be recommended for female players with or without a history of ankle sprains. When a brace is used, a rigid or semi-rigid device should be used."
The authors drew this erroneous conclusion by looking at smaller sub-groups of participants wearing certain types of braces. Furthermore, the findings contradict the previously published works of Sitler and co-workers, and Surve and colleagues.2,3
Making Recommendations To Athletes
There remain several unanswered questions today about the role of prophylactic ankle braces.
1. What is the benefit for previously injured athletes in comparison to healthy athletes with no previous history of ankle sprains?
2. Are there greater benefits for male versus female athletes?
3. Since there are vast differences in the design of ankle braces available on the market, which design is superior?
4. Are there differences in the effectiveness of ankle bracing depending upon the type of sport or the position the athlete plays?
5. Are there negative effects with ankle braces, particularly among young healthy athletes with no previous history of injury?
Since these questions are unanswered, particularly when it comes to healthy adolescent athletes, the podiatric physician can be confident telling an anxious parent that there is no science to back up the claim by a coach that wearing ankle braces will prevent a sprain in youth sports.
At the same time, there is growing evidence to suggest that certain types of ankle braces may prevent a sprain in certain sports, particularly in adults with a previous history of an ankle sprain.
Recently, I was pleased to be invited to be part of a multidisciplinary panel of experts tasked by the National Athletic Trainers Association to develop specific guidelines for the prevention and treatment of ankle sprains. This much needed project will review all scientific evidence on this subject and make specific recommendations for the clinician and athlete. This will be a year-long endeavor and I hope to provide updates in this blog over the next 12 months.
1. Frey C, Feder KS, Sleight J. Prophylactic ankle brace use in high school volleyball players. Foot Ankle Int 2010; 31(4):296-300.
2. Sitler MR, Horodyski M. Effectiveness of prophylactic ankle stabilizers of prevention of ankle injuries. Sports Med 1995; 20(1):53-7.
3. Surve I, Schwellnus MP, Noakes T, Lombard C. A fivefold reduction in the incidence of recurrent ankle sprains in soccer players using the sport-stirrup orthosis. Am J Sports Med 1994; 22(5):604-605.


text:
One of the most popular board/tabletop games you can buy is Carcassonne. In Carcassonne the player places down tiles to create cities, roads and farmland; then places one of their own pieces/meeples to score points. It's a pretty simple idea which in turn creates some tactical gameplay methods as the player's try to score the most points. I like Carcassonne, but not as much as I love Taluva.
Taluva is very similar to Carcassonne in that it involves tile and piece placement, but it is different in several key aspects. In Taluva the player is not building castles, roads, or farmland; but is instead building an island. The pieces called volcano tiles are three-pointed star shapes, each one having three types of land on it. Some have more than one of the same kind, others have three different land types. The only thing that is common about the tiles (other than their shapes) is that each one has a volcano on them. These volcano places cannot have pieces placed on them, but do cause volcanic eruptions which means that the tiles can be placed on top of each other, turning the land from 2D into 3D, thus creating hills which can then turn into mountains.
Upon placing tiles, players can then place their pieces onto their tiles. Players have 3 different types of pieces:
To begin with, players can only build huts. These can be placed onto a tile they have just placed, or alternatively, players can expand their already built settlements by adding more huts. The benefit of this is so that they can build Temples which require a settlement branching across three areas of land. At the end of the game, whoever has built the most temples wins. There is though another side to this, as to build more temples, the player will need to create separate settlements, as there can only be one temple in each settlement. One benefit to building the temple though is that it can prevent volcanic eruptions.
When a volcanic eruption is caused by a player, they can use it as a way of destroying another players settlement. So when they place a tile, it can wipe out huts. Volcanic eruptions though do have rules to follow:
- They can't wipe out an entire settlement. If placing a tile would cause this; the player wouldn't be allowed to do that move. At least one space of a settlement must survive.
- Eruptions cannot destroy Temples or Towers.
Placing Temples or Towers can therefore be a great way of preventing large-scale damage to player's settlements as it would prevent other players from using volcanic eruptions. Therefore, opposing players would need to consider using eruptions in locations where players may be on the verge of placing a Temple or Tower.
For a player to place a Tower, they need to place it next to a settlement of any size, doesn't need to follow the same rules as Temples. Towers though do need to be placed on a level 3 tile; so it can take time to build them as the land may need plenty of eruptions to allow a third level of tile placement. Once this is done however, a Tower can then be placed next to a settlement, even if there is a mega cliff from the tower down to the next hut.
Once all the tiles have been placed, it comes down to the player who has placed the most Temples. Whoever has achieved this is the winner; if there is a tie however, it comes down to who has placed the most Towers. If there is still a tie for first after that, then the player who has placed the most huts wins. There is though another way to win; because if one player has placed all of two of their pieces:
- All Huts and all Temples
- All Temples and all Towers
- All Towers and all Huts
Then that player wins the game automatically; even if there are still tiles to be placed.
Taluva is a very easy game just to pick up and play, and is not all that long either. It can be tactical, be played both offensively and defensively and it can be fun just to destroy another players civilization with the simple act of causing a volcanic eruption. It's beautifully designed and crafted, and it's fun just to watch how the land starts off flat before becoming very hilly and mountainous. Altogether; Taluva is a very fun game and also one of my favourite Board Games.

source: openbmb/Ultra-FineWeb


Take the 2-minute tour ×
I designed a kernel function (to be used within SVM) which has the expression $tr(AB)$ in it. For efficient implementation of this, I was wondering if I could write $tr(AB)$ as an inner product: $\phi(A)^T \phi(B)$? What is the function $\phi()$?
share|improve this question
I'm not sure I understand your question (it would help if you eliminated or explained your jargon), but the obvious optimization is that you don't explicitly need to compute AB: tr(AB) is the sum of A_{ij}*B_{ji} over all pairs i,j. You can do this with a single pass over your matrices. – Darsh Ranjan Jan 14 '10 at 9:25
_USER_ you beat me by 3 minutes! I can explain some of the terminology. Imagine you have data in $\mathbb{R}^d$ (here it seems to be in $\mathbb{R}^{d\times d}$??) but want to work with it in $\mathbb{R}^D$, which you can accomplish by passing everything through a mapping $\Phi$. If $D \gg d$, this can be expensive. But in some cases your algorithm need only compute inner products $\langle \Phi(a), \Phi(b)\rangle$, in which case there may be a functin $k(\cdot,\cdot)$ which computes the same thing but with much less work than the explicit mapping. this is called the 'kernel trick'. – Matus Telgarsky Jan 14 '10 at 9:34
Note that you don't really need the explicit mapping $\phi$. What you want is a kernel $k(A, B)$ which has the property that $k(A, B) = \phi(A)^T \phi(B)$. Generally, you compute the kernel directly, instead of calculating the mapping and computing the dot product -- that's why it's called kernel 'trick'. In your case, it seems you want the kernel to be $k(A, B) = tr(AB)$. So it seems you want to know how to compute the trace efficiently, rather than what the mapping is. – user3035 Jan 14 '10 at 10:02
The non-efficiency-related part of this question is basic linear algebra: tr(AB) is an inner product on the space of nxn matrices and so you can find isometric isomorphisms from M_{nxn} to R^{n^2}. Any of these will do for the map phi. I do not know whether or not any of these will improve the efficiency in calculating the trace, but I doubt it. – Andrew Stacey Jan 14 '10 at 10:20
Sorry for being ambiguous. I know that I can implement $k(A,B)$ directly and avoid needing $\phi()$. But it would be nice if I have $\phi()$ because then, I can use a regular linear SVM on my $\phi()$ mapped vectors. This is much simpler and faster compared to implementing $k(A,B)$ and plugging it into SVM. – andinos Jan 14 '10 at 21:39
add comment
2 Answers
up vote 0 down vote accepted
Matus is right. But if the matrices $A$, and $B$ have certain properties like being symmetric, or diagonal, then simply just vectorizing the matrices and taking their inner product would be equal to the $tr(AB)$.
share|improve this answer
add comment
If $A,B$ are arbitrary $n\times n$ matrices, by definition of trace, $\textrm{tr}(AB) = \sum_{i,j} A_{ij}B_{ji}$. This is $O(n^2)$, but just reading the entries of $A$ is $\Omega(n^2)$. Without any special structure on $A,B$, you probably can't do better.
If $A,B$ are (column) vectors, you probably mean the outer product $\textrm{tr}(AB^T) = \sum_i A_i B_i$.
Edit: andinos clarified to say he wants to know about the implicit mapping of the kernel function. Well I have bad news: It does not exist!! The proof works by showing there exist matrices $A,B$ such that the corresponding kernel matrix is not positive semi-definite. To finish, apply Mercer's theorem.
In particular, set $A = \left(\begin{array}{cc}1 & 1 \\\\ -1 & 1\end{array}\right)$ and $B = A^T = \left(\begin{array}{cc}1 & -1 \\\\ 1 & 1\end{array}\right)$. Therefore $\textrm{tr}(AB) = \textrm{tr}(AA^T) = 4$, and $\textrm{tr}(BA)$ is identical. On the other hand, $\textrm{tr}(AA) = \textrm{tr}(BB) = 0$. therefore, the kernel matrix $K$ is $\left(\begin{array}{cc}0 & 4 \\\\ 4 & 0\end{array}\right)$. Set $x = \left(\begin{array}{c} 1 \\\\ -1\end{array}\right)$, and observe that $x^T K x = -8 < 0$, and therefore $K$ is not PSD, so the kernel $k(A,B) = \textrm{tr}(AB)$ is not PSD.
On the other hand! If you had instead defined your kernel to be $k'(A,B) = \textrm{tr}(AB^T)$, notice that $k'(A,B) = \sum_{i,j}A_{ij}B_{ij} = \Phi(A)^T\Phi(B)$ where $\Phi$ simply takes its input matrix and outputs it as a column vector.
share|improve this answer
add comment
Your Answer


text:
Chapter 8. The pillars of good unit tests
This chapter covers
- Writing trustworthy tests
- Writing maintainable tests
- Writing readable tests
- Exploring naming conventions for unit tests
No matter how you organize your tests, or how many you have, they're worth very little if you can't trust them, maintain them,
or read them. The tests that you write should have three properties that together make them good:
- Trustworthiness —Developers will want to run trustworthy tests, and they'll accept the test results with confidence. Trustworthy tests don't
have bugs, and they test the right things.
- Maintainability —Unmaintainable tests are nightmares because they can ruin project schedules, or they may be sidelined when the project is put on a more...


text:
Analytical frameworks for electricity security
Given the salient role that electricity plays in modern economies, the task of ensuring electricity security is a top priority for policy makers. The process is an extensive and complicated one that involves careful consideration of costs and benefits. This document summarises the steps involved in developing a framework for electricity security. It defines outages, describes approaches to assessing how much they cost, and outlines the institutional responsibilities to prevent and/or react to them. In doing so, it lays out the existing approaches available to policy makers and the challenges they face in creating electricity security frameworks, including clarifying the costs and benefits, establishing reliability planning structures, and assigning institutional responsibility for various tasks. It then previews how policy makers and other stakeholders need to adapt frameworks for electricity security in the face of major trends affecting the sector – namely, the clean energy transition, cyberthreats and climate change.


text:
(also chiefly North American chamomile)
An aromatic European plant of the daisy family, with white and yellow daisy-like flowers.
- The perennial sweet (or Roman) camomile (Chamaemelum nobile (or Anthemis nobilis), family Compositae), traditionally used for lawns and herbal medicine, the annual German camomile (Matricaria recutita), used medicinally, and the yellow-flowered dyer's camomile (Anthemis tinctoria), used to produce a yellow-brown dye.
- The herbs chamomile, valerian, yarrow, nettle, comfrey and dandelion can help make a success of your compost heap.
- Medium-sized plants that take well to containers are beet, chamomile with its delicate white and yellow flowers, and everyone's favorite-tomatoes!
- Almost everyone is familiar with the herb chamomile and its yellow and white daisy-like flowers that are used to make the popular tea.
For editors and proofreaders
Line breaks: camo|mile
Definition of camomile in:
What do you find interesting about this word or phrase?
Comments that don't adhere to our Community Guidelines may be moderated or removed.


text:
Skip to Main Content
How can human infants gradually socialize through interaction with their caregivers? This paper presents a learning mechanism that incrementally acquires social actions by finding and reproducing the contingency in interaction with a caregiver. A contingency measure based on transfer entropy is used to select the appropriate pairs of variables to be associated to acquire social actions from the set of all possible pairs. Joint attention behavior is tested to examine the development of social actions caused by responding to changes in caregiver behavior due to reproducing the found contingency. The results of computer simulations of human-robot interaction indicate that a robot acquires a series of actions related to joint attention such as gaze following and alternation in an order that almost matches the infant development of joint attention found in developmental psychology. The difference in the order between them is discussed based on the analysis of robot behavior, and then future issues are given.
Autonomous Mental Development, IEEE Transactions on (Volume:2, Issue: 1 )
Date of Publication: March 2010

source: HuggingFaceFW/fineweb-edu


In many instances, money that is passed down from one generation to the next is taxed heavily by the federal government, which can feel like an unfair burden for heirs. However, there is a way around this in the world of estate planning because of something called the generation-skipping transfer tax.
This article will explore what the generation-skipping tax is and how it works in the estate planning process.
What Is Generation-Skipping Tax?
A generation-skipping transfer (GST) is a legal way to transfer money or property to someone who is two generations below the grantor. It can be an inheritance or a gift, and it is a way to avoid double estate taxation when the grantor passes away.
Why Congress Approved the GST Exemption
The first version of this tax law was introduced in Congress in 1976 "to remedy the perceived abuse of using a trust to benefit several generations while avoiding federal estate tax during the term of the trust." Before this law, wealthy people could bequeath money to their grandchildren without paying federal taxes.
A revised generation-skipping transfer tax law was enacted in 1986, and now, it is established that a tax is only due when someone receives an amount in excess of the GST estate tax credit. Amounts in excess are assessed at a flat rate. Overall, the purpose of this exemption is to avoid being taxed once when money passes from grandparent to parent and then a second time later from parent to grandchild.
How the Generation-Skipping Tax Exemption Works
There are often changes to the exemption amounts, tax rate, and allocations for GSTT. Direct skips transfer directly to a skip person, such as when a grandparent writes a check to a grandchild. Direct skips can also happen upon death. There are exceptions for grandchildren whose parents have died before them, as the tax exemption does not apply to them since money is not skipping a generation.
GSTT Considerations for Estate Planning
Careful estate planning is necessary to help you make the most of your generation-skipping tax exemption and be able to pass the most amount of money possible to your heirs. However, it's important to note that a skip person does not necessarily have to be a grandchild and that any non-spousal family member who is at least 37.5 years younger than the transfer can be the recipient.
Setting Up a Generation-Skipping Transfer Trust
One option to consider is to set up a generation-skipping transfer trust to reduce the effects of the tax with a generational transfer. You can choose to put your assets in a trust, which can serve as the "skip person." This trust is a legally binding agreement and wealth-preservation tool that specifies assets to be passed down to your grandchildren rather than children, meaning that your children never have access to the assets.
Navigating the complexities of the GSTT is a challenge and best left to legal professionals who understand this tax law well and can make it work in your best interests. Contact Alatsas Law Firm for your estate planning needs in NYC to ask questions about the generation-skipping tax and the best way to set up a will or trust in your name.
We are standing by and ready to assist you in every way we can, so contact us today at _PHONE_.
Be the first to comment!
Post a Comment


You'll be pleased to know that todaythe 7th July is World Chocolate Day (as if we needed an excuse)! Although we live in a society that encourages and promotes healthy eating, which is really good for all of us, it's also great to know that we can indulge in celebration of World Chocolate Day!
Food and Drink on Female First
Food and Drink on Female First
But there's so much more to chocolate than just its deliciousness. Here are some of the most interesting facts about chocolate for you to share on World Chocolate Day.
There's more than one chocolate celebration day! Make sure you put National Bittersweet Chocolate with Almonds Day in your calendar for the 7th November, along with plenty more.
A farmer can wait four to five years for a cacao tree to grow its first ever beans so that chocolate can be made.
The chocolate chip cookie was created by accident in 1930 by Ruth Wakefield. She was out of baker's chocolate and used broken pieces of a chocolate bar instead, expecting it to absorb and make a chocolate cookie. When it didn't, she sold the chocolate chip cookie idea to Nestle for a lifetime supply of chocolate!
The river of chocolate featured in the original Willy Wonka and The Chocolate Factory film was real! It was made by mixing 15,000 gallons of water with chocolate and cream.
White chocolate isn't technically a chocolate because it doesn't contain any cocoa solids or chocolate liquor. That means it doesn't count towards your daily chocolate allowance!
Just one piece of chocolate gives your body enough energy to run 500 feet
The world's largest chocolate bar was created by Thortons to celebrate its 100th birthday, and it weighed an incredible 5,792.50kg!
Chocolate can actually kill you! But you would have to eat about 22lb of the stuff all at once.
The mere smell of chocolate encourages theta brain waves, which make you feel relaxed.
If we laid all the Toblerone's we ate every year end to end, they would reach 62,000km – longer than the circumference of the Earth.
Kylie Minogue enjoys dark chocolate every day. Be like Kylie, eat plenty of dark chocolate!
The blood used in the dramatic and iconic shower scene in Psycho was chocolate syrup.
Chocolate gets your heart beating faster than if you were kissing.
At one point, Nazis were plotting to kill Churchill with an exploding chocolate bar.
The first ever chocolate bar was invented in 1847 by Joseph Fry.
Brussels Airport sells the most amount of chocolate in the world – more than 800 tons of chocolate every year!
Did you know that chocolate actually means "food of the gods"? Well, technically it's the scientific name for the tree that chocolate comes from, Theobroma cacao.
Chocolate helped to invent the microwave! It is said that Percy L. Spencer, an engineer, was walking through a radar test room with a chocolate bar in his pocket. When he got close to a running magnetron, the chocolate melted. He then went on to experiment with 'microwaving' kernels of corn and eggs!
When you eat chocolate, you're also eating insects! One chocolate bar contains approximately 8 insect parts due to the way the beans are processed. Apparently anything over 60 insect parts per 100gms is unsafe, so you can carry on with the chocolate munching.
Every second, 100 pounds of chocolate are eaten by Americans collectively.
And there you have it. Chocolate really is a special source of sustenance for a variety of different reasons. Not only is it irresistible but it's interesting too!
Grange Hotels wish you a Happy World Chocolate Day! Treat yourself!
Tagged in


text:
The UISlider control offers a way to continuously get values from the user within a range of set values. In the Interface Builder library of controls, there is only a horizontal version of the slider, with no obvious way to change its orientation. In this blog, we'll learn how to rotate the slider control to a vertical orientation. So let's get started!
Start Xcode, choose "Create a new Xcode project," and select the Single View Application template. Click Next, name the project VerticalSlider, and choose options as shown:
Click Next, choose a location to save the project, and click Create.
Open ViewController.xib, and place a slider control on the view. Adjust the Minimum, Maximum, and Current values to 0, 360, and 0 as shown below. Also drag a UILabel control to the view, stretch it out and center it, and set the text to 44 points. Change the text in the label to "0", and center the text in the label.
Now open ViewController.h and make changes as shown here:
_USER_ ViewController : UIViewController
_USER_ (nonatomic, strong) IBOutlet UISlider *slider;
_USER_ (nonatomic, strong) IBOutlet UILabel *display;
- (IBAction)sliderValueChanged:(UISlider *)sender;
We've added outlet properties for both the slider and the label. Normally, we would not add an outlet for the slider, but in this application we want to change some properties of the slider object (make it vertical): we need an outlet to do that.
We've also added a method to detect a change in the value of the slider control. Reopen ViewController.xib, and wire up these properties and methods as shown here:
Make sure that the Value Changed event is selected in the slider.
Now open ViewController.m and make these changes to the file:
_USER_ ViewController ()
float r = d * (M_PI / 180);
- (IBAction)sliderValueChanged:(UISlider *)sender
self.display.text = [NSString stringWithFormat:@"%d", (int)sender.value];
CGAffineTransform labelRotation = CGAffineTransformIdentity;
labelRotation = CGAffineTransformRotate(labelRotation, [self degrees2radians:sender.value]);
self.display.transform = labelRotation;
// Do any additional setup after loading the view, typically from a nib.
CGAffineTransform sliderRotation = CGAffineTransformIdentity;
sliderRotation = CGAffineTransformRotate(sliderRotation, -(M_PI / 2));
self.slider.transform = sliderRotation;
// Release any retained subviews of the main view.
return (interfaceOrientation!= UIInterfaceOrientationPortraitUpsideDown);
After synthesizing the properties, we define a helper method, degrees2radians:, that converts a floating point number of degrees to radian measure. As humans, we tend to think of angles in degrees, but radian measure is used exclusively in most (if not all) graphics libraries. The conversion is simple: 360 degrees == 2π radians, so 1 radian == 2π / 360 degrees. Factoring out the 2 gives us π / 180. We can therefore convert degrees to radians by multiplying the number of degrees with π / 180.
Look next at viewDidLoad: (we'll come back to sliderValueChanged: in a moment). After calling through to super, we apply an affine transform to the slider's underlying view. This is possible because a UISlider (like all controls) is a descendent of UIView: UISlider ← UIControl ← UIView. As we already know, views can be transformed in a number of ways: they can be moved, scaled, and rotated.
First, we get a transform matrix by setting a local variable to the identity matrix. We then alter this matrix by applying a rotation transform (CGAffineTransformRotate) to it through -(π / 2) radians (-90 degrees). This value is then assigned to the transform property of the slider, which rotates the slider by 90 degrees in the counterclockwise direction. Higher values on the slider will therefore be "up."
The default center of rotation for a UIView object is the center of the view, calculated as the width of the view / 2 and the height of the view / 2. This transform therefore performs rotation about the center of the control. (If we want to rotate about another point, we must set the rotation point on the view's layer.)
In sliderValueChanged:, we set the text of the label to the value of the slider as an NSString, formatted with the slider's value cast to the integer type. We then apply a rotational transform to the label, converting the slider's value (degrees) into radian measure.
Run the application, and note that both the text and angle of the label change as the slider thumb is moved up and down:
(Of course, the slider itself is oriented vertically, which is the whole point of the blog!)
There is nothing that says the orientation of any control can't be at an arbitrary angle, for example, we could have oriented the slider at 45 degrees:
But such orientations are confusing to the user: changing in two directions at once (both horizontally and vertically) implies a change in two independent variables. Unless there is a very good reason to do this, keep the slider in either the default horizontal orientation, or the


text:
Blog reader David Briggs has made a brilliant contribution to this idea. He discovered a website called couleur.org by Philippe Colantoni that allows us to actually visualize a color scheme in three dimensions.
What you're looking at here is a Dinotopia painting called "Palace in the Clouds" paired with a representation of the color scheme expressed in three dimensions.
The little floating blobs represent the amounts of each component color of the composition. On the left you see the hexagonal color wheel in pastel tones. Floating above that, white and blue blobs indicate the large areas of white and blue areas of the picture.
The diagram on the right shows the same diagram as viewed from the side. The vertical dimension indicates the value—or the level of lightness or darkness. The yellow and brown colors show up as little beads floating to the right of the red center line.
Here's another painting with its color scheme chart. You'll notice that most of the colors are fairly grayed down, which places them near the center of the axes. The light warm colors show up as a sprinkling of dots in the yellow-orange region at the upper right. The diagram on the right shows dark dots clustered at the bottom, greenish on the left of the red line, and brownish to the right.
My thanks to Mr. Colantoni and and Mr. Briggs for your generosity in sharing your discoveries. Don't miss this coming Sunday, where we'll continue our exploration of color wheel masking.
Tomorrow: Two Values


text:
Combat shotguns, shotguns modified slightly to increase their suitability for use in combat, have been popular in the United States, both with law enforcement and with the US military (particularly the US Marine Corps), since the 19th Century. The earliest shotguns specifically designed for combat were the trench guns or trench shotguns issued in World War I.
The most common type of shotguns used for this purpose is the manually-operated, slide-action/pump-action type, because it is less prone to malfunction, particularly when dirty, than semi-automatic designs. Combat shotguns typically have much shorter barrels than shotguns for hunting and usually, though not always, have magazines of modified design to hold more than the three to five shots normal with sporting or hunting shotguns. Most combat shotguns have tubular magazines to hold the cartridges, mounted underneath the barrel, identical to those of hunting shotguns except for being longer to hold more ammunition, though some recent designs have detachable box magazines.
The shotgun has several advantages over a normal gun. It has enormous stopping power at short range. The wide spread of shot produced by the gun makes it easy to aim and to be used by inexperienced marksmen. Also, shot is less likely to penetrate walls and hit bystanders.


text:
Growing Native Plants
Goodenia humilis is part of the Goodeniaceae family, which includes about 11 genera and 400 species. There are 181 species in the genus Goodenia, 176 of which are endemic to Australia. Goodenia humilis occurs naturally in areas of suitable habitat in New South Wales, Victoria, Tasmania and South Australia. It is commonly known as Swamp Goodenia, is an attractive, carpeting ground cover.
The natural habitat of Goodenia humilis is in or around swamps or areas with wet or poorly drained soils. Although tolerant of dry conditions the plant shows little growth during these periods and is most responsive when growing in areas that provide constant damp conditions.
Goodenia humilis is a dwarf, stoloniferous, perennial herb with softly hairy leaves and stems that can grow up to 20 cm high. Stems usually grow to around 9 cm in height and will spread to as much as 10 cm from the base of the plant. Rosettes of thick, linear, dentate or entire leaves to 10 cm long and 8 mm wide spread from this base. Plantlets form from the base and put out roots, allowing spread and independence in new plant growth. Flowers are arranged in racemes up the stem axis. Scapes (floral stems) are most usually zig-zag, and this, combined with the dense, soft indumentum (fine hairs) distinguish Goodenia humilis from other species in the genus. Fruits are ovoid, 30-35 mm long and seeds are yellowish brown.
Abundant bright yellow flowers sit above the foliage in spring and summer (November to March) with peak flowering occurring January to February. Swamp Goodenia is a hardy groundcover for moist or poorly drained areas. Potting or containment by rocks is an appropriate planting method where spread needs to be controlled and the plant is often used successfully in rock gardens. It thrives along drainage lines or around pools and will grow in full or part sun.
Propagation of Goodenia humilis is fairly easy and can be achieved by the practice of root division. By dividing plantlets from a main plant the species will produce suckers and spread. The plant naturally produces linear branchlets, which allow for simple division for propagation. Once split through root division the plants should be potted in well-drained moist mix and should ready to plant out in around four weeks. Propagation by seed is also possible but division is the preferred method due to its simplicity.
Genetic diversity of wild populations of Goodenia humilis would be supported by the use of propagation from seed, although in most gardens this would not be a necessary requirement.
Trials for cultivation of Goodenia species have been minimal at this point, although ease of cultivation and the combination of attractive growth habit, flowers and foliage, makes the genus and this species in particular, an ideal candidate for cultivation.
Derivation of the name:
Goodenia - named after Samuel Goodenough (_PHONE_) a botanist whos main interest was in sedges and seaweeds, and whose accreditation included being Bishop of Carlisle, Vice-President of the Royal Society of London and treasurer of the Linnaean Society.
humilis - means low or low growing.
Text by Jemma Walshe (2004 Student Botanical Intern)
Australias Virtual Herbarium _URL_
Carolin, R.C., Rajput, M.T.M. & Morrison, D. (1992), In: George, A.S. (ed) "Brunoniaceae, Goodeniaceae, Flora of Australia", Vol. 35. Australian Government Publishing Service, Canberra.


text:
Fascinating languages such as the Hebrew, Ladino and Yiddish are written with the help of free Hebrew fonts. The Hebrew language has rich history and is used as font for writing the Aramaic language which is extinct.
The Hebrew font is different and written from right to left. The letters of the Hebrew is represented as the consonants. Three or more letters such as the YOD, VAV and ALEF, are used for representing long vowels. But the short vowels are never marked but they are allowed to be marked by using the small didactic marks known as the points. 'Cantillation marks' which is more small diacritic marks are used for liturgical Hebrew texts in order to indicate musical motif and stress.
It is not necessary to pay more than hundred dollars to buy a Hebrew word processor because the world's best processor may exist already in your computer!
Want to download free Hebrew Fonts? Here are the installation instructions for fonts:
- Download the Hebrew font file to your PC.
- Unzip the compressed font ZIP file with your preferred zip utility.
- Go to the "Start" button, choose "Settings -> Control Panel".
- Click the "Fonts" icon. Drag the font that you unzipped into the Fonts folder on your computer. If necessary, restart your computer. That's it your font is ready to use!
Here are some Free Hebrew Fonts for download:
BibleWorks Fonts by BibleWorks LLC (download)
Ezra SIL by SIL International (download)
Baznat by David Kerkhoff (download)
HABBAKUK by Dry Heaves (download)
Lost City by Dry Heaves (download)


text:
The 34 stained glass windows in the Sanctuary of the First Presbyterian Church offer vivid and colorful arrays of light at different times of day. The windows on the west side of the church, pictured here, illuminate the interior in the afternoons.
Photo by Jason Emerson.
Skaneateles Skaneateles residents passing down East Genesee Street soon will notice boarded-up window frames have replaced the beautiful stained-glass windows in the top story, front façade of the First Presbyterian Church. Don't worry — the church is not moving, or going defunct, but rather nearing the completion of a 20-year project to restore all the stained glass windows to a structurally sound state.
The windows, as beautiful and as priceless as they are, are more than just decoration, however. They also convey messages, honor families, share church history and imbue the physical structure with the harmony and philosophy of the religious congregation.
"The beauty of these stained glass windows is that they preserve the ecumenical diversity of this congregation in this community. Not only in the names [memorialized on the windows], but in the desire to find a way to work together building on the core beliefs of each denomination and individual," said Rev. Dr. Craig Lindsey, pastor of the First Presbyterian Church. "The abstract design of the windows at First Presbyterian Church emphasizes that faith is not always rational, or explicit, but requires that the witness interpret and apply what they have seen."
The First Presbyterian Church of Skaneateles is the oldest congregation in the village. It was organized July 20, 1801, as the Skaneateles Religious Society, with dedication of the first building on March 1, 1809. Due to a growing congregation, the Presbyterians built a new church in 1831 at the present church site on East Genesee Street. The previous church at 21 State St. now houses the Skaneateles First Baptist Church.
In 1891, the church was discovered to be structurally unsound and subsequently demolished. The reconstructed church — what is the current building — was built in 1892.
A major part of the funding for the new building was given by Thomas Hall, a wealthy New York City man who had grown up in Skaneateles, in memory of his mother. His financial contributions were given on condition that the money would be used to "give to the glory of God," and not be used for either music or artwork — such as stained glass windows.


text:
- Reviews (0)
Phenergan Elix 5ml 120ml
Phenergan Elix 5ml 120ml is used to treat the following conditions: For short term use: to treat adults with difficulty sleeping (insomnia) To treat allergic conditions such as hay fever or rashes (like nettle rash or hives) To stop you feeling sick (nausea) or being sick (vomiting) such as travel sickness.
Phenergan Elix 5ml 120ml contains a medicine called promethazine hydrochloride. This belongs to a group of medicines called phenothiazines. It works by blocking a natural substance (histamine) that your body makes during an allergic reaction. It also works directly on the brain to help you feel more relaxed.
Promethazine has a variety of medical uses, including:
Sedation, nausea and vomiting association with anesthesia or chemotherapy. It is commonly used postoperatively as an antiemetic. The antiemetic activity increases with increased dosing; however, side effects also increase, which often limits maximal dosing.
For moderate to severe morning sickness and hyperemesis gravidarum: In the UK, promethazine is drug of first choice, being preferred as an older drug with which there is a greater experience of use in pregnancy (second in line being metoclopramide or prochlorperazine).
For allergies such as hay fever and together with other medications in anaphylaxis, to aid with symptoms of the common cold, motion sickness, hemolytic disease of the newborn, anxiety before surgery.
It is used to treat allergy symptoms such as itching, runny nose, sneezing, itchy or watery eyes, hives, and itchy skin rashes.
Patients using Phenergan Elix 5ml 120ml may at times experience drowsiness, impaired reactions, dizziness, and photosensitivity (sensitivoty to light). If you experience any of these symptoms for a long period of time, consult your doctor immediately.
When Not To Use


Whirlpool Water Heater
Find The Best Deals on Whirlpool Water Heaters
Whirlpool Electric Water Heater
Whirlpool is world's largest manufacturer of home appliances in the world and it owns many brands including Maytag, KitchenAid, Amana, Jenn-Air, Inglis, Gladiator GarageWorks, Estate, Brastemp, Bauknecht etc. The company is US based and has been around more than 100yrs.
Whirlpool manufactures a wide range of home appliances, including water heaters. They manufacture both gas based and electric water heaters. While most people are moving towards solar based water heaters, it is not always feasible to have alternate energy source working in certain environment conditions when the climate is very cold and the sunshine is limited. This makes total sole reliance on solar water heating system impractical. In such scenarios, energy efficient electric water heaters are a good solution.
Whirlpool is known for its Energy smart electric water heaters. Whirlpool electric water heaters are available in various size and capacities and types to meet your requirements.
Some of the features of whirlpool electric water heater include copper based heating elements for better efficiency, anti-corrosion protection, and tank completed with ceramic and non-CFC polyurethane foam to minimize heat loss. Some of the advanced models include self-diagnostic electric control, electronic thermostat and energy smart module. Let us have a look at the key features of Whirlpool, which are seen in all the water heater models:
1. Element of electric water heater: The element consists of an inner wire surrounded by filler material enclosed in a sheath of copper or stainless steel. Different types of materials and wattages are used in elements to meet the specific heating requirements. The tanks are coated with ceramic to prevent corrosion.
2. Energy Smart Module: Whirlpool water heaters come with advanced Energy Smart Module user interface, which allows users to adjust the temperature and operating mode of water heater and to view diagnostic information without removing water heater components. This advanced feature maximizes heating of water and at the same time reduces energy costs. It also comes with SmartPort located at the top of the water heater, which can be used for future utility demand response and other thermostat applications.
3. The Energy Smart electric water heaters have three operating modesStandard, vacation and Energy Smart. In the Standard mode, water is heated at the set level, whereas in the Energy Smart mode, the controls automatically adjust temperature of hot water. The Vacation mode is an easy way to save energy and reduce cost while you are away from home for a longer period.
4. Durability: Choosing a Whirlpool water heater means plenty of hot water for many years. Manufactured by good quality materials and advanced technology, Whirlpool appliances are durable and reliable.
5. Easy to install and maintain: Whirlpool water heaters are installed by a professional technician or you can also install it by yourself by simple DIY steps.
6. Warranty: All the Whirlpool water heaters are backed by company's warranty, hence reassuring you replacement in case of damaged product.
Whirlpool electric water heaters are cost efficient and energy saving appliances that give maximum outcome in a cold climate or when the sunshine is limited.


Operational FAQs
Why is my process hanging when I try to start it in the background?
The first question that needs to be asked is whether or not you have previously run a multi-node cluster using the same data directory. If you haven't, then you should check out our Cluster Setup Troubleshooting docs. If you have previously started and stopped a multi-node cluster and are now trying to bring it back up, you're in the right place.
In order to keep your data consistent, CockroachDB only works when at least a majority of its nodes are running. This means that if only one node of a three node cluster is running, that one node will not be able to do anything. The --background flag of cockroach start causes the start command to wait until the node has fully initialized and is able to start serving queries.
Together, these two facts mean that the --background flag will cause cockroach start to hang until a majority of nodes are running. In order to restart your cluster, you should either use multiple terminals so that you can start multiple nodes at once or start each node in the background using your shell's functionality (e.g., cockroach start &) instead of the --background flag.
Why is memory usage increasing despite lack of traffic?
Like most databases, CockroachDB caches the most recently accessed data in memory so that it can provide faster reads, and its periodic writes of timeseries data cause that cache size to increase until it hits its configured limit. For information about manually controlling the cache size, see Recommended Production Settings.
Why is disk usage increasing despite lack of writes?
The timeseries data used to power the graphs in the Admin UI is stored within the cluster and accumulates for 30 days before it starts getting truncated. As a result, for the first 30 days or so of a cluster's life, you will see a steady increase in disk usage and the number of ranges even if you aren't writing data to the cluster yourself.
Can I reduce or disable the storage of timeseries data?
Yes. By default, CockroachDB stores timeseries data for the last 30 days for display in the Admin UI, but you can reduce the interval for timeseries storage or disable timeseries storage entirely.
After reducing or disabling timeseries storage, it can take up to 24 hours for timeseries data to be deleted and for the change to be reflected in Admin UI metrics.
Reduce the interval for timeseries storage
To reduce the interval for storage of timeseries data, change the timeseries.storage.resolution_10s.ttl cluster setting to an INTERVAL value less than 720h0m0s (30 days). For example, to store timeseries data for the last 15 days, run the following SET CLUSTER SETTING command:
> SET CLUSTER SETTING timeseries.storage.resolution_10s.ttl = '360h0m0s';
> SHOW CLUSTER SETTING timeseries.storage.resolution_10s.ttl;
(1 row)
Disable timeseries storage entirely
Disabling timeseries storage is recommended only if you exclusively use a third-party tool such as Prometheus for timeseries monitoring. Prometheus and other such tools do not rely on CockroachDB-stored timeseries data; instead, they ingest metrics exported by CockroachDB from memory and then store the data themselves.
To disable the storage of timeseries data entirely, run the following command:
> SET CLUSTER SETTING timeseries.storage.enabled = false;
> SHOW CLUSTER SETTING timeseries.storage.enabled;
(1 row)
If you want all existing timeseries data to be deleted, change the timeseries.storage.resolution_10s.ttl cluster setting as well:
> SET CLUSTER SETTING timeseries.storage.resolution_10s.ttl = '0s';
What happens when a node runs out of disk space?
When a node runs out of disk space, it shuts down and cannot be restarted until space is freed up. To prepare for this case, place a ballast file in each node's storage directory that can be deleted to free up enough space to be able to restart the node. If you did not create a ballast file, look for other files that can be deleted, such as log files.
In addition to using ballast files, it is important to actively monitor remaining disk space.
Why would increasing the number of nodes not result in more operations per second?
If queries operate on different data, then increasing the number of nodes should improve the overall throughput (transactions/second or QPS).
However, if your queries operate on the same data, you may be observing transaction contention. See Understanding and Avoiding Transaction Contention for more details.
Why does CockroachDB collect anonymized cluster usage details by default?
Collecting information about CockroachDB's real world usage helps us prioritize the development of product features. We choose our default as "opt-in" to strengthen the information we receive from our collection efforts, but we also make a careful effort to send only anonymous, aggregate usage statistics. See Diagnostics Reporting for a detailed look at what information is sent and how to opt-out.
What happens when node clocks are not properly synchronized?
CockroachDB requires moderate levels of clock synchronization to preserve data consistency. For this reason, when a node detects that its clock is out of sync with at least half of the other nodes in the cluster by 80% of the maximum offset allowed (500ms by default), it spontaneously shuts down. While serializable consistency is maintained regardless of clock skew, skew outside the configured clock offset bounds can result in violations of single-key linearizability between causally dependent transactions. It's therefore important to prevent clocks from drifting too far by running NTP or other clock synchronization software on each node.
The one rare case to note is when a node's clock suddenly jumps beyond the maximum offset before the node detects it. Although extremely unlikely, this could occur, for example, when running CockroachDB inside a VM and the VM hypervisor decides to migrate the VM to different hardware with a different time. In this case, there can be a small window of time between when the node's clock becomes unsynchronized and when the node spontaneously shuts down. During this window, it would be possible for a client to read stale data and write data derived from stale reads. To protect against this, we recommend using the server.clock.forward_jump_check_enabled and server.clock.persist_upper_bound_interval cluster settings.
When setting up clock synchronization:
 - All nodes in the cluster must be synced to the same time source, or to different sources that implement leap second smearing in the same way. For example, Google and Amazon have time sources that are compatible with each other (they implement leap second smearing in the same way), but are incompatible with the default NTP pool (which does not implement leap second smearing).
 - For nodes running in AWS, we recommend Amazon Time Sync Service. For nodes running in GCP, we recommend Google's internal NTP service. For nodes running elsewhere, we recommend Google Public NTP. Note that the Google and Amazon time services can be mixed with each other, but they cannot be mixed with other time services (unless you have verified leap second behavior). Either all of your nodes should use the Google and Amazon services, or none of them should.
 - If you do not want to use the Google or Amazon time sources, you can use chrony and enable client-side leap smearing, unless the time source you're using already does server-side smearing. In most cases, we recommend the Google Public NTP time source because it handles smearing the leap second. If you use a different NTP time source that doesn't smear the leap second, you must configure client-side smearing manually and do so in the same way on each machine.
 - Do not run more than one clock sync service on VMs where cockroach is running.
For guidance on synchronizing clocks, see the tutorial for your deployment environment:
Environment Featured Approach
On-Premises Use NTP with Google's external NTP service.
AWS Use the Amazon Time Sync Service.
Azure Disable Hyper-V time synchronization and use NTP with Google's external NTP service.
Digital Ocean Use NTP with Google's external NTP service.
GCE Use NTP with Google's internal NTP service.
How can I tell how well node clocks are synchronized?
As explained in more detail in our monitoring documentation, each CockroachDB node exports a wide variety of metrics at http://:/_status/vars in the format used by the popular Prometheus timeseries database. Two of these metrics export how close each node's clock is to the clock of all other nodes:
Metric Definition
clock_offset_meannanos The mean difference between the node's clock and other nodes' clocks in nanoseconds
clock_offset_stddevnanos The standard deviation of the difference between the node's clock and other nodes' clocks in nanoseconds
As described in the above answer, a node will shut down if the mean offset of its clock from the other nodes' clocks exceeds 80% of the maximum offset allowed. It's recommended to monitor the clock_offset_meannanos metric and alert if it's approaching the 80% threshold of your cluster's configured max offset.
You can also see these metrics in the Clock Offset graph on the Admin UI's Runtime dashboard.
How do I prepare for planned node maintenance?
> SET CLUSTER SETTING server.time_until_store_dead = '15m0s';
> RESET CLUSTER SETTING server.time_until_store_dead;
 > SET CLUSTER SETTING server.shutdown.drain_wait = '10s';
See also
YesYes NoNo


Oracle8i Utilities
Release 8.1.5
Prev Next
SQL*Loader: Conventional and Direct Path Loads
This chapter describes SQL*Loader's conventional and direct path load methods. The following topics are covered:
For an example of loading with using the direct path load method, see Case 6: Loading Using the Direct Path Load Method. The other cases use the conventional path load method.
Data Loading Methods
SQL*Loader provides two methods for loading data:
A conventional path load executes SQL INSERT statement(s) to populate table(s) in an Oracle database. A direct path load eliminates much of the Oracle database overhead by formatting Oracle data blocks and writing the data blocks directly to the database files. A direct load, therefore, does not compete with other users for database resources so it can usually load data at near disk speed. Certain considerations, inherent to this method of access to database files, such as restrictions, security and backup implications, are discussed in this chapter.
Conventional Path Load
Conventional path load (the default) uses the SQL INSERT statement and a bind array buffer to load data into database tables. This method is used by all Oracle tools and applications.
When SQL*Loader performs a conventional path load, it competes equally with all other processes for buffer resources. This can slow the load significantly. Extra overhead is added as SQL commands are generated, passed to Oracle, and executed.
Oracle looks for partially filled blocks and attempts to fill them on each insert. Although appropriate during normal use, this can slow bulk loads dramatically.
Conventional Path Load of a Single Partition
By definition, a conventional path load uses SQL INSERT statements. During a conventional path load of a single partition, SQL*Loader uses the partition-extended syntax of the INSERT statement which has the following form:
The SQL layer of the ORACLE kernel determines if the row being inserted maps to the specified partition. If the row does not map to the partition, the row is rejected, and the loader log file records an appropriate error message.
When to Use a Conventional Path Load
If load speed is most important to you, you should use direct path load because it is faster than conventional path. However, there are certain restrictions on direct path loads that may require you to use a conventional path load. You should use the conventional path in the following situations:
Direct Path Load
Instead of filling a bind array buffer and passing it to Oracle with a SQL INSERT command, a direct path load parses the input data according to the description given in the loader control file, converts the data for each input field to its corresponding Oracle column datatype, and builds a column array structure (an array of pairs).
SQL*Loader then uses the column array structure to format Oracle data blocks and build index keys. The newly formatted database blocks are then written directly to the database (multiple blocks per I/O request using asynchronous writes if the host platform supports asynchronous I/O).
Internally, multiple buffers are used for the formatted blocks. While one buffer is being filled, one or more buffers are being written if asynchronous I/O is available on the host platform. Overlapping computation with I/O increases load performance.
Figure 8-1 shows how conventional and direct path loads perform database writes.
Figure 8-1 Database Writes on Direct Path and Conventional Path
Direct Path Load of a Partitioned or Subpartitioned Table
When loading a partitioned or subpartitioned table, SQL*Loader partitions the rows and maintains indexes (which can also be partitioned). Note that a direct path load of a partitioned or subpartitioned table can be quite resource intensive for tables with many partitions or subpartitions.
Direct Path Load of a Single Partition or Subpartition
When loading a single partition of a partitioned or subpartitioned table, SQL*Loader partitions the rows and rejects any rows which do not map to the partition or subpartition specified in the SQL*Loader control file. Local index partitions which correspond to the data partition or subpartition being loaded are maintained by SQL*Loader. Global indexes are not maintained on single partition or subpartition direct path loads. During a direct path load of a single partition, SQL*Loader uses the partition-extended syntax of the LOAD statement which has the following form:
LOAD INTO TABLE T partition (P) VALUES...
LOAD INTO TABLE T subpartition (P) VALUES...
While loading a partition of a partitioned or subpartition table, DML operations on, and direct path loads of, other partitions in the table are allowed.
Although a direct path load minimizes database processing, several calls to the Oracle server are required at the beginning and end of the load to initialize and finish the load, respectively. Also, certain DML locks are required during load initialization, and are released when the load completes. Note also that during the load the following operations occur: index keys are built and put into a sort, space management routines are used to get new extents when needed and to adjust the high-water mark for a data save point. The high-water mark is described in Data Saves.
Advantages of a Direct Path Load
See Instance Recovery and Direct Path Loads.
When to Use a Direct Path Load
If none of the above restrictions apply, you should use a direct path load when:
Restrictions on Using Direct Path Loads
In addition to the general load conditions described in Conventional Path Load versus Direct Path Load, the following conditions must be satisfied to use the direct path load method:
Note also that the following features are not available with direct path load.
Restrictions on a Direct Path Load of a Single Partition
In addition to the above listed restrictions, loading a single partition has the following restrictions:
Integrity Constraints
All integrity constraints are enforced during direct path loads, although not necessarily at the same time. NOT NULL constraints are enforced during the load. Records that fail these constraints are rejected.
UNIQUE constraints are enforced both during and after the load. A record which violates a UNIQUE constraint is not rejected (the record is not available in memory when the constraint violation is detected.)
Integrity constraints that depend on other rows or tables, such as referential constraints, are disabled before the direct path load and must be re-enabled afterwards. If REENABLE is specified, SQL*Loader can re-enable them automatically at the end of the load. When the constraints are re-enabled, the entire table is checked. Any rows that fail this check are reported in the specified error log. See the section in this chapter calledDirect Loads, Integrity Constraints, and Triggers.
Field Defaults on the Direct Path
DEFAULT column specifications defined in the database are not available when loading on the direct path. Fields for which default values are desired must be specified with the DEFAULTIF clause, described on DEFAULTIF Clause. If a DEFAULTIF clause is not specified, and the field is NULL, then a NULL value is inserted into the database.
Loading into Synonyms
You can load data into a synonym for a table during a the direct path load, but the synonym must point directly to a table. It cannot be a synonym for a view or a synonym for another synonym.
Exact Version Requirement
You can perform a SQL*Loader direct load only be for databases of the same version. For example, you cannot do a SQL*Loader Version 7.1.2 direct path load to load into a Oracle Version 7.1.3 database.
Using Direct Path Load
This section explains you how to use SQL*Loader's direct path load.
Setting Up for Direct Path Loads
To prepare the database for direct path loads, you must run the setup script, CATLDR.SQL to create the necessary views. You need only run this script once for each database you plan to do direct loads to. This script can be run during database installation if you know then that you will be doing direct loads.
Specifying a Direct Path Load
To start SQL*Loader in direct load mode, the parameter DIRECT must be set to TRUE on the command line or in the parameter file, if used, in the format:
See Case 6: Loading Using the Direct Path Load Method for an example.
Building Indexes
During a direct path load, performance is improved by using temporary storage. After each block is formatted, the new index keys are put to a sort (temporary) segment. The old index and the new keys are merged at load finish time to create the new index. The old index, sort (temporary) segment, and new index segment all require storage until the merge is complete. Then the old index and temporary segment are removed.
Note that, during a conventional path load, every time a row is inserted the index is updated. This method does not require temporary storage space, but it does add processing time.
Performance on systems with limited memory can also be improved by using the SINGLEROW option. For more information see SINGLEROW Option.
Note: If, during a direct load, you have specified that the data is to be pre-sorted and the existing index is empty, a temporary segment is not required, and no merge occurs--the keys are put directly into the index. See Maximizing Performance of Direct Path Loads for more information.
When multiple indexes are built, the temporary segments corresponding to each index exist simultaneously, in addition to the old indexes. The new keys are then merged with the old indexes, one index at a time. As each new index is created, the old index and the corresponding temporary segment are removed.
Index Storage Requirements
The formula for calculating the amount of space needed for storing the index itself can be found in the chapter(s) that describe managing database files" in the Oracle8i Administrator's Guide. Remember that two indexes exist until the load is complete: the old index and the new index.
Temporary Segment Storage Requirements
The amount of temporary segment space needed for storing the new index keys


text:
Control of Fire Hazards in Commercial Drycleaning Shops Using Petroleum-Based Solvents
DHHS (NIOSH) Publication Number 97-159
Drycleaning shops contain all elements necessary for uncontrolled fires: fuels, ignition sources, and oxygen. Potential combustible materials include furniture, garments, lint, and portions of the building. The greatest risk of fire and explosion exists if the drycleaning shop uses a petroleum-based solvent in drycleaning machines. Approximately 10% of drycleaning shops in the United States use these highly flammable solvents. Ignition can be triggered by a burning or smoldering cigarette, heated equipment such as a press, a frictional spark inside the solvent reclaimer cage, or even static electricity within the reclaimer.
New solvents and machines are available today that are inherently safer than traditional petroleum-based solvents. All shops should follow fire codes and standards that address occupancy limits, building egress, and appropriate fire extinguishers, smoke detectors, fire suppression systems, and related issues to reduce the risk of fire. Code compliance will reduce the risk of loss from fire, and may also reduce property insurance premiums. In some cases, fire codes may not be as stringent with new solvents and machines.
- New petroleum-based solvents with higher flashpoints (above 55°C/131°F) have recently been developed (Figure 1). These solvents are less likely to ignite or explode than solvents with lower flashpoints.
- New, much safer petroleum-based drycleaning machines are also available. Several machine technical advances have been developed to reduce greatly the risk of fire and explosion. These advances include using a vacuum technology, an inert gas such as nitrogen, or controlling the operating parameters of the machine to prevent fire or explosion.
- Enforce a "No Smoking" policy that eliminates smoking within the building. Post "No Smoking" signs.
- Provide shops with at least two remote means of escape in the event of a fire. Also provide drycleaning rooms with two remote means of escape. Keep fire exits and exit routes free and clear of clutter.
- Separate the drycleaning room from the rest of the building by a partition with a 2-hour fire resistance rating.
- Construct the floors and ceiling of the drycleaning room of fire-resistant material.
- Equip drycleaning rooms containing petroleum-based solvents with an emergency drainage system that directs solvent leaks and fire protection water to a safe location.
Fire Safety Systems
- Install an approved wet-pipe sprinkler system in the drycleaning room of any shop using petroleum-based drycleaning solvents. Automatic sprinkler systems are effective in preventing loss of life and controlling the spread of fire.
- Provide at least two approved 10-BC portable fire extinguishers inside a drycleaning room where petroleum-based solvents are used. Provide suitable portable fire extinguishers throughout the shop according to appropriate codes.
- Perform routine maintenance to prevent accumulation of fluff, lint, or waste that could ignite or cause a fire to spread rapidly.
Handling Combustible Liquids
- Install drycleaning rooms and tank storage rooms on the lowest floor above grade.
- Close all containers with flammable or combustible petroleum-based solvents to prevent evaporation. Do not transport petroleum-based solvents in open containers, rather, pump solvents through rigid iron or steel pipes to prevent ignition.
- Give special attention to generation and accumulation of static electricity. If garments are transferred from a washer using petroleum-based solvents to a dryer, bond together electrically and ground equipment.
Figure 1. Flashpoints of Stoddard solvent and four of the recently developed petroleum-based drycleaning solvents (with higher flashpoints).
A NIOSH technical report, Control of Health and Safety Hazards in Commercial Drycleaners: Chemical Exposures, Fire Hazards, and Ergonomic Risk Factors, has been published on this subject. This document is one in a series of seven HAZARD CONTROLS concerning control of hazards in the drycleaning industry that are available free upon request.
*NIOSH is the Federal agency responsible for conducting research and making recommendations for preventing work-related illnesses and injuries. All HAZARD CONTROLS are based on research studies that show how worker exposures to hazardous agents or activities can be significantly reduced.
The principal contributors to this publication are Gary S. Earnest, Lynda Ewers, Avima Ruder, Linda Goldenhar, Rosmarie T. Hagedorn, Jerome P. Flesch.
This document is in the public domain and may be freely copied or reprinted. NIOSH encourages all readers of this HAZARD CONTROLS to make it available to all interested employers and workers.


text:
The NAFEA COVID-19 Project Grant provides funding for NAFEA members to undertake projects in the area of work-integrated learning. Applications are invited on topics related to one of the following themes:
- Development of resources that support the COVID-19 recovery process. Resources may target students, industry partners/organisations and/or supervisors on placement;
- COVID-19 related WIL risk management, with a particular focus on issues related to diversity, equity and inclusion;
- Self-care and well-being of students, staff and industry/community partners related to COVID-19, including supporting students with mental health conditions
For eligibility criteria, see the guidelines.
Applications Close: 7 July 2020


text:
Code Listing 14: Query that demonstrates the LENGTH function
SQL> select first_name, LENGTH(first_name) length
2 from employee
3 order by length desc, first_name;
a query that uses the LENGTH function to
display the length of all FIRST_NAME values
from the EMPLOYEE table.
The online version of this article at bit.ly/
JAQPk3 includes examples of LENGTH and
other character functions in WHERE and
ORDER BY clauses.
8 rows selected.
SQL> select INSTR('Mississippi', 'issi',
2 from dual;
you with this task. Listing 12 shows a query
that uses the SUBSTR function to extract the
first three characters of every LAST_NAME
value from the EMPLOYEE table. The SUBSTR
function takes two required parameters
and one optional input parameter. The first
parameter is the literal or column value on
which you want the SUBS TR function to
operate. The second parameter is the position of the starting character for the substring, and the optional third parameter is
the number of characters to be included in
the substring. If the third parameter is not
specified, the SUBSTR function will return
the remainder of the string.
Listing 13 demonstrates the SUBS TR and
INS TR functions working together to display
the portion of every LAS T_NAME value from
the EMPLOYEE table that contains the "ton"
substring. In this example, the output from
the INS TR function provides the value for the
input parameter that specifies the position
for the SUBSTR function's starting character.
In the LAST_NAME values in which the substring "ton" is not found, the entire LAS T_
NAME value is returned, for two reasons:
SUBSTR treats a starting position of 0 the
same as a starting position of 1 (that is, as the
first position in the string), and because the
query omits the optional length parameter,
the full remainder of the string is returned.
function takes as input the literal or column
value you want to search, followed by the
substring pattern to search for. In Listing 11,
the INS TR function finds the "ton" pattern in
only two column data values—both of them
Newton—and returns 4 as their position.
Because it did not find the search string in any
other values, the output for those values is 0.
Two additional parameters—starting
position and occurrence—are optional. The
starting position specifies the character in
the string from which to begin your search.
The default behavior is for the search to
begin at the first character—otherwise
known as character position 1. The occurrence parameter lets you specify which
occurrence of the substring you'd like to find.
For example, the word Mississippi includes
two occurrences of the "issi" substring. To
search for the starting-position location of
the second occurrence of this pattern, you
must provide the INSTR function with an
occurrence parameter of 2:
This article has shown you how character
functions can be used in SELECT statements
to manipulate the ways data is displayed.
You've seen how to convert data values to
uppercase, lowercase, and mixed cases and
how to search for strings within strings.
You've also seen how to pad and trim data
and how to specify a string's total length.
By no means does this article provide an
exhaustive list of the Oracle character functions. Review the documentation for more
The next installment of SQL 101 will
discuss number functions and other miscellaneous functions.
Melanie Caffrey is
a senior development
manager at Oracle. She
is a coauthor of Expert
for Oracle Developers
and DBAs (Apress, 2011) and Expert Oracle
Practices: Oracle Database Administration from
the Oak Table (Apress, 2010).
INSTR('MISSISSIPPI','ISSI', 1, 2)
1 row selected.
EX TRACTING STRINGS FROM STRINGS
Sometimes you need to extract a portion of
a string for your desired output. The SUBS TR
(for substring) character function can assist
WHEN SIZE MAT TERS
Occasionally you need to determine a
string's length—for example, to determine
the maximum number of characters a form
entry field should permit. Listing 14 shows
online-only article content
SQL 101, Parts 1–5
READ more about relational database
design and concepts
Oracle Database Concepts 11g
Release 2 ( 11. 2)
Oracle Database SQL Language Reference 11g
Release 2 ( 11. 2)
Oracle SQL Developer User's Guide Release 3. 1
DOWNLOAD the sample script for


text:
- SEE ALSO
- HOME PAGE
Math::PlanePath::ChanTree -- tree of rationals
use Math::PlanePath::ChanTree; my $path = Math::PlanePath::ChanTree->new (k => 3, reduced => 0); my ($x, $y) = $path->n_to_xy (123);
This path enumerates rationals X/Y in a tree as per
Song Heng Chan, "Analogs of the Stern Sequence", Integers 2011, _URL_
The default k=3 visits X,Y with one odd, one even, and perhaps a common factor 3^m.
14 | 728 20 12 13 | 53 11 77 27 12 | 242 14 18 11 | 10 | 80 9 | 17 23 9 15 8 | 26 78 7 | 6 | 8 24 28 5 | 5 3 19 4 | 2 6 10 22 3 | 2 | 0 4 16 52 1 | 1 7 25 79 241 727 Y=0 | +-------------------------------------------------------- X=0 1 2 3 4 5 6 7 8 9 10 11 12 13
There are 2 tree roots (so technically it's a "forest") and each node has 3 children. The points are numbered by rows starting from N=0. This numbering corresponds to powers in a polynomial product generating function.
N=0 to 1 1/2 2/1 / | \ / | \ N=2 to 7 1/4 4/5 5/2 2/5 5/4 4/1 / | \............ / | \ N=8 to 25 1/6 6/9 9/4...... 5/9 9/6 6/1 N=26...
The children of each node are
X/Y ------------/ | \----------- | | | X/(2X+Y) (2X+Y)/(X+2Y) (X+2Y)/Y
Which as X,Y coordinates means vertical, 45-degree diagonal, and horizontal.
X,Y+2X X+(X+Y),Y+(X+Y) | / | / | / | / X,Y------- X+2Y,Y
The slowest growth is on the far left of the tree 1/2, 1/4, 1/6, 1/8, etc advancing by just 2 at each level. Similarly on the far right 2/1, 4/1, 6/1, etc. This means that to cover such an X or Y requires a power-of-3, N=3^(max(X,Y)/2).
Chan shows that these top nodes and children visit all rationals X/Y with X,Y one odd, one even. But the X,Y are not in least terms, they may have a power-of-3 common factor GCD(X,Y)=3^m for some m.
The GCD is unchanged in the first and third children. The middle child GCD might gain an extra factor 3. This means the power is at most the number of middle legs taken, which is the count of ternary 1-digits of its position across the row.
GCD(X,Y) = 3^m m <= count ternary 1-digits of N+1, excluding high digit
As per "N Start" below, N+1 in ternary has high digit 1 or 2 which indicates the tree root. Ignoring that high digit gives an offset into the row of that tree and the digits are 0,1,2 for left,middle,right.
For example the first GCD is at N=9 with X=6,Y=9 common factor GCD=3. N+1=10="101" ternary, which without the high digit is "01" which has a single "1" so GCD <= 3^1. The mirror image of this point is X=9,Y=6 at N=24 and there N+1=24+1=25="221" ternary which without the high digit is "21" with a single 1-digit likewise.
For various points the power m is equal to the count of 1-digits.
k => $integer parameter controls the number of children and top nodes. There are k-1 top nodes and each node has k children. The top nodes are
k odd, k-1 many tops, with h=ceil(k/2) 1/2 2/3 3/4... (h-1)/h h/(h-1)... 4/3 3/2 2/1 k even, k-1 many tops, with h=k/2 1/2 2/3 3/4... (h-1)/h h/h h/(h-1)... 4/3 3/2 2/1
Notice the list for k odd or k even is the same except that for k even there's an extra middle term h/h. The first few tops are as follows. The list in each row is spread to show how successive bigger h adds terms in the middle.
k X/Y top nodes --- --------------------------------- k=2 1/1 k=3 1/2 2/1 k=4 1/2 2/2 2/1 k=5 1/2 2/3 3/2 2/1 k=6 1/2 2/3 3/3 3/2 2/1 k=7 1/2 2/3 3/4 4/3 3/2 2/1 k=8 1/2 2/3 3/4 4/4 4/3 3/2 2/1
As X,Y coordinates these tops are a run up along X=Y-1 and back down along X=Y+1, with a middle X=Y point if k even. For example,
7 | 5 k=13 top nodes N=0 to N=11 6 | 4 6 total 12 top nodes 5 | 3 7 4 | 2 8 3 | 1 9 2 | 0 10 1 | 11 Y=0 | +------------------------------ X=0 1 2 3 4 5 6 7 k=14 top nodes N=0 to N=12 7 | 5 6 total 13 top nodes 6 | 4 7 5 | 3 8 N=6 is the 7/7 middle term 4 | 2 9 3 | 1 10 2 | 0 11 1 | 12 Y=0 | +------------------------------ X=0 1 2 3 4 5 6 7
Each node has k children. The formulas for the children can be seen from sample cases k=5 and k=6. A node X/Y descends to
k=5 k=6 1X+0Y / 2X+1Y 1X+0Y / 2X+1Y 2X+1Y / 3X+2Y 2X+1Y / 3X+2Y 3X+2Y / 2X+3Y 3X+2Y / 3X+3Y 2X+3Y / 1X+2Y 3X+3Y / 2X+3Y 1X+2Y / 0X+1Y 2X+3Y / 1X+2Y 1X+2Y / 0X+1Y
The coefficients of X and Y run up to h=ceil(k/2) starting from either 0, 1 or 2 and ending 2, 1 or 0. When k is even there's two h coeffs in the middle. When k is odd there's just one. The resulting tree for example with k=4 is
k=4 1/2 2/2 2/1 / \ / \ / \ 1/4 4/6 6/5 5/2 2/6 6/8 8/6 6/2 2/5 5/6 6/4 4/1
Chan shows that this combination of top nodes and children visits
if k odd: rationals X/Y with X,Y one odd, one even possible GCD(X,Y)=k^m for some integer m if k even: all rationals X/Y possible GCD(X,Y) a divisor of (k/2)^m
When k odd GCD(X,Y) is a power of k, so for example as described above k=3 gives GCD=3^m. When k even GCD(X,Y) is a divisor of (k/2)^m but not necessarily a full such power. For example with k=12 the first such non-power GCD is at N=17 where X=16,Y=18 has GCD(16,18)=2 which is only a divisor of k/2=6,


text:
Status change means Dutch Antilles no longer exists
The Dutch Caribbean dependency the Netherlands Antilles has ceased to exist with a change of the five islands' constitutional status.
Curacao and St Maarten have become autonomous countries within the Kingdom of the Netherlands, joining Aruba, which gained the status in 1986.
Bonaire, St Eustatius and Saba are now autonomous special municipalities of the kingdom.
The Netherlands retains responsibility for defence and foreign policy.
The Dutch government will also have initial oversight over Curacao's finances under a debt-relief arrangement.
Collectively, the islands had amassed a debt of around 2bn euros (£1.75bn; $2.8bn), most of it owed to the Netherlands.
The smaller islands of St Maarten, Bonaire, St Eustatius and Saba said the debt was mostly run up by Curacao, the largest island and de facto capital of the former Netherlands Antilles.
Curacao complained that it was carrying too much of the financial burden for the federation, especially for Saba, St Eustatius and Bonaire.
Tourism, petroleum refining and offshore finance are the mainstays of the islands' economies.
The Dutch colonised the islands, alongside Aruba, in the 17th Century. The territory, once called the Dutch West Indies, became the semi-autonomous Netherlands Antilles in 1954.
The new status, which came into effect on Sunday, followed referendums over the past few years in which Curacao, St Maarten, Bonaire and Saba opted to leave the federation while St Eustatius supported the status quo.
None of the islands voted for independence.


How a Business Can Benefit From Interactive Marketing
Interactive marketing allow person to pay online using a credit card
Tetra Images / Jamie Grill / Getty Images
In a world in which consumers have come to expect increasing responsiveness from the companies they do business with, interactive marketing is one of several methods (social media is another) in which business owners can better meet their market's needs.
Interactive marketing involves a marketing tactic that is in direct response to something a consumer does. Sometimes called trigger-based or event-based marketing, interactive marketing relies completely on an action started by the consumer.
For example, "Do you want fries with that?" is a form of interactive marketing. It's usually asked if you order a hamburger, but not if you order a shake. The act of ordering a hamburger triggers the push towards adding another product.
Example of Interactive Marketing
One of the biggest innovators in interactive marketing is It collects and analyzes visitor behavior, then uses it to show meaningful information to the customer in the present. Amazon offers "suggested reading" selections based on previous book searches or purchases. This type of online environment makes for a personal shopping experience, leading to longer stays within a site (sometimes referred to as "site stickiness") and more purchases (also referred to as conversions).
Amazon not only tells you what others are browsing that are similar to your search, but also, if you buy an item, Amazon will tell you what others who have bought that item also bought. Amazon remembers your preferences and will send you emails or highlight online new similar and related items based on your browsing and buying history.
The benefits of interactive marketing can be significant. For one, it makes the consumer feel like they're heard, understood, and receiving personal service. Other benefits to interactive marketing include:
 1. Increase sales: Interactive marketing increases the odds that you'll deliver what the consumer needs thereby leading to a sale, as well as increase sales by recommending related items that result in the buyer tacking on other items that fit with their purchase.
 2. Increase consumer satisfaction: Consumers like to buy things that most closely fit what they need. Since interactive marketing is based on actions by the consumer, you're more likely to match them with the right product/service.
 3. Lower marketing costs: Consumers like interactive marketing because they don't have to repeat themselves. It's like having a personal shopper. Happy customers not only stay with you but will refer you. It's cheaper to keep a customer than get a new one.
 4. It can be automatic: No one sits at Amazon and watches what you do on its site. Computers track consumer actions and, based on algorithms, they suggest recommendations. Even the statement, "Do you want fries with that?" is part of a system.
Interactive marketing requires detailed planning and implementation. While a system can execute it, you have to set the system up to understand the triggers and what to deliver. Other cons include:
 1. Some customers don't like it. Let's face it, to deliver recommendations, you have to track what consumers do, and for some, tracking their every move is a little creepy.
 2. Not everyone is alike. Interactive marketing works a great deal on probabilities. But just because 99 people out of 100 bought item Y at the same time they bought item X, doesn't mean everyone who buys X also wants Y. Someone might prefer Z. When it goes wrong, it highlights that you don't know your customer.
How to Set Up Interactive Marketing
If you'd like to use interactive marketing in your business, you'll need to spend time understanding your market, its wants, and needs, as well as what actions can lead to results.
 1. Identify the triggers that can lead to an interactive marketing event. The best way to do this is through surveys and analyzing data.
 2. Determine the marketing event for the trigger. When the consumer does X, what do you want to happen? Recommend Y? Ask if they want fries?
 3. Set up your system. Online, this requires tech know-how to set up a program that will take the data input and delivers an output. Face-to-face, you can develop your "sales system" to include responses to certain questions or purchases your client/customer asks.
 4. Assess. Is it working? Is your interactive marketing system it leading to more sales? Are you getting complaints? Use the data to tweak your system.


text:
Inside RelativeLayoutby James Elliott, coauthor of Java Swing, 2nd Edition
As promised in my first article, "RelativeLayout: A Constraint-Based Layout Manager," here's a look inside the
RelativeLayout package. This article explains how the layout manager works, and discusses how to extend it to support new kinds of constraints. Readers should be familiar with the original article, which introduces
RelativeLayout and explains how to use it as a tool.
Once you download and expand the source archive, you'll find the following items inside of it (Figure 1 shows everything it will contain once you're ready to build and run
Figure 1: RelativeLayout Source
This is a build file for the Ant tool from Apache's Jakarta project. It is used to compile and test
RelativeLayout. Once you have installed Ant on your system (which you have likely done already, since it has rapidly and deservedly become the build tool of choice for Java projects) you can compile
RelativeLayout simply by moving to the top-level source directory and typing
ant compile (after you've set up the
lib directory as described below).
Other interesting build targets you can run include:
ant ex1: runs the first example program discussed in the first article. Similarly, the targets
ex3run the second and third examples.
ant doc: builds the JavaDoc for
RelativeLayout. You may want to refer to this documentation from time to time as you read the overview of how the classes work, below.
ant dist: builds the distribution file
RelativeLayout.jarso you can easily use
RelativeLayoutwith other projects.
ant clean: cleans up any generated files and removes the
These files are used by the XML-based examples in the first article. They contain the layout constraints used by the second and third example programs.
Contains libraries used by
RelativeLayout. It's empty when you first download and expand the source archive, because these libraries are available from separate organizations. In order to compile and use
RelativeLayout, you'll need the JDOM library and (if you're using a Java SDK earlier than version 1.4) an XML parser such as Apache Xerces, as discussed in the first article. Once you've downloaded any libraries you need (which you likely did in order to run the examples when reading Part 1), copy their library jars (e.g.
xerces.jar) into the
lib directory, and
RelativeLayout will compile and run properly.
I used this file along with a test program while I was developing
RelativeLayout. It's not too useful now, unless you want to study and play with that test program. Note that the current configuration of the program (invoked through
ant test) and this file are inconsistent and cause an over-constraint error to be reported. If you're into that sort of thing, debugging and fixing the problem could be an interesting exercise.
The rest of the source is organized under the
src directory, so let's move in there and see what we find.
- The files
These are the three example programs discussed in Part 1.
This is the test program that works with
test.xmlas described above. It's no longer of much interest except for software archaeology, in that it provides a little insight into the development of the package.
This package overview document is used by JavaDoc to provide introductory information on the starting page.
The Java source for
RelativeLayoutitself is grouped under this directory. To be precise, it's in the nested directory src/com/brunchboy/util/swing/relativelayout, corresponding to the package in which the classes themselves are organized,
com.brunchboy.util.swing.relativelayout. The classes that make up
RelativeLayoutare explained in the next few sections. You'll best understand how everything works if you can examine the source itself while you read the descriptions below, perhaps by printing one or the other.
relativelayoutdirectory also contains the file
package.html, used by JavaDoc to provide an introductory explanation for the classes in the directory, and
constraint-set.dtd, the XML document type definition (described below), used by
XmlConstraintBuilderto parse constraint specifications expressed as XML.


- (0)
 ISO 27001 & ISO 22301 Blog
 ISO 27001 vs. ISO 27032 cybersecurity standard
 There are many standards in the ISO 27001 series, all related to security. You probably don't know much about ISO 27032:2012 because it is not as well-known as ISO 27001, ISO 27002, or ISO 22301, but it is near you, because it has to do with a place that you habitually visit: cyberspace.
 The word "security" is a complex term that involves various disciplines, and it is composed of various domains, like application security, network security … and cybersecurity. So, cybersecurity is not synonymous with information security, application security, network security, etc. The main objective of cybersecurity is to require stakeholders to play an active role in the maintenance of cyberspace (i.e., it requires actions that stakeholders should be taking to establish and maintain security in cyberspace) and in the improvement of its reliability and utility.
 Cybersecurity and cyberspace
 First, a few basic things. What is cyberspace? It's the virtual place where everyone around the world does business, studies, or buys. ISO 27032 defines the term in the following manner: "a complex environment resulting from the interaction of people, software and services on the internet by means of technology devices and networks connected to it, which does not exist in any physical form."
 Bill Gates cited on one occasion: "There will be 2 types of business in the 21st century: those that are on the Internet and those that no longer exist." And he was not wrong, because currently most business is carried out in cyberspace.
 And cybersecurity? It is mainly all matters related to the security of cyberspace through the security measures that protect it.
 Therefore, this standard, ISO 27032, is basically going to provide a guide that will help us ensure that our interaction with the virtual environment of cyberspace is much safer.
 Main differences between ISO 27001 and ISO 27032
 ISO 27032 is not a standard that you can certify; perhaps this is one of the most important differences with respect to ISO 27001, which allows certifying an Information Security Management System (ISMS).
 Therefore, both standards have different objectives, but as we will see in this article, they are closely related. ISO 27032 mainly aims to provide a guide for cybersecurity through specific recommendations, while ISO 27001 sets requirements to establish an ISMS. So, the focus of ISO 27001 is your organization and its ISMS, while ISO 27032 focuses on cyberspace and is a framework for collaboration and to address issues focused on different security domains in cyberspace.
 As you will see, there are further differences between the two standards.
 ISO 27001 vs. ISO 27032 cybersecurity standard
 Risk management, assets, threats, and vulnerabilities
 Risk can be calculated based on certain parameters like assets, threats, and vulnerabilities, although there are many other ways to calculate risk.
 The current version of ISO 27001:2013 does not specify that you need to consider assets, threats, and vulnerabilities to determine the level of risk, which makes it more flexible (e.g., in comparison to the previous version, which was focused on assets and threats). For more information about changes related to risk assessment in ISO 27001:2013, you can read this article: What has changed in risk assessment in ISO 27001:2013?
 On the other hand, ISO 27032:2012 specifies different types of assets, and does not contain a catalogue of threats and vulnerabilities like ISO 27005 (it is a code of best practices to develop a risk management methodology). But, it does give some examples, applied of course to cyberspace (threats are mainly divided into two types: those that affect the assets of type person, and those that affect the assets of type organization).
 At this point, neither standard details a risk management methodology; they simply refer to ISO 27005 or ISO 31000, which are best practices for risk management (ISO 27005 for risks related to information security, and ISO 31000 for any type of risk). However, ISO 27001 sets various requirements that the methodology developed should cover, e.g., establishment of the criteria for acceptance of risk, owner of the risk, residual risk, etc.).
 If you are interested in ISO 31000, consult this article: ISO 31000 and ISO 27001 – How are they related?
 On the other hand, in Annex A ISO 27001:2013 has 114 controls, not all of which are related to technologies. Many are related to the management of suppliers, management of human resources, etc. However, controls that can be found in ISO 27032:2012 are more specific for cybersecurity (level controls application, protection of server, end-user, social engineering attack controls, etc.).
 For its part, ISO 27001:2013 only contains a brief description of each control, and none of them refers directly to cybersecurity. The detail of each control and its implementation guide can be found in ISO 27002, while in ISO 27032:2012 you can see a detailed guide for help (if you want more information about the differences between ISO 27001 and ISO 27002, this article may be of interest to you: ISO 27001 vs. ISO 27002). Therefore, ISO 27001:2013 is more extensive and global, while ISO 27032:2012 is more concrete and specific to cybersecurity.
 Another important component that you can find in ISO 27032:2012 is a framework for coordination and exchange of information, which is particularly interesting while managing cybersecurity-related incidents that can occur. ISO 27001:2013 also has controls in Annex A to manage incidents, but they are only for incidents related to information security.
 Integrate ISO 27001 and ISO 27032
 Personally, I think it is very interesting to see both standards as a whole, not independently, because you can implement ISO 27001:2013 with the security controls of Annex A, which will help you to protect the information of your business, but you can also complement it with the controls of ISO 27032:2012, which will help you to protect your business in cyberspace.
 To learn how to comply with ISO 27001, while also implementing privacy and cybersecurity controls, sign up for a 30-day free trial of Conformio, the leading ISO 27001 compliance software.
 Advisera Antonio Jose Segovia
 Antonio Jose Segovia
 Antonio Jose Segovia is an IT Engineer, and he has many professional certifications in the IT sector. He is also ISO 27001 IRCA and Lead Auditor qualified by BUREAU VERITAS in ISO 27001, ISO 20000, ISO 22301, ISO 27018, GDPR, and TISAX, as well as being an expert in information security, an ethical hacker, and a university professor in an online Master of Information Security program. With more than 10 years of experience in the IT sector, he has visited companies of all kinds in Spain, Portugal, Italy, France, United Kingdom, USA, Chile, Peru, and Costa Rica.


text:
- Admiral William Smyth's Sailor's Word Book, 1867
Ullage of a cask is what such a vessel wants of being full.
- Edward Phillips' New World of English Words, 1706
The quantity of liquor contained in a cask partially filled, and the cpacity of the portion which is empty, are termed respectively the wet and dry ullage.
- Encylopedia Britannica, 1883
To Calculate the amount of ullage in a cask. To fill up again an ullaged cask.
- Sir James Murray's New English Dictionary, 1926