generic object that handles the lazy loading behavior and appears in place of the object's data fields.When the user needs to access it, they simply ask the value holder for its value by calling the GetValue method. At that time (and only then), the value gets loaded from a database or from a service.(this is not always needed).
// Java function to illustrate
// Lazy Initialization in
// Lazy Loading Design Pattern
public class ValueHolder<T> {
 private T value;
 private readonly Func<object, T> valueRetrieval;

 // Constructor
 public ValueHolder(Func<object, T> valueRetrieval)
 {
 valueRetrieval = this.valueRetrieval;
 }

 // We'll use the signature "GetValue" for convention
 public T GetValue(object parameter)
 {
 if (value == null)
 value = valueRetrieval(parameter);
 return value;
 }
}
Note : The main drawback of this approach is that the user has to know that a value holder is expected.
Ghost
A ghost is the object that is to be loaded in a partial state. It corresponds to the real object but not in its full state. It may be empty or it may contain just some fields (such as the ID). When the user tries to access some fields that haven't been loaded yet, the ghost object fully initializes itself (this is not always needed).
For example, Let's consider that a developer what add an online form so that any user can request content via that online form. At the time of creation all we know is that content will be accessed but what action or content is unknown to the user.
$userData = array(
 "UID" = > uniqid(),
 "requestTime" = > microtime(true),
 "dataType" = > "",
 "request" = > "");

if (isset($_POST['data']) && $userData) {
 //...
}
In the above PHP example, the content from the online form can be accessed to the user in the form of text file or any source.
 - UID is the unique id for the every particular user.
 - requestTime is the time when user requested the content from the online form.
 - dataType is the type of data. Mostly it is text but depends on the form.
 - request is the boolean function to notify the user about the request being completed or not.
Advantages
 - This approach is a faster application start-up time as it is not required to created and load all of the application objects.
Disadvantages
 - The code becomes complicated as we need to check if loading is needed or not. So this may cause slower in the performance.
This article is contributed by Saket Kumar. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to _EMAIL_. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
My Personal Notes arrow_drop_up
Recommended Articles
Page :


text:
Learn how meteorologists predict the weather. Investigate using various weather instruments to draw conclusions about what is happening in the sky. Pre-registration is required by the day before the program.
FEE $5/person. The park's regular weekend gate fee ($1.50/person, ages 5 and under free) will also be in effect.

source: openbmb/Ultra-FineWeb


text:
Illustrated Family Record (Fraktur) Found in Revolutionary War Pension and Bounty-Land-Warrant Application File W3079, for Philip Frey, Pennsylvania
During the American Revolution, the Continental Congress passed laws promising pensions or grants of government-owned land to officers and soldiers who served in the war, as well as to the survivors of those killed. This illustrated family record in the German Fraktur script, hand-colored with large birds, is a birth and baptismal document submitted as part of the application for a pension by Anna Margaretha Kolb, wife of Revolutionary War veteran Philip Frey. From Pennsylvania, Frey served between April 1776 and January 1778. He fought in the battles at Long...

source: HuggingFaceFW/fineweb-edu


3.78. kink/test/TEST
Mod for tests.
Tests are collected in the invocation of TEST.collect_in. TEST.collect_in returns a list of the tests collected in the invocation. This invocation is called a collecting session.
A test is registered to the current collecting session by calling TEST.test.
TEST.group can be used to group tests in the collecting session. Groups can be nested. There is a group named "@all" on the root of the collectiong session.
Each test can be run individually.
Usage example:
:TEST.require_from('kink/test/')
:CONTROL.require_from('kink/')
:Tests <- TEST.collect_in{
 TEST.test('10 + 20 == 30'){
 :Sum = 10 + 20
 Sum == 30 || raise('got {}'.format(Sum.repr))
 }
 TEST.group('Num.op_mul'){
 TEST.test('10 * 20 == 200'){
 :Prod = 10 * 20
 Prod == 200 || raise('got {}'.format(Prod.repr))
 }
 TEST.test('20 * 30 == 600'){
 :Prod = 20 * 30
 Prod == 600 || raise('got {}'.format(Prod.repr))
 }
 }
}
Tests.each{(:T)
 CONTROL.try(
 { T.run }
 { stdout.print_line('OK! [{}]'.format(T.addr)) }
 {(:Exc)
 stdout.print_line('Failed: {} [{}]'.format(Exc.message T.addr))
 }
 )
}
# Output:
# OK! [@all; 10 + 20 == 30]
# OK! [@all; Num.op_mul; 10 * 20 == 200]
# OK! [@all; Num.op_mul; 20 * 30 == 600]
3.78.1. TEST.test(Name $test_thunk)
Registers a test to the current collecting session.
3.78.2. TEST.ignore_test(Name $test_thunk)
Registers a test to the current collecting session, under a group named "@ignore".
Invocation of this fun is invoking TEST.group('@ignore'){ TEST.test(Name $test_thunk) }.
3.78.3. TEST.group(Group_name $thunk)
Collects tests and subgroups within the invocation of $thunk.
It must be called in an invocation of TEST.collect_in.
3.78.4. TEST.ignore_group(Name $thunk)
Collects tests and subgroups within the invocation of $thunk, under a group named "@ignore".
Invocation of this fun is equivalent to invoke TEST.group('@ignore'){ TEST.group(Group_name $thunk) }.
3.78.5. TEST.collect_in($thunk)
Opens a collecting session within the $thunk, then returns the registered tests.
3.78.6. type test
A test case.
Test.run
Calls the test thunk.
Test.addr_parts
Vec of the names of the groups and the test.
The group names appear from shallower ones to deeper ones. The test name appears as the last part.
In the next program, the test named "returns 42" is in the group "FOO.bar", which is in the super group "mod FOO". Adding to that, all the tests are contained in a group "@all". Therefore, Test.addr_parts returns ["@all" "mod FOO" "FOO.bar" "returns 42"].
:Tests = TEST.collect_in{
 TEST.group('mod FOO'){
 TEST.group('FOO.bar'){
 TEST.test('returns 42'){
 :Result = FOO.bar
 Result == 42 || raise('got {}'.format(Result.repr))
 }
 }
 }
}
:Test = Tests.front
stdout.print_line(Test.addr_parts.repr) # => ["@all" "mod FOO" "FOO.bar" "returns 42"]
Test.addr
Returns the addr representation of this test.
It concatenates the groups and the name, such as "@all; mod FOO; FOO.bar; returns 42".
Test.repr
'repr' returns the str representation of the test, such as "(test @all; mod FOO; FOO.bar; returns 42)".
3.78.7. TEST.is?(Val)
TEST.is? returns whether Val is a test.


text:
Sixth Grade Students played with state-of-the-art military robots, explored wind technology, danced to music of the past several decades, and discovered static electricity at 4-H Days: Back to the Future, held this week on Fort Leonard Wood.
4-H Days: Back to the future gave students the opportunity to explore science and technology through several work stations including Video Game technology, Mad Science - All About Polymers, Wind Works, Robotics, American Bandstand to Now - Dance to be Fit, Worm Holes in Space Challenge, and Shock Wave Static Electricity.
4-H Days is a collaborative program with 4-H, Fort Leonard Wood, Pulaski County Missouri Extension, the Waynesville School District, and Child Youth and School Services.
"This introduces the sixth graders to the Pippin Youth Center and the 4-H Program. And gives the staff an opportunity to share their talents with other students in the community," Waita Karcher, 4-H Program Assistant, said.
Throughout the day, volunteer soldiers from the 14th Military Police Brigade worked with the students.


text:
Scientific name: Shorea leprosula
Family name: Dipterocarpaceae
Meranti Tembaga trees in Taman Tugu
Meranti Tembaga is an indigenous rainforest tree amongst the 4,100 trees added to the Taman Tugu site, selected in collaboration with Forest Research Institute of Malaysia ("FRIM") and Malaysian Nature Society ("MNS"). This is one of the species being added which is considered as 'Near Threatened' on the International Union for Conservation of Nature ("IUCN") Red List of Threatened Species. This species is being threatened due to deforestation.
The tree is a large-sized tree can grow up to 60m tall and 100cm in diameter. The tree bark is greyish brown with shallowly fissured surfaced. The leaf arrangement is alternate and the stalked leaves have leathery leaf blades that are oblong or oval shaped. The flowering shoots of this tree are long and bear up to 12 pale yellow flowers. The fruits are green-yellow-ping nut with 3 long wings and 2 short wings.
The tree trunk contains dammar resin which is traditionally used in caulking boats and basket. The tree is the source of timber which is mainly used in furniture production and light construction such as door, windows, and flooring.
These trees grow on clayey to sandy soil, limestone, in forests, and on alluvial and dry sites of hillsides and ridges up to 600m altitude. These trees are native to Peninsular Malaysia, Singapore, Thailand, Sumatera, and Borneo.

source: m-a-p/FineFineWeb


text:
Paint the House
- Bucket of water
- Painter's cap
- Give your child a clean paintbrush, a bucket full of water, and a painter's cap and let her paint the outside of the house, the car, or the sidewalk.
- Not only will your child feel proud of doing grown-up stuff, she will actually do something useful in the process, and get fresh air and exercise in addition.
- If your child is old enough to think that painting with water is silly, put some soap into the water and tell her she is washing the house. (In this case, you may not want her to wash the car; it could result in soap streaks.)
Copyright © 1998 by Patricia Kuffner. Excerpted from The Preschooler's Busy Book with permission of its publisher, Meadowbrook Press.
To order this book visit Meadowbrook Press.


