Then you'll need to choose the method that you want to and the sort of account that you want to openup. Whenever you might have opened the account, you are able to start to exchange in stocks. The exact first point you should accomplish in order to open a broker account would be to choose the broker or brokerage business you wish to deal with. You want to know very well things to consider when launching your own very first brokerage account. You simply have to go from the financial institution, describe the situation, complete the kinds, and see whether or not they are going to give you the amount of money. Commercial banks are incredibly crucial for fiscal equilibrium. Many banks provide other favourable elements, also. In case the financial loan is right for a small quantity of money, plus it is reimbursed fast, you can choose to create it an no-interest mortgage. On the flip side, if it will be for a larger sum and will probably be paid back within a protracted period of time, you might want to charge interest. Telling her why you have to obtain a personal loan could be very important to her. The shortterm loan will only become quite a long-term loan. You have 3 options centered on the way you would like to exchange in stocks. Out of here it really is determined by the options available to you personally, along with your preferred career path. In terms of the one you need to start, you can find several possibilities. You may have a number of choices if you decide on the appropriate town. You also have the choice of earning your hard earned money packed on a wal mart MoneyCard for increased convenience. If you're beginning an official firm in Texas, it's required that you've secured a Taxpayer ID number. There is a one-time possibility known as ongoing bond loop in which you may possibly continue to keep money in. Because the achievements of the MBO program rests greatly on the caliber of the connection between supervisor and acquaintances, the degree of confidence and also supportiveness which is present in a work unit is really a cardinal worry. Engaging together with all our communities lets team members the occasion to attach in a vast manner, Woodruff says. Since you may observe, employed as a bank teller delivers many opportunities for favorable, conscientious folks who want an exemplary future in a trusted business, even should they do not possess a post-secondary college degree. The profit made on the commerce is going to be credited to a own brokerage account from exactly where you find it possible to earn a withdrawal whenever you would like. At an really wonderful company, profits and cashflow are absolutely crucial for lifetime, however, they're not exactly the very stage of life. Proceed to your pal and make clear why you must invest cash. Even in the event you think you do what which you can to store the cash you work therefore hard to produce, there are many likely means by which you might cut backagain. In case you have friends and money, the situation is probably going to come up sooner or later later a buddy wants to have a loan out of you. Cellular catering businesses needs to have their trucks inspected for a permit for the usage of a motor vehicle. Customers might just meet with a sales representative whenever they're negotiating a purchase or ridding a deal. Maintaining clients also supplies a chance to keep or raise profit and earnings via incremental sales of solutions and merchandise. Please be aware that most of Hy-Vee areas do not possess check-cashing solutions.


What are the benefits of functional training? What makes functional fitness training so good for you? We are seeing an increasingly large number of people applying functional training techniques into their workouts. With so many different training styles and proclaimed miracle workouts its sometimes hard to sort through the nonsense and figure out which style is best for you.
How much high intensity training?
https://strengthinmotiontraining.com.au/wp-content/uploads/2012/05/deadliftfail4.jpg 338 600 MattWaterton https://strengthinmotiontraining.com.au/wp-content/uploads/2015/07/Strength-In-Motion-Training.png MattWaterton2012-05-05 02:59:292012-05-08 01:30:30How much high intensity training?
https://strengthinmotiontraining.com.au/wp-content/uploads/2012/04/Functional-Fitness-Training-Strength-in-Motion-Training.jpg 340 958 Matt Waterton https://strengthinmotiontraining.com.au/wp-content/uploads/2015/07/Strength-In-Motion-Training.png Matt Waterton2012-04-21 07:45:052012-04-24 02:51:56What is Functional Fitness?
Sports Conditioning - Improving Skills or Preventing Injury?
Sport is your thing. You love it, you're dedicated to it, you want to get the best from your performance every time. It ruins your week when you play badly, it ruins your month when you get a niggling injury, it ruins your year when you ignore it and it becomes a major injury.
https://strengthinmotiontraining.com.au/wp-content/uploads/2012/04/Strength-Conditioning-Strength-in-Motion-Training.jpg 340 958 Matt Waterton https://strengthinmotiontraining.com.au/wp-content/uploads/2015/07/Strength-In-Motion-Training.png Matt Waterton2012-04-20 07:36:382012-04-24 06:47:06Sports Conditioning - Improving Skills or Preventing Injury?
Cutting Edge Training Programs that won't damage your body.
Strength in Motion training programs offer the latest training methods that follow a corrective and scientific approach. If you feel like you've been floundering with your fitness contact us today. We can guarantee under our guidance you'll experience amazing long-term fitness results.
https://strengthinmotiontraining.com.au/wp-content/uploads/2012/04/Strength-in-Motion-Functional-Fitness.jpg 340 958 Matt Waterton https://strengthinmotiontraining.com.au/wp-content/uploads/2015/07/Strength-In-Motion-Training.png Matt Waterton2012-04-03 07:40:202012-04-21 08:13:27Cutting Edge Training Programs that won't damage your body.
The most important piece of equipment in any functional fitness regime is your own body. Using the resistance of your own bodyweight is one of the best tools you have immediately at your disposal. If we can't first control strength and stability throughout the movements of your body, what chance do you have performing more advanced lifting techniques?
https://strengthinmotiontraining.com.au/wp-content/uploads/2012/04/Strength-in-Motion-Fitness-Equipment.jpg 340 958 Matt Waterton https://strengthinmotiontraining.com.au/wp-content/uploads/2015/07/Strength-In-Motion-Training.png Matt Waterton2012-04-03 07:38:092012-04-21 08:14:38What equipment do we use? YOU!


text:
Home › Eaglemoss: Space 1999 Eagle One Laboratory - Issue 3 - Brand New
Eaglemoss: Space 1999 Eagle One Laboratory - Issue 3 - Brand New
Regular price £299.99 Sale price £0.00 Unit price /per
From Eaglemoss Ltd!
Eagle One Laboratory - Issue 3
Introducing the third edition in the brand-new Space: 1999 series of collectibles based on the hit TV show - the Eagle One Laboratory.
A cult classic of 70s sci-fi, the TV series Space: 1999 followed the spacefaring adventures of Moonbase Alpha, whose 311 personnel were left stranded when a massive nuclear explosion sent the Moon itself hurtling into deep space.
Designed by Academy Award-winning SFX director Brian Johnson (Alien, Star Wars, 2001: A Space Odyssey), the Eagle One is the iconic hero ship of Space 1999, and the primary transport for the crew of Moonbase Alpha. This modular vessel had many alternative configurations: it's presented here with its scientific laboratory module.
The "Type E" Eagle One boasted a remote laboratory pod, modified from the passenger pod. It was used to locate and refine crude minerals on planetary surfaces, and offered an array of scientific equipment for contact-and-survey teams, who could use it as a planetside base for several weeks.
Measuring an impressive 25cm in length, the Eagle One Laboratory is accompanied by a companion magazine packed with design info, interviews, and more.
BRAND NEW BOXED
"We're all aliens, until we get to know each other."

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: c2dm not supported ,any alternative? According to the message included in c2dm website it seems that cloud to device is not supported anymore. I know that it's clearly specified there but, just to clarify it one more time (cause I really need a new user), is there any possible way to obtain any new senderId/quota to operate with c2dm?

A: No, you cannot get senderids or change your quota any more. C2DM has been completely replaced as of today by Google Cloud Messaging.

redpajama_set_name: RedPajamaStackExchange


text:
// This file contains structures that implement scheduling queue types.
// Scheduling queues hold pods waiting to be scheduled. This file has two types
// of scheduling queue: 1) a FIFO, which is mostly the same as cache.FIFO, 2) a
// priority queue which has two sub queues. One sub-queue holds pods that are
// being considered for scheduling. This is called activeQ. Another queue holds
// pods that are already tried and are determined to be unschedulable. The latter
// is called unschedulableQ.
// FIFO is here for flag-gating purposes and allows us to use the traditional
// scheduling queue when util.PodPriorityEnabled() returns false.

package core

import (
	"container/heap"
	"fmt"
	"sync"

	"k8s.io/api/core/v1"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	"github.com/hyperhq/client-go/tools/cache"
	podutil "k8s.io/kubernetes/pkg/api/v1/pod"
	"k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/predicates"
	priorityutil "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/priorities/util"
	"k8s.io/kubernetes/plugin/pkg/scheduler/util"

	"github.com/golang/glog"
	"reflect"
)

// SchedulingQueue is an interface for a queue to store pods waiting to be scheduled.
// The interface follows a pattern similar to cache.FIFO and cache.Heap and
// makes it easy to use those data structures as a SchedulingQueue.
type SchedulingQueue interface {
	Add(pod *v1.Pod) error
	AddIfNotPresent(pod *v1.Pod) error
	AddUnschedulableIfNotPresent(pod *v1.Pod) error
	Pop() (*v1.Pod, error)
	Update(oldPod, newPod *v1.Pod) error
	Delete(pod *v1.Pod) error
	MoveAllToActiveQueue()
	AssignedPodAdded(pod *v1.Pod)
	AssignedPodUpdated(pod *v1.Pod)
	WaitingPodsForNode(nodeName string) []*v1.Pod
}

// NewSchedulingQueue initializes a new scheduling queue. If pod priority is
// enabled a priority queue is returned. If it is disabled, a FIFO is returned.
func NewSchedulingQueue() SchedulingQueue {
	if util.PodPriorityEnabled() {
		return NewPriorityQueue()
	}
	return NewFIFO()
}

// FIFO is basically a simple wrapper around cache.FIFO to make it compatible
// with the SchedulingQueue interface.
type FIFO struct {
	*cache.FIFO
}

var _ = SchedulingQueue(&FIFO{}) // Making sure that FIFO implements SchedulingQueue.

func (f *FIFO) Add(pod *v1.Pod) error {
	return f.FIFO.Add(pod)
}

func (f *FIFO) AddIfNotPresent(pod *v1.Pod) error {
	return f.FIFO.AddIfNotPresent(pod)
}

// AddUnschedulableIfNotPresent adds an unschedulable pod back to the queue. In
// FIFO it is added to the end of the queue.
func (f *FIFO) AddUnschedulableIfNotPresent(pod *v1.Pod) error {
	return f.FIFO.AddIfNotPresent(pod)
}

// Update updates a pod in the FIFO.
func (f *FIFO) Update(oldPod, newPod *v1.Pod) error {
	return f.FIFO.Update(newPod)
}

func (f *FIFO) Delete(pod *v1.Pod) error {
	return f.FIFO.Delete(pod)
}

// Pop removes the head of FIFO and returns it.
// This is just a copy/paste of cache.Pop(queue Queue) from fifo.go that scheduler
// has always been using. There is a comment in that file saying that this method
// shouldn't be used in production code, but scheduler has always been using it.
// This function does minimal error checking.
func (f *FIFO) Pop() (*v1.Pod, error) {
	var result interface{}
	f.FIFO.Pop(func(obj interface{}) error {
		result = obj
		return nil
	})
	return result.(*v1.Pod), nil
}

