3
$\begingroup$
I am writing a notebook programmatically. I would like the FrontEnd to wait until an evaluation is finished, before continuing. This is best explained with examples:
The following opens a notebook, writes a text cell, writes an input cell, evaluates it, and continues to write more text cells. Notice that the evaluation doesn't finish until the the the the FrontEnd finishes.
NotebookWrite[exampleNB,
 Cell["example of evaluating input programmatically",
 "Text"]]; NotebookWrite[exampleNB,
 Cell["D[Sin[ RandomReal[] x],x]" , "Input", CellTags -> 1]];
SelectionMove[exampleNB, Previous, Cell];
SelectionEvaluate[exampleNB];
NotebookWrite[exampleNB, Cell[RandomWord[], "Text"]];
Pause[5];
NotebookWrite[exampleNB, Cell[RandomWord[], "Text"]];
This is related to a similar post, the answer to which almost gets me to a solution. How to wait a Cell in a Notebook to be executed until another Notebook's Cell expressions executed?
That post's solution doesn't work for my case, because this will evaluate all input cells:
NotebookWrite[exampleNB,
 Cell["example of evaluating input programattically",
 "Text"]]; NotebookWrite[exampleNB,
 Cell["D[Sin[ RandomReal[] x],x]" , "Input", CellTags -> 1]];
SelectionMove[exampleNB, Previous, Cell];
NotebookEvaluate[exampleNB, InsertResults -> True];
NotebookWrite[exampleNB, Cell[RandomWord[], "Text"]];
Pause[1];
NotebookWrite[exampleNB,
 Cell["D[Sin[ RandomReal[] x],x]" , "Input", CellTags -> 1]];
SelectionMove[exampleNB, Previous, Cell];
NotebookEvaluate[exampleNB, InsertResults -> True];
Pause[1];
NotebookWrite[exampleNB, Cell[RandomWord[], "Text"]];
I've tried a solution with CellTags. This works, but there is a problem: there is no output from the evaluation.
NotebookWrite[exampleNB,
 Cell["example of evaluating input programattically",
 "Text"]]; NotebookWrite[exampleNB,
 Cell["D[Sin[ RandomReal[] x],x]" , "Input", CellTags -> 1]];
SelectionMove[exampleNB, Previous, Cell];
NotebookEvaluate[exampleNB,
 EvaluationElements -> {"CellTags" -> 1}];
NotebookWrite[exampleNB, Cell[RandomWord[], "Text"]];
Pause[2];
NotebookWrite[exampleNB,
 Cell["D[Sin[ RandomReal[] x],x]" , "Input", CellTags -> 2]];
SelectionMove[exampleNB, Previous, Cell];
NotebookEvaluate[exampleNB, EvaluationElements -> {"CellTags" -> 2}];
Pause[2];
NotebookWrite[exampleNB, Cell[RandomWord[], "Text"]];
One might think that adding the InsertResults->True option would insert results, but it doesn't:
NotebookWrite[exampleNB,
 Cell["example of evaluating input programattically",
 "Text"]]; NotebookWrite[exampleNB,
 Cell["D[Sin[ RandomReal[] x],x]" , "Input", CellTags -> 1]];
SelectionMove[exampleNB, Previous, Cell];
NotebookEvaluate[exampleNB, InsertResults -> True,
 EvaluationElements -> {"CellTags" -> 1}];
NotebookWrite[exampleNB, Cell[RandomWord[], "Text"]];
Pause[2];
NotebookWrite[exampleNB,
 Cell["D[Sin[ RandomReal[] x],x]" , "Input", CellTags -> 2]];
SelectionMove[exampleNB, Previous, Cell];
NotebookEvaluate[exampleNB, InsertResults -> True,
 EvaluationElements -> {"CellTags" -> 2}];
Pause[2];
NotebookWrite[exampleNB, Cell[RandomWord[], "Text"]];
I think that this may be a buglet.
Is there a work-around? My goal here is simple. Get the input's evaluation to display before the rest of the cells are written.
It may seem like a strange thing to want to do, but if is anyone is interested a out why, I'll add this as a comment.
$\endgroup$
6
 - $\begingroup$ Maybe TaskWait may help $\endgroup$ Commented Mar 21, 2021 at 17:16
 - 2
 $\begingroup$ I think your best option is to write the cells you want to evaluate into a separate notebook, evaluate that, and copy the results where you need them. (At least that's what I've ended up doing when I had this issue) $\endgroup$
 – Lukas Lang
 Commented Mar 21, 2021 at 18:14
 - $\begingroup$ I looked at TaskWait. That is a rabbit hole that I will spelunk if need be. Holding out hope for a simpler trick. $\endgroup$ Commented Mar 21, 2021 at 18:20
 - $\begingroup$ @Lukas that's a viable solution. I'll try it and see. If successful, I'll report back. $\endgroup$ Commented Mar 21, 2021 at 18:22
 - $\begingroup$ @LukasLang, That strategy works for me. $\endgroup$ Commented Mar 21, 2021 at 21:21
2 Answers 2
3
$\begingroup$
You could try the following approach, with a secondary kernel (K2) and using CellInformation to check if a cell or notebook is currently in the "Evaluating" state:
 1. Get the current evaluator names:
evaluators = EvaluatorNames /. Options[$FrontEnd, EvaluatorNames];
 1. Add a "K2" kernel if there isn't one:
SetOptions[$FrontEnd, Union[Join[evaluators, {"K2" -> {"AutoStartOnLaunch" -> False}}]]]
 1. Function which checks if any cell in a notebook is currently evaluating:
NotebookEvaluatingQ[nb_] := Module[{},
 SelectionMove[nb, All, Notebook];
 Or @@ Map["Evaluating" /. # &, Developer'CellInformation[nb]]
 ]
 1. Make a new notebook with a "K2" kernel:
nb = CreateDocument[{}, Evaluator -> "K2"]
 1. Write a test input Pause[2], evaluate it and pause until it is done. Repeat for a total of three times:
SelectionMove[nb, All, Notebook];
FrontEndTokenExecute[nb, "Cut"];
Do[
 NotebookWrite[nb,
 Cell[BoxData[MakeBoxes[Pause[2], StandardForm]], "Input"]];
 SelectionMove[nb, Previous, Cell];
 FrontEndTokenExecute[nb, "Evaluate"];
 SelectionMove[nb, Previous, Cell];
 While[NotebookEvaluatingQ[nb], Pause[.1]];
 SelectionMove[nb, After, Notebook];
 , 3]
$\endgroup$
1
 - 1
 $\begingroup$ This works very well for my purposes and is the best answer to the original question---thank you. I am also accepting this as an answer. $\endgroup$ Commented Mar 27, 2021 at 15:00
2
$\begingroup$
An example of evaluating the expression outside the notebook and then write the result in the notebook.
exampleNB = CreateDocument[];
NotebookWrite[exampleNB,
 Cell["example of evaluating input programmatically",
 "Text"]]; NotebookWrite[exampleNB,
 Cell["D[Sin[ RandomReal[] x],x]", "Input", CellTags -> 1]];
NotebookWrite[exampleNB,
 Cell[StandardForm@ToString@D[Sin[ RandomReal[] x], x], "Output"]];
Pause[2];
NotebookWrite[exampleNB, Cell[RandomWord[], "Text"]]
Pause[2];
NotebookWrite[exampleNB, Cell[RandomWord[], "Text"]]
$\endgroup$
1
 - $\begingroup$ Clever solution!; accepted it as answered. Also recognizing Lukas Lang for his suggestion. $\endgroup$ Commented Mar 23, 2021 at 12:15
Your Answer
By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.
Not the answer you're looking for? Brows


Compassionate care for people who self-harm: principles, tools and techniques
Intended for healthcare professionals
CPD
Compassionate care for people who self-harm: principles, tools and techniques
Gillian Rayner Reader/associate professor counselling and psychotherapy, community health and midwifery, University of Central Lancashire, Preston, England
Karen Wright Professor in nursing, University of Central Lancashire, Preston, England
Why you should read this article:
 - To understand the benefits of compassionate care for people who self-harm
 - To learn about tools that can be used to provide compassionate care such as urge surfing and 'compassionate kit bags'
 - To contribute towards revalidation as part of your 35 hours of CPD (UK readers)
 - To contribute towards your professional development and local registration renewal requirements (non-UK readers)
People who self-harm tend to find it challenging to accept care and compassion from others and to be compassionate towards themselves. Providing compassionate care to people who self-harm can be a soothing intervention that reduces their distress and/or helps them manage their distress. Nurses can support people who self-harm on their journey towards recovery by delivering interventions informed by compassion-focused therapy and cognitive behavioural therapy.
This article offers insights into compassionate care for people who self-harm and advice on how to provide it. Tools and techniques for enhancing compassion in the care of people who self-harm – including formulation, urge surfing, compassionate kit bags and compassionate wound care – are described. A case study outlines the importance of showing compassion to people who self-harm when they seek support from healthcare services.
Mental Health Practice. doi: 10.7748/mhp.2022.e1631
Peer review
This article has been subject to external double-blind peer review and checked for plagiarism using automated software
@kmwright1
Correspondence
_EMAIL_
Conflict of interest
None declared
Rayner G, Wright K (2022) Compassionate care for people who self-harm: principles, tools and techniques. Mental Health Practice. doi: 10.7748/mhp.2022.e1631
Published online: 20 December 2022
Want to read more?
Already subscribed? Log in
OR
Unlock full access to RCNi Plus today
Save over 50% on your first 3 months
Your subscription package includes:
 - Unlimited online access to all 10 RCNi Journals and their archives
 - Customisable dashboard featuring 200+ topics
 - RCNi Learning featuring 180+ RCN accredited learning modules
 - RCNi Portfolio to build evidence for revalidation
 - Personalised newsletters tailored to your interests
Subscribe
RCN student member? Try Nursing Standard Student
Alternatively, you can purchase access to this article for the next seven days. Buy now
Or


_USER_{Laflı_Ergün_Five_2018, author={Laflı, Ergün and Buora, Maurizio}, howpublished={online}, year={2018}, abstract={
In this brief article five bronze fibulae will be presented which are being exposed in the museum of Kahramanmaraş and belonging to the Roman period. These five examples are rare and significant for the Roman archaeology of Asia Minor.
}, title={Five Roman fibulae in the museum of Kahramanmaraş in southeastern Turkey}, type={Artykuły / Articles}, volume={vol. LV}, journal={Folia Orientalia}, pages={395-410}, publisher={Polish Academy of Sciences — Cracow Branch}, doi={10.24425/for.2018.124690}, keywords={Fibula, Roman period, museum of Kahramanmaraş, Alesia type fibulae, enamelled fibulae, "Zwiebelknopffibel"}, }


syntax if variable includes more less specific string of text - search 4 some magic
Hello folks!!
I'm searching for a magical symbol I guess... The issue is following:
I'm trying to assign certain string of text a specific value in new variable. Imagine a situation when I am searching that string of text in eg. people's opinions on whatever and my task is to separate those ones who used a specific swear word, in this case it's (let's say) "pencil". That's not problem though. The issue is (and that's what's important) that my task is to separate people who used various forms of this word in this way - "pxcil" while x can be any letter or number (for the sake of argument I wanna get rid of people who say "poncil" or "ppncil" or whatever).
Yeah, I know of order counting however this ain't the case to use it.
So, to sum it up my question is following: is there some sort of symbol or whatever to use in command such as:
if char.index(opinion_final, "p#ncil")>0 opinion_filtered=1.
Could you please help me in this quest or at least state that you're 1000% of no such magical symbol?
Thanx in advance...