text:
Local authorities in Germany have sounded the alarm on a "cost explosion" of unaccompanied migrant minors.
The German Federation of Municipal Authorities has argued that the significantly increasing cost of the minors' "all-round care" means a change in approach to standards will be necessary.
Each unaccompanied minor costs €3,000 to €5,000 per month, and German municipalities are estimated to already be spending around €2.7 billion on young migrants, numbering at more than 65,000 currently in the country.
The association's chief executive, Gerd Landsberg, told the Rheinische Post that the cost of unaccompanied migrant minors has "exploded", and proposed a "more focused" plan for the youths that would lower the cost of care for municipalities.
Giving an example of how he believed the care could be better targeted, Mr. Landsberg said it "makes no sense" for every migrant youth to receive the same around-the-clock care from social workers that is deemed necessary for "maladjusted" young people.
Responding to Mr. Landsberg and the Federation of Municipal Authorities' plans, the German Children's Fund warned of a "two-tier" child and youth welfare scheme. Holger Hofmann, the federal director of the fund, criticised the idea of cost reductions and demanded that the standards "must apply equally to all children in Germany, regardless of their origin or residence status".
Hofmann said the migrant children represented "one of the most vulnerable groups of people ever" and said municipalities must ensure their "special needs" are met.
The German Taxpayers Federation, which aims to reduce the amount of taxation and public spending in the country, noted that the cost of care and integration in different areas would differ widely.
Reiner Holznagel, the Federation's president, said the lack of official figures is "unacceptable" and that migrant costs should be transparent at all state levels.
A comment under the story on the Rheinische Post expressed disbelief that the migrants are in serious need of care, having managed to walk hundreds of kilometres through the Balkans alone. The person suggested that older migrants could show "solidarity and responsibility" for the wellbeing of unaccompanied migrant minors in Germany.


Filter List
Node Icon
Filter an input List on a property value of each list element. For example, you can select all images with a certain name or metadata tag from a list.
Inputs
Input
Input List.
Type: List, List, Required, Single
Outputs
Output
Resulting List.
Type: List
Index
The indeces of the elements in the input List that fulfilled the filter condition.
Type: Numeric Array
Settings
Property Settings
Property Path Text
The path to the property you want to filter on. For example, to filter on the name of the image, set the Property Path to Name. To filter on the echo time in the third volume of an Image, set the Property Path to Metadata[2].EchoTime.
N.B. Filter List assumes that you want to filter a list, so the first index is omitted, i.e. don't write [:].Metadata[2].EchoTime.
Value Type Selection
The type of the property you want to match on.
Values: Text, Numeric, Boolean
Match Settings
Matching Text Text
Matching text.
Matching Number Float
Matching numerical value.
Boolean Boolean
Matching boolean.
Case Sensitive Boolean
Case senitive text matching.
Text Condition Selection
Condition for text matching. For example: to select all MR images from a list of images with mixed modalitites, set the Text condition to be Equal, and the Matching Text to be MR, and set the Property Path to the property containing the modality information.
Values: Contains, Equals, Regex
Numeric Condition Selection
Condition for numerical matching. For example: to select all MR images with an echo time longer than 50 ms, set the numeric condition to be Greater, and the matching number to 50, and set the Property Path to the property containing the echo time information.
Values: Equal, Greater Than, Greater or Equal, Less Than, Less or Equal, Not Equal
Value Settings
Multiple Value Condition Selection
Return a match if any value or all values in an array matches the numeric or logical condition. For example, if the property is a numeric array such as Position, the Matching Number is 50, and the Numeric Condition is Equals; Any will return a match if any number in the position array is 50. If you select All, every number in Position must be 50 to return a match.
Values: Any, All
Action Settings
Action Selection
Keep or discard matches.
Values: Keep, Discard
See also
Keywords:


text:
This book presents theory and applications of Laplace and z-transforms together with a Mathematica package developed by the author, which includes algorithms for the numerical inversion of Laplace transforms. This allows the symbolic computation capability of Mathematica to be used in favor of the Laplace and z-transformations, making them more accessible to engineers and scientists.
The emphasis is on the computational and applied sides, particularly for control engineering, electrical engineering, and mechanics (heat conduction, diffusion, vibrations). Many worked-out examples from applied sciences and engineering illustrate the theory's applicability and how to use the package. Contents
Laplace Transformation | z-Transformation | Laplace Transforms with the Package | z-Transformation with the Package | Applications to Automatic Control | Laplace Transformation: Further Topics | z-Transformation: Further Topics | Examples from Electricity | Examples from Control Engineering | Heat Conduction and Vibration Problems | Further Techniques | Numerical Inversion of Laplace Transforms | Appendix: Package Commands Related Topics
Differential Equations, Engineering


There's a good chance that if you've walked around in any city, you've passed by defensive architecture. It's all around us and it shapes the fabric of the city—which is why it's important to understand what defensive architecture is. According to Toronto-based urban planning researcher Cara Chellew, "Defensive urban design, also known as hostile, unpleasant, or exclusionary architecture is a type of persuasive design used to guide behaviour in urban space by designing out specific uses of street furniture or the built environment as a form of crime prevention or protection of property" (Chellew, "About"). In other words, defensive or hostile architecture is architecture designed to limit the ways in which a space can be used. These subtle design implementations act as miniature zoning laws that dictate appropriate uses of public space. Our goal is to educate people on what hostile architecture looks like and who it impacts.
 What does defensive architecture mean, why does it exist, and what challenges does it bring?
 Take Action
 Take a look at a map of hostile architecture found in Washington, DC and submit your own examples.


text:
- Balancing Data Between Text and Display Items
This means getting the right balance between the data you report in the text of your
manuscript and the data displayed in Figures and Tables. Avoid repeating everything from your display items in the text. I am sure that this advice is given in every book about scientific writing, but authors all over the world ignore it. Does it matter? If you want to get published in a journal with a good name and a high impact factor, it probably does matter.
Let's try the following exercise. Please review Table 1 and select the data you think are
important enough to mention in the Subjects and Methods section of a manuscript, and then list the items below. We will assume that there are no significant differences between the men and women (although that information is not in the Table).
The number of items in the list provides a clue. Hopefully you selected data from the All Subjects column because I just mentioned that there are no significant differences between the two groups of subjects, so it is better to give the overall picture of the patient population. Also because with a group of 125 subjects, you can meaningfully report percentages. The data could be reported as follows:
"The 125 subjects with hyper_____________ (80 men and ___women) had a mean age (+SD) of ________ and a mean body_____ index (BMI) of 27.8 kg/m2. With regard to
comorbidities, __________ (20.8%) had diabetes, 15 patients (12.0%) ________, and 32 patients (_____) had hyper______."
Please fill in the gaps and then compare with the text below.
"The 125 subjects with hypercholesterolemia (80 men and 45 women) had a mean age (+SD) of 67+9 years and a mean body mass index (BMI) of 27.8 kg/m2. With regard to comorbidities, 26 patients (20.8%) had diabetes, 15 patients (12.0%) had angina, and 32 patients (25.6%) had hypertension."
Table 1a Subjects in a clinical trial of Drug X
Read the text together with Table 1a and you can see that the presentation of information is balanced. You can also see something else. How does Table 1a differ from Table 1? The information contained in the table is the same, but I have rearranged it to place All Subjects first. Which way do you think the data are easier to understand, or are both the same? In this case, I would say the original Table 1 is easier, because it has the full group of subjects on the right, which is where I would expect to see the totalled data. On the other hand, you might argue that it is better to have the full group on the left and then break it down into subgroups, as in Table 1a‐this will depend on your cultural perspective.


text:
Skip to Main Content
A theorem is proven which shows that the position and orientation of a specular-reflecting object may be determined using a single camera and unconstrained light source. The camera and light are moved together in a straight line, and specular peaks are noted. From the changes in the location of the peaks, and knowledge of the surface function, the pose of the part may be determined. This paper includes the basic theorem and its proof. Experimental results will be presented at the conference.


Sign up ×
What generalizations of Seiberg-Witten theory to 4-manifolds with boundary do exist?
I would be especially interested in theories which "behave good" under gluing along the boundary (comparable to TQFTs).
share|cite|improve this question
I added the TQFT tag. – Chris Schommer-Pries Mar 16 '10 at 3:15
1 Answer 1
up vote 16 down vote accepted
Hi Fabian! Kronheimer and Mrowka's book Monopoles and three-manifolds lays out comprehensively the construction of a Seiberg-Witten TQFT, called monopole Floer homology. It is conjectured to be isomorphic to the Heegaard Floer homology TQFT of Ozsváth-Szabó. There are also beautiful constructions due to Froyshov and to Manolescu which do not apply in quite so much generality.
The structure of monopole Floer homology is as follows. The TQFT is a functor on the cobordism category $COB_{3+1}$ whose objects are connected, smooth, oriented 3-manifolds. In fact, the TQFT consists of a trio of functors, denoted $\widehat{HM}_{\bullet}$, $\overline{HM_\bullet}$ and $\check{HM}_{\bullet}$ (the last of these is such a sophisticated invariant that you have to download a special LaTeX package just to typeset it properly). These are $\mathbb{Z}[U]$-modules; there's a story about gradings that's too long to be worth summarising here. There are natural transformations which, for any connected 3-manifold $Y$, define the maps in a long exact sequence $$ \cdots\to \widehat{HM} _{\bullet}(Y) \to \overline{HM_\bullet}(Y)\to \check{HM}_{\bullet}(Y) \to \widehat{HM}_{\bullet}(Y) \to \cdots $$ Why this structure? Well, the theory is based on the Chern-Simons-Dirac functional $CSD$ on a global Coulomb gauge slice through a space of (connection, spinor) pairs. $CSD$ is a $U(1)$-equivariant functional, and $\check{HM}_{\bullet}$ is, philosophically, its $U(1)$-equivariant semi-infinite Morse homology. $\overline{HM}_\bullet$ is the part coming from the restriction of $CSD$ to the $U(1)$-fixed-points, and $\widehat{HM}_\bullet$ is the equivariant homology relative to the fixed point set.
Now here's a subtlety for the TQFT enthusiasts out there to get your teeth into (axiomatize, explain...)! The invariant of a closed 4-manifold $X$ in any of the three theories is... zero. The famous SW invariant of a 4-manifold with $b_+>0$ comes about via a secondary operation, not part of the TQFT itself. Delete two balls from $X$ to get a cobordism from $S^3$ to itself. When $b_+(X)>0$, there are generically no reducible SW monopoles on this cobordism, and this implies that the TQFT-map $\widehat{HM}_\bullet(S^3) \to \widehat{HM}_\bullet(S^3)$ lifts canonically to a map $\widehat{HM}_\bullet(S^3) \to \check{HM}_\bullet(S^3)$; it is this lift that carries the SW invariant.
share|cite|improve this answer
If what you say is true, then these can't be TQFTs is the sense of the Atiyah-Segal axioms (i.e. as functors from $COB_{3+1}$ to Vect). It follows from the axioms that for any such TQFT and any 3-manifold X the value of the TQFT on the 4-manifold $X \times S^1$ is the dimension of the vector space associated to X. If this is zero for all X, then the TQFT is the zero TQFT =><=. My recollection is that what you get is similar to an Atiyah-Segal TQFT, but not quite defined on all bordisms. – Chris Schommer-Pries Mar 16 '10 at 3:12
Ahhh, this is why you insisted on connected 3-manifolds! Now I see. – Chris Schommer-Pries Mar 16 '10 at 3:13
Thank you for this extensive answer. I heard about those three approaches, but was not sure which was the most relevant, and if there was something I missed. I see more clearly now. – J. Fabian Meier Mar 16 '10 at 15:46
_USER_. Indeed - since we're not allowed disconnected 3-manifolds, we can't call this a monoidal functor, and we don't get all the usual consequences of the TQFT axioms. For instance, HM-bar is always an infinite rank Z-module. – Tim Perutz Mar 16 '10 at 19:22
Your Answer