// FIFO does not need to react to events, as all pods are always in the active
// scheduling queue anyway.
func (f *FIFO) AssignedPodAdded(pod *v1.Pod)   {}
func (f *FIFO) AssignedPodUpdated(pod *v1.Pod) {}

// MoveAllToActiveQueue does nothing in FIFO as all pods are always in the active queue.
func (f *FIFO) MoveAllToActiveQueue() {}

// WaitingPodsForNode returns pods that are nominated to run on the given node,
// but FIFO does not support it.
func (f *FIFO) WaitingPodsForNode(nodeName string) []*v1.Pod {
	return nil
}

func NewFIFO() *FIFO {
	return &FIFO{FIFO: cache.NewFIFO(cache.MetaNamespaceKeyFunc)}
}

// NominatedNodeName returns nominated node name of a Pod.
func NominatedNodeName(pod *v1.Pod) string {
	nominatedNodeName, ok := pod.Annotations[NominatedNodeAnnotationKey]
	if !ok {
		return ""
	}
	return nominatedNodeName
}

// UnschedulablePods is an interface for a queue that is used to keep unschedulable
// pods. These pods are not actively reevaluated for scheduling. They are moved
// to the active scheduling queue on certain events, such as termination of a pod
// in the cluster, addition of nodes, etc.
type UnschedulablePods interface {
	Add(pod *v1.Pod)
	Delete(pod *v1.Pod)
	Update(pod *v1.Pod)
	Get(pod *v1.Pod) *v1.Pod
	Clear()
}

// PriorityQueue implements a scheduling queue. It is an alternative to FIFO.
// The head of PriorityQueue is the highest priority pending pod. This structure
// has two sub queues. One sub-queue holds pods that are being considered for
// scheduling. This is called activeQ and is a Heap. Another queue holds
// pods that are already tried and are determined to be unschedulable. The latter
// is called unschedulableQ.
// Heap is already thread safe, but we need to acquire another lock here to ensure
// atomicity of operations on the two data structures..
type PriorityQueue struct {
	lock sync.RWMutex
	cond sync.Cond

	// activeQ is heap structure that scheduler actively looks at to find pods to
	// schedule. Head of heap is the highest priority pod.
	activeQ *Heap
	// unschedulableQ holds pods that have been tried and determined unschedulable.
	unschedulableQ *UnschedulablePodsMap
	// nominatedPods is a map keyed by a node name and the value is a list of
	// pods which are nominated to run on the node. These are pods which can be in
	// the activeQ or unschedulableQ.
	nominatedPods map[string][]*v1.Pod
	// receivedMoveRequest is set to true whenever we receive a request to move a
	// pod from the unschedulableQ to the activeQ, and is set to false, when we pop
	// a pod from the activeQ. It indicates if we received a move request when a
	// pod was in flight (we were trying to schedule it). In such a case, we put
	// the pod back into the activeQ if it is determined unschedulable.
	receivedMoveRequest bool
}

// Making sure that PriorityQueue implements SchedulingQueue.
var _ = SchedulingQueue(&PriorityQueue{})

func NewPriorityQueue() *PriorityQueue {
	pq := &PriorityQueue{
		activeQ:        newHeap(cache.MetaNamespaceKeyFunc, util.HigherPriorityPod),
		unschedulableQ: newUnschedulablePodsMap(),
		nominatedPods:  map[string][]*v1.Pod{},
	}
	pq.cond.L = &pq.lock
	return pq
}

// addNominatedPodIfNeeded adds a pod to nominatedPods if it has a NominatedNodeName and it does not
// already exist in the map. Adding an existing pod is not going to update the pod.
func (p *PriorityQueue) addNominatedPodIfNeeded(pod *v1.Pod) {
	nnn := NominatedNodeName(pod)
	if len(nnn) > 0 {
		for _, np := range p.nominatedPods[nnn] {
			if np.UID == pod.UID {
				glog.Errorf("Pod %v/%v already exists in the nominated map!", pod.Namespace, pod.Name)
				return
			}
		}
		p.nominatedPods[nnn] = append(p.nominatedPods[nnn], pod)
	}
}

// deleteNominatedPodIfExists deletes a pod from the nominatedPods.
func (p *PriorityQueue) deleteNominatedPodIfExists(pod *v1.Pod) {
	nnn := NominatedNodeName(pod)
	if len(nnn) > 0 {
		for i, np := range p.nominatedPods[nnn] {
			if np.UID == pod.UID {
				p.nominatedPods[nnn] = append(p.nominatedPods[nnn][:i], p.nominatedPods[nnn][i+1:]...)
				if len(p.nominatedPods[nnn]) == 0 {
					delete(p.nominatedPods, nnn)
				}
				break
			}
		}
	}
}

// updateNominatedPod updates a pod in the nominatedPods.
func (p *PriorityQueue) updateNominatedPod(oldPod, newPod *v1.Pod) {
	// Even if the nominated node name of the Pod is not changed, we must delete and add it again
	// to ensure that its pointer is updated.
	p.deleteNominatedPodIfExists(oldPod)
	p.addNominatedPodIfNeeded(newPod)
}

// Add adds a pod to the active queue. It should be called only when a new pod
// is added so there is no chance the pod is already in either queue.
func (p *PriorityQueue) Add(pod *v1.Pod) error {
	p.lock.Lock()
	defer p.lock.Unlock()
	err := p.activeQ.Add(pod)
	if err != nil {
		glog.Errorf("Error adding pod %v to the scheduling queue: %v", pod.Name, err)
	} else {
		if p.unschedulableQ.Get(pod) != nil {
			glog.Errorf("Error: pod %v is already in the unschedulable queue.", pod.Name)
			p.deleteNominatedPodIfExists(pod)
			p.unschedulableQ.Delete(pod)
		}
		p.addNominatedPodIfNeeded(pod)
		p.cond.Broadcast()
	}
	return err
}

// AddIfNotPresent adds a pod to the active queue if it is not present in any of
// the two queues. If it is present in any, it doesn't do any thing.
func (p *PriorityQueue) AddIfNotPresent(pod *v1.Pod) error {
	p.lock.Lock()
	defer p.lock.Unlock()
	if p.unschedulableQ.Get(pod) != nil {
		return nil
	}
	if _, exists, _ := p.activeQ.Get(pod); exists {
		return nil
	}
	err := p.activeQ.Add(pod)
	if err != nil {
		glog.Errorf("Error adding pod %v to the scheduling queue: %v", pod.Name, err)
	} else {
		p.addNominatedPodIfNeeded(pod)
		p.cond.Broadcast()
	}
	return err
}

func isPodUnschedulable(pod *v1.Pod) bool {
	_, cond := podutil.GetPodCondition(&pod.Status, v1.PodScheduled)
	return cond != nil && cond.Status == v1.ConditionFalse && cond.Reason == v1.PodReasonUnschedulable
}

// AddUnschedulableIfNotPresent does nothing if the pod is present in either
// queue. Otherwise it adds the pod to the unschedulable queue if
// p.receivedMoveRequest is false, and to the activeQ if p.receivedMoveRequest is true.
func (p *PriorityQueue) AddUnschedulableIfNotPresent(pod *v1.Pod) error {
	p.lock.Lock()
	defer p.lock.Unlock()
	if p.unschedulableQ.Get(pod) != nil {
		return fmt.Errorf("pod is already present in unschedulableQ")
	}
	if _, exists, _ := p.activeQ.Get(pod); exists {
		return fmt.Errorf("pod is already present in the activeQ")
	}
	if !p.receivedMoveRequest && isPodUnschedulable(pod) {
		p.unschedulableQ.Add(pod)
		p.addNominatedPodIfNeeded(pod)
		return nil
	}
	err := p.activeQ.Add(pod)
	if err == nil {
		p.addNominatedPodIfNeeded(pod)
		p.cond.Broadcast()
	}
	return err
}

// Pop removes the head of the active queue and returns it. It blocks if the
// activeQ is empty and waits until a new item is added to the queue. It also
// clears receivedMoveRequest to mark the beginning of a new scheduling cycle.
func (p *PriorityQueue) Pop() (*v1.Pod, error) {
	p.lock.Lock()
	defer p.lock.Unlock()
	for len(p.activeQ.data.queue) == 0 {
		p.cond.Wait()
	}
	obj, err := p.activeQ.Pop()
	if err != nil {
		return nil, err
	}
	pod := obj.(*v1.Pod)
	p.deleteNominatedPodIfExists(pod)
	p.receivedMoveRequest = false
	return pod, err
}

// isPodUpdated checks if the pod is updated in a way that it may have become
// schedulable. It drops status of the pod and compares it with old version.
func isPodUpdated(oldPod, newPod *v1.Pod) bool {
	strip := func(pod *v1.Pod) *v1.Pod {
		p := pod.DeepCopy()
		p.ResourceVersion = ""
		p.Generation = 0
		p.Status = v1.PodStatus{}
		return p
	}
	return !reflect.DeepEqual(strip(oldPod), strip(newPod))
}

// Update updates a pod in the active queue if present. Otherwise, it removes
// the item from the unschedulable queue and adds the updated one to the active
// queue.
func (p *PriorityQueue) Update(oldPod, newPod *v1.Pod) error {
	p.lock.Lock()
	defer p.lock.Unlock()
	// If the pod is already in the active queue, just update it there.
	if _, exists, _ := p.activeQ.Get(newPod); exists {
		p.updateNominatedPod(oldPod, newPod)
		err := p.activeQ.Update(newPod)
		return err
	}
	// If the pod is in the unschedulable queue, updating it may make it schedulable.
	if usPod := p.unschedulableQ.Get(newPod); usPod != nil {
		p.updateNominatedPod(oldPod, newPod)
		if isPodUpdated(oldPod, newPod) {
			p.unschedulableQ.Delete(usPod)
			err := p.activeQ.Add(newPod)
			if err == nil {
				p.cond.Broadcast()
			}
			return err
		}
		p.unschedulableQ.Update(newPod)
		return nil
	}
	// If pod is not in any of the two queue, we put it in the active queue.
	err := p.activeQ.Add(newPod)
	if err == nil {
		p.addNominatedPodIfNeeded(newPod)
		p.cond.Broadcast()
	}
	return err
}

// Delete deletes the item from either of the two queues. It assumes the pod is
// only in one queue.
func (p *PriorityQueue) Delete(pod *v1.Pod) error {
	p.lock.Lock()
	defer p.lock.Unlock()
	p.deleteNominatedPodIfExists(pod)
	if _, exists, _ := p.activeQ.Get(pod); exists {
		return p.activeQ.Delete(pod)
	}
	p.unschedulableQ.Delete(pod)
	return nil
}

// AssignedPodAdded is called when a bound pod is added. Creation of this pod
// may make pending pods with matching affinity terms schedulable.
func (p *PriorityQueue) AssignedPodAdded(pod *v1.Pod) {
	p.movePodsToActiveQueue(p.getUnschedulablePodsWithMatchingAffinityTerm(pod))
}

