- Tony Richards
The Two Sides of Talking Straight
Every leader or manager has growth and development potential in the area of talking straight in our relationships.
I know as a consultant, without a healthy self-esteem, I would never be able to execute it effectively, because there is a fine line between doing what is right for my client and making them happy. Strong mature clients are able to accept the fact that some things that will grow their businesses or themselves may not be the way they had envisioned. This is why outside perspective is so powerful. We can break our paradigms and get insight into our blind spots.
As leaders and managers, it works the same way. There is a fine line in our relationships between creating trust with people by talking straight with them and creating hurt feelings or feelings of inferiority. When you hedge or don't talk straight and you can create dysfunctional relationships which are based on a false sense of trust. When you talk straight without any thought about how the other person will receive it, you will create a wall of resistance to your feedback in the future.
Allowing a team member to continue to believe they are doing well when they are not is a leadership sin. The opposite is also true. I believe it will be very difficult for anyone to excel in a leadership role without a high value of people. If we value people highly, we want the best for them. In order to remind ourselves what is most important about our relationships, we must remember that people are valuable, and we want the best for them as people. For example, if a person is chronically late to a job, that is not just bad for the organization and the team, it's bad for them as a person.
This thought should spur us on to talking straight, not suppress it. Great leaders embrace straight talk while still placing high value on the person. This prevents us from unloading on a person when we become frustrated with the continued behavior. After all, the behavior has become our fault, since we have not engaged in straight talk to address issues. The straight talk is, our people are a reflection of us, both good and bad.
So, in summary the two sides of talking straight are:
 1. People are people, not machines and should be valued
 2. Behavior which is not addressed will continue or worsen
Suggestions on using straight talk:
 1. Make sure you value the person when talking straight about behavior
 2. Lead with a couple of good things the person brings to the team
 3. Stay away from "but" when transitioning to the behavior which needs addressing, use "and at the same time, an area of improvement we need to address is"
 4. Think about your wife, husband, son or daughter, how would you like them valued by someone addressing an issue with them?
 5. Collaborate on a plan of improvement. Ask, don't tell.
How can you contribute to my list?
2 views0 comments
Recent Posts
See All
Your First 90 Days Only Happens Once
You have probably heard the expression, "you never get a second chance at a first impression". Why do we say things like that? First and foremost, because there is a lot of truth and wisdom in them. I


text:
May 2009 | On March 8, 1827, Joseph Coolidge (1798–1879), the husband of Thomas Jefferson's granddaughter Ellen W. Randolph Coolidge (1796–1876), wrote to Nicholas P. Trist (1800–1874), another of Jefferson's grandsons-in-law, regarding the distribution of the Monticello, Virginia, estate: "Ellen now desires me to say that if you can procure the Campeachy chair, with [Jefferson's] initials, she wishes you to do so, at any price."1 The current location of the chair is unknown, though a mahogany example with a scallop crest that descended in the Trist family to Thomas Jefferson Trist (1828–1890) is now at Monticello. The Jefferson family's use of Campeches is verified in letters, including one that Virginia Randolph Trist (1801–1882) wrote to her sister Ellen shortly after her wedding to Coolidge: "He [Jefferson] misses you sadly every evening when he takes his seat in one of the campeachy chairs, & he looks so solitary & the empty chair on the opposite side of the door is such a melancholy sight to us all."2
A graceful emblem of plantation society in the Americas, the Campeche chair is characterized by a lateral nonfolding curule base and a reclining back and seat made of embossed leather (see Fig. 1). Nineteenth-century examples in the United States are found principally in the South, especially Louisiana. Such chairs are also prevalent in Latin America, Spain, the Balearic Islands, and in locations that were situated along seventeenthand eighteenth-century Spanish trade routes, such as Indonesia. Since the publication of Celia Jackson Otto's article "Nineteenth-century contour chairs" in the February 1965 issue of The Magazine Antiques, considerable evidence has been gathered that enriches our understanding of the use of Campeches in the Americas.
An exotic curiosity to its North American owners, the Campeche stands today as a reminder of the trade culture in the Gulf of Mexico and Caribbean region and of Hispanic social and cultural influence in the Lower Mississippi River valley. It is named for the Bay of Campeche, in the Gulf of Mexico, and the port city of Campeche on the Yucatán Peninsula, better known for its trade in logwood (Haemytoxylon campechianum).3
In Louisiana, for generations the form has been called a boutaque, French patois for the Spanish word butaca meaning armchair, and the name has also been anglicized as Campeachy. Early nineteenth-century inward foreign cargo manifests in the collection of the National Archives and Records in Fort Worth, Texas, document the shipment of "Spanish chairs," "boutaque" chairs, and "arm-chairs" from coastal towns of the Yucatán—Campeche, Veracruz, Sisal, and Tabasco—to the port of New Orleans from about 1800 to 1825. The imports sometimes included butaquitos, which are diminutive versions.
As Mexican Campeches were becoming popular in New Orleans, similar neoclassical permutations enjoyed a vogue in Europe. Notable examples include a palisander-veneered curule writing chair (Krankenstuhl) owned by the Prussian monarch Frederick William III (r. 1797–1840), possibly designed by the architect Karl Friedrich Schinkel (1781–1841) in 1829 (Hohenzollern Museum, Schloss Charlottenburg, Berlin).4 A drawing of about 1790 signed "Menuier inv. et fecit" and entitled Projet de chaise à l'antique depicts an armless version upholstered in pale blue embroidered silk with paterae and gold fringe (Fig. 3). A realization of this design (c. 1795) in mahogany has been attributed to Georges Jacob (1739–1814).5 Anne-Marguérite-Henriette Rouillé de Marigny, Baroness Hyde de Neuville completed a small graphite sketch during her passage aboard L'Alerte from Barcelona to the United States that depicts two children sleeping, one in a Spanish chair identifiable by its arched crest, carved finials, and reclining back (Fig. 5).6 The similarity of the overall configuration of the chair in the sketch—particularly its crest and finials—to one now at Elgin Plantation in Natchez, Mississippi (Fig. 8), points to the Campeche's Spanish origin and later popularity among Mississippi River valley planters.
The Campeche and its European counterparts derive from the sella curulis, or magistrate's chair, a cross-legged seat used in ancient Rome by the highest dignitaries, who were named curule aediles and magistratus curules.7 As its base the sella curulis, like much Roman architecture, employed the arch, the quintessential symbol of Roman authority. During the late Roman Empire, the addition of an extended back to this seat resulted in a new type of chair with a lateral curule base, examples of which are known from carved ivory depictions.
By the Renaissance, this form was referred to in Spain as silla francesa (or French seat), perhaps in reference to Gallic mendicant orders who brought it there.8 A second type with a front-facing curule base appeared across Europe during the Renaissance and was known in Spain as sillón da cadera (or hip-joint armchair); during the nineteenth-century Renaissance revival, they were called Dante or Savonarola chairs. Both the sillón da cadera and silla francesa were transferred to Nueva España by the Spanish.9
Aztec codices and other eyewitness accounts of the arrival of Hernán Cortés (1485–1547) in Mexico in 1519 show him seated in a sillón da cadera. As the furniture historian Abelardo Carrillo y Gariel explains, "These chairs were merchandise for importation to the America of the 1500s and were brought all the way from the peninsula to these regions by the vessels of the Carrera de las Indias."10 While the sillón da cadera became obsolete, the lateral curule base chair endured, in part because its reclining back provided comfortable repose in the sultry climes of Latin America. With its arched crest and finials echoing Spanish colonial cathedral facades, the so-called butaca became strongly associated with Mexican, West Indian, and South American culture.

source: HuggingFaceFW/fineweb-edu


Directly to word page Vague search(google)
Home > Devastate in a sentence
Devastate in a sentence
 up(1) down(3)
