text:
The Vortex Approach to Integration and Coordination of Workflows
(A position paper)
(A position paper)
Richard Hull, Bell Labs
Jianwen Su, Univ. of California, Santa Barbara
February 10, 1999
While many organizations use workflow management systems, few tools or techniques have been developed to support the interaction and coordination of workflows residing in different organizations. We distinguish two related aspects of such coordination, namely transactional (concerned with ensuring atomicity and durability of specified groups of actions) and semantic (concerned with the flow of information between, and intended meaning of, groups of actions performed by different workflows). This position paper identifies several issues that arise in connection with the semantic aspect of workflow coordination. The paper goes on to illustrate how a new declarative workflow paradigm called Vortex (see [HLS+99]) can be used to overcome these issues.
It is crucial to use a clearly defined framework and language for specifying workflow interaction. The framework must address the heterogeneity between workflow systems and schemas, and between data representations. The language must support data translations and restructurings, coordination of the input and output of existing workflows, and semantic enrichments and extensions of existing workflows. Furthermore, it is essential that the framework and language facilitate formal analysis of workflow interactions, such as whether data flow dependencies between data in different workflows can lead to deadlocks.
Vortex is a new programming paradigm for specific application domains, including in particular, workflow. The focus of Vortex programs is on information gathering, decision making, and launching and monitoring of external tasks. The Vortex language is declarative: programmers specify the conditions under which decisions and tasks should be performed, but the flow of control is not specified explicitly. As a result, Vortex programs are more succinct and easier to analyze formally than equivalent procedural programs, and are easier for humans to understand and modify. Because the core semantics of Vortex is declarative, analysis is simpler than with procedural workflow languages. Section 2 highlights some key aspects of Vortex relevant to workflow coordination.
We propose in Subsection 3.1 an architecture for workflow coordination that is based on key elements of the Vortex paradigm. In Subections 3.2 and 3.3 we illustrate how this architecture can support a variety of crucial features for workflow coordination, including data translation, semantic enrichment of workflows, workflow integration, and mechanisms for querying workflow status and history.
Section 2: Overview of Vortex
Section 2: Overview of Vortex
There are four fundamental aspects of Vortex that make it well-suited for workflow coordination: (a) the attribute-centric perspective, (b) enabling conditions, (c) snapshots, and (d) decision modules. This section presents very brief descriptions of these. The reader is referred to [HLS+99] for a more detailed introduction to Vortex.
Individual Vortex programs are centered around the decision making and processing needed to react to a single event, e.g., a new claim input to an insurance claims workflow, or a customer contact through a web-based storefront. Programmers specify what tasks might potentially be performed for an incoming event, and specify logical conditions under which these tasks should be performed. A typical Vortex application will involve several Vortex programs, each for dealing with a different class of events.
The Vortex language is attribute-centric, in the sense that programs in the language focus on how values should be assigned to the attributes of an input object. In particular, each workflow instance (i.e., enactment) begins with values only for the source attributes. As execution continues values for additional attributes are obtained, perhaps by computation or synthesis based on previously obtained attribute values, by information retrieval, or by interaction with humans or other workflows. Not all attributes need take values. Attributes can have atomic or complex type (based on tuple, list, etc.). External actions (e.g., issue checks) may be launched as a side-effect of attribute evaluation.
A Vortex program includes enabling conditions to determine whether an attribute will be evaluated for a particular workflow instance. These are reminiscent of the enabling rules in Meteor [KS95] with a crucial difference: the enabling rules of Meteor explicitly mention events, and can be fired only if the mentioned event(s) occur and the remainder of the condition is true at that time. Thus, an analysis of tasks and enabling rules in Meteor requires an understanding of the relative timing of tasks executions. In contrast, the assignment of attribute values in Vortex is monotonic (i.e., once assigned an attribute value cannot change), and the enabling conditions refer only to attribute values and states (i.e., whether an attribute has been enabled or disabled). This makes it possible for Vortex to have a simple declarative semantics that ignores issues around order of execution except for those implied by data flow constraints between tasks.
The attribute-centric paradigm and assumption of monotonicity make possible a natural mechanism for querying the status and history of workflow processing. This is based on the notion of snapshot of a workflow instance. Suppose a workflow instance is being processed. At a given point in time the snapshot associated with this instance is a mapping from attributes to the current state of the attribute (not-yet-considered, enabled or disabled), and if the attribute is enabled either a value for the attribute or the "value" uninitialized. Once a workflow instance completes then its snapshot is archived. The set current and completed snapshots esssentially forms a relation with null values. Although snapshots appear to be a high-level abstract version of workflow audit data as specified in [WFMC98] for current and completed workflow instances, the snapshots can be queried using a relational query language such as SQL.
Finally we describe decision modules. These provide an eclectic mix of mechanisms for aggregating and synthesizing previously obtained attribute values. As a very simple illustration, suppose that multiple vendors are being considered in connection with a given purchase. Different factors might need to be weighed, e.g., the price quoted by different vendors, the availability date, previous history with the vendor, and etc. A Vortex decision module (or family of decision modules) might be used to associate a weight to each vendor and then pick the vendor with highest weight. As a simplified illustration, a rule such as "If vendor V gave lowest price quote, then contribute [V,10]" can be used to contribute a weight of 10 in favor of V; and the total weight for V would be obtained by adding this with the other weights contributed for V. Vortex supports a broad family of simple and intricate semantics for combining the contributions of the rules in a decision module. Decision modules provide a simple mechanism for using a broad variety of heuristics when combining information. This appears to be useful in contexts that involve business considerations, e.g., customer care, automated resolution of exceptions, reconciling dirty data, and in particular, coordinating cross-organizational workflows.
3 Vortex-based Coordination Systems
This section proposes a conceptual architecture for workflow coordination that is based on the core ideas in Vortex, and then highlights some advantages of the approach. The discussion provided here a reflection of a preliminary report of the currently ongoing work on this topic.
3.1 Elements of the Architecture
A fundamental issue in developing workflow coordination systems lies in developing a "common" model that can provide a well-defined, unambiguous semantics for communication. Serious challenges arise in developing practical coordination, due in part to the specific semantics of workflow systems employed, heterogeneity in schemas of the databases involved, and semantic as well as structural differences in the data used. We provide here an exploratory discussion on key elements in a Vortex-based architecture that facilitates the development of coordination systems.
Our conceptual architecture (see Figure 1) is based on two key elements: (a) coordination interfaces that encapsulate participating workflows, and (b) a coordination system that supports controlled interaction between the workflows.
Figure 1: Conceptual Architecture
A coordination system implements a set of policies that govern the interaction between the participating workflows. The roles of a coordination system are to:
This architecture is similar to the Federated Architecture for database interoperation [HM85]. A key difference is that the coordination system can support semantically rich manipulations of data, and can exercise discretion concerning how events are treated (see below).
A coordination system is Vortex-based if it uses Vortex as the internal language, and complies with the attribute-centric perspective. In this context, a Vortex-based coordination interface is provided for each workflow, and specifies the following:
The coordination system defines the process of acquiring values for the import attributes of the workflow systems, including how the values are computed and when. A Vortex-based coordination system will include a family of Vortex programs, each for responding to a different class of events, e.g., requests from one workflow for input from another workflow, new attribute values being exported by a workflow, and time-driven actions such as checking the status of a workflow instance and possibly requesting an escalation.
Our architecture makes no assumptions concerning how the workflows are interacting [WFMC96]. It may be that some workflows act as producers and others as consumers. Indeed, a coordination system could simulate the Action Workflow model [MWF92]. Alternatively, it may be that all of the workflows collaborate as equals. Also, it may be that some workflows are used exclusively as resources of the coordination system, i.e., they are invoked only by the coordination system. The architecture is shown from a high level; a coordination system might also use external databases and other software components to perform its job.
3.2 Using Vortex to Support Value-added Wrapping
A crucial functionality in supporting workflow coordination is that of "wrapping", or more specifically, translating and restructuring outputs of one workflow for use as input by another. Such translation is supported by Vortex-based coordination systems. Further, it is possible to provide semantic enrichment