// AssignedPodUpdated is called when a bound pod is updated. Change of labels
// may make pending pods with matching affinity terms schedulable.
func (p *PriorityQueue) AssignedPodUpdated(pod *v1.Pod) {
	p.movePodsToActiveQueue(p.getUnschedulablePodsWithMatchingAffinityTerm(pod))
}

// MoveAllToActiveQueue moves all pods from unschedulableQ to activeQ. This
// function adds all pods and then signals the condition variable to ensure that
// if Pop() is waiting for an item, it receives it after all the pods are in the
// queue and the head is the highest priority pod.
// TODO(bsalamat): We should add a back-off mechanism here so that a high priority
// pod which is unschedulable does not go to the head of the queue frequently. For
// example in a cluster where a lot of pods being deleted, such a high priority
// pod can deprive other pods from getting scheduled.
func (p *PriorityQueue) MoveAllToActiveQueue() {
	p.lock.Lock()
	defer p.lock.Unlock()
	var unschedulablePods []interface{}
	for _, pod := range p.unschedulableQ.pods {
		unschedulablePods = append(unschedulablePods, pod)
	}
	p.activeQ.BulkAdd(unschedulablePods)
	p.unschedulableQ.Clear()
	p.receivedMoveRequest = true
	p.cond.Broadcast()
}

func (p *PriorityQueue) movePodsToActiveQueue(pods []*v1.Pod) {
	p.lock.Lock()
	defer p.lock.Unlock()
	for _, pod := range pods {
		p.activeQ.Add(pod)
		p.unschedulableQ.Delete(pod)
	}
	p.receivedMoveRequest = true
	p.cond.Broadcast()
}

// getUnschedulablePodsWithMatchingAffinityTerm returns unschedulable pods which have
// any affinity term that matches "pod".
func (p *PriorityQueue) getUnschedulablePodsWithMatchingAffinityTerm(pod *v1.Pod) []*v1.Pod {
	p.lock.RLock()
	defer p.lock.RUnlock()
	podsToMove := []*v1.Pod{}
	for _, up := range p.unschedulableQ.pods {
		affinity := up.Spec.Affinity
		if affinity != nil && affinity.PodAffinity != nil {
			terms := predicates.GetPodAffinityTerms(affinity.PodAffinity)
			for _, term := range terms {
				namespaces := priorityutil.GetNamespacesFromPodAffinityTerm(up, &term)
				selector, err := metav1.LabelSelectorAsSelector(term.LabelSelector)
				if err != nil {
					glog.Errorf("Error getting label selectors for pod: %v.", up.Name)
				}
				if priorityutil.PodMatchesTermsNamespaceAndSelector(pod, namespaces, selector) {
					podsToMove = append(podsToMove, up)
				}
			}
		}
	}
	return podsToMove
}

// WaitingPodsForNode returns pods that are nominated to run on the given node,
// but they are waiting for other pods to be removed from the node before they
// can be actually scheduled.
func (p *PriorityQueue) WaitingPodsForNode(nodeName string) []*v1.Pod {
	p.lock.RLock()
	defer p.lock.RUnlock()
	if list, ok := p.nominatedPods[nodeName]; ok {
		return list
	}
	return nil
}

// UnschedulablePodsMap holds pods that cannot be scheduled. This data structure
// is used to implement unschedulableQ.
type UnschedulablePodsMap struct {
	// pods is a map key by a pod's full-name and the value is a pointer to the pod.
	pods    map[string]*v1.Pod
	keyFunc func(*v1.Pod) string
}

var _ = UnschedulablePods(&UnschedulablePodsMap{})

// Add adds a pod to the unschedulable pods.
func (u *UnschedulablePodsMap) Add(pod *v1.Pod) {
	podKey := u.keyFunc(pod)
	if _, exists := u.pods[podKey]; !exists {
		u.pods[podKey] = pod
	}
}

// Delete deletes a pod from the unschedulable pods.
func (u *UnschedulablePodsMap) Delete(pod *v1.Pod) {
	podKey := u.keyFunc(pod)
	if _, exists := u.pods[podKey]; exists {
		delete(u.pods, podKey)
	}
}

// Update updates a pod in the unschedulable pods.
func (u *UnschedulablePodsMap) Update(pod *v1.Pod) {
	podKey := u.keyFunc(pod)
	_, exists := u.pods[podKey]
	if !exists {
		u.Add(pod)
		return
	}
	u.pods[podKey] = pod
}

// Get returns the pod if a pod with the same key as the key of the given "pod"
// is found in the map. It returns nil otherwise.
func (u *UnschedulablePodsMap) Get(pod *v1.Pod) *v1.Pod {
	podKey := u.keyFunc(pod)
	if p, exists := u.pods[podKey]; exists {
		return p
	}
	return nil
}

// Clear removes all the entries from the unschedulable maps.
func (u *UnschedulablePodsMap) Clear() {
	u.pods = make(map[string]*v1.Pod)
}

// newUnschedulablePodsMap initializes a new object of UnschedulablePodsMap.
func newUnschedulablePodsMap() *UnschedulablePodsMap {
	return &UnschedulablePodsMap{
		pods:    make(map[string]*v1.Pod),
		keyFunc: util.GetPodFullName,
	}
}

// Below is the implementation of the a heap. The logic is pretty much the same
// as cache.heap, however, this heap does not perform synchronization. It leaves
// synchronization to the SchedulingQueue.

type LessFunc func(interface{}, interface{}) bool
type KeyFunc func(obj interface{}) (string, error)

type heapItem struct {
	obj   interface{} // The object which is stored in the heap.
	index int         // The index of the object's key in the Heap.queue.
}

type itemKeyValue struct {
	key string
	obj interface{}
}

// heapData is an internal struct that implements the standard heap interface
// and keeps the data stored in the heap.
type heapData struct {
	// items is a map from key of the objects to the objects and their index.
	// We depend on the property that items in the map are in the queue and vice versa.
	items map[string]*heapItem
	// queue implements a heap data structure and keeps the order of elements
	// according to the heap invariant. The queue keeps the keys of objects stored
	// in "items".
	queue []string

	// keyFunc is used to make the key used for queued item insertion and retrieval, and
	// should be deterministic.
	keyFunc KeyFunc
	// lessFunc is used to compare two objects in the heap.
	lessFunc LessFunc
}

var (
	_ = heap.Interface(&heapData{}) // heapData is a standard heap
)

// Less compares two objects and returns true if the first one should go
// in front of the second one in the heap.
func (h *heapData) Less(i, j int) bool {
	if i > len(h.queue) || j > len(h.queue) {
		return false
	}
	itemi, ok := h.items[h.queue[i]]
	if !ok {
		return false
	}
	itemj, ok := h.items[h.queue[j]]
	if !ok {
		return false
	}
	return h.lessFunc(itemi.obj, itemj.obj)
}

// Len returns the number of items in the Heap.
func (h *heapData) Len() int { return len(h.queue) }

// Swap implements swapping of two elements in the heap. This is a part of standard
// heap interface and should never be called directly.
func (h *heapData) Swap(i, j int) {
	h.queue[i], h.queue[j] = h.queue[j], h.queue[i]
	item := h.items[h.queue[i]]
	item.index = i
	item = h.items[h.queue[j]]
	item.index = j
}

// Push is supposed to be called by heap.Push only.
func (h *heapData) Push(kv interface{}) {
	keyValue := kv.(*itemKeyValue)
	n := len(h.queue)
	h.items[keyValue.key] = &heapItem{keyValue.obj, n}
	h.queue = append(h.queue, keyValue.key)
}

// Pop is supposed to be called by heap.Pop only.
func (h *heapData) Pop() interface{} {
	key := h.queue[len(h.queue)-1]
	h.queue = h.queue[0 : len(h.queue)-1]
	item, ok := h.items[key]
	if !ok {
		// This is an error
		return nil
	}
	delete(h.items, key)
	return item.obj
}

// Heap is a thread-safe producer/consumer queue that implements a heap data structure.
// It can be used to implement priority queues and similar data structures.
type Heap struct {
	// data stores objects and has a queue that keeps their ordering according
	// to the heap invariant.
	data *heapData
}

// Add inserts an item, and puts it in the queue. The item is updated if it
// already exists.
func (h *Heap) Add(obj interface{}) error {
	key, err := h.data.keyFunc(obj)
	if err != nil {
		return cache.KeyError{Obj: obj, Err: err}
	}
	if _, exists := h.data.items[key]; exists {
		h.data.items[key].obj = obj
		heap.Fix(h.data, h.data.items[key].index)
	} else {
		heap.Push(h.data, &itemKeyValue{key, obj})
	}
	return nil
}

// BulkAdd adds all the items in the list to the queue.
func (h *Heap) BulkAdd(list []interface{}) error {
	for _, obj := range list {
		key, err := h.data.keyFunc(obj)
		if err != nil {
			return cache.KeyError{Obj: obj, Err: err}
		}
		if _, exists := h.data.items[key]; exists {
			h.data.items[key].obj = obj
			heap.Fix(h.data, h.data.items[key].index)
		} else {
			heap.Push(h.data, &itemKeyValue{key, obj})
		}
	}
	return nil
}

// AddIfNotPresent inserts an item, and puts it in the queue. If an item with
// the key is present in the map, no changes is made to the item.
func (h *Heap) AddIfNotPresent(obj interface{}) error {
	key, err := h.data.keyFunc(obj)
	if err != nil {
		return cache.KeyError{Obj: obj, Err: err}
	}
	if _, exists := h.data.items[key]; !exists {
		heap.Push(h.data, &itemKeyValue{key, obj})
	}
	return nil
}

// Update is the same as Add in this implementation. When the item does not
// exist, it is added.
func (h *Heap) Update(obj interface{}) error {
	return h.Add(obj)
}

// Delete removes an item.
func (h *Heap) Delete(obj interface{}) error {
	key, err := h.data.keyFunc(obj)
	if err != nil {
		return cache.KeyError{Obj: obj, Err: err}
	}
	if item, ok := h.data.items[key]; ok {
		heap.Remove(h.data, item.index)
		return nil
	}
	return fmt.Errorf("object not found")
}

// Pop returns the head of the heap.
func (h *Heap) Pop() (interface{}, error) {
	obj := heap.Pop(h.data)
	if obj != nil {
		return obj, nil
	} else {
		return nil, fmt.Errorf("object was removed from heap data")
	}
}

// Get returns the requested item, or sets exists=false.
func (h *Heap) Get(obj interface{}) (interface{}, bool, error) {
	key, err := h.data.keyFunc(obj)
	if err != nil {
		return nil, false, cache.KeyError{Obj: obj, Err: err}
	}
	return h.GetByKey(key)
}

// GetByKey returns the requested item, or sets exists=false.
func (h *Heap) GetByKey(key string) (interface{}, bool, error) {
	item, exists := h.data.items[key]
	if !exists {
		return nil, false, nil
	}
	return item.obj, true, nil
}