Sentence count:34Posted:2016-12-14Updated:2016-12-14
Synonym: destroyruinwreckSimilar words: devastatingstateestatereinstatestatementnation-statechief of statestate of affairsMeaning: ['devəsteɪt] v. 1. devastate or ravage 2. overwhelm or overpower.
Random good picture Not show
1. Disapproval would at first enrage and then devastate him, and these warning messages apparently arrived visually.
2. And without it, a trade war could devastate already shaky world economies.
3. The Eclipse was also intended to devastate entire worlds.
4. Earthquakes can also cause tsunamis, which devastate coastal regions.
5. What exactly happens when I hit the Devastate button?
6. In what ways is Devastate better than Sunder Armor?
7. They intended to devastate the town at one stroke.
8. The Maoists, however, have done more to devastate schooling.
9. Devastate damage - per - sunder increased to 35.
10. Situations that would devastate others may be dealt with in constructive ways.
11. Devastate deals more damage ( and threat ) as your gear improves.
12. A fire or blood devastate and precious paper - historical documents completely.
13. Devastate damage ( and threat ) benefits from damage - increasing talents.
14. Devastate can crit and therefore generate added threat from the extra damage.
15. Corruption, organized crime[Sentence dictionary], and terrorist activities threaten to devastate the process.
16. This September I was invited to devastate the moors of a friend in the north.
17. Oil spills devastate the natural environment, endanger public health, imperil drinking water and disrupt the economy.
18. Historically, governments feared opium because they saw it devastate China.
19. Does Devastate generate more threat per hit than Sunder Armor?
20. In India, massive habitat loss continues to devastate Bengal tiger populations.
21. Critics say it's encroaching on the green belt and would devastate local villages.
22. Because his mockery or contempt on top of everything else would devastate her.
23. There is in fact an optimum height for airbursts, at which they devastate the maximum amount of area on the surface.
24. Tourist souvenirs like furs, ivory, animal skins, coral necklaces and shells can devastate wildlife.
25. Even a modest aerial explosion like the fifteen-megaton Tunguska event would utterly devastate a modern city.
26. Is there any reason at all to use Sunder Armor when you have Devastate?
27. The best plan is a broad plan, so that a failure devastate.
28. Any prolonged injury to Rooney or Saha, in particular, would devastate United.
29. The Lurker focuses on spies, cloaks and subterfuge to devastate opponents.
30. The upshot is that we're horrifyingly nonchalant at the prospect that rising carbon emissions may devastate our favorite planet.
More similar words: devastatingstateestatereinstatestatementnation-statechief of statestate of affairscrevassevastdeviateevacuateevaluatestatusstatuestaticpastastatutea stageecstaticcast awaycoastalstaticallystatus quostatutorycast aboutstatisticscast asidestatisticalcast about for
Leave a comment
Welcome to leave a comment about this page!
Your name:
Latest commentsInto the comment page>>
More words


Experiments Conducted in Support of Transport Flask Heat Transfer Assessments
 - E. Livesey
 - W. E. Swindlehurst
Abstract
Water filled and gas filled flasks are used to transport irradiated LWR fuel. A programme of experimental work has been conducted to provide data for thermal modelling. Operational, regulatory and extra regulatory conditions have been covered.
In some wet flask designs the fuel is carried with an inner container separated from the flask body by a narrow water filled annulus. Experiments have been conducted to correlate the heat transfer across the annulus. In dry flask designs however a significant temperature drop occurs between the fuel array and its surroundings and a series of tests on a simulated fuel element in a gas environment has been carried out. Fins are generally fitted to the outside of flasks carrying high heat output fuel in order to improve the convectional heat transfer to ambient. Design data have been derived from tests on large diameter finned sections with various combinations of pitch and fin height. Other work has included an experimental survey of flask emissivity data and thermal trials on a full size flask.
During a fire, heat is transferred to the flask surface by radiation and convection from the flames. To provide for heat input data, tests have been carried out to determine the heat flux to a full size finned section of a flask surface when subjected to a hydrocarbon pool fire. Although not a regulatory requirement, BNFL have also investigated the thermal response of a wet flask in the extremely unlikely event of loss of water. Tests have been conducted on a wet flask operated dry, containing simulated fuel elements. Transient tests were carried out over a range of fuel powers, filling gases, internal pressures and partial refill with water.
Keywords
Convection Total Heat Transportation Helium Hydrocarbon
Preview
Unable to display preview. Download preview PDF.
Unable to display preview. Download preview PDF.
References
 1. Burgess, M.H., Spiller, G.T., Livesey, E. (1983). Thermal Trials on a Water Cooled LWR Flask. PATRAM 83 paper 19.Google Scholar
 2. Drake, S., Sibson, P., Livesey, E. (1988). Experimental Investigation of Natural Convection Heat Transfer in Narrow Water Filled Horizontal Annuli. Second UK National Heat Transfer Conference paper C361/221.Google Scholar
 3. Fry, C.J., Livesey, E., Spiller, G.T., MacGregor, B.R. (1983). Heat Transfer in a Dry Horizontal Spent LWR Fuel Assembly. PATRAM 83 paper 24.Google Scholar
 4. Middleton, J.E., Livesey, E. (1986). Full Scale Experiment to Determine the Thermal Response Following Loss of Coolant Water from a Flask Containing Irradiated LWR Fuel. PATRAM 86, IAEA-SM-286/86P.Google Scholar
Copyright information
© Plenum Press, New York 1989
Authors and Affiliations
 - E. Livesey
 - 1
 - W. E. Swindlehurst
 - 1
 1. 1.British Nuclear Fuels plcRisley, Warrington, CheshireUK
Personalised recommendations


Folker is a boy name and means people's guard. It is a Norse name and its pronunciation is \f(o)-lker, fol-ker\. Other similar names and variants include: Folke, Volker, Vollker. Folker is not a popular first name for men but a somewhat popular surname or last name for both men and women (#47415 out of 88799).
Discover other Famous boy names that start with f
Folker VIP rank
Most recent rank
Highest rank
Actor masks
Actors named Folker
Movie Director
Directors named Folker
Singers named Folker
Writers named Folker
Famous people named Folker
Here's a list of VIPs named Folker:
 - Folker Bohnet (actor)
Famous actors named Folker and their movies
Folker Bohnet
Folker Bohnet
 - No. of movies: 1
The Bridge
The Bridge
Directed by: Bernhard Wicki
Starring: Folker Bohnet, Fritz Wepper, Michael Hinz, Frank Glaubrecht
Country: United States of America
Discover other Famous actor names that start with letter F
Frequently Asked Questions
Is Folker a popular name?
Over the years Folker was most popular in None. According to the latest US census information Folker ranks _TAG_ while according to Folker ranks #2nd.
Who is a famous person named Folker?
There a several famous people named Folker, for example actor Folker Bohnet.


text:
Kasia is an ecosystems biologist with Ministry of Forests, Lands, Natural Resources Operations, and Rural Development. She is currently using wildlife cameras to monitor the use of a bear wallow outside of Kitiwanga BC
Affiliations: British Columbia Ministry of Forests, Lands, Natural Resource Operations, and Rural Development
Species Studied: Black Bear; Grizzly Bear
Camera traps have been deployed around a bear wallow to understand its use by both grizzly and black bears for potential protection by the forestry licensee. They may also help with the preparation of a Wildlife Habitat Features Order in...

source: m-a-p/FineFineWeb


wiki:GeniDesign
Version 12 (modified by _EMAIL_, 8 years ago) (diff)
--
GENI Design Activities
Introduction
The GENI design and prototyping community is working together to agree on the key functions and interfaces needed to meet GENI's requirements. This page collects pointers to GENI design collaborations organized around GEC meetings.
Online discussion of these topics should be directed to _EMAIL_. (Only subscribers may post to this list. Subscribe here.)
Active Efforts
Instrumentation and Measurement
Develop architectural framework, build and deploy prototypes for GENI instrumentation and measurement infrastructure.
GENI API
The GENI API is an effort to enable interoperability between Control Frameworks/Clearinghouses and Aggregates. It includes the GENI Aggregate Manager API.
Identity and Attributes
GENI requires a way of positively identifying experimenters and granting them access to tools and resources. Current control frameworks either maintain their own database of users or explicitly outsource this task to an identity provider. In addition to identifying experimenters, GENI needs information about attributes like institutional affiliation, project role, etc. This includes discussion of Shibboleth.
Authorization
GENI requires an authorization solution that will allow architectural components (Clearinghouse, Aggregates) to determine the privileges of an experimenter. Experimenters can be granted privileges based on institutional affiliation, project role or membership attributes, for instance. Aggregates are expected to have local policies regarding resource access and use. This includes discussion of ABAC as the long term authorization logic for GENI.
Resource Specification
In order to truly allow interoperability among multiple control frameworks and aggregates, GENI requires a common language for describing resources, resource requests, and reservations - a single, well defined RSpec schema. GENI uses XML documents with a defined schema.
Network Stitching
A key architectural question for GENI has been how to connect the resources provided by multiple aggregates into a coherent network. The key objective is to enable automated and realtime network stitching for slices which span multiple aggregates. Ethernet VLANs have been identified as the initial network technology to provide slice level inter-aggregate connections and isolation. GENI has identified several services, and an RSpec schema for communicating key information, which together constitute the GENI network stitching architecture.
Monitoring & Management
Monitoring and management focuses on the ability to perceive what is happening within GENI in order to debug and troubleshoot problems.
GENI Racks
Common requirements and functions of GENI racks.
GENI Clearinghouse
Architecture and design for a clearinghouse for the GENI federation.
GENI Architect Team
Documents prepared and ratified by the GENI Architect Team regarding the GENI Federation Software Architecture.
GENI Experiment Engine::
A page describing a Platform-as-a-Service programming and deployment environment for GENI Experiments
Inactive & Past Efforts
GENI Workflow and Services
What do experimenter-users need from GENI? Consider planning, scheduling, running, debugging, analyzing experiments; long running experiments & how they grow; archiving data.
Control Framework
What is universal across GENI components? How will evolution be accommodated with or without a full transition of all GENI nodes at once?
End-User Opt-in
How do end-users (including Internet users) participate in GENI experiments? What are the various aspects including user interfaces, scheduling, debugging, measurement, archiving data, sandboxes, etc? What are the privacy and legal issues involved in user opt-in?
Substrate
What is the framework for evolution of substrate technologies? What technologies should be in GENI? How will they be used?


able strategy if not the best since no strategy can exceed 1/2. On the other hand, if the probability decays to 0, it raises a new question to understand why that's the case, if all strategies decay to a victory probability of 0 as the number of doors increase, or if there exists a strategy that is within some bound \Delta < \frac{1}{2} of \frac{1}{2}.
We can start asking these questions if we have an expression for the probability of victory. Let's consider n = 2k doors, where k represents the number of tries, and n = 100 in the original problem. We have characterized the victory cases as those in which the permutation of doors can be represented as cycles of at most k. To calculate the probability, we can use the cycle index of the symmetric group S_n as
Z(S_n) = \sum_{j_1+2 j_2 + 3 j_3 + \cdots + n j_n = n} \frac{1}{\prod_{i=1}^n i^{j_i} j_i!} \prod_{i=1}^n a_i^{j_i},
where a_i denotes cycles of length i.
It turns out the cycle index of the symmetric group can be expressed as the recurrence
Let's define F_n(a_1, \ldots, a_n) = Z(S_n) to highlight the dependence on the cycles. Thus, we can rewrite the above equation as
F_n(a_1, \ldots, a_n) = \frac{1}{n} \sum_{l=1}^n a_l F_{n-l}(a_1, \ldots, a_{n-l}).
Let's define the cumulative distribution function (CDF) F_{n}^{(i)} as F_n(a_1, \ldots, a_n) evaluated at a_l = 1, l \leq i and a_l = 0, l > i. In words, F_{n}^{(i)} is the probability that all cycles are of length i or less.
Thus, if we can find an expression for F_{n}^{(k)}, we can evaluate it at F_{100}^{(50)} to get our result. The results are contained in Propositions 1 and 2 below, where Proposition 2 is reminiscent of our folk theorem, which yields a probability of 0.306, which is slightly less than 1/3. Furthermore, Corollary 1.1 indicates that we decrease monotonically to this probability, so regardless of the number of doors, this strategy is within 0.2 of \frac{1}{2}, the upper bound on how well one could possibly do.
Proposition 1. F_{2k}^{(k)} = F_{n}^{(k)} = 1 - \sum_{m=k+1}^n \frac{1}{m}.
Proof: The first equality is by definition, so we simply need to show the second equality. For i \leq j, we can evaluate the probabilities as
F_{2j}^{(i)} = \frac{1}{2j} \sum_{l=1}^i F_{2j-l}^{(i)}
F_{2j}^{(2j-i)} = \frac{1}{2j} \sum_{l=1}^i F_{2j-l}^{(2j-i)} +\frac{1}{2j}\sum_{m=i+1}^{2j-i} F_{2j-m}^{(2j-m)} = \frac{2j-2i}{2j}+ \frac{1}{2j} \sum_{l=1}^i F_{2j-l}^{(2j-i)}
F_{2j+1}^{(i)} = \frac{1}{2j+1} \sum_{l=1}^i F_{2j+1-l}^{(i)}
F_{2j+1}^{(2j+1-i)} = \frac{1}{2j+1} \sum_{l=1}^i F_{2j+1-l}^{(2j+1-i)} + \frac{1}{2j+1} \sum_{l=i+1}^{2j+1-i} F_{2j+1-l}^{(2j+1-l)} = \frac{2j+1-2i}{2j+1} + \frac{1}{2j+1} \sum_{l=1}^i F_{2j+1-l}^{(2j+1-i)}.
Note that if i \leq j, then i - 1 \leq j, so we can apply the same result to get that
F_{2j}^{(2j+1-i)} = \frac{2j-2(i-1)}{2j}+ \frac{1}{2j} \sum_{l=1}^{i-1} F_{2j-l}^{(2j+1-i)}
and substituting this into our expression for F_{2j+1}^{(2j+1-i)} yields
F_{2j+1}^{(2j+1-i)} = \frac{2j}{2j+1} (F_{2j}^{(2j+1-i)} - \frac{2j-2(i-1)}{2j}) = F_{2j}^{(2j+1-i)} - \frac{1}{2j+1}.
Likewise, one can similarly derive
F_{2j}^{(2j+1-i)} = F_{2j-1}^{(2j+1-i)} - \frac{1}{2j}.
Starting with the base case that F_{2k}^{(k)} = F_{n}^{(k)} = F_{n-1}^{(k)} - \frac{1}{n} and the above inductive steps, one can conclude that
F_{n}^{(k)} = F_{k}^{(k)} - \sum_{m=k+1}^{2k} \frac{1}{m}.
However, F_{k}^{(k)} = 1, so we have our result.
Corollary 1.1. F_{n+2}^{(k+1)} = F_{n}^{(k)} - \frac{1}{(n+2)(n+1)}.
Proposition 2. \lim_{k \rightarrow \infty} F_{2k}^{(k)} = 1 - \ln 2 \approx 0.306
Proof: From Proposition 1, we can write
F_{2k}^{(k)} = 1 - \sum_{m=k+1}^{2k} \frac{1}{m}. Note that we can rewrite the summation
\sum_{m=k+1}^{2k} \frac{1}{m} = \sum_{i=1}^{k} \frac{1}{k+i} = \sum_{i=1}^{k} \frac{1}{1+i/k} \frac{1}{k}.
The key is to observe that this is simply a Riemann sum approximating the integral
\int_{0}^1 \frac{1}{1+x} dx = \ln 2,
which converges as we let k \rightarrow \infty.
Posted in Probability, Puzzle | 8 Comments
Ages of Three Daughters
My uncle's in town and just reminded me of a puzzle that he'd asked me over ten years ago. A census worker goes to a house and the person who answers the door tells the census worker that she has three daughters.
"I need to know their ages," replies the census worker.
"Well, the product of their ages is my age: 36."
"That's not enough information."
"Well, the sum of their ages is the same as the number as the house on the right."
The census worker checks the house next door and responds, "That's still not enough information."
"My eldest daughter is asleep upstairs."
The census worker thanks the homeowner and leaves. How old are the three daughters?
I love this puzzle because on the face of it, it would appear that there isn't enough information to figure out the puzzle. If you want to figure out the puzzle yourself, do not read beyond this point.
The first thing we learn about the ages of the daughters is that the product of the ages is 36.
Let's consider all such possibilities (let's assume the puzzle maker only allows for integer ages):
As the census worker notes, there are still too many to disambiguate the ages.
The next clue is that the sum of the ages is the same as the number of the house next door. We don't know the sum, but the census worker does, and we also know that the house number is insufficient to disambiguate the ages. Let's look at the sums of the factorizations above:
1+1+36 = 38
1+2+18 = 21
1+3+12 = 16
1+6+6 =