text:
Food & Farm News
Audio ActualityCalifornia Farm Bureau President Paul Wenger
mp3 | Real Audio (Real Player required)
2012 | 2011 | 2010 | 2009
2008 | 2007 | 2006 | 2005
» December 7, 2010 «
Farm organizations must work together and be aggressive and strategic, according to the leader of the state's largest farm group. California Farm Bureau President Paul Wenger says farm organizations need to step up their commitment to political engagement, as a new administration and many new legislators take office in Sacramento. In a speech to the Farm Bureau Annual Meeting in Monterey, Wenger said improved water storage and conveyance remain a top priority.
Renowned animal scientist Temple Grandin urges livestock owners to "open up" to the public about how they care for their animals. During a speech to the California Farm Bureau Annual Meeting in Monterey, she recommended farmers and ranchers use the Internet as a tool to demonstrate their animal care practices. Grandin, who has developed animal-welfare auditing systems for a number of large restaurants, is also known for her personal history of autism.
A Sutter County rice farmer has earned a statewide award for his commitment to land, water and wildlife conservation. Al Montna was presented with the Leopold Conservation Award during the California Farm Bureau Annual Meeting in Monterey yesterday (Monday). Among his many conservation activities, Montna manages his rice fields to benefit waterfowl and other wildlife, and has installed a solar power unit on a rice dryer.
A vegetable farmer from Gilroy and an agricultural loan officer from Riverbank won statewide awards in a recognition program for young farmers and ranchers. Pete Aiello of Gilroy and Corinne Santos of Riverbank were honored at the California Farm Bureau Federation Annual Meeting in Monterey yesterday. Aiello earned the Achievement Award, which recognizes farm management, leadership and service. Santos won the Excellence in Agriculture Award for contributions in agriculture and Farm Bureau.


Why is it Called a Burrito?
Across the globe, burritos are noted as a staple in Mexican cuisine. The meat, cheese, bean, and veggie stuffed tortillas are extremely popular, but most people are unaware of their origins. If you are looking for Burritos or Tacos in Farmingdale, it may be worthwhile to learn where they came from and why they are called "burritos" to begin with!
The word burrito translates to "little donkey", stemming from "burro" which means donkey, and "-ito" which means little. Burritos do not contain any donkey products and they do not look like donkeys, so where did the name come from? The truth is that we don't know for a fact who invented the burrito or why. We know that burritos were invented sometime in the 20th century and that there are many theories about their creation. Here are a few examples of theories:
 - Juan Méndez, a street vendor in Chihuahua, Mexico, invented the burrito. During the Mexican Revolution in the 1910s, Méndez decided to wrap his food in flour tortillas to keep it warm and transport it on his small donkey. He then realized that wrapping the food in a tortilla was tasty and a good way to serve it.
 - People from a northwestern state of Mexico, called Sonora, invented the burrito because of its mobility. Burritos in Mexico at the time were not as stuffed and full as they are today in the United States, so they were extremely easy to travel with. This influenced the burrito's name because it was the donkey's sidekick in travel.
 - The burrito was invented in Ciudad Juárez in the 1940s by a street vendor. He portioned the food and wrapped it in a tortilla, making it appropriate for school children, whom he derogatively referred to as "burritos" because he believed they were unintelligent.
While their origins are unclear, burritos have stood the test of time. While they were likely simple at the time of their creation, burritos have evolved to include an enormous variety of ingredients, fillings, and flavors. The more classic-styled burritos typically contain some of the following ingredients:
 - Beans
 - Rice
 - Meat
 - Guacamole
 - Salsa
 - Pico de gallo
 - Cheese
 - Sour Cream
 - Corn
 - Lettuce
 - Peppers
 - … and more!
With an endless range of ingredients, it is easy to find a burrito that works for you and your tastebuds! If you are looking for burritos or tacos in Farmingdale, come visit us at High Tide Taco Bar. Here, we have vegan options, seasonal specialties, amazing Taco Tuesday deals, and a vast menu of options! Contact us for burritos and tacos in Farmingdale today!


text:
Improvement of the effectiveness of development of watered and underwater deposits of ore and non-metallic sands can be achieved through the use of technological complexes of extraction and processing (EPC) "pump dredge - slurry pipeline - screening installation." In the proposed version of the complex for the separation in the initial pulp of gravel, clods of clay, debris, shells, etc., an inclined grizzly is installed. Such a grizzly does not require a centralized power, water or pneumatic supply of the processing section, and the material is separated due to the kinetic energy of the moving flow conveyed by the pump dredge pulp.
We have developed a number of structural designs of inclined grizzlies, which are successfully operated as part of hydro-mechanized technological mining complexes.
Inclined grizzlies delivery set: inclined grizzly, admission unit of the original pulp, pulp collection hopper for a commodity product, guide tray of gravel, bar screens, support structure, service platform and stairs.
Inclined grizzlies short technical specification
Type of inclined grizzly
Feeding productivity, pulp, m3/hour
Separation size, mm
Number of screens, pieces
Angle of screens, degree
* Depending on the design weight of the inclined grizzlies can be changed.


text:
The March-May seasonal rains were below average over most of the eastern Horn
- Cumulative rainfall for the 2021 March to May rainy season was generally less than 85 percent over much of the eastern Horn despite moderate to heavy rainfall in late April and early May. The worst-affected areas received less than 55 percent of normal rainfall. The rest of the region experienced near-average to above- average rainfall during this period.
- In May, rangeland resources significantly improved across East Africa following the late seasonal rainfall. These rains are expected to provide short-term improvements to pasture and water conditions over the eastern Horn.
- In the main cereal production areas in East Africa's western and central regions, crop production prospects remain favorable for both the belg and long rain-dependent areas. However, below- average to moderately-to-significantly below-average crop production is anticipated over the eastern regions due to delayed onset and insufficient and poorly distributed March-May seasonal rainfall.
- The dry season over much of the eastern Horn of Africa has begun following the end of the March-May rains. Meanwhile, in the northern sector of the region, a timely onset of the June- September seasonal rains is currently underway.


text:
MADE IN ITALY
Awning the Italian way: this is our mission, transmitting the core values of Made in Italy, research and passion for what we do.
Find out more about BAT internal production chain: components and systems for awnings designed, engineered and produced entirely in the Noventa di Piave plant, near Venice, Italy.
The first step concerns the creation of the mold, that is, the result of a preliminary stage of study and engineering. In fact, the company, in order to get a component, deals with the design and self-creation of molds that return the raw product ready for subsequent machining. The company has a 3D printer for prototyping the details and their verification before the components are manufactured.
The next step involves machining components in special machines for removing small blemishes on the surface of the component, sandblasting and sanding of each piece. This approach ensures total control over the output standardization and conformation of output components and the removal of production errors.
PRE-TREATMENT and PAINTING
Pre-treatment involves 5 stages of washing and chemical treatments before painting. Thanks to this phase, a painted component after 5 years is not scattered even in challenging environmental situations, for example in seaside locations. The test of time is on the part of products leaving the BAT Group plants.
BAT Group's industrial coating is a refined process for decades that makes the product eye-catching and durable over time. The coating is therefore of a high level, requires many steps and several drying steps to ensure a great effect and functionality.
Assembly is the final part of the process. This phase benefits from the know-how BAT Group has since its founding in engineering and engineering. In fact, BAT Group designs every single piece internally and engineers the way it is done with which machines and technologies and materials. Consequently, each complex product system is made up of components that have no differences or imperfections, but their design consistency ensures optimum operation during assembly.


text:
Types & Challenges
Two main types of ethnography
For non-participant observation, the researcher tries to observe the subjects from distance without interaction, trying not to influence the social behaviour of the subjects.
For participant observation, the researcher builds direct relationship with the subjects by staying in the field, observing and describing the behaviour of the subjects. S/he even participates in daily activities of the subjects to make sense of the meanings embedded in the social practices of the subjects in a specific cultural context.
Challenges of involvement and detachment
Continuous involvement and detachment from the field could be challenging to researchers because:
- They need to observe closely on the social life of their subjects as social actors;
- They also need to stand back and interpret the data collected as social scientists
It is not easy to strike a balance between these two roles (Gobo, 2008).
Therefore, researchers need to be self-reflective by constantly reflecting on what they have observed and participated in by making notes and asking questions to prevent themselves from completely immersed in the field of study (Duranti, 1993).