// List returns a list of all the items.
func (h *Heap) List() []interface{} {
	list := make([]interface{}, 0, len(h.data.items))
	for _, item := range h.data.items {
		list = append(list, item.obj)
	}
	return list
}

// newHeap returns a Heap which can be used to queue up items to process.
func newHeap(keyFn KeyFunc, lessFn LessFunc) *Heap {
	return &Heap{
		data: &heapData{
			items:    map[string]*heapItem{},
			queue:    []string{},
			keyFunc:  keyFn,
			lessFunc: lessFn,
		},
	}
}

redpajama_set_name: RedPajamaGithub


We provide an excellent hedge cutting service to both the home owner and commercial client.
Our Hedge cutting service is available all year round. We can undertake the cutting of any size of hedge and will remove all waste material as part of the quotation.
We can provide management structure with regular programmed return dates. We can also provide services as requested by the client. Our services are totally flexible and provided as requested and instructed by the client.
We would love to say we can do it all for you, but that is not our goal, we can do the hard and messy bit for you - we dispose of all garden waste in an environmental and responsible manner.
Our aim is to ensure your garden is a source of enjoyment and not a task that has to be done.
Please see the pictures, before and after to the right to see a garden that we completed just recently.


Astronomers using the Hubble Space Telescope have directly detected the atmosphere of a planet outside our solar system that lies more than 150 light-years away, NASA announced yesterday. The discovery of the element sodium in the planet's atmosphere, the scientists say, is the first step in measuring more complex chemical compositions of planetary atmospheres far from Earth.
The planet investigated in the new study orbits the sun-like star HD 209458, located in the constellation Pegasus. When the planet passed between the star and the telescope, light from the sun was filtered through the planet's atmosphere. The planet, a gas giant 220 times more massive than Earth, contains sodium in its outer layers, but Hubble's spectrometer confirmed the presence of additional sodium in the planet's atmosphere. This finding, says lead investigator David Charbonneau of the California Institute of Technology, "opens up an exciting new phase of extrasolar planet exploration where we can begin to compare and contrast the atmospheres of planets around other stars."
The current research focused only on sodium and did not look for gases expected in a life-sustaining atmosphere. Indeed, the planet's atmosphere, heated to more than 2,000 degrees Fahrenheit as a result of its close proximity to HD 209458, makes it a highly improbable home. Future observations of the planet's atmosphere, the researchers say, will look for additional chemicals, such as methane, water vapor and potassium. But even if life-sustaining elements are not found, co-author Timothy Brown won't mind. "It's hugely exciting," he says, "to nail down anything at all about something as mysterious as planets outside our solar system."


Posted on January 4, 2017 by Sumit Gilhotra.
Board of Secondary Education Odisha also called as BSE Odisha has announced the BSE Odisha NRTS Result 2016 today online. The exam is held Under Distance Education Program. Now, IndiaResults has publishes the Nrts result 2016 revealed by Odisha Board.
From board notifications, NRTS orissa result 2016 is Live online. There are more than 26,000 students appeared this BSE orissa nrts Schorlarship exams 2016. Visit official website for Odisha board NRTS result 2016.
BSE Odisha is a board of education for public and private schools. BSE Odisha is one of the best education board in India. The results will be live at IndiaResults.com today on the official section of Board of Secondary Education (BSE), Odisha. Students appeared in nrts examination can get Board of Secondary Education NRTS results 2016 stats as it has been live and they can know their results via IndiaResults.
There are about more than 26000 students who had appeared for this examination. Students appeared in BSE orissa exams 2015-16. The Orissa National Rural Talent Scholarship Examination Result 2016 is live now.
The student's stats are around 50,000. Students who are willing to know their result fixtures will just have to go to IndiaResults.com and pilot to the official page of BSE, Odisha. There they can know their Board of Secondary Education Odisha NRTS result by name. Candidates can also know their friends result stats by exploring our feature of Orissa NRTS result Name Wise .
Stay tuned for more result notifications from Board of Secondary Education (BSE), Odisha. We will update you with all the latest notifications and results from the BSE, Odisha.
IBPS will conduct main exam on 31st December to 1st January. Aspirants who cleared the preliminary examination will be qualified for main exam 2016. Aspirants have to score more than cutoff marks to qualify for main exam. IBPS will declare the result of main examination in the last week of January.
anshuman Bal nrts result rank chandbali block.


text:
Human Factors at The Oscars
Photo: Craig Piersma CC BY-NC-ND 2.0 https://flic.kr/p/8NyHL6
"An extraordinary blunder"
It has variously been described as "an incredible and almost unbelievable gaffe" (Radio Times), "the greatest mistake in Academy Awards history" (Telegraph), "an extraordinary blunder…an unprecedented error" (ITV News), "the most spectacular blunder in the history of the starry ceremony" and "the most awkward, embarrassing Oscar moment of all time: an extraordinary failure" (Guardian).
It was, of course, the Grand Finale of the Oscars 2017.
Faye Dunaway and Warren Beatty are all set to announce the best picture win. Beatty begins to read out the winners card. But he looks visibly puzzled, pausing and looking in the envelope to see if there is anything else that he's missed. He begins to read out the winners card, "And the Academy Award…". He pauses and looks in the envelope again. "…for Best Picture". He looks at Dunaway, who laughs "You're impossible!", then hands the card to her. Dunaway, perhaps assuming this is all for effect, simply reads out what she sees, and announces "La La Land!".
Music sounds and a narrator gives a 17-second spiel about the film: "La La Land has fourteen Oscar nominations this year, and is tied for the most nominated movie in Oscar history, winning seven Oscars…"
The La La Land team exchange embraces and walk to the stage. Jordan Horowitz, a producer, delivers the first thank-you speech. Everything looks normal. But as the second and third thank-you speeches are being delivered, there is visible commotion. A member of the Oscars production team takes back the envelope that has been given to the La La Land producers.
The winner's envelope is, in fact, the envelope for best actress, just given to La La Land's Emma Stone. Behind him, the PricewaterhouseCoopers overseers – Brian Cullinan and Martha Ruiz – are on stage, examining the envelopes.
At the end of his speech, Producer Fred Berger says nervously: "We lost, by the way". Horowitz takes over, "I'm sorry, there's a mistake. Moonlight, you guys won Best Picture". Confused claps and cries ensue. "This is not a joke", Horowitz continues. Beatty now has the right card, but Horowitz takes it out of Beatty's hand and holds it up to show the names of the winning producers.
Beatty tries to explain, and is interrupted by host Jimmy Kimmel: "Warren what did you do?!". Beatty continues, "I want to tell you what happened. I opened the envelope and it said, 'Emma stone – La La Land'. That's why I took such a long look at Faye and at you. I wasn't trying to be funny." Horowitz hands his Oscar to Barry Jenkins, Moonlight's director.
It was "the first time in living memory that such a major mistake had been made" (Reuters). The accountancy firm PriceWaterhouseCoopers has apologised and promised an investigation. In a statement, they said, "The presenters had mistakenly been given the wrong category envelope and when discovered, was immediately corrected. We are currently investigating how this could have happened, and deeply regret that this occurred. We appreciate the grace with which the nominees, the Academy, ABC, and Jimmy Kimmel handled the situation".
Such a mistake, in an ordinary setting, is usually quite uneventful. Similar sorts of things happen every day. The only thing that is "incredible", "spectacular" and "extraordinary" is the context. It is worth, then, looking a little deeper at this extraordinary event, and considering how similar sorts of events are played out in many ordinary, but critical, contexts.
The design of the envelopes for the various Oscar awards is identical. The only difference between the envelopes is the text that indicates the category. There is no other means of coding (e.g., colour, pattern) to indicate any difference. Several industries have realised the problem with this approach, and in some ways this can be considered the beginnings of the discipline of human factors and ergonomics: "A seminal study that set the agenda for the scientific discipline of human factors was by the experimental psychologists, Fitts and Jones (1947), who adapted their laboratory techniques to study the applied problem of 'pilot error' during WWII. The problem they faced was that pilots of one aircraft type frequently retracted the gear instead of the flaps after landing. This incident hardly ever occurred to pilots of other aircraft types. They noticed that the gear and flap controls could easily be confused: the nearly identical levers were located right next to each other in an obscure part of the cockpit" (van Winsen and Dekker, 2016) .
This problem still exists today in settings far more important than The Oscars, but far less newsworthy…until disaster strikes. A notable example is medicine packaging, where medicine names look alike or sound alike or have very similar labels for different drugs or doses. Many packages and labels require users to force attention onto small details of text, perhaps with the addition of a small area of colour which, on its own, is quite inconspicuous. It is asking a lot of people to make critical – sometimes life-and-death-critical – decisions based on small design features. This is in addition to drugs that look alike or sound alike, such as Aminophylline and Amitriptyline, or Carbamazepine and Chlorpromazine, or Vinblastine and Vincristine.
Experience of human factors suggests a number of coding methods (e.g., shape, colour, size) that, used appropriately, can help to make vital distinctions. There are also several design guidelines for medicines by NHS NPSA (2007) and the European Medicines Agency (2015). In human factors/ergonomics, these are used as part of an iterative human-centred design method that understands stakeholders and context, identifies user needs, specifies design requirements, produces prototypes, and tests them.
In the absence of this process, what is amazing is not that such errors occur, but that they do not occur much more often than they do. Because it happens fairly infrequently, when it does happen it is often (and unhelpfully) branded 'human error'. But this is not simply a problem of 'human error'. It is a problem of design, where form (such as branding and aesthetics) so often trumps function. As Hollnagel (2016) states, "The bottom line is that the artefacts that we use, and in many cases must use, should be designed to fit the activity they are intended for". Form-over-function design places the human in a position where they have to bridge the gap between form and function every time they use an artefact.
For the Oscars, two identical sets of the winners cards are made for 'safety purposes'. These duplicate envelopes are held in the wings in case anything should go wrong with a presenter or an envelope. In this case, it may be that the duplicate of the Best Actress award, which had just been announced, was handed to Beatty as he walked out to announce the Best Picture winner.
Safeguards feature in most safety critical industries, and are often the result of a risk assessment that specifies a risk control for an identified risk. But the risk assessment process is often a linear cause-effect process, and it often stops at the risk control. And risk controls can have unintended consequences and introduce new risks. Consider this example in the context of aviation and air traffic control:
In early 2014, the UK experienced a prolonged period of low atmospheric pressure. At the same time, there was an unusual cluster of level busts [where aircraft go above or below the flight level or altitude instructed by ATC] at the transition altitude, which were thought to be linked to incorrect altimeter setting on departure into the London TMA [London airspace].
Level busts have been, and remain, a key risk in NATS operation. Longer-term strategic projects, such as the redesign of the London TMA and the raising of the Transition Altitude, are expected to provide some mitigation. However, to respond tactically to the perceived trend in the short-term, it was decided to issue a Temporary Operating Instruction (TOI) to controllers.
The TOI required the inclusion of additional phraseology when an aircraft was cleared from an altitude to a Flight Level during low pressure days. The additional phraseology was "standard pressure setting" e.g. "BigJet123, climb now FL80, standard pressure setting". The change was designed to remind pilots to set the altimeter to the standard pressure setting (1013 hPa) and so reduce level busts associated with altimeter setting. As this phrase was deemed to be an instruction, it was mandatory for flight crews to read back this phrase.
The TOI was subject to the usual procedural hazard assessment processes and implemented on 20 February 2014 on a trial basis, with a planned end date of 20 May 2014, after which the trial results would be evaluated. The change was detailed in Notices to Airmen (NOTAMs).
During the first day of implementation, several occurrence reports were received from controllers, who noted that flight crews did not understand the meaning of the phraseology, and did not read back as required. This led to additional radio telephony to explain the instruction, and therefore additional workload and other unintended consequences.
Extract from case study by Foster, et al, in EUROCONTROL (2014).
Every industry has many examples of 'safeguards gone bad'. We often fail to understand how such changes change the context and introduce secondary problems.
Beatty is standing there, with the eyes of tens of millions of viewers upon him. He is being recorded for perpetuity, for viewing by hundreds of millions more. He has to make a decision about an announcement, which will feel like a gold Olympic medal to a few producers. But he isn't sure what's going on. As Beatty explained, "I opened the envelope and it said, 'Emma Stone – La La Land'. That's why I took such a long look at Faye and at you. I wasn't trying to be funny".
Here we cannot be certain what was going through Beatty's mind, but could it be that – live on one of the most important TV events in the world – Beatty did not want to voice his confusion and uncertainty? He appeared visibly puzzled and gave the envelope to Dunaway to read out the 'winner'. Dunaway could not have known about Beatty's thoughts, since his behaviour could easily have been a time-filler or fumbling joke, and of course it made sense to her to simply read hat she saw: "La La Land".
When under pressure, any delay can have associated costs. For Beatty, asking for clarification would have meant an awkward period of filler, a clumsy live-on-air check of envelopes, perhaps a loss of advertising time. In a state of confusion and self-doubt, perhaps it made sense to say nothing and pass the confusing artefact to someone else.
In many safety-critical activities, decisions are made under uncertainty. The information and situation may be vague, conflicting or unexpected. In some cases, there is a need to signal confusion or uncertainty, perhaps to get a check, or to ask for more time. It can seem hard for us to give voice to our uncertainty in this way, especially under pressure. When someone has a command position – in an operating theatre, cockpit, or at the Oscars – it can be difficult for that person to indicate that they are not sure what is going on. This has played out in several accidents and moreover in everyday life. But sometimes, the most powerful phrase may be something along the lines of, "I do not understand what is going on". This identifies a problematic situation and opens the door for other members of the team to help problem-solve. This kind of intervention is part of many training programmes for 'team resource management' (by whatever name), and can help everyone involved – no matter what their formal position – to voice and resolve their doubts, uncertainties and concerns.
It's just an awards show
The events of Oscars 2017 will be emblazoned forever on the minds of participants and aficionados. But it will also soon be a feature of a trivia game or TV show. As host Jimmy Kimmel said "Let's remember, it's just an awards show." But for those who have to put up with the same sorts of problems every day, it's much more than that. In many industries, people help to ensure that things go well despite other aspects of the system and environment in which they work. For the most part, the human in the system is less like a golden Oscar, and more like a Mister Fantastic, using abilities of mind and body to connect parts of systems that only work because people make them work. This aspect of human performance in the wild is usually taken for granted. But in the real world, people create safety. And for that, they deserve an Oscar.
EUROCONTROL (2014). Systems Thinking for Safety: Ten Principles. A White Paper. Brussels: EUROCONTROL Network Manager, August 2014. Authors: Shorrock. S., Leonhardt, J., Licu, T. and Peters, C.
Hollnagel, E. (2016). The Nitty-Gritty of Human Factors (Chapter 4). In S. Shorrock and C. Williams (Eds.), Human factors and ergonomics in practice: Improving system performance and human well-being in the real world. Boca Raton, FL: CRC Press.
van Winsen, R. and Dekker, S. (2016). Human Factors and the Ethics of Explaining Failure (Chapter 5). In S. Shorrock and C. Williams (Eds.), Human factors and ergonomics in practice: Improving system performance and human well-being in the real world. Boca Raton, FL: CRC Press.
Just Culture in La La Land
'Human error' in the headlines: Press reporting on Virgin Galactic
Life After 'Human Error' – Velocity Europe 2014
Human error': The handicap of human factors, safety and justice
The HAL 9000 explanation: "It can only be attributable to human error"
Occupational Overuse Syndrome – Human Error Variant (OOS-HEV)
'Human error': Still undefined after all these years
Posted in Human Factors/Ergonomics, Safety, systems thinkingTagged decision making, design, human error, human factors, Oscars, safeguards, safety-II, uncertainty, work-as-done
Prev The Archetypes of Human Work: 7. Defunct
Next Just Culture in La La Land
10 thoughts
Pingback: Human Error
Jim Bliss says:
Actually, most of the human factors researchers I know are concerned with errors that have significant, life-threatening consequences. Sorry, the little goof-up with La La Land and Moonlight doesn't fit that category to me. The bigger error, in my view? The total Oscars snub of Sully, a film that portrays human factors as an influence on aviation safety.
stevenshorrock says:
You are right Jim. Most of us, including me, work in safety-critical industries and practice and/or research. But guess what…articles on specific safety critical industries are read by relatively few, usually from that industry. Out of the 70 or so posts on this site over the past few years, the most number of views on a single day was on the day of this post, which is third most viewed post already. Readers will include many who are able to transfer some of the concepts, which may be quite novel to them, to the safety-critical industries that you refer to, in whatever role. Hopefully that is to the good of human factors, safety and justice or fairness. Thanks for taking the time to read and comment.
Pingback: Just Culture in La La Land | Humanistic Systems
Quin Bond says:
Reblogged this on NJ Ergonomics Blog and commented:
Steven Shorrock provides a great look into what went on with the mishandled envelope at the Oscars leading to the announcement of an incorrect winner by Warren Beatty.
Tab Lamoureux says:
It's funny – I just read an article about the lady from PwC and how much work she puts into making sure it doesn't go wrong! Good article Steve – I've sent it on to my colleagues.
As Demming said, "a bad system will beat a good person every time." Well he was kinda wrong in that absolute sense because people are so good at filling the gaps, but a bad system will usually win in the end!
feijicha says:
Richard Cook says:
It would be interesting to be a fly on the wall during the post-event 'root cause analysis' or whatever pass for that in TV land. I nominate Steve Shorrock to go over and facilitate the event!
It sure would. And it will be interesting to see if the same PwC Auditors are present next year.