NPIN - Editorial
PROBLEM LINK
Practice
Contest
DIFFICULTY
HARD
PREREQUISITES
Computational Geometry
Pick's Theorem
Cyrus Beck's Line Clipping Algorithm
Sweep Line Algorithm
Line Segment Intersection
PROBLEM
You are given a convex polygon whose vertices are lattice points on the x-y plane. You are also given several line segments in the x-y plane whose endpoints are lattice points. On each lattice point on a line (and the endpoint of a line) and also on or inside the polygon, you place a Needle. Lines include the ones that form the polygon.
On all other lattice points inside the polygon, you place a Pin. Find the number of Needles placed, and the number of Pins placed.
EXPLANATION
Pick's Theorem states that
Area of polygon =
 number of internal lattice points
 + number of boundary lattice points / 2
 - 1
We can find the number of lattice points on a line segment from (x1,y1) to (x2,y2) as
GCD( abs(x1 - x2), abs(y1 - y2) )
We do not place needles on the portion of the line segment that lies outside the polygon. Thus, we must clip the line segments to lattice points that lie inside the polygon.
The linked resource uses the parametric notation of a line segment. All the calculations can be done purely on integers to allow for finding the clipped lines very accurately. This may be achieved by maintaining the value of the parameter as a fraction - integer numerator and denominator.
 - Lines that are parallel to an edge of the polygon and on, or outside the polygon, can be simply ignored
The expected time complexity for this step was O(N*P), where P is the number of edges in the polygon.
Doing so, we are able to calculate the number of needles on the boundary of the polygon, and on the line segments inside the polygon. But, several line segments may have intersection points among them which are also lattice points. We must reduce our count of needles by the number of such intersections.
Intersections within a set of lines can be found using a plane sweep algorithm. The idea is elementary in books that deal with Computational Geometry. I personally found this resource very useful in implementing the plane sweep algorithm to report the intersection points.
Implementing this algorithm correctly and accurately (handling all the degeneracies possible) is the most difficult part of solving this problem. It is very well researched though, so there is no scarcity in resources describing a solution.
The expected time complexity for this step was O((N + I) log N), where I is the number of intersection points.
Lastly, the number of pins can be found by reducing the count of needles from the number of internal lattice points, found using the Pick's Theorem above.
SETTER'S SOLUTION
Can be found here.
TESTER'S SOLUTION
Will be uploaded shortly.
3 Likes
It would be nice if pperm, Anton or djdolls could explain their approach.
Below I give one small test case.
alt text
Input
6 5
1 0
6 1
8 4
5 7
0 7
-2 4
1 7 4 1
7 7 0 0
4 6 2 4
-1 5 5 2
4 4 1 1
Output
25 31
Where is the condition regarding the 16 "squares" used in the official solution ? It is my impression that the sweep line algorithm for segment intersections would work in any situation, right?
I can tell you where I kind of used it in my solution. I used a quadtree-like approach (the root contains a large enough square). Then I would keep decomposing the space further and further until:
 1. I reached a zone of the quadtree which did not intersect too many segments (e.g. <= 200) : then an O(nr of segments^2) algorithm for segment intersection would work (restricted to the parts of the segments "clipped" by the current zone of the quadtree).
 2. I reached a zone of only 1 point in the quadtree which intersects at least 2 segments => this is an intersection point and can be counted as such directly.
This approach works very well, except, possibly, in some very degenerate cases - but the 16 "squares" conditions ensured no such cases would exist.
1 Like
@mugurelionut: Thanks for sharing your approach!
Without 16 squares condition, the problem would be much harder. Like you said - this condition eliminated some difficult cases.
Similarly, coding the sweep line algorithm which handles the general case i.e without this condition (plus limit on length of line) would be very complex (at least for me).
Specifically in my solution (modified Bentley-Ottman) the condition simplified the part checking intersection of current (event) line with active lines.
//


text:
National Geographic Society: Early Career Grant
The National Geographic Society supports projects that are bold, innovative, and potentially transformative and have a primary focus in conservation, education, research, storytelling, or technology. Early Career Grants are designed to offer less experienced individuals an opportunity to lead a project. Projects should align to one of the following three focus areas.
- Wildlife: This focus includes species-focused projects and the local evolutionary and ecological processes that sustain them. Support is provided to projects that seek to discover and identify species and ecosystems and to mitigate threats to Earth's life forms. Projects will improve understanding of biological diversity, including behavior, life history, evolution, ecology, and habitat requirements.
- Human journey: This focus supports projects in a range of fields that are helping to understand the origins and development of the human species; how humans modified and adapted to diverse landscapes across the globe; the evolution of cultures and societies; and the current status of and trends in cultural, linguistic, and genetic diversity. Recognizing that human society is currently out of balance with the natural world, this focus also seeks projects that propose solutions to mitigate this imbalance.
- Changing planet: The focus is on Earth's dynamic terrestrial, marine, and freshwater ecosystems. These are the foundations of life on the planet, yet are increasingly threatened by exploitation, mismanagement, and climate change. Support will be provided to projects that illuminate these issues to better inform decision making and to develop more effective models for conservation and protected area management at large scales. This area of focus seeks to reduce negative human impacts on ecosystems and Earth processes by increasing knowledge, inspiring action, and creating solutions with direct, quantifiable, and scalable methods for conserving landscapes or seascapes.
Amount: Grants typically range from $5,000-$10,000.
Eligibility: Individuals who are at least 18 years of age. Applicants are not required to have an advanced degree. Anyone with more than five years of professional experience in the field of their project focus does not qualify for an Early Career Grant (but can apply for an Exploration Grant instead). Organizations can also apply for grants, but the person within the organization who will lead the project—not the institution—should be the applicant. Giving is on an international basis.
This post was filed under:

source: openbmb/Ultra-FineWeb


TCPView works on Windows NT/2000/XP and Windows 98/Me. You can use TCPView on Windows 95 if you get the Windows 95 Winsock 2 Update from Microsoft.
Using TCPView
When you start TCPView it will enumerate all active TCP and UDP endpoints, resolving all IP addresses to their domain name versions. You can use atoolbar button or menu item to toggle the display of resolved names. On Windows XP systems, TCPView shows the name of the process that owns each endpoint.
Tcpvcon Usage
Show all endpoints (default is to show established TCP connections).
Print output as CSV.
Don't resolve addresses.
Source Code to Netstatp
Wonder how TCPView works? Netstatp is a program with source that demonstrates how to program some of TCPView's functionality. It shows how to use IP Helper interfaces, documented in MSDN, to obtain a list of TCP/IP endpoints. Note, however, that netstatp doesn't show process names on NT 4 and Win2K like TCPView and TCPVCon.


text: This book situates culture as a determining factor in the development of diverse welfare states, exploring the impact of traditional familialism on South Korean and Taiwanese programs. This approach provides an important alternative to studies that focus on formal variables– such as industrialization, state intervention, and resource mobilization– that do not explain the key differences between the similar programs. Throughout this book, Wang looks into both the historical development and the present situation of medical welfare programs in South Korea and Taiwan, and she highlights the importance of families in these programs' development. As East Asian societies continue to age while experiencing fewer births, the search for the most suitable, sustainable, and desirable welfare model in each country will become ever more pressing. Academics and practitioners alike will find this refreshing approach to analysis ideal for building welfare institutions that reflect societal values in addition to economic conditions.