line, whereas you probably wanted to stay roughly at the same level of abstraction, or perhaps within the same codebase. Things get particularly bad when there is a lot of inlining (again with C++). The traditional "step over" and "step into" are hints at this need, but are too crude.
Doing better is currently beyond the debugger's ken, but this problem could be solved: perhaps by bringing in the knowledge of libraries and source file trees that the debugger already has, or perhaps most simply by allowing programmers to manually mark out the boundaries between layers. This could be a simple partitioning over source files and binary objects, or could be something more complex, perhaps sensitive to calling context or argument values (consider the case of the same library used from two places in the same application). "Next"-style operations could then be defined in terms of these layers. I'd love to see this, although the details would take a lot of working out.
To be continued?
There's plenty of research to be done on more debuggable language implementations. This research area doesn't seem to get the attention it deserves. One problem is that debugging is usually an afterthought for researchers, even though it is essential for programmers. Another problem is that not many PL researchers have sight of the design space; they're familiar with either the Unix-style approach or the VM-style one. I hope that in the future we can figure out how to get the best of both worlds.
[/devel] permanent link contact
Thu, 25 Feb 2016
Debugging with the natives, part 1
By popular request, I'm going to run a couple of articles explaining how native Unix debuggers like gdb or lldb work. In this one, we'll take a quick cross-section of what's going on. I'll say "gdb" but I could be talking about any similar debugger.
Starting things up
When you start a program in a debugger like gdb, it does a variation of the usual fork()exec() trick, in which it sets itself up as a tracer of the child process before it exec()s the program you want to run. Alternatively, the same API can attach to a process already running. Either way, the effect is that any signals received by the "tracee" process will be delivered first to the debugger, and any system calls made by the tracee will also generate a signal. These signals can be inspected, discarded or modified as the debugger wishes, using the ptrace() API. In effect, the process (tracee) and the debugger (tracer) execute by mutual hand-off, suspending and resuming each other.
Walking the stack
Using the same API, gdb can access the raw memory image of the debugged program, and its register file. (Note that when gdb is active, the program is suspended, so its registers are saved in memory.) It can use this to walk the stack and print a backtrace: the register file gives us the program counter and stack pointer. If we have a nice simple stack which saves frame pointers, it simply walks the chain in memory. To print symbolic function names, it can use either the symbol table (if we must) or the compiler-generated debugging information (better; more on that in a moment).
Reading local state
To print a local variable, the debugger uses the same compiler-generated debugging information to look up where that variable is currently located. This lookup is keyed on the program's current program counter, to handle the way that locals get moved around between registers and the stack from instruction to instruction. The result of the lookup might be a memory location, a register number, or even, sometimes, something composite like "first 8 bytes in register X, rest in memory location Y".
Setting breakpoints
To set a breakpoint on a particular source line, gdb uses a different part of the debugging information which encodes a mapping between binary locations (program counter values) and source file/line/column coordinates. A small subset of program counter values are specially identified as "beginning of statement" instructions; these are normally the ones the user wants to break on. Sometimes, hardware debug registers can be used to implement breakpoints (up to some maximum); the CPU generates a trap on reaching the program counter value stored in the register. More classically, the "soft" method is for the debugger to overwrite the instructions with trap instructions, saving the old instruction. This trap will cause a signal to be generated when the program executes it.
Resuming from breakpoints
To resume from a software breakpoint, a bit of juggling is required. Recall that we overwrote the original instruction. We can replace it, then ask the OS to single-step the program (using the hardware's single-step mode), then re-set the trap. This is racy in multithreaded programs when the other threads aren't stopped. So instead a good debugger will emulate the instruction itself! This means using an internal interpreter for the target instruction set, backed by the memory and register file access that it already has via ptrace().
Conditional breakpoints and expression evaluation
If we have a conditional breakpoint, we also need to be able to evaluate expressions when we take the trap (and silently resume if the expression is false). For this, the debugger has a parser and interpreter for each source language it supports. These interpreters are very different from an ordinary interpreter: the expression's environment comes from the binary contents of the debugged program's image, rather than being a structure the interpreter itself maintains. (The interpreter keeps a small amount of local state, such as for subexpression results, but it's mostly in the debuggee.)
Calling functions
To evaluate expressions containing function calls, we need to be able to run code in the debuggee. To do so, we craft a special frame on the debuggee's stack, a safe distance away from its actual top-of-stack. Having evaluated the arguments as usual, we put them in the relevant registers (saving what was there), tweak the saved stack pointer to point to this crafted state, set the instruction pointer to the callee, and set the debuggee going again. The function runs as normal, and on return it uses an on-stack return address that the debugger supplied. This points at a breakpoint-like instruction that raises a signal, returning control to the debugger. This then cleans up the stack as if nothing happened, and resets the registers accordingly. (Disclaimer: I haven't actually dug through gdb's code here, so I might have one or two things subtly wrong. At least, the above is how I'd implement it. Let me know if you know better.)
It goes on...
There's lots more, but if you understand the above, you've probably got the gist.
All that seems like a big bag of tricks. What are the principles at work in this design? Although the system has "grown" rather than being "designed", and has a generous share of quirks and unstandardised corners, there are some surprisingly strong principles lurking in it. I've written a little about these in my paper at Onward! last year. Next time, I'll cover briefly some of the same observations, and a few others, hopefully thereby re-explaining how debuggers work, a bit more systematically .
[/devel] permanent link contact
Thu, 16 Jul 2015
ELF introspection, robustly and portably
I often find myself writing code that does introspection at the ELF level. This is for things like looking up symbols, walking the link map, figuring out which shared object a particular memory address belongs to, which memory regions are executable, and so on. These are fairly common things to want to do in ptrace()- or LD_PRELOAD-based tools, or binary interpreter-like (Valgrind-style) ones. This post is about how to do these things robustly from within a process, where "robustly" brings some particular restrictions.
What introspection?
What does our address space look like? To spare myself the pain of drawing diagrams, we can ask Linux to dump a somewhat-pictorial view of a simple cat process by doing cat /proc/self/maps. I have reversed the order of the lines so that higher addresses go higher up, and tweaked the formatting slightly.
 address range flgs offset dev inode pathname or other name
------------------------------------------------------------------------------------------------------------
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
 7fff301fe000- 7fff30


Configure Origin Address for Multiple Gmail Accounts
This article is no longer maintained, so its content might be out of date.
Thunderbird can be used to manage multiple email accounts. These accounts can either be from the same or different email providers. However, when you have multiple Gmail accounts, by default Gmail will use your default account as the "From" and "Reply To" addresses. You must manually configure an alternate email address to be used as the "From" and "Reply To" values in messages.
 1. Load Gmail in a browser window and click Settings in the top right corner.
 2. Select Accounts and Import.
 3. In the "Send mail as" section of the page, click edit info to the right of the desired account.
 4. Click "Specify a different "reply-to" address" and specify the address you want to use as the "From" and "Reply To" address in messages.
See Adding a custom 'From' address for a complete description of this issue.
These fine people helped write this article: admin, user917725. You can help too - find out how.


second per port (0.05% of the traffic). You ask how you can get useful results when you are missing 99.95% of the traffic. In this case, the only number that matters is the number of samples being generated - 11 per second. If your sFlow analyzer is reporting per port traffic information every minute, then the results will be based on a sample size of 660. If you are rolling up traffic for the whole switch, then you have a sample size of 31,600 and if you are monitoring all the switches in your data center you would have a considerably larger sample size. Now consider the types of question you might want to ask, for example how much storage traffic (NFS, iSCSI, FCoE) is being carried on the network. Typically storage traffic will constitute a significant portion of data center traffic, so let's assume that the actual number is 60%. On a per-port basis the sFlow analyzer would produce a result in the range 54-66%. On a per switch basis, the range would be 59.63-60.37%, and finally if you want a data center wide number you would be extremely close to the correct answer. The per-minute answers are usefully more than accurate enough for troubleshooting, congestions management, DDoS analysis etc. For accounting and capacity planning purposes you typically consider longer time period. For example, if you wanted to generate a monthly report based on the single link's data, you would have a sample size of over 28 million, giving an extremely accurate measurement of the traffic.
 The goal with sFlow is to sample as little of the traffic as possible, while still generating acceptable accuracy since this increases the scalability of the overall monitoring system.
 While it's useful to understand the underlying sampling technology, the calculations don't need to be performed manually. A good sFlow analyzer will automatically perform the calculations and present results; sFlowTrend is free, properly scales sFlow, and is a good way to familiarize yourself with sFlow.
 Not all sampling schemes produce accurate results. The sFlow standard specifies a particular scheme that is proven to work. NetFlow and IPFIX allow many types of sampling, many of which produce questionable results and give sampling a bad name.


Return to Headlines
"Extreme risk" level: What it means for SPS
How might Lane County's "extreme risk" designation affect SPS teaching and learning?
Overview + what it means for SPS
Lane County is set to move back to the "extreme risk" category on Friday, April 30, after positive Covid-19 cases have been on the rise for the past few weeks. The change in county risk designation does not directly affect schools or school schedules.
Public school districts in Oregon are required to follow positive case-based guidance defined by the Oregon Department of Education developed in conjunction with the Oregon Health Authority. As part of the state guidance, school districts are encouraged to maintain current in-person learning if it's already in place stating that schools "should not reduce in-person instruction or revert to comprehensive distance learning based on county metrics if the school can demonstrate the ability to limit transmission in the school environment."
Metrics breakdown
Public elementary schools have the option to limit in-person learning if positive case levels reach more than 350 positive cases per 100,000 people over the course of 14 days. However, when cases are below that threshold, public elementary schools are required to offer either on-site or hybrid learning options.
The guidance for middle and high schools is slightly different and provides schools with the option to switch to comprehensive distance learning to limit transmission, if necessary, when county case levels reach more than 200 cases per 100,000 people over 14 days (a slightly lower threshold).
Schools are not required to switch to comprehensive distance learning at any point except potentially on an isolated school-to-school basis to curb transmission. This decision would be made by district staff as recommended by district health professionals. Under current guidance, SPS likely would not return to district-wide remote learning.
As of April 28, Lane County Covid-19 case rates had reached 214 cases per 100,000 and a 3.5 percent test positivity rate.
To learn more about the specific metrics or view the metric guidance, visit


Skriv ut
Kategori: Nyheter
Women with pre-existing diabetes who become pregnant can safely take the basal insulin detemir (Levemir, Novo Nordisk), show the results of a new study called EVOLVE.
"In pregnant women with pre-existing diabetes, insulin detemir was not associated with excess risk of major congenital malformations, perinatal, or neonatal deaths compared to other basal insulins," reported study lead Elisabeth Mathiesen, MD, from the University of Copenhagen, Denmark, at the virtual European Association for the Study of Diabetes (EASD) Annual Meeting 2020.
Session moderator Alexandra Kautzky-Willer, MD, from the Medical University of Vienna, Austria, said this was a reassuring real-world study confirming the safety of insulin detemir in diabetic pregnancies.
"In addition, somehow it also confirms the safety of glargine (Lantus, Sanofi), which was used by the majority of the comparison group — both are long-acting insulin analogs," she noted.
However, Kautzky-Willer pointed out that the study was observational, and to prove definitive safety in pregnancy, randomized controlled trials (RCTs) are needed.
"RCTs were performed previously in smaller groups of women with type 1 diabetes showing that detemir is as well-tolerated as intermediate-acting basal insulin regarding perinatal outcomes and safety," she said.
And "there is an ongoing RCT on degludec, the new[er] long[er] acting insulin of Novo Nordisk, and a small group of women included in the comparison group today were on this [newer] analog."
Large Cohort of 17 Countries From Europe and Asia
Women with pre-existing type 1 or type 2 diabetes are at a twoto fourfold increased risk of perinatal complications, or having a baby with severe congenital malformations, or neonatal death, compared with women who do not have diabetes, Mathiesen explained.
Strict glycemic control with appropriate diet, use of insulin, and if necessary, antihypertensive treatment is the cornerstone of diabetes management to prevent pregnancy complications, and in Europe, most women with pre-existing diabetes are treated with insulin analogs before and during pregnancy. More recently, the use of insulin pumps is growing in this patient population, as is the adoption of continuous glucose monitoring.
But data have been limited on the effects of basal insulins, such as detemir, on outcomes in such pregnancies.
In view of this, the EVOLVE study, sponsored by Novo Nordisk, aimed to examine the risks in mothers with pre-existing diabetes (type 1 or type 2 diabetes) who became pregnant and used insulin detemir versus other types of insulin.
Participants were included as long as they were no more than 16 weeks pregnant and were followed via routine visits at the patient's local study site. Overall, 93 sites across 17 countries, mainly in Europe, as well as Israel and Malaysia, were included.
Approximately 80% of the enrolled women had type 1 diabetes, and the remainder had type 2 diabetes.
Participants were a mean age of 30 years and were enrolled at a mean gestation of 8 weeks. Mean diabetes duration was 13 years. Mean A1c was 7.0% in the insulin detemir group and 7.2% in the other groups. Body mass index was comparable across groups. The vast majority of participants were receiving basal insulin as well as bolus (fast-acting or mealtime) insulin, reported Mathiesen.
Patients were treated according to routine clinical practice at the discretion of the local treating physician.
In total, 727 women using insulin detemir were compared with 730 women receiving other injectable insulin regimens (including the newer "second-generation" long-acting insulin degludecinsulin glargine, or even older forms of insulin such as NPH, or regular human insulin). However, most of the comparison group received insulin glargine.
The primary endpoint was the proportion of pregnancies (of at least 22 weeks' gestation) in women that did not result in any of the following events: major congenital malformations, perinatal death, or neonatal death.
Key secondary endpoints related to the mother, fetus, and infant at 1 year of age. The researchers adjusted for potential confounders using propensity score matching.
Similar Outcomes Between Groups
A total of 121 fetuses were excluded from the primary endpoint analysis due to early fetal loss. There were 57 early fetal losses in the insulin detemir group and 64 in the other group. There were 14 induced abortions due to major congenital malformations (five in the insulin detemir group and nine in the other basal insulins group).
There were no differences between in the primary outcome between women taking insulin determir compared with the other group, nor in any of the other endpoints (Table).
"When we look at the adjusted risk difference taking into account the country of origin, the duration of diabetes, whether the participant took folic acid or not, in addition to other parameters, there is absolutely no difference between groups," reported Mathiesen.
Table. Pregnancy Outcomes
Outcome Insulin DetemirOther Insulins Adjusted Risk Difference
No major congenital malformations, perinatal, or neonatal deaths, % 97.0 95.5 –0.03
Major congenital malformations, perinatal, or neonatal deaths, % 3 4.5 0.003
Major congenital malformations, % 2.2 2.5 0.008
Perinatal deaths, % 0.8 1.8 0.002
Neonatal deaths, % 0.1 0.0
Study strengths include that it was designed in collaboration with the European Medicines Agency and had a large number of participants of many different nationalities across 17 countries.
"There were also very few exclusion criteria," said Mathiesen, emphasizing how the study design reflected a real-world setting. Limitations included the fact that the trial was not randomized and women were selected from specialist diabetes sites.
"There is also the possibility that very early pregnancy outcomes that took effect prior to joining the study might have been missed," Mathiesen said.
EASD 2020. Presented September 23, 2020. Abstract 85.
www red DiabetologNytt
Träffar: 222


text:
On October 22, the Alexandria City Council declared a climate emergency, recognizing that climate change poses a grave threat to everyone in Alexandria and around the world.
Current climate models show that changing global conditions will trend toward increased rainfall and rising seas in our area. The impacts of climate change on the RiverRenew tunnel system have been considered as part of the planning process to ensure the design is adaptable and resilient to future conditions. The performance of the proposed infrastructure under year 2100 climate conditions was analyzed and summarized in this informational flyer.
(Click images to enlarge)

source: m-a-p/FineFineWeb


Explore BrainMass
Explore BrainMass
 CD Camera produces a new camera that it claims can take an average of more than 7 photographs per second. A test of 25 randomly selected cameras yielded the following sample values mean = 7.15 photo/sec S =.58 photo/sec.
 Use alpha = 0.01. Formulate the null and alternative hypotheses.
 Note: You will be doing several problems using the CD Camera problem situation. Be sure to check the given data each time, from problem to problem, because the given numbers will likely be different.
 © BrainMass Inc. brainmass.com March 4, 2021, 10:12 pm ad1c9bdddf
 Solution Summary
 A complete, neat and step-by-step solution is provided.


Return to Main Page Dakota Birder Blog
Double-toothed Kite
Harpagus bidentatus
Length: 14 inches Wingspan: 25-28 inches Seasonality: Non-resident in South Dakota
ID Keys: Dark gray back, head, and wings, white throat with dark central stripe, rufous underparts with light horizontal bars, white rump in flight
Double-toothed Kite - Harpagus bidentatusThe Double-toothed Kite is so named for "tooth" like structures on the edge of each side of the upper mandible (see painting to the right). They are a species normally found in Central and South America, with the northernmost part of their normal range just reaching southern Mexico. They are not migratory and are not expected to be found in the United States. However, on May 4th, 2011, Mr. Dave Hanson took a photograph of a bird in Galveston County, Texas, a bird he initially presumed to be a Cooper's Hawk. Upon looking through his photos a month later, there was speculation it might be something else. Conferring with experts, it was found that the clear photo was of a young, 1st-year, female Double-toothed Kite. The next year, the American Birding Association (ABA) added the Double-toothed Kite to the official checklist of species that have been seen in the North American region.
Habitat: Found in tropical to sub-tropical forest lands, including primary forest and previously disturbed secondary forest. Within these habitats they are often found in and around forest edges and clearings.
Diet: Feeds heavily on insects and lizards, but may also feed on other small vertebrates if the opportunity arises. Some individuals are accomplished at catching bats in flight, and young birds may also make up a significant portion of the diet in some seasons and locations.
Behavior: Double-toothed Kites are often found in the vincinity of troops of monkeys in their native range. As the monkeys move through the forest canopy, they disturb insects, lizards, birds and other small prey, and the Double-toothed Kite takes advantage and feeds on them.
Nesting: The nest of a Double-toothed Kite is a shallow saucer-shaped structure placed in the fork of a tree. The female usually lays 2 eggs, which are incubated for approximately 6 weeks. The female incubates the eggs and also does the majority of caring for the young after they hatch, although the male will sometimes deliver food items to the next. The young fledge from the next about one month after hatching. The young remain dependent upon the parents for another month or two after fledging.
Song: Multiple vocalizations, including a high-pitched, whistled "tsee-up tsee-UP" and a rapidly paced tsee-tsee-tsee-tsee-tsee given in flight. They are often a very vocal species, particularly during the breeding season.
Migration: Considered a permanent resident throughout its range, with only short-distance movements.
Interactive eBird map: Click here to access an interactive eBird map of Double-toothed Kite sightings
Similar Species: In overall structure, they are similar to the Accipiter hawks such as Cooper's Hawks or Sharp-shinned Hawks. If seen well, however, plumage differences are obvious, particularly in flight where a white rump patch is easily seen.
Conservation Status: There have undoubtedly been declines in overall numbers in recent decades, due to deforestation and other habitat loss throughout much of its range. However, they are still found over a broad geographic area and are relatively common in parts of their range. The IUCN lists the Double-toothed Kite as a species of "Least Concern".
Further Information: 1) Cornell's NeoTropical Birds - Double-toothed Kite
2) BirdLife International - Double-toothed Kite
3) Texas Birds Records Committee - Double-toothed Kite
Photo Information: Public domain image from Nouveau recueil de planches coloriees d'oiseaux A Strasbourgh: Chez Legras Imbert et Comp., 1838.
Click below for a higher-resolution map
Double-toothed Kite - Range Map
South Dakota Status: Non-resident in South Dakota
Additional Double-toothed Kite Photos (coming soon!!)