text:
by Tom Beach, Shaun Howell and Yacine Rezgui (10-Apr-2018)
The water industry is transforming by using smart systems to make urban water systems more efficient. This publication proposes an intelligent solution using the Internet of Things, AI, and the semantic web, to achieve an efficient and scaleable use of large scale data in urban water systems.
2 Background to urban water systems and semantics
3 Data management in urban water systems
4 Using managed data to deliver analytics
5 A methodology for urban water analytic deployment

source: m-a-p/FineFineWeb


text:
What is Knowledge Management?
Published: June 22, 2016 by Anna Maloney
Students who earn their graduate degree from the MARA program have attained a well-rounded and current education in archives and records management. Specifically, "as a MARA graduate, you will be prepared to develop and manage records and information programs [and] to contribute to the organization by leveraging your expertise to analyze workflows and streamline business practices." But could a MARA grad move on to a career in knowledge management?
KMWorld, the leading publisher and information provider on knowledge management, provides the following definitions of the subject:
1. "Knowledge management is the process of capturing, distributing, and effectively using knowledge."
2. "Knowledge management is a discipline that promotes an integrated approach to identifying, capturing, evaluating, retrieving, and sharing all of an enterprise's information assets. These assets may include databases, documents, policies, procedures, and previously un-captured expertise and experience in individual workers."
Essentially, KM and RM are both commitments to collecting and codifying information, connecting people, and encouraging the positive exploitation and exploration of resources. Further, emerging trends in KM and RM are unsurprisingly similar, with some 2016 trends including more robust search functionality, enterprise collaboration, mobile technology, and a closer relationship with content creation (Eisenhauer, 2016). The most significant difference between the two fields is the distinction between records (format-independent documentary materials that evidence a transaction or event) and knowledge (information and skills acquired through experience or education). While KM does put more emphasis on maximizing the human element as a knowledge source, there is not a substantial departure from the realm of documentary media.
The MARA degree was one of four graduate school programs highlighted in an article published in the January 2016 issue of KMWorld, Gaining KM 'cred' in graduate school Academic programs help forge career paths.

source: openbmb/Ultra-FineWeb


Privacy and permission
Does the Central Registry of Rare Diseases have permission from the Belgian Privacy Commission to gather data?
Yes. The Privacy Commission has deliberated on this project. Approval (authorisation granted in deliberations
no.13/105 of 22/10/2013 and modification of 16/06/2015 of the Sectoral Committee of Health) has been obtained from the Sectoral Committee for Social Security and Health.
Does the patient need to give permission for registration in this registry?
No. The Privacy Commission has ruled that the patient's permission is not required for registration in the Central Registry of Rare Diseases. Before your data can be registered, however, the physician is obliged to inform the patient about the registry. One way physicians can do this is by providing the patient with a copy of this leaflet. If a patient has questions about this, he or she can contact the physician at any time.
Although the patient's permission is not required for data entry in the registry, patients can still object to the inclusion of data in the registry by explicit request. To do this, the patient can contact his or her physician.
Who has access to the registered data?
At the genetic centres all data is available because it is registered in the electronic patient record. The data is then sent to Sciensano, where a small number of researchers, under the supervision of a physician, have access to the (encoded) data.
What measures are taken to protect the patient's privacy?
The patient's first name and surname will never be sent to the Central Registry of Rare Diseases.
His or her national register number will be used as a unique identification number, however this will be converted to a unique code during transmission to Sciensano. The eHealth platform carries out this encoding as a Trusted Third Party and stores the unique key to the code.
Only a small number of scientific staff at Sciensano will have access to the encoded data. They are bound to secrecy under their employment contract.
Reports about the Central Registry of Rare Diseases will only contain anonymised data.
What is a Trusted Third Party?
A Trusted Third Party is an independent third party that guarantees the reliability of privacy protection measures during the gathering, exchange or processing of data.
The eHealth-Platform is a federal government institution, and is the Trusted Third Party that guarantees the encoding of patients' national register number for the Central Registry of Rare Diseases.
As this registry concerns rare diseases and contains only a limited number of patients for a specific disease, patients might easily be recognised, even when their personal information is coded. How can I be certain that personal data cannot be inferred?
A "Small Cell Analysis" has been carried out. This analysis set out the necessary measures that need to be taken to ensure that individuals can no longer be identified based on the data. For example results will always be grouped, for instance over a larger geographical area, or certain diseases will be arranged into groups of diseases.


text:
Thursday, November 1, 2012
Etymology and History of the Stole/Liturgical Vestment/ Symbol of Service/Linked to Washing of Feet
"The word stole derives via the Latin stola, from the Greek στολή (stolē), "garment", originally "array" or opted by the Church of Rome about the seventh century (the stole having also been adopted in other locales prior to this), the stole became gradually narrower and so richly ornamented that it developed into a mark of dignity. Nowadays, the stole is usually wider and can be made from a wide variety of material. There are many theories as to the "ancestry" of the stole. Some say it came from the tallit(Jewish prayer mantle), because it is very similar to the present usage (as in the minister puts it on when he or she leads in prayer) but this theory is no longer regarded much today. More popular is the theory that the stole originated from a kind of liturgical napkin called an orarium(cf. orarion) very similar to the sudarium. In fact, in many places the stole is called the orarium. Therefore it is linked to the napkin used by Christ in washing the feet of his disciples, and is a fitting symbol of the yoke of Christ, the yoke of service...."
Posted by Bridget Mary Meehan at 4:04 AM

source: HuggingFaceFW/fineweb-edu


text:
The Educational Employees Credit Union (EECU) routing number is 311981614. Some banks or credit unions have more than one branch, which can make it difficult to know which routing number to use. Luckily, EECU has only one all-purpose routing number.
EECU was first known as the Fort Worth Teachers Credit Union. It's based in Fort Worth, Texas, and provides banking services for teachers and administrators.
What Is a Routing Number?
You could say that a bank account number identifies you. In the same vein, a routing number identifies your financial institution. Routing numbers are nine digits long and are needed for a variety of reasons, including:
- Transferring funds between banks;
- Sending or receiving a wire transfer;
- Setting up an electronic funds transfer (EFT);
- Requesting a direct deposit of your paychecks or government benefits.
- Outgoing domestic wire transfers: $20;
- Incoming domestic or international wire transfers: $15;
- International wire transfers: Varies.
Where Can You Find Your EECU Routing Number?
If you're familiar with writing a check, you can easily find the EECU routing number. Look at the first nine digits at the lower left-hand corner of your check, just below the memo field. Chances are you'll also need your bank account number, which is the next grouping of 10 numbers following the routing number. Once you have these two identifying numbers, you're ready to go.
If you don't have access to personal checks, you can always refer back here or visit the credit union's website. If you need your bank account number as well, contact EECU's customer service line at _PHONE_.
Want a FREE Credit Evaluation from Credit Saint?
A $19.95 Value, FREE!


text:
For a transaction to take place between a client and a server, a conversation must be established. A conversation is established when a client makes a request by broadcasting a service name and topic name, and a server responds. Transactions can then take place across the conversation. When no more transactions are to be made, the conversation is terminated.
The following list identifies the elements involved with client/server activity:
A conversation is established when a server responds to a client.
A service name is a string broadcast by a client hoping to establish a conversation with a server that recognizes the service name. The service name is usually clearly related to the server application name.
The topic name identifies what the conversation between client and server is to be about. For example, it could be the name of a file that is open in the server application. Each topic is attached to one particular server. A server can have many topics.
The item usually identifies an element of the file identified by the topic which should be read (in the case of a request) or written to (in the case of a poke). For example, it might refer to a cell in a spreadsheet document.
LispWorks User Guide and Reference Manual - 21 Dec 2011


text:
Reports & Briefings
Briefing: EU gas infrastructure and EFSI: time for change
- Category: Reports & Briefs
- Published: 22 February 2017
This briefing shows that further public investment in EU gas infrastructure is likely to represent bad value for money, given:
- the very limited need for new gas investment for security of supply;
- the change of the market where gas demand is falling;
- the failure to test new gas infrastructure against EU climate and energy targets;
- the opportunity cost of not investing scarce EU public funds in other more productive areas, notably energy efficiency, renewable energies and electricity grids.
As a result, funding for new gas infrastructure under the EFSI 2.0 should be phased out. This would send a powerful signal that the EU will properly implement the Paris Agreement and create a much needed international precedent.