text:
These are my skewness notes for S1 which explain the coefficient of skewness at the bottom.
In a symmetrical distribution mean = median = mode and Q2 – Q1 = Q3 – Q2. A positive skew distribution has a tail to the positive side, mean > median > mode and Q2 – Q1 < Q3 – Q2. A negative skew distribution has a tail to the negative side, mean < median < mode and Q2 – Q1 > Q3 – Q2. Skewness can be given quantity as well as direction by using (3 (mean-median))/(standard deviation). To compare the relative dispersion between data sets the coefficient of variation is used, it is given by V= 100σ/μ= 100s/x ̅ and as a percentage. When data is skewed the median and the interquartile range are used as measures of location and dispersion as they are not affected by extreme values. The dispersion of a set of data is therefore measured by the quartile coefficient of variation which is given by QV= (50 (Q_3- Q_1))/Q_2.
x ̅ is mean of x and Q_3 is the upper quartile mark, if the notation wasnt that clear
Last edited by abbii; 18-04-2010 at 21:29.
Last edited by.ACS.; 18-04-2010 at 21:35.
Reason: Decided to add Latex


text:
Purpose. The calculation of the angular fields of view (FOVs) of Galilean telescopes generally necessitates the calculation of the pupils and ports. This, in turn, requires knowledge of the optical design of the telescope, in particular, the focal lengths or powers of the objective and ocular lenses. Equations for finding the FOV that obviate the need to calculate pupils and ports, or even to know the lens powers of the telescope, are presented in this article. The equations can be used to find the FOVs in image space of real Galilean telescopes of known magnification, merely by measuring the distance between the objective and ocular lenses and the diameter of the objective lens. The equations include the effects of eye pupil diameter and eye relief. Linear FOVs (LFOVs) of Galilean telemicroscopes are similarly determined.
Methods. Two image space angular FOV equations were derived: (1) an equation to determine the angular FOVs of a telescope with various amounts of vignetting and eye relief; and (2) an equivalent equation for the LFOVs of telescopes fitted with lens caps for near vision.
Results. The FOV increases linearly with increasing vignetting. Increasing the eye relief results in a nonlinear decrease in the FOV, shown as a fraction of the normalized value for zero eye relief. Decrements in the FOVs with increasing eye relief as a fraction of the normalized field angle when the eye relief = 0 are shown to be constant regardless of the vignetting level. A transition of the objective lens from field stop to aperture stop occurs when the eye pupil diameter exceeds the diameter of the objective lens divided by the magnification.
Conclusions. Equations have been derived for Galilean telescopes and telemicroscopes that make it unnecessary to find pupils and ports, or to know the powers of the lenses. They provide a direct and simple evaluation of angular and LFOVs as functions of magnification, objective lens diameter, eye pupil diameter, eye relief, and vignetting, and enable comparisons of actual telescopes.


text:
Can chickens provide early warnings of wind turbine health dangers?
By Miriam Raftery
August 21, 2011 (San Diego's East County) – Like those proverbial canaries in the coal mine, chickens near wind farms may provide early clues to potential harm to health of humans and animals. That's the contention of Hamish Cumming, a farmer battling proposed wind turbines near his home in Australia.
He has written a letter to East County Magazine seeking help from people living near wind farms locally (and in other locations) to document cases of shell-less eggs, dead chickens, or other animals that suffer internal hemmorrhaging.
The "humble chicken" is common in rural areas near wind farms and can be easily monitored, Cumming says. Chickens under stress may produce a soft-shelled or shell-less egg that can't be laid, killing the chicken. Such incidents have been documented near wind farms, says Cumming, who has also collected examples of livestock and a dog that died from internal hemorrhaging near wind farms.
"There are reports from many wind farm locations that chickens within a 3 km distance from turbines exhibit shell-less eggs during some weather conditions," he stated. "Some locations have reported shell-less eggs or dead chickens that coincide with residents' complaints about "noisy nights" from turbines."
In fact, shell-less eggs are also known as "wind eggs." According to Broad Leys Publishing, which specializes in books for poultry owners, a yolk-less wind egg may occur in a young pullet, but "wind eggs can also occur in older hens if they are subject to sudden shock."
Chickens aren't the only species suffering ill health effects from living near wind farms, Hamish says.
"So far there are several records of dairy cattle in Canada and Australia reducing milk output by as much as 30%," he wrote.
The Discovery Channel ran a report on massive deaths among bats that suffered lung hemorrhaging when flying near wind turbines: _URL_
Goats in Taiwan, verified by the Taiwanese Department of Agriculture, have reportedly died due to stress-induced conditions within 2 km of turbines. "I have had reports of high levels of stillborn lambs and calves (up to 10%)…and stillborn horses in Australia and overseas, only after wind farms commenced operations," he claims.
Wind farms may even be damaging to the family pet, he believes. "A dog was verified by Werribee Veterinary Hospital as dying from multiple organ fibrosis, believed to be stress-induced—and it was also within 2 km of turbines."
Animals grazing near wind farms have also exhibited fibrosis, or hemorrhaging of major organs, when butchered, he observed. He believes this may explain why some native birds abandon habitat and cease breeding close to wind turbines.
That's of serious concern to Cumming, who has endangered bird species nesting on wetlands at his New Zealand farm.
There have also been claims around the world of human health impacts in some communities near wind farms. Dr. Nina Pierpont, a Johns Hopkin School of Medicine trained physician and Princeton University PhD, has authored a book titled Wind Turbine Syndrome documenting serious health effects in people living near wind turbines due to low-frequency sound waves:
_URL_ The wind industry has disputed her findings.
Cumming seeks residents in East County and elsewhere around the world who live within 5 km of wind turbines to create a large data pool. Participants may already own chickens, or be willing to acquire them for the study. Cutting open a dead hen will expose the shell-less egg, if that is the cause of death, he said.
He seeks the following data:
1. How close the nearest turbines are to your chickens or slaughtered animals
2. How many turbines are within 5 km
3. Brand and size of the turbines
4. Name of the wind farm
5. Your country
Data may be sent to _EMAIL_
East County Magazine is also interested in hearing about local cases of animal hemmorrhaging, wind eggs, or human health issues from people living near wind farms in San Diego's East County: contact _EMAIL_.


text:
One of the mysteries of the English language finally explained.
- 'This is reflected in the name 'naseberry' from the Spanish níspola and in the French nèfle d' Amérique.'
- 'A unique combination of apple, grape and naseberry fruit pulp infuse natural fruit acids into the skin.'
- 'Your tour starts with the fresh beverage of the day, which could be anything from a refreshing blend of pineapple and papaya to naseberry or mango.'
- 'Then a fruit blend including apples and naseberries equivalent to a 20% glycolic acid peel is applied.'
- 'Other fruits such as naseberries, June plums and etioti apples are refreshing on a warm day.'
Late 17th century: from Spanish and Portuguese néspera 'medlar' + berry.
Top tips for CV writingRead more
In this article we explore how to impress employers with a spot-on CV.


Tuesday, April 13, 2021
HomeNewsRev Julian Mann: How many police officers does it take to arrest...
Rev Julian Mann: How many police officers does it take to arrest a vicar who sticks to theological orthodoxy?
The question that arises from the claim by a British values monitor on BBC Radio 4 that 'if you speak it (the opinion that homosexuality is wrong) out loud, you might be breaking the law' is this:
If speaking against homosexual practice did become illegal in Britain, what should happen to individuals who transgressed?
Or, to put the question another way, how many police officers should be deployed in an arrest against, for example, an Anglican vicar who preached on 1 Corinthians 6v9-11 in his church?
At what time of the day should, say, 13 police officers enter the vicarage?
Should the BBC be informed in advance of the arrest and a helicopter deployed?
And what should happen to the offender? How many hours of diversity training should he be subjected to in his cell?
And should he be allowed access to a Gideon Bible whilst in custody or indeed whilst he was on parole?
These are surely pressing questions that cannot be avoided in the light of recent developments in the administration of British criminal justice.
TCW readers must judge for themselves from their own reading of the New Testament whether it allows sex outside heterosexual marriage for Christians. The judgement of the Anglican Book of Common Prayer in its Solemnisation of Matrimony is that it does not, describing extramarital sex as 'fornication'.
Some Anglicans may consider that the insights of 'recent scholarship' should lead the Church of England to revise its doctrine on this question. But given that such revision goes against the plain meaning of the Bible, such an approach would involve imposing an extra-biblical authority on the Church.
For those Anglicans who agree with the historic teaching of the Church of England that the Bible is the supreme and final authority in matters of faith and conduct, the criminalisation of verbal opposition to homosexual practice would certainly broaden their experience of modern British policing.
- Advertisement -
Julian Mann
Sign up for The ConWom News


text:
|Foucault (French fuko)|
|1.||Jean Bernard Léon (ʒɑ̃ bɛrnar leɔ̃). 1819--68, French physicist. He determined the velocity of light and proved that light travels more slowly in water than in air (1850). He demonstrated by means of the pendulum named after him the rotation of the earth on its axis (1851) and invented the gyroscope (1852)|
|2.||Michel. 1926--84, French philosopher and historian of ideas. His publications include Histoire de la folie (1961) and Les Mots et les choses (1966)|
|a fool or simpleton; ninny.|
|an arrangement of five objects, as trees, in a square or rectangle, one at each corner and one in the middle.|
|Foucault (f-kō') Pronunciation Key
French physicist who determined that light travels more slowly in water than in air, confirming predictions made by the wave theory of light. In 1850 Foucault also measured the absolute velocity of light. In 1851, by using a type of pendulum that is now named after him, Foucault demonstrated the rotation of the Earth, and in 1852 perfected a gyroscope for the same purpose.


text:
IRRIOT implements the next generation of commercial irrigation solutions. IRRIOT platform enables efficient watering where originally it was not possible or very impractical. As an irrigation solution IRRIOT aims at reaching optimal soil conditions, by intelligently dimensioning the water supply to the intended zone.
An irrigation system controls electrically operated valves from the central computer, Irrigation Controller. The key difference of IRRIOT Wireless Irrigation Controller from the classical controller, is the use of wireless two-way communication to the valves/sensors. In practice it means IRRIOT introduces wireless valve that could be situated at any remote location (*1-5km from Irrigation Controller).
The solution consists of several parts – Wireless Irrigation Controller, RTUs, Cloud Based Control and Monitoring.
*based on LoRa radio technology transmission capabilities: 2-3km in urban environment, 5-10km in rural areas.


text:
Applications > Battery Assembly Inspection
Battery Assembly Inspection
Battery Assembly Inspection with Acuros® CQD® SWIR Cameras
Lithium-ion battery technology plays a central role in the race toward mobile electrification. Improved inspection capabilities are needed to help drive down cost, increase energy densities, and improve overall safety and reliability. Short Wave Infrared (SWIR) imaging offers new capabilities for lithium-ion battery inspection.
Lithium-Ion battery cells come in many shapes and sizes. At their core they consist of anode, cathode, and polymer separator layers that are either rolled or stacked into cells before being filled with an electrolyte solution and encapsulated. During the assembly process, machine vision systems are used to measure and inspect various aspects of the assembly process.
Imaging through the Li:Ion separator with SWIR wavelengths
One interesting feature of the polymer separator layers common to most lithium-ion batteries is that their optical transparency increases at higher wavelengths; becoming quite transmissive beyond the visible spectrum where SWIR Vision System's Acuros SWIR and Acuros eSWIR cameras operate.
Our Acuros® CQD® SWIR and eSWIR high resolution cameras deliver full HD imaging capabilities, enabling lithium-ion battery manufacturers to maximize optical ROI while maintaining excellent spatial resolution.
Inspection system configurations
In Figure 2, a SWIR camera integrated into a front-side illuminated battery inspection system captures SWIR photons reflected off the sample and provides an enhanced level of subsurface detail. The flexibility of this inspection setup, using Acuros® CQD® high resolution SWIR cameras, frees tool designers to offer a solution with the following properties:
- Detection Performance: improved visibility through separator material layers
- Thermal Management: no need to contend with sample heating/cooling impacts on the measurement
- Inspection Throughput: acquisition speeds dictated by industry standard GigE acquisition standards
- Total System Cost: Full-HD 1920 x 1080 CQD SWIR cameras enable fewer cameras to be deployed per system
Battery inspection applications examples
Edge Detection: One area where SWIR battery inspection promises to improve upon legacy solutions, is battery capacity. Battery capacity is proportional to the amount of overlapping electrode area achieved during assembly. Since visible imaging solutions are limited in their ability to see through the separator layer materials, underlying edges of electrodes can be obscured thus preventing accurate edge identification and alignment. Even small alignment errors (on the order of 100 um or less) can have a meaningful impact.
The enhanced contrast and superior FOV of SWIR Vision's Acuros CQD SWIR cameras provide the necessary alignment accuracy of inter-layer electrodes leading directly to more available energy storage capacity and longer battery lifetimes.
Figure 3 shows a comparison of visible and SWIR images, demonstrating the enhanced contrast achieved using Acuros CQD SWIR cameras. In practice, alignment of electrode layers depends on accurate detection of the previously positioned electrode layers which are hidden beneath the polymer separator once it is laid down. Increasing the contrast of this underlying edge transition enables edge detection algorithms to function with precision.
Particle contamination is another challenge facing lithium ion battery manufacturers. Several high profile incidents of battery fires and explosions have been triggered by minute particles which managed to become lodged between the electrode-separator interfaces. One of the primary sources of particle contamination is the electrode cutting step where the anode and cathode electrode layers must be cut to size before subsequent rolling or stacking processes. During this cutting process, lithium, carbon, and other electrode coating material fragments have a tendency to delaminate from the edge. Metal shavings and other airborne particles can also pose a risk to cell reliability.
Figure 4 provides a comparison between visible and eSWIR images acquired with and without an overlaying polymer separator. In the visible image (top), there are no particles detected as the separator is virtually opaque to the spectral response of the camera. In the eSWIR image, longer wavelength photons are able to penetrate the separator layer and provide details of the sublayer contamination. The particle sizes in this demonstration were on the order of 50-100um. One of the key benefits of SWIR Vision's 1920×1080 focal plane array technology is that smaller particle sizes can still be detected while still maintaining large imaging FOVs.


Oracle RAC
In database computing, Oracle Real Application Clusters (RAC) — an option for the Oracle Database software produced by Oracle Corporation and introduced in 2001 with Oracle9i — provides software for clustering and high availability in Oracle database environments. Oracle Corporation includes RAC with the Standard Edition of Oracle Database (aka Baby RAC), but makes it an extra-charge option for the Enterprise Edition.
Oracle RAC allows multiple computers to run Oracle RDBMS software simultaneously while accessing a single database, thus providing a clustered database.
In a non-RAC Oracle database, a single instance accesses a single database. The database consists of a collection of data files, control files, and redo logs located on disk. The instance comprises the collection of Oracle-related memory and operating system processes that run on a computer system.
In an Oracle RAC environment, two or more computers (each with an instance) concurrently access a single database. This allows an application or user to connect to either computer and have access to a single coordinated set of data.
On 10R2 if the Oracle binaries are installed with the RAC, one can't use those binaries to start Oracle Instance if CRS is not running, so in case when one needs to start the instance without CRS one needs to rebuild the oracle and it's libraries to start the instance.
To turn off RAC
# link the oracle libraries
$ cd $ORACLE_HOME/rdbms/lib
$ make -f ins_rdbms.mk rac_off
# rebuild oracle
$ cd $ORACLE_HOME/bin
$ relink oracle
To turn on RAC
# link the oracle libraries
$ cd $ORACLE_HOME/rdbms/lib
$ make -f ins_rdbms.mk rac_on
# rebuild oracle
$ cd $ORACLE_HOME/bin
$ relink oracle
DBAWorkDatabase support, Database services, Oracle ADF
Advertisements
One Response to "Oracle RAC"
 1. Excellent ..very informative .. Thanks a lot
Leave a Reply
Fill in your details below or click an icon to log in:
WordPress.com Logo
You are commenting using your WordPress.com account. Log Out / Change )
Google+ photo
You are commenting using your Google+ account. Log Out / Change )
Twitter picture
You are commenting using your Twitter account. Log Out / Change )
Facebook photo
You are commenting using your Facebook account. Log Out / Change )
Connecting to %s
%d bloggers like this:


text:
What: The Atomium
Where: Square de l'Atomium, B-1020 Brussels, Belgium
In northern Brussels a structure named 'Europe's most bizarre building' is a permanent reminder of the Cold War's utopian vision of the future. The Atomium was constructed for Expo 58, the Brussels World's Fair of 1958, and was originally intended only to survive the months of the Fair. But such was the popularity of this unusual part-building part-sculpture that over half a century later it remains the Belgian capital's most popular tourist destination.
The 335ft-high stainless steel building was designed by engineer André Waterkeyn with architects André and Jean Polak. The shape represents a single molecule of iron magnified 165 billion times. Five of its nine spheres house permanent and temporary exhibition spaces, while the connecting tubes enclose escalators and staircases. The top provides a panoramic view where on a clear day visitors can see as far as Antwerp.
Built at the height of the Cold War, when scientific developments were at the forefront of confrontations between competing nations, the Atomium recalls the idealistic dreams of the Space Race and ambitions on both sides of the Iron Curtain for an ultra-modern and super-technological future.
Images: Exterior and interior of The Atomium, designed by André Waterkeyn, André Polak and Jean Polak, 1958. Photos courtesy Shed Expedition


text:
1 Section for Construction Materials, Department of Civil Engineering, Technical University of Denmark2 Department of Civil Engineering, Technical University of Denmark3 Department of Structural Engineering and Materials, Technical University of Denmark
Linking molecular level mechanisms with macroscopic performance
Predicting the performance of wood for decades ahead is important when using the material for structural purposes. The performance is closely related to the hierarchical material structure of wood and the dependent interaction with water in the structure. Accurately predicting wood performance therefore requires an understanding of material structure from molecular to macroscopic level as well as of the impact of water molecules. The objective of this work is to investigate the performance of wood in terms of mechanical response of the material and effect of water. To understand the latter, one must first know in which parts of the wood structure, water is located. If parts of the water in wood are held in capillaries in the wood structure, these water molecules interact with the material differently than those held within wood cell walls. In this study, the occurrence of capillary water in wood is investigated at high levels of relative humidity (RH), where capillary water might be present. Three different techniques are employed in overlapping RH regimes. The three techniques give similar results and show that the amount of capillary water is insignificant up to at least 99.5 % RH. Thus, for wood in equilibrium with surrounding climate in the RH range 0-99.5 %, water is only significantly present within cell walls. A structural model of a wood cell is developed in this study using Finite Element Method for predicting the mechanical performance of wood. The starting point for the model is the physical behaviour on the molecular level since water interferes with wood at this level. The elastic material properties of the wood cell wall are explained by the organisation of wood constituents and their properties. The effect of water as well as temperature is incorporated by considering the amount of hydrogen bonds between wood constituents and the stiffness of these bonds. The mechanical response of wood includes a substantial time-dependent response, which previously has been explained by sliding between wood constituents on the molecular level. In this study, this is incorporated in the model as time-dependent shearing of the material planes of the cell wall. The calculated results of the model is verified against various experimental results from literature as well as from measurements presented in this work. It is shown that the structural model is able to describe a diverse range of mechanical responses of wood cells in both elastic and time-dependent domains. Furthermore, comparison of results from experiments and model suggests that the mechanical response of wood tissue, i.e. the hierarchical level above single wood cells, is a sum of responses from both wood cells and intercellular layer, i.e. the middle lamella.


text:
|View source on GitHub|
Encapsulates a parameterized function, along with updates to its state.
oryx.core.state.Module( *, name=None )
Modules have the dual purpose of acting as containers for state and as functions of that state.
As containers, a Module's
variables() method returns any encapsulated state,
unflatten method are used to register it as a Pytree,
so that it can be passed in and out of JAX-transformed functions. For example,
if we have a neural network layer module
returns the weights of the layer and
grad(some_f)(layer) returns the
some_f with respect to those weights.
As functions, a
Module has three methods:
call_and_update. Conceptually a
Module represents a parameterized function
f_variables(inputs), and its
call method computes the output of the
function. A module's
update method returns a new copy of the module for
a set of inputs with potentially new state (variables). The
method returns both the output of the function and an updated module.
__call__ method has some extra logic needed for composing stateful
functions. If a module
m1 is called in the body of another module
we would like
m2 to "inherit" the state in
m1, so that either
m1's variables appear in
m2's variables. If a module has a nonname, then we'd like it to appear in
m2's variables with name
and if not, we'd like variables in
m1 to appear in
m2 directly. To emulate
this behavior, we have the
__call__ method call
assign on the updated
module (or its member variables) to appropriately update the state to an
outer stateful context.
call( *args, **kwargs ) -> Any
call_and_update( *args, **kwargs ) -> Tuple[Any, 'Module']
unflatten( data, xs )
update( *args, **kwargs ) -> "Module"
__call__( *args, **kwargs ) -> Any
Emulates a regular function call.
Module's dunder call will ensure state is updated after the function
call by calling
assign on the updated state before returning the output of
||The arguments to the module.|
||The keyword arguments to the module.|
|The output of the module.|