text:
In doing more research, I have made the following connections.
William D. "Bill" Tullis is the son of Temple Christopher Tullos and Sarah Stovall. Temple C. was the son of Abraham Tullos and Nancy Mobley. Abraham was the son of Richmond Templeton "Temple" Tullos and Thankful Mills. Richmond was the son of Richard Tullos and Elizabeth Barrett. Richard was the son of John Tullos and Barbara Mason. John was the son of Claudius Cloud Tullos. Claudius has been traced back to Scotland around 1621, most likely to the Fife area. Before that, little has been discovered about the Tullos / Tullis family. There are, however, proposed tenative links to Roman heritage.
Notify Administrator about this message?
|Home | Help | About Us | Site Index | Jobs | PRIVACY | Affiliate|
|© 2007 The Generations Network|


Google Hard Drive Backup
Google hard drive backup is a process that allows you to back up your entire hard drive to the cloud. This can be a great way to protect your data in the event of a hard drive failure or other disaster. There are a few different ways to back up your hard drive using Google Drive, and in this article we will walk you through the process.
The first way to back up your hard drive is to create a backup drive image. This is a compressed file that contains a copy of your entire hard drive. To create a backup drive image, you will need a program like Google Drive or Dropbox. Open the program and select the folder that contains your hard drive image. Then, click the "Create New" button and select "Google Drive" or "Dropbox."
Next, you will need to enter your Google Drive or Dropbox credentials. Click the "Sign In" button and enter your information. If you are not already signed in to Google Drive or Dropbox, you will be prompted to do so.
Once you are signed in, you will be asked to select a folder to save your backup drive image. Select the folder that you want to use and click the "Create" button. The backup drive image will be created and saved to your Google Drive or Dropbox account.
The second way to back up your hard drive is to create a Google Drive folder. This is a folder that contains a copy of your entire hard drive. To create a Google Drive folder, open Google Drive and click the "New" button. Select "Folder" and enter a name for the folder.
Next, you will need to select the folder that contains your hard drive image. Click the "Browse" button and select the folder that contains your hard drive image. Then, click the "Create" button. The Google Drive folder will be created and the contents of your hard drive image will be copied to the folder.
The third way to back up your hard drive is to create a Google Docs document. This is a document that contains a copy of your entire hard drive. To create a Google Docs document, open Google Docs and click the "New" button. Select "Google Docs" and enter a name for the document.
Next, you will need to select the folder that contains your hard drive image. Click the "Browse" button and select the folder that contains your hard drive image. Then, click the "Create" button. The Google Docs document will be created and the contents of your hard drive image will be copied to the document.
All of these methods are a great way to back up your hard drive. If you have any questions, please feel free to ask in the comments.
Introduction to Google Hard Drive Backup
Google Drive is a cloud-based storage and synchronization service offered by Google. It allows users to store files in the cloud, share files, and collaborate on documents. Google Drive also includes a built-in word processor, spreadsheet, and presentation software.
Google Drive is not just for personal use. Businesses can also use Google Drive to store and share files, collaborate on documents, and create and share presentations.
Google Drive comes with a built-in back-up feature. This feature allows users to back up their files to the cloud. The back-up feature is turned on by default, but users can turn it off if they do not want to use it.
Read now Cisco Aci Configuration Backup
When users back up their files to Google Drive, the files are backed up to the cloud. This means that the files are stored on Google's servers. The files are then available to users from any computer or device that has an internet connection and Google Drive installed.
Google Drive also includes a restore feature. This feature allows users to restore their files from the cloud if they accidentally delete them or if their computer or device is lost or damaged.
Google Drive is a useful tool for businesses and individuals. The back-up feature allows users to protect their files from accidental deletion or loss. The restore feature allows users to restore their files if they are lost or damaged.
Benefits of Using Google Hard Drive Backup
There are many benefits of using Google hard drive backup. Perhaps the most important benefit is that it is incredibly easy to use. In addition, it is a very reliable backup system. Google hard drive backup also allows you to back up your files to the cloud, which means that you can access them from anywhere. Another great benefit of using Google hard drive backup is that it is free.
How to Set Up Google Hard Drive Backup
Google hard drive backup is a process that allows you to back up your entire computer to Google Drive. This can be a great way to protect your data in the event of a hard drive failure or other computer-related problem. In addition, it can also be a handy way to access your files from any device with an internet connection.
To set up Google hard drive backup, you will need to have a Google Drive account. If you don't have one, you can create one for free at _URL_. Once you have a Google Drive account, you will need to download and install the Google Drive backup software. This software is available for free at _URL_
Once you have installed the Google Drive backup software, you will need to open it and sign in with your Google account. Once you are logged in, you will be presented with a screen that looks like this:
From this screen, you will need to click on the "Back up now" button. This will begin the backup process. The first time you back up your computer, the backup process may take a while, as it will need to copy all of your files to Google Drive. However, after the first time, the backup process will be much faster, as it will only copy new or changed files.
You can track the progress of the backup process by clicking on the "View backup progress" link in the upper right corner of the screen. This will open a window that looks like this:
This window will show you the progress of the backup process as well as the size of the backup file.
Once the backup process is complete, you can access your files by clicking on the "Google Drive" icon in the system tray (near the clock) in the lower right corner of your screen. This will open a window that looks like this:
From this window, you can access all of the files that were backed up to Google Drive. You can also upload new files to Google Drive, or create new folders.
Google hard drive backup is a great way to protect your data in the event of a hard drive failure or other computer-related problem. In addition, it can also be a handy way to access your files from any device with an internet connection.
How to Use Google Hard Drive Backup
If you use Google Drive, you have access to a powerful and convenient backup tool. Google Drive Backup can automatically back up your computer's files to your Google Drive account, so you can have peace of mind knowing your files are safe. In this article, we'll show you how to use Google Drive Backup to back up your files.
Read now How To Backup One Note
To use Google Drive Backup, you'll need to first install the Google Drive Backup app. The app is available for Windows and Mac, and can be downloaded from the Google Drive website.
Once the app is installed, open it and sign in with your Google account. The app will automatically start scanning your computer for files to back up.
To customize your backup settings, click the Settings button in the top-left corner of the app window. Here, you can choose which folders to back up, how often to back up your files, and how long to keep your backups.
You can also choose to back up your files over Wi-Fi or your data plan. If you choose to back up over Wi-Fi, be sure to connect to a strong Wi-Fi network, as backups can use a lot of data.
Once your backup settings are configured, click the Backup Now button to start backing up your files. The app will start backing up your files and will show you a progress bar.
You can alsopause or stop a backup by clicking the Pause button or the Stop button.
That's all there is to using Google Drive Backup! With this app, you can easily back up your computer's files to your Google Drive account.
Best Practices for Google Hard Drive Backup
Google hard drive backup is an important part of protecting your data. Here are some best practices for Google hard drive backup:
1. Use a cloud-based backup service like Google Drive or iCloud.
2. Make sure to back up your data frequently.
3. Make sure to back up your entire hard drive, not just your documents and files.
4. Make sure to have a recent backup of your data in case of disaster.
5. Make sure to back up your data to a separate hard drive in case of hard drive failure.
6. Back up your data to a secure location, like a safe deposit box.
7. Back up your data to a remote location, like a friend's house or a data center.
8. Use a backup program like Time Machine to back up your data automatically.
9. Create a disk image of your hard drive so you can restore your data if your hard drive fails.
10. Make sure to test your backups to ensure they are working properly.
Troubleshooting Common Issues with Google Hard Drive Backup
Google hard drive backup is a reliable and efficient way to back up your files, but sometimes users experience common issues. This article will troubleshoot some of the most common problems with Google hard drive backup.
One common issue is that users are not able to see their backed up files. This