text:
– Microphones are essential for capturing vocals in karaoke and live performances.
– Handheld dynamic microphones are a popular choice for karaoke due to their durability and ability to handle loud vocals.
– Wireless microphone systems provide freedom of movement and flexibility during performances.
– The Shure BLX288/B58 wireless system and the Shure SM58 are recommended as top picks for karaoke and live performances.
Introduction to Microphones for Karaoke
When it comes to karaoke and live performances, having the right microphone is crucial. A good microphone can make a significant difference in the quality of the vocals and overall performance. In this article, we will explore different microphone types, polar patterns, and conduct hands-on testing to help you choose the best microphone for karaoke.
Understanding Microphone Types
There are various types of microphones available, but for karaoke purposes, handheld dynamic microphones are the most popular choice. These microphones are designed to handle loud vocals and are known for their durability. They are also less sensitive to background noise, making them ideal for karaoke in potentially noisy environments.
Exploring Polar Patterns
Polar patterns refer to the directionality of a microphone's sensitivity to sound. For karaoke, a cardioid polar pattern is commonly used. This pattern picks up sound from the front of the microphone while rejecting sound from the sides and rear. This helps to minimize feedback and unwanted noise during performances.
Hands-On Testing for Karaoke Microphones
Before making a final decision, it is essential to conduct hands-on testing with different microphones. This allows you to experience the sound quality, comfort, and overall performance of each microphone. Consider factors such as clarity, volume, and ease of use during your testing process.
The Shure BLX288/B58 Wireless System
One highly recommended wireless microphone system for karaoke is the Shure BLX288/B58. This system includes two handheld microphones and a dual-channel receiver. The BLX288/B58 system offers exceptional audio quality and the ability to harmonize or sing backup vocals. It operates on the UHF frequency band, providing a stable and interference-free signal.
The Shure SM58 Dynamic Microphone
Another popular choice for karaoke and live performances is the Shure SM58 dynamic microphone. This microphone is known for its durability and reliability. It has a cardioid polar pattern, making it suitable for karaoke in noisy environments. The SM58 is commonly found at venues and is trusted by professionals worldwide.
Additional Equipment for Karaoke Microphones
Both the Shure BLX288/B58 wireless system and the Shure SM58 require additional equipment to produce sound. A mixer or audio interface is necessary to connect the microphones to speakers or a sound system. Additionally, microphone stands and cables are essential for stability and proper connectivity.
Choosing the right microphone for karaoke can greatly enhance your vocal performance. Handheld dynamic microphones, such as the Shure BLX288/B58 wireless system and the Shure SM58, are excellent choices due to their durability, sound quality, and ability to handle loud vocals. Conducting hands-on testing and considering factors like polar patterns and additional equipment will help you make an informed decision. So, grab your microphone and get ready to rock the karaoke stage!


text:
Manitoba entrepreneur helping kids and youth dealing with mental illness.
People with animals at home know the feeling of unconditional love pets can provide. Now that same unconditional love is being used to help adolescents with emotional and mental difficulties to get well.
Lil' Steps Miniature and Wellness Farm in St. Malo Manitoba provides Equine Facilitated Wellness (EFW) for children and youth. In EFW, children and youth engage in team emphasized or individual sessions with the horse as the teacher. It is an experiential and process orientated experience for the child; where he/she will learn various life skills in a therapeutic and fun setting.
Lucy Fouasse, founder of Lil' Steps, opened the doors to the farm two years ago. Fouasse has spent the last 17 years working in the counselling field in many different capacities from justice, to mental health, and others. But it wasn't until four years ago when Fouasse was on the other side of the counselling, that she realized the important part animals can play in mental health.
"I suffered a serious head injury that left me unable to work and with a number of symptoms that made my day-to-day tasks very difficult," says Fouasse who suffered from migraines, double vision, short-term memory loss, and anxiety.
"I purchased two miniature horses and would spend every day with them and through this I noticed a change in myself. I was learning to be in the present moment through mindfulness and this helped my anxiety tremendously."
Once Fouasse was on the road to recovery she decided to meld her love for animals and counselling background together to help others. After doing some research, Fouasse noticed there was a definite need for this kind of counselling.
"I recognized that there were a number of people who would fall through the cracks of the systems," Fouasse says. "I wanted to create a service that was available to all children and youth and affordable through a sliding scale model. My service fits around the individual as opposed to the individual having to meet criteria for the service."
Studies suggest there is an instinctive bond between humans and animals. Our ancestors may have looked to animals for signals of whether they were in a safe environment or not. If animals are in a calm, peaceful state, the hypothesis says that humans are able to interpret this as a signal that we can relax. Fouasse says each animal has different characteristics that can help people.
"When you look at the brain waves of a horse and how they are always in the present moment due to being a prey animal, just by being around them can change our own brain waves to do the same," says Fouasse who adds horses are very intuitive and can sense the energy of a child, which allows a perfect mirror reflection to the child on their on their own energy and emotions. "Recognizing our own emotions is essential in the therapeutic work in healing."
According to the Canadian Mental Health Association, It is estimated that 10-20% of Canadian youth are affected by a mental illness or disorder – the single most disabling group of disorders worldwide.
Today, approximately 5% of male youth and 12% of female youth, age 12 to 19, have experienced a major depressive episode.
The total number of 12-19 year olds in Canada at risk for developing depression is a staggering 3.2 million.
"I would say that one of the primary pieces that all kids walk away from is confidence and a better sense of self. At the farm, you can be who you are…it's a place to be and become. The animals accept you fully and are honest in a non-judgemental way with their feedback to the youth on their behaviours towards the animals."
There are many different animals at the farm, each with their own personalities.
"My five pound dog Serenity teaches about confidence and fear. She is the boss of the farm," says Fouasse who adds that sometimes lacks some healthy fear. "We discuss how anxiety is a good thing for us and how this helps us to keep safe. We talk about her confidence in that she is only five pounds (and then I usually cover Serenity's ears as I tell the children this), but she thinks she is 100 pounds and this is how confidence works – if we believe we are bigger than we are then we can do anything."
The farm also boasts three rats who teach the kids not to judge a book by its cover, a fainting goat who teaches youth about anxiety and how it feels within the body, and a 1200 pound horse named "Fleur" who can be pretty intimidating to a youth, but learning if kids can keep their energy relaxed and in the moment, they'll earn trust and respect from Fleur.
In the last few years, mental health awareness has definitely increased. Fouasse says she feels very optimistic that they are on the right track.
"I do think we have a way to go, however we are much more understanding and knowledgeable that we were years back," adds Fouasse. "I am hoping and dreaming one day that people can talk about mental health as easily as we talk about physical health. We will need to be conscious on continuing to educate people about the truth of mental health and how mental illness does not define us. Once we can recognize that mental illness is no different than different physical ailments and we need to be accepting, non-judgmental and open to helping others – than we can provide an atmosphere for people to heal – just like the farm does."


text:
Objective(s): To: 1) examine the fluoride concentrations in commercial child formula dentifrices (CFD)s; and 2) investigate the effect of arginine incorporation in CFDs on fluoride bioavailability.
Study Design: Five commercial CFDs were examined for fluoride concentrations. Total, total soluble, and insoluble fluorides in CFDs were determined by the modified Taves acid-diffusion method (TAD). Ionic F and MFP were estimated by modified direct method with standard addition technique. L-arginine (L-Arg)/L-arginine monohydrochloride (L-Arg.HCl) were incorporated at 2% w/w in the commercial CFDs. The pH of the toothpaste slurries, buffer capacity of the added Arg, potentially available fluorides (PAF) and 1-min PAF by TAD were determined. Results: The CFDs had 4 to 32% of insoluble fluorides. Addition of L-Arg/L-Arg.HCl significantly improved the fluoride bioavailability in CFDs (p<0.05). Incorporation of L-Arg significantly increased the pH of toothpaste slurries (p<0.05); while L-Arg.HCl decreased the pH. Principal component analysis showed that L-Arg.HCl decreased the pH of toothpaste slurries due to the presence of Cl in the form of HCl; whereas the inherent elements/molecules (Na/P/Pi/F) remain distinct with unidentified influence on the variables. Conclusion(s): The CFDs containing NaF only have higher concentrations of bioavailable fluoride. Incorporating arginine (L-arginine or L-arginine monohydrochloride) at 2% w/w improves fluoride bioavailability of the child formula dentifrices.


text:
Author has written 7 stories for Vampire Academy, Beautiful Dead, and Harry Potter.
My Name is Savannah Rain.
"Is Hell exothermic (gives off heat) or endothermic (absorbs heat)? Support your answer with a proof."
This was an actual question given on a University of Washington chemistry midterm:
Most of the students wrote proofs of their beliefs using Boyle's Law (gas cools off when it expands and heats up when it is compressed) or some variant thereof.
One student, however, wrote the following:
First, we need to know how the mass of Hell is changing in time. So, we need to know the rate that souls are moving into Hell and the rate they are leaving. I think that we can safely assume that once a soul gets to Hell, it will not leave. Therefore, no souls are leaving.
As for how many souls are entering Hell, let's look at the different religions that exist in the world today.Some of these religions state that if you are not a member of their religion, you will go to Hell. Since there are more than one of these religions and since people do not belong to more than one religion, we can project that all people and all souls go to Hell.
With birth and death rates as they are, we can expect the number of souls in Hell to increase exponentially.
Now, we look at the rate of change of the volume in Hell because Boyle's Law states that in order for the temperature and pressure in Hell to stay the same, the volume of Hell has to expand as souls are added.
This gives two possibilities:
(1) If Hell is expanding at a slower rate than the rate at which souls enter Hell, then the temperature and pressure in Hell will increase until all Hell breaks loose.
(2) Of course, if Hell is expanding at a rate faster than the increase of souls in Hell, then the temperature and pressure will drop until Hell freezes over.
So which is it?
If we accept the postulate given to me by Ms. Therese Banyan during my Freshman year, "That it will be a cold night in Hell before I sleep with you," and take into account the fact that I still have not succeeded in that area, then (2) cannot be true, and so Hell is exothermic.
The student got the only A.
ATTORNEY: What was the first thing your husband said to you that morning?
ATTORNEY: What gear were you in at the moment of impact?
ATTORNEY: Do you know if your daughter has ever been involved in voodoo?
ATTORNEY: Now doctor, isn't it true that when a person dies in his sleep, he doesn't know about it till the next morning?
ATTORNEY: The youngest son, the 20-year-old, how old is he?
ATTORNEY: Where you present when your picture was taken?
ATTORNEY: So the date of conception (of the baby) was August 8?
ATTORNEY: She had three children, right?
ATTORNEY: How was your first marriage terminated?
ATTORNEY: Can you describe the individual?
ATTORNEY: Is your appearance here this morning pursuant to a deposition notice which I sent to your attorney?
ATTORNEY: Doctor, how many of your autopsies have you performes on dead people?
ATTORNEY: ALL your responses MUST be oral, OK? What school did you go to?
ATTORNEY: Do you recall the time that you examined the body?
ATTORNEY: Are you qualified to give a urine sample?
ATTORNEY: Doctor, before you performed the autopsy, did you check for a pulse?
Unsafe External Link