text: Aparallel computing environment was constructed based on Windows 2000 operating system. This cluster was configured using Fast-Ethernet system to hold up together the clients within a network domain. For the parallel computation, MPI implements for Windows such as MPICH.NT.1.2.2 and MP-MPICHNT.1.2 were used with Compaq Visual Fortran compiler which produce a well optimized executives for x86 systems. The evaluation of this cluster performance was carried out using a preconditioned Navier-Stokes code for the 2D analysis of a compressible and viscous flow around a compressor blade. The parallel performance was examined in comparison with those of Linux clusters studied previously by changing a number of processors, problem size and MPI libraries. The result from the test problems presents that parallel performance of the low cost Fast-Ethernet Windows cluster is superior to that of a Linux cluster of similar configuration and is comparable to that of a Myrinet cluster.


text:
When I Was Built Lesson Plan
- Grades: PreK–K, 1–2
About this book
- When I Was Built by Jennifer Thermes
- chart paper
- a marker
Set Up and Prepare
Try visiting _URL_ to learn more about colonial foodways.
Turn to the two page spread that features the Fairchilds in front of the fireplace. Have a discussion about how that room might look different today. Record students' ideas on the chart paper.
Some questions to keep in mind: What time of day is it? How is the room being lit? Do they have electricity? How is food prepared? (Note in the picture there is a bake oven, kettle, butter churn, wooden peel, herbs hanging from the ceiling, and frying pans.)
Have students create a new drawing of a modern kitchen and compare it to the picture in the book.


text:
Training Aid Framework (TAF)
- Name of the instrument - Local language
- Training Aid Framework (TAF)
- Name of the instrument - English translation
- Training Aid Framework (TAF)
- Type of instrument
- Grant for companies
- Type of entry
- Single instrument
- Short description
All kinds of companies including partnerships, self-employed persons, family businesses, associations or other bodies, whether vested with legal personality or not, can apply for the grant to cover their training expenses. The public co-funding share depends on a company size and ranges between 50% and 70% (preferential treatment is given to smaller entities).
- Short description of the related instruments
- Level of operation
- Name of a part of the country
- Name of the region (for regional instruments)
- Name of the sector (for sectoral instruments)
- Key scheme
- Legal basis
The scheme is in line with the Commission Regulation (EU) No 651/2014 of 17 June 2014 declaring certain categories of aid compatible with the common market in application of Articles 107 and 108 of the TFEU (General Block Exemption Regulation).
- Objective(s) and target(s)
To promote access to training of persons actively participating in the Maltese labour market: increasing and/or improving the skills of persons currently in employment; enabling the beneficiaries to become more productive and competitive through the development of skills, knowledge and competence.
- Year of implementation
- Year of latest amendment
- Year of termination
The overall responsibility for the management and implementation of the TAF2 is of the Employment and Training Corporation (ETC), designated Intermediate Body (IB). The responsibilities of the IB amongst others include:
a) wide dissemination of the aid scheme including promotions through various forms of media
b) provision of information to potential beneficiaries
c) receipt of TAF applications
d) presiding over the evaluation process
e) entering into a grant agreement with eligible applicants
f) monitoring the implementation of operations under the scheme
g) carrying out documentary and physical on the spot check
h) initiating the payment process in the Structural Funds Database 2007-13.
- Eligible group(s)
All enterprises, including partnerships, companies, self-employed persons, family businesses, associations or other bodies, whether vested with legal personality or not, having an economic activity.
The trainee needs to be formally employed with the beneficiary during the training period and must be participating in an eligible training programme.
- Group(s) with preferential treatment
Micro, small and medium size enterprises
- Education and training eligible
any type of education and training
sector/company specific and transferable
internal and external
in Malta or abroad through distance learning
Aid shall not be granted for training which beneficiaries carry out to comply with National Mandatory Standards on training. Furthermore Information Sessions and Team Building events are not eligible under the TAF2 since these are not considered as training. Apprentices or students engaged in vocational training with an apprenticeship or vocational training contract are not eligible either.
- Source of financing and collection mechanism
- Financing formula and allocation mechanisms
Funds under the scheme are subject to a total budget of EUR 2 500 000.
The size of a company determines the level of support: large companies: 50% of eligble costs, medium: 60%, small or micro: 70%.
No upper limit for the amount of aid, although restrictions apply to the amount of travel and proportion of trainer costs that can be claimed from the fund.
Allocation: reimbursement principle; the grants are allocated to the eligible applicants on first-come, first-served basis.
- Eligible costs
Fees and other costs related to education and training, personnel absence costs.
- Volumes of funding
Funds under the scheme are subject to a total budget of EUR 1 993 142 in 2013.
- Beneficiaries/take up
- Organisation responsible for monitoring/evaluation
The overall responsibility for the management and implementation of the TAF is of the ETC. ETC is the designated Intermediate Body (IB) for the implementation of the TAF2.
- Monitoring/evaluation reports available
- Most relevant webpage - in English
- Most relevant webpage - local language
- Recent changes
TAF2 is 'the training aid framework for the first half of 2015'. It is a re-design of the original TAF initiative with the argument that 'it's re-designed to pay out fast'. However there has been a reduction in the percentage of eligible costs reimbursed.


Using the Tip Calculator
The tip calculator provides a simple way to allocate tips and add them to your payroll report.
To open the tip calculator, from the schedule, on the intended day, press Enter Tips
Entering time and tip amounts
 1. Enter the time span for the tip entry. NOTE: If you are synchronizing with a POS, select your 'day-part', and the time range will auto-populate.
 2. Enter Credit and Cash Tip Amounts. NOTE: If you are synchronizing with a POS, your Credit tips will auto-populate.
 3. Press Calculate
Make adjustments, Save, and Print
 1. Use the "Allocated" line to remove a percentage of the tip total (i.e. if a certain percentage of the total will go towards an entry in another department). In the example below, 10% of the tip amount is pulled from the present pool.
 2. Make any adjustments to Hours, or use the "Multiplier" fields to use a "Point" allocation. If you would like to exclusively use "Points" and disregard hours, then enter "1" into the hours fields.
 3. Press Save and/or Print to complete
NOTE: You may make multiple tip entries per day, and edit or delete entries.
NOTE: Employees' own tip amounts will be visible from their dashboard.
Set tips to carry into your Payroll Report
1. From the Gearwheel Menu, go to Settings
2. Scroll to Payroll Settings, and check Include Tips in Payroll
Set default Point Values for Roles
1. From the gearwheel menu go to Roles / Headings
2. Press the settings gearwheel next to a Role, and enter a default tip multiplier unique to the Role


text:
Below is one of our free research papers on The Growth Of Democracy. If the term paper below is not exactly what you're looking for, you can search our essay database for other topics.
The Growth of Democracy
In 1850, Britain was an undemocratic country. At this time the electoral system divided Boroughs and Counties. Voting qualifications were different in boroughs and constituencies. The vote was only given to men over the age of 21 providing their property was valued at £10 or more, or land was more than £2 per year in rent. Seats were distributed unequally and traditional ruling families usually formed the Cabinet. Furthermore, bribery and corruption were widespread and only the minority of the population were entitled to vote. At this time there was no form of a basic education for the population masses and there was still a lot of power lying within the House Of Lords and not with elected officials. A certain degree of money was necessary to stand for election because this was not a paying job, which, as a result stopped vast numbers of people standing for election because the did not have the finances to support themselves. Nor were they able to afford to stand for election as due to bribery and corruption, the poor stood no chance of winning as they did not have the money to provide voters with what they wanted in return for their support. For democracy, there needed to be regular elections and although at this time elections were every seven years, this was not often enough.
However between 1850 and 1918, progress was made towards Britain becoming a democracy. Now there was better communication and education increasing political inte...


How much do we need to understand each other to work together?
Playing this video requires the latest flash player from Adobe.
Download Video
Recording Details
PIRSA Number:
The boundary object is an ethnographic term that describes objects, processes, or words that cross between cultures or disciplines. Boundary objects are often the currency and the result of cross disciplinary practices. All manner of things, from software, to maps, to theories can provide a rich terrain for misunderstanding, tentative agreements or new insights. Case studies of cross-disciplinary art and science collaborations or design and engineering projects will provide examples.


Pseudonyms and Pronunciation
Published in: News 05/12/2015
Woody Allen mug shot
Famous actors and singers, celebrated artists and writers, have often changed their original names in favour of more appealing and easier to remember pseudonyms.
Some of these celebrities just needed to simplify their family names which were too complicated to pronounce; others only wanted to forget an ugly given name or a too common last name.
Pseudonym replacing an unpronounceable real names
Woody Allen, the most celebrated American film director, is the pseudonym of Allan Stewart Königsberg
Jennifer Aniston, the American actress of Greek descent, was born Jennifer Anastasakis
Charles Aznavour, the French singer of Arminian origins, is the stage name of Shahnourh Varinag Aznavourian
Freddie Mercury, the unforgettable frontman of British rock band The Queen, had Persian origins, was born in Zanzibar and his real name was Frederick Farookh Bulsara
Kirk Douglas, the actor of Russian descent, was born Issur Danilovitch Demsky
Vivien Leigh, the English actress born in India, is the pseudonym of Vivian Mary Hartley
George Michael, the English singer of Greek descent, was born Georgios Kyriacos Panayiotou
Stevie Wonder, the American singer, musician, and composer, was Steveland Hardaway Judkins
The most successful pseudonyms ever and their correct pronunciation
Marilyn Monroe, one of the most celebrated stars worldwide, was born Norma Jeane Mortenson
Brigitte Bardot, the beautiful French actress, was born Camille Javal
Bo Derek, the attractive American actress, in reality is Mary Cathleen Collins
Bob Dylan, the American legend, was born Robert Allen Zimmerman
Elton John, the British singer and musician, is the pseudonym of Reginald Kenneth Dwight
Yves Montand, the Italian-born French singer and actor, was the stage name of Ivo Livi
Demi Moore, the American actress, was born Demetria Guynes
Pseudonyms in literature
Agatha Christie, one of the most famous writers worldwide, was born Agatha Mary Clarissa Miller
George Orwell, the author of 1984 and Animal Farm, was the pseudonym of Eric Arthur Blair
George Sand in reality was Amantine Aurore Lucile Dupin
Marguerite Yourcenar, the Belgian writer, was born Marguerite de Crayencour
Alberto Moravia, the Italian writer, was the pen name of Alberto Pincherle
Curzio Malaparte, Italian writer and journalist, was born Kurt Erich Suckert
Italo Svevo, the Italian author of Jewish descent, was born Aron Hector Schmitz
Pseudonyms: short is better
Stendhal, the French writer, the author of The Red and the Black, is the pen name of Henri Beyle
Hergé is the pseudonym of Belgian cartoonist Georges Remi
Moebius is the pen name of French cartoonist Jean Giraud
Sting, the most famous in the world pseudonym was adopted by British singer and musician Gordon Matthew Sumner
Skin, the English singer and judge of the Italian XFactor, was born Deborah Anne Dryer
More pseudonyms
Anne Bancroft, the American actress, the winner of an Oscar for Best Actress, was born Anna Maria Louise Italiano
Rita Hayworth, the unforgettable diva, was the pseudonym of Margarita Carmen Cansino
Vivien Leigh, the British star of Gone with the Wind, was born Vivian Mary Hartley
Dean Martin, charming singer and actor, was born Dino Paul Crocetti
Ashley Judd, the American actress, is the stage name of Ashley Tyler Ciminella
Elvis Costello, the British singer and composer, is the pseudonym of Declan Patrick MacManus
Share on
Enter the difficult name to pronounce
Sign up to our newsletter
Follow us on