Is economic growth under Harper really at Great Depression lows?
OTTAWA -- "Prime Minister Harper has the worst record of any prime minister on economic growth since R. B. Bennett in the depths of the Great Depression." -- Liberal Leader Justin Trudeau, Friday, May 15, 2015.
Though Justin Trudeau said it as recently as last week, the Liberals have been claiming since at least 2013 that Canada's economic growth under the Harper-led Conservative government has been the worst since the 1930s.
Among those who use it often is Liberal MP -- and former federal finance minister -- Ralph Goodale.
In an April speech, Goodale added some detail, noting that "since the Harper government came to power, Canada has had an average annual economic growth rate of only about 1.75 per cent -- that's the worst growth record of any prime minister since R. B. Bennett in the 1930s."
How accurate is the Liberal claim?
This one earns a rating of "a little baloney." Here's why.
A nation's economic growth is usually measured by way of gross domestic product, the total value of all the goods produced and services provided in a country during a single year.
What goes into that basket of goods and services has changed over time, but generally, statisticians compare the year-over-year totals for GDP to arrive at a determination of where the economy is going.
To determine the average economic growth under each Canadian prime minister, The Canadian Press used GDP data provided by Statistics Canada.
John Turner, Joe Clark and Kim Campbell were excluded because they served as prime minister for less than a year.
For years in which there was a change of government, GDP for that year was added to the tally for both governments.
R. B. Bennett, 1930-1935. Average economic growth rate: -2.34 per cent.
William Lyon MacKenzie King, 1935-1948: 6.24 per cent.
Louis St. Laurent, 1948-1957: 5.20 per cent.
John Diefenbaker, 1957-1963: 3.78 per cent.
Lester Pearson, 1963-1968: 5.43 per cent.
Pierre Trudeau, 1968-1979: 4.28 per cent.
Pierre Trudeau, 1980-1984: 2.16 per cent.
Brian Mulroney, 1984-1993: 2.51 per cent.
Paul Martin, 2003-2006: 2.71 per cent.
Stephen Harper, 2006-present: 1.77 per cent.
Simple math indicates that yes, under the Conservative government led by Stephen Harper, Canada's economic growth rate has been the worst since the Great Depression. But economists warn against using that math to make a political judgment.
"The basic implication here is: is it his fault?" said Peter Dungan, an economist at the University of Toronto.
"Clearly, they wouldn't say something like this, presumably, without the implication it is his fault ... and that's where the issue comes in."
A nation's growth rate is dependent on economic productivity and the size of its labour force.
When most Canadians worked in farming and then manufacturing, technology helped increase productivity, and growth rates were also driven by post-war population booms.
But now there's an aging population in an economy dominated by the service sector -- not just in Canada but many Western economies, driving down the pace of global growth.
As one economist put it: robots may help the auto sector become more productive, but nobody wants one cutting their hair.
"It's a bit unfair of Trudeau to say (Harper's) been a lousy prime minister because he's been supervising this period of time when we've had lower productivity growth," said William Scarth, an economist at McMaster University in Hamilton.
"Independent of recessions, (Harper) is a P.M. when the service sector is becoming king and anybody else -- including Trudeau, if he was in charge -- would have to cope with the same fact of life."
There was also that recession.
Pierre Trudeau and Mulroney both governed during economic downturns and saw similar dips in growth. But their economic batting averages are stronger because they either benefited from strong growth as they were taking office or strong recoveries after the slump.
While economists are generally in agreement that the 2008 economic collapse wasn't his fault, there is room for debate on whether he should have acted sooner to speed growth in the aftermath.
A prime minister may not control all the moving parts of an economy, but political leadership is what greases the machinery, said Talan Iscan, an economist at Dalhousie University in Halifax.
"Prime ministers do set the tone for how specific investments are going to be made and who is going to get what part of the slice here and there," he said.
"Then they have to take responsibility for it."
Just going by mathematical calculations, it's accurate for the Liberals to assert that Canada's economic growth rate under Harper is the worst since the 1930s.
But as the experts note, the inference that Harper is to blame is up for debate.
For that reason, the statement -- "Prime Minister Harper has the worst record of any prime minister on economic growth since R. B. Bennett in the depths of the Great Depression " -- deserves a rating of "a little baloney."