text:
DLTK's Crafts for Kids
Paper Plate Raccoon Craft
This adorable raccoon craft uses a printable template and a
paper plate to make a project suitable for a forest animals, mammals, or
letter R theme or just for fun.
If you cut out holes instead of using the template eyes, you
can convert your raccoon craft to a raccoon mask. Attach a paint stir stick or tongue depressor to allow your child to hold it up to their face.
- grey paint and paintbrush (or you can keep his face white if you
don't feel like painting).
- Paper plate,
- something to color with (or color printer),
- OPTIONAL: You can substitute large wiggly eyes for the template eyes.
- OPTIONAL: Black paint for the raccoon's mask.
- OPTIONAL FOR MASK: Paint Stir Stick, thin strip of wood or
- Paint the bottom of the paper plate gray (or you can leave it white if you prefer).
- Print out the template of choice.
- Colour (where appropriate) and cut out the template pieces. Most of the pieces are simple enough shapes for
young children to cut out, but if needed, an adult can help with
some of the harder pieces (the ears and the hair).
- Glue the pieces to the plate to make a raccoon face:
- Glue the raccoon's mask across the center of the paper plate (or
paint a black mask across the center of the paper plate).
- Glue the ears onto either side of the head.
- Glue the hair onto the center top of the head.
- Glue the eyes onto the mask
(or cut out holes for eyes in a mask).
- Glue the eyebrows above the eyes.
- Glue the nose under the eyes.
- Glue the mouth under the nose.
OPTIONAL: If making a mask, use masking tape or duct tape to
attach a thin strip of wood, a Tongue Depressor
or a Paint Stir Stick
(often free at paint supply and home repair stores -- no more than $1 --
we get dad to pick one up now and then when he's at home depot admiring
the tools *grin*)
Print friendly version of these instructions

source: HuggingFaceFW/fineweb-edu


text:
Why people keep middle name
My question is that why people keep middle name, means what is the need of middle name, may be my
question look like funny for others but I really want to know this? please advice me.
You raise very interesting topic for this section, according to me people usally used middle name because they want to add their father's name in their names, and the syntex of the name is like First name ( their own name) middle name (their father's name) and last name ( their surname or title ). So that they generally used middle name in their name.
Last edited by kate; 12-07-2011 at 10:58 AM.


text:
Why Choose to Cycle in a Middle-Income Country?
Research on the adoption of the bicycle as a means of transport has been booming in high-income countries. However, little is known about bicycle adoption in lower-income countries where air pollution is high and cycling infrastructure is poor. Understanding the drivers of cycling adoption in developing economies can increase the efficiency of transport policies while reducing local air pollution, improving health, and cutting greenhouse gas emissions. The objective of this study is to identify the factors affecting cycling uptake in a low-income country using the city of Bishkek in Kyrgyzstan as a case study. The analysis is based on the Theory of Planned Behavior, a questionnaire-based survey of 900 respondents, factor analysis, and a logit model. In contrast to studies carried out in developed countries, this study finds that students are less likely to adopt cycling than other population groups. Other findings suggest that support for public transport, a desire for regular exercise and perceptions of the environmental benefits of cycling increase the probability of the use of cycling as a mode of transport in a low-income country. The paper also identifies positive and negative perceptions of cycling among cyclists and non-cyclists.

source: openbmb/Ultra-FineWeb