text:
Why was I a recipient? Well, the students had actually gathered the sweet, edible, goodness for a biology project, and used one of my class periods to teach a lesson to other biology students about the science of syrup gathering.
It came from our school's own maple trees, and is fabulous. It has a rich, textured sweetness with a complex finish that hints of honey and nuts. I cannot wait to pour it over pancakes or French toast tomorrow morning for breakfast.


text:
AberystwythArticle Free Pass
Aberystwyth, coastal town, Ceredigion county (historic county of Cardiganshire), Wales, where the River Rheidol flows into Cardigan Bay. Traces of extensive Iron Age earthworks have been found on the hill Pen Dinas, which overlooks the old port and town. The medieval walled town grew around the castle erected by the Normans (1277) on a rocky headland immediately north of the mouth of the River Rheidol, into which the mouth of the River Ystwyth has also been diverted. The town spread northward along the coast, especially after the coming of railways. The port, now virtually unused, once handled coastal, Irish, and even transatlantic shipping (Welsh emigrants, for example, would sail direct for the United States) and served as the outlet for the once-flourishing Cardiganshire lead mines.
The town has grown since the late 19th century as a holiday resort and rural service centre and is the headquarters of many regional services of western Wales. Though established by English conquerors in the Welsh heartland, Aberystwyth has become a principal stronghold of Welsh culture. The founder college of the University of Wales was established there in 1872. Modern university buildings and the National Library of Wales, one of Britain's copyright libraries, overlook the town from Penglais Hill to the northeast. In the Rheidol valley the inland hamlet of Llanbadarnfawr has become a suburb; its church was once a great centre of Dark Ages learning and Celtic Christianity. Pop. (2001) 11,607.
What made you want to look up "Aberystwyth"? Please share what surprised you most...


text:
Be the first to like this
Adelaide's main source of water comes from the River Murray and the Mount Lofty catchment area and connects to the reticulation system. Urban stormwater is a major input to surface water with a number of natural creeks discharging to stormwater drains. Although the major source of water comes from the surface water, ground water is also vital resource. Rising groundwater levels, dry land salinity and droughts are major problems in Adelaide. This presentation offers solution to these problems.


text:
You may be familiar with the picturesque image of rice paddies -- lush, green fields, perhaps stacked in terraces -- but do you know how rice gets from the paddy to your plate? The process is seriously labor intensive, requiring more steps than you might think would be necessary for such tiny, little grains.
A staple found all over the world, rice is grown everywhere from Minnesota to Myanmar. According to the Food and Agriculture Organization of the United Nations (FAO), however, an incredible 90 percent of it is grown and consumed in Asia. Making up anywhere from 50 to 80 percent of calories in a person's diet in Asia, rice is the backbone of millions of people's lives. What's more, demand is skyrocketing due to population growth. The FAO estimates that rice consumption in Asia will increase 51 percent between 1995 and 2025.
It's time we all understood how this critically important crop grows and how it's harvested. Here are the basics you need to know:
China produces and consumes the most rice out of any country in the world.
Researchers via Getty Images
Wet rice is grown in rice paddies.
Akira Kaede via Getty Images
Rice paddies are fields of rice seed that hold a certain level of water -- usually about six inches to start.
Paddies may be built into terraces to facilitate flooding.
One terrace will be flooded to initiate the rice growing process, and over time as the rice matures, farmers will lower the level of water by releasing it to terraces below. When the rice is ready to be harvested, farmers will drain a terrace completely by removing barriers between terraces, letting water flood from the higher terrace to a lower one.
Glutenous rice, also known as sticky rice, is grown both in lowland paddies as well as in fields at high elevation.
Sticky rice requires less water than regular rice, and can thus be grown on hillsides
where the crop may get enough water from natural rainfall, in addition to lowland paddies that are manually irrigated.
Rice is harvested when the grains' moisture content is around 25 percent.
Danita Delimont via Getty Images
According to the FAO
, the grains should be full but not cracking, with yellow hulls, and the stalks of the plant should be slightly bent. It could take anywhere from three to six months
for rice to reach this stage.
To harvest rice, farmers drain, cut and dry.
Peter Stuckings via Getty Images
The first step of harvesting is draining the paddy. Next, farmers cut the plants -- with a scythe or sickle if by hand -- and transport them elsewhere to be laid out and dried for two or three days.
Rice can be cut by hand or machine. In the developed world, harvesting by hand is still very common.
It takes a lot of time to harvest rice by hand: 80 to 160 hours per hectare, or 198 to 395 hours per acre, according to the FAO
. By machine, rice might take around 2.7 to 4.5 hours per hectare, or 6.7 to 11 hours per acre, to harvest. Depending on the region, and the access to machinery, mechanized cutting is becoming increasingly popular.
After the rice has been cut and laid out to dry, it must be threshed.
sommail via Getty Images
Threshing, which separates the grain from the stalk, can also be done by hand or machine. One common method of threshing is slamming sheaves of against a table with slots in it. The banging dislodges the grains, which fall through the cracks in the table to a collection area below.
Finally, rice grains are dried again, and maybe milled.
Joerg Mikus via Getty Images
When harvested, rice has around 25 percent moisture content, but after it is threshed, it needs to dry to about 14 percent
water content in order to be safe for storing and milling. The process of milling removes the husk, bran layer and germ, and results in what we know as white rice. Brown rice is not milled, which explains its relative heartiness compared to white rice.
Now that you know how rice is harvested, go and enjoy one of these ridiculously awesome and easy rice bowls. We think you've earned it.
Want to read more from HuffPost Taste? Follow us on Twitter, Facebook, Pinterest and Tumblr.
A No-B.S. Guide To Life


text:
No longer do facilities need to use paper forms or take hand written notes in the field and then return to the office for an afternoon of data entry. The Ecesis® Mobile EHS App is an easy-to-use mobile application for reporting safety and environmental incidents, managing EHS data and viewing policies and procedures regardless of connectivity.
Data Collection - Verify, collect and modify data while in the field regardless of connectivity. Then, when cellular data or wifi connection is re-obtained the collected data is instantly synchronized.
Mapping - Collect GPS coordinates and instantly associate them with equipment, incidents and inspections. Equipment may also be automatically queried based on the user's current location or use the app to obtain directions to a specific location or piece of equipment.


RTX shows bigger calculation difference with CPU than GTX?
I have source codes to solve 2-dimensional shallow water equation using C++ and Cuda 11.2.
I have tested the exe file on GTX970, GTX1080Ti, RTX2070, RTX2080, RTX2080Super.
The results of calculation difference with CPU are as below.
GPU ====> Max. value of calculation result difference with CPU
GTX970 ====> 0.001
GTX1080Ti ====> 0.001
RTX2070 ====> 0.204
RTX2080 ====> 0.261
RTX2080Super ====> 0.221
The question is "Why RTXs have bigger difference than GTXs? "
Are there any build options for RTXs?
I use Visual studio 2019, Cuda Toolkit 11.2, and C++.
I applied sm_52 and compute_52( or sm_75 and compute_75), and "Use Fast Math : false" options.
My PC OS is Windows10 64bit.
Please help me.
calculation difference with CPU
This is not a valid measure of correctness or accuracy.
Since code generation has an architecture-dependent component, on both CPUs and GPUs, numerical differences can result. For example, the compiler may re-arrange code to increase instruction-level parallelism, or apply fusion of FMUL and dependent FADD into an FMA (fused multiply-add) differently, or some math functions may have slightly different accuracy within the stated accuracy bounds.
If you want to assess accuracy, the easiest (but not entirely foolproof) way is to compute reference results in (much) higher precision, then compare against that.
If you merely need the issue to go away, try compiling with -fmad=false. Note: this will in all likelihood decrease both performance and accuracy of the GPU implementation.
Thanks njuffa,
You are right, it is not about accuracy.
So I have changed the title of this issue.
Previous title : RTX shows lower floating point accuracy than GTX?
New title: RTX shows bigger calculation difference with CPU than GTX?
I think its unlikely that anyone can give you a complete answer unless either you provide a complete code example, or someone decides to write a lengthy tutorial for you.
The only "build options" specific to RTX that come to mind are the ones you already mentioned: it's always good practice to compile for the architecture(s) you intend to run on, e.g. compute_75/sm_75 for a cc7.5 GPU.
Here is a brief tutorial. I would say there are two general categories of issues here.
 1. Those arising from machine calculation methods. For example comparing float to double, or with or with FMA contraction, are a couple examples. Such differences can easily give rise to differences in results, whether we are talking about comparing CPU to GPU or some other comparison. In addition, other more complex operations such as sin(), cos(), and other "library" match functions may simply be implemented differently on two different "machines" giving rise to different results.
 2. Those arising from order of operations (algorithm calculation methods). Floating point operations don't always have all the characteristics of basic math operations that we learned about in grade school/middle school. If you compare a serial algorithm/realization to a parallel algorithm/realization, its often the case that the math doesn't get done in exactly the same order. This can give rise to differences. A possible item to read here is this floating point whitepaper
Because the two GPUs you mention generally have different sizes (e.g. differing numbers of SMs, for example) a nice ninja-tuned parallel reduction that scopes out the size of the GPU being run on, then uses e.g. a grid-stride loop to size the grid to match the GPU, and then doing a parallel reduction, will likely give at least slightly different results depending on the GPU it is run on.
I doubt that is actually the issue in your case; I don't know what the issue is in your case. You're welcome to discuss it further, but I'm unlikely to provide any further response unless you provide a short, complete example that demonstrates the issue.
There are many questions on various forums that fit this general description (CPU/GPU differences), here is one example. Yes, I'm aware that one doesn't specifically focus on GPU-GPU differences. Here is one that discusses GPU-GPU results differences, in a general way. I'm sure you can find others.
Thank you, Robert_Crovella
I will review my codes carefully about your comments.
And if I have any positive results, I will let you know.
Thank you, Robert_Crovella.
I have reviewed my codes in detail, and it seems I have found the solution.
The summaries of my review are as follows.
 1. __syncthreads() function acted more strictly in RTX than GTX.
 (e.g. At a __syncthreads() in a "if" statement, RTX was hung but GTX was not.)
 2. GTX was more sensitive on the value of thread per block (TPB).
 When the TPB was changed, the calculation results from GTX were less sensitive than RTX.
 (** My calculation includes iteration process (implicit method).)
 3. When I applied larger value of TPB(e.g. 32, 64, 128, 256, 512), the calculation results from RTX became closer to the results using CPU. I think, this may be, larger TPB can sync more control volumes in a block even though cudaDeviceSynchronize() is not applied.
 (** The control volume is minimum calculation unit when using finite volume method (FVM).)
 4. When I applied TPB as 256 or a larger value to RTXs and 32 to GTXs, the calculation results from all the GPUs were very close to the results using CPU.
 (** In my first posting of May 27, TPB 32 was applied to all RTXs and GTXs.)