Adding tags to an existing AWS Elemental MediaConvert resource - MediaConvert
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China.
Adding tags to an existing AWS Elemental MediaConvert resource
The following procedure shows you how to add tags to existing job templates, output presets, or queues using the AWS Elemental MediaConvert console. You can't use the console to add tags to existing jobs.
For information about adding tags using the API, see the POST method in the Tags endpoint section of the MediaConvert API Reference.
Note
Tags on your MediaConvert resources don't appear in the JSON response to a GET request on the resource. Instead, send a GET request to the Tags endpoint. If you send your request directly to the API, rather than using an SDK, you must URL encode the resource ARN.
To add tags to job templates, output presets, and queues (console)
 1. Open the MediaConvert console at _URL_
 2. Choose the three-bar icon on the left to access the left navigation pane.
 3. Choose Output presets, Job templates, or Queues.
 4. Choose the name of the specific resource that you want to add a tag to.
 5. Choose the Update, Edit queue, or Update preset button in the upper right.
 6. In the Tags section at the bottom of the page, choose Add.
 7. For Tag key, enter a name for the tag. For Tag value, enter a value for the tag.
 8. Choose Save.


help-make
[Top][All Lists]
Advanced
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: what's the meaning of $& in clearmake
From: Brian R Cowan
Subject: Re: what's the meaning of $& in clearmake
Date: Wed, 6 May 2009 10:37:13 -0400
Why are you asking this question in the GNU make list? Rather the wrong
place for this question.
I've checked the ClearCase man pages for makefile_gnu and makefile_ccase
and come up blank. I've also checked the gnu make docs, and nothing
references this construct anywhere. Judging by it's position, it either
becomes a second colon under certain conditions or it's supposed to map to
another filename.
So, does the makefile have multiple lines that start (exactly)
"$(ARBORBIN)/$(MODULE):$&"?
What do you see for the targets in question if you run clearmake -d or
clearmake -dp and watch the output?
Since you're asking this question, it is a given that this is an
"inherited" makefile. So, it may have bene around for a while... So, this
could be a leftover artifact from a much older make, and since it appears
in my quick check to become an empty string, it was probably left in
because it *appeared* harmless. You should be able to verify this by
either looking at the make output (to determine what it is) or removing
all the "$&"'s from the makefile and seeing what breaks. (for this latter
option, I would recommend using a fresh view to make sure you build using
a clean slate.
=================================================================
Brian Cowan
Advisory Software Engineer
ClearCase Customer Advocacy Group (CAG)
Rational Software
IBM Software Group
81 Hartwell Ave
Lexington, MA

Phone: _PHONE_
Web: _URL_

Please be sure to update your PMR using ESR at
_URL_ or cc all
correspondence to address@hidden to be sure your PMR is updated in
case I am not available.
From:
xiangfeng shen <address@hidden>
To:
address@hidden, address@hidden
Date:
05/05/2009 11:27 PM
Subject:
what's the meaning of $& in clearmake
Sent by:
address@hidden
Hi,

I encounter the $& in my clearmake, such as:
$(ARBORBIN)/$(MODULE):$& $(OBJECTS) makefile $(DBPROCS) $(SCRIPTS)
 $(RM) $@
 .......

Who knows the meaning of $& in clearmake?

thanks.
carl shen_______________________________________________
Help-make mailing list
address@hidden
_URL_
reply via email to
[Prev in Thread] Current Thread [Next in Thread]


text:
Under the guise of "aid in dying", Connecticut is considering a bill (HB 5898) that would provide legal cover to doctors who proscribe death to treat illness, provided they dot every "i" and cross every "t". Worse yet, there is no requirement for a mental health evaluation to be done before the patient takes the death drugs, only that any such evaluation is made when they are requested, and even then a patient could be "steered" by a doctor, hospital, &c..
"Proponents talk of 'safeguards.' Nothing can prevent an erroneous prognosis or keep a vulnerable person from subtly being steered. Moreover, the bill's focus is on the parameters of permissible medical behavior and not on patient protection. Thus, the minimal criteria written into the bill apply only to the prescribing of the lethal drugs, and not to their use. Any mental health evaluation to determine if a person has impaired decision capacity is made when he requests the drugs.
"There is no requirement that a person be evaluated just prior to taking the drugs although mental state can fluctuate widely based on physical factors like oxygen level. It is conceivable that a person could take the drugs during a temporary depression or on impulse. Drugs are to be self-administered but there is no mechanism for insuring that will always be the case. It would be very easy for mistakes or abuse to occur and never be discovered."
The bill, as introduced, can be read here, or below:
Connecticut HB5898 (2019) by on Scribd


Navigation Bar
Akbar troops invade Khandesh
The annexation of Khandesh in 1601 by Akbar was an event of great military and economic importance in the history of Mughal India. Khandesh provided a territorial link between the north and the south. The Mughals realised this; they made use of its resources to promote, preserve and protect the imperial interests. The region, in fact, assumed far greater importance under the Mughals than it had under the Faruqis. For a century and a quarter (_PHONE_), Khandesh as a Mughal province played a vital role in the history of medieval Deccan.
Nine Unknown Men


_review to needs_work
 - Work issues set to Split into different modules. Use parents and elements.
I suggest to add #14535 as a dependency. It allows to create immutable graphs.
If I understood correctly, sage-combinat-devel agrees with the following plan:
 - There is no mathematical difference between a quiver and a digraph. Immutable graphs are provided by #14535. Hence, for now, there seems to be no need for a separate sub-class "Quiver" of "DiGraph?". But of course, we could have a factory, that returns immutable digraphs after checking that all labels are as we want them.
 - How shall we call the algebraic structure formed by the paths in a quiver? PathMonoid? PathMagma? QuiverMonoid? QuiverMagma? All the algebraic stuff (representations, path algebra, and also list of quiver paths in contrast to list of paths as a digraph) should be accessible from there. Methods like "is_sink" should be implemented on DiGraph.
 - In contrast to Jim's code, QuiverPath should be an element, namely an element of the afore-mentioned algebraic structure.
 - We should allow directed cycles and loops where possible. We can currently only have quiver representations for acyclic quivers. But there is no reason to restrict QuiverMonoid and QuiverAlgebra to the acyclic case.
 - "QuiverMonoid" should be a unique parent. I suggest using UniqueRepresentation, the key ultimately being an immutable digraph. A custom __classcall__ method could accept a broader range of arguments, that could then be turned into an immutable digraph used as key.
 - A QuiverMonoid M is not a DiGraph. Of course, it can return the underlying quiver by M.quiver() (which could actually be identical with the graph used as a key when creating M), and M is uniquely determined by M.quiver().
comment:40 follow-up: Changed 5 years ago by chapoton
I think the correct name for the "algebraic structure" containing the paths is "the free category generated by a quiver".
So maybe a good name can be FreeCategory? or FreeSmallCategory? ?
comment:41 in reply to: ↑ 40 Changed 5 years ago by SimonKing
Replying to chapoton:
I think the correct name for the "algebraic structure" containing the paths is "the free category generated by a quiver".
So maybe a good name can be FreeCategory? or FreeSmallCategory? ?
True, mathematically. Do you think that the to-be-created class for this algebraic structure should be implemented as a Category, i.e., inherit from Category, with objects corresponding to the vertices of the quiver, and homsets corresponding to the arrows? Or should it just be called FreeSmallCategory?
comment:42 Changed 5 years ago by SimonKing
 - Dependencies changed from #12412, #12413, #14535 to #12412, #12413