text:
Family Tree Friday: Nonpopulation Census Records – Agricultural Schedules
A couple of weeks ago I showed you an example of a Mortality Schedule. Today I want to show you another type of Nonpopulation schedule – this time an Agricultural Schedule.
If you have an ancestor who was a farmer in the mid-nineteenth century, you may be able to find information about their farm. You may find the total acreage of the farm and how it was used, as well as the value and quantity of produce and livestock on the farm.
For example, in 1870 William Wonduly owned 40 acres of improved land and two acres of unimproved land in the form of woodland. The cash value of his farm was $8,400. In addition, he owned three horses and five cows. He produced 300 bushels of Indian corn and 150 pounds of butter annually. If you had only looked at the 1870 population schedule, you wouldn't have learned any of this.
One really interesting thing about William Wonduly's farm is that it was located in Philadelphia. Researchers are often surprised to find farms located in major urban areas.
There are limitations to what you can find in the Agricultural Schedules. In 1850 and 1860, farms with $100 or greater production value were counted. In 1870 and 1880, farms with $500 or greater were counted. So if your ancestor had a very small farm, they may not show up in the Agricultural schedules. But if they had a larger farm, you may find a lot of information.
There are no indexes to these records. The Agricultural census schedules are organized exactly the same way as the population schedules, so they are pretty easy to use. The best way to research them is to find the person you are looking for on the population schedules and make a note of the state, county, and township or enumeration district number.
The Agricultural schedules held by NARA are available on microfilm. For a list of available records by state, see our website.


text:
New University of Florida program helps developers build environmentally friendly communities
GAINESVILLE, Fla. — As the boom in residential construction alters the landscape and boosts demand for energy and water, a new University of Florida program is helping developers build communities that protect the environment while maintaining the economic benefits of growth.
The Program for Resource Efficient Communities, sponsored by UF's School of Natural Resources and Environment, encourages sustainable development practices by working with builders, architects and other professionals involved in all phases of residential community development.
"Many new developments are master-planned communities with thousands of homes consuming large amounts of energy and raw materials," said Pierce Jones, a professor in UF's Institute of Food and Agricultural Sciences and director of the program. "These communities represent a major change in land use from agricultural and natural areas to urban or suburban. Developers buy large tracts of land, and their decisions can affect important ecological systems."
The program matches the knowledge of UF faculty with the needs of developers. Participating faculty have expertise in many disciplines, including environmental engineering, energy, water, wildlife, forestry, landscape architecture and building construction.
Stephen Mulkey, director of research and outreach for the natural resources and environment school, said the school helps the program gain access to UF county extension offices to address the issue of growth in the state. "The program has shown that we can meet the needs of development and do it in a sustainable way," he said.
The Program for Resource Efficient Communities recently worked with developers of the Harmony community in Central Florida. All 7,200 homes in Harmony will be built to meet or exceed the U.S. Environmental Protection Agency's Energy Star standards.
"This means lower electric bills for each homeowner," Jones said. "The overall result is a reduction in the demand for power generation and the need to burn fossil fuels."
More than 7,000 of Harmony's 11,000 acres are devoted to woods, wetlands, lakes, parks and recreation areas available to residents, he said. The golf course, which wraps around existing wetlands, was designed to preserve the area's diverse plant and animal life.
"Developers are beginning to realize that they can offer open space as an amenity and add other features such as golf courses to enhance the natural environment rather than degrade it," Jones said.
Some cities in Florida are providing additional incentives for builders to use "green" building methods, he said. The City of Gainesville recently implemented a green building program to promote the voluntary use of sustainable and environmentally friendly practices in design and construction. The city uses standards developed by the Florida Green Building Coalition and the U.S. Green Building Council.
"The Program for Resource Efficient Communities evaluates these certification standards for best design and management practices," Jones said. "Builders who follow the standards receive fast-track permitting and a 50 percent reduction in permitting fees."
He said UF faculty also participated in the design and development of Madera, an 88-home community developed by GreenTrust, LLC, on a wooded 44-acre site adjacent to the UF campus.
"The first home built in the Madera community took advantage of the Gainesville Green Building Program and saved the builder $650 in permit fees after accounting for the fast- tracking and 50 percent discount," Jones said.
Those who buy Madera homes can choose from a range of construction and appliance packages that reduce electricity and water usage as compared to a typical home, Jones said. Durable and recyclable construction materials reduce the amount of waste going into landfills. Landscaping with native and drought-tolerant plants further reduces water consumption and the amount of turf, pesticides and fertilizers needed.
The Program for Resource Efficient Communities evaluates and promotes several other green certification programs and standards, including Audubon International's Signature Programs, a series of nonprofit education and assistance programs to help landowners, managers and developers follow sustainable practices.
In addition to reviewing certification standards, the program creates and teaches continuing education courses that satisfy Florida licensing and professional association requirements.
Some of the course topics include construction techniques to improve indoor air quality, deter termites and limit building moisture problems such as mold and mildew. Other areas focus on windstorm-resistant housing, durable materials and renewable and recyclable resources for building construction.
Jones said the program also develops environmental education for homeowners, supports applied research and provides case studies. The program screens research at UF to identify projects of interest to developers and leverages collaborative efforts in the private sector to determine new areas of potential research for UF faculty.
"We want to show everyone from developers and homeowners to realtors and mortgage bankers that energy efficiency adds value to a home while helping conserve our natural resources," Jones said. "We want to make people aware that alternative methods of design and construction are available. In the face of Florida's rapid growth, green building methods can help to preserve and even enhance our quality of life."


write command errors
This topic lists error messages for the write command.
See Common errors for a list of error messages that apply to all commands. See write command for information about command syntax and examples of command use.
Table 1. write command errors.
The error table is a multi-row, two-column table where each row describes a CMM CLI command error: column one lists the error reported by the command-line interface and column two describes what the error means.
Error message Definition
Argument of option -p must be enclosed in quotation marks. A user tries to enter a passphrase without enclosing it in quotation marks.
Error generating configuration. The CMM is unable to generate the configuration.
Error receiving the backup file. An error occurs during backup file processing.
File transfer failed. error_string.
where error_string is specific information about the error.
The CMM is unable to transfer the file.
Firmware update is in progress. Try again later. A user tries to save the CMM configuration to the Lenovo Flex System chassis midplane while the CMM firmware is updating.
Incomplete or malformed URL. The user tries to use an invalid URL.
Option argument for -p exceeds max length (31 characters): passphrase
where passphrase is the passphrase that was entered.
A user tries to enter a passphrase that is too long.
Passphrase must have at least 6 characters. A user tries to enter a passphrase that is too short.
Please provide a backup file name at the end of the URL A user tries to enter a backup file name without specifying the file name.
Please provide a file name at the end of the URL The user tries to enter a URL without the required file name.
Protocol string length exceeds max of 8 The user tries to enter a protocol string that is too long.
There was a problem downloading the file The user does not have the authority for downloading or an error occurs when downloading.
Upload failed, there was a problem uploading the file The CMM is unable to upload the file to the user specified server.
URL Length exceeds max of 256 The user tries to enter a URL that is too long.


text:
Database Explorer Komodo IDE only
The Database Explorer is a tool for examining the structure and content of databases. By default, it can connect to SQLite and Oracle databases, but support for additional database types such as MySQL is available through extensions.
The Database sidebar displays a filterable list of database connections. Each connection offers a tree view of databases available via that connection, the tables in each database, and the fields/columns in each table.
Click on the Databases tab to open the Databases sidebar in the left pane. Use the Add a Database Connection button to configure a connection. Select a Database Type and configure the required connection information or the path to the file.
Click Add to create the connection and open the database view in the sidebar.
Each database appears as an top-level node in the sidebar. Clicking on the arrow next to the database expands a tree showing all tables. Table names also expand to show the contained field names.
Double-click on a table name in the sidebar to open the Database Explorer dialog. The dialog box displays:
- Full Table: a spreadsheet-like view of the selected table, showing all fields. The table can be sorted by any column. Columns can be hidden or displayed via the column selection button at the right side of the title row.
- Query: a Query field for composing SQL queries (for any table) and an Output pane similar to the Full Table view to show the query results. Click Run to execute the contents of the Query field. The Refresh button is for refreshing the query output display. It re-runs the last successful query, not the current contents of the Query editing buffer above.
- Schema: displays the Schema for the selected table including the field id, name and type as well as whether it is nullable. Indicates the default value (if any) and shows which is the primary key.


The Top 10 Things People Store
Here are the most common items kept in long term storage. Rather than take up space around the house, secure storage would be a better home for these 10 objects.
1. Antiques
For valuables, especially one-of-a-kinds, which will only appreciate in value over time, secure self storage is a better option than leaving them lying about in the home. A good storage space will protect your antiques from deterioration from the elements while ensuring safety from theft or accidental damage.
2. Books
Books are valuable, but can take up plenty of space in a smaller living area. Many people prefer to keep their collection of books with monetary or sentimental value in long-term storage, so they are always easily accessible when it's time for a re-read.
3. Clothing
Many people have clothing which can't be worn at the moment, but is sure to see its day in the future. Maybe it's extravagant formalwear you only get to use once in a blue moon, or heavy winter coats which are only appropriate for a few months of every year. Regardless, rather than letting these clothes clutter a wardrobe, many choose to leave in secure self-storage when they're not needed.
4. Toys
Children grow out of toys quickly, but they might not be too happy with their parents throwing old toys away. Everyone has a little nostalgia for the things they played with when they were younger, which they choose to keep in secure storage. This goes especially for video game consoles, which quickly go out of circulation but can appreciate in value.
5. Seasonal items
If your house is known for its Christmas lights display or a swinging pool-and-patio party in the summer, it can be hard to store all the necessary equipment when it's not being used. Long term self-storage is a great option to keep the objects which have their moments, but not all year round.
6. Furniture
For people who have downsized their living arrangements or need to reconfigure a room in their home, they may end up with furniture items which don't quite fit anywhere, but they also don't want to sell. Secure storage outlets offer ample space to keep furniture objects safe and pristine until they are ready to be used again.
7. Appliances
The same goes for home appliances, which people can't fit into their current living arrangements. Washers and dryers, fridges, dishwashers as well as television sets all can be kept safely in long-term storage, so that when they are needed again, they are functioning just as they did before.
8. Sports/Hobby Equipment
Sports enthusiasts will know just how much space equipment can take – whether it's a full set of softball bats and mitts, or an array of fishing equipment, it's a lot of bulk to keep around the house. The same goes for musical instruments, artists' easels or paintbrushes or gym equipment. For all these cases long term storage might be a good idea, as this will keep the expensive equipment in better condition than if it was left in a wardrobe.
9. Collectibles & Memorabilia
For sentimental objects which will certainly appreciate in value, secure storage is a must. Most collectors recognise that it's far safer to invest in proper storage than to leave their collectibles lying about. This goes for everything from photo albums, trophies, promotional products and card or sticker collections.
10. Archives
People running a home business will know that transaction and documentation archives take up huge amounts of space, and can't easily be thrown away. Rather than set up a collection of filing cabinets in your own home, secure storage is a good option to stow away important business documents for reference.