Ooh, I've really enjoyed this peek into your sketchbook. Whenever I go to a gallery or show, if there are sketchbooks showing the artist's process then I always spend more time with those than the finished artwork itself! Are you planning to make Saint Laura dolls to go with the quilt?
I cannot decide what is more beautiful: the sketchbooks and preparations or the final product. I guess that a lot of the happiness is in the anticipation, and the sketchbooks give you a glimpse into your creative process which normally is very rich. The final product will include all of that but somehow it is simpler, in the way, that the challenge for the artist (as Matisse would say) is to decide on less than more. Well, for baroque, passionate artists like yourself this may not apply! Enjoying so much your blog, as ever!
Well, you're right about baroque artists – never met a bead I didn't like, as you know.


During the celebration period, the first 500 traders who deposit a minimum of 8,888 TERC will receive 1,777 TERC as rewards! Don't forget to complete your KYC or enable SMS Authentication or enable Google Authentication to claim your rewards.
During the campaign period, all traders with trading amount of TERC greater than 88,888 TERC (Trading Amount = No. of TERC bought +sold, self-dealing is strictly forbidden) will win a prize!
TERC traders who fulfilled the above Trade to Win requirements will share 888,888 TERC in proportion to their individual TERC trading volume.
For more information on TERC, please refer to our official listing notice.


Jonathan Berg helps clients efficiently negotiate and structure information technology and other procurement contracts with vendors. Jonathan understands the real world challenges presented by procurement transactions and provides clients with thoughtful, practical advice.
He is a trusted advisor to clients because he understands the complex regulatory and commercial landscape that many organizations must navigate, ensures that contracts mitigate legal and operational risks, and focuses on reducing client costs through efficient legal services.
He has specific experience in the areas of information technology, business process and technology outsourcing, mortgage and loan products and services, professional and consulting services, and transportation and logistics and in the banking, automotive, and outsourcing markets. He also represents clients in a variety of business and intellectual property matters including technology license agreements, corporate organization, mergers and acquisitions, and securities matters.
Jonathan has particular experience with automotive industry clients, having served extended in-house assignments with two major automotive suppliers. For nearly two years, Jonathan served as corporate counsel at a major Tier-1 automotive supplier. In that capacity, he advised on commercial and operational matters including purchase and supply contracts, terms and conditions, equipment purchases and sales, warranty and recall issues, and customer and supplier disputes.
Jonathan is recognized in Michigan Rising Stars 2018 under Business/Corporate and in DBusiness Magazine "Top Lawyers" 2017 under Securities. He serves on the Board of Directors for the Institute for Supply Management Southeast Michigan.
In law school, Jonathan served as Executive Editor of the University of Detroit Mercy Law Review and was a member of the Moot Court Board of Advocates. Based on his academic performance, Jonathan was a member of the Frank Murphy Honor Society and Alpha Sigma Nu Jesuit Honor Society and received the merit-based Virginia Leo Sirotnak Scholarship and the Dean's Scholarship.
In his free time, Jonathan enjoys sailing, fishing, and spending time with his family.
"Reviewing and Negotiating Statements of Work," Presenter, ISM-SEM Legal Briefing, October 18, 2017, Troy, MI.
"SEC Accounting and Legal Update," Co-Presenter, UHY Annual Accounting & Regulatory Update, December 4, 2014, Troy, MI.
"Conflict Minerals," Co-Presenter, UHY Annual Accounting & Regulatory Update, December 4, 2013, Troy, MI.
Assisted a start-up company with reviewing and negotiating an agreement with a local developer to design and create a mobile web application to provide real-time water bill estimates and an agreement to provide the application to a local water department.
Negotiated an agreement for the outsourcing of a large domestic bank's consumer mortgage lending operations involving millions of dollars in spend. The transaction included drafting and negotiating a master services agreement, several statements of work for loan origination technology solutions, documentation generation services, vendor management services, loan fulfillment services, settlement services, and implementation services, and mortgage loan sale agreement. The vendor's standard form agreement failed to provide adequate protections to the client. Mr. Berg was able to negotiate additional warranties, more favorable terms, and other legal protections for the client.
Negotiated an agreement for the outsourcing of a large domestic bank's consumer lending servicing operations. The transaction included drafting and negotiating a services agreement with the vendor for both business processes and technology solutions and involved millions of dollars in spend. Mr. Berg worked with the client to obtain a number of changes to the terms of the agreement to meet the client's business needs and to provide additional protections to the client.
Assisted a large domestic bank with implementing a new loan origination system (LOS) to replace the existing legacy platforms currently supporting the origination of first and second lien residential mortgages. The 18 month project involved strategy meetings with the client and the drafting and negotiation of a software-as-a-service (SaaS) agreement for loan origination and related implementation services with selected vendor as well as the negotiation of smaller, ancillary services agreements with related vendors for pricing, a customer facing system, and closing services. Mr. Berg worked with the bank to ensure that the negotiated agreements complied with applicable law and the bank's policies and risk tolerance, were fair to and protective of the bank, clearly set out the rights and responsibilities of the parties, and fostered a good working relationship between the bank and the vendors.
Negotiated agreements for multiple domestic banks for a new person-to-person (P2P) payments network that allows for funds to be sent from one bank account to another in minutes. The projects required the negotiation of network participation agreements with the network as well as agreements for the implementation of the service. Mr. Berg worked with the banking clients to ensure that the contracts complied with applicable regulations, mitigated legal and operational risks such as data breach, and guided the clients through the maze of legal provisions.
Assisted a large domestic bank with a review of the bank's existing contracts for its most critical suppliers, the capture of key data points, and the delivery of abstracts of key contract terms. The five month project allowed the bank to gain insight into the active contracts it has with its critical suppliers and to understand whether it has covered key contract terms with each of the suppliers.
Negotiated an agreement for card processing services for a large domestic bank with a government entity. The project included the negotiation of an agreement with the government entity and a payroll processing agreement with the bank's merchant processor.
Negotiated an agreement for the license of new teller and item capture software and implementation services for a large domestic bank to replace its existing software. The project required the negotiation of two new license agreements and an implementation statement of work. Mr. Berg worked with the client to structure the agreement documents to mitigate legal and operational risks, addressing key operational components such as testing and acceptance and service levels that provided additional protections to the client.
Negotiated a product and service agreement for a large domestic bank for the procurement of personal and small business check products for use by the bank and for resale to its customers. The project involved the negotiation of new master agreement and statement of work. Mr. Berg worked with the bank to ensure that the contract complied with applicable regulations and the bank's contracting policies, mitigated legal and operational risks such as data breach, and guided the clients through the maze of legal provisions.
Negotiated an agreement for the license of new wire transfer software and implementation services for a large domestic bank to replace its existing software. The project required the negotiation of a new master software license agreement, an implementation statement of work, and multiple license schedules. Mr. Berg worked with the client to structure the agreement documents to mitigate legal and operational risks, addressing key operational components such as testing and acceptance and service levels and negotiating more favorable provisions that provided additional protections to the client.
Negotiated multiple agreements for a large domestic bank to transition to a new vendor for credit card processing services. The project included the negotiation of a transition services agreement with the old vendor, a new master agreement and multiple service schedules with the new vendor, and development of new template agreements for the bank to use with its merchant processing customers. Mr. Berg worked with the client to efficiently negotiate key business and legal terms with the new merchant processor to address key issues with the old processor.
Negotiated a payroll processing agreement with a new vendor to provide payroll processing services to the bank's customers. The project included the negotiation of the payroll processing agreement with the vendor and the development of a new payroll processing agreement template for the bank to use with its payroll processing customers. Mr. Berg worked with the client to ensure that the vendor agreement mitigated both legal and operational risks, and that the customer payroll processing agreement included all terms required by the vendor.
Negotiated agreements for numerous clients for the procurement of new Enterprise Resource Planning (ERP) systems. The projects required the negotiation of new master service agreements, implementation statements of work, and license orders. Mr. Berg advised the clients on key operational components such as testing and acceptance, data security, and service levels in addition to key legal provisions such as warranty, indemnification, and limitations of liability to ensure that the contracts included adequate protections for the client.
Negotiated reseller agreements for numerous clients. The projects required the negotiation of reseller agreements with resellers for the procurement of third party software, hardware, and services. Mr. Berg advised the clients on key operational and legal risks regarding reseller arrangements such as return of products, intellectual property infringement indemnification, pass-through warranties, and liability allocation.
Successfully assisted a client in executing a complex, international acquisition with a U.S. based company in South America and Europe. The transaction presented various tax, employment, and intellectual property issues. Mr. Berg assisted the client with due diligence review, drafting, and negotiating transaction documents and IT transition services and software license agreements, and working with local counsel in South America and Europe to comply with complicated cross-national laws and regulations.


Fair use rulings focus on four factors. Of these, the most important is whether the use of the work is "transformative." Chin ruled that Google Books passes this test easily.
….He rejected authors' arguments that people could use the search engine to assemble copies of entire books out of the short "snippets" Google displays in search results. Chin noted that this was impossible because Google, anticipating this objection, deliberately excludes about 10 percent of the text in each book from being displayed in search results.
This ruling will be appealed, of course, so this isn't the end. But it's a good start.


