text:
3: Parallel Tasks
Chapter 2, "Parallel Loops," shows how you can use a parallel loop to apply a single operation to many data elements. This is data parallelism. Chapter 3 explains what happens when there are distinct asynchronous operations that can run simultaneously. In this situation, you can temporarily fork a program's flow of control with tasks that can potentially execute in parallel. This is task parallelism. The Parallel Tasks pattern is sometimes known as the Fork/Join pattern or the Master/Worker pattern.
Parallel tasks are asynchronous operations that can run at the same time. This approach is also known as task parallelism.
Data parallelism and task parallelism are two ends of a spectrum. Data parallelism occurs when a single operation is applied to many inputs. Task parallelism uses multiple operations, each with its own input.
In the Parallel Patterns Library (PPL), tasks are started and managed by methods of the task_group class, which is declared in the ppl.h header file. The task group class's run method creates and schedules new tasks. You can wait for all tasks created by the task group to complete by invoking the task group's wait method. If you think in terms of fork/join, the run method is the fork operation and the wait method is the join operation.
Parallel tasks in PPL are managed by the task_group class.
Scheduling is an important aspect of parallel tasks. Unlike threads, new tasks don't necessarily begin to execute immediately. Instead, they are placed in a work queue. Tasks run when their associated task scheduler removes them from the queue, usually as processor resources become available. As long as there are enough tasks and the tasks are sufficiently free of serializing dependencies, the program's performance scales with the number of available cores. In this way, tasks embody the concept of potential parallelism that was introduced in Chapter 1.
Another important aspect of task-based applications is how they handle exceptions. In PPL, an unhandled exception that occurs during the execution of a task is deferred for later observation. For example, the deferred exception is automatically observed at a later time when you call the task_group::wait method. At that time, the exception is rethrown in the calling context of the wait method. This allows you to use the same exception handling approach in parallel programs that you use in sequential programs.
Tasks in PPL defer exceptions and rethrow them when the task group's wait method is invoked.
The Basics
Each task is a sequential operation; however, tasks can often run in parallel. Here's some sequential code.
Let's assume that the methods DoLeft and DoRight are independent. This means that neither method writes to memory locations or files that the other method might read. Because the methods are independent, you can use the parallel_invoke function of the Concurrency namespace to run them in parallel. This is shown in the following code.
The parallel_invoke function is the simplest expression of the Parallel Tasks pattern. The function creates a new task group with new parallel tasks for each lambda expression in its argument list. The parallel_invoke function returns when all the tasks are finished. The arguments to parallel_invoke are known as work functions.
There are overloaded versions of the parallel_invoke function that accept up to nine work functions.
The parallel_invoke function in the Concurrency namespace creates a group of parallel tasks and waits for them all to complete.
You can't assume that all parallel tasks will immediately run. Depending on the current work load and system configuration, tasks might be scheduled to run one after another, or they might run at the same time. For more information about how tasks are scheduled see "How Tasks Are Scheduled," later in this chapter.
The functions run by parallel_invoke can either complete normally or finish by throwing an exception. If an exception is thrown by one of the work functions during the execution of parallel_invoke, it will be deferred and rethrown when all tasks finish. If more than one of the work functions throws an exception, the runtime chooses one of the exceptions to be rethrown. The remaining exceptions will not be externally observed. For more information and a code example, see the section, "Handling Exceptions," later in this chapter.
Internally, parallel_invoke creates new tasks and waits for them. You can reproduce this functionality by creating a task group object and calling its run and wait methods. Here's an example.
The run method of the task_group class creates and schedules a new task. The run method's argument is a lambda expression, a pointer to function, or a function object that will be invoked when the task eventually executes. In other words, the argument can be any object that supports the function call operator with the signature void operator()(). When you use the task_group::run method to create a task, the new task is added to a work queue for eventual execution, but it does not start to execute until its task scheduler takes it out of the work queue, which can happen immediately or can occur at some point in the future.
|If you pass areferencetoan instance of a class that supportsoperator()as an argument to the task_group::run method, you must make sure to manage the memory of the function object. The function object can safely be destroyed only after the task group object's wait method returns. Lambda expressions and pointers to static functions do not require explicit deletion and are therefore easier to use than class-type functors.
You can wait for the tasks of the task group to complete by calling the task group's wait method.
It is also possible to combine the run and wait steps into a single operation. This is shown in the following code.
Calling the task group's run_and_wait method instead of the run method followed by a call to the wait method can result in slightly more efficient use of threads. The run_and_wait method acts as a hint to the task scheduler that it can reuse the current context to execute the new task.
The examples you've seen so far are simple, but they're powerful enough to handle many scenarios. For more ways to use tasks, see the section, "Variations," later in this chapter.
An Example
An example of task parallelism is an image processing application where images are created with layers. Separate images from different sources are processed independently and then combined with a process known as alpha blending. This process superimposes semitransparent layers to form a single image.
The source images that are combined are different, and different image processing operations are performed on each of them. This means that the image processing operations must be performed separately on each source image and must be complete before the images can be blended. In the example, there are only two source images, and the operations are simple: conversion to gray scale and rotation. In a more realistic example, there might be more source images and more complicated operations.
Here's the sequential code. The source code for the complete example is located at http://parallelpatternscpp.codeplex.com in the Chapter3\ImageBlender folder.
static void SequentialImageProcessing( Bitmap* const source1, Bitmap* const source2, Bitmap* const layer1, Bitmap* const layer2, Graphics* const blender) { SetToGray(source1, layer1); Rotate(source2, layer2); Blend(layer1, layer2, blender); }
In this example, source1 and source2 are bitmaps that are the original source images, layer1 and layer2 are bitmaps that have been prepared with additional information needed to blend the images, and blender is a Graphics instance that performs the blending and references the bitmap with the final blended image. Internally, SetToGray, Rotate, and Blend use methods from the platform's Gdiplus namespace to perform the image processing.
The SetToGray and Rotate methods are entirely independent of each other. This means that you can execute them in separate tasks. If two or more cores are available, the tasks might run in parallel, and the image processing operations might complete in less elapsed time than a sequential version would.
The parallel_invoke function creates tasks and waits for them to complete before proceeding. This is shown in the following code.
static void ParallelInvokeImageProcessing( Bitmap* const source1, Bitmap* const source2, Bitmap* layer1, Bitmap* layer2, Graphics* blender) { parallel_invoke( [&source1, &layer1](){ SetToGray(source1, layer1); }, [&source2, &layer2](){ Rotate(source2, layer2);} ); Blend(layer1, layer2, blender); }
In this example, the tasks are identified implicitly by the arguments to parallel_invoke. This call does not return until all of the tasks complete.
Use the parallel_invoke function whenever tasks can be defined in a single lexical scope.
You can also create parallel tasks explicitly. This is shown in the following code.
static void ParallelTaskGroupImageProcessing( Bitmap* const source1, Bitmap* const source2, Bitmap* layer1, Bitmap* layer2, Graphics* blender) { task_group tasks; tasks.run( [&source1, &layer1](){ SetToGray(source1, layer1);} ); tasks.run_and_wait( [&source2, &layer2](){ Rotate(source2, layer2); } ); Blend(layer1, layer2, blender); }
This code allocates a task group on the stack. It then calls task group run methods to create and run two tasks that execute SetToGray and Rotate. The example uses the run_and_wait method to create the second task and to wait for all tasks to finish before blending the processed images.
This section describes variations of PPL's implementation of the Parallel Task pattern.
Coordinating Tasks with Cooperative Blocking
The classes and functions in the Concurrency namespace implement a task-coordination feature known as cooperative blocking. With cooperative blocking, your task can suspend its execution and relinquish control to the task scheduler until a specific condition is met. This usually occurs when another task performs an action that the first task needs. A typical example of a cooperative blocking operation is the task_group::wait method. If wait is invoked from within a running task, the task scheduler knows that the current task can't continue until all the tasks of the specified task group run to completion. Cooperative blocking provides a robust and highly programmable way to coordinate tasks.
Cooperative blocking provides a robust and highly programmable way to coordinate tasks.
Cooperative blocking can improve the performance of a parallel application by enabling fuller use of processor resources. A cooperatively blocked task represents an opportunity for the task scheduler to apply processor resources to other tasks. If you are going to use PPL effectively, it is important to understand the interaction of cooperative blocking with the task scheduler. For more information, see the "Task Scheduler" section of Appendix A, "The Task Scheduler and Resource Manager."
Invoking cooperative blocking acts as a hint to the scheduler that other work may be started or resumed.
You can also invoke any of the synchronization features of the operating system from within tasks. Using lower-level blocking operations of the operating system is sometimes called noncooperative blocking. If you do any type of blocking, you will need to consider whether cooperative or noncooperative blocking is most appropriate. In general, cooperative blocking has the advantage of better coordination with the task scheduler.
Cooperative blocking can improve the performance of a parallel application by enabling fuller use of processor resources.
The following table lists the most important operations that the runtime considers to be cooperative blocking operations. Note that these operations are not guaranteed to block every time they are called; instead, they have the potential to block if certain conditions exist. All of the classes are in the Concurrency namespace.
Cooperative blocking operation
task_group::wait method
This method blocks the current task until the tasks of another task group have completed their work.
critical_section::lock method
A critical section provides mutual exclusion. Acquiring the lock may block the current task if the lock is in use by another task. Only one task at a time can possess the lock.
critical_section::scoped_lock class constructor
An exception-safe way to acquire and release a critical section within a block of code is to define a critical_section ::scoped_lock at the beginning of that block.
reader_writer_lock::lock method
This method acquires a reader/writer lock for concurrency-safe modification of shared data. Calling the lock method will block the current task if a reader or reader/writer lock is already held by another thread.
reader_writer_lock::scoped_lock class constructor
An exception-safe way to acquire and release a reader/writer lock within a block of code is to define a reader_writer_lock:: scoped_lock at the beginning of that block.
reader_writer_lock::lock_read method
This method acquires a reader lock for concurrency-safe reading of shared data. The lock_read method may block the current thread if another thread holds the reader/writer lock. Unlike the reader/writer lock, more than one task may hold a reader lock at the same time.
reader_writer_lock::scoped_lock_read class constructor
An exception-safe way to acquire and release a reader lock within a block of code is to define a reader_writer_lock:: scoped_lock_read at the beginning of that block.
event::wait method
This method is a cooperatively blocking equivalent of a manual reset event. Invoking the event::wait method may block if the event has not yet been set.
agent::wait method
agent::wait_for_* methods
These methods block the current task until the agent instance completes its work.
wait(…) function
The Concurrency::wait function cooperatively blocks execution for a specified time interval.
Context::Block method
This method suspends the current context until it is cooperatively reenabled by another task's invocation of the Context::Unblock method. This operation is used by libraries to implement new task-coordination control structures. It is not normally used by application code.
Context::Yield method
This method suspends the current thread so that another worker thread may be given the opportunity to resume execution. Although Yield potentially suspends execution of the current thread, it never results in a blocked context. Therefore, Yield can only loosely be considered a blocking operation.
parallel_for, parallel_for_each and parallel_invoke functions
PPL's functions for parallel algorithms internally invoke blocking operations, such as the wait method.
send and asend functions
These functions transmit data to messaging blocks. In Microsoft® Visual Studio® 2010 SP1, the implementations of the send and asend functions sometimes invoke cooperative blocking, depending on certain internal system details. The asend function is expected to be nonblocking in future versions of the runtime.
receive function
This function gets a value from a messaging block. It may block if the messaging block does not yet have a value to provide.
Canceling a Task Group
You can signal cancellation by invoking the task group's cancel method. Here's an example:
Use the task_group::cancel method to signal cancellation of all tasks in a task group.
task_group tg; tg.run([](){ DoLeft(); }); tg.cancel(); // could be called from any thread wcout << L" Is canceling: " << tg.is_canceling() << endl; task_group_status status = tg.wait(); wcout << L" Status: " << status << endl;
Invoking a task group's cancel method causes the task group to transition to a state where its is_canceling method will return true. Tasks in the task group that have not yet started are not allowed to run. New tasks that are added to the task group by the run method are ignored after the cancel method has been called.
Tasks in the task group that have started before cancellation is signaled continue to run, but their behavior may change. If a task of a task group that is being canceled invokes any function in the Concurrency namespace, an exception may be thrown. For example, if a running task of a task group that is being canceled makes a call to another task group's wait method, an exception may be thrown by the runtime. The specific set of functions in the Concurrency namespace that will throw exceptions when a task group is undergoing cancellation and the specific set of circumstances that will cause such exceptions to be thrown are intentionally not specified. Therefore, your application logic should not depend on whether any particular library function throws or does not throw an exception when a task group is being canceled.
|You must ensure that your task work functions are exception safe. Use the Resource Acquisition is Initialization (RAII) pattern for automatic cleanup.
In the current version of PPL, canceling a task group with cooperatively (or noncooperatively) blocked tasks may result in deadlock in certain cases. For example, consider the case where you create two tasks in a task group that share an instance E of the cooperatively blocking event class. One of the tasks calls the wait method of event E, and the other task calls the signal method of event E. If the task group's cancel method is called while the first task is blocked waiting for event E but before the second task has started to execute, there will be no way for the wait condition of the first task to be satisfied.
|Use extreme caution if you mix blocking operations other than task_group::wait with task group cancellation. In such cases you must ensure that all possible code paths are deadlock free.
Cancellation will automatically propagate across task groups in certain situations. For example, cancellation will be propagated if a task in task group A is waiting for the tasks of task group B to complete. In this situation, if task group A's cancel method is called before the call to task group B's wait method completes, then the runtime also invokes task group B's cancel method. The task in task group A that is waiting on task group B remains blocked until task group B has no more running tasks. At that time, the call to task group B's wait method will throw an exception. (Of course, if task group B is very fast, its wait function might return normally before there is a chance to propagate a cancellation from task group A.)
Note that the runtime only returns the enumerated value canceled for the wait method of the top-most task group in a tree of dependent task groups. The other stack frames will have an internal exception passed through them.
A cancellation request automatically propagates to another task group if a call to that group's wait method is blocking any of the tasks of a task group that is being cancelled.
Long-running tasks can use the is_canceling method to poll their task group for its cancellation status and shut themselves down if cancellation has been requested. The is_canceling method might also be used if you need to perform local cleanup actions for a task that's in the process of being canceled. When the task group returns from a call to its wait method, its state is reset and its is_canceling method thereafter returns false.
Returning from the task_group::wait method returns a task group object to its initial, default state. The task group has the same behavior as if it were newly created.
Checking for cancellation within a loop that has many iterations that each performs a small amount of work can negatively affect your application's performance. On the other hand, checking only infrequently for cancellation can introduce unacceptable latency in your application's response to cancellation requests. For example, in an interactive GUI-based application, checking for cancellation more than once per second is probably a good idea. An application that runs in the background could poll for cancellation less frequently, perhaps every two to ten seconds. Profile your application to collect performance data that will help you determine the best places to test for cancellation requests in your code. In particular, look for places in your code where you can poll for cancellation at evenly spaced intervals. For more information about profiling, see "Appendix B, Profiling and Debugging."
Handling Exceptions
If the execution of a task's work function throws an unhandled exception, the unhandled exception is temporarily unobserved by your application. The runtime catches the exception and records its details in internal data structures. Then, the runtime cancels the task group that contains the faulted task. See the previous section, "Canceling a Task Group," for more information about what happens during task group cancellation. Under certain conditions, the cancellation is automatically propagated to other task groups.
When a task of a task group throws an unhandled exception, the runtime cancels that task group. The task group's is_canceling method returns true during the course of the shutdown.
Recovering a deferred exception and rethrowing it is known as "observing an unhandled task exception." When all of the tasks in the task group have completed, the task_group::wait method rethrows the faulted task's exception in the runtime context of the thread that invoked the wait method. If there is more than one exception (that is, if more than one task threw an unhandled exception), the runtime will choose one of the exceptions to rethrow. The remaining exceptions will not be observed.
|Be aware that if more than one task throws an exception, only one of the exceptions will be observed by the task_group::wait method. You can't control which exception will be rethrown.
If you need to record all of the exceptions, you can implement custom logging or tracing code.
Speculative Execution
Speculative execution occurs when you perform an operation in anticipation of a particular result. For example, you might predict that the current computation will produce the value 42. You start the next computation, which depends on the current computation's result, by using 42 as the input. If the first computation ends with 42, you've gained parallelism by successfully starting the dependent operation well in advance of when you otherwise could have. If the first computation results in something other than 42, you can restart the second operation using the correct value as the input.
Another example of speculative execution occurs when you execute more than one asynchronous operation in parallel but need just one of the operations to complete before proceeding. Imagine, for example, that you use three different search tasks to search for an item. After the fastest task finds the item, you don't need to wait for the other searches to complete. In cases like this you wait for the first task to complete and usually cancel the remaining tasks. However, you should always observe any exceptions that might have occurred in any of the tasks.
Use task cancellation as a way to wait for at least one task in a set of tasks to complete.
You can use the task_group::cancel method to implement speculative execution. Here's an example.
task_group tg; tg.run([&tg](){ SearchLeft(tg); }); tg.run([&tg](){ SearchRight(tg); }); tg.run_and_wait([&tg](){ SearchCenter(tg); });
In this example, you perform three searches in parallel. You want to continue if any of the three functions completes. You don't need to wait for all of them. To make this possible, the code passes a reference to the task group object to each of the work functions. Inside of the work functions, the code cancels the task group when it completes its work. The following code shows how to accomplish this inside of the SearchLeft function.
void SearchLeft(task_group& tg) { bool result = DoCpuIntensiveOperation(g_TaskMilliseconds/5, &tg); wcout << L" Left search finished, completed = " << result << endl; tg.cancel(); }
The long-running function, DoCpuIntensiveOperation, checks for the cancellation status. This is shown in the following code.
bool DoCpuIntensiveOperation(DWORD milliseconds, task_group* tg = nullptr) { // ... int i = 0; DWORD checkInterval = ... while (true) { if ((milliseconds == 0) || (++i % checkInterval == 0)) { if (tg && tg->is_canceling()) return false; } // ... } }
The body of the while loop periodically checks to see if the task group, tg, has received a cancellation request. For performance reasons the code only polls at a specified number of loop iterations.
Here are some things to watch out for when you use task groups.
Variables Captured by Closures
In C++, a closure can be created using a lambda expression that represents an unnamed (anonymous) function. Closures can refer to variables defined outside of their lexical scope, such as local variables that were declared in a scope that contains the closure.
The semantics of closures in C++ may not be intuitive to some programmers, and it's easy to make mistakes. If you code your closure incorrectly, you may find that captured variables don't behave as you expect, especially in parallel programs.
Problems occur when you reference a variable without considering its scope. Here's an example.
task_group tg; for (int i = 0; i < 4; i++) { // WARNING: BUGGY CODE, i has unexpected value tg.run([&i]() { wcout << i << endl; } ); } tg.wait();
You might think that this code sample would print the numbers 1, 2, 3, 4 in some arbitrary order, but it can print other values, depending on how the threads happen to run. For example, you might see 4, 4, 4, 4. The reason is that the variable i is captured by reference and shared by all the closures created by the steps of the for loop. By the time the tasks start, the value of the single, shared variable i will probably be different from the value of i when the task was created.
The solution is to capture the variable by value in the appropriate scope.
task_group tg; for (int i = 0; i < 4; i++) { tg.run([i]() { wcout << i << endl; } ); } tg.wait();
This version prints the numbers 1, 2, 3, 4 in an arbitrary order, as was originally intended. The reason is that the value of the variable i is passed to the closure. Effectively, a new variable named i is instantiated with each iteration of the for loop.
|It's a good idea to make sure that every lambda expression uses explicit capture instead of implicit capture.
Unintended Propagation of Cancellation Requests
If you use a library that is implemented with PPL, the API calls into that library may create task groups that are internal to the library. If you call that library's APIs from a task context within your application, you might unintentionally create a situation where a task of your application's task group is waiting on a task group inside of the library's implementation. According to the behavior described in the "Canceling a Task Group" section, if you invoke the cancel method of a task group in your application, you may implicitly cause the cancellation of task groups that were created by the library you are calling. Transitive propagation of cancellation into another component's internal task groups may not be the behavior you intend; in some cases, you may prefer that library functions run to completion even though a higher-level component is beginning to shut down.
|Be aware that implicit parent-child relationships can influence the behavior of cancellation and exception handling, especially with libraries.
You avoid cases of unintended propagation of runtime context by using a neutral, non-PPL thread context to call into any library functions that may depend on task group wait operations. For example, you could use a lightweight task to invoke library functions. A lightweight task is a lower-level type of task that does not result in the propagation of cancellation requests. They are described in Appendix A.
The Cost of Synchronization
Locks and other synchronization operations are sometimes necessary in parallel programs. However, programmers often underestimate how much serializing operations can degrade performance.
|To avoid performance bottlenecks, review your use of locks and other synchronization operations carefully.
You may want to review the "Scalable Sharing of Data" section of Chapter 1, "Introduction" for guidance on how to factor synchronization into the design of your application. Well-designed applications require explicit synchronization operations less often than poorly designed applications.
Design Notes
This section describes some of the design considerations that were used to create the Parallel Patterns Library, along with some recommended coding practices.
Task Group Calling Conventions
Whenever you call a task group's run method, you must subsequently call its wait method and allow that call to return before you destroy the task group. Otherwise, the runtime will throw a "missing wait" exception. The missing wait exception only occurs in the normal flow of execution; it will not be thrown if you unwind the stack due to an application exception. Therefore, you do not need an RAII wrapper that calls the wait method.
The task_group class's methods are all concurrency safe, so there are many ways to invoke these methods. However, no matter which method you choose, you must make sure a return from a call to the task group's wait method is the last operation that happens in the normal (no exceptions thrown) execution path before allowing a task group's destructor to run.
If a task group's wait method is called from multiple contexts, and you interleave these calls with calls to the task group's run method, be aware that the results may vary from run to run. For example, it is possible to call a task group's wait method concurrently from two different contexts. If there are pending tasks in the task group, both invocations of task_group::wait will return only after the task group has completed all of its pending tasks. However, if the task group is canceled while the tasks are running, only one of the wait functions will return the canceled status value. The other invocation will return a normal status, due to interleaving. (Returning from the wait method resets the task group's is_canceling status as a side effect; whichever invocation returns first will perform the reset.)
Tasks and Threads
When a task begins to run, the applicable task scheduler invokes the task's work function in a thread of its choosing.
The task will not migrate among threads at run time. This is a useful guarantee because it lets you use thread-affine abstractions, such as critical sections, without having to worry, for example, that the EnterCriticalSection function will be executed in a different thread than the LeaveCriticalSection function.
In general, creating a new task is a much less resource-intensive operation than creating a new thread. It is possible for an application to create hundreds of thousands or even millions of tasks and still run efficiently.
You may want to profile your application as you experiment with strategies for using tasks in your application. If your tasks are too fine grained, you will incur overhead for task management that may hurt performance. For example, a task that performs a single arithmetic operation is not going to improve performance. However, if you decompose your application into too few tasks, you will not fully exploit the potential parallelism of the application.
How Tasks Are Scheduled
The techniques for scheduling tasks and scheduling threads demonstrate fundamentally different goals. The operating system generally schedules threads in a way that minimizes latency. Preemptive thread scheduling allows users to interact with a busy system with very little perceived delay, even on a system with only one core.
In contrast, the task scheduler tries to maximize overall throughput rather than ensure low latency for any given task. In other words, when you decompose a computationally intensive operation into tasks that can potentially run in parallel, you want to complete the overall operation as quickly as possible without concern for the scheduling delays that any given task might experience. For task-based systems such as PPL and the underlying Concurrency Runtime, the measure of success is the speed of the overall result. The goal is to optimize the use of processor resources.
For these reasons you should not expect that tasks in PPL are scheduled "fairly." Instead, a variety of techniques are used to improve throughput. These techniques mainly focus on keeping cores busy and on an effective use of system caches. For more information about scheduling, see Appendix A, "The Task Scheduler and Resource Manager."
There are a number of options available that allow you to control how the scheduler deals with tasks. See "Schedule Policies" in Appendix A for more information.
Structured Task Groups and Task Handles
In addition to the task_group class, PPL also provides a lower-level interface called the structured_task_group class, which is documented on MSDN®.
Structured task groups have lower overhead than the task groups, but there are restrictions on how structured task groups can be used. These restrictions require stack-based work functions and strict nesting of subordinate structured task groups. Although the task groups are recommended for most application programming, structured task groups are important for implementing parallel libraries. For example, the PPL parallel_invoke function is implemented with structured task groups. The parallel_invoke function is usually enough in cases of strict nested parallelism, and because it is much easier to use than structured task groups, you probably won't ever need to use structured task groups directly.
PPL includes a data type named the task_handle class. It encapsulates a work function used by a task. One of the overloaded versions of the task_group class's run method accepts a task handle as its argument. Task handles are created by means of the make_task function. Most applications will never need access to task handles; however, you must use task handles with structured task groups. Unlike lambda expressions, task handles require explicit memory management by your application.
Lightweight Tasks
In addition to the task_group objects that were described in this chapter, the Concurrency Runtime provides lower-level APIs that may be useful to some programmers, especially those who are adapting existing applications that create many threads. However, in general it is recommended that programmers start with the Parallel Patterns Library (PPL) or the Asynchronous Agents Library.
See the "Lightweight Tasks" section of Appendix A, "The Task Scheduler and Resource Manager" for more information.
- The image blender example in this chapter uses task parallelism: a different task processes each image layer. A typical strategy in image processing uses data parallelism: the same computation processes different portions of an image or different images. Is there a way to use data parallelism in the image blender example? If there is, what are the advantages and disadvantages, compared to the task parallelism discussed here?
- In the image blender sample, the image processing methods SetToGray and Rotate are void methods that do not return results, but they save their results by updating their second argument. Why don't they return their results?
- In the image blender sample that uses task_group::run method, what happens if one of the parallel tasks throws an exception? Answer the same question for the sample that uses the parallel_invoke function.
Further Reading
Leijen et al. discusses design considerations, including the concepts of task-based scheduling and work stealing algorithms.
The code samples for the Concurrency Runtime and Parallel Pattern Library package is ConcRTExtras on CodePlex.
Leijen, D., W. Schulte, and S. Burckhardt. "The Design of a Task Parallel Library." S. Arora and G.T. Leavens, editors, OOP-SLA 2009: Proceedings of the 24th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 227–242. ACM, 2009.
ConcRTExtras software. "Code Samples for the Concurrency Runtime and Parallel Pattern Library in Visual Studio 2010." http://code.msdn.microsoft.com/concrtextras.
Last built: March 9, 2012


text:
Shortcut Rugelach
Rugelach are usually made with a cream-cheese dough that's rolled into a crescent shape around a filling. This simplified version uses prepared puff pastry, and the results are every bit as good, in half the time.
Total Time:
Level: Moderate
Yield: 4 dozen cookies
Advertisement - Continue Reading Below
- 1 package frozen puff-pastry sheets
- 1 c. dark seedless raisins
- 0.67 c. walnuts
- 0.67 c. sugar
- 1 tsp. ground cinnamon
- 1 large egg white
- Remove 1 puff-pastry sheet from freezer; let stand at room temperature, about 20 minutes, to thaw as label directs.
- While pastry is thawing, in food processor with knife blade attached, blend raisins, walnuts, 2/3 cup sugar, and 3/4 teaspoon cinnamon until raisins and walnuts are finely chopped.
- In small bowl, lightly beat egg white with 1 teaspoon water. In another small bowl, mix 2 teaspoons sugar with 1/4 teaspoon cinnamon. Set both bowls aside.
- Preheat oven to 375 degrees F. Grease large cookie sheet. Remove second puff-pastry sheet from freezer; thaw as above.
- Meanwhile, on lightly floured surface, with floured rolling pin, roll thawed puff-pastry sheet into a 14- by 12-inch rectangle. Cut pastry crosswise in half to make two 7- by 12-inch rectangles. Divide raisin mixture into fourths. Sprinkle one-fourth of raisin mixture (rounded 1/2 cup) on 1 rectangle, leaving 3/4-inch border along a 12-inch side. Repeat with another one-fourth of raisin mixture on second rectangle. Lightly brush border on each rectangle with some egg-white mixture. Roll each pastry rectangle, jelly-roll fashion, starting from 12-inch side with filling; pinch seam to seal.
- Brush rolls with some egg-white mixture, and sprinkle with half of sugar-cinnamon mixture. Cut each roll crosswise into 12 (about 1-inch-thick) pieces. Place pieces, about 1 1/2 inches apart, seam side down on cookie sheet. Bake cookies 15 to 17 minutes, until puffed and golden. With pancake turner, remove cookies to wire rack to cool. Repeat, using second puff-pastry sheet and remaining ingredients. Store cookies in tightly covered container.
What do you think?
How to Make a Liberty Bell Cake
Let freedom ring with this fun party centerpiece.
How to Make an Uncle Sam Hat Cake
Because America's birthday deserves a little something special.
Wish Bone Recalls Ranch Dressing Due to a Dangerous Mistake
Double-check your dressing, everyone.
More From Food & Recipes

subset: commoncrawl


text:
Originally written on WSU Football Blog | Last updated 12/24/12
Um, Yeah, It's Getting Weird Happy X-mas Eve Cougs, and of course we hope you and yours enjoy your holiday wherever you happen to be on this fine day. So there's not a heck of a lot going on in the Coug-a-verse, but we did round up a few things for you.....so here we go: Is there any doubt that the Seahawks are the hot story right now? And not just in Seattle or the NW, but really in the NFL they are getting the kind of pub you just normally don't see in "South Alaska" way the hell up here! Peter King even tweeted out this AM that the Seahawks were, well, check it out: The Seahawks look like the '27 Yankees. — Peter King (@SI_PeterKing) December 24, 2012 Crazy talk, I know. But when you basically pummel into oblivion the team everyone said was the best, most complete team in the NFL a week ago? And you do it on national TV, when you know the eyeballs were up about 10-fold compared to the amount of people who actually watch the Seahawks play? You ar...
Comments are closed.
What do you think?To leave a comment, you can:
All Sports News
Delivered to your inbox
You'll also receive Yardbarker's daily Top 10, featuring the best sports stories from around the web. Customize your newsletter to get articles on your favorite sports and teams. And the best part? It's free!
Follow us on Twitter
|Best of Yardbarker
|NFL News
|MLB News
Today's Best Stuff
For Bloggers
Join the Yardbarker Network for more promotion, traffic, and money.
Company Info
What is Yardbarker?
Yardbarker is the largest network of sports blogs and pro athlete blogs on the web. This site is the hub of the Yardbarker Network, where our editors and algorithms curate the best sports content from our network and beyond.
|© 2015 Yardbarker, Inc. All rights reserved. Use of this website (including any and all parts and components) constitutes your acceptance of these Terms of Use and Privacy Policy. (What's New?)


text:
The Bay 2012 R
Amazon Instant Video
|Science Fiction, Thriller, Horror
|Barry Levinson
|Nansi Aluka, Christopher Denham
|Supporting actors
|Stephen Kunken, Frank Deal, Kether Donohue, Kristen Connolly, Will Rogers, Kimberly Campbell, Beckett Clayton-Luce, Dave Hager, Tara Polhemus, Sean Johnson, Murat Erdan, Lamya Jezek, Lucia Forte, Stacy Rabon, Charles Weaver, Keyla S. Childs, Justin Welborn, Rick Benjamin
|MPAA rating
|R (Restricted)
|Captions and subtitles
|English Details
|Rental rights
|24 hour viewing period. Details
|Purchase rights
|Stream instantly and download to 2 locations Details
|Amazon Instant Video (streaming online video and digital download)
Told through the lenses of multiple television reporter footage, video camera's ranging from surveillance, camcorder and web cam footage there are a host of doomed characters in... Read morePublished 29 days ago by A Southern Horror Fan
Great ! Don't drink or swim in the water ! Makes you think what is in our water ? Loved the way this move was done . A little horror and drama.Published 1 month ago by Sonia Howells Comise
Thought I would enjoy it but put it on twice and fell asleep twice . Great for people who have trouble falling asleepPublished 1 month ago by Susan Hill
After a myriad of found footage or in verité style shot movies I'm really sick of it all. It was a pleasant surprise to see a film (especially one from director Barry... Read morePublished 1 month ago by Hellseeker
I was super happy to find this movie at an affordable price! Its a must SEE PPLPublished 1 month ago by Jordan moon


text:
SPENSER'S House of Busyrane, like his earlier Castle Joyous, is an art gallery, anticipating in lavish detail Tennyson Palace of Art. But the display is tapestry rather than painting. The loves of the gods are hung around the walls--Jove's affairs with Helle, Antiope, Europa, Leda, Danaë, Semele, Alcmene; Apollo's pursuit of Daphne; Mars and Venus; some eighteen stanzas in all. For such tapestries he finds ample precedents among earlier poets, especially Ovid,1 who was an inexhaustible source of pictorial matter to all the Renaissance painters, tapestry makers, poets. The central focus for tapestry in Ovid is the Arachne episode in Metamorphosis 6, which Spenser retells with considerable freedom in Muiopotmos.
The extraordinary sense of texture in the Busyrane hangings has been often observed:
Woven with gold and silke so close and nere,
That the rich metall lurked privily,
As faining to be hid from envious eye;
Yet here, and there, and every where unwares
It shewd it selfe, and shone unwillingly;
Like a discolourd Snake, whose hidden snares
Through the greene grass his long bright burnisht back
These tapestries are part of the evil though beautiful magic (the snake image is warning) that vanishes when Britomart breaks the spell; but nothing magical is intended in the hangings of Mercilla's House, where the quality of workmanship and texture is equally rare:


text:
Thanks for redeeming.{{else}}
Success! Thanks for repurchasing.{{/if}} {{else}} {{#if Expired}}
Increase my visibility!{{else}} {{#if IsMultiPack}}
{{#if HasMultiPack}} You have {{MultiPackCount}} top spot(s) left. Now loading you into the search listings... {{else}} You have used all top spots. Now loading you into the search listings... {{/if}}{{else}}
We are loading you into the search listing pages...{{/if}} {{/if}} {{/if}} {{/if}}
{{Current}} just saw you!{{/if}} {{#if LastTopSpotPurchaseIsMulti }} {{#if HasAnyTopSpot}}
{{#if HasFreeTopSpot }} {{ UnclaimedTopSpotFree }} Free {{/if}} {{#if HasPaidTopSpot }} {{#if HasFreeTopSpot }} & {{/if}} {{ MultiPackCount }} {{/if}} Top Spot{{#if Plural}}s{{/if}} Left{{else}}
0 Top Spot{{#if Plural}}s{{/if}} Left{{/if}} {{else}} {{#if HasFreeTopSpot }}
{{ UnclaimedTopSpotFree }} Top Spot{{#if Plural}}s{{/if}} Left{{/if}} {{/if}} {{else}} {{#if HasResults}}
{{Current}} see you now!{{else}} {{/if}} {{/if}}
You can now invite anyone to meet at your favorite Starbucks.
Limited-time feature
37 year old woman | Canton, OH, USA | Seeking women 25-40 within 50 miles
Active within 1 week
I like women who enjoy being women.
Im a person who loves to smile and I enjoy making others smile. I am honest to a fault and expect the same. My family and friends are everything to me. I want someone in my life that when I'm feeling like singing in the car (badly) they sing along with me. Someone I can have a serious conversation with one moment then be a funny goofball the next. I want to dance with someone and forget we are not the only people in the room. I play sports and like doing anything outside. Im a little bit sarcastic but not til you get to know me. I just want to find someone that makes every day special even if we do nothing
Coffee and conversation , Cooking , Movies/Videos , Museums and art , Exploring new areas , Playing sports , Political interests , Religion/Spiritual
Baseball, Cycling, Golf, Other types of exercise, Walking / Hiking
I exercise 3-4 times per week.
I have Cats
I love the beach. Anything to do with warm weather and water Im in!!
Favorite things....I have lots of favorites.
I actually enjoy wandering home improvement stores to get ideas for my house and get help from the people that work there on whatever project i started. I like going to auctions...its amazing the great things you can find.
Z{{Cta}} {{#if HasMoreInfo}} ?{{CtaSecondary}} {{/if}}
|What she is looking for
|5'5" (165cms)
|5'3" (160cms) to 6'0" (182cms)
|Body type:
|I'll tell you later
|No preference
|I'll tell you later
|No preference
|Light brown
|No preference
|No preference
|Social Drinker
|Social Drinker
|Retail / Food services
|No preference
|$35,001 to $50,000
|No preference
|Never Married
|Never Married
|Have kids:
|No preference
|Wants kids:
|No preference
|White / Caucasian
|Asian, Latino / Hispanic, White / Caucasian
|Christian / Other
|No preference
|No preference
|Some college
|High school, Some college


text:
Lodge trips combine a scenic setting and outdoor activities with the comforts of home, all at a budget-friendly price. After playing outdoors each day, trip participants return to hot showers, a warm bed, and wholesome, hearty meals. Some trips take place at the Sierra Club's own, while others are based in cozy cabins, guest houses, or small hotels.
Each trip offers its own unique mix of activities including dayhikes, nature walks, visits to local attractions, yoga, and wine tasting, so you're sure to find an experience that's right for you.
Puffins, Whales, and Coastal Trails: Hiking Newfoundland's East Coast Trail, Canada, Jul 11–18, 2015.
Hike a pristine wilderness of rocky cliffs, enchanted forests, sea meadows, and secluded coves. We'll see wildflowers and nesting seabirds, kayak in a protected bay, take a Zodiac boat ride, and tour a 175-year-old lighthouse. More »
Hikes and Bites: A Farm-Fresh Food Tour in Vermont, Jul 26–Aug 1, 2015.
On this culinary sampler, we'll hike and bike along a 25-mile path between visits to breweries, wineries, farms, and cheese makers. In the evenings, we'll enjoy gourmet meals and accommodation at small country inns. More »
Whales, Water, and Wildlife of the San Juan Islands, Washington, Aug 2–7, 2015.
Immerse yourself in the diversity of the San Juans, from rocky beaches and mountain peaks to bald eagles and boisterous orca whales. We'll kayak, hike, cruise and visit a variety of historic and natural attractions. More »
Amazing Acadia and the Rockbound Coast of Maine, Sep 13–19, 2015.
Discover the grandeur of Acadia National Park after the summer crowds have left. Our trip will feature hikes on mountains and along rugged shoreline; a kayak tour of Frenchman's Bay; a visit to an island nature preserve; and scrumptious local cuisine. More »
Tracks Across the Sierra, Tahoe National Forest, California, Sep 27–Oct 4, 2015.
Explore the annals of travel across the Sierra as we retrace historic routes by train, van, and foot. We'll examine archaeological evidence, speak with local historians, and learn about epic efforts to connect California to the East via overland routes. More »
Autumn Glory in Great Smoky Mountains National Park, Tennessee, Oct 18–23, 2015.
Explore the magnificent Smokies under towering strands of hardwood forest during the season of spectacular fall colors. Each day will offer at least two hike distances and evenings will include campfire programs, music, and storytelling. More »
Puerto Rico: From the Coast to the Mountains, Nov 8–15, 2015.
Puerto Rico is a land of natural beauty with a rich history. During our stary, we'll visit a unique tropical dry forest, bird sanctuary, and ecological coffee plantation; swim and kayak beside bountiful beaches; and stay at quaint hotels. More »
Sun, Service and Whales, Maui, Hawaii, Jan 3–10, 2016.
Celebrate the New Year on a service project brimming with Hawaiian culture, storytelling, and dirt! We'll work in a remote west-Maui valley and take a day for snorkeling and whale watching. More »


text:
How did three Danes end up being tortured in Lebanon?
What a crisis has done to the people of Greece
27 Jun 2014 02:10 GMT | Europe
European Union leaders have come together in the Belgian town of Ypres to mark one hundred years since the start of World War One.
During the war the area around Ypres saw the worst of the carnage of trench warfare.
Al Jazeera's Simon McGregor-Wood report from Ypres, Belgium.
Source: Al Jazeera
As world leaders call each other 'Nazis' and 'fascists', clarity is needed on the application of international law.
Politics, US & Canada, Armenia, Iran, Iraq
A controversial memorial to Germany's occupation of Hungary has split society and sparked daily protests.
Politics, US & Canada, Hungary, United States
Changing climate, unpredictable rains dry out the land, threaten the pastoral way of life in Somaliland.
Poverty & Development, Environment, Africa
Tensions rise as Greeks from both side of the bailout debate take to the streets to withdraw money and express angst.
Politics, Europe, Greece
The world's biggest producer and consumer of the metal sees a golden opportunity to expand its pricing power.
Business & Economy, Asia, China
Normalised Cuba-US relations could result in a hybrid economic model blending socialism and entrepreneurial spirit.
Business & Economy, Communism, Politics
Essebsi declares state of emergency after beach massacre, saying country is 'in a state of war' due to continued threat.
War & Conflict, ISIL, Tunisia, Middle East
Footage shows teenagers shooting dead 25 Syrian soldiers in front of relatively sparse crowd of men and some children.
War & Conflict, Syria, ISIL
An inside look at the devastating impact of the Greek financial crisis on ordinary citizens.
Business & Economy, Europe, Greece
Can Afghan archaeologists take on the Chinese and the Taliban to save a 5,000-year-old archaeological site?
Arts & Culture, Asia, Afghanistan
In war-torn Afghanistan it is not the Taliban that poses the greatest threat to women - it is their own families.
Human Rights, Women, Afghanistan
After decades of tension and hostility between the two nations, has change finally come to US-Cuba relations?


text:
Pelton: Breaking down Day 2 free-agent deals
D-Wade and the Heat compromised, the Bucks upgraded with Greg Monroe and the Mavs took a risk with Wesley Matthews. Kevin Pelton sorts through the second day of free agency.
Top Headlines
- Sources: Aldridge, Lakers meet for second time
- Sources: Wizards, Spurs at top of West's list
- Sources: Matthews, Mavericks strike 4-year deal
- Talks with Arisons drove Wade to stay with Heat
- Duncan confirms he's returning for 19th season
- Sources: R. Lopez picks Knicks, with stipulation
- Pelton: Phoenix dumps salary to woo Aldridge


text:
VIEWS: 0 PAGES: 18 CATEGORY: Lifestyle POSTED ON: 5/21/2010 Public Domain
The Supreme Court Cases Tyler Smith Matt Cunningham Incorporation Barron v. Baltimore (1833) Palko v. Connecticut (1937) Barron v. Baltimore February 16, 1833 Facts Constitutional Questions John Barron was co-owner Does the Fifth Amendment of a profitable wharf in deny the states as well as the harbor of Baltimore. the national government As the city developed and the right to take private expanded, large amounts property for public use of sand accumulated in without justly the harbor, depriving compensating the Barron of the deep property's owner? waters which had been the key to his successful business. He sued the city to recover a portion of his financial losses. Barron v. Baltimore Decision No. The Court announced its decision in this case without even hearing the arguments of the City of Baltimore. Writing for the unanimous Court, Chief Justice Marshall found that the limitations on government articulated in the Fifth Amendment were specifically intended to limit the powers of the national government. Citing the intent of the framers and the development of the Bill of Rights as an exclusive check on the government in Washington D.C., Marshall argued that the Supreme Court had no jurisdiction in this case since the Fifth Amendment was not applicable to the states. Unanimous decision Palko v. Connecticut December 6, 1937 Facts of the Case: Charged with First Degree Murder Convicted of Second Degree Murder Sentenced to Life in Prison State of Connecticut appealed and won a new trial Palko convicted of First Degree Murder Sentenced to the Death Penalty Question of the Case: Does Palko's second conviction violate the protection against double jeopardy guaranteed by the Fifth Amendment because this protection applies to the states by virtue of the Fourteenth Amendment's due process clause? Palko v. Connecticut Supreme Court Decision: Supreme Court upheld Palko's second conviction. He noted that some Bill of Rights guarantees--such as freedom of thought and speech--are fundamental, and that the Fourteenth Amendment's due process clause absorbed these fundamental rights and applied them to the states. Protection against double jeopardy was not a fundamental right. Palko died in Connecticut's gas chamber in April 1938. Freedom of Religion Wallace v. Jaffree (1985) Westside Community Schools v. Mergens (1990) Wallace v. Jaffree June 4, 1985 Facts Constitutional Questions An Alabama law authorized Did Alabama law violate the teachers to conduct First Amendment's regular religious prayer Establishment Clause? services and activities in school classrooms during the school day. Three of Jaffree's children attended public schools in Mobile. Wallace v. Jaffree Decision Yes. The Court determined the constitutionality of Alabama's prayer and meditation statute by applying the secular purpose test, which asked if the state's actual purpose was to endorse or disapprove of religion. The Court held that Alabama's passage of the prayer and meditation statute was not only a deviation from the state's duty to maintain absolute neutrality toward religion, but was an affirmative endorsement of religion. As such, the statute clearly lacked any secular purpose as it sought to establish religion in public schools, thereby violating the First Amendment's Establishment Clause. Vote 6 to 3 Westside Community Schools v. Mergens June 4, 1990 Facts of the Case: Westside High School administration denied permission to a group of students to form a Christian club with the same privileges and meeting terms as other Westside after-school student clubs Cited the Establishment Clause Mergen and other students sued after the school board upheld the administration's denial The students alleged that Westside's refusal violated the Equal Access Act Requires that schools in receipt of federal funds provide "equal access" to student groups seeking to express "religious, political, philosophical, or other content" messages On appeal from an adverse District Court ruling, the Court of Appeals found in favor of the students Westside Community Schools v. Mergens Questions of the Case: Was Westside's prohibition against the formation of a Christian club consistent with the Establishment Clause, thereby rendering the Equal Access Act unconstitutional? Supreme Court Decision: The Court held that since Westside permitted other noncurricular clubs, it was prohibited under the Equal Access Act from denying equal access to any after- school club based on the content of its speech. Freedom of Speech and Press Near v. Minnesota (1931) Near v. Minnesota June 1, 1931 Facts of case Constitutional Question Jay Near published a scandal sheet in Minneapolis, in which he attacked Does the Minnesota "gag local officials, charging that they law" violate the free press were implicated with gangsters. provision of the First Minnesota officials obtained an injunction to prevent Near from Amendment? publishing his newspaper under a state law that allowed such action against periodicals. The law provided that any person "engaged in the business" of regularly publishing or circulating an "obscene, lewd, and lascivious" or a "malicious, scandalous and defamatory" newspaper or periodical was guilty of a nuisance, and could be enjoined (stopped) from further committing or maintaining the nuisance. Near v. Minnesota Decision The Supreme Court held that the statute authorizing the injunction was unconstitutional as applied. History had shown that the protection against previous restraints was at the heart of the First Amendment. The Court held that the statutory scheme constituted a prior restraint and hence was invalid under the First Amendment. Thus the Court established as a constitutional principle the doctrine that, with some narrow exceptions, the government could not censor or otherwise prohibit a publication in advance, even though the communication might be punishable after publication in a criminal or other proceeding. Equal Protection of Laws – Minorities Lawrence v. Texas (2003) Lawrence v. Texas June 26, 2006 Facts of the Case: Responding to a reported weapons disturbance in a private residence, Houston police entered John Lawrence's apartment and saw him and another adult man, Tyron Garner, engaging in a private, consensual sexual act Lawrence and Garner were arrested and convicted of deviate sexual intercourse in violation of a Texas statute forbidding two persons of the same sex to engage in certain intimate sexual conduct. the State Court of Appeals held that the statute was not unconstitutional under the Due Process Clause of the Fourteenth Amendment and Bowers v. Hardwick Lawrence v. Texas Questions of the Case: Do the criminal convictions of John Lawrence and Tyron Garner under the Texas "Homosexual Conduct" law, which criminalizes sexual intimacy by same-sex couples, but not identical behavior by different-sex couples, violate the Fourteenth Amendment guarantee of equal protection of laws? Do their criminal convictions for adult consensual sexual intimacy in the home violate their vital interests in liberty and privacy protected by the Due Process Clause of the Fourteenth Amendment? Should Bowers v. Hardwick, 478 U.S. 186 (1986), be overruled? Lawrence v. Texas Supreme Court Decision: the Court held that the Texas statute making it a crime for two persons of the same sex to engage in certain intimate sexual conduct violates the Due Process Clause. "Their right to liberty under the Due Process Clause gives them the full right to engage in their conduct without intervention of the government. The Texas statute furthers no legitimate state interest which can justify its intrusion into the personal and private life of the individual." The Court overruled Bowers.
Pages to are hidden for
"The Supreme Court Cases"Please download to view full document


text:
- 63Promote
Art Print
golden no. 3by Shannonblue
Collect your choice of gallery quality Giclée, or fine art prints custom trimmed by hand in a variety of sizes with a white border for framing.
Oh, wow!
i love your work so much! ;) and i already recognize it in the middle of all the others!
Thanks so much!
just lovely!
A wonderful image
Love, love! I tried to get a shot like this months back and was never satisfied- but you rocked it!
Thanks, everyone!
Superb color.
Thank you!
Very pretty tones :)
Wonderful shot!
Beautiful colors & bokeh.
See More Comments


text:
Ugh sometimes I just want to pull my hair out! My son gets anxiety really bad at some things and one of the things is loud noises. He hates the sound of a public toilet flushing and he always has to cover his ear. Loud music freaks him out, loud car engines, etc.
Well his teacher told the class today that they're having a fire drill tomorrow and the whole way home from school that's all he talked about. He doesn't want to go to school tomorrow, his ears are going to get blown off, its going to be so scary, yadda yadda yadda. I'm serious this will be obsessed about all night.
What do I do? He's NOT staying home from school tomorrow because of a fire drill. Do I say something to the teacher? Just maybe to give him a one minute warning or something? The thing I'm worried about with that is he will probably be upset for that minute leading up to the drill. Do I just try to alleviate his fears tonight?
I don't want to have a special snowflake and I really don't want to have him labeled in school (he punched a kid yesterday, I posted earlier about it).
His kindergarten teacher and I were really hoping his anxiety would get better over the summer but I can already tell after this last week we're headed for an IEP (which I was hoping to avoid)


text:
16 years of experience
16 years of experience
Memorial Hospital - Fairfield
4700 Waters Ave
Savannah, GA 31404 Phone number & directions
4700 Waters Ave
Savannah, GA 31404 Phone number & directions
License & Identifications
A medical license is required for a doctor to practice medicine in a particular state. Requirements vary by state but most require, at a minimum, post-graduate training in the doctor's specific specialty. An NPI number is a national identifier unique to an individual health care provider and is managed by the Center for Medicare & Medicaid Services (CMS).
Learn more about Dr. Gregory Federowicz:
View the full profile to get information on:
- Qualifications
- What's important to you
View full profile
Patient Reviews
Have you visited Dr. Federowicz? Share your experience.
Write a Review
Write a Review
Specialties & Research
Dr. Gregory Federowicz, MD is board certified in Diagnostic Radiology.
Education & Awards
Dr. Federowicz graduated from Upstate Medical University Physical Medicine and Rehabilitation, Syracuse.
Dr. Federowicz has 5 hospital affiliations:
- Screven County Hospital
- Memorial Health University Medical Center
Home > Find a Radiologist > GA > Savannah Radiologists > Dr. Gregory Federowicz, MD
Similar doctors nearby
Dr. Peter Romano
Diagnostic Radiology
8 years experience
Savannah, GA
Dr. Alexander Daley
Diagnostic Radiology
39 years experience
Savannah, GA
Dr. Andreas Schilling
Diagnostic Radiology
12 years experience
Savannah, GA
Dr. Mathew Dixon
Diagnostic Radiology
11 years experience
Savannah, GA
Dr. Deborah Conway
Diagnostic Radiology
13 years experience
Savannah, GA
Dr. Jacob Schwartz
Diagnostic Radiology
6 years experience
Savannah, GA
- Additional Information
- Dr. Gregory Joseph Federowicz MD is a male Diagnostic Radiologist, has 16 years of experience and practices in Diagnostic Radiology.
- Where does Dr. Gregory J. Federowicz practice?
- Dr. Gregory Federowicz has 3 office locations.
Dr. Gregory Federowicz practices Diagnostic Radiology near Savannah, GA.
Additional practice locations include: Brentwood, TN.
See Savannah Radiologists.


text:
By clicking the "Submit" button, you agree to Avvo's Terms of Use. Please see our Community Guidelines and Privacy Policy for information on posting to Avvo and how we collect, use, and share information you provide to us.
Po Box 66Bay City, MI 48707
Licensed for 17 years
Go back to Brian's profile.


text:
105.3 The Buzz
105.3 The Buzz—Wichita's station for Kidd Kraddick In The Morning and Buzz Music all day.
Listen Live
Listen on Mobile
Audio Vault
Slot Machine
Joker Poker
Dusty's Blog
Hot Summer Music
by dhayes
posted Jul 22 2010 10:47AM
It's summer and that means there are tons of new releases from some of our favorite artists here at The Buzz. Here's what's new on The Buzz this week:
by Maroon 5. First release from their upcoming c.d. "Hands All Over" which drops on September 21
. The band is attempting to forge new ground by adding Robert John "Mutt" Lange as producer. Lange produced Nickelback's "Dark Horse" to great effect. Lange, of course, produced some of the greatest albums of all time: AC/DC's "Back In Black", Def Leppard's "Pyromania" and "Hysteria", and ex-wife's Shania Twain's hits. Frankly, when I heard Lange was producing I was looking for something a little edgier from Maroon 5, but
hews true to their trademark sound. Adam Levine's vocals are front and center in another jaunty blue-eyed soul ditty.
I Run To You
by Lady Antebellum. This song has already been a huge hit at the Country format, and was actually the first single that Capitol Records released to the Pop format. When most radio stations did not respond to it, Capitol released
Need You Now
which has become the biggest hit at Pop stations so far in 2010. I thought
I Run To You
was a smash the first time I heard it, so I'm glad we're able to bring it to you now.
King Of Anything
by Sara Bareilles. Bareilles proves that "
Love Song
" wasn't a fluke, and she won't be added to the long list of One Hit Wonders. (If "
Love Song
" doesn't ring a bell, the full chorus line was "I'm not gonna write you a love song." Remember now?) Bareilles' voice is pure honey on this Pop gem. All the way down to the hand claps in the chorus,
King Of Anything
is one solid hook that will be rattling around in your head after the first time you hear it.
To get info on all the songs we play on The Buzz including bios, lyrics, and videos click
the Playlist icon at 1053thebuzz.com.
Back To Blog
<< Previous Post
Next Post >>
Hot Summer Music
Please Enter Your Comments Below
student grants
Wow this is a great resource.. I'm enjoying it.. good article
Celebrity Blog
Website Trackback Link...
[...]the time to read or visit the content or sites we have linked to below the[...]...
Title :
Comment :
Please enter the text as it is shown in the box below :
Refresh Image
Kidd Kraddick in the Morning
Wichita Weather
HD Radio
advertise with us
Recent Blog Posts
So That's How You Make Twins...
Mike Stanz
Jul 3
Barack Obama, the Voice of America
Mike Stanz
Jul 3
Uncle Sam's Crying a Little
Mike Stanz
Jul 3
Bruce Springsteen Jumps On Brian Wilson's Encore
Mike Stanz
Jul 3
Liev Schreiber Talks Voiceovers
Mike Stanz
Jul 3
Now You Can Stuff Your Own Donnie T
Mike Stanz
Jul 3
Thank You, Donald Trump, from America
Mike Stanz
Jul 3
"The Authorities Would Tell Us!"
Mike Stanz
Jul 3
Jul 2015
Jun 2015
May 2015
Apr 2015
Mar 2015
Feb 2015


text:
Details about Yamaha MG82CX 10 Compact Audio Mixer with Compressors & Digital FXSee original listing
23 Apr, 2012 15:23:33 BST
Item location:
Glasgow, United Kingdom
1/1Feedback on our suggestions
The Yamaha MG82CX is the ideal choice for small music production or live sound applications, offering sonic quality that will satisfy the most critical listener, surprising flexibility and ease-of-use, and some advanced features you normally wouldn't find in this type of compact mixer.
So whether you need a compact main mixer, or a secondary utility mixer for a larger application, don't overlook the performance-packed Yamaha MG82CX mixer. Top-mounted input and output connectors make setting up and re-patching your system quick and easy. Featuring high-quality Neutrik balanced XLR connectors on both mono microphone/line channels and two of the stereo channels. The XLR-equipped stereo channels can accept mono microphone input either via the XLR or phone jack connectors. The remaining stereo channel on the MG82CX provides phone jack and pin jack connectors for compatibility with a wide range of sources. The two mono input channels also feature insert I/O connectors that let you patch external signal processing gear into those channels as required. Separate pin-jack 2TR inputs are provided to accept the output from a CD player or similar stereo source.
Microphone preamplifiers are critical in any mixer, and a performance bottleneck in many. That's why pros often spend thousands of dollars on just a single channel of microphone pre-amplification. The microphone preamps built into the Yamaha MG82CX inherit technology from Yamaha's top-line professional consoles, and have been painstakingly designed to deliver superior sonic performance with any dynamic or condenser microphone. All four microphone preamps also feature switchable phantom power so you can take advantage of the natural, extended response of high-quality condenser microphones. A single switch turns phantom power on or off for all four channels.
You won't find built-in channel compression on too many other mixers in this class, but in the MG82CX you have Yamaha's innovative one-knob compression feature on mono input channels 1 and 2. The MG82CX has EFFECT send controls on all channels that adjust the level of the signal sent from the corresponding channel to the mixer's internal multi-effect system. The same signal can also be sent to external effect processors via the mixer's EFFECT SEND jack.
The MG82CX incorporates a versatile digital multi-effect processor that provides a range of reverb, delay, modulation, and distortion programs you can use to refine and define your sound. Each of the 16 effect programs has a number of editable parameters as well as effect on/off switching capability and return level control. If you need to keep both hands free to play an instrument or perform other operations, an optional footswitch can be connected to the mixer s effect footswitch jack for convenient on/off switching.
Yamaha MG82CX main features include:
Return policy details
Returns accepted
Most purchases from business sellers are protected by the Consumer Contract Regulations 2013 which give you the right to cancel the purchase within 14 days after the day you receive the item. Find out more about your rights as a buyer - opens in a new window or tab and exceptions - opens in a new window or tab.


text:
- Acura
- Aston Martin
- Audi
- Bentley
- Buick
- Cadillac
- Chevrolet
- Chrysler
- Datsun
- Dodge
- Eagle
- Ferrari
- Fiat
- Ford
- Geo
- Golf
- Honda
- Hummer
- Hyundai
- Infiniti
- Isuzu
- Jaguar
- Jeep
- Kia
- Lamborghini
- Land Rover
- Lexus
- Lincoln
- Lotus
- Maserati
- Mazda
- Mercedes
- Mercury
- Mini Cooper
- Mitsubishi
- Nissan
- Oldsmobile
- Plymouth
- Pontiac
- Porsche
- Rolls Royce
- Saab
- Saturn
- Scion
- Smart
- Subaru
- Suzuki
- Toyota
- Volkswagen
- Volvo
- DuraflexCarbon Creations
2001 Volkswagen Cabrio Body Kits
2001 Volkswagen Cabrio body kits are additional components that can be installed to revise and rejuvenate a outward look. After years of usage, the exterior components on many automobiles begins to look old and ugly. Any damage to a vehicle's paint job or to the exterior components themselves can lower a vehicle's resale value, making the use of bodykits is just that important. A body kits can change a ride appear better, without replacing any of the actual mechanics of the car.
Some custom 2001 Volkswagen Cabrio body kits products come with replacements for a couple of components, ground effects and side add ons. These are the places of a vehicle that are most typically damaged from regular driving, but they aren't the only parts that can be easily fixed. Other custom parts can be used to customize a car's exterior style, so 2001 Volkswagen Cabrio body kits can often be tailored to a driver's specific needs. For an enhanced look that eliminates the poor appearance resulting from years of usage, a cool body kits can serve you well.


text:
To the question "What do you wear to bed?" Marilyn responded, "CHANEL N°5."
What inspired Marilyn's world-famous reply? Discover the answer in Chapter 2 of Inside CHANEL, with the new film titled "Marilyn and N°5."
Loading more stuff…
Hmm…it looks like things are taking a while to load. Try again?


text:
Forgot Password? | Not a User? Sign up
Your browser does not support iframes.
Inter-County Energy reminds customers to use portable generators as safely as possible in the event of a power outage. A portable generator can make life a lot easier, but if it's used improperly, it can be very dangerous.
Keep the following safety tips in mind when installing and using your generator.
• If connecting the generator into the house wiring is necessary, first contact Inter-County Energy for information on code compliance, then have a qualified electrician hook up the standby electrical system.
The Marion County Knights played the Green County Dragons on Tuesday of last week at the Roby Dome. After the first quarter, the Knights trailed by two points due in large part to streaky shooting by Green County early on. The Knights and Dragons were evenly matched throughout the frame, and baskets were traded evenly until the score was 12-10 with Green County ahead.
Every couple of years I like to revisit my father's favorite Christmas poem inspired by Clement Moore's famous work 'Night Before Christmas'. The writer is unknown but he or she certainly was a gardener; and you may even get some last minute gift ideas from its verse.
Curtis Jones, manager of Coleman Crest Dairy in Marion County, has been selected to participate in the Kentucky Farm Bureau Leadership Enhancement for Agricultural Development program.
Jones joins 15 other Kentuckians for LEAD's two-year, intensive learning experience - a program that KFB created to prepare future agricultural leaders for tomorrow's challenges.
In the first game of the Republic Bank Classic last Saturday morning at Lexington Catholic, the Marion County Lady Knights girls' varsity basketball team defeated Southwestern by four points in a 58-54 victory. Junior guard Bre Elder poured in 29 points to help the Lady Knights slip past the previously undefeated Warriors.
"Bre stepped up and played a great game," Lady Knight Head coach Trent Milby said.
It is the policy of The Lebanon Enterprise to publish public records as they are reported by various agencies.
This policy has been established to preserve the fairness and impartiality of The Lebanon Enterprise.
Names appearing in public records and documents published by The Enterprise will be published without exceptions.
Public records are published as a news service to our readers.
Former Marion County Knights Head Coach Tim Davis, who currently is the head coach at Campbellsville, picked up his 500th win as a head coach on Saturday, Dec. 11, against Grayson County in the Cameron Irvin Classic at North Hardin High School by a score of 58-56. Davis becomes one of only 41 coaches in Kentucky that have achieved this milestone.
Marion County
Youth Basketball League
December 19
10- and 11-Year Old Girls
At St. Charles Middle School
Mercury 27: Aaliyah McAtee 2, Katie Overstreet 2, Jordan Thomas 16, Lauren Walton 2, Elizabeth Hughes 3, Savannah Goode 2.
Mystics 14: Faith Pittman 6, Eternity Smith 2, Kiah Cox 3, Amanda Miles 1, Caroline Buckman 2.
Comets 28: Morgan Mattingly 10, Leah Hazelwood 2, Caroline Reed 11, Alice Farmer 1, Alaysia White 4.
Okay. So I thought that running in 5K races was going to be the only thing I did for the first time this year.
I completed my first one in Campbellsville in July and my second one, the Pokey Pig, at Ham Days.
Did I do great?
No not great, but I finished and I was happy with that.
On Tuesday of last week, the Marion County Lady Knights faced the Green County Lady Dragons at the Roby Dome. The Lady Knights raced ahead from the beginning and were able to keep the Lady Dragons on the ropes. A quick spurt early in the first quarter from the locals gave a glimpse of how the game would play out. Marion County's up-tempo offense and smothering defense proved to be too much for Green County in a 77-42 rout.
Copyright © 2015
The Lebanon Enterprise is your source for local news, sports, events, and information in Marion County and Lebanon, KY, and the surrounding area.


text:
10 Steps to Pick the Right Doctor
Whether you need a primary care doctor or a specialist, these 10 steps will ensure you find the right doctor for you. View Slideshow
Dr. Graves' Experience
- Nephrology
Board Certifications
- Internal Medicine
- Nephrology
Procedures Dr. Graves Performs
Dr. Graves does not have any procedures listed. If you are Dr. Graves and would like to add procedures you perform, please update your free profile.
- Acute Kidney Failure
- Chronic Kidney Diseases
- End-Stage Renal Disease
- Gout
- Hypertension
- Hypertensive Chronic Kidney Disease
- Hypertensive Heart and Chronic Kidney Disease
- Hypotension (Excluding Maternal)
- Magnesium Metabolism Disorders
- Mineral Metabolism Disorders
- Nephritis and Nephropathy
- Proteinuria
- Renal Artery Arteriosclerotic Disease
- Secondary Renovascular Hypertension
- Vitamin D Deficiency
Background Check for Dr. Graves
Malpractice Claims not available
- Healthgrades does not collect malpractice information for Minnesota.
- No sanctions history found for the years that Healthgrades collects data.
0 Board Actions
- No board actions found for the years that Healthgrades collects data.
Awards & Recognitions
Education & Training
Languages Spoken by Dr. Graves & Staff
- English


text:
Create Your Own Oasis Right At Home
Imagine the Relaxing Nights By The Fire
Over 6 Acres of Supplies For Contractors & Homeowners Alike
Wide Variety of Drought Resistant Alternatives For Your Landscaping
Quality Landscaping Supplies in El Cajon
Alpine Rock & Block has been your family owned local source for all of your landscape, yard, pool, and home improvement needs since 1989! With over 6 acres of materials, we've got what you need for your next project or job.
Our list of products includes landscape rock, synthetic turf, pavers, decorative ground covering, boulders, fire pits, stucco, tile, flagstone, pottery, home decor, and more. Whether you are transforming your back yard, the front entry, a pool, your entire property, or are simply searching for that right item to enhance the look of your home, check out Alpine Rock & Block conveniently located in El Cajon, CA, exit Los Coches Road off Interstate 8.
We are proud to provide materials to a large client base, including the San Diego Zoo, San Diego Safari Park, City Schools and Parks, Barona Band of Mission Indians, United States Navy, Barona Resort & Casino, San Diego County Fair, City Farmers, and Viejas Casino


text:
Related topics
Our events
Our events and seminars cover a diverse range of business topics in all industry sectors, presenting a valuable opportunity for our participants to interact with our seasoned professionals, and to gain insight into today's hot issues.
Deloitte Fast Program
Deloitte Fast Program includes Deloitte Technology Fast 50 China and Deloitte China Technology Fast 20/30 Program.
2015 Deloitte Technology Fast 50 China and Deloitte China Rising Star
The Deloitte Technology Fast 50 is a global top-level program, which launched in 1995 in San Jose, and currently takes place each year in more than 30 countries. The 10th Anniversary Celebration of Deloitte Tech Fast 50 China was held in 2014. The Program is considered as a benchmark of fast growing technology companies across the globe by international financial media. Once an enterprise achieves Technology Fast 50 China ranking, it automatically becomes eligible for entry to the regional Technology Fast 500 Asia Pacific program.
The activity of Deloitte China Rising Star is to honour the leading businesses which focus on the market segments with the huge growth potential.
2015 Deloitte China Technology Fast 20/30 Program
The Deloitte China Technology Fast 20/30 Program, started in 2012 and co-hosted by Deloitte China and local government/association, recognizes the fastest-growing hi-tech companies in local cities. It is a sub-project of the Deloitte Technology Fast 50 China Program.
Learn more:
- Deloitte Fast Program overview
- 2015 Deloitte Technology Fast 50 China
- 2015 Deloitte China Technology Fast 20/30 Program
(Select a region: Beijing, Dalian, Hangzhou, Jiangsu, Shenzhen, Wuhan and Xiamen)
- Previous program reports
Investment Seminar Series: FDI Outflows Investment in the BRICS Countries
Beijing session: 7 July 2015 (Tuesday)
Shanghai session: 10 July 2015 (Friday)
The five prominent emerging countries comprising BRICS, as a group, have become increasingly important economic players and have attracted the attention of the academia, politicians and media, largely because of their distinguished characteristics.
The Brazil, Russia and India desk leaders would like to invite you to explore the reason for Asia's growing interest in investing in these countries, why they are potential to your business and offering.
Investment Seminar Series: Inbound Investment into South Korea
Beijing session: 7 July 2015 (Tuesday)
Shanghai session: 10 July 2015 (Friday)
The South Korea Investment Seminar will be presented in Beijing and Shanghai. We are pleased to bring you a tax seminar with insights on the inbound investment into South Korea.
This seminar aims to help investors to have an overview of Korean business environment and catch up on the recent tax law changes and the structures of inbound investment into Korea.
Anti-Money Laundering Breakfast Seminars – Series 3
Anti-Money Laundering Controls over Tax Evasion
Event date: 10 July 2015 (Friday)
Registration: 8:30am – 9:00am (Breakfast included)
Seminar: 9:00am – 10:30am
Venue: Deloitte Touche Tohmatsu
In this conference, we will give an overview on the global trends and local practice of tax evasion and relevant AML controls and also share our perspective and insights on these latest developments. This event will be held in a comfortable and interactive environment.
U.S. Reporting Update for CFOs and Controllers – July 2015
Event date: 16 July 2015 (Thursday)
Time: 08:30 – 12:00
Venue: Hilton Beijing Wangfujing
This seminar will feature recent developments in the US GAAP and SEC rules and regulations. The presentation will be applicable to most China-based SEC registrants and/or Chinese companies planning for IPO in the US.
2015 Financial Reporting Update
Application issues of the new Companies Ordinance in Hong Kong & New and revised IFRSs/HKFRSs for 2015 financial year-end
Event date: 24 July 2015
Time: 9:00 am to 1:00 pm (Registration starts at 8:30 am)
Venue: Kowloon Shangri-La Hotel, 64 Mody Road, Tsim Sha Tsui East, Kowloon
Candy Fong and William Lim, partners of the Deloitte China National Technical Department, will present at the forthcoming 2015 Financial Reporting Update. In the seminar, the two speakers will share with you (a) the application issues arising from Part 9 of the new Companies Ordinance in Hong Kong (Cap 622) that relates to preparation of financial statements and directors' reports & (b) New and revised IFRSs/HKFRSs and the related application issues.
If you want to have an in-depth understanding of how the new Companies Ordinance and new and revised Standards may affect you, Don't miss the seminar on 24 July 2015 (Friday).
Key China Programmes
Deloitte China is committed to supporting forums that facilitate thought leaders from government, business and academia to work together for economic growth and sustainable development in China, Asia, and globally, for mutual and long-term success.
Learn more about our participation in some of the external programmes
Boao Forum for Asia Annual Conference 2015
Asia's New Future: Towards a community of common destiny
Date: 26-29 March 2015
A senior delegation of Deloitte partners attended the BFA AC 2015 to join fellow business leaders, politicians and intellectuals to discuss topics related to 2015 theme "Asia's new future: Towards a community of common destiny". The senior executives included:
- Steve Almond, Global Chairman, Deloitte Touche Tohmatsu Limited
- Lawrence Chia, CEO, Deloitte China
- Jae Sool Lee, Chairman, Deloitte Korea
- Paul Siu, National Managing Partner, Clients, Industries & Markets, Deloitte China
- Norman Sze, Northern Region Managing Partner, Deloitte China
- Sitao Xu, Chief Economist, Partner, Deloitte China
- Dora Liu, National Financial Services Industry Audit Leader, Deloitte China
- Cindy Sun, Clients, Industries & Markets Partner, Deloitte China
More topics
Discover more
Next steps


text:
Search Results For:
Topic "private sector"
Page 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Global Policy Innovations |
GPI's mission: To highlight the best new thinking on a fairer globalization. It launched Policy Innovations, an online magazine that covers innovative ideas for a fairer globalization.
The Republic of Conscience | 07/02/15
Gary Hart, Joanne J. Myers
According to former U.S. Senator Gary Hart, Congress, the military, and even the Supreme Court have fallen victim to special interests and ignored America's founding principles. What can we do about it? "Get angry," he says, in this enlightening and ultimately hopeful talk.
A Conversation with Ashoka Founder Bill Drayton on Social Entrepreneurship | 06/17/15
Bill Drayton, Julia Taylor Kennedy
For millennia, the world was organized around efficiency and repetition, says Bill Drayton, but now this system is being replaced by a world organized around the opposite principle: change. That has profound implications for every aspect of our lives, including ethics. This is the first generation when everyone must master cognitive empathy-based living.
A Conversation with Ethan Zuckerman on the Ethics of the Internet | 06/10/15
Ethan Zuckerman, Randall Pinkston
"We have the capacity to get stories from every part of the globe. The question is, what do we want to pay attention to? The crazy thing that has happened over 20 years of the consumer Internet is that we have told the market that we care about people who look like us, act like us, feel like us, and we don't much care about anybody else."
A Dangerous Master: How to Keep Technology from Slipping Beyond Our Control | 06/08/15
Wendell Wallach
"Social disruptions, public health and economic crises, environmental damage, and personal tragedies, all made possible by the adoption of new technologies, will increase dramatically over the next 20 years," predicts Wendell Wallach--unless we start now and implement checks and balances that will prove him wrong.
An Interview with Shefa Siegel on Liberia, Ebola, and the Cult of Bankable Projects | 05/28/15
Shefa Siegel, Zach Dorfman
It's not for lack of money that international organizations failed to prevent the disastrous spread of Ebola, says Shefa Siegel. It's for lack of flexibility and an inability to develop a comprehensive picture of what's going on and what the development needs are in any given country--take Liberia, which has a mere 50 doctors to serve its population of 4 million.
Job Creation in the Arab World: Education for Employment's Mariel Davis | 05/26/15
Mariel Davis, Alex Woodson
The Middle East and North Africa is a particularly challenging region to create employment for young people and women, says Mariel Davis. Yet Education for Employment helps generate opportunities in unexpected and creative ways.
The UN's Efforts in International Development: Relevant or Not? | 05/19/15
David M. Malone
Which development initiatives really work? Drawing on his personal and professional experience, the UN's David Malone notes that experts' projects often fail and there are many paths to growth--take India and China, for example. The trend now is to move away from grand schemes. What's important are each group's social preferences.
Ethical Negotiation: Not an Oxymoron | 05/18/15
Max H. Bazerman, Hal Movius, Steve Satterwhite, Ashlee Vance, Amber Kiwan, Julia Taylor Kennedy
In this second podcast in our collaboration with EthicalSystems.org, we examine negotiation. Turning again to behavioral science for insight, we learn that transparency and prioritizing joint gains can keep negotiations above-board, and might help companies avoid the pitfalls that beset Dell Computers a few years ago.
Ethical Negotiation: Not an Oxymoron | 05/18/15
Max H. Bazerman, Hal Movius, Steve Satterwhite, Ashlee Vance, Amber Kiwan, Julia Taylor Kennedy
In this second podcast in our collaboration with EthicalSystems.org, we examine negotiation. Turning again to behavioral science for insight, we learn that transparency and prioritizing joint gains can keep negotiations above-board, and might help companies avoid the pitfalls that beset Dell Computers a few years ago.
The Ethics Police?: The Struggle to Make Human Research Safe | 05/01/15
Robert L. Klitzman, Joanne J. Myers
When it comes to medical research using human beings, who decides what's right? How do the U.S. institutional review boards work? What does "informed consent" mean when you need a law degree to understand the consent forms? How are clinical trails conducted overseas? Dr. Klitzman explores these troubling and complex ethical concerns.
Ethical Systems Design: Bringing Behavioral Science Into Corporate Life | 04/13/15
Sarah J. Dahlgren, Jack Ewing, Jonathan Haidt, Mark W. Olson, Ann Tenbrunsel, Julia Taylor Kennedy
This is the first in a series of podcasts in collaboration with EthicalSystems.org to explore behavioral science in the workplace. In this installment, we're turning to the financial industry, specifically Deutsche Bank and the Federal Reserve, to explore how the financial system is beginning to apply behavioral economics to incentivize ethical decision-making and foster internal ethical cultures.
American Energy Challenges and Global Leadership in the Years Ahead | 04/06/15
Helima Croft, John M. Deutch, David Gordon, Marc Lipschultz, Elizabeth Rosenberg
Thanks to new technologies for extracting oil and natural gas, such as hydraulic fracturing ("fracking"), the United States is now the biggest producer of energy in the world. What do plummeting energy prices mean for sellers and consumers around the world--and what will be the likely consequences for climate change?
Tourism, Farmers, & Technology in Africa: Eddie Mandhry from NYU Africa House | 03/04/15
Eddie Mandhry, Alex Woodson
"What's been amazing is that across Africa there is a movement where people are adopting technologies and leapfrogging some of the developmental stages that you'd have to go through," says Eddie Mandhry.
Tourism, Farmers, & Technology in Africa: Eddie Mandhry from NYU Africa House | 03/04/15
Eddie Mandhry, Alex Woodson
"What's been amazing is that across Africa there is a movement where people are adopting technologies and leapfrogging some of the developmental stages that you'd have to go through," says Eddie Mandhry.
Patients with Passports: Medical Tourism, Law, and Ethics | 03/02/15
I. Glenn Cohen, Robert L. Klitzman
Medical tourism is big business, involving millions of patients who travel abroad to get health care. Some travel to avoid queues and save money. Others seek services that are illegal in their own country, such as abortions and surrogate pregnancies. As Cohen explains, this growing industry opens a Pandora's box of legal and ethical questions.
Ebola and Other Viral Outbreaks: Providing Health Care to the Global Poor in Times of Crisis | 02/18/15
Unni Karunakara, Robert L. Klitzman
Why were initial responses to the Ebola outbreak so disastrously inadequate? How can dysfunctional health systems--at all levels--be improved, so that this doesn't happen again? Dr. Klitzman of Columbia University and Dr. Karunakara, former international president of MSF, discuss these issues and more, including why doctors treating Ebola should not be called heroes.
A Conversation with Leon Botstein, President of Bard College and Champion of Liberal Arts Education | 02/09/15
Leon Botstein, James Traub
In this wide-ranging and entertaining conversation, Leon Botstein discusses Bard's innovative programs to serve the underserved, which include Bard high schools, prison education programs, and international operations; the marginalization of the humanities; and his refreshing and inclusive approach to classical music.
Extreme Political Parties in Greece: Economic and Cultural Factors | 01/22/15
Yannis Palaiologos, David C. Speedie
"There has been, in the period of the last 30 years especially, a breakdown of trust, not only between the governed and the government, but also between Greeks, among themselves." Palaiologos, a prominent Greek scholar-journalist, analyzes how Greece went wrong, the rise of extremist parties on both right and left, and what needs to be done.
Leveraging Networks for Impact, Part 2: Best Practice Roundtable | 01/21/15
Winthrop Carty
On November, 2014, Carnegie Council and the Melton Foundation convened a group of representatives of leading global networks to investigate how to measure and maximize their impact. Read about the discussion, take-aways, and next steps.


text:
According to West Africa expert Marie Rodet, although the conflict in Mali has not yet been fully resolved, the situation there has improved, and there are other countries in the region that are a greater cause for concern. Jonas Berninger spoke to her about the reasons for the French intervention and Mali's futureMore
Qatar is considered to be one of the richest countries in the world and will be playing host to the 2022 FIFA World Cup. The sporting grounds and stadiums are being constructed by an army of workers from South-East Asia – often under catastrophic working and living conditions.


text:
Bengals sign Peerman, offer tenders to 3 others
MAR 07, 2013 5:07p ET
Peerman had two long runs off fake punts last season. He also carried 34 times for 178 yards.
Also on Thursday, the Bengals made tender offers to safety Jeromy Miles, receiver Andrew Hawkins and linebacker Vincent Rey, all of whom have contracts that expire on Monday.
As a result of the offers, Miles will become a restricted free agent next week. The Bengals maintained exclusive rights to Hawkins and Rey for next season.
0 Comments
You may use your Facebook account to add a comment on FoxSports.com, subject to Facebook's Terms of Use and Privacy Policy. Your Facebook name, photo, other personal information you make public on Facebook and comment will appear on FoxSports.com, and may be used on Fox Sports' other media platforms. Any questions?


text:
Search Results: ''
The Family Tree of Berton and Susannah Clark
eBook (ePub): $2.49
Download immediately.
The family tree of Berton and Susannah Clark including the families of Webb, Bradford, Nhare, Bonesteel and Clark, from 1350 through 2012.
How To Start Your Own Home Healthcare Agency: The Easy Way!
eBook (PDF): $99.00
Download immediately.
A comprehensive collection of the policies, procedures, systems and documents needed to start a business in home healthcare. This book walks the entrepreneur through the process from beginning to... More > end in clear, easy-to-understand writing. Everyone, including those already involved in home healthcare, can benefit from the experiences of this insightful author/home healthcare manager.< Less
Top 10see more >
North Carolina Auto...
Paperback: $25.99
College Algebra: A...
Paperback: $10.40
UMass Dartmouth Engaged...
Paperback: $10.00
Look Smarter Than You...
Paperback: $34.95
All That Glisters and...
Paperback: $12.99
Spotting the Trend: An...
Paperback: $12.99
Finding Meaning with...
Paperback: $29.95
10 Rules For Radicals
Paperback: $10.00
the Way of the Wayfarer...
Paperback: $22.99
the Way of the Wayfarer...
Paperback: $22.99
Age Verification
The page you are attempting to access contains content that is not intended for underage readers.
Please verify your birth date to continue.


text:
Because putting your idol's face on anything makes it impossible to live without.
Kendall & Kylie Exclusive Interview
Where did you grow up?
I grew up in Minnesota.
What was your favorite class in high school?
I really liked all my classes. I was a good student I had a 4.0!
Vacation Like A Star!


text:
Nav Sidhu Teams Up with Dj Dips For his Upcoming Single Jatt Ho gya Sharabi.Nav Sidhu is Working hard to establish his Name in Punjabi Music Industry.He is Collaborating with producers For his Singles and Lets See How Much He can Get attention from this DJ dips one.
Jatt Ho gya Sharabi will be Out in September.The Above Picture is From the Video Shoot of the Song.
You must be logged in to post a comment Login