Search This Website
Wednesday, 9 December 2020
Here's how to find out if your home is adulterated or pure.
Without shopkeepers, they have started selling adulterated goods to consumers in a bid to earn maximum money. Milk, tea, sugar, lentils, grains, turmeric, apples, flour, oil and the like are found mixed in every household useful item. That is to say, we do not get pure food even when we have enough money. Now let's see how you can test the milk to see if it is pure or not.
If milk contains detergent mix, why test it. 10 ml. Mix milk and the same amount of water, if it produces foam, understand that detergent has been mixed in it.
In the same way, to test for water contamination in milk, put milk drops on the greasy area. And if water is mixed in it, it will move without leaving any traces. Pure milk will slowly move forward and white spots will remain.Thus, only synthetic milk tastes bad, and if we rub it in the palm of our hand, it starts to lather like soap and when heated, it turns yellow.
Thus milk is considered to be the healthiest drink. It is rich in vitamins, calcium, protein, niacin, phosphorus and potassium. But nowadays there are many varieties of milk mixed in the market. Which is why the healthiest drinks become the most negatively affected drinks. Chemicals also have a detrimental effect on the liver and kidneys. Here are some tips to help you know if your home milk is adulterated or pure.
Detergent in milk
If there is any suspicion of mixing detergent in the milk, pour water over the milk to verify it. If foam occurs in soapy water, understand that the detergent has been mixed.
Detergent damage
Detergent-containing milk contains a large amount of soda. Drinking such milk has a bad effect on the kidneys, liver and hormones and causes damage.
Synthetic milk
Synthetic milk has also become a big question nowadays. So take this milk between your palms and rub it a lot. Understand that milk is synthetic if it looks sticky. As well as heating it makes it a little yellow.
The damage it causes
Urea, laundry soap, sto starch and formaldehyde are mixed to make synthetic milk. Drinking such milk causes food poisoning. Vomiting or diarrhea may occur. As well as the kidneys and liver are also damaged.
Mixing of starch in milk
Put a few drops of iodine tincture or iodine solution in the milk to see if the starch is mixed in the milk. If the milk turns blue, understand that the milk is adulterated.
The damage it causes
Obtaining starch increases the number of elements in milk such as hydrogen peroxide, ammonia, nitrate fertilizers and neutralizers. In addition to the intestines, kidneys and liver, many other organs are also affected.
Mixing water in milk
Pour a few drops of milk on a piece of plastic or something else. Now tease it a little. If the drops of milk flow past the white line, then understand that the milk is pure. If the drops flow towards the slope, then it is not true.
The damage it causes
Milk becomes very thin due to mixing of water. So that its advantage does not remain the same as before.
More dangerous for children and the elderly
When the livers of children and the elderly are very sensitive, adulterated milk is very harmful to them. It also affects their immune system, making them vulnerable to many diseases.
અહીંથી વાંચો ગુજરાતી રિપોર્ટ
Why be confused?
The price of milk is based on the fat in it, so detergents, urea, ammonia, nitrate fertilizers, starch, sugar, glucose and salt are added to thicken the milk and increase the fat. Mixing all this makes it a little sour which is also mixed with a neutralizer to prevent it. So mixing hydrogen peroxide and formalin does not spoil the milk for several days.
To Get Fast Updates Download our Apps:Android||Telegram
Stay connected with us for latest updates
To Get Fast Updates Download our Apps:Android|iOS|Telegram
Stay connected with us for latest updates
Our Followers
Popular Posts
Any Problem Or Suggestion Please Submit Here
Email *
Message *