text:
Plastic Equivalent Air Depths Table
This chart allows you to quickly calculate what percentage of your total oxygen exposure limits you have consumed on each dive. Time values in this chart are based on the NOAA Oxygen Exposure Time Limits for Working Divers. Fractional percentage values have been rounded to the nearest whole number, with a minimum value of one percent. Susceptibility to decompression sickness and oxygen toxicity can vary from person to person, and from day to day. No dive table, computer or planning device can guarantee (even if used correctly) you will not suffer from one or both of these problems. Therefore, the used must assume all risks associated with the use of this product. This item is made from a flexible, water-proof, plastic.


Description of the headless booting sequence (Buckminster)
From Eclipsepedia
Revision as of 10:16, 21 September 2006 by (Talk | contribs)
Jump to: navigation, search
This mechanism will be supplied in two forms:
Look and feel
For Buckminster, there should be a launcher that is accessed by simple typing 'buckminster'. This should work on any supported platform. An important point is that it also must be accessible from scripting languages/environments without the need to 'know' more (e.g. it must not require use of some platform specifics).
Option format
An example from 'ls':
C:\tmp>ls --help
 -b, --escape print octal escapes for nongraphic characters
 -C list entries by columns
 -d, --directory list directory entries instead of contents
 --full-time list both full date and full time
Option names are always case-sensitive though.
java --jar startup.jar --application .
On the surface, this should work. However, once again problems arise:
 - While eclipse.exe would help manage any specific java options to send to the VM, this form would require a user to manage this. Small problem to be sure.
 - Some (many) options will be acted upon by the startup.jar code before dispatching to the application. Especially this means the
-data
While that might be ok, the option is arguably a bit badly named - '-workspace' would have felt more natural. On a related note - it is generally impossible for a plugin to later change the workspace once startup.jar has established it (not exactly true, but close enough). This restriction implies that whatever the solution, selection of a workspace must be somehow specified before actually running startup.jar.
 - What is absolutely worst however is that the startup.jar code appears to indiscriminately walk the command line and interpret any options anywhere it recognizes them and then remove them (ouch!). A typical example of this is to say the imaginary
'buckminster build --clean
If this is done directly through startup.jar, end result is that '-clean' is acted on by startup.jar and when the 'build' command gets control, there no longer is any '-clean' to see.
Hence, to make this work the way it needs to, Buckminster code must be in control all the way. A suggested implementation:
 - A Buckminster boot startup class (BOOT)
 This class is a regular Java class that is run completely without relying on anything in Eclipse (except for startup.jar). The objective for this class is to interpret the raw command line and preprocess it similar to what startup.jar does (but with Buckminster semantics and awareness of the issues described above) and then run startup.jar after the preprocessing. Specifically, this class and the internal APPEXT class below follow a common protocol to transfer various information without having it mangled by startup.jar
 - This jar is started using the full incantation of 'java --classpath...' etc. For convenience, a suitable 'buckminster' executable should be provided for various platform in order to give the user the experience of using 'just another tool'.
 - The internal application extension class (APPEXT)
 This is the regular Buckminster plugin to which startup.jar eventually transfers control. Again, this knows about the protocol BOOT uses and will do what's necessary to get the real data, eventually transferring control to a COMMAND
 - The set of installed commands (COMMAND)
 A command is dynamically installed through the use of an extension point. The APPEXT will present such commands with what seems to be a clean, nice command line for them to process in whatever manner they choose.
Each of these has it own set of options they will respond to, most likely modifying the initial raw command line as it goes. As BOOT will have to recognize all APPEXT options, and the parsing behavior should be the same, it is beneficial to ensure that BOOT and APPEXT share relevant code.
As the BOOT class provides a parser for the raw command line, it can do anything with it and hence, Buckminster can define all of the option names as needed.
There are a few separate classes of options/information:
 1. influencing the behavior of the BOOT code
 2. front ends to influence behavior of whatever BOOT is starting
 3. influencing the behavior of the APPEXT code
 4. transparently passed on to COMMAND