text:
Stoke considering move to re-sign Asmir Begovic after baulking at Derby's Lee Grant demands
Derby want around £4m for goalkeeper Grant, a valuation that has put off Stoke and forced them to look elsewhere
Asmir Begovic and Lee Grant are wanted by Stoke (
Adrian KajumbaSports Reporter
Stoke are weighing up a move to re-sign Asmir Begovic after baulking at Derby's Lee Grant demands.
Derby want around £4m for goalkeeper Grant, a valuation that has put off Stoke and forced them to look elsewhere.
Grant, 33, joined Stoke on a six-month loan in August and has impressed since making his Premier League debut the following month.
Derby are hoping to capitalise on his higher profile by asking for a big fee even though Grant has just six months left on his Pride Park deal.
But Stoke are considering alternatives including former keeper Begovic, 29.
They would look to bring in on loan for the rest of the season to bolster their goalkeeping department that has been hit by the loss of injured no1 Jack Butland this season.
Begovic spent five years at Stoke between 2010 and 2015 (
Richard Heathcote)
Begovic has been unable to dislodge Thibaut Courtois as Chelsea's first choice stopper since moving to Stamford Bridge from Stoke for £8m in 2015.
And with Chelsea not in Europe and out of the EFL Cup Bosnian Begovic is facing limited game-time between now and the end of the season.
Stoke boss Mark Hughes admitted on Friday: "There's a value on Lee and we appreciate that because he's done absolutely fantastic for us, but we are not going to be held to ransom.
Mark Hughes is considering a number of options (
Action Images via Reuters)
"There's a market value on Lee and we know that. But we are a bit far apart and we may have to look elsewhere.
"He's been absolutely fantastic since he's come here and his form has helped us at a time when we were conceding too readily and he's settled everybody down.
"He's been great and we'd love to get it done and we will pay a premium because he's done so well for us but we think we know the value for Lee and at the moment it's a bit too far away for us to be able to do."
Premier LeagueDerby County FCStoke transfer newsStoke City FCAsmir BegovicChelsea FCChelsea transfer newsLee Grant
Follow Tuchel's Blues. Get our daily Chelsea newsletter
Stoke transfer news


Facing the axe? Fear not!
"I think I might be British,'' my friend Sharon exclaimed. This worrying state of affairs arose after Sharon read a post some cheeky person had published on Facebook.
Oh my word, I 'ghaut' you!
The level of disappointment in my life is approaching tsunami status.
Ring, ring. "Hello, Gia. This is Elsa. I need to borrow your Lie Detector handbag.'' "My what?'' "Don't pretend you don't know what I am talking about. The bag you bought at El Alligator.
Sleeping bag. Check. Snake repellent. Check. Waterproof pouch for matches. Check. Sterilising water tablets.
Mean girls can be so evil. Right now, they are sending hate mail and poisoned eggs to Laura Fernee, 33, who recently told the Daily Mail in the UK that she is too beautiful to work.
Would you like to help the less fortunate and make a small contribution towards fostering world peace?


text:
Q: Variable that depends on another variable VBA I have an interesting question about referencing another variable based on another variable in an array.
Below is my code:
Dim company, price, sdev, mean, random
Dim companies
companies = Array("mm", "tgt", "boog")

mm_price = 0
mm_mean = 0
mm_sdev = 0

tgt_price = 0
tgt_mean = 0
tgt_sdev = 0

boog_price = 0
boog_mean = 0
boog_sdev = 0

For i = 1 To 3
    company = companies(i)
    mean = company & "_mean"
    sdev = company & "_sdev"

Next i

Now, the issue occurs when I attempt to define the "mean" and "sdev" variables, as they will not use the "0" value, but instead give it the string name "mm_mean" etc. mm_mean = 0, therefore, I want mean = 0 when i = 1. Clear?
Thanks, and let me know. It is a rather strange question, and the code is cut from many different functions, so if it doesn't make sense as to why I am doing this, my apologies.  I tried to make it as simple as possible so it wouldn't confuse the answerer.

A: This is a good example of when custom data-structures (aka "record types", "structs") should be used to group related data together. In VBA the syntax is Type:
Type Company
    Name As String
    Price As Currency
    Mean As Double
    SDev As Double
End Type

Public Sub CalculateCompanyInfo()

    Dim companies(3) As Company
    companies(0).Name = "mm"
    companies(0).Price = 123

    companies(1).Name = "tgt"
    companies(1).Price = 456

    companies(2).Name = "boog"
    companies(2).Price = 789

    For i As Integer = 0 to UBound(companies)
        companies(i).Mean = ...
        companies(i).SDev = ...
    Next i

End Sub

Where ... means whatever custom calculation you need to do to get that value.


text:
Mechanicsburg Telegram on Facebook
Mechanicsburg Telegram on Twitter
Posted on August 23, 2016 by Mechanicsburg Telegram
Council discusses wastewater treatment project
By Nick Walton - nwalton@civitasmedia.com
NORTH LEWISBURG – Council received an update on the wastewater treatment plant project during Tuesday's regular meeting.
Mayor Cheryl Hollingsworth said the village has finalized an agreement with the Ohio Public Works Commission for a $422,750 grant and a 30-year loan in the same amount for upgrades at the wastewater treatment plant. She said work should begin on the project in the next week.
Later in the meeting Hollingsworth asked Village Water Superintendent Trevor Clark to inform newer council members on how old the existing wastewater treatment plant is. Clark said the plant was installed around 2006 and was not designed or put in correctly. The objective of the current project is to make the system more operator involved.
"It overlaps and it's very complicated and we're going to simplify a lot of it," Clark said. "There's a lot of automation controls out there – you don't need automation controls. You need to walk your butt out of the office and walk through the plant and turn a few valves and make things work.
"The problem with the automation is when it starts to fail – which it has been doing for three or four years – it trips signals to this computer system and shuts that system off. Unless you know how to work on the automation you can't get anything to work."
In other action:
•Council approved the removal of uncollectible water and sewer accounts. Hollingsworth said the village has about $1,400 that needed to be taken off the books and some of the debts were related to foreclosures and bankruptcies.
•The village received a full reimbursement grant from the Champaign County Drug Free Youth Coalition in the amount of $23,579.84. Following recommendations from the coalition, the village added surveillance cameras and signs to deter substance abuse at the park.
•Community yard sales will be held Sept. 23 and 24 to coincide with the Union County Bridge Festival.
•Council authorized Village Administrator Andy Yoder to negotiate the contract for propane for the village and North East Champaign County Fire District for the 2016-2017 year.
•Hollingsworth said she is working with Frank Summerfield to to coordinate names that need to be added to the monument at the park. For armed services veterans who feel they should have their name of monument, she said they need to provide what branch they served in, what years they served and if they served in a war.
•Hollingsworth reminded citizens that burning garbage is prohibited in the village.
•Council approved a resolution establishing a $25 fee for Hollingsworth to perform marriage ceremonies.
By Nick Walton
nwalton@civitasmedia.com
Nick Walton can be reached at 937-652-1331 Ext. 1777 or on Twitter @UDCWalton.
1637 E US Hwy 36,
Mechanicsburg OH, 43044
Follow @Burg_Telegram
Hi! A visitor to our site felt the following article might be of interest to you: Council discusses wastewater treatment project. Here is a link to that story: https://www.burgtelegram.com/news/1147/council-discusses-wastewater-treatment-project


Can you believe July is practically over? I can't! This year is flying by. Of course there are days that seem to go on forever hehe at work, but overall the year is zooming by.
First off we have the Technique Turnback Top Three (no particular order)- everyone who entered did a fantastic job! So many fun things to try and revisit!
and Guest DT Heather with this so cute card with buttons, blooms and barely banana cardstock!
Also we say a fond farewell to both Heather and Kim who were with us this month as Guest Designers- we loved having you with us and hope to see you in our challenges!
Shopping Our Stash Challenge 10 Buttons, blooms and bananas!
Is it me or are the weeks moving way too fast lately? Time for Challenge 10!
Let's gather up those odd buttons and blooms that have been waiting to be called into service! Do you have a button jar full of old or mismatched buttons or scads of paper flowers? How about coming up with a new way to use your buttons or blooms? If that doesn't do the trick for you, how about digging out any vegetable and/or fruit themed stamps, papers or embellishments or the color banana?
You should have no problem being able to find at least one of those in your stash!
SO, let's get to work on using our stash! Be sure to specify how you met the challenge and limit your linking to a total of 13 challenges including this one.Be sure to come back by on Friday to see the Top 3 and Guest DT Heather's project as well!
Yay it's Friday! I hope wherever you are this week you've had crafty time and not been too overwhelmed by summer heat (or winter cold depending)! Here in Winnipeg we had a few days of really high temps with high humidity making things really unpleasant!
We had a record number of entries in the Out with the Old or In with the New Challenge! Thank you all for your support!
Entry #20 SandraCraftyCardz ! Please contact me via email and I will arrange to get your prize out to you!
Truly fabulous creations- be sure to snag your blog badge from the sidebar!
Have a great weekend everyone and we hope you will try out a technique and join our current challenge!
Hello everyone and welcome to SOS Challenge 9! First, a big THANK YOU to all of you who participated in our last challenge! Such a wonderful response and variety of projects! You all rock!
Do you have some supplies gathering dust for a special technique that you haven't used in awhile (or ever)? Perhaps some Dreamweaver stencils, quilling, alcohol inks, shaving cream backgrounds, brayer techniques, melted crayon backgrounds, microfine glitter and scor-tape, even coloring with a different medium than you usually use? Dust off those supplies and create something new! You aren't limited to those suggestions, but be sure to tell us what technique you are using.
Check out the fabulous DT creations- these ladies always amaze me with their projects! Be sure to stop by their blogs for details on how they made their card!
And Guest DT Kim did this fabulous layout with punch art...so cool!
We cannot wait to see what you come up with this week- there are so many different techniques and ideas out there!
A reminder: You can create anything...card, layout, altered item, sewing, fiber art, etc. Be sure to limit your combining of challenges to no more than 13 total and tell us what technique you are using!
Whoohoo it's Friday! It's been a long week for me, and I am ready to relax after work today for the weekend!
Truly fabulous projects this week and congrats...be sure to snag your Top 3 Badge from the sidebar!
And we hope to see you all in our current challenge!
Time for another Shopping Our Stash Challenge! I am so glad you stopped in today!
So, this week not only are we asking you to part with some of your most hoarded or oldest stash, we are also giving you the green light to bust out the brand spankin' new stuff! We are equal opportunity stash users!
I apologize for not getting the July prize pic up yet... the postal strike has delayed some of my packages en route but rest assured there will be a prize for one random winner at the end of July!
Let's see what the SOS Crew has come up with this week!
So, no excuse this week.. old or new, we want to see it! Just be sure you tell us how it fits the challenge and limit your challenge links to a total of 13 including this one!
Be sure to come back Friday to see Guest DT Heather's creation and who knows what else along with the Top 3!
Happy Friday! I hope everyone had a great week- for some of you it was a shorter work week!
First off if you didn't swing by DT Leslie's blog to see all the stuff she made from her kit, you should have-she really made a lot of fabulous things from one kit, including these which are just too cool- money or gift certificate holders and a super cute birthday card!
And now, on to the Top 3- again,you all wowed us with your projects this week!
Super creations ladies! Feel free to grab the Top 3 Badge from the sidebar.
Cre8tive Cindy at Cre8tive Cindy Scrapbook Layouts and Cards!
Congrats Cindy- just drop me an email using the Contact Me button the top of the page!
Don't forget there's still time to induldge your sweet tooth and join in our Current Challenge- each entry you submit throughout the month goes into the draw for the montly prize. July's prize will be announced next week!
Kits, RAKS, Candy, Swaps and Swag- use something you got in a swap, a RAK, won, or a card kit or page kit, etc. If you don't have anything from those categories, use something candy/sweets related or inspired- red and white for a peppermint stick, dessert images, cupcake image or papers, cafe latte, ice cream, etc.
And since it's the first challenge of July we are happy to welcome our July Guest Designers Heather and Kim! Be sure to stop by their blogs and say hello!
And we also extend a fond farewell to the June Guest Designers LouMac and Kristie! We really appreciate your fabulous creations!
So, there you have it! We can't wait to see what fabulous creations you will turn out this week! Don't forget to link to us in your post, limit your challenges to 13 including this one, and Shop Your Stash! Come back on Friday to see who wins the June prize and the Top 3!


In this episode of Cabela's Deer Gear TV, we are looking at the extraordinary knockdown power, speed, and accuracy that comes from a TenPoint Crossbow. We'll review TenPoint's Crossbow of the Year, the Stealth NXT and also debut TenPoint's newest and most powerful crossbow ever to hit the market the Nitro XRT. You'll see incredible hunting action showing the knockdown and accuracy of the models as well as insight on the features of both the Stealth NXT and Nitro XRT models. We'll also then look at a comparison of the penetration power of the new Nitro XRT next to a 44 Mag handgun when it comes to creating wound channels. Later on, in the show, we'll also go on two separate crossbow hunts where we'll showcase hunting action from the field on two whitetail hunts.
Every episode of Cabela's DeerGearTV offers insight into new products for deer hunters, how to choose a hunting rifle, what to do when deer hunting, how to deer hunt, what to wear when deer hunting and insight in tactics for deer hunting.
Performance Center T/CR22 rimfire rifle line to include specialty stocks and heavy barrels.
Performance Center announced today that it has expanded its rifle line with the addition of two new .22LR rimfire rifles. The new Performance Center T/CR22 rifles feature ergonomic Hogue® Overmolded® and Laminated thumbhole stocks as well as precision rifled heavy contour barrels. Co-developed by Performance Center and Thompson/Center Arms, the Performance Center T/CR22 rimfire rifles will operate using the reliable T/CR22 semi-automatic rifle action and ten round rotary magazine, while maintaining compatibility with most aftermarket 10/22® parts and accessories.
The Performance Center T/CR22 is offered in two configurations: a Hogue® Overmolded® Thumbhole synthetic stock and an Altamont® Laminated Thumbhole stock. The rifles feature a light, crisp trigger pull, button-rifled heavy contour barrel, and a threaded muzzle that allows for the use of a suppressor or other muzzle device.
Chambered in .22LR, the new Performance Center T/CR22 rifle ships with one 10-round detachable rotary magazine and includes Thompson/Center's limited lifetime warranty. The new Performance Center T/CR22 rifle with Hogue®Overmolded® stock will carry an MSRP of $497, while the Altamont® Laminated Thumbhole version will carry an MSRP of $616.
To learn more about the new Performance Center T/CR22 rifle, please click here. To stay up to date on all of the latest news and events, follow Performance Center on Facebook, Twitter, and Instagram.


text:
The question never WAS answered... Where ARE the virtuosi of the arranger?
Nowhere... (IMO)
Why would anyone capable of being called a virtuoso bother playing something that isn't primarily HIM playing? Even if he made his own styles, it's NOT him in control. No modern arranger makes MUSICAL decisions, only robotic, pre-programmed ones. No musician worth his salt wants to be recognized as the best 'button-pusher'. He wants what the audience hears to be recognizably HIM, and nothing else. Everything else dilutes the impact.
I am afraid we tend to concentrate on non-musical aspects of the arranger... Songbooks, MP3 players, video output, rubbish like that. I honestly can hardly think of a single feature added to an arranger in the last few years that made it more MUSICAL. I still cringe when I hear the utter destroying of musical basslines by the arranger's inability to wrap notes intelligently, or the jackrabbit jumping around of chords, rather than smooth voice leading.
Musicians are SO, so much better than arrangers, in just about every way. It is no wonder that no one worthy of his salt will use one for anything other than crass commercial reasons. We sit around here and post URL after URL of amazing MUSICIANS, and gasp in wonder. But what we REALLY need to do is ask ourselves why we are playing arrangers that never get even a MILE close to what these people can do, and why we are so satisfied with them, anyway...
They suck!
Me, I want an arranger that has a heart, an arranger that is MUSICAL, that spends less time on features for people that CAN'T play, and has more of them for people that CAN. I want an arranger that does what GREAT players do, and not what very average robots do...
I believe that the technology already exists capable of doing this. But, unfortunately, the majority of the market for arrangers wouldn't recognize correct voice leading if it bit them on the behind! But they SURE know a good karaoke readout when they see one!
Maybe, one day, if the manufacturers concentrate on making features that help REAL musicians, rather than bedroom jockeys and one-finger noodlers, we may FINALLY see someone who IS a virtuoso choose to play an arranger.
But not until...
(BTW... long enough for you, Donny?:0 )
Loc: Athens, Greece
Diki is slowly coming back.
Originally posted by Diki:
...Me, I want an arranger that has a heart, an arranger that is MUSICAL, that spends less time on features for people that CAN'T play, and has more of them for people that CAN. I want an arranger that does what GREAT players do, and not what very average robots do...
That would be the much debated PRO arranger. Maybe it will happen sometime.
spalding1968
Loc: United Kingdom
You really dont know much about creativity at all Diki. Its not the instrument, its the limitation in terms of imagination and creativity of the player that is stalling arranger keyboards from being used as the go to keyboard instrument instead of the hobbyists instrument that it is currently.
If any musician spent 6-8 hours a day on any instrument including an arranger i know they would come up with inovative ways of using it that would blow your socks off. But unfortunately the arranger has been pigeon holed into purely a one man band instrument (which is certainly not its sole purpose) or a hobbyists instrument which again the top of the range arrangers are much more than that. All it needs is someone to genuinely get under the hood and discover how its unique features could be utilised in moden music. But it wont happen anytrime soon because the people that own arrangers change them everytime a new one comes out every 2-3 years never appreciating what they had or fully understanding what could have been done with their existing keyboard.
we dont need anymore bangs and whistle on our arrangers. We just ned to know how to use the arsenal we already have appropriately
Loc: English Riviera, UK
While I agree that it�s the player that makes the biggest difference, different instruments are made for different users, and the Arranger keyboard has ALWAYS without EXCEPTION, been designed for the Home Hobby Player NOT the Professional Player, therefore they will always keep having features incorporated to make the home player sound great with minimal effort.
Remember a lot of Hobby players already have a day job, or are retired and want to do things they couldn�t do when they were working, consequently they do not have time to practice as a Professional would.
So if you�re waiting for features suitable for a Professional to be incorporated into an Arranger keyboard, then you will have a very, very, very long wait, as you are a miniscule part of the Arranger market.
You may not like it, but that�s the facts.
So Just Enjoy Whatever You Play
English Riviera:
Live entertainment, Real Ale, Great Scenery, Great Beaches, why would anyone want to live anywhere else (I�m definitely staying put).
Originally posted by trident:
Vacation Over!!
http://www.surflight.org/concerts.htm
Tommy Emanuel in concert on the Jersey shore in a few weeks!
this guy is just off the charts
http://www.youtube.com/watch?v=6hb7DYgcwSo
The reason why arranger players struggle to get to this level of creativity is because they are always looking for the next technological break through in keyboards rather than just loving making music and developing their skills to make even greater music. this guy loves making music and it is clear that he gets a greater kick out of the music than even his audiebce.
Originally posted by spalding1968:
Right on, Spalding. No matter what most may post here, it seems they're more into new gear than into making music. They'll start debating the Tyros 5 as soon as the T4 is out. Well, first the forum goes into a slump till they hear a new board is coming out. Then speculation season starts.
As for me, I am not a technically inclined person so all these new gadgets don't mean much to me. I prefer to hit the ON-button and just play. Are no SA voices or whatever they're called elsewhere going to turn me into a better player.
To me an arranger is a make-believe instrument. It may sound great to a number of people but will never compare to the real instruments it's trying to emulate. Neither will it impress a guitar player, trumpet player, drummer, etc. The complexities of a guitar, trumpet, violin, etc. can and never will be emulated on a keyboard. It's simply impossible. So far the B3 has never been really successfully cloned and shouldn't that be easier than a guitar, trumpet or violin? So it all comes down to make-believe. Close to some ears but light years away from the real thing. There'll never be a philharmonic arranger keyboard orchestra.
NO INSTRUMENT HAS HEART! It's the player that has heart, and I really don't give a damned what he or she plays, just as long as they pour their heart and soul into each and every song they perform. It can be an arranger keyboard, guitar, mandolin, violin, piano, you name it--it really doesn't make a damned bit of difference what instrument he or she plays. I've heard some incredible players in my life, many of which have been trained by the best institutions of music. Some performers are incredible readers, they can play any song from sheet music, and it is flawless. I've heard others that cannot read a note, play the same song using their instrument of choice, including an arranger keyboard, and produce a masterpiece that opens your soul and brings tears to your eyes. As stated many times in the past--IT'S THE PLAYER--NOT THE INSTRUMENT!
Originally posted by travlin'easy:
Great Post Gary and so true!


text:
Posted by Jim McClure October 26, 2009 May 7, 2015 Archives, all posts, Books & reading, Events, Genealogy/research, Local journalism & Web, People, School days, Women's history, York celebrities, York High achievers
Judge Emanuel Cassimatis added to growing list of distinguished York countians recognized for community involvement
York, Pa.'s Martin Library honored Emanuel A. Cassimatis for library and community involvement at a recent ceremony. The event also served as a fundraiser for the library's endowment fund, used to purchased new books. (See list of past honorees and Cassimatis' favorite books below.) The Cassimatises: 'Builders and Heroes,' Part I and William Penn Senior High School Hall of Fame honors a host of York County achievers and York's Martin Library asks community: What to do with those old doors?.
Retired York County Judge Emanuel A. Cassimatis was meeting with the president of Bosnia-Herzegovina as part of the International Tribunal of Children's Rights. It was the Friday following the terrorist attack of Sept. 11, 2001.
During introductions, the president express his sympathy to Cassimatis, as a U.S. representative, for the tragedy.
"You know," he told the group, "we are all bound by a universal consciousness so that when something happens to one of us, it affects all of us."
Cassimatis told that story in receiving an award from Martin Library. This member of York's pioneering Greek family then summarized its meaning and what it says about community involvement… .
"I would suggest that it is this natural sense of communion we have with one another," he said, "that leads us to share our social capital with our fellow citizens."
The retired judge is now on a list of involved community workers recognized by the library. That list, which follows, is a who's who of community achievers in the past 15 years:
Jennifer Paup
May M. Hart
Otis B. Morse IV
William H. Kain
Helen Klinedinst
C. William Dize
Elaine Kirschner Laucks
R. Clair Frank
Walt Partymiller
Ruthe Fortenbaugh Craley
William A. Falkler
Mary G. Stephenson
Dorrie Leader
Lavere Senft
Zoe Meisenhelder
George D. Stough
Lynne Pfafflin Danyo
Luther and Ruth Sowers
Frances E. Keller
Judge Emanuel Cassimatis
Donald Dellinger Jr.
Presidents of the Board, 1935-2010
Harvey & Win Bradley
Bradley G. Rutter
Daniel & Brenda Elby
Loren H. Kroh
Bill Simpson Memorial
Trish Calvani
George Trout Sr.
It was appropriate that the judge's name is now on the list. Some of those feting him told about his avid interest in books.
His favorites:
"Truman," David McCullough
"The Illiad," Homer
"American Creation: Triumphs and Tragedies at the Founding of the Republic," Joseph J. Ellis.
"The Greek Passon," Nikos Kazantzakis
"An Unquiet Mind," Kay Redfield Jamison
"The Clash of Civilizations and the Remaking of the World Order," Samuel P. Huntingdon
Update: Emanuel A. Cassimatis passed away in 2009. Here's his obituary.
*Updated, 5/7/15
Ohio Blenders silos in York's Northwest Triangle are not coming down easily
Gazebo ceiling as blue as the sky: Linked in with neat York County, Pa., history stuff – Oct. 27, 2009
In 2020 anniversary year, York County women honored for their accomplishments, storytelling
Parks, towns and neighborhoods: Neat places to visit in York County, Pa.