Again, thank you for your comments and encouraging.


something with the message
}
We only need to do minimal processing of the data for this application before sending it on to Honeycomb or Zipkin. As the messages contain nested objects, we need to flatten the object hierarchy for easier viewing in spans. So instead of this:
{
 "request": {
 "operation": "update",
 "namespace": { "id": "root" },
 "path": "sys/audit/socket",
 "data": {
 "local": false
 }
 }
}
We want to send this:
{
 "request.operation": "update",
 "request.namespace.id": "root",
 "request.path": "sys/audit/socket",
 "request.data.local": false
}
We also want to get a few strongly typed pieces of data out of the message, too, such as the type (request or response) and the request's id, which is in both messages and can be used to group the spans.
To save us from deserialising the json twice, we can do the following:
 1. deserialize into a map[string]interface{}
 2. create a flattened version of the event using the flatten library
 3. turn the map into a typed struct using the mapstructure library
// 1 deserialize
event := map[string]interface{}{}
if err := json.Unmarshal(message, &event); err != nil {
 return err
}
// 2 flatten
flat, err := flatten.Flatten(event, "", flatten.DotStyle)
if err != nil {
 return err
}
// 3 type
typed := Event{}
if err := mapstructure.Decode(event, &typed); err != nil {
 return err
}
Now that we have our flattened version and our typed version of the message, we can forward it to our span processors. There are two implementations (3 if you count stdout), so let's look at them one at a time.
Honeycomb
To send the spans to Honeycomb, I am using their lower-level library libhoney-go, rather than the more usual beeline as I don't need all the context propagation or automatic ID generation.
For the first version of this application, just sending the two events to Honeycomb linked together is enough; however, both spans will show 0ms durations. We'll fix this problem for both Honeycomb and OpenTelemetry later.
To link our spans together properly, I use the .Request.ID property from the event as the trace.trace_id; it's already a guid and is the same for both the request and response events. Then, for a request event, I make it the parent span by using the .Request.ID again, but this time as the trace.span_id. Finally, for the response event, I set the trace.parent_id to the .Request.ID, and generate a random value for the trace.span_id field.
Lastly, I loop through the flattened version of the event, adding each key-value pair to the event's attributes and finally send the event.
ev := libhoney.NewEvent()
ev.AddField("trace.trace_id", typed.Request.ID)
if typed.Type == "request" {
 ev.AddField("trace.span_id", typed.Request.ID)
} else {
 ev.AddField("trace.parent_id", typed.Request.ID)
 ev.AddField("trace.span_id", generateSpanID())
}
ev.AddField("service_name", "vault")
ev.AddField("name", typed.Type)
for key, val := range event {
 ev.AddField(key, val)
}
ev.Send()
Zipkin / OpenTelemetry
The process for sending via OpenTelemetry is reasonably similar; we start a new span, copy the flattened structure into the span's attributed and call End(), making the TracerProvider send the span to our configured backends (Zipkin in this case.)
id, _ := uuid.Parse(typed.Request.ID)
ctx := context.WithValue(context.Background(), "request_id", id)
tr := otel.GetTracerProvider().Tracer("main")
ctx, span := tr.Start(ctx, typed.Type, trace.WithSpanKind(trace.SpanKindServer))
for key, value := range event {
 span.SetAttributes(attribute.KeyValue{
 Key: attribute.Key(key),
 Value: attribute.StringValue(fmt.Sprintf("%v", value)),
 })
}
if typed.Error != "" {
 span.SetStatus(codes.Error, typed.Error)
}
span.End()
The hard part was figuring out how to feed the .Request.ID into the Tracer as the TraceID, which was achieved by configuring OpenTelemetry with a custom ID generator that would use the request_id property of the current context:
type Generator struct{}
func (g *Generator) NewIDs(ctx context.Context) (trace.TraceID, trace.SpanID) {
 val := ctx.Value("request_id").(uuid.UUID)
 tid := trace.TraceID{}
 req, _ := val.MarshalText()
 copy(tid[:], req)
 sid := trace.SpanID{}
 rand.Read(sid[:])
 return tid, sid
}
I am sure more copying and allocation is happening in this method than necessary, but it is good enough for now. Configuring it for use by OpenTelemetry is straightforward; it just needs adding to the NewTracerProvider call by wrapping it with trace.WithIDGenerator():
exporter, _ := zipkin.NewRawExporter(
 "http://localhost:9411/api/v2/spans",
 zipkin.WithSDKOptions(sdktrace.WithSampler(sdktrace.AlwaysSample())),
)
processor := sdktrace.NewSimpleSpanProcessor(exporter)
tp := sdktrace.NewTracerProvider(
 sdktrace.WithSpanProcessor(processor),
 sdktrace.WithResource(resource.NewWithAttributes(
 semconv.ServiceNameKey.String("vault-observe"),
 )),
 sdktrace.WithIDGenerator(&Generator{}),
)
otel.SetTracerProvider(tp)
Testing
To verify that it works, I have a single docker-compose.yml file which sets up a Vault instance in dev mode, and a Zipkin instance. It mounts the current working directory into the Vault container as /sockets to share the socket file between the host and the container.
version: "3.9"
services:
 vault:
 image: vault:latest
 cap_add:
 - IPC_LOCK
 volumes:
 - "./:/sockets:rw"
 ports:
 - "8200:8200"
 environment:
 VAULT_DEV_ROOT_TOKEN_ID: "vault"
 zipkin:
 image: openzipkin/zipkin-slim
 ports:
 - "9411:9411"
Running the application along with the docker container is now as follows:
go build
docker-compose up -d
./vault-observe --zipkin --socket-path observe.sock
In another terminal, you can now enable the new audit backend and send some requests so we can look at them in Zipkin:
export VAULT_ADDR="http://localhost:8200"
export VAULT_TOKEN="vault"
vault audit enable socket address=/sockets/observe.sock socket_type=unix
vault secrets enable -version=2 kv
vault kv put /secrets/test name=andy
vault kv get /secrets/test
Running in Production
There are a few things you should be aware of, running this in production:
 - This must not be your only audit backend: Vault will fail requests if they are not successfully written to at least one audit backend if any are enabled.
 - There is the possibility of losing data if the vault-observe process stops
Improvements
As I am using this for keeping an eye on request durations and patterns in behaviour, capturing the actual time it takes for Vault to handle a request would be pretty valuable. So instead of processing both events, I will keep just the timestamp from the request, and then when the response event comes in, look up the timestamp and calculate the duration.
As I don't want an ever-expanding list of timestamps in memory, I use an automatically expiring cache so keep them for around 10 seconds, as no request to Vault should be that slow!
requests := cache.New(10*time.Second, 1*time.Minute)
for {
 err


text:
Odo of Montbéliard
Odo of Montbéliard (also known as Eudes) was a leading baron of the crusader Kingdom of Jerusalem in the early 13th century. He often held the highest offices in the kingdom including bailli (viceroy) and constable (commander of the army).
In 1220 Odo was appointed constable of the Kingdom of Jerusalem by the king John of Brienne. In 1223 Odo was appointed as bailli of the kingdom. However in 1227 the Holy Roman Emperor and king of Jerusalem Frederick II sent out Thomas of Aquino to replace Odo. The following year Odo was appointed as one of the three commanders of Frederick's Crusade along with Richard Filangieri and Hermann von Salza.
At the end of the Sixth Crusade, just before Frederick left Acre (1229) to return to Europe, he appointed Odo as constable. Then while Frederick was on his way to the harbour he was pelted with dung and entrails by the unappreciative people of Acre. Odo and John of Ibelin quelled the unrest.
In 1233 Odo was caught up in the disaffection at Frederick's decision to appoint Philip of Maugastel as bailli; an appointment which Odo was prepared to support. A furious mob attacked supporters of Philip and it was only the intervention of John of Caesarea that saved Odo from being killed. Odo and Balian of Sidon shared the role of bailli in 1236 against the wishes of Pope Gregory IX whose choice of Richard Filangieri was unacceptable to the barons.
Odo took part in Theobald I of Navarre's Crusade of _PHONE_ but there were tensions between Theobald and local barons including Odo. However, the treaty between Theobald and the sultan of Damascus in 1240 gave Galilee back to the Kingdom of Jerusalem, and as Odo of Montbéliard was titular Prince of Galilee (by right of his marriage to Eschiva of Saint-Omer), he now took up the rule of Galilee.
Tiberias, the capital of Galilee, was sacked by the Khwarezmians in 1244, after which Odo began rebuilding the citadel. But in 1247 the city of Tiberias and Odo's Principality of Galilee were lost to the armies of the Ayyubid sultan al-Salih Ayyub. Odo died later that year.
- Steven Runciman, A History of the Crusades, vol. II: The Kingdom of Jerusalem and the Frankish East _PHONE_, Penguin Books, 1990, p.219
- Thomas C. Van Cleve (1969), "The Crusade of Frederick II," The Later Crusades, 1189–1311, R. L. Wolff and H. W. Hazard, edd., A History of the Crusades, vol. II, Kenneth M. Setton, gen. ed. (Madison, Wisconsin: University of Wisconsin Press), 450–52.
- Runciman, p.191-192
- Runciman, p.205
- Runciman, p.214


text: This volume presents empirical studies and theoretical reflections on Evolutionary Governance Theory (EGT), its most important concepts and their interrelations. As a novel theory of governance, EGT understands governance as radically evolutionary, which implies that all elements of governance are subject to evolution, that these elements co-evolve and that many of them are the product of governance itself. Through this book we learn how communities understand themselves and their environment and why they create the complex structures and processes we analyze as governance paths. Authors from different disciplines develop the EGT framework further and apply it to a wide rage networks of power, governance of agricultural resources etc. The contributors also reflect on the possibilities and limitations of steering, intervention, management and development in a world continuously in flux. It bridges the gap between more fundamental and philosophical accounts of the social sciences and applied studies, offering theoretical advancements as well as practical recommendations.