It seems that inheriting from both Parent and Category would mean to ask for trouble (e.g., if F is the free small category of a quiver, then F.element_class of F-the-parent would be used for the paths in F, while F.element_class of F-the-category would be used for the elements of F's objects, i.e., of its vertices). Moreover, providing a general framework for immutable graphs means "opening a can of worms".
By the latter, I start to understand the motivation for introducing a separate class for "quiver-the-graph": It is mainly a digraph, but it is made immutable by overriding certain mutating methods. At the end of the day, it would be better to keep the class Quiver, but perhaps using UniqueRepresentation (because this yields a fast hash) rather than a UniqueFactory.
Still, I think the code should be split up into smaller pieces, and there should be a proper parent for "quiver-the-associative-magma", called FreeSmallCategory (which for now should just be a Parent, but not inherit from Category) and turning QuiverPath into a proper element (and I still don't see why it should be a UniqueRepresentation).
I removed the dependency on "immutable graphs" that I had introduced.
comment:43 Changed 5 years ago by SimonKing
It seems that QuiverAlgebra may be superseded by Nicolas Thiéry's functorial construction patch. However, I think it would be better to not make the functorial construction patch a dependency, and Nicolas seems to agree.
comment:44 Changed 5 years ago by vbraun
+1 for splitting up this patch bomb.
Using a separate directory for quiver stuff would be great, too. I would prefer singular sage.quiver.representation over plural sage.quivers.representations
comment:45 Changed 5 years ago by SimonKing
I am currently working on a patch according to the comments above. It has
algebra.py free_small_category.py homspace.py __init__.py morphism.py paths.py quiver.py representation.py
in sage/quivers.
quiver would be for the "immobilised" version of digraph, paths for the element class of the parent structure that is defined in free_small_category, and I suppose you correctly guess the content of homspace, algebra, morphism and representation.
Is this OK?
comment:46 follow-up: Changed 5 years ago by vbraun
I'm hoping that everything so far is allowing loops, since that is the case of interest for me ;-)
I would still prefer sage.quiver over sage.quivers since sage.quivers.algebra makes me cry a little bit inside. But I do realize that the Sage library is totally inconsistent in the use of plural vs. singular, so its your call.
comment:47 in reply to: ↑ 46 Changed 5 years ago by SimonKing
Replying to vbraun:
I'm hoping that everything so far is allowing loops, since that is the case of interest for me ;-)
Same here.
I would still prefer sage.quiver over sage.quivers since sage.quivers.algebra makes me cry a little bit inside. But I do realize that the Sage library is totally inconsistent in the use of plural vs. singular, so its your call.
I thought plural is good, because we have sage.algebras, sage.modules, sage.graphs, sage.categories, sage.rings, etc.
comment:48 Changed 5 years ago by vbraun
There is also sage.matrix, sage.geometry, sage.plot, sage.structure', etc. As I said, totally inconsistent.
comment:49 Changed 5 years ago by SimonKing
 - Authors changed from Jim Stark to Jim Stark, Simon King
 - Description modified (diff)
 - Keywords days49 added
Even though my patch isn't finished, I'll post it, so that we can discuss about it at SD49. Many doctests currently fail.
Apply trac_12630_quivers_v2.patch quiver_distributed_code.patch
comment:50 Changed 5 years ago by SimonKing
Here are the current failures:
sage -t sage/quivers/paths.py # 91 doctests failed
sage -t sage/quivers/representation.py # 450 doctests failed
sage -t sage/quivers/homspace.py # 127 doctests failed
sage -t sage/quivers/free_small_category.py # ValueError in doctesting framework
sage -t sage/quivers/quiver.py # 118 doctests failed
sage -t sage/quivers/algebra.py # 78 doctests failed
sage -t sage/quivers/morphism.py # 290 doctests failed
Scary. But I guess most of them are due to change of syntax. In the original code, one was able to create a paths without reference to a quiver, and then multiply them. In the new code, one needs to have a quiver, get the associated free small category, and construct elements of it. I think this is cleaner. And after all, in real applications, we have a quiver.
comment:51 Changed 5 years ago by SimonKing
 - Cc mguaypaq added
comment:52 follow-up: Changed 5 years ago by SimonKing
 - Cc nthiery added
Some comments from a discussion with Nicolas:
 - Currently, we say FreeSmallCategory. Isn't it simply a semi-group?
 - If it is a semi-group (in particular, if it is declared in the category of semi-groups, and not in the category of magmas, it might be possible that we can inherit most of the functionality that is now in QuiverAlgebra. Namely, there already is Semigroups.Algebras.
 - Slight problem: Currently, the invalid path is not mentioned in the list of elements of the free small category / semi-group of a quiver, but it is recognised as an element. This is odd, but on the other hand, when we add it to the list of elements, then the dimension of the algebra will be one more.
comment:53 Changed 5 years ago by virmaux
 - Cc virmaux


text:
A new policy paper by The Jewish People Policy Institute (JPPI) urges the Government of Israel to share the cost of Jewish education for the children of Israeli immigrants (Yordim) in the Diaspora. The paper, Helping Yordim Remain Jewish: A new policy for the treatment of Israeli migrants abroad, argues that Israelis residing abroad, especially in North America, can be a strategic asset to Israel, and help facilitate a process of demographic and identity regeneration within Diaspora Jewry as well as serve as a bridgehead between Israel and Jewish communities abroad. The paper addresses Israeli decision makers and leaders of Jewish communities in the Diaspora.
The major recommendations of this new paper include:
- Israel should give Israeli migrants absentee voting rights for their first four years abroad to strengthen ties with Israel.
- Israel should finance establishment of kindergartens and schools for children of Israelis in the Diaspora.
- Israel should finance special study tracks for the children of Israeli migrants studying in Jewish schools.
These recommendations are based on a detailed analysis of the current state of the Israeli migrant community in the Diaspora, which indicates that:
- Israeli immigrant community could be an asset both to Israel and local Jewish communities.
- The second-generation Israeli migrant community is exposed to accelerated assimilation processes.
- Israeli parents abroad face difficulties in instilling "Israeli" identity in the next generation.
The paper's author, Yogev Karasenty, a JPPI fellow, told eJP, "investing in preserving the Israeli-Jewish identity of children of Israeli emigrants abroad, is in line with the Zionist ethos. Rather, the existence of a strong and integrated Jewish-Israeli Diaspora is a clear Israeli interest. Stronger involvement of migrants from Israel in the Israeli public arena could serve as an effective tool for strengthening their ongoing ties with Israel. "


_USER_ {export:180032, abstract = {
Whereas traditional dialog systems operate on the top ASR hypothesis, statistical dialog systems claim to be more robust to ASR errors by maintaining a distribution over multiple hidden dialog states. Recently, these techniques have been deployed publicly for the first time, making empirical measurements possible. In this paper, we analyze two of these deployments. We find that performance was quite mixed: in some cases statistical techniques improved accuracy with respect to the top speech recognition hypothesis; in other cases, accuracy was degraded. Investigating degradations, we find the three main causes are (non-obviously) inaccurate parameter estimates, poor confidence scores, and correlations in speech recognition errors. Overall the results suggest fundamental weaknesses in the formulation as a generative model, and we suggest alternatives as future work.
}, author = {Jason D. Williams}, journal = {IEEE Journal of Selected Topics in Signal Processing}, month = {December}, number = {8}, pages = {959-970}, publisher = {IEEE SPS}, title = {Challenges and Opportunities for State Tracking in Statistical Spoken Dialog Systems: Results From Two Public Deployments}, url = {_URL_ volume = {6}, year = {2012}, }


Skip to main content
Advertisement
Springer Nature is making SARS-CoV-2 and COVID-19 research free. View research | View latest news | Sign up for updates
Improved mirror position estimation using resonant quantum smoothing
Abstract
Quantum parameter estimation, the ability to precisely obtain a classical value in a quantum system, is very important to many key quantum technologies. Many of these technologies rely on an optical probe, either coherent or squeezed states to make a precise measurement of a parameter ultimately limited by quantum mechanics. We use this technique to theoretically model, simulate and validate by experiment the measurement and precise estimation of the position of a cavity mirror. In non-resonant systems, the achieved estimation enhancement from quantum smoothing over optimal filtering has not exceeded a factor two, even when squeezed state probes were used. Using a coherent state probe, we show that using quantum smoothing on a mechanically resonant structure driven by a resonant forcing function can result significantly greater improvement in parameter estimation than with non-resonant systems. In this work, we show that it is possible to achieve a smoothing improvement by a factor in excess of three times over optimal filtering. By using intra-cavity light as the probe we obtain finer precision than has been achieved with the equivalent quantum resources in free-space.
Background
Introduction
The field of quantum metrology can be described as using quantum resources to enhance measurement precision beyond that achievable with purely classical resources. There are a number of resources that are available such as entanglement [1], superposition [2] and squeezing [3]. There are also tools such as adaptive feedback [4] and quantum smoothing [5] to further exploit the quantum enhancement. Quantum parameter estimation (QPE) is a related discipline that is focussed more specifically on precisely estimating the classical parameters of a quantum system. The importance of QPE to fields such as gravitational wave detection [6], quantum metrology [7, 8], quantum control [9] and opto-mechanical force [10, 11] sensing has been well established. Technological evolution in recent times has seen an increase in the range of pertinent architectures where quantum mechanical effects have become relevant [1113]. There have also been experimental demonstrations of key advances in QPE. For example, in optical phase estimation we saw successive lowering of achievable mean square estimation error by the use of adaptive feedback [14] and adaptive feedback was combined with smoothing [15] to achieve a further reduction. With the addition of phase quadrature squeezing the limit was once more lowered [16]. A recent extension of these QPE techniques to a more macroscopic domain uses an optical probe beam to obtain an estimate of the position, momentum and force acting on a free-space mirror [17].
As was shown in [5], an increase in estimation precision relative to filtering is expected when quantum smoothing is used. Previous work here has only considered first-order forcing noise processes with non-resonant interactions between the forcing functions and the system. For such setups, results to date have yet to show a greater than two improvement of the smoothed estimate over the filtered equivalent. An interesting open question therefore remains as to whether this factor of two improvement is an upper limit for more complicated systems. So in this work we consider a higher order forcing function that is Lorentzian in frequency. Additionally, we consider resonant interactions between the forcing function and the system (mirror) with the centre frequency of the Lorentzian aligned with the peak of a mechanical resonance. Here our theory suggests that for more realistic resonant systems driven by less benign processes, the factor of two improvement with smoothing can be improved on significantly. We present theory and simulations results showing a greater than two smoothing improvement over the equivalent optimal filtered estimate obtained. The results of the simulations both verify and extend beyond the theoretical analysis and we present experimental results to verify the simulations.
Theory - optics
To date the experimental demonstrations of smoothing have focussed on systems where the probe beam (even when quantum enhanced) interactions are in free-space. It is relatively well known that optical cavities can be used to enhance measurement precision. In the context of this work the strong intra-cavity field in an optical cavity provides more photon interaction with the parameter to be estimated. As each photon potentially probes the parameter many times the cumulative effect gives higher sensitivity without need for extra photon resources. Because the experimental validation makes use of the enhancements in sensitivity achievable by the use of optical cavities, the theory and simulation assume an intra-cavity probe.
Using the formalisms in [18], a single ended cavity, see Figure 1, is described in terms of optical fields as
$$ \dot{a} = - \kappa a + i\Delta a + \sqrt{2\kappa_{a}}A_{\mathrm{in}} +\sqrt {2\kappa_{la}} {A_{l}}, $$
(1)
where \(A_{\mathrm{in}}\) is the input field and a is the cavity field. Here \(\kappa= \kappa_{a} + \kappa_{la}\), \(\kappa_{a}\) is the half width half maximum (HWHM) cavity decay rate and \(\kappa_{la}\) is the intra-cavity loss term. We use the standard approach of separating AC and DC terms, i.e. \(A = \alpha+ \delta A\) and note that the loss term (\(A_{l}\)) has no DC component. After solving (1) and its conjugate for steady state (\(\dot{\alpha}=0\) and \(\dot{\alpha}^{*} = 0\)) and applying the boundary condition (\(\alpha_{\mathrm{out}} = \sqrt{2\kappa_{a}}\alpha- \alpha _{\mathrm{in}}\)) for the output coupler we obtain
$$\begin{aligned}& \alpha_{\mathrm{out}} = \frac{2 \kappa_{a} (\kappa\alpha_{\mathrm{in}} + i \bar {\Delta }\alpha_{\mathrm{in}})}{\kappa^{2} + \bar{\Delta}^{2}} - \alpha_{\mathrm{in}}, \end{aligned}$$
(2)
$$\begin{aligned}& \alpha_{\mathrm{out}}^{*} = \frac{2 \kappa_{a} (\kappa\alpha_{\mathrm{in}}^{*} - i \bar {\Delta }\alpha_{\mathrm{in}}^{*})}{\kappa^{2} + \bar{\Delta}^{2}} - \alpha_{\mathrm{in}}^{*}. \end{aligned}$$
(3)
We use the standard quadrature definitions \(X_{\mathrm{out}}^{+} = (A_{\mathrm{out}}^{\dagger}+ A_{\mathrm{out}})\) and \(X_{\mathrm{out}}^{-} = i(A_{\mathrm{out}}^{\dagger}- A_{\mathrm{out}})\) and assume that \(A_{\mathrm{in}}\) is real. We apply an AC forcing function to a cavity mirror via a piezoelectric transducer (PZT) (bottom right Figure 1) that varies the mirror position. The goal is to estimate that forcing function with the smallest possible mean square error (MSE). The applied signal varies (or detunes) the resonant frequency of the cavity about an average value set by cavity length. This is manifested in equation (1) via the non-linear cavity detuning term Δ, which is zero when the optical frequency is equal to the cavity's resonant frequency. The result is a non zero detuning term and hence a non zero signal on the phase quadrature at the applied AC frequency. To account for this, we also separate the non-linear cavity detuning term into average and fluctuating terms giving \(\Delta= \bar{\Delta} + \zeta(t)\), where \(\zeta(t)\) accounts for our applied AC forcing function (see equations (5) and (6)). The DC component of the detuning term \(\bar{\Delta}\) is assumed to be zero, meaning the DC component of \(X_{A_{\mathrm{out}}}^{-} \) is neglected and the DC field of interest is
$$ X_{A_{\mathrm{out}}}^{+} = \biggl(\frac{2\kappa_{a} - \kappa}{\kappa} \biggr) X_{A_{\mathrm{in}}}^{+}. $$
(4)
Now we address the fluctuating terms in (1). We cannot assume steady state so we move to


text:
Solving a Ratio Problem
Date: 02/06/2006 at 20:21:39 From: Jennifer Subject: How do you solve a ratio? There are 33 red and yellow counters in a container. The ratio of red to yellow is 3 to 8. How many red and yellow counters are there? I know there are 33 and that for every three red there are eight yellow.
Date: 02/06/2006 at 22:08:44 From: Doctor George Subject: Re: How do you solve a ratio? Hi Jennifer, Thanks for writing to Doctor Math. I'll show you two ways to think about this problem, one using algebra and one without it. One of my high school teachers showed me a clever way to solve this problem using algebra. If we use R and Y for the number of red and yellow counters then let R = 3x Y = 8x for some unknown value x. We can see immediately that R/Y has the correct ratio of 3/8. Now find the sum. R + Y = 33 Can you finish it from here? When you take the next step you should see the reason for introducing the new variable x. Another way to think about this, which is very similar but doesn't use the variable, is to think about groups of the counters. You know that for every 3 red there are 8 yellow, so together that would make a group of 11 counters. How many of those groups of 11 are there if there are 33 counters in the container? Can you use that information to figure out how many of each color there are? Write again if you need more help. - Doctor George, The Math Forum _URL_
Search the Dr. Math Library:
Ask Dr. MathTM
© _PHONE_ The Math Forum


text:
Summary: The following article provides a rare example of the civilian and military sectors successfully working together to investigate UFO sightings.
Life in the tiny kingdom of Belgium is anything but harmonious. In fact, ferocious rivalry between the Flemish up north and the Walloons down south has dominated Belgian politics for centuries. But according to UFO activists, a mysterious triangular craft may do much to change this. Belgians from the north and the south, it seems, have put aside their differences to form what some call the most coordinated UFO investigation to date.
It all began on November 29, 1989, when hundreds of people from two Belgian towns—Eupen and Wavre—reported sighting a dark gray deltoid shape, one white light per tip, gliding across the night sky. The mysterious object, with a wingspan of 50 to 100 meters, was apparently silent, says Michael Bougard, president of Belgium's Society for the Study of Space Phenomena (SOBEPS), a nonprofit citizens' organization. "And no one reported seeing it land."
By March, adds Bougard, "everyone from farmers to teenagers to high-ranking military officers and professors claimed to have seen the UFO." In addition, on March 30, controllers at a radar station in Glons detected a foreign object on their screens. They quickly contacted colleagues at a station in Ghent. The second station confirmed the presence of a slow-moving blip.
"At this point it had become a scientific problem deserving serious investigation," says Professor Leon Brenig, a physicist at the Free University of Brussels. "It couldn't be steel coming back into the atmosphere because the edges were smooth, not bent. It couldn't be a NATO aircraft because its capacity for flight seemed to outreach current technology. I decided it was worth my time."
Apparently the military agreed. Belgium's Air Force contributed two F-16's, an expert crew, and instruments to a hunt later that spring. Scientists and citizens participating in the effort formed four watch groups, each responsible for calling sightings into headquarters, an airport southeast of Liege. The airport tower, in turn, alerted pilots, who flew planes equipped with infrared cameras in pursuit of the triangle. The pilots failed to get photographs because of the deltoid's reported great speed.
Nonetheless, the effort goes on: Engineers and physicists at the Free University are analyzing radar images of the object. Belgium's Air Force training school, the Ecole Royale Militaire, is analyzing UFO photos with computers. And botanists are examining burn patterns in fields where the triangle was reportedly seen.
"This investigation is unprecedented — its gone further than any I know of," says Walter Andrus, international director of Mutual UFO Network, Inc. (MUFON). "We are impressed that Belgium's military cooperated. That is a major step." Indeed, adds Lucean Clerebaut, SOBEPS's secretary-general, while the French have a government office dedicated to UFO study, "this is the first time that a national authority has worked with a private society in researching UFOs."
Whether or not the Belgians eventually unravel the mystery, the unusual official effort may affect the perception and pursuit of UFOlogy worldwide.
According to MUFON's Andrus, for instance, in the United States, "every military and intelligence agency we can identify has been involved in investigating UFOs since 1947, but they will not share their information. If nothing else, we hope the efforts of the Belgians will embarrass the U.S. government into admitting some of what they know," he says.


text:
UPS Competes Globally with Information Technology
Prepared By: Shehan Fernando
UPS also known as United Parcel Service, they are a package distribution company. "UPS is the world's largest ground and air package- distribution company". They arrived as the world's largest distribution company with the help of information technology, they use software such as there package tracking system to deliver parcels faster. UPS delivers more than 15 million parcels each day in North America and more than 200 countries.
One major IT issue surrounding this case could be a virus targeted towards UPS package tracking system. If a virus was to target UPS, all of the information of the package and parcel receiver would be lost. This would lead to no profit because without that information the customers won't receive any of their merchandise making UPS out of business.
To Think About
1. Inputs gather the raw data from the company. The inputs of UPS's package tracking system includes the packaging information, customers signature, information about the customer, the destination, and when the package should be arrived. Processing is the conversion of the raw data input from the company into a meaningful scheme. The processing of UPS's package tracking system is the data that has been sent to a central computer and is stored until needed. The data is also stored so that they can be tracked by the customer's account for fast delivery of the package. An output transfers the processed information to the buyers. The outputs of UPS's package tracking system include the pickup and delivery time, and the inheritor of the package.
2. Technologies that are used by UPS consist of handheld computers called Delivery Information Acquisition (DIAD), scannable bar-coded label, wired and wireless communications networks, UPS's central computer, a package chip can access UPS's website and UPS also provides tools that gives power to the customers to use certain...


Groovy app internationalization and localization
Apache Groovy is a Java-syntax-compatible object-oriented programming language for the Java platform. It is both a static and dynamic language with features similar to those of Python, Ruby, and Smalltalk. It can be used as both a programming language and a scripting language for the Java Platform, is compiled to Java virtual machine (JVM) bytecode, and interoperates seamlessly with other Java code and libraries.
Created by
James Strachan
Released
2003
Links
_URL_
Wikipedia
Groovy applications are usually translated these file formats
Related Platforms
Best way to localize Groovy apps
The first step is to extract the text to translate into language files. This process is called internationalization. The built-in libraries can be used to extract out the text to translate into Java Properties or Java XML files.
Once you have internationalized your Groovy app, use a translation software localization tool such as WebTranslateIt to manage your localization workflow.
It is easy to translate a Groovy app with WebTranslateIt. Create a project, upload your source language file in the File Manager and translate it on the Translation Interface.
The tools included in WebTranslateIt, such as Batch Operations, the Translation Memory or Machine Translation can help you translate that file automatically, faster and cost effectively.
Links of interest
Do you know an interesting library for that platform? Have you found an error? Let us know at _EMAIL_


30 January 2009
"Typically Overconfident Generalization"
Seth Lerer's Children's Literature: A Reader's History from Aesop to Harry Potter has been nominated for a National Book Critics Circle award (motto: "Like the National Book Award, except that it sells even fewer books.")
Perry Nodelman isn't happy. To quote:
Towards the end of the book, Lerer refers to Harry Frankfurt's On Bullshit in order to announce the typically overconfident generalization that "the boys of much contemporary literature are artists of the game" (315). Lerer goes on to enthuse about the "a vertiginous quality of bullshit, a thrill that the bullshitter gets of making up the details, forming a persona, raising expectations," and he includes himself among the boys who indulge in it: "we can feel almost an ecstasy in our own imagination" (316). In the light of this book's wild theorizing woven out of a surprisingly limited number of texts and verifiable facts, I have to conclude that Lerer found putting it together to be a thrilling experience.


text:
Script Consulting Services
has worked as a script consultant and story analyst for the past two decades. Her highly regarded technique helps writers identify and focus on the deeper, thematic, emotional and even spiritual dimensions of their stories. Dara incorporates the fundamentals of traditional story structure, but also moves writers beyond that paradigm, by identifying an interior structure that forms the Transformational Arc.
This arc illuminates the inner journey that a character takes while moving through the external events (or plot) of a story. This movement especially resonates with the audience because it parallels our experiences in real life. An incident or series of events that form a plotline only has profound meaning if it can lead us to a greater and deeper understanding of ourselves and the world around us. The Transformational Arc can be found in all genres and it is the single most important factor that separates good scripts from great ones.
Dara's process of story analysis encompasses four major goals:
- To identify the primary structural elements of the plot and subplot lines in order to develop a structural breakdown of the script. This allows the analyst to virtually "look inside" the story and gauge clearly and precisely what is occurring in the structure.
- To help define and articulate the thematic goal of the story so that the writer can approach the rewrite with purpose and intentionality.
- To track the transformational arc of the story so that the writer can better understand the movement of the plot in relationship to the internal journey of the protagonist.
- To brainstorm with the writer to develop new ideas for solving script problems.
In addition to identifying script problems, a great deal of time is spent helping the writer develop stronger techniques in order to raise his or her skill level. Whether a writer is a novice or an experienced professional, weaknesses in a script generally point to weaknesses in the writer's technique. The ultimate goal of this story analysis is not just to help create a better script, but also to help a writer reach his or her full potential.
For a more in-depth discussion on her technique, please click here to read Dara's interview in Above the Line


SANS: New exam program about more secure code
The SANS Institute Monday unveiled the Software Security Institute, a new exam program designed to ensure that...
software programmers demonstrate better security scruples when writing code.
A coalition of technology users and vendors organized by the SANS Institute billed it as the first skills assessment and certification examinations for programming professionals to test their secure coding skills, find gaps and, if they choose, gain GIAC Secure Software Programmer (GSSP) status. Allan Paller, research director at the SANS Institute, said the exams are necessary because programmers were never taught about secure coding.
"It isn't covered in college and it isn't covered in professional development, so they are flying blind," Paller said in an interview conducted by email. Furthermore, he said, many code writers have been craving a program like this. "What surprised us is that the programmers want to know what they don't know," he said. "They are not even a little defensive" about this.
There will be four examinations, each covering a specific programming language suite -- C/C++, Java/J2EE, Perl/PHP _URL_. They are designed to "enable reliable measurements of technical proficiency and expertise in identifying and correcting the common programming errors that lead to security vulnerabilities," SANS said in a statement. The exams will be administered in August in Washington DC on a pilot basis, and will then be rolled out globally.
SANS said the program is designed to:
 - Allow employers to rate their programmers on security skills so they can be confident that every project has at least one "security master" and all of their programmers understand the common errors and how to avoid them.
 - Allow programmers to identify their gaps in secure programming knowledge in the language they use and target education to fill those gaps.
 - Allow employers to evaluate job candidates and potential consultants on their secure programming skills and knowledge.
 - Provide incentive for universities to include secure coding in required computer science, engineering, and programming courses.
Secure coding skills have grown in demand in recent years, as criminals increasingly target weaknesses in applications to rob computer systems of critical data, Paller said, adding, "With the right skills, programmers can reduce the risk of losses caused by cyber attacks, and the certification will allow security-aware programmers to stand out in an increasingly competitive marketplace."
Most of these vulnerabilities could be found very easily, using techniques that require very little expertise.
Steve Christey
EditorMITRE Corp.'s CVE program
The institute will begin with a Washington, DC-based pilot test in the summer and proceed with a global rollout later in 2007. Eventually, any candidate seeking certification will be able to sit for the certification exams at testing sites around the world (generally at colleges or universities) on specific dates three times a year. Secure Programming Enterprise Partners, companies and government agencies with large numbers of programmers, will have access to enterprise versions of the exams they can use any time for employees, job candidates or consultants.
Meanwhile, SANS said in its statement, "any programmer who wants to take a self assessment version of the exams to know where he or she stands may do so online at any time."
Steve Christey, editor of MITRE Corp.'s CVE program, which monitors all security vulnerabilities on behalf of the federal government, said in the statement that the exam program is long overdue.
"After reviewing more than 7,000 vulnerabilities in 2006 alone, one thing becomes crystal clear: Most of these vulnerabilities could be found very easily, using techniques that require very little expertise," he said. "In my CVE work, I regularly interact with vendors who are surprised to hear of vulnerabilities in their products. They react with the classic stages of shock, denial, anger, bargaining, and finally, acceptance."
Those who pass the exams at the foundation level will earn the GIAC Secure Software Programmer (GSSP) certification, SANS said. A designation will follow the letters reflecting the language in which the certification was earned. For example, a programmer who passes the Java exam would receive the GSSP-J designation.
Paller said the proctored certification exam will cost $400. The online assessment that large companies will use will cost less.
Dig Deeper on Information Security Jobs and Training
Start the conversation
Send me notifications when other members comment.
Please create a username to comment.


24
\$\begingroup\$
Part 2 of the challenge is here
Flags Mashup Bot is a small Twitter bot that generates a new flag based on two random flags and tweets the result every couple of minutes.
Task
Your task is to replicate what the bot does by writing a script or a function based on the following criteria:
 - The input is any two lossless images composed of at least two, but no more than eight colours.
 - To mix up the flags the following algorithm has to be used:
 - Take the first image
 - For every colour in the first image assign a colour randomly from the second image
 - Each colour from the second image has to be used at least once
 - Unless there are less colours in the first image than colours in the second.
 - You can choose randomly which colours to drop from the second image in this case.
 - Each colour from the first image has to be replaced with a different colour
 - Unless there are not enough colours in the second image.
 - You can choose randomly which colours will be used multiple times in this case.
 - However you need to make sure none of the colours are used more than any other colour by more than one
 - example: if you need to assign 2 colours to a flag of 5 colours you'll need to use one of the colour 3 times, while the other one 2 times. You cannot mix them 1 & 4
 - If a colour is present in both images you cannot assign that colour with itself you'll need to pick another one
 - The output is the resulting image
Examples
UK & Hungary
Example 1
Notes: Both flags have three colours, however both use red and white, so those have to be replaced, hence the first invalid example. The second one doesn't use all three colours, and the third one uses non-existent colours.
South Africa & Sweden
Example 2
Notes: South Africa's flag has 6 colours, while Sweden's have 2, meaning each of the two colours have to be used exactly 3 times. The invalid ones use the colours in a way which is not compatible with this constraint. Note that although both flags use the colour yellow they are actually not the same shade so are considered different
Poland & Poland
Example 3
Notes: The only valid solution is switching up the two colours.
Notes
 - The two images don't need to have the same dimensions
 - The colour list can be different for the two images, so in total there might be 16 colours
 - The input can be either a lossless image file (example GIF, PNG, BMP, SVG, etc.), or (especially in case of functions) a two dimensional bitmap array holding the colours of the image in any reasonable format. Any native way of storing a bitmap in your language is also fine.
 - For both input and output images a two dimensional array holding ASCII characters, where different characters count as different colours, counts as a reasonable format, but solutions that work on "real" bitmaps are preferred
 - The output and input formats don't need to match
 - I think the colour replacement rules won't prohibit it to work for any valid two input images, but if yes your program doesn't need to work for them
 - Colours are considered the same only if they are exactly the same based on their RGB value. E.g. #FF0000 and #FF0001 are considered two different colours.
 - Standard loopholes, as usual, are prohibited
, so shortest code by byte count wins and will be accepted. If possible please include example a set of input & output images with your submission
\$\endgroup\$
 - \$\begingroup\$ UK+Hungary= Basque country \$\endgroup\$ – Brain Guider Nov 20 '19 at 21:51
4
\$\begingroup\$
Jelly, 40 25 bytes
FQ),ṁ@¥/Ẋ€⁺ZE€ẸƊ¿iⱮⱮ@ịƭƒḢ
Try it online!
A monadic link taking a list of two flags as integer matrices and returning the altered version of the first flag. At the moment this assumes there are indexed colours representing each pixel. I've also assumed that each flag can have arbitrary colours.
\$\endgroup\$
16
\$\begingroup\$
Mathematica, 116 chars, 118 bytes
Mathematica's ColorReplacep[] function paired with DominantColors[] is really good at this sort of problem.
n=DominantColors;ColorReplace[#1,#1->#2&@@@({##})&[n@#1,Flatten[RandomSample@Permutations@n@#2][[;;Length@n@#1]]]]&
Also, mathematica has built in bitmaps for all countries if you install the countrydata package. One can demonstrate the above code with the following function call:
%[CountryData["UnitedStates", "Flag"], CountryData["Hungary", "Flag"]]
This randomly generates something like:
shuffled flag
The output is random, but we can repeat the test as many times as we want to show there is no repetition of colors (unless the bitmap #2 has less colors than we need):
shuffled flags
\$\endgroup\$
 - 2
 \$\begingroup\$ In your example the white in the US flag remained white after the colour change which is not allowed, e.g. If a colour is present in both images you cannot assign that colour with itself you'll need to pick another one \$\endgroup\$ – SztupY Nov 20 '19 at 12:43
 - 1
 \$\begingroup\$ You're correct, I now realize I misunderstood the question. I will amend my solution as soon as I have time. \$\endgroup\$ – ralian Nov 20 '19 at 17:43
 - \$\begingroup\$ @ralian You can temporarily delete your answer whilst fixing it. This is preferred, since challenges should only have answers that correctly solve them. \$\endgroup\$ – Jonathan Frech Nov 26 '19 at 21:45
11
\$\begingroup\$
JavaScript (Node.js), 160 159 bytes
I/O format: matrix of 24-bit integers.
Takes input as (a)(b).
a=>F=b=>(g=a=>[...new Set(a.flat())].sort(_=>Math.random()-.5))(a).every((c,i)=>c^=F[c]=B[i%B.length],B=g(b).slice(-g(a).length))?a.map(r=>r.map(c=>F[c])):F(b)
Try it online!
Commented
Helper function
The helper function \$g\$ takes a matrix as input and returns a shuffled list of the distinct values it holds.
g = a =>
 [...new Set(a.flat())]
 .sort(_ => Math.random() - .5)
Main code
a => F = b => // a[] = first image, b[] = second image
 g(a).every((c, i) => // for each color c at position i in the list of shuffled
 // colors of the first image:
 c ^= // make sure that c is different from the
 F[c] = B[i % B.length], // substitute color F[c] picked from the second image
 B = // define B[] as:
 g(b) // the list of shuffled colors from the second image
 .slice(-g(a).length) // resized to the number of colors in the first image
 ) ? // end of every(); if truthy:
 a.map(r => // return a[] with each original color
 r.map(c => F[c]) // replaced with its substitute color
 ) //
 : // else:
 F(b) // try again
\$\endgroup\$
5
\$\begingroup\$
Python 2, 196 bytes
Takes input as two lists of lists, where different elements represent different colors. Anything can be used to represent color: number, hex, string, etc.
from random import*
P=input()
i,j=(list(set(sum(x,[])))for x in P)
d={0:0}
while any(i==d[i]for i in d):y=[];exec'y+=sample(j,len(j));'*len(i);d=dict(zip(i,y))
print[[d[c]for c in r]for r in P[0]]
Try it online!
Explanation:
# get unique elements from input
P=input()
i,j=(list(set(sum(x,[])))for x in P)
# create dictionary, where colors of first image are keys and colors of second image are values
d={0:0}
# keep creating while no color is paired with same color
while any(i==d[i]for i in d):
 y=[]
 # sum different samples of substitution colors to keep random
 # and to


Untrusted Foreign Keys
 What is a Foreign Key?
Do you trust your foreign keys?
Do you trust your foreign keys?
A foreign key is a link between 2 tables that is used to enforce referential integrity in the database.
For example, if you have an order and a customer table, there is probably a logical relationship between the 2 tables. An order can't exist without being linked to a customer record.
When trusted, these keys help ensure that the data in your database stays 'clean' and logical.
By establishing trusted foreign keys in SQL Server between your tables, the optimizer is able to make some assumptions about the data and therefore make more efficient execution plans for your queries.
Foreign keys are trusted by default when created since checks are done to ensure the data all lines up. If the data does not match as expected, errors are relayed and the key is not created. Once established they keys will prevent 'bad' data from being entered into your database so long as they remain trusted.

What is an Untrusted Foreign Key?
An untrusted foreign key is one that has had the referential integrity of the relationship removed. SQL Server is unable to 'trust' that the data is clean in both tables and therefore isn't exactly sure of the best way to proceed. This can start to show itself by queries getting slower as the optimizer starts to perform extra checks to make sure the data it is getting is good.

 How Do They Become Untrusted?
We have established that foreign keys are important in relational databases since they check & help enforce the referential integrity of the data. Sometimes though, when doing large bulk loads and similar operations, SQL Server can slow down due to the large number of checks being done.
One of the ways to improve the performance of these bulk loads is to disable the foreign keys on the tables being loaded. This is usually a safer & faster process than just dropping and recreating the keys.
Foreign keys then become untrusted when they are not re-enabled correctly after the bulk load or similar operation is completed.
Usually the foreign key is re-enabled with the CHECK CONSTRAINT option in the ALTER TABLE statement. This is fine to re-enable the foreign key, but it does not tell SQL Server to re-verify the integrity of the data.
Because of this, SQL will not know if the relationship can still be trusted, that the data is 'clean' between the 2 tables. This results in the SQL Server optimizer ignoring the foreign key restraint and checking the data integrity itself with extra processes added to your query execution plan.

 How Do I Trust a Foreign Key Again?
Before you are able to trust foreign keys again, you have to identify the ones that are no longer trusted first.
This first snippet of code goes through your database and identify the foreign keys & constraints that are enabled yet not trusted. (We don't have to worry about disabled keys)
This will identify the schema, object and name of the keys that are not trusted in your database.
Once you have that result set you can use the following statement to re-establish the trust for each result in the list:
ALTER TABLE <s.name from results>.<o.name from results> WITH CHECK CHECK CONSTRAINT <i.name from results>
The CHECK CHECK in the syntax seems odd, but it is just due to the alignment of 2 different options with the alter table statement.
The first is the WITH CHECK statement. This tell the ALTER statement to validate the table contents against the foreign key. By default when re-enabling an existing foreign key or constraint this is set to WITH NOCHECK. You have to explicitly define it when re-enabling a foreign key or constraint.
The second is the CHECK CONSTRAINT statement. This is used to configure if the constraint is enabled or disabled. CHECK CONSTRAINT is enabled, while NOCHECK CONSTRAINT disables the foreign key.
If you have a lot of results from the previous script, you can use the following script which will output the ALTER TABLE statements so you can copy & paste the ones you like.
This script could be easily modified to also apply the alter, but I personally prefer to look at the results and changes to be made prior to having it run, just in case.
The script can also be modified to enable all foreign keys & constraints by using ALL rather than the [i.name] but be sure that you want all keys and constraints enabled or disabled first.
Any way you do it, you want to make sure your foreign keys and constraints are trusted so the SQL Server optimizer can create efficient plans for your queries.

Comments 1
 1. Pingback: Untrusted Foreign Keys - SQL Server - SQL Server - Toad World
Leave a Reply
Your email address will not be published. Required fields are marked *
This site uses Akismet to reduce spam. Learn how your comment data is processed.


is needed when
modifying the weights of terms in each cluster according t
o the K
-
means algorithm.
char
sectionword[11]="<!
--
#2#
--
>";
This was used to determine the beginning and end of each subsection in an html file.
7
char
dictionary [126][20]
A two dimensional array to store the terms that were thought to be the most releva
nt
to the html files content.
int
tracksub=0;
Counter used to track the order of a subsection in an html file.
int
trackarray=0;
Counter used to track the total number of subsections used.
ifstream inpHTML1( "file1.htm", ios::in );
This line of code w
as used to open an html file to scan through its subsections.
ofstream outpTitle1( "title1.htm", ios::out );
This line of code was used for each html file to copy the title of the book in order to
print it out before each subsection in the cluster output
file.
5.3 Program Flow
For each html input file the following steps were coded:
Open html f
ile
Copy title
Reach the
beginning of the
1
st
subsection
Input word in
subsection
Increment
subsection number
Stem word
Increment the
weight in
subsection vector
Relevant
term?
No
Yes
Stop
word?
Check against
dictionary of terms
Yes
No
8
After that the K
-
means clustering algorithm was coded in the following way:
Seed points for the 10 clusters (the weight for each term in the
vector) were chosen to
be the first 10 subsections just as a start point.
for
(i=0;i<10;++i)
{
for
(
int
j=0;j<126;++j)
cluster[i][j]=arraysub[i].vector[j];}
While the term weights of the clusters didn't equal the new weights the following was
coded for eac
h subsection. The new weights were calculated as the average of the
weights the subsections that were included in a cluster.
Open a subsection
Calculate the
Euclidean distance
between each
subsection and
cluster
Update the weight
of the clusters
End Cluster
Algorithm
No
Yes
Sam
e weights
as before?
Assign the
subsection to
cluster of the least
distance
9
Finally after the subsections were assigned to the least distance cluster those
subsections were copied to the
clusters with the title of the book before each
subsection.
6. Drawbacks of the algorithm
By examining the output of the cluster html files the following remarks were
concluded:
When assigning subsections to clusters in the first loop of the algorithm
, the
subsections we're scattered around clusters 3
-
8. However after 6 loops of the
algorithm they were all centered on clusters 3, 4 and 5.
The number of loops of the algorithm (6 loops) indicates that after the 6
th
time
running the algorithm on the clust
ers, the cluster center calculation was not
changed so this was the optimal solution.
The dictionary of terms was extracted manually so if different terms were used
there will be definitely different clustering outputs or the subsections.
The seed points u
sed for the clusters were chosen to be the first 10 subsections
which had a great effect on the later calculation of the new cluster center
calculation. So assigning different seed points will result in different output.
The algorithm requires that the num
ber of clusters to be used must be a predefined
decision. That was inefficient in terms of having hard coding the C++ program to
except 10 clusters. A dramatic change in the program is required to see the output
if more clusters were assigned. Basically th
e increase in the number of clusters
results in a longer C++ program.
10
7.
Contribution:
7.1 Bela Sharma
I did thorough research on different types of clustering algorithm. I did my
research using some books in the library and thro
ugh the web sites. I found some
very good websites that had good information on clustering. Then Zainab and
I
met
and tried to divide our work. After I was confident about clustering,
I
tried to select
the best algorithm that would suit our needs for thi
s project.
We
found that K
-
Means
was the best solution for us. Then I researched for different algorithm available for
K
-
means. Finally I liked the one from
Dr.
Mohammed Waleed Kadous' website. I
handed that to Zainab.
Then I wrote the psuedocode to b
e used for our program
For my
next step I
read through all the html documents and created a dictionary of 126 words to be used
in our program The next step for me was to do research on stop word and stemming.
I found some good stop words and stemming algo
rithm for our program on the
Internet. I also wrote a program to calculate Euclidean distance, which was then
integrated in our program by Zainab. I wrote loop for K
-
means in psuedocode format.
Zainab integrated all the codes. I designed and developed the
web site for our demo
i.e. the html files for our main cluster page, which has the link to all the clusters files.
Finally wrote part of this paper.
7.2 Zainab Al
-
Qenaei
After
deciding on the pr
oject topic
I started to read about clustering
algorithms
and what is exactly clustering since it was a new subject to me. After
having enough information and deciding as a team to cluster using the K
-
means
algorithm I did more readings on several algorithm for the K
-
means. For me the next
step was to start prog
ramming. I realized that the basic part of the algorithm is to have
"stemmed words" so I contacted Martin Porter by email:
_EMAIL_
and asked him for the C++ version of the Porter
s
temming algorithm. He directed me to the snowball version of the stemmer at:
_URL_
. After successfully downloading it and
testing it
in my actual C++ code
I started the real programming given the dictionary
terms from Bela. Professor Richard Franklin from the Katz Graduate School o
f
Business, University of Pittsburgh also gave me the permission to use part of his
codes I took in his C++ course to read and write to files in C++. Given the
pseudocode of the algorithm I programmed the part of scanning each document
removing stop words
and stemming the rest. Then finally I programmed the K
-
means
clustering algorithm itself. One final step I did was realizing that the stemmer we used
in our program had some strange way of stemming so I actually stemmed the
dictionary terms as they would h
ave been stemmed by the stemmer we used. That's
why we have in the code "fuzzi" instead of "fuzzy".
Finally, after running the C++
using the Microsoft Visual Studio .NET 2003, I added some line of codes to change
the format of the output clusters.
11
8. Bi
bliography
_URL_
-
means.html
_URL_
tering/clustering.html
_URL_
_URL_
matteucc/Clustering/tutorial_html/
_URL_
-
3.htm
_URL_
00000000000000
(
Mohammed Waleed Kadous)
H. M. Deitel and P.J. Deital
, C++ How to program
, Prentice Hall, 2003