Class 1 & 2
Given the current Java BOOT implementation, it only understands one class 1 option: '-‑forcenewvm'. This pertains to the fact that BOOT defaults to running the startup.jar code in the same VM as itself. But if forceNewVM is specified, it spawns a completely new process.
Future additions should be made here in order to support transparent specialization of VM options (e.g. using '-vmargs --Xmx512M); using such flags requires it to internally force a new VM. This is especially necessary if the 'buckminster' executable is used; since that is merely an embedded command line starting java, it's difficult to insert special VM options there.
Also, it currently understands one class 2 option: '‑-workspace '. This is merely a more sensible (?) name for the '-data' option that startup.jar knows about - thus, --workspace will be transformed to --data and inserted at the proper place.
Suggested class 1 options
flag explanation
--bootlog This causes the boot process to log what happens internally and then via internal protocol make the APPEXT aware of this log so that APPEXT can log it 'properly' using the core logging mechanisms.
This behavior is default, hidden from the user and useful in after the fact debugging. Can be turned off with --nobootlog.
--boottrace This causes the boot process to trace what it's doing directly to stdout. This is not default; useful in debugging things if it never even gets to the point of starting APPEXT (i.e. not even the bootlog is present).
--forcenewvm Regardless of what the decision is, always force a new VM.
Common to class 1 options are that they will be removed from the command line as they are acted upon by BOOT. Note that this only happens up to the first argument on the command line that doesn't start with a dash (signifying that it's actually a command name) - a COMMAND is free to use these option names if they so wish.
Suggested class 2 options
flag explanation
--workspace Will be transformed to \--data when sent to startup.jar.
--vm This is useful if the user specifically wants to run with another VM than the one selected by using just 'java'. Will force a new VM regardless.
--vmarg [--vmarg \]... This allows the user to customize the VM settings for the new process. These are location dependent in that they will be fed to the new VM (use of these flags forces a new VM regardless) in the order they're seen on the cmdline.
Common to class 2 options are that they will be removed from the command line as they are acted upon by BOOT, generally transformed into something else that BOOT starts. Note that this only happens up to the first argument on the command line that doesn't start with a dash (signifying that it's actually a command name) - a COMMAND is free to use these option names if they so wish.
Class 3
The only reason for BOOT to recognize these is to be able to correctly find the supposed COMMAND name (instead of thinking that an option argument is the command name).
Class 4
BOOT never touches these; it's sent along unchanged to APPEXT.
BOOT/APPEXT protocol
The primary need here is to transmit an arbitrary command line from BOOT to APPEXT without startup.jar destroying it or inappropriately acting on something not intended for it. BOOT solves this by simply writing class 3 & 4 data (i.e. after removing class 1 & 2 data) to a temporary file, one line per command line argument. It then sends the name of the command line file to APPEXT.
APPEXT in turn knows it will receive a file name, and thus simply reads the file, and treats the result as if it was a regular command line.
However, there are some minor things APPEXT must handle:
 - If (as noted, it's optional) BOOT has produced a boot log file, it will send along that filename as well so APPEXT can properly log it. Note that this happens before the cmdline file is read, so the information can not be placed there.
 - If the application extension point is invoked by the PDE, i.e. interactively through the Eclipse IDE, it always sends along '-pdelaunch'. APPEXT must be able to parse this (and simply discard it or do something whatever with it).
APPEXT takes a number of options. Part of the APPEXT responsibilities is to provide a common context for all commands, i.e. somewhat like metadata settings applicable to all commands. Some settings sets up things that a COMMAND can ignore (intentionally or non-intentionally - e.g. a default progress monitor is set up depending on settings and a COMMAND is expected to use that if they need a progress monitor) and others simply sets internal things that all COMMAND's unwittingly become subject to (e.g. turning on logging so that System.out is trapped and logged).
Common to both APPEXT and


Indirect evidence for the presence of non-specific anion channels in rabbit mandibular salivary gland acinar cells.
1. Intracellular pH (pHi) was measured using the fluorescent pH-sensitive dye 2',7'-bis(carboxyethyl)-5(6)-carboxyfluorescein in acini isolated from the rabbit mandibular salivary gland. 2. Stimulation of the acinar cells with acetylcholine (ACh) evoked an intracellular acidosis, the size of which was dependent on the HCO3-concentration in the bathing medium. A half-maximal acidosis was observed at approximately 10 mM-HCO3-. ACh also evoked an acidosis in HCO3(-)-free solutions containing acetate; a half-maximal acidosis was observed at about 10 mM-acetate. 3. Propionate, lactate and butyrate were also able to support the ACh-evoked acidosis to varying extents. In contrast, formate, pyruvate and salicylate did not support the ACh-induced acidosis to any great extent. 4. Acetazolamide greatly reduced the size of the acidosis in HCO3(-)-buffered medium, but had no effect in acetate-buffered medium, suggesting that the inhibitory effect of acetazolamide was due to a specific inhibition of carbonic anhydrase activity. 5. The Clchannel blockers diphenylamine-2-carboxylic acid (DPC, 1 mM) and 5-nitro-2-(3-phenylpropylamino)-benzoic acid (0.5 mM) abolished the ACh-evoked acidosis in both HCO3(-) -and acetate-buffered media. 6. The data are consistent with the presence in the acinar cell of relatively non-specific anion channels sensitive to DPC and its derivatives. Such channels, activated on stimulation with ACh, would allow HCO3- and other weak acid ions to leave the cell, leading to the observed acidosis. The existence of such channels, located in the apical membrane, could explain why HCO3- or acetate can sustain fluid secretion in the intact perfused rabbit mandibular gland in the absence of Cl-.[1]
WikiGenes - Universities


text:
are vulnerable to bearing damage, but for too long the importance of shaft grounding to protect motor bearings has been ignored or underestimated. To make the savings generated by VFDs sustainable, an effective long-term method of shaft grounding is essential.
Current NEMA standards dealing with the problem of shaft voltages are incomplete or not specific enough to help. While they point out the problem of VFD-caused bearing damage, they often understate the potential for such damage. They do not acknowledge the combination of capacitively induced shaft voltages and high-frequency circulating currents from VFDs. Furthermore, they fail to take into account recent advances in technology such as microfiber shaft grounding rings.
For motors without adequate bearing protection, the term inverter-duty is misleading — it ignores a major potential cause of premature bearing and motor failure — electrical discharge machining. And while some leading motor manufacturers are now installing bearing protection in selected models, most motors labeled inverter-duty or inverter-ready are still not adequately protected. It is thus incumbent on savvy specifiers to make sure that any motor to be used with a VFD is truly inverter-ready — equipped at the factory or retrofitted not just with extra winding insulation but also with a shaft grounding ring and, in certain cases, an insulated bearing.
Publication date: 2/4/2013


Analysis of a use-after-free Vulnerability in Adobe Acrobat Reader DC
By Sergi Martinez
This post analyses CVE-2020-9715, a use-after-free vulnerability affecting several versions of the Adobe Acrobat and Adobe Acrobat Reader products. The vulnerability was discovered by Mark Vincent Yason, who reported it to the Zero Day Initiative (ZDI) disclosure program.
This research was inspired by a detailed blog post by ZDI that analyzed the vulnerability. The exploitation broadly follows the steps outlined in the ZDI blog post, but describes the vulnerability and exploitation steps in more detail.
A use-after-free vulnerability affects the data ESObject cache within the EScript.api module of Adobe Acrobat Reader DC. Although objects may be added to the cache using keys with ANSI or Unicode strings, objects are evicted from the cache by keys that contain only Unicode strings. This enables an attacker to cause a data ESObject to be freed, but its pointer to remain intact in the object cache entry. When the same JavaScript object is later accessed, its cache entry is found despite the corresponding data ESObject having been freed. This leads to a use-after-free condition. An attacker can exploit this vulnerability to achieve code execution by enticing a user to open a crafted PDF file.
The vulnerability analysis that follows is based on Adobe Acrobat Reader DC version 2020.009.20063 running on Windows 10 64-bit.
Before we dive into the vulnerability, we need to understand how embedded JavaScript is handled by Adobe Reader.
Adobe Reader has a built-in JavaScript engine based on Mozilla's SpiderMonkey. Embedded JavaScript code in PDF files is processed and executed by the EScript.api module in Adobe Reader.
The Adobe Reader JavaScript engine uses several types of objects including ESObjects and JSObjects. ESObjects are internal to the EScript.api module and contain a pointer to the classical JavaScript objects, JSObjects.
Several kinds of ESObjects exist and among them is the data ESObject, which is a type of object used to represent embedded files and data streams. data ESObjects are uniquely identified by a key (referred to as cache_key in this post) that contains:
 - A pointer to a PDDoc object, which is an object that represents the PDF document.
 - The name of the data ESObject that is an ANSI or Unicode string containing the name of the embedded file.
References to data ESObjects are stored in a cache indexed by cache_key. When a new data ESObject is constructed with a certain name, a cache_key object is constructed with that name and is used to search the cache for the presence of the data ESObject that matches the name. If the search is a cache hit, a pointer to the data ESObject is returned. Otherwise, a new data ESObject is created and stored in the cache, and a pointer to it is returned.
The vulnerability occurs due to a mismatch in the encoding of the name string during the construction of cache_key used in the insertion and deletion phases in the lifecycle of a data ESObject. When a data ESObject is created and added to the cache, the name used in the cache_key retains the original encoding (ANSI or Unicode) found in the PDF document.
When a data ESObject is deleted from the cache, the name used in the cache_key is always encoded in Unicode. This leads to a condition where cache entries for data ESObject with ANSI names are never purged from cache; instead the cache entries retain pointers to freed data ESObjects indefinitely.
If an ANSI data ESObject is thus freed, and the code tries to create a new data ESObject with a matching name (e.g., when JavaScript code deletes this.dataObjects[0] and then accesses this.dataObjects[0]), a cache hit occurs but the pointer returned is the pointer to the ANSI-named data ESObject that was previously freed. This leads to an exploitable use-after-free condition.
Code Analysis
Lets take a look at how these objects are represented under the hood, and examine where the bug exists. Code listings show decompiled C code; source code is not available in the affected product. Structure definitions, function names, etc. are obtained by reverse engineering and may not accurately reflect those defined in the source code.
Structure Definitions
The cache mechanism is implemented with the use of a variant of Binary Search Trees. A pointer to the cache is kept in a global variable at EScript+0x273AAC, which points to a structure (named here as esobject_cache_st) defined as follows:
typedef struct esobject_cache_st {
 bst_node *root_node;
 int *node_count;
 void *unkonw;
} esobject_cache;
typedef struct bst_node_st {
 bst_node *left;
 bst_node *parent;
 bst_node *right;
 int node_type;
 cache_key *key;
 void *esobject;
} bst_node;
A pointer to the cache_key structure is stored within each node in the cache. The cache_key structure is defined as follows:
typedef struct cache_key_st {
 void *pddoc;
 ESString *name;
} cache_key;
The cache_key structure contains the name of the embedded file in the form of an ESString structure, which is defined as follows:
typedef struct esstring_st {
 int type;
 char *buffer;
 int len;
 int max_capacity;
 void *unknown1;
 void *unknown2;
} ESString;
In the structure above, the buffer member is a pointer to the string encoded in the format specified in the type member (1 for ANSI, 2 for Unicode). Its length is defined by the len member and the maximum capacity of the buffer is indicated by max_capacity. In Unicode ESString objects the buffer encoding is UTF-16 with Byte Order Mark (BOM).
Comparing Cache Keys
Any operation that requires traversing the tree require a key comparison function. This function is implemented at EScript+0x90770 and its code is listed below.
bool is_key_greater(cache_key *key1, cache_key *key2)
 ESString *data_object_name_from_cache;
 ESString *data_object_name;
 if ( a1->pddoc!= key->pddoc )
 return a1->pddoc < (unsigned int)key->pddoc;
 name2 = key2->name;
 name1 = key1->name;
 return esstrings_compare(&name1, &name2);
The function first checks whether the keys belong to the same PDF document [1]. If they belong to the same PDF document then it proceeds to compare the names of the keys, which are ESString objects.
The ESString comparison function (implemented at EScript+0x45B07) is listed below.
bool esstrings_compare(ESString **name1, ESString **name2)
 ESString *type1;
 ESString *type2;
 bool v4;
 type1 = get_ESString_type(*name1);
 type2 = get_ESString_type(*name2);
 if ( type1 == type2 )
 v4 = (sub_23845B5E(*name1, *name2) & 0x8000u)!= 0;
 v4 = (int)type1 < (int)type2;
 return v4;
Relevant to this vulnerability is that at [2] there is a check that compares the ESString types. If they differ, the result of the function is true if type1 is less than type2. For example, when comparing two keys with the same name of different types where type1 is ANSI (1) and type2 is Unicode (2), the esstrings_compare function returns true.
When performing a lookup in the data ESObject cache, the function that implements it (EScript+0x90476) considers keys with the same name but different ESString types as different.
Deleting Cache Entries
When a data ESObject is freed, the corresponding cache entry that stores a pointer to the object is also freed. The ESObject deletion is implemented in the function at EScript+0x907B0, which is listed below.
__int16 delete_object(int a1)
 int v1;
 ESString *v2;
 wchar_t *v3;
 wchar_t *v4;
 esobject_cache_struct *cache_ptr;
 cache_key key;
 int v8[3];
 int v9;
 v1 = sub_23858B70(a1);
 v2 = (ESString *)sub_23844B00(a1, "DataObject");
 v3 = (wchar_t *)v2;
 if ( v1 )
 if (!v2 )
 return 1;
 v4 = (wchar_t *)get_dataobject_name(v2);
 v8[0] = (int)v4;
 v9 = 0;
 key.doc = v1;
 sub_23877D42(&, (ESString **)v8);
 LOBYTE(v9) = 1;
 cache_ptr = initialize_data_esobject_cache(global_cache_ptr);
 remove_key_from_cache(cache_ptr, &key);
 LOBYTE(v9) = 2;
 if ( )
 sub_23845AAE((wchar_t *);
 v9 = 3;
 if ( v4 )
 v9 = -1;
 if ( v3 )
 return 1;
The call at [1] returns a pointer to an ESString object used to create the cache_key object. This is passed to the function that removes cache nodes matching the


text:
Are Female Workers Less Productive Than Male Workers?
This paper addresses whether there are productivity differences between men and women among blue-collar workers. We compare the wages under pieceand time-rate contracts of men and women working in the same occupation in the same establishment in three countries: the U.S., Norway, and Sweden. The findings are summarized in four points. First, the gender wage gap is smaller under piecethan under time-rate work. According to the interpretation put forth here, two thirds of the gap at the occupationâestablishment level is due to productivity differences, while one third is not "accounted for", but could be due to discrimination or experience or other factors. Productivity differences between sexes in typically male-dominated blue-collar industries are however very small, of 1â3%: Sweden 1%, U.S. 2% and Norway 3%. Second, in age groups where women on average have extensive family obligations, the wage gap is larger than in other age groups. Third, under time-rate work, the wage gap is more or less independent of supposed occupation-based productivity differences between men and women, while under piece-rate work, the wage gap mirrors quite closely assumed productivity differences, with women receiving a wage premium in female-advantageous settings and a penalty in male-advantageous settings. Fourth, in contrast to Sweden, in Norway and the U.S. women sort more often into piece-rate work than men.


text:
Etiopathologic factors predisposing to urate lithogenesis in Dalmatian and non-Dalmatian dogs represent diverse pathologic and/or physiologic processes involving purine nucleotide and ammonia synthesis, biodegradation, and excretion. Predisposing factors for urate urolith formation include hyperuricemia, hyperammonemia, hyperuricosuria, hyperammonuria, aciduria, and genetic predisposition. Medical therapy of dogs forming urate uroliths should be directed at modifying these predisposing factors through dietary modification, administration of allopurinol, and/or surgical correction of portovascular anomalies if present. The precise mechanisms resulting in urate urolith formation in dogs have not been determined.
|Original language||English (US)|
|Number of pages||31|
|Journal||Veterinary Clinics of North America - Small Animal Practice|
|State||Published - 1999|


Take the 2-minute tour ×
I am debugging a python program with pdb. The program will start a new thread.
newThread = Thread(group = None,target = dosomething,name = "thename",
 args = (),kwargs = {})
def dosomething():
Use the normal pdb command e.g. -b to set break point in the line of the new thread(e.g. line of balaba), seems will not trigger the breakpoint.
The question I want to ask is: is there a way I can break into the new thread target function to look into the behavor the new thread?
share|improve this question
This code doesn't run. Could you past your real code? – Mike Jun 19 '12 at 0:00
1 Answer 1
One problem to begin with, you have to explicitly start the thread by using.start() - they do not start automatically when you create your Thread object (assuming you are using Python's built in threading library?).
then see if your line of code is triggered using your debug method.
share|improve this answer
Your Answer


MQTT Button
The mqtt button platform lets you send an MQTT message when the button is pressed in the frontend or the button press service is called. This can be used to expose some service of a remote device, for example reboot.
Configuration
# Example configuration.yaml entry
mqtt:
 button:
 - command_topic: "home/bedroom/switch1/reboot"
Configuration Variables
availability list (Optional)
A list of MQTT topics subscribed to receive availability (online/offline) updates. Must not be used together with availability_topic.
payload_available string (Optional, default: online)
The payload that represents the available state.
payload_not_available string (Optional, default: offline)
The payload that represents the unavailable state.
topic string Required
An MQTT topic subscribed to receive availability (online/offline) updates.
value_template template (Optional)
Defines a template to extract device's availability from the topic. To determine the devices's availability result of this template will be compared to payload_available and payload_not_available.
availability_mode string (Optional, default: latest)
When availability is configured, this controls the conditions needed to set the entity to available. Valid entries are all, any, and latest. If set to all, payload_available must be received on all configured availability topics before the entity is marked as online. If set to any, payload_available must be received on at least one configured availability topic before the entity is marked as online. If set to latest, the last payload_available or payload_not_available received on any configured availability topic controls the availability.
availability_template template (Optional)
Defines a template to extract device's availability from the availability_topic. To determine the devices's availability result of this template will be compared to payload_available and payload_not_available.
availability_topic string (Optional)
The MQTT topic subscribed to receive availability (online/offline) updates. Must not be used together with availability.
command_template template (Optional)
Defines a template to generate the payload to send to command_topic.
command_topic string (Optional)
The MQTT topic to publish commands to trigger the button.
device map (Optional)
Information about the device this button is a part of to tie it into the device registry. Only works through MQTT discovery and when unique_id is set. At least one of identifiers or connections must be present to identify the device.
configuration_url string (Optional)
A link to the webpage that can manage the configuration of this device. Can be either an HTTP or HTTPS link.
connections list (Optional)
A list of connections of the device to the outside world as a list of tuples [connection_type, connection_identifier]. For example the MAC address of a network interface: "connections": [["mac", "02:5b:26:a8:dc:12"]].
hw_version string (Optional)
The hardware version of the device.
identifiers string | list (Optional)
A list of IDs that uniquely identify the device. For example a serial number.
manufacturer string (Optional)
The manufacturer of the device.
model string (Optional)
The model of the device.
name string (Optional)
The name of the device.
suggested_area string (Optional)
Suggest an area if the device isn't in one yet.
sw_version string (Optional)
The firmware version of the device.
via_device string (Optional)
Identifier of a device that routes messages between this device and Home Assistant. Examples of such devices are hubs, or parent devices of a sub-device. This is used to show device topology in Home Assistant.
device_class device_class (Optional, default: None)
The type/class of the button to set the icon in the frontend.
enabled_by_default boolean (Optional, default: true)
Flag which defines if the entity should be enabled when first added.
encoding string (Optional, default: utf-8)
The encoding of the published messages.
entity_category string (Optional, default: None)
The category of the entity.
icon icon (Optional)
Icon for the entity.
json_attributes_template template (Optional)
Defines a template to extract the JSON dictionary from messages received on the json_attributes_topic. Usage example can be found in MQTT sensor documentation.
json_attributes_topic string (Optional)
The MQTT topic subscribed to receive a JSON dictionary payload and then set as sensor attributes. Usage example can be found in MQTT sensor documentation.
name string (Optional, default: MQTT Button)
The name to use when displaying this button.
object_id string (Optional)
Used instead of name for automatic generation of entity_id
payload_available string (Optional, default: online)
The payload that represents the available state.
payload_not_available string (Optional, default: offline)
The payload that represents the unavailable state.
payload_press string (Optional, default: PRESS)
The payload To send to trigger the button.
qos integer (Optional, default: 0)
The maximum QoS level of the state topic. Default is 0 and will also be used to publishing messages.
retain boolean (Optional, default: false)
If the published message should have the retain flag on or not.
unique_id string (Optional)
An ID that uniquely identifies this button entity. If two buttons have the same unique ID, Home Assistant will raise an exception.
Make sure that your topic matches exactly. some-topic/ and some-topic are different topics.
Examples
In this section, you will find some real-life examples of how to use this feature.
Full configuration
The example below shows a full configuration for a button.
# Example configuration.yaml entry
mqtt:
 button:
 - unique_id: bedroom_switch_reboot_btn
 name: "Restart Bedroom Switch"
 command_topic: "home/bedroom/switch1/commands"
 payload_press: "restart"
 availability:
 - topic: "home/bedroom/switch1/available"
 qos: 0
 retain: false
 entity_category: "config"
 device_class: "restart"


Oracle Scratchpad
July 29, 2015
Existence
Filed under: Execution plans,Oracle,subqueries,Subquery Factoring,Tuning — Jonathan Lewis @ 1:05 pm GMT Jul 29,2015
A recent question on the OTN Database Forum asked:
I need to check if at least one record present in table before processing rest of the statements in my PL/SQL procedure. Is there an efficient way to achieve that considering that the table is having huge number of records like 10K.
I don't think many readers of the forum would consider 10K to be a huge number of records; nevertheless it is a question that could reasonably be asked, and should prompt a little discssion.
First question to ask, of course is: how often do you do this and how important is it to be as efficient as possible. We don't want to waste a couple of days of coding and testing to save five seconds every 24 hours. Some context is needed before charging into high-tech geek solution mode.
Next question is: what's wrong with writing code that just does the job, and if it finds that the job is complete after zero rows then you haven't wasted any effort. This seems reasonable in (say) a PL/SQL environment where we might discuss the following pair of strategies:
Option 1:
=========
-- execute a select statement to see in any rows exist
if (flag is set to show rows) then
 for r in (select all the rows) loop
 do something for each row
 end loop;
end if;
Option 2:
=========
for r in (select all the rows) loop
 do something for each row;
end loop;
If this is the type of activity you have to do then it does seem reasonable to question the sense of putting in an extra statement to see if there are any rows to process before processing them. But there is a possibly justification for doing this. The query to find just one row may produce a very efficient execution plan, while the query to find all the rows may have to do something much less efficient even when (eventually) it finds that there is no data. Think of the differences you often see between a first_rows_1 plan and an all_rows plan; think about how Oracle can use index-only access paths and table elimination – if you're only checking for existence you may be able to produce a MUCH faster plan than you can for selecting the whole of the first row.
Next question, if you think that there is a performance benefit from the two-stage approach: is the performance gain worth the cost (and risk) of adding a near-duplicate statement to the code – that's two statements that have to be maintained every time you make a change. Maybe it's worth "wasting" a few seconds on every execution to avoid getting the wrong results (or an odd extra hour of programmer time) once every few months. Bear in mind, also, that the optimizer now has to optimize two statement instead of one – you may not notice the extra CPU usage in testing but perhaps in the live environment the execution benefit will be eroded by the optimization cost.
Next question, if you still think that the two-stage process is a good idea: will it result in an inconsistent database state ?! If you select and find a row, then run and find that there are no rows to process because something modified and "hid" the row you found on the first pass – what are you going to do. Will this make the program crash ? Will it produce an erroneous result on this run, or will a silent side effect be that the next run will produce the wrong results. (See Billy Verreynne's comment on the original post). Should you set the session to serializable before you start the program, or maybe lock a critical table to make sure it can't change.
So, assuming you've decided that some form of "check for existence then do the job" is both desirable and safe, what's the most efficient strategy. Here's one of the smarter solutions that minimises risk and effort (in this case using a pl/sql environment).
select count(*)
into m_counter
from dual
where exists ({your original driving select statement})
;
if m_counter = 0 then
 null;
else
 for c1 in {your original driving select statement} loop
 -- do whatever
 end loop;
end if;
The reason I describe this solution as smarter, with minimum risk and effort, is that (a) you use EXACTLY the same SQL statement in both locations so there should be no need to worry about making the same effective changes twice to two slightly different bits of SQL and (b) the optimizer will recognise the significance of the existence test and run in first_rows_1 mode with maximum join elimination and avoidance of redundant table visits. Here's a little data set I can use to demonstrate the principle:
create table t1
as
select
 mod(rownum,200) n1, -- scattered data
 mod(rownum,200) n2,
 rpad(rownum,180) v1
from
 dual
connect bytin
 level <= 10000 -- > comment to avoid WordPress formatting problem
;
delete from t1 where n1 = 100;
commit;
create index t1_i1 on t1(n1);
begin
 dbms_stats.gather_table_stats(
 user,
 't1',
 cascade => true,
 method_opt => 'for all columns size 1'
 );
end;
/
It's just a simple table with index, but the index isn't very good for finding the data – it's repetitive data widely scattered through the table: 10,000 rows with only 200 distinct values. But check what happens when you do the dual existence test – first we run our "driving" query to show the plan that the optimizer would choose for it, then we run with the existence test to show the different strategy the optimizer takes when the driving query is embedded:
alter session set statistics_level = all;
select *
from t1
where n1 = 100
;
select * from table(dbms_xplan.display_cursor(null,null,'allstats last cost'));
select count(*)
from dual
where exists (
 select * from t1 where n1 = 100
 )
;
select * from table(dbms_xplan.display_cursor(null,null,'allstats last cost'));
Notice how I've enabled rowsource execution statistics and pulled the execution plans from memory with their execution statistics. Here they are:
select * from t1 where n1 = 100
-------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | Cost (%CPU)| A-Rows | A-Time | Buffers |
-------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 38 (100)| 0 |00:00:00.01 | 274 |
|* 1 | TABLE ACCESS FULL| T1 | 1 | 50 | 38 (3)| 0 |00:00:00.01 | 274 |
-------------------------------------------------------------------------------------------------
Predicate Information (identified by operation id):
---------------------------------------------------
 1 - filter("N1"=100)
select count(*) from dual where exists ( select * from t1 where n1 = 100 )
---------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | Cost (%CPU)| A-Rows | A-Time | Buffers |
-


text:
Central Nervous System (CNS) Based Motion Control
Motion simulators are widely used in several applications ranging from research to commercial training and entertainment in order to replicate real movement situation. These motions can be sensed by human perception organ called Central Nervous System (CNS). This research presents a novel control algorithm called Central Nervous System (CNS) based control that aims to create realistic perception of vehicle simulation. CNS-based motion control was evaluated by computer simulation to classical, adaptive and optimal washout filter. In addition, comparisons of human motion perception are performed on Force Dynamics 301 simulator for longitudinal acceleration driving test of all four washout filters. The subjects were seated in the simulator. Their motion perceptions were measured through vestibulo-ocular reflex (VOR) using EyeSeeCam vHit camera and compared to the estimated VOR from CNS model. The results revealed that CNS-based motion control can crucially reduce the workspace and provide realistic motion sensation.
Authors who publish with Engineering Journal agree to transfer all copyright rights in and to the above work to the Engineering Journal (EJ)'s Editorial Board so that EJ's Editorial Board shall have the right to publish the work for nonprofit use in any media or form. In return, authors retain: (1) all proprietary rights other than copyright; (2) re-use of all or part of the above paper in their other work; (3) right to reproduce or authorize others to reproduce the above paper for authors' personal use or for company use if the source and EJ's copyright notice is indicated, and if the reproduction is not made for the purpose of sale.


definition of money by The Free Dictionary
angel may
axle grease Australian slang for money, which greases the wheels of life, so to speak, helping things to run along more smoothly. chicken feed Small change; a paltry or inconsequential amount of money. This American slang expression, which dates from 1836, is an allusion to the scraps and seeds fed […]
fast buck Money acquired quickly and effortlessly, usually through illegal or unscrupulous methods. In this expression, buck carries the American slang meaning of dollar, making the origin of the term self-evident.
Trying to hustle me a fast buck. (A. Kober, New Yorker, January, 1949)
filthy lucre Money; money or other material goods acquired through unethical or dishonorable means, dirty money. This expression was first used in an epistle by St. Paul:
For there are many unruly and vain talkers and deceivers … who subvert whole houses, teaching things which they ought not, for filthy lucre's sake. (Titus 1:10-11)
a king's ransom A very large sum of money. This expression, perhaps familiarized by the hefty sum demanded for the release of the kidnapped King Richard the Lion-Hearted, maintains frequent usage.
I couldn't look upon the babby's face for a king's ransom. (Mrs. Anna Hall, Sketches of Irish Characters, 1829)
loaves and fishes Monetary fringe benefits to be derived from public or ecclesiastical office; the personal profit one stands to gain from an office or public enterprise. This use of loaves and fishes derives from John 6:26:
Today the phrase is also sometimes heard in referring to any unanticipated, miraculous proliferation or abundance. This emphasis on abundance rather than personal gain derives from the actual description of the miracle of the loaves and fishes (John 6:11-13).
mad money Money for frivolous purchases or little luxuries; money for a bit of riotous living-it-up. Originally mad money was that carried by a woman in the event her escort made advances prompting her to leave him in the lurch and finance her own return home. It subsequently came to be applied to money used for any emergency, but at some point took the grand leap from necessity to luxury Perhaps today it might qualify as what economists call discretionary income.
monkey's allowance A trifling amount of money; a pittance; a paltry sum. This expression is derived from the saying, "He gets a monkey's allowance—more kicks than halfpence." At one time, trained monkeys performed tricks and then collected money from passers-by. If the monkey performed poorly, its owner often kicked or otherwise punished the animal. Thus, the monkey's allowance was frequently more abuse than money. By extension, a person who receives a "monkey's allowance" is one who works diligently but receives little, if any, payment for his labor. A related expression is monkey's money 'something of no value.'
nest egg Money saved, particularly a reserve fund for use in emergencies or retirement; a bank account or other form of investment which regularly increases in value by virtue of interest accrued or additional deposits made. Originally, a nest egg was a natural or artificial egg which was placed in a hen's nest to induce her to lay eggs of her own. Though the term retains this connotation, it has been extended to imply that once a person has saved a certain amount of money, he is likely to save more.
A nice little nest egg of five hundred pounds in the bank. (John Ruskin, Fors Clavigera, 1876)
pin money A small amount of money set aside for nonessential or frivolous expenditures; an allowance given to a woman by her husband. When common or straight pins were invented in the 13th century, they were expensive and relatively scarce, being sold on only one or two days a year. For this reason, many women were given a regular allowance called pin money which was to be saved until the pins were once again available for purchase. In the 14th and 15th centuries, it was not uncommon for a man to bequeath to his wife a certain amount of money to be used for buying pins. Eventually, as pins became cheaper and more plentiful, the pin money was used for trifling personal expenses, but the expression persisted.
If he gives me two hundred a year to buy pins, what do you think he'll give me to buy fine petticoats? (Sir John Vanbrugh, The Relapse, 1696)
rubber check A bad check; a check not covered by sufficient funds. A check issued for an amount greater than the account balance is said to bounce, because it is returned to its payee.
She had bought the car and paid for it with a rubber check. (This Week Magazine, September, 1949)
a shot in the locker A reserve, usually financial; a last resource or chance. Locker is a nautical term for the compartment on board a vessel in which are stored ammunition, clothes, etc. Shot in the locker is literally stored ammunition; figuratively, it refers to a stash of money.
As long as there's a shot in the locker, she shall want for nothing. (William Makepeace Thackeray, Vanity Fair, 1848)
This expression is often heard in the negative not a shot in the locker, meaning no money or means of survival.
small potatoes See INSIGNIFICANCE.
sugar and honey Rhyming slang for money. This expression dates from the mid-19th century. Sugar alone is a popular slang term for money, in Britain as well as in the United States, where most people are unaware that the term is a truncated version of a rhyming slang expression.
widow's mite See CHARITABLENESS.
Source Article
Next Post
Buy Microsoft 365 PersonalMicrosoft Store
35User Rating: 3 out of 5 Submitted on10/27/2016 Review title of Egbertoncomplex and confusing to the layman I bought it in desperation hoping that it would straighten out my word processing and.xls use that became so totally incoherent after I switched to Windows Ten. So I have lots of […]


text:
the Massachusetts Historical Society, the work of editing and publishing this unparalleled private collection of 300,000 manuscript pages of diaries, letters and other writings, will be carried on under the joint auspices of the Society, the Adams Manuscript Trust, Harvard University and Life, Lyman H. Butterfield, director of the Institute of Early American History and Culture at Williamsburg, Va., who was associate editor of the Thomas Jefferson papers from 1946 to 1951, will serve as editor-in-chief.
The collection, of which less than one-third has been published, covers four complete diaries of John Adams, John Quincy Adams and two Charles Francis Adamses, dealing with subjects, according to Mr. Butterfield, "as far apart as the campaigns of the French and Indian War and the political parties of the Garfield-Cleveland era, and with the whole vast sweep of American life in between."
Thomas Boylston Adams and John Quincy Adams, the present trustees of the Adams Manuscript Trust which was formed in 1905 to run for forty years, made the decision to open the record. They plan to give the papers to the Massachusetts Historical Society and the complete collection will be placed on microfilm and made available to scholars in major research libraries throughout the country.


text:
Mahad Name Meaning
|"One who is great" or "One who is praised"
Mahad is a name that carries significant cultural and historical weight. It is not merely a collection of syllables; rather, it holds profound meaning across various contexts. From its roots in different religious traditions to its usage in contemporary society, Mahad embodies a rich tapestry of symbolism and significance.
The name Mahad originates from Arabic and Urdu, derived from the root word "Mahid," which means "one who is great" or "one who is praised." In its essence, Mahad encapsulates the idea of greatness, importance, and reverence.
In Islamic tradition, Mahad holds particular importance as it signifies the greatness and praise of Allah. It is often used as a name for boys, reflecting the parents' aspiration for their child to embody noble qualities and virtues.
One of the notable figures bearing the name Mahad is Mahad Abdiaziz Abdirahman, a Somali politician who served as the Minister of Education, Culture, and Higher Education of Somalia. His dedication to education and public service exemplifies the values associated with the name Mahad.
Throughout history, individuals named Mahad have left their mark in various fields, from literature and academia to politics and religion. Their contributions have shaped societies and inspired generations, further cementing the name's significance.
While specific data on the population of individuals named Mahad is not readily available, it is evident that the name maintains a presence in communities worldwide, particularly in regions with significant Muslim populations.
For those who believe in astrology, individuals named Mahad may fall under different zodiac signs depending on their date of birth. Each sign carries its own characteristics and traits that may complement or contrast with the inherent qualities of the name Mahad.
|March 21 – April 19
|April 20 – May 20
|May 21 – June 20
|June 21 – July 22
|July 23 – August 22
|August 23 – September 22
|September 23 – October 22
|October 23 – November 21
|November 22 – December 21
|December 22 – January 19
|January 20 – February 18
|February 19 – March 20
The lucky stone associated with the name Mahad is the Sapphire. This precious gemstone is believed to bring wisdom, prosperity, and spiritual enlightenment to those who possess it.
The lucky metal for Mahad is Silver. Symbolizing purity and strength, silver is associated with qualities that resonate with the essence of the name Mahad.
Friday is considered the lucky day for individuals named Mahad. It is a day associated with blessings, abundance, and opportunities, aligning with the auspicious nature of the name.
The lucky number for Mahad is 7. This number symbolizes spiritual growth, intuition, and divine guidance, reflecting the journey towards greatness and enlightenment.
Green is the lucky color for Mahad. Representing harmony, renewal, and prosperity, green embodies the positive energies associated with the name and augments its auspicious nature.
In conclusion, the name Mahad transcends mere linguistic significance to become a symbol of greatness, reverence, and divine blessings. Whether rooted in religious beliefs, cultural heritage, or personal aspirations, Mahad resonates with individuals across diverse backgrounds, guiding them on a path towards fulfillment and success. Its timeless appeal and profound meaning continue to inspire and uplift generations, cementing its place as a name of enduring significance.


text:
To quote a whole post..
You can use the "quote" button in the bottom right of any post to quote the whole post.
Or to quote part of a post
1~ highlight the text that you want to quote
2~ copy and paste to your posting text box
3~ ensure that the text you want to quote is still highlighted
4~ press the quote box (looks like a cartoon cloud, it's right besides the link button) at the top of your post text box.
You can simply type QUOTE in brackets as Jon says.
For example, but I'm using the word frog instead of QUOTE so it shows up.
[FROG]words you want to quote[/FROG]
It does work


DevFaqDynamicSystemFilesystem - NetBeans Wiki
Can I dynamically change the contents of the System Filesystem at runtime?
Yes. This technique is commonly used in platform applications which require the user to log in, to keep menu contents/toolbar actions/keyboard shortcuts/window definitions hidden until the user is authenticated.
There are two ways to do it. The most obvious way is to programmatically write files to disk at runtime (call FileUtil.getConfigRoot().createFolder(), etc.). This technique is appropriate if you are creating files which should be preserved across restarts (for example, adding folders to the Favorites window). It is completely inappropriate in the case of authentication, or any other case where you do not want the added files to be present after restart. You cannot depend on the application always being shut down normally and having a chance to clean such files up - since they are actually written to disk.
Using Dynamically Added Layers
The alternative is quite simple: Write a subclass of MultiFileSystem. Put it in the default lookup.
At runtime, when you want to add contents to the system filesystem, simply add additional filesystems to your MultiFileSystem. To remove the contents, simply remove those filesystems.
A convenient way to do this is to use XMLFileSystem - this is a filesystem created with exactly the same syntax as normal module XML layer files (see DevFaqModulesLayerFile). The following code loads an XML filesystem, which is in an XML file in the same package as the class, called dynamicContent.xml:
public class DynamicLayerContent extends MultiFileSystem {
 private static DynamicLayerContent INSTANCE;
 public DynamicLayerContent() {
 // will be created on startup, exactly once
 INSTANCE = this;
 setPropagateMasks(true); // permit *_hidden masks to be used
 static boolean hasContent() {
 return INSTANCE.getDelegates().length > 0;
 static void enable() {
 if (!hasContent()) {
 try {
 INSTANCE.setDelegates(new XMLFileSystem(
 } catch (SAXException ex) {
 static void disable() {
In NetBeans 7.2 and later, the above code can be simplified by using Repository.LayerProvider. See its Javadoc for a usage example.
If finer grained control of what is added is needed at runtime, there are two possibilities, using this general approach:
 - If the new layer contents are fixed and known, but perhaps correspond to user roles which may be overlaid together, split up the functionality for each role into a separate XML file (hint: define an enum of roles, where each role can point to an XML file URL, use EnumSet.of() and process that to decide what to enable)
 - Write contents programmatically, but write folders/files to an in-memory filesystem created using FileUtil.createMemoryFileSystem() so the contents disappear on VM exit
_URL_ tries to automate this kind of task.
Not logged in. Log in, Register


text: The aim of this study was to observe the form of seaweed marketing chain, the amount of margin in each marketing chain, and seaweed marketing efficiency in each marketing chain. Respondents selected as sample were seaweed farmers and a trader. Samples of seaweed farmer were chosen by using simple random sampling method. There were 25 respondents interviewed from the total of 50 population. Sample of trader respondent was chosen by using tracing sampling method, and there was 1 trader respondent interviewed. The total number of respondents interviewed was 26 respondents. Result of marketing analysis showed that marketing margin observed in chain I was IDR 4.500; and no marketing margin was observed in chain II because seaweeds were directly sold to cunsumers. Marketing chain of seaweed in Lalombi village consisted of two chains, namely:1. Seaweed Farmer → Trader→ Consumer.2. Seaweed Farmer → Consumer.In the first chain, selling price received by seaweed farmers was 60% with the efficiency value was 40%. In the second chain, selling price received by seaweed farmers was 100% with the efficiency value was 0%; and therefore seaweed marketing chain more efficient was the second marketing chain.


Vietnam to restrict surging scrap imports
For decades, China was one of the largest importers of waste and scrap materials. However, in the last few years, it has restricted imports on various types of waste and scrap material to reduce pollution. This has led to shipments being diverted to countries such as Vietnam and Malaysia, causing congestion at major ports.
In 2017, the total volume of scrap imported in Vietnam including iron, steel, plastics, and paper was twice that of 2016. Plastic scrap import during the first five months of 2018 is almost double compared to the total volume of imports in 2017. The rapid growth in imports has led to congestion in all the major ports in Vietnam, with around 6 000 containers stuck in Cat Lai Port and Hai Phong Port.
Apart from port congestion and environmental concerns, the major reasons for restricting imports and increasing inspections include the growing use of false permits, mislabeling of imports, and illegal imports.
The Vietnam Steel Association (VSA) has requested the government to allow steel producers to import 1.9 million tons of scrap for their industry annually. In addition, they have also proposed to extend licences of existing importers if they meet the environmental standards.
The association has highlighted the fact that steel produced from steel and iron scrap is an environmentally friendly process and produces only a fifth of the emissions compared to iron ore. Furthermore, as the domestic supply of metal scrap only meets 40 per cent of the industry demand, imports are a major source for steel producers.


Twitter circle black small
Jean Foulds is an abstract painter and sculptor living and working in West Cornwall. Raised in Derbyshire, Jean spent many happy times in Cornwall as a child and remembers seeing Barbara Hepworth directing the loading of a sculpture onto a lorry outside the old dance hall in St. Ives. This inspirational memory together with other experiences and artistic influences have drawn her back to Penwith over the years.
Jean's artistic background is in three-dimensional work, but her M.A. research study involved children's emergent drawing, and the measurement of mental age through creativity. She became fascinated by the amazingly articulate symbols used by young children, who reveal their knowledge and concepts through their drawings as they grow towards our culture. She developed a respect for their ability to convey information with the minimum of symbols, which with increasing literacy is lost in children as they begin to draw what they see, rather than what they know.
Working in the abstract is for Jean a similar intellectual journey; it facilitates intense description of aspects of reality which are inaccessible in representational art. It allows her to express the reality of what she knows and feels, rather than merely to represent a perceived picture; and it allows a freedom of imaginative response for the audience in the search for meaning. Much of her work is influenced by the human form, dance, music, the rhythm of the sea, and by the feeling of being at one with the Penwith coastal landscape.
Jean Foulds
Jean Foulds 004lowres Jean Foulds 005 lowres
"All my early memories are of forms and shapes and textures [...] Feelings about ideas and people and the world all about us struggle inside me to find the evocative symbol..."
Barbara Hepworth


FREE e-Newsletter
Important News - Hot Topics
Get them Now!
Bob Parker
Bob Parker
Jose Medina
Jose Medina
Why High-Risk Encounters Require SWAT
SWAT officers should develop rapport within their agency to better serve the officers who may call on their services.
February 25, 2011 | by Robert O'Brien - Also by this author
Suspect searches consistently rank among the most dangerous, deadliest LE assignments. Recognizing this, SWAT is often utilized to conduct known high-risk, dangerous searches.
In his feature article, "Duty Dangers: Into the Hearts of Darkness," Dean Scoville nailed it, "Most tactical teams have the weaponry, shields, and sophisticated surveillance tools such as pole cameras to mitigate the hazards of such a search."
NTOA trainer Don Alwes puts it another way. "It comes back to the three Ts — time, tactics, and troops."
SWAT can't be everywhere, or handle everything. Every LE agency needs to determine the criteria for utilizing SWAT. Policies vary greatly among LE agencies. For example, some departments mandate SWAT for felony and drug searches. Others only call SWAT for the highest-risk searches. The majority of department's policies strike a middle ground.
Other factors for SWAT utilization include violent crime rate, size of LE agency, and the availability of a fullor part-time team. There's another seldom discussed factor that often determines SWAT requests. The reputation and rapport between patrol, detectives, and SWAT.
Simply put, some SWAT teams have poor reputations in their departments. These teams are usually viewed as arrogant, unapproachable, elitist, too slow to respond, and seldom requested. In contrast, teams with good reputations are respected, considered approachable, non-elitist, respond rapidly, and stay busy.
A SWAT unit's reputation is earned through experience. SWAT exists to protect and serve citizens and fellow officers. It's critical that every SWAT team has a good reputation. Any team that doesn't, needs to do whatever it takes to fix that immediately.
SWAT's reputation in its own agency is sometimes overlooked. However, there's no higher sign of respect for any SWAT team than to be respected by their fellow officers. That reputation needs to be mutual. Because we're all in this together.
There's an old saying from SWAT's early years, "When citizens are in trouble, they call the police. When police are in trouble, they call SWAT."
Just as citizens need to feel they can call police when they're in trouble or need help; police need to feel the same about counting on their SWAT teams when they're in trouble or need help. There should never be any bad blood or friction between SWAT and the rest of their agency. If any exists, it needs to be nipped in the bud immediately.
Whether we realize it or not, every SWAT officer is an ambassador for our teams, and also the entire SWAT profession. Just as LE agencies/departments have reputations, so do SWAT teams. A team's reputation begins in a team's own agency/department.
SWAT teams need to also develop a good rapport with other SWAT teams, especially those in their region.
Why is it so important for SWAT teams to have a good rapport with the rest of LE? For the very same reason SWAT was created in the 1960s, and continues to exist today, more than 40 years later. It's to save lives — citizens and police alike.
So much in LE involves judgment calls that are often made under the pressure of time and circumstances. Suspect and drug searches are prime examples. Searches that range from high to unknown risk — most falling somewhere in between — all having the potential to become high risk.
This gray area is where judgment calls are usually made, whether before the fact or at the last minute on the street. I'm a believer in calling and talking with SWAT when an assignment might be something better suited for them. You'll never know unless you ask. This is where a team's reputation comes into play.
And that's the point. SWAT has the duty and obligation not only to citizens, but also to their fellow officers.
Duty Dangers: Into the Hearts of Darkness
Slain Florida Officers Ambushed by Gunman Hiding In Attic
Miami-Dade's Top Cop: Slain Officers Used Sound Tactics
Tags: St. Petersburg (Fla.) PD, Miami-Dade PD, SWAT Tactics, Searching for Suspects, Warrant Service
Be the first to comment on this story
Other Recent Blog Posts
Bait Devices Help Law Enforcement Crack Down on Cellphone, Tablet Theft
PTSD: Breaking the Silence
First Name:
Last Name:
Zip Code:
E-mail Address:
Police Magazine