text:
Both physical education (PE) and classroom teachers can use Sworkit Kids to get kids exercising. It's a perfect short activity to get students moving after a long lesson or first thing in the morning, or as a longer activity during gym class. Sworkit Kids can be used anywhere that the app can be shown to students: in PE class, in a regular classroom, at home, outside, inside, while watching television, while doing homework, or with friends or family.
No sign-up is needed to use Sworkit Kids, and there are no ads. Because the exercises are demonstrated visually, it's useful for English language learners (ELLs) as well as students with hearing impairments. Very little space is needed for each student, but the exercises will still get them moving enough to get a good workout. Students can share their favorite workouts with friends and family, and students can also do these workouts at home.Continue reading Show less
Sworkit Kids is an exercise and fitness app aimed at students in elementary and middle school, though it can be used for students of all ages and even adults. The app guides students through exercise routines focusing on strength, agility, flexibility, and balance, such as doing the crab crawl, squats, or side plank. It combines interval training with randomized exercises so it's never the same workout twice. Exercises are demonstrated in videos starring kids. Students then do each of the exercises for 30 seconds along with the kids on the screen. Workouts can be from five to 60 minutes or a custom workout length. App users can also skip to the next exercise or skip back to a previous one just by tapping the arrows, but this won't affect the overall workout length. The exercise timer only counts down during the exercising times, not in between.
Sworkit Kids comes with a built-in custom workout already available (Kids Beginner Full Body Workout, with 24 exercises), but you can still choose how long the workout should last. Intermediate and advanced workouts are also available. You can also design your own custom workout, choosing from 66 different exercises from all three categories. You can copy a popular workout; some of these will be in different languages, and some are geared toward specific groups, such as Third Grade or Pre-Game Warm-Up or Standing Only Workout (for when the ground isn't conducive to exercising). The are other features, including setting reminders, toggling exercise cues and next-exercise countdown, and auto-play, as well as offering content in 12 different languages.
Sworkit Kids is an ideal app to teach students how to do some basic movement exercises that they can use throughout their lives: strength, agility, flexibility, and balance. The app is simple and completely ad-free, so it's easy to use at any time without worrying about privacy issues. The exercises are manageable for most kids and adults, and are reminiscent of the body movement exercises that adults today might have done in gym class.
The variety of exercises is enough to keep learning fresh, but limited enough so that students will quickly become familiar with how to perform each exercise. Reminders keep students exercising regularly, and even short workouts will increase fitness quickly. Since exercises are demonstrated visually, students won't necessarily need to be able to read or be able to hear the app's sound to follow along. There are also 12 different languages for the app, which is handy for ELLs. Sworkit Kids is simple and basic, but it's also uncluttered, easy to use, and customizable; it aims to make fitness fun and fit into students' lives whenever they have an opportunity for exercise.


text:
outer perineal anatomy female female anatomy diagram where is the cliturous located diagram diagram if cliterous and uritha female private part diagram perineum anatomy clortis diagram hair anatomy diagram
Cliterous Diagram Whats NewCliterous diagram
Clitotis Diagram Outer Perineal Anatomy Female Women's Body Parts Human Reproductive System Diagram Vulvar Vestibule diagram if cliterous and uritha Where Is the Cliturous Located Diagram Trapdoor Spider Diagram Human Anatomy External Pudendal Nerve Course Female Private Part Diagram Wiring diagram is a technique of describing the configuration of electrical equipment installation, eg electrical installation equipment in the substation on CB, from panel to box CB that covers telecontrol & telesignaling aspect, telemetering, all aspects that require wiring diagram, used to locate interference, New auxillary, etc.cliterous diagram
This schematic diagram serves to provide an understanding of the functions and workings of an installation in detail, describing the equipment / installation parts (in symbol form) and the connections.cliterous diagram
This circuit diagram shows the overall functioning of a circuit. All of its essential components and connections are illustrated by graphic symbols arranged to describe operations as clearly as possible but without regard to the physical form of the various items, components or connections.


text:
Justice for All
Report and Recommendations of the Task Force on Fair Justice for All: Court-Ordered Fines, Penalties,
Fees and Pretrial Release Policies
Our ideal of "justice for all" means that people should not be disparately punished because they are poor. While everyone should face consequences for violating the law, criminal fines and civil penalties should not themselves promote a cycle of poverty by imposing excessive amounts or unduly restricting people's ability to be gainfully employed.
The Task Force on Fair Justice For All was established by Administrative Order No. 2016-16 to study and make recommendations as follows:
- Recommend statutory changes, if needed, court rules, written policies, and processes and procedures for setting, collecting, and reducing or waiving court-imposed payments.
- Develop suggested best practices for allowing citizens unable to pay the full amount of a sanction at the time of sentencing options for reasonable time payment plans or by the performance of community service.
- Recommend best practices for making release decisions that protect the public, but do not keep people in jail solely for the inability to pay bail.
- Review the practice of suspending driver's licenses and consider alternatives to license suspension.
- Recommend educational programs for judicial officers, including pro tem judges and court staff who are part of the pretrial decision making process.
- Identify technological solutions and other best practices that provide defendant notifications of court dates and other court-ordered deadlines using mobile applications to reduce the number of defendants who fail to appear for court and to encourage citizens who receive a citation to come to court.


The EU is Kazakhstan's main trade and investment partner, representing over one third of Kazakhstan's external trade and over a half of total foreign direct investment in Kazakhstan. Kazakhstan's exports to the EU are almost entirely in the oil and gas sectors, alongside other minerals, chemicals and food products. From the EU, Kazakhstan imports machinery and transport equipment and pharmaceuticals, alongside chemical products, plastics, medical devices and furniture.
Kazakh-EU relations have significantly strengthened in the last two decades and go beyond trade and investment ties or political dialogue. The EU and Kazakhstan succeeded in establishing other successful cooperation in areas such as energy, transport, environment, research and security.
As the EU is working to make relations with Central Asia stronger and deeper, Kazakhstan continues to play a key role in the process. At a recent meeting of the Cooperation Committee, the EU and Kazakhstan discussed the impact of the COVID-19 pandemic and the importance of strengthened multilateralism. They also discussed the EU-Central Asia regional cooperation, including in the fields of security, counter-terrorism, fighting drug trafficking, and border management.
Listen to the full event here:
>> Click here for more information about the event.
>> Click here to check out our upcoming event
Subscribe to our newsletters


text:
Trap-state suppression and improved charge transport in PbS quantum dot solar cells with synergistic mixed ligand treatments
Rights accessOpen Access
The power conversion efficiency of colloidal PbS‐quantum‐dot (QD)‐based solar cells is significantly hampered by lower‐than‐expected open circuit voltage (VOC). The VOC deficit is considerably higher in QD‐based solar cells compared to other types of existing solar cells due to in‐gap trap‐induced bulk recombination of photogenerated carriers. Here, this study reports a ligand exchange procedure based on a mixture of zinc iodide and 3‐mercaptopropyonic acid to reduce the VOC deficit without compromising the high current density. This layer‐by‐layer solid state ligand exchange treatment enhances the photovoltaic performance from 6.62 to 9.92% with a significant improvement in VOC from 0.58 to 0.66 V. This study further employs optoelectronic characterization, X‐ray photoelectron spectroscopy, and photoluminescence spectroscopy to understand the origin of VOC improvement. The mixed‐ligand treatment reduces the sub‐bandgap traps and significantly reduces bulk recombination in the devices.
CitationPradhan, S. [et al.]. Trap-state suppression and improved charge transport in PbS quantum dot solar cells with synergistic mixed ligand treatments. "Small", 12 Abril 2017, vol. 13, núm. 21.


text:
===== Insert text regarding state=QLD here. ======
A prank call, also known as a crank call or nuisance call, is a form of practical joke over the telephone. This includes threatening someone over the phone as well as hanging up the phone once the receiver has picked up the phone. Repeated prank calls can amount to harassment, stalking or even bullying. It is important to use common sense and realise that prank calls can cause fear and distress to other people.
Which types are prank calls are considered offences?
- Threatening to kill someone (not necessarily the person you called) over the phone with the intention that they will believe you.
- Threatening to cause serious harm to someone (not necessarily the person you called) over the phone with the intention that they will believe you.
- Threatening that you have left/will leave an explosive or dangerous object somewhere with the intention that they will believe you.
- If you menace, harass or cause offence to a person over the phone, either by what you are saying or the way you are saying it.
The penalties for making threatening calls can be very serious.
Calls to emergency services (000)
- Dialling '000' and pretending that there is an emergency. Penalty – 3 years imprisonment.
- Dialling '000' for a reason other than an emergency situation. Penalty – 3 years imprisonment.
The penalties for making prank calls to emergency services can be very serious.
Calls are not only considered to be prank calls when it is threatening. Other types of prank calls may be classified as harassment depending on the words said, time and its circumstances.
So it is possible that you are not intending to threaten someone over the phone, but if your calls are annoying the receiver, they can ask their mobile company or the police to investigate and trace the prank call.
What can I do if I receive a prank call?
Hang up immediately. If you keep getting prank calls, you can make a complaint to the local police. They can then investigate, and, if necessary, prosecute the person who made the call.
You can also contact your phone company to help. For example, Telstra has a special call centre to help customers who are receiving unwanted phone calls. However your phone company is not obliged to disclose the information of the person calling you, unless asked by the police.
If you receive a phone call, you should not:
- Find out yourself who the caller is – this may be dangerous
- Threaten the caller
- Pretend you are a police officer when receiving the phone call (Impersonating a police officer)
If you threaten the caller or pretend to be a police officer, this may result in you being investigated for a criminal offence.
Stalking by prank calls
Unwanted contact through any technological means that happens more than once and causes concern or fear may constitute stalking. This means that repeated prank calls may be considered stalking. The penalties for stalking by prank calls can be very serious.
Bullying by prank calls
Repeated prank calls may also be bullying. If the prank calls becomes harassment, or illegal threats, then it becomes a form of bullying. Please refer to our Bullying section.
This information was last reviewed 6th June 2010.


text:
When we in NYC talk about 'the Holidays', we mean the period from late November to New Year's Day.
'Holiday' in the singular can refer to anything from Easter to 'Talk Like a Pirate Day', depending on the person.
'Vacation' usually means a trip of at least a week away from your home base. As I understand it, the term came into being during the 19th century. During the hot months, wealthy people would close down their town houses. Women and children would be sent off to cooler, relaxing places such as the Catskills or Eastern end of Long Island. men continued to see to business. During the week they boarded at their Clubs and visited their families on the weekends.
This was the time that major repairs and cleaning could be done to the city house without discomfort to the family. Because the house was vacated. The summer became known as 'Vacation' and the term filtered into general use.


Wikia
Psychology Wiki
Quaternary care
Talk0
34,190pages on
this wiki
Quaternary care refers to advanced levels of medicine which are highly specialized and not widely used. Experimental medicine, service-oriented surgeries and other less common approaches to treatment and diagnostics consist of the bulk of quaternary care. The term is an extension of tertiary care, which is more common and less specific.
See alsoEdit
Around Wikia's network
Random Wiki


text:
Physical Sciences Inc. (PSI) proposes to develop a solar concentrator system for lunar In-Situ Resource Utilization (ISRU) applications. In this system, solar radiation is collected using a concentrator array that transfers the concentrated solar radiation to the optical waveguide (OW) transmission cable made of low loss optical fibers. The OW transmission line directs the solar radiation to the thermal receiver for thermochemical processing of lunar regolith. Key features of the proposed system are:
PSI proposes to develop component and subsystem technologies for the solar concentrator system for lunar ISRU applications including: oxygen extraction from lunar regolith. At the conclusion of the proposed effort, PSI will have demonstrated collection and transmission of the solar power using an optical waveguide consistent with the requirements of the Lunar ISRU application of oxygen production. The Phase II demonstration will use a single facet solar collector, capture of the solar radiation using a light-weight, space qualifiable optical waveguide and transmission and illumination of a simulated regolith material consistent with the requirements of a carbothermal reactor used for the production of oxygen for Lunar applications.
The primary application of the proposed solar concentrator system is for the production of oxygen and other useful materials on the lunar surface. The solar concentrator system can be used for sintering lunar regolith for surface stabilization and construction. In addition, the system can be used for thermal or electric power generation and plant lighting and illumination for the lunar base. Therefore, the solar concentrator system is the key enabling technology for building up the infrastructure for the lunar base.
There are a number of terrestrial uses for the solar concentrator system related to heating applications including water heating (for domestic and industrial usage), transportable heat source for the detoxification of contaminated soil, heat engine for small power plants and industrial process heat. Also concentrator subsystems may find applications for building and indoor plant growth lighting.


?A. The previous connection is closed.
 16. 16. B. The CURRENT SERVER special register is cleared.C. A new connection to the alias "sample" is established.D. The existing connection state for alias "sample" is changed from dormant to current.Answer: D65. Which two of the following are correct embedded SQL syntax for connecting to a database?A. EXEC SQL CONNECT TO sample;B. EXEC SQL CONNECT TO :dbalias :uid :passwd;C. EXEC SQL CONNECT TO sample USER ? USING ?;D. EXEC SQL CONNECT TO :dbalias USER :uid USING :passwd;E. EXEC SQL CONNECT TYPE 2 TO sample USER :uid USING :passwd;Answer: AD66. Which two of the following embedded SQL statements can be used to specify which database server is being operated on whenperforming multi-site updates?A. CONNECT TOB. SET CONTEXTC. SET CONNECTIOND. UPDATE CONTEXTE. SET CONNECT TYPE 2Answer: AC67. Which of the following special registers can be queried to determine the database name of the active connection?A. CURRENT NODEB. CURRENT SQLIDC. CURRENT SERVERD. CURRENT CONNECTIONAnswer: C68. Which of the following is the correct order to allocate ODBC/CLI handles?A. 1. Environment1 Connection2 StatementB. 1. Connection1 Environment2 StatementC. 1. Environment1 Statement2 ConnectionD. 1. Statement1 Connection2 EnvironmentAnswer: A69. Which two of the following are valid ODBC/CLI handle definitions?A. SQL_HANDLE_ERRB. SQL_HANDLE_DRVC. SQL_HANDLE_DBCD. SQL_HANDLE_CONE. SQL_HANDLE_DESCAnswer: CE70. Prior to executing a query with a forward-only cursor, which of the following ODBC statement handle attributes can be used tospecify that the results of the query are to be read-only?A. SQL_ATTR_CONCURRENCYB. SQL_ATTR_CURSOR_TYPEC. SQL_ATTR_RETRIEVE_DATAD. SQL_ATTR_CURSOR_SENSITIVITY
 17. 17. Answer: A71. Which two of the following ODBC/CLI API function calls can be used to retrieve diagnostic information?A. SQLGetMsgB. SQLGetErrorC. SQLGetDiagRecD. SQLGetErrorRecE. SQLGetDiagFieldAnswer: CE72. Given the following ODBC/CLI Code:SQLHANDLE henv, hdbc, hstmt1, hstmt2 ;SQLRETURN rc;hstmt1=NULL;hstmt2=NULL;rc = SQLAllocHandle( SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv ) ;rc = SQLAllocHandle( SQL_HANDLE_DBC, henv, &hdbc );rc = SQLConnect( hdbc, "SAMPLE", SQL_NTS, "DB2CERT", SQL_NTS,"DB2CERT", SQL_NTS );rc = SQLAllocHandle( SQL_HANDLE_STMT, hdbc, &hstmt1 ) ;Assuming all of the above calls return SQL_SUCCESS, which is the expected value of variable rc if the following function call ismade immediately after the above?rc = SQLExecDirect(hstmt2, "SELECT * FROM SYSIBM.SYSTABLES", SQL_NTS);A. SQL_ERRORB. SQL_SUCCESSC. SQL_INVALID_HANDLED. SQL_SUCCESS_WITH_INFOAnswer: C73. Under which of the following conditions has an application conclusively retrieved all diagnostic records associated with a givenhandle?A. SQLError() returns SQL_NO_DATA_FOUNDB. SQLGetDiagField() returns SQL_SUCCESSC. SQLGetDiagRec() returns SQL_NO_DATA_FOUNDD. SQLGetDiagRec() does not return SQL_ERRORAnswer: A74. Which of the following ODBC/CLI APIs can be used to retrieve multiple error messages associated with a single handle in anyorder?A. SQLError()B. SQLGetSQLCA()C. SQLGetErrorMsg()D. SQLGetDiagField()Answer: D75. Given the following table T1 containing an INTEGER column:C1NULL123An ODBC/CLI application executes the following pseudocode on an allocated statement handle:SQLPrepare( hStmt, "SELECT * FROM t1 WHERE c1 IS NULL", SQL_NTS );SQLBindParameter( hStmt, 1, 1, SQL_C_LONG, SQL_CHAR, &piData, 0, NULL);SQLExecute( hStmt );SQLSetStmtAttr( hStmt, SQL_ATTR_CURSOR_TYPE, SQL_CURSOR_STATIC );SQLFetch( hStmt );Which API is expected to return SQL_ERROR?A. SQLFetch()B. SQLPrepare()
 18. 18. C. SQLExecute()D. SQLSetStmtAttr()E. SQLBindParameter()Answer: D76. Given the following table definition:CREATE TABLE t1 ( c1 CHAR(100) NOT NULL )An ODBC/CLI application successfully executes the following pseudocode:SQLAllocHandle( SQL_HANDLE_STMT, hDbc, &hStmt );SQLPrepare( hStmt, "INSERT INTO t1 (c1) VALUES (?)", SQL_NTS );SQLBindParameter( hStmt, 1, 1, SQL_C_CHAR, SQL_VARCHAR, 101, 0, &pszData, 10, pcbValue);What value of pcbValue would cause the following to return SQL_NEED_DATA?SQLExecute(hStmt);A. 0B. SQL_NTSC. SQL_NULL_DATAD. SQL_DATA_AT_EXECAnswer: D77. Given the following ODBC/CLI code that executes successfully:SQLRETURN rc;SQLHANDLE hEnv, hDbc, hStmt;rc = SQLAllocHandle( SQL_HANDLE_ENV, NULL, &hEnv );rc = SQLAllocHandle( SQL_HANDLE_DBC, hEnv, &hDbc );rc = SQLConnect( hDbc, "CERTDB", SQL_NTS, NULL, NULL, NULL, NULL );Which of the following calls is expected to return SQL_SUCCESS?A. rc = SQLExecute( hStmt );B. rc = SQLAllocHandle( SQL_HANDLE_STMT, hDbc, &hStmt );C. rc = SQLPrepare( hStmt, "SELECT * FROM SYSIBM.SYSTABLES", SQL_NTS );D. rc = SQLSetStmtAttr( hStmt, SQL_ATTR_CURSOR_TYPE, SQL_CURSOR_STATIC, NULL );Answer: B78. Given the following ODBC/CLI pseudocode executes without error:SQLAllocHandle( SQL_HANDLE_DBC, hEnv, &hDbc )SQLConnect( hDbc, "DB2CERT", SQL_NTS, NULL, SQL_NTS, NULL, SQL_NTS )SQLSetConnectAttr( hDbc, SQL_ATTR_AUTOCOMMIT, SQL_AUTOCOMMIT_OFF, NULL )SQLAllocHandle( SQL_HANDLE_STMT, hDbc, &hStmt )SQLPrepare( hStmt, "SELECT col1, col2 FROM tab1", SQL_NTS )SQLExecute( hStmt )SQLFetch( hStmt )Which two of the following psuedocode pieces may be successfully executed immediately after the above?A. SQLFetch( hStmt )B. SQLDisconnect( hDbc )C. SQLBindCol( hStmt, 1, SQL_C_LONG, &buff, 4, NULL )D. SQLExecDirect( hStmt, "SELECT col1, col2 FROM tab2", SQL_NTS )E. SQLSetStmtAttr( hStmt, SQL_ATTR_CURSOR_TYPE, SQL_CURSOR_STATIC, NULL )Answer: AC79. Which two of the following ODBC/CLI APIs can result in the opening of a cursor?A. SQLFetch()B. SQLPrepare()C. SQLGetData()D. SQLProcedures()E. SQLExecDirect()Answer: DE80. Which of the following pseudocode ODBC/CLI API calls can be made to determine if an open cursor isscrollable?A. SQLFe


text:
Theoretical analysis of hot electron injection from metallic nanotubes into a semiconductor interface
Metallic nanostructures under optical illumination can generate a non-equilibrium high-energy electron gas (also known as hot electrons) capable of being injected into neighbouring media over a potential barrier at particle boundaries. The nature of this process is highly nanoparticle shape and size dependent. Here, we have derived an analytical expression for the frequency dependent rate of injection of these energetic electrons from a metallic nanotube into a semiconductor layer in contact with its inner boundary. In our derivation, we have considered the quantum mechanical motion of the electron gas confined by the particle boundaries in determining the electron energy spectrum and wave functions. We present a comprehensive theoretical analysis of how different geometric parameters such as the outer to inner radius ratio, length and thickness of a nanotube and illumination frequency affect the hot electron injection and internal quantum efficiency of the nanotube. We reveal that longer nanotubes with thin shells and high inner to outer radius ratios show better performance at visible and infrared frequencies. Our derivations and results provide the much needed theoretical insight for optimization of thin nanotubes for different hot electron based applications.


Hacker News new | comments | show | ask | jobs | submit login
Compiling with Continuations, Continued (2007) [pdf] (microsoft.com)
47 points by chicken_lady on July 11, 2014 | hide | past | web | favorite | 8 comments
CPS is formally equivalent to SSA, is it not? What are advantages of using CPS over SSA?
It's not equivalent, but share some aspects. CPS straight forward semantics, but a semantic for SSA must carry path history along as phi-nodes have no local meaning (you must know where you came from).
I never really understood the big deal about SSA as it's just a really weak version of models from the functional world. (Disclaimer: I've worked on both sides of the fence).
Some discussion of the relative strengths and weaknesses here, with references: _URL_
(Including to the paper here, incidentally.)
See _URL_ for an in-depth comparison from a compiler hacker experienced with both styles of IR.
A summary is that there is no advantage to CPS, since it is SSA with a scope nesting requirement that gets in the way of some beneficial transformations.
This is an area where the compiler and programming language communities often seem to be talking past each other. In the post you linked, Weeks is talking about CPS and SSA as the datastructures manipulated by optimization algorithms. CPS is interesting primarily as a language in the formal sense of assigning semantics to programs. Whether you choose to represent those programs naively as a tree structure or with an efficient graph representation as in SSA, you're still using CPS.
This paper is really good because, unlike a lot of compiler literature, it treats both semantics and term representation.
Although I take your point about CPS in other disciplines, TFA advocates compiling with continuations. A criticism of its suitability for compilation would seem to be relevant.
Sure, and Weeks is totally correct regarding tree vs. flat representations, but I think identifying CPS with the former and SSA with the latter is misleading. The scoping discipline (respectively, dominator tree) is part of the language whether you represent it as subtrees or leave it implicit.
It would be more accurate to say that SSA is a particularly efficient data structure for representing a subset of CPS terms.
The last paragraph of the paper briefly touches on that:
This paper would not be complete without a mention of Static Single Assignment form (SSA), the currently fashionable intermediate representation for imperative languages. As is well known, SSA is in some sense equivalent to CPS (Kelsey 1995) and to ANF (Appel 1998). Its focus is intra-procedural optimization (as with ANF, it's necessary to renormalize when inlining functions, in contrast to CPS) and there is a large body of work on such optimizations. Future work is to transfer SSA-based optimizations to CPS. We conjecture that CPS is a good fit for both functional and imperative paradigms.
Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact
Search:


text:
The Canadian Museum of Cultural Heritage of Indo-Canadian, located at the BAPS Shri Swaminarayan Mandir and Cultural Complex in Toronto, Canada, traces 10,000 years of Indian history. Inaugurated in 2007, visitors can explore the civilization, diversity, and religions of India. Moreover, the museum highlights the Indo-Canadian experience, explaining the journey of the ethnic community as it became an integral part of the Canadian cultural mosaic over the past 60 years. The museum illustrates Indian culture's contributions to the fields of art, architecture, science, democracy, education, and spiritual values. The museum promotes cultural harmony by inspiring its visitors to explore and share their own heritage while maintaining respect for others. It is an unparalleled cultural landmark visited and appreciated by various community leaders, government officials, and thousands of Canadians.
Visit the Canadian Museum of Cultural Heritage of Indo-Canadians at BAPS Shri Swaminarayan Mandir, Toronto, Canada.