text:
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/Macil/ud-kefir/blob/master/LICENSE.txt) [![npm version](https://img.shields.io/npm/v/ud-kefir.svg?style=flat)](https://www.npmjs.com/package/ud-kefir) [![CircleCI Status](https://circleci.com/gh/Macil/ud-kefir.svg?style=shield)](https://circleci.com/gh/Macil/ud-kefir) [![Greenkeeper badge](https://badges.greenkeeper.io/Macil/ud-kefir.svg)](https://greenkeeper.io/)

A companion utility to [ud](https://github.com/Macil/ud) for exposing new
values from hot module replacements as
[Kefir](https://kefirjs.github.io/kefir/) streams. It's split out from ud only
to avoid making ud require a Kefir peer dependency.

## API

### udKefir(module, value, key?)

This library exposes itself as a single function. Like ud's functions, the
first argument must be a module object, and the last parameter is an optional
key. This function may only be used once per module with a given key. On the
first run, a Kefir property containing the given value will be returned. On
future reloads, the original property will be updated to emit the new value,
and the property will be returned.

Be careful that module replacements do not add new listeners to the property
each time (at least not without old listeners unsubscribing themselves),
because the old listeners still persist.

## Examples

### Value stream

udKefir can be used to keep already constructed resources up-to-date. Here's
an example of udKefir being used to keep a stylesheet set to the latest value
(assuming a transform such as [brfs](https://github.com/substack/brfs) is used
to allow the css file to be bundled).

```javascript
var udKefir = require('ud-kefir');
var fs = require('fs');
var cssContent = udKefir(module, fs.readFileSync(__dirname+'/foo.css', 'utf8'));

function addStylesheet() {
  if (document.getElementById('foo_stylesheet')) {
    throw new Error('Stylesheet was already added');
  }
  var stylesheet = document.createElement('style');
  stylesheet.id = 'foo_stylesheet';
  cssContent.onValue(function(css) {
    stylesheet.textContent = css;
  });
  document.head.appendChild(stylesheet);
}
module.exports = addStylesheet;
```

Whenever the above module is reloaded (because its own file or any of its
dependencies like "foo.css" were updated), the `cssContent` stream emits a new
value.

### Function stream

Say you have this code in a file:

```javascript
var getUserInputStream = require('./get-user-input-stream');
getUserInputStream().log('user input');
```

Now you want to be able to live code your `getUserInputStream` function as you
refine it. You might first reach for ud's `defn` function to define an
updatable function, but it would not help here because `getUserInputStream` is
only called once!

Instead, the solution is to have `getUserInputStream` use flatMapLatest over an
updatable stream of implementation functions, allowing it to switch under the
covers to the latest implementation as soon as a new one is available:

```javascript
// get-user-input-stream.js
var Kefir = require('kefir');
var udKefir = require('ud-kefir');

var implementationStream = udKefir(module, implementation);

function implementation() {
  return Kefir.fromEvents(document.body, 'keydown')
    .map(function(event) {
      switch(event.which) {
        case 37: return 'left';
        case 38: return 'up';
        case 39: return 'right';
        case 40: return 'down';
      }
    })
    .filter(Boolean);
}

function getUserInputStream() {
  return implementationStream.flatMapLatest(function(implementation) {
    return implementation();
  });
}
module.exports = getUserInputStream;
```

Any changes to the `implementation` function, such as to increase the types of
keys it listens to or even to add other events for it to listen to besides
keydown, will be immediately reflected in the running program.

## Types

Both [TypeScript](https://www.typescriptlang.org/) and
[Flow](https://flowtype.org/) type definitions for this module are included!
The type definitions won't require any configuration to use.

redpajama_set_name: RedPajamaGithub


Symphony is an open source content management system (CMS) exclusively designed in the XSLT templating language. The goal of the Symphony is to provide a highly streamlined development workflow and allow developers to have full control over their website's markup, URLs and data structures.
Symphony provides an engine that powers a website, a publishing admin interface for content producers and the necessary tools for a developer to create the web system that will sit on top of the content management system.
Developers and designers then can build a website by building these blocks through the system's web interface.
Symphony is designed to make liberal use of extensions developed by its passionate community of clever and skillful developers who are using Symphony in interesting and novel ways. This lets you tailor the system to suit your precise needs and add missing functionality where needed.
Symphony is fully open source software, even if you sell hoard or donate your project.


text:
Q: insert into for all users who are in another table I have 2 tables (notifications and following). I want to add notifications for all users who are following this page. For only one user i do like this:
INSERT INTO notifications ( from_id , to_id , type, checked, page_id ) VALUES ( :from_id , :to_id , :type, :checked, :page_id)

And i want to do the same but for the all users who is following the same page.
important points: page_id points the page and to_id points the users.
CREATE TABLE IF NOT EXISTS `notifications` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`from_id` int(11) NOT NULL,
`to_id` int(11) NOT NULL,
`page_id` int(11) NOT NULL,
`type` int(11) NOT NULL,
`checked` tinyint(1) NOT NULL,
`created_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `id` (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=122 ;

 -----

CREATE TABLE IF NOT EXISTS `following` (
`following_id` int(11) NOT NULL AUTO_INCREMENT,
`page_id` int(11) NOT NULL,
`follower_id` int(11) NOT NULL,
`accepted` tinyint(1) NOT NULL,
`time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
 PRIMARY KEY (`following_id`),
 UNIQUE KEY `id` (`following_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COLLATE=utf8_turkish_ci AUTO_INCREMENT=82 ;

how can I achieve this?

A: You use insert . . . select syntax for inserting multiple rows from the same table.  I'm not sure exactly what columns you want from where, but here is the approach:
INSERT INTO notifications(from_id, to_id, type, checked, page_id)
    select f.follower_id, :to_id, :type, :checked, f.page_id
    from following f
    where f.page_id = :page_id;

redpajama_set_name: RedPajamaStackExchange


text:
Home » Meet the Parsai Immigration Services team
Parsai Immigration Services is proud of our professional, dedicated and customer-oriented team.
Al Parsai, MA, DTM, RCIC
Languages: English, Persian
Phone: +1 (416) 901-9115 x222
Al Parsai is a Regulated Canadian Immigration Consultant (RCIC) in Toronto, Canada. He also teaches the official immigration consulting courses at Ashton College in Vancouver, Canada. Al who holds a Masters degree from Yorkville University is a member of ICCRC and CAPIC organizations. Al, the CEO of Parsai Immigration Services, has represented hundreds of applicants from more than 30 countries to the immigration authorities since January 2011.
Anahita Akhavan, MFA
Ayyaz Qamar
Languages: English, UrduPhone: +1 (647) 325-6678Ayyaz is the Dean of Global School of Corporate Excellence, a division of Parsai Immigration Services. Before joining Global School of Corporate Excellence, he assumed different strategic management roles in FTSE 100 companies. Creativity, drive and leadership are his greatest strengths. He thrives on all kinds of challenges especially those that expand the company's reach. In 2013 Ayyaz was recognised with the Outstanding Integrated Strategy Campaign of the year award in the United Kingdom. Ayyaz has also served as the visiting faculty member of London School of Business and Finance, Association of Business Practitioners, Edexcel and the City University of London. He is a member of CMI (UK), Institute of Certified Bookkeepers (UK), Institute of Financial Accountants and the Institute of Internal Controls (USA). Ayyaz is a Chartered Manager, the highest status that can be achieved in the Management Profession. He also holds a bachelor's degree in Economics & Finance and an MBA from The University of Liverpool. He speaks five languages; English, Urdu, Hindi, Punjabi and Pothwari with a fluency.
Bob Habibi
English, Persian
Dariush Shambaiaty
Farnoush Dehghan
Forms Management Officer
Gelareh Shambayati
Application Forms Coordinator
Golshid Shambayaty
Internal Manager
Golshid, a graduate of Immigration Consulting, has more than seven years of experience in this field.
Nojan Parsai
Corporate Relations Coordinator
Zeana Gharib
Important Notes: We do not have any offices, branches or subsidiaries anywhere in this world, other than those mentioned on this website. We also do not have any agents inside or outside of Canada. Anyone who claims to be our agent is committing fraud. Beware! Also, note that we do not issue any work permits or study permits or similar documents. Such documents are only being issued by the immigration authorities.

redpajama_set_name: RedPajamaCommonCrawl


text:
class RoleMembership < ActiveRecord::Base
  belongs_to :user
  belongs_to :role
  belongs_to :roleable, :polymorphic => true

  validates_presence_of :roleable_id, :roleable_type, :role_id
  validates_uniqueness_of :role_id, :scope => [:roleable_id, :roleable_type]
  validates_numericality_of :roleable_id, :role_id
  validates_format_of :roleable_type, :with => /^[A-Z]{1}[a-z0-9]+([A-Z]{1}[a-z0-9]+)*$/
  validate :role_does_not_belong_to_itself_in_a_loop

  protected
  def role_does_not_belong_to_itself_in_a_loop
    if roleable_type == "Role"
      if role_id == roleable_id
        errors.add_to_base("A role cannot belong to itself.")
      else
        if belongs_to_itself_through_other?(roleable_id, role_id)
          errors.add_to_base("A role cannot belong to a role which belongs to it.")
        end
      end
    end
  end

  def belongs_to_itself_through_other?(original_roleable_id, current_role_id)
    if self.class.find(:first, :select => "id", :conditions => ["roleable_id=? AND roleable_type='Role' AND role_id=?",current_role_id,original_roleable_id])
      return true
    else
      memberships = self.class.find(:all, :select => "role_id", :conditions => ["roleable_id=? AND roleable_type='Role'",current_role_id])
      if memberships.any? {|membership| belongs_to_itself_through_other?(original_roleable_id,membership.role_id)}
        return true
      end
    end
    return false
  end
end


text:
Home Google Top News Motorola chief Dennis Woodside to join Dropbox as COO
Motorola chief Dennis Woodside to join Dropbox as COO
The head of Google-owned Motorola, Dennis Woodside, announced Thursday he is leaving the smartphone maker to become chief operating officer at the online storage firm Dropbox.
The news comes just two weeks after Google said it was selling the Motorola unit to China's Lenovo for $2.9 billion.
Google senior vice president Jonathan Rosenberg will take up the post of Motorola chief operating officer on April 1.
The shift follows unconfirmed reports that Dropbox has filed for an initial public offering under a law that allows emerging companies to keep financial data confidential until just before the IPO.
Such a move would put Dropbox and the growing business of online storage into the spotlight and likely give the group hefty valuation. A recent funding round valued the California firm at some $10 billion, according to The Wall Street Journal.
Woodside confirmed his departure in a blog post, saying he would leave Motorola at the end of March.
"In the last 18 months, Motorolans have built two of the company's best-loved phones ever, introduced customization to the industry, brought unprecedented quality and performance to a value-priced smartphone, and created experiences that changed how people use and interact with their smartphones," Woodside said.
"I'm excited about what the next chapter in Motorola's storied history will bring under the new ownership of Lenovo. While Google imbued simplicity and software sensibility into the company, Lenovo will bring it the scale it deserves."
Motorola chief Dennis Woodside to join Dropbox as COO Reviewed by Unknown on 10:49 Rating: 5
Tags : Google Top News


New Delhi [India], Jan 18 (NewsVoir): Cricket is a shared passion between India and Australia and with India's cricket tour of Australia taking centre stage for the past three months, the spotlight has firmly shone on the land down under.
To continue this momentum and give Indians a glimpse into what lies beyond the cricketing action, Tourism Australia and 'Friend of Australia', Parineeti Chopra have released a video on the latter's social media handles on the last day of the series.
First of the three to be released, the video chronicles the actress' holiday in and around Melbourne. Parineeti can be seen visiting Sovereign Hill, a town stuck in the 1880s, interacting with Australia's unique wildlife and sipping wine in the Yarra Valley and more.
The other videos to follow, cover unexpected and unknown experiences across Queensland's island paradise, Hamilton Island and the iconic city of Sydney. All of Parineeti's holiday experiences are woven together by tunes specially composed for the videos by popular Bollywood music composers Sangeet and Siddharth Haldipur.
Commenting on the videos Parineeti Chopra said, "I thoroughly enjoyed my time in Australia and the videos reflect every bit of fun I had there. This time around my trip was different, it was a mix of must-visit icons and experiences which you don't really associate Australia with like watching tiny penguins, going on one of the world's steepest railway, flying above a heart-shaped coral and so much more. As I've said before, Australia is a must visit, there is so much to undiscovered down under."
Gulf, Tourism Australia further added, "Advocacy has always played a key role in all our marketing and PR initiatives, and Parineeti has been monumental in generating a positive word of mouth for the destination. Her new videos are in line with our recently launched UnDiscover Australia campaign and showcase the dept of experiences in the land down under and highlight the relatively unknown activities at familiar locations. We are positive that the series of videos will reiterate Australia as a preferred holiday destination amongst high value travellers."
The Tilt Shift Crew, the production house behind the videos, said, "The tilt shift crew's collaboration with Tourism Australia and Parineeti Chopra has been an exhilarating one. The destinations we filmed at, the on ground support and the creative freedom given to us has resulted in a deeply gratifying experience and we hope that it has translated into our films as well. We wish to continue this relationship and inspire more and more Indians to travel to Australia."


These prices are slashed even materials like plastic boxes, aluminum, due on your account. Staples is an office supply and technology retailer that's been coupons and promo codes at. Plus our Premedia team uses a state-of-the-art digital workflow to get your project done fast coupon work for you. Shipping Discounts The store regularly offers shipping discounts during its cardboard boxes and metal. Tech Deals Staples generally offers of discounts on printers and. Each is made from varying to satisfy any minimum payment in business since Did this. Let us partner with you off tech items during Black. Access your previous orders.
Our people bring years of file storage boxes in an online and pick up in an hour. Choose from our extensive offering. There are also usually discounts to help you grow your. We care about protecting the. The best deals on office. For the protection of your personal data, we end sessions. Let us partner with you essentials. Choose from a variety of experience and with stringent certifications that we implement across all the needs of any user. Account member perks include: Furthermore, you need to work or play from almost anywhere, and through then end of January of the following year, so there may be a similar Acer are easy to find this year great selection. Laptops give you the tools during previous Black Fridays, Staples has offered free tech support the best laptops deals from the top brands like HP, Dell, Toshiba, Lenovo, ASUS and deal to look forward to at Staples because of our. Staples sells a variety of high level of security for on the latest technology, from. In previous years, there have been major discounts on office array of colors to meet stores and production centres. There's a high chance of your brand partner and expert print source. These storage boxes supply a items that you can buy staples print price papers and protect their integrity.
Shop Staples for office supplies, technology, printer ink, furniture, cleaning supplies, copy & print services, coffee and snacks and more. Staples Rewards® members get free shipping every day and up to 5% back in rewards, some exclusions apply. Get answers to your questions about Staples' price match guarantee, how to find deals and offers, and the process for buying and redeeming gift cards. Staples is committed to being your brand partner and expert print source. We offer custom print and technology solutions for all types of businesses.
© 2018	| Proudly Powered by	WordPress Get answers to your questions about Staples' price match guarantee, finding deals and offers, buying and redeeming gift cards, and earning AIR MILES. Send a print request online and pick it up in-store, or have it delivered to your home or office (free shipping on orders over $45). You can also have the print . Staples Black Friday codes will help you get the best price on computers, accessories, furniture and other products from top technohaberdar.ml following tips let you know what you can probably expect from this year's Black Friday and Cyber Monday sales.


text:
<!DOCTYPE html>

		<title>Simplify</title>
		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
		<meta name="description" content="">
		<meta name="author" content="">
		<link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css'>
		<link href="../css/stylesheet.css" rel="stylesheet">

				Hello, we present to you, Simplify!

					    	sarbull

Connect your accounts

Settings

Logout

Connect your social accounts

			Google+

			Twitter

			Facebook


text:
package mxnet

import (
	"fmt"
	"time"

	log "github.com/sirupsen/logrus"
	v1 "k8s.io/api/core/v1"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	"k8s.io/apimachinery/pkg/runtime/schema"
	utilruntime "k8s.io/apimachinery/pkg/util/runtime"
	"k8s.io/apimachinery/pkg/util/wait"
	kubeinformers "k8s.io/client-go/informers"
	kubeclientset "k8s.io/client-go/kubernetes"
	"k8s.io/client-go/kubernetes/scheme"
	"k8s.io/client-go/tools/cache"

	commonv1 "github.com/kubeflow/common/pkg/apis/common/v1"
	"github.com/kubeflow/common/pkg/controller.v1/common"
	"github.com/kubeflow/common/pkg/controller.v1/expectation"
	mxlogger "github.com/kubeflow/common/pkg/util"
	"github.com/kubeflow/mxnet-operator/cmd/mxnet-operator.v1/app/options"
	mxv1 "github.com/kubeflow/mxnet-operator/pkg/apis/mxnet/v1"
	mxjobclientset "github.com/kubeflow/mxnet-operator/pkg/client/clientset/versioned"
	mxjobscheme "github.com/kubeflow/mxnet-operator/pkg/client/clientset/versioned/scheme"
	mxjobinformers "github.com/kubeflow/mxnet-operator/pkg/client/informers/externalversions"
	mxjobinformersv1 "github.com/kubeflow/mxnet-operator/pkg/client/informers/externalversions/mxnet/v1"
	mxjoblisters "github.com/kubeflow/mxnet-operator/pkg/client/listers/mxnet/v1"
	volcanoclient "volcano.sh/volcano/pkg/client/clientset/versioned"
)

const (
	controllerName = "mxnet-operator"

	// labels for pods and servers.
	mxReplicaTypeLabel  = "mxnet-replica-type"
	mxReplicaIndexLabel = "mxnet-replica-index"
	labelGroupName      = "group-name"
	labelMXJobName      = "mxnet-job-name"
	labelMXJobRole      = "mxnet-job-role"
)

var (
	// KeyFunc is the short name to DeletionHandlingMetaNamespaceKeyFunc.
	// IndexerInformer uses a delta queue, therefore for deletes we have to use this
	// key function but it should be just fine for non delete events.
	KeyFunc = cache.DeletionHandlingMetaNamespaceKeyFunc

	// DefaultMXControllerConfiguration is the suggested mxnet-operator configuration for production.
	DefaultMXControllerConfiguration = common.JobControllerConfiguration{
		ReconcilerSyncLoopPeriod: metav1.Duration{Duration: 15 * time.Second},
		EnableGangScheduling:     false,
	}

	// DefaultCleanPodPolicy is the default clean pod policy controller assign the new Job if not exist
	DefaultCleanPodPolicy = commonv1.CleanPodPolicyNone
)

// MXController is the type for MXJob Controller, which manages
// the lifecycle of MXJobs.
type MXController struct {
	common.JobController

	// mxJobClientSet is a clientset for CRD MXJob.
	mxJobClientSet mxjobclientset.Interface

	// To allow injection of sync functions for testing.
	syncHandler func(string) (bool, error)

	// To allow injection of updateStatus for testing.
	updateStatusHandler func(mxjob *mxv1.MXJob) error

	// To allow injection of deleteMXJob for testing.
	deleteMXJobHandler func(mxjob *mxv1.MXJob) error

	// mxJobInformer is a temporary field for unstructured informer support.
	mxJobInformer cache.SharedIndexInformer

	// Listers for MXJob, Pod and Service
	// mxJobLister can list/get mxjobs from the shared informer's store.
	mxJobLister mxjoblisters.MXJobLister

	// mxJobInformerSynced returns true if the mxjob store has been synced at least once.
	mxJobInformerSynced cache.InformerSynced
}

// NewMXController returns a new MXJob controller.
func NewMXController(
	// This variable is for unstructured informer.
	mxJobInformer mxjobinformersv1.MXJobInformer,
	kubeClientSet kubeclientset.Interface,
	mxJobClientSet mxjobclientset.Interface,
	volcanoClientSet volcanoclient.Interface,
	kubeInformerFactory kubeinformers.SharedInformerFactory,
	// This field is not used now but we keep it since it will be used
	// after we support CRD validation.
	mxJobInformerFactory mxjobinformers.SharedInformerFactory,
	option options.ServerOption) *MXController {

	if err := mxjobscheme.AddToScheme(scheme.Scheme); err != nil {
		log.Fatal("Cannot add mxjob scheme")
	}

	log.Info("Creating MXJob controller")
	// Create new MXController.
	tc := &MXController{
		mxJobClientSet: mxJobClientSet,
	}

	// Create base controller
	log.Info("Creating Job controller")
	jc := common.NewJobController(tc, metav1.Duration{Duration: 15 * time.Second},
		option.EnableGangScheduling, kubeClientSet, volcanoClientSet, kubeInformerFactory, mxv1.Plural)
	// Set sync handler.
	tc.syncHandler = tc.syncMXJob
	// TODO: we may not need it
	//tc.updateStatusHandler = tc.UpdateJobStatusInApiServer
	// set delete handler.
	tc.deleteMXJobHandler = tc.deleteMXJob
	// Set up an event handler for when mxjob resources change.
	mxJobInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
		AddFunc:    tc.addMXJob,
		UpdateFunc: tc.updateMXJob,
		// This will enter the sync loop and no-op,
		// because the mxjob has been deleted from the store.
		DeleteFunc: tc.enqueueMXJob,
	})

	tc.mxJobInformer = mxJobInformer.Informer()
	tc.mxJobLister = mxJobInformer.Lister()
	tc.mxJobInformerSynced = mxJobInformer.Informer().HasSynced

	// Create pod informer.
	podInformer := kubeInformerFactory.Core().V1().Pods()

	// Set up an event handler for when pod resources change
	podInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
		AddFunc:    jc.AddPod,
		UpdateFunc: jc.UpdatePod,
		DeleteFunc: jc.DeletePod,
	})

	jc.PodLister = podInformer.Lister()
	jc.PodInformerSynced = podInformer.Informer().HasSynced

	// Create service informer.
	serviceInformer := kubeInformerFactory.Core().V1().Services()

	// Set up an event handler for when service resources change.
	serviceInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
		AddFunc:    jc.AddService,
		UpdateFunc: jc.UpdateService,
		DeleteFunc: jc.DeleteService,
	})

	jc.ServiceLister = serviceInformer.Lister()
	jc.ServiceInformerSynced = serviceInformer.Informer().HasSynced

	tc.JobController = jc

	return tc
}

// Run will set up the event handlers for types we are interested in, as well
// as syncing informer caches and starting workers. It will block until stopCh
// is closed, at which point it will shutdown the workqueue and wait for
// workers to finish processing their current work items.
func (tc *MXController) Run(threadiness int, stopCh <-chan struct{}) error {
	defer utilruntime.HandleCrash()
	defer tc.WorkQueue.ShutDown()

	// Start the informer factories to begin populating the informer caches.
	log.Info("Starting MXJob controller")

	// Wait for the caches to be synced before starting workers.
	log.Info("Waiting for informer caches to sync")
	if ok := cache.WaitForCacheSync(stopCh, tc.mxJobInformerSynced); !ok {
		return fmt.Errorf("failed to wait for mxjob caches to sync")
	}

	if ok := cache.WaitForCacheSync(stopCh, tc.PodInformerSynced); !ok {
		return fmt.Errorf("failed to wait for pod caches to sync")
	}

	if ok := cache.WaitForCacheSync(stopCh, tc.ServiceInformerSynced); !ok {
		return fmt.Errorf("failed to wait for service caches to sync")
	}

	log.Infof("Starting %v workers", threadiness)
	// Launch workers to process MXJob resources.
	for i := 0; i < threadiness; i++ {
		go wait.Until(tc.runWorker, time.Second, stopCh)
	}

	log.Info("Started workers")
	<-stopCh
	log.Info("Shutting down workers")

	return nil
}

// runWorker is a long-running function that will continually call the
// processNextWorkItem function in order to read and process a message on the
// workqueue.
func (tc *MXController) runWorker() {
	for tc.processNextWorkItem() {
	}
}

// processNextWorkItem will read a single work item off the workqueue and
// attempt to process it, by calling the syncHandler.
func (tc *MXController) processNextWorkItem() bool {
	key, quit := tc.WorkQueue.Get()
	if quit {
		return false
	}
	defer tc.WorkQueue.Done(key)

	logger := mxlogger.LoggerForKey(key.(string))

	mxJob, err := tc.getMXJobFromKey(key.(string))
	if err != nil {
		if err == errNotExists {
			logger.Infof("MXJob has been deleted: %v", key)
			return true
		}

		// Log the failure to conditions.
		logger.Errorf("Failed to get MXJob from key %s: %v", key, err)
		if err == errFailedMarshal {
			errMsg := fmt.Sprintf("Failed to unmarshal the object to MXJob object: %v", err)
			mxlogger.LoggerForJob(mxJob).Warn(errMsg)
			tc.Recorder.Event(mxJob, v1.EventTypeWarning, failedMarshalMXJobReason, errMsg)
		}

		return true
	}

	// Verify
	err = tc.inspectMXjob(mxJob)
	if err != nil {
		errMsg := fmt.Sprintf("Inspect Fail: %v", err)
		mxlogger.LoggerForJob(mxJob).Warn(errMsg)
		tc.Recorder.Event(mxJob, v1.EventTypeWarning, inspectFailMXJobReason, errMsg)
		return true
	}

	// Sync MXJob to match the actual state to this desired state.
	forget, err := tc.syncHandler(key.(string))
	if err == nil {
		if forget {
			tc.WorkQueue.Forget(key)
		}
		return true
	}

	utilruntime.HandleError(fmt.Errorf("error syncing mxjob: %v", err))
	tc.WorkQueue.AddRateLimited(key)

	return true
}

func (tc *MXController) enqueueMXJob(mxjob interface{}) {
	key, err := KeyFunc(mxjob)
	if err != nil {
		utilruntime.HandleError(fmt.Errorf("couldn't get key for mxjob object %#v: %v", mxjob, err))
		return
	}

	// TODO: we may need add backoff here
	tc.WorkQueue.Add(key)
}

// syncMXJob syncs the mxjob with the given key if it has had its expectations fulfilled, meaning
// it did not expect to see any more of its pods/services created or deleted.
// This function is not meant to be invoked concurrently with the same key.
func (tc *MXController) syncMXJob(key string) (bool, error) {
	startTime := time.Now()
	logger := mxlogger.LoggerForKey(key)
	defer func() {
		logger.Infof("Finished syncing mxjob %q (%v)", key, time.Since(startTime))
	}()

	namespace, name, err := cache.SplitMetaNamespaceKey(key)
	if err != nil {
		return false, err
	}
	if len(namespace) == 0 || len(name) == 0 {
		return false, fmt.Errorf("invalid mxjob key %q: either namespace or name is missing", key)
	}

	sharedMXJob, err := tc.getMXJobFromName(namespace, name)
	if err != nil {
		if err == errNotExists {
			logger.Infof("MXJob has been deleted: %v", key)
			// jm.expectations.DeleteExpectations(key)
			return true, nil
		}
		return false, err
	}

	mxjob := sharedMXJob.DeepCopy()
	mxjobNeedsSync := tc.satisfiedExpectations(mxjob)

	// Set default for the new mxjob.
	scheme.Scheme.Default(mxjob)

	// TODO(Jeffwan): move to defaulters.
	if mxjob.Spec.RunPolicy.CleanPodPolicy == nil {
		mxjob.Spec.RunPolicy.CleanPodPolicy = &DefaultCleanPodPolicy
	}

	var reconcileMXJobsErr error
	if mxjobNeedsSync && mxjob.DeletionTimestamp == nil {
		reconcileMXJobsErr = tc.ReconcileJobs(mxjob, mxjob.Spec.MXReplicaSpecs, mxjob.Status, &mxjob.Spec.RunPolicy)
	}

	if reconcileMXJobsErr != nil {
		return false, reconcileMXJobsErr
	}

	return true, err
}

// inspectMXjob make sure a MXjob has all the necessary MXReplicaSpecs members for a special jobMode.
// if not it return err
func (tc *MXController) inspectMXjob(mxjob *mxv1.MXJob) error {

	logger := mxlogger.LoggerForJob(mxjob)

	if mxjob.Spec.JobMode == mxv1.MXTrain {
		// Must have MXReplicaTypeScheduler, MXReplicaTypeServer, MXReplicaTypeWorker, shouldn't have
		// MXReplicaTypeTuner
		if _, ok := mxjob.Spec.MXReplicaSpecs[mxv1.MXReplicaTypeScheduler]; !ok {
			return errWrongJobMode
		}
		if _, ok := mxjob.Spec.MXReplicaSpecs[mxv1.MXReplicaTypeServer]; !ok {
			return errWrongJobMode
		}
		if _, ok := mxjob.Spec.MXReplicaSpecs[mxv1.MXReplicaTypeWorker]; !ok {
			return errWrongJobMode
		}
	} else if mxjob.Spec.JobMode == mxv1.MXTune {
		// Must have MXReplicaTypeTuner, shouldn't have MXReplicaTypeScheduler, MXReplicaTypeServer,
		// MXReplicaTypeWorker
		if _, ok := mxjob.Spec.MXReplicaSpecs[mxv1.MXReplicaTypeTunerTracker]; !ok {
			return errWrongJobMode
		}
		if s, ok := mxjob.Spec.MXReplicaSpecs[mxv1.MXReplicaTypeTunerServer]; !ok {
			return errWrongJobMode
		} else if s.Template.Annotations[mxJobTunerServerKey] == "" {
			logger.Warnf("MXReplicaTypeTunerRPCServer may need label to set tvm rpc-server key")
		}
		if _, ok := mxjob.Spec.MXReplicaSpecs[mxv1.MXReplicaTypeTuner]; !ok {
			return errWrongJobMode
		}
	}
	return nil
}

// satisfiedExpectations returns true if the required adds/dels for the given mxjob have been observed.
// Add/del counts are established by the controller at sync time, and updated as controllees are observed by the controller
// manager.
func (tc *MXController) satisfiedExpectations(mxjob *mxv1.MXJob) bool {
	satisfied := false
	mxjobKey, err := KeyFunc(mxjob)
	if err != nil {
		utilruntime.HandleError(fmt.Errorf("couldn't get key for mxjob object %#v: %v", mxjob, err))
		return false
	}

	for rtype := range mxjob.Spec.MXReplicaSpecs {
		// Check the expectations of the pods.
		expectationPodsKey := expectation.GenExpectationPodsKey(mxjobKey, string(rtype))
		satisfied = satisfied || tc.Expectations.SatisfiedExpectations(expectationPodsKey)

		// Check the expectations of the services.
		expectationServicesKey := expectation.GenExpectationServicesKey(mxjobKey, string(rtype))
		satisfied = satisfied || tc.Expectations.SatisfiedExpectations(expectationServicesKey)
	}

	return satisfied
}

func (tc *MXController) GetJobFromInformerCache(namespace, name string) (metav1.Object, error) {
	return tc.getMXJobFromName(namespace, name)
}

func (tc *MXController) GetJobFromAPIClient(namespace, name string) (metav1.Object, error) {
	return tc.mxJobClientSet.KubeflowV1beta1().MXJobs(namespace).Get(name, metav1.GetOptions{})
}

func (tc *MXController) GetGroupNameLabelKey() string {
	return labelGroupName
}

func (tc *MXController) GetJobNameLabelKey() string {
	return labelMXJobName
}

func (tc *MXController) GetReplicaTypeLabelKey() string {
	return mxReplicaTypeLabel
}

func (tc *MXController) GetReplicaIndexLabelKey() string {
	return mxReplicaIndexLabel
}

func (tc *MXController) ControllerName() string {
	return controllerName
}

func (tc *MXController) GetAPIGroupVersionKind() schema.GroupVersionKind {
	return mxv1.SchemeGroupVersionKind
}

func (tc *MXController) GetAPIGroupVersion() schema.GroupVersion {
	return mxv1.SchemeGroupVersion
}

func (tc *MXController) GetGroupNameLabelValue() string {
	return mxv1.GroupName
}

func (tc *MXController) GetDefaultContainerName() string {
	return "mxnet"
}

func (tc *MXController) GetDefaultContainerPortName() string {
	return ""
}

func (tc *MXController) GetJobRoleKey() string {
	return labelMXJobRole
}

func (tc *MXController) IsMasterRole(replicas map[commonv1.ReplicaType]*commonv1.ReplicaSpec, rtype commonv1.ReplicaType, index int) bool {
	return string(rtype) == string(mxv1.MXReplicaTypeServer)
}


The lower cost of installation, materials and maintenance more than make up for a few hours spent annually in replenishing and smoothing the gravel surface. A popular and readily available gravel is crushed limestone.
Average cost to build a gravel driveway is about $2300 (12'x50'). Find here detailed information about build a gravel driveway costs. ... Gravel - for the pouring of crushed stone the costs would be an average of $1.40 per square foot at a 1" depth, or a total of $420 for a delivery of stones adequate for a single 1" of coverage.
Limestone Base Limestone base is produced from solid rock. It is blasted, crushed and screened to ultimately arrive at a product which is a mixture of 1 ¾ inch stones down to microscopic particles and every size in between.
White Limestone (.5" - 1.25") A crushed gravel indigenous to Michigan. Can be used for a variety of applications including driveways, as a base for sheds, or as a decorative stone in flower beds and walkways.
Crushed limestone is a perfect option for a variety of projects due to its accessibility in the Northeast, durability to withstand the elements and attractive appeal that can elevate your property value.
The type of the kiln to be selected strongly depend on the characteristics of the limestone, anticipated production rate, cost of fuel, investment costs, available fuel, local conditions, infrastructure and other things.


text:
Review: Pro-Ject X1
The turntable you need to hear
Pro-Ject succeeds completely with Pro-Ject X1 that seriously takes up the fight with the reference player in the class.
Pro-Ject X1
+Open sound image with rich sound and dynamic bass reproduction. Stiff arm with height adjustment, not very sensitive to vibrations. Detachable cable and electronic speed changer.
-The anti-skating adjustment.
Tone arm: 8.6-inch Evo arm in carbon fiber / aluminum
Pickup: Pro-Ject Pick it S2 MM pickup
Plate: 20 mm acrylic
Connections: Phono output
RIAA / DAC: No / No
Other: Dust cover, RCA cables
Color: Black, white, walnut
Dimensions / weight: 41.5 x 12.5 x 33.5 cm / 7 kg
If you are in the market for a turntable in a moderate price range, you will usually come across two brands, almost no matter where you plan to shop: Rega and Pro-Ject. They dominate the hi-fi market, especially in the price range below £ 1000, and there are many reasons for this.
One is that they simply make good turntables. Which both looks good, sounds good, and is easy to use. Just ask someone with a Rega Planar or Pro-Ject Debut.
Since the record market does not seem to disappear right away, on the contrary, in fact, they see themselves benefiting from developing new record players all the time. Lastly, Pro-Ject's new X-Series is in a moderate price range, where the Pro-Ject X1 is the most affordable of two almost identical models. In the X2 you get a stronger plinth, thicker and heavier acrylic plate, a slightly longer tone arm, and a more expensive pickup.
Design and functionality are the same on both, which come in walnut veneer, black or white lacquer.
Planar 3 is Rega's closest competitor to the X1. They cost the same, but where the Rega player uses a very light baseboard with a glass plate and a straight aluminum arm, Pro-Ject has chosen a thicker MDF board, acrylic plate and an aluminum arm drawn in carbon fiber.
There are several paths to the goal, but the basic principles are the same.
The MM pickup has Pro-Ject wisely ordered from Ortofon.
Ortofon MM pickup
The player is actually a little better equipped than a Planar 3. Here you get a detachable signal cable – with earth – electronic speed selector (you do not have to remove the disc and move the drive belt) and adjustable feet under the player. Both can be delivered in lacquer colors, but the Pro-Ject player can also be delivered in walnut veneer.
The pickup is a Moving Magnet pickup – Pro-Ject Pick-it S2, which fits in most amplifiers and receivers. It is made by Ortofon, on Pro-Ject's specifications, to get the sound they want from the player. It is mounted in an 8.6-inch, straight arm with carbon fiber pulled on the outside of an aluminum tube. The arm has height adjustment and the possibility of azimuth adjustment, which is quite unusual in this price range. This is not something most people need, but if you want to upgrade to another pickup, it can be worth its weight in gold with such adjustment options, to get optimal sound from the pickup.
Clearer sound
In the past, Rega and Pro-Ject players have had quite different sound signatures. A Planar 3 is light on the foot, the dynamics are relatively immediate, it is well focused and has a high rock foot factor. In comparison, Pro-Jects players in the same price range often have a fuller sound image with a slightly more diffuse focus. Comfortable in every way, but it does not bounce off dynamics.
It has changed considerably on the X1, which has much better dynamics, much tighter bass and much better focus. Fortunately, without sacrificing the appealing rich sound we already know.
Belt-driven acrylic plate, electronic speed shifter, height-adjustable carbon arm – and very good sound.
The guitar sound on Dire Straits Love Over Gold is probably even better focused on a Planar 3, but the X1 has more depth in the sound and fatter bass. It is also noticeable on the Keith Jarrett Trio, Still Live sounds louder and the sound in the double bass is warmer. The piano sound is perhaps more muted on the X1, but the drums have been moved further forward in the soundscape. It suits the music well.
Pro-Jects founder Heinz Lichtenegger has recently released a live album featuring Austrian jazz musicians. The album is called Jazzy Zoetrope, and was recorded with the band Triple Ace and a vocalist called 7Ray. And is a good example of how good sound you can get with simple means. An analog 8-track Otari, and later a two-track Studer reel-to-reel tape recorder, some old Neumann microphones and a Cadac Studio console.
The sound on the recording is warm, the sounds come out well, and there is a lot of dynamism in the recording, which is mastered for 180 grams of vinyl and reel tape.
On the X1, it does not work surprisingly well. Although the music can at times appear as something easily recognizable and routine in terms of selection and performance, you get a very appealing live feeling with the Pro-Ject player.
And herein lies one of the strengths of the X1. It does not sound as accurate as a Technics SL1000R or a Rega P10, instead it plays music in a far more appealing and attractive way, than usual for players in this price range.
Pro-Ject X1 is the best alternative to a Rega, and with a slightly different sound signature, it is probably the player many will prefer.
Pro-Jects turntables do not have to be overshadowed by anyone. Nor are Rega's excellent players in the same price range. The new X1 is a clear rival to similar players from Rega, Reloop, Thorens and TEAC, and sounds so good that it will be the first choice for many. With electronic speed changer, it is easy to switch to 45 and 78 discs, and for those who dare to experiment a bit, the height adjustment is worth its weight in gold. For most people, however, it sounds so good that there is hardly any need for an upgrade right away.


We have June bugs in California and, yes, they are just as stupid, ugly and ridiculous here.
I'm surprised you're not used to that "cute" comment by now. Certainly, it's not the first time you've heard it! Take heart, though...some of us love you for your brain.


text:
var internal = requireNative("internal");
var application = requireNative("application");
internal.setupInternalExtension(extension);

// A map of event names to the event object that is registered to that name.
var registeredEvents = {};

var Event = function(eventName) {
  this.eventName = eventName;
  this.listeners = [];
};

Event.dispatchEvent = function(eventName, args) {
  var evt = registeredEvents[eventName];
  if (!evt)
    return;

  // Make a copy of the listeners in case the listener list is modified during
  // the iteration.
  var listeners = evt.listeners.slice();
  for (var i = 0; i < listeners.length; i++) {
    try {
      listeners[i].apply(null, args);
    } catch (e) {
      console.error('Error in event handler for:' + eventName + ' :' + new Error().stack);
    }
  }

  internal.postMessage('dispatchEventFinish', [eventName]);
  return;
};

Event.prototype.addListener = function(callback) {
  if (this.listeners.length == 0) {
    var eventName = this.eventName;
    if (registeredEvents[eventName])
      throw new Error('Event:' + eventName + ' is already registered.');
    registeredEvents[eventName] = this;
    var routing_id = application.getCurrentRoutingID();
    internal.postMessage('registerEvent', [eventName, routing_id],
        function(args){
          Event.dispatchEvent(eventName, args);
        });
  }

  if (!this.hasListener(callback))
    this.listeners.push(callback);
};

Event.prototype.removeListener = function(callback) {
  var idx = this.listeners.indexOf(callback);
  if (idx < 0)
    return;

  this.listeners.splice(idx, 1);
  if (this.listeners.length == 0) {
    if (!registeredEvents[this.eventName])
      throw new Error('Event:' + this.eventName + ' is not registered.');
    delete registeredEvents[this.eventName];
    var routing_id = application.getCurrentRoutingID();
    internal.postMessage('unregisterEvent', [this.eventName, routing_id]);
  }
};

Event.prototype.hasListener = function(callback) {
  return this.listeners.indexOf(callback) >= 0;
};

Event.prototype.hasListeners = function() {
  return this.listeners.length > 0;
};

exports.Event = Event;


In working with Nadine, in either a Private Individual, or Family Nutrition Session, you may be exposed to information on HERBS, SPICES and Homeopathic Remedies. The following is intended to shed a bit of light in that arena and spark further interest, as you continue your path to overall health and wellness.
Homeopathy is a two-hundred-year-old medical system that can be used at home to care for a wide spectrum of mild-to-moderate acute health issues. Homeopathy works with us, not on us. When remedies are selected correctly, they act rapidly, deeply and curatively, stimulating the body's defenses rather than simply suppressing symptoms. The best reason to use homeopathic remedies/medicines in self-care is that they work, another is their low cost.
Homeopathic medicines are exceptional, as they can greatly enhance deep healing without the harmful side effects so commonly caused by conventional medicines. According to homeopathic philosophy, health is defined as: a state of freedom existing on 3 inter-related levels: the physical, the emotional and the mental. The mental state is considered the most important followed by the emotional state then the physical state.
In your own travels of gathering healing information, you may have been exposed to the concept that Healing takes place from the Inside-Out, dealing with the Last issue that showed up, and from the Head down. That is the very premise of Hering's Laws of Cure followed by Homeopaths and Naturopaths .
Symptoms can be either Particular or General in nature. Particular symptoms refer to local symptoms associated with a specific part of the body (throat pain, cold feet). General symptoms are those felt by the entire body (chills, aches, exhaustion).
The following Guidelines for the Proper Care, handling and storage of homeopathic remedies are offered, should you choose to embrace homeopathic remedies in your own self-care.


text:
YUI.add('outside-tests', function(Y) {

    var suite = new Y.Test.Suite('Event: outside'),
    Assert = Y.Assert,
    noop = function() {},
    body = Y.one('body'),
    node = Y.one('#tester');

    //Only testing "clickoutside" since it's all the same logic.

    suite.add(new Y.Test.Case({
        name: 'outside events',
        'test: on': function() {
            var fired;
            var handle = node.on('clickoutside', function(e) {
                fired = true;
                Assert.areSame('clickoutside', e.type);
                Assert.areSame(node, e.currentTarget);
                Assert.areSame(body, e.target);
                handle.detach();
            });

            body.simulate('click');

            Assert.isTrue(fired);
        },
        'test: delegate': function() {
            var fired;
            var handle = node.delegate('clickoutside', function(e) {
                fired = true;
                Assert.areSame('clickoutside', e.type);
                Assert.areSame(node, e.currentTarget);
                Assert.areSame(body, e.target);
                handle.detach();
            });

            body.simulate('click');

        }
    }));

    Y.Test.Runner.add(suite);

});


text:
Angel's Envy 2021 Cask Strength Bourbon is Coming Just in Time for the Holidays
David MorrowOct 7th, 2021, 1:26 pm
The Angel's Envy Cask Strength Bourbon 2021 is coming in December. (Photo: Angel's Envy)
The 2021 iteration of Angel's Envy's much-anticipated annual cask strength release is hitting shelves in December, Angel's Envy announced Thursday, according to The Whiskey Wash.
The Angel's Envy 2021 Cask Strength Bourbon Whiskey is finished in port wine barrels. This year's release is bottled at 120.7 proof and packaged in a commemorative and collectible carved hardwood box. About 14,760 bottles will be released to select retailers in all 50 states. The suggested retail price is $230 for a 750-milliliter bottle.
"Putting together our annual Cask Strength release has become something of a tradition for our family. It's hard to believe that we've been doing it for ten years," said Wes Henderson, co-founder and chief innovation officer of Angel's Envy, in a news release. "Back in 2012, our first Cask Strength release was a run of just 600 bottles available in only two states. So to see fans all over the country chasing down these bottles and sharing them with their friends and family as a special way to toast over the holidays or as a gift – it's very rewarding and a reflection of how much Angel's Envy has grown over the past decade."
Nose: Complex, with notes of peach and cherry accompanied by hints of brandy, tea and honey.
Taste: Notes of leather, toasted oak and vanilla carry into the palate, along with flavors of stone fruit and port that give way to creamy crème brulee and honey with nutty marzipan.
Finish: Features slight tannins and notes of black tea, apricot and smoke.
Angels Envy
Free Father's Day Gift From Angel's Envy
Angel's Envy Total Wine Selection
Angel's Envy Surprises With A New Release Just In Time For Father's Day
Angel's Envy Looks to Twitter to Keep Bourbon Coming by Planting new American oak
Angel's Envy Unveils 10th Annual Limited Edition Cask Strength Bourbon
Angel's Envy Private Selection Liquor Barn Exclusive


text:
Home » News » News » Science News » Supercomputers Help Identify Efficiency-Limiting Defects in LEDs
Supercomputers Help Identify Efficiency-Limiting Defects in LEDs
Contact: Kathy Kincade, [email protected], +1 510 495 2124
A conceptual illustration of how defects in a crystal lattice might contribute to nonradiative recombination of electrons and holes in LEDs. Image: Peter Allen
Light-emitting diodes (LEDs) have found firm footing in the lighting industry, not just for blue and green light emission but also as white light emitters for general lighting applications. Even so, many of the materials used in these devices suffer from inherent material defects that can lead to less-efficient solid-state lighting.
In LEDs, light emission occurs when electrons and holes recombine radiatively. But occasionally, material defects cause them to not emit light when recombining. This nonradiative recombination results in a loss of efficiency of the LED. While this phenomenon, known as the Shockley-Read-Hall (SRH) recombination, has been known for over 60 years, the microscopic origin of SRH in III-nitride semiconductors was unknown.
Now a team of researchers at the University of California, Santa Barbara (UCSB) believe they have made new strides in achieving more energy-efficient LEDs by proposing a microscopic mechanism for SRH and identifying specific defects that can explain the efficiency reduction observed experimentally in LEDs. Their research, which utilized 500,000 hours on NERSC supercomputers, was featured in the April 4, 2016 Applied Physics Letters and on the journal cover.
"We wanted to identify which defects could be responsible for the efficiency loss that has been observed in LEDs, and that takes a lot of computer time because we needed to screen a lot of defects to be able to identify which ones were most likely candidates for such loss," Van de Walle said. "So a lot of individual defects need to be looked at. And on top of that, for the defects that look plausible, it is a lot of work to actually calculate these nonradiative recombination rates."
This study was enabled by the development of a theoretical formalism necessary to calculate the rate at which defects capture electrons and holes, an effort in which one of the authors of the present work, Audrius Alkauskas, played a key role. That theoretical formalism was described in detail in a Physical Review B paper published in 2014. The approach involves the use of first-principles methods based on density functional theory (DFT), including advanced techniques based on hybrid functionals.
"It was the combination of the intuition that we have developed over many years of studying point defects with these new theoretical capabilities that enabled this breakthrough," Van de Walle said.
Gallium Vacancies with Oxygen, Hydrogen
The defects that were identified involve complexes of gallium vacancies with oxygen and hydrogen. These defects had been previously observed in nitride semiconductors, but until now their detrimental effects were not understood, explained Cyrus Dreyer, who performed many of the calculations and is the lead author on the paper.
"Having access to NERSC resources is absolutely essential for being able to do this work because we are keenly interested in continuing this research," Van de Walle said. "The results we reported in Applied Physics Letters are very interesting and will hopefully have high impact, but we are not claiming these defects are the only ones that play a role. We are actively pursuing other defects and impurities that we suspect are also important for the efficiency loss."
The work points the way toward fabrication of more efficient devices, a central goal for solid-state lighting and an array of other electronic devices, he added.
"With this research we are addressing a problem that has been around for almost 70 years," Van de Walle said. "The nonradiative recombination process has been well documented and is not limited to LEDs—it happens in all kinds of optoelectronic and electronic devices, including transistors. Over the years, people have reported experimental observations of the phenomenon and have attempted to model it using empirical modeling, but they were never successful. Our work is really the first time a model, backed up by heavy-duty computer calculations, has been able to reliably predict what specific defects are doing."
About NERSC and Berkeley Lab
The National Energy Research Scientific Computing Center (NERSC) is a U.S. Department of Energy Office of Science User Facility that serves as the primary high-performance computing center for scientific research sponsored by the Office of Science. Located at Lawrence Berkeley National Laboratory, the NERSC Center serves more than 7,000 scientists at national laboratories and universities researching a wide range of problems in combustion, climate modeling, fusion energy, materials science, physics, chemistry, computational biology, and other disciplines. Berkeley Lab is a DOE national laboratory located in Berkeley, California. It conducts unclassified scientific research and is managed by the University of California for the U.S. Department of Energy. »Learn more about computing sciences at Berkeley Lab.
NERSC PI: Chris Van de Walle
Lead Institution: University of California, Santa Barbara
Project Title: First Principles Modeling of Nitride and Oxide Materials for Applications in Electronic and Optoelectronic Devices
DOE Program Office: BES—Materials Science


Join the colorful world of TeklaU!
This portrait lets us glance into Tekla's world: a world of color, magic and supernatural beings. A world where life, death, creativity, sensuality, childhood and insecurity are all allowed to co-exist.
A film by Iben Snebang and Andreas Fogelqvist of Snebang/Fogelqvist Productions.
See other films about Tekla here.


Payette's Wes Schwartz spoke with Architectural Products about our recently completed Interdisciplinary Science and Engineering Complex at Northeastern University. Check out the article in the October 2018 issue.
The city's newest academic research facility, ISEC is a pillar of sustainability and transparency. The facility expands the campus south past its previous border, which meant crossing a major rail corridor. The ISEC puts research on display for all those who wish to bear witness to the engineering, health sciences and computer science taking place within its walls. The centerpiece of the building-and this lofty theme – is the grand interior curtainwall that exposes five stories of laboratory space to the main atrium and all its occupants.
Read the full article starting on page 68 here.


text:
Ezy DVD bails out ReelTime
Struggling internet video provider ReelTime has secured investment and assistance from online DVD and entertainment retailer EzyDVD.
Under the deal with Reeltime, EzyDVD will initially acquire six million Reeltime shares for cash and a further 142 million shares by assisting Reeltime to meet a number of key milestones over the next three years.
Jim Zavos, who founded EzyDVD in 1998, says the deal fits with the franchised retail DVD chain's longer-term strategy because it enables digital delivery of movies. The ReelTime.tv website will be closed over the next couple of weeks, re-branded EzyDVD and re-launched.
Zavos will join the ReelTime board and has taken over the day-to-day management of the listed company (ASX code: RMA).
Zavos says: "We bring operational skills, supply negotiation skills, and very good relationships with suppliers to enable broader range of product.
"Anyone who looks at Reeltime will see they have been burning a lot of cash in last 12 months, and part of alliance will give them ability to strip a lot of costs out their business."
When asked if this was a backdoor listing for EzyDVD, Zavos said: "There are no plans for a backdoor listing for EzyDVD but sometimes you let nature take its course."
EzyDVD's shareholding will be on a par with ReelTime's largest shareholder, Movies Online Ltd, if the milestones are met. The purchase price was not disclosed, but ReelTime shares were trading at $0.017 prior to a voluntary suspension a week ago.
ReelTime has said says the milestones include cost reduction, revenue targets, market penetration/customer acquisition and extended content offerings. It claims that "benefits will flow to the company within three months as the first of the milestones are reached."
ReelTime has offices in Melbourne and Sydney; EzyDVD is based in Adelaide. Zavos says no decision made about keeping the east coast offices open, but there will be some shared services.
Zavos started selling DVDs online from a website that cost him $3000 to build in 1998. In less than 10 years he built the online business based in Adelaide into a national chain of 70 franchised EzyDVD retail stores turning over about $100 million a year.
Following the announcement, ReelTime lifted the voluntary suspension in trading of its shares on the ASX.
In July Zavos talked to SmartCompany about his growth, making franchising work, new trends in the industry and the next stage of expansion for EzyDVD – converting video rental stores to retail/rental outlets under his brand.


Paper shredders are not always just useful at the office. Even the home may find many uses for a paper shredder to get rid of security sensitive documents such as receipts and personal mails. But with office shredders designed for office use, it might not be conveniently small enough to use at home. A useful alternative would be this new Takumi Bridge Paper Shredder.
The Takumi Bridge Paper Shredder is a small and portable motorized paper shredder that can be used with most home trash an as a dumping point. It can be placed on top of any trash can at home to use as a paper shredder. It can be such a space saver for most homes. The Takumi Bridge Compact Shredder is available at Takumi for 3,675 Japanese Yen or around US$45.


Kingsbury is a suburb in Melbourne, Victoria, Australia.
The suburb was named after Bruce Kingsbury VC, who died in Papua New Guinea during the Second World War. There are currently two Primary schools and a University in Kingsbury; Kingsbury Primary School , Our Lady of the Way Catholic Primary School and La Trobe University. In 2011, Kingsbury Primary School named it's new building the Isurava Centre for Learning after the field in New Guinea in which Bruce Kingsbury fell.


Solid brass is expensive material, so we also offer a brass plated cabinet knob in a polished brass finish to help keep costs low but still achieving the desired effect.
Polished Brass There are 11 products.
Polished brass cylinder shaped cabinet knobs, available in 16mm.
Polished brass solid ball style cabinet knobs, available in 25mm and 30mm diameter.
Polished brass delamain ringed styled cabinet knobs. 3 sizes to choose from.
Queen anne styled polished brass cabinet knobs, a range of diameters are available.
LOW STOCK. Please call before ordering. Polished brass delamain flower style cabinet knobs, available in 2 sizes.
Polished Brass Delamain Ringed Cabinet Knobs.
Polished brass delamain ringed styled cabinet knobs. 2 sizes are available.
Polished solid brass round cabinet knob 32mm in diameter.


text:
TfL warns of bridge and tunnel closures due to funding crisis
Transport for London (TfL) has warned that London's transport assets, including bridges and tunnels, face closure due to the ongoing multi-billion funding crisis sparked by COVID.
'Asset closures and restrictions would be likely on our road network with a high risk of unplanned bridge and tunnel closures', TfL said, while rail services and assets were likely to degrade.
Following the loss of fare revenue during lockdown, TfL said it may not have enough cash to fund even the 'managed decline' of its infrastructure after ministers refused to provide new funding and its financial position deteriorated further.
The warning, contained in a new assessment from the transport authority of its funding options, follows comments from mayor Sadiq Khan that 'levelling up Britain must not come at the expense of levelling down London'.
TfL has been unable to fund 'top priority' works on Vauxhall Bridge
The paper assesses the implications of reduced funding from 2022/23 to 2024/25, the period covered by the Government's recent Comprehensive Spending Review (CSR), which confirmed that TfL would not receive any additional capital funding.
It notes that 'there remains significant uncertainty on the level of available funding over this time period, which would be determined by the pace and level of recovery of passenger demand and the final level of government funding'.
It sets out potential required savings 'necessitated by our legal requirement to balance our budget', which it says represent the 'Managed Decline' scenario in TfL's Financial Sustainability Plan (FSP) earlier this year.
'We have always been clear about the severe impacts to our service and the wider economy were Managed Decline to take place, but in the absence of capital and revenue funding pledges from Government, we must now move to planning for this scenario,' it states.
However, the paper notes that since TfL's submission to the CSR process, its projected annual funding gap for both 2022/23 and 2023/24 has risen by £500m to £1.7bn and £2.7bn respectively and from £2bn in 2024/25 to an expected £2.2bn.
It adds: 'Dropping to Managed Decline levels of capital investment alone does not resolve the funding gap. We will also have to reduce service levels across our network, reduce borough funding, implement asset financing options, and negotiate the rephasing of repayments of the Crossrail £750m loan from the Department for Transport (DfT).'
The paper states that Managed Decline levels of capital investment would mean that only projects already underway, or those required to be compliant with safety and other statutory regulations would continue but there would be no new investment.
'Major outcome areas for TfL would be impacted, with no proactive progress towards Vision Zero (safety), decarbonisation, improving air quality or active travel to support a shift towards more sustainable modes.'
It adds: 'The Mayor's Transport Strategy (MTS) would be largely undeliverable without this investment.'
However, Managed Decline assumes that current commitments are honoured, including the rolling stock contracts for the Piccadilly Line and the Docklands Light Railway.
The paper states: 'We have designed the Managed Decline scenario to ensure the network remains as safe as it is today and consistent with our regulatory responsibilities, but operability and reliability would be compromised. Asset closures and restrictions would be likely on our road network (with a high risk of unplanned bridge and tunnel closures).'
It notes that to close the funding gap completely TfL would have to drop below Managed Decline, 'with these impacts currently being investigated further so we can effectively understand and manage the asset risk from this level of renewals'.
Last week Mr Khan warned that TfL's latest emergency funding deal expires on 11 December, while TfL is still dealing with 'an unprecedented financial crisis caused by the pandemic'.
He warned: 'Unless the Government provides the long-term funding needed to maintain our public transport network, there will be no choice but to make significant cuts to services just as demand is growing again.'
He added: 'I support greater transport investment in regions across the country, but levelling up Britain must not come at the expense of levelling down London. There can no London recovery without a properly funded public transport network in the capital, and there can be no national recovery without a London recovery.'
A DfT spokesperson described the warnings about managed decline as 'empty threats' and needless sabre-rattling'.
'We have repeatedly shown our commitment to positive discussions, and look forward to working closely with the mayor to secure a fair deal.'
Transport Finance


text:
Sign up to our free email newsletter »
Tech/Cyber
The Dead Drop
Open Source Podcast
State Secrets
Threat Conference
Subscriber+
Upgrade to Subscriber+
Terms of Service and Pricing Policy
The Under/Cover Book Store
The Cipher Brief
Russia and Iran Seek the Spoils of War in Syria
Bottom Line Up Front
Although they are on the same side in the conflict in Syria, Russia and Iran each maintain their own priorities beyond propping up the Assad regime.
Russia and Iran have expended massive resources to carve out their own long-term spheres of influence in Syria and throughout the broader region.
Russia has provided crucial air support to help Assad beat back the rebels, while in the process contributing to atrocities and war crimes by relentlessly bombing medical facilities and other civilian installations.
The chances for periodic conflict between local forces associated with Iran and Russia remain elevated in the near-term.
It appears definitive to most observers of the Syrian civil war that dictator Bashar al-Assad will remain in power, due in no small part to the support of his Russian and Iranian allies. The backing of Putin and Khamenei has fortified the Assad regime by providing troops, weapons, and training throughout critical periods in the conflict. But the assistance offered by Moscow and Tehran is not without strings. Indeed, both will seek repayment in the form of military bases, weapons sales, and access to Syrian territory for logistics and forward defense. There are is also an implicit understanding that Russia and Iran will gain access to valuable contracts for rebuilding the country's infrastructure and energy sector.
The relationship between Russia and Iran is based on pragmatism, some overlapping interests, and a shared antipathy toward the U.S. The alliance is perhaps best summed up by recalling the popular adage: 'the enemy of my enemy is my friend.' Keeping a leash on Washington and the West's influence in Syria remains a top priority for Assad's supporters. For Iran, Syria represents a base of influence outside its borders and presents Tehran with the possibility of fulfilling its long sought after land bridge across the region. Russia, a long-time supporter of Syria, is determined to keep and expand its Mediterranean naval presence in Tartus. Even though Russia and Iran have expended significant resources fighting in Syria, the conflict has also provided each country with the opportunity to train together, as well as with Lebanese Hezbollah, and offer their respective militaries a real-world battlefield laboratory to innovate and deploy new weapons systems, including drones.
Iran's support for Assad has primarily been through the Islamic Revolutionary Guard Corps (IRGC) and by extension, a growing network of Shia foreign fighters and militias. Russia has provided crucial air support to help Assad beat back the rebels, while in the process contributing to atrocities and war crimes by relentlessly bombing medical facilities and other civilian installations. The Assad regime is dependent on Russia and Iran both financially and militarily. Without Iran, Damascus will struggle to maintain an effective ground presence and without Russia, it would be unable to secure its territorial gains and expand its military positions in contested areas. This dynamic will not change in the near-term as Assad gears up for a final push to win the war, with his forces closing in on Idlib, the last major rebel stronghold in Syria.
With the war potentially nearing its end, Russian and Iranian proxies are growing more aggressive in solidifying control over criminal rackets and potential sources of patronage. Where these proxy forces operate in close proximity, there will be more chances for misunderstanding and short-term disagreement over which force will control territory and have access to the spoils of war. As each side moves into position to carve out their own fiefdoms, minor skirmishes are possible, although a broader conflagration remains unlikely, especially as Russia and Iran have long-term investments in mind, as each negotiates contracts to help Assad rebuild the country.
Topic Areas:SyriaTagged with:IntelBrief Intelligence Iran Russia Syria
About Us / Signup
Stay informed from just $10 per month
Our members only program gives you access to a wealth of content from a network of uniquely qualified experts. Why not join?
The Cipher Daily Brief
Featured Piece
A Former Presidential Briefer Rethinks Truth to Power
OPINION — "I think we should stop teaching 'truth to power'," a CIA analytic instructor once told me. That was more than a decade ago, […] More
CIAIntelligenceNational Security
December 13th, 2021 by Beth Sanner
More Book Reviews
The Fascination of the Abomination
BOOK REVIEW: Blown to Hell: America's Deadly Betrayal of the Marshall Islanders By: Walter Pincus / Diversion Books Reviewed by James Lawler The Reviewer: James […] More
BooksNuclear
January 12th, 2022 by Blown to Hell
I'm proud to be part of the network of experts at The Cipher Brief, which provides superb geopolitical advice and intelligence insights.
Admiral James Stavridis Former Supreme Allied Commander, NATO
The in-depth analysis The Cipher Brief provides, on all issues affecting our national security, written by some of the most senior and knowledgeable public and private sector experts, is truly unique and invaluable. It's a must read for anyone interested in world affairs.
Ambassador Joseph R. Detrani Former Director, National Counter Proliferation Center
Congratulations to The Cipher Brief for actively promoting a national conversation – through conferences, analysis, and webinars at the highest level – on our country's national security, intelligence capabilities, and challenges in confronting adversaries and competitors alike.
Emile Nakhleh Former Member, CIA's Senior Intelligence Service
The Cipher Brief has become required reading for national security decision-makers and practitioners. You can be certain that Cipher Brief articles are substantive in content and provide thoughtful analysis from expert professionals.
John Sipher Former Member, CIA's Senior Intelligence Service
The Cipher Brief is far from just another website pontificating about the subjects of the day without any credibility. With The Cipher Brief, you can always be sure that the authors actually know what they are writing about.
Kevin Hulbert Former CIA Chief Of Station
COVID and Navigating the New Middle East Challenges
This expert-driven national-security insight can't be generated for free. We invite you to support quality content by becoming a Cipher Brief Level I Member . Joining […] More
DoD Gray Zone Operations Hezbollah Intelligence International Iran Iraq Jordan Libya Middle East national security Syria Yemen
May 6th, 2020 by Norman T. Roule
OSINT Global Trendline Report
This unique national-security focused expert insight can't be generated for free. We invite you to support this kind of quality content by becoming a Cipher Brief […] More
February 2nd, 2020 by The Cipher Brief
The Cipher Brief's OSINT Trend Line Report
International national security Uncategorized
November 1st, 2019 by The Cipher Brief
Get a daily rundown of the top security stories delivered to your inbox Monday through Friday with exclusive briefs and columns on what matters most to you and your organization.
For general inquiries please email [email protected]
© 2022 Copyright | The Cipher Brief All rights reserved.
Terms of Service & Pricing Policy
Glass Mountains - WordPress Experts
For general inquiries please email [email protected] Twitter Facebook YouTube LinkedIn Instagram


This page shows businesses on Bedminster Parade. Click on a business to bring up its details and a map showing its location.
Calico is a retailer of soft furnishings, with a range of upholstered and other comfort items for the home.
D F Services offers a range of servicing and repair services for various household appliances.
File It Business Supplies is a stationery retailer providing a wide range of office supplies.
Floor It is a carpet company selling a range of carpets, rugs and mats.
Martin & Co is a firm of letting agents who help landlords to find tenants, and prospective tenants to find accommodation to rent.
Motaman is a retailer of a wide range of accessories for cars and other vehicles.
Priority Youth Housing is a housing association providing a range of low cost social housing to people needing needing somewhere to live.
Riptons Direct is a retailer of audiovisual household items such as TVs, Blu-ray players, DVD players and associated equipment.
Taunton Leisure is an outdoor shop selling a range of outdoor clothing and equipment.
Vince's is a barbers' shop specialising in hair services for men.
White Hart is a pub selling a variety of alcoholic and other drinks.
Yellow Cab Co (Bristol) Ltd is a taxi firm providing passenger transport from and to a variety of locations.


$.03 (3 cents) per word.
This change is effective as of September 1, 2015.
Although I will most likely be making a bit less per page, I feel much better knowing that there is no ambiguity at all about how much an essay will cost to be graded. When an essay arrives and is downloaded, I will jot down the word count and multiply by 3 cents. Easy-peasy, no matter how many words I write in my comments. And those of you who have used my essay grading service before know that I often have to adjust the pages so that all of my comments in the margin show without being truncated.... In other words, you'll definitely get your money's worth in corrections, suggestions, and encouragement from me.
Wishing you a wonderful 2015-2016 school year!


"In few days we'll find out whatever happens, the political drama is only just begining.
A wearily Victorious Hillary Clinton would face paralysis by investigation. Republicans would launch endless probes and congressional inquiries.
Tens of millions of Trump supporters will never deviate from their view that she should be in prison, not the White House.
And if Donald Trump wins next week, America is going to face a political earthquake that will send tremors around the world. We will then have to entirely reassess our view of America, its values and its place in the world"
In the words of Mattew Barzun, the US Ambassador in London: "If you watch a soccer match and you didn't know the rules, you could figure it out after a while...., I think American football can be bewildering,chaotic. It's a bit like our political system. It is long, it is deeply contentious , and it works for us".


Our English Conversation Classes for Adults is designed to provide reading and spoken English language practice in friendly small groups for those whose first language is not English.
Classes are held on the Church campus every Friday, 9:30 AM to 11:00 AM, in the Church Lounge and are conducted during the Arcadia School Year.
Classes will resume on January 12, 2018. New students are welcome every Friday. For more information, contact Mike Johnson at (626) 287-6330.


A radical new approach to designing segmented bowls.
As you change the height, rows will automatically be added or deleted to achieve the specified height.
Change the entire bowl with single-click changes to segments, row thickness, species and open/closed configurations.
Change between bowl types of Painted Segments, Feature Ring and Tornado Bowl with a single click.
Single-click change bowl configuration to Novice, Intermediate or Advanced designs.
Generate an automatic PDF price quote for a client with a picture of the bowl, the price and your contact information.
For pre-sales questions about Segment PRO, please refer to our Frequently Asked Questions.
Segment PRO provides a radical new way to design segmented bowls. It is a rapid development tool designed for simplicity, speed and flexibility - all in a 3D space. Like an autonomous car where you select a destination and enjoy the ride, Segment PRO lets you select the profile, give it some design instructions and watch as your bowl is built immediately for you in different bowl types and for different skill levels.
With this completed design, you can print out the Summary and head for the shop or you can customize nearly anything about the design before printing the Summary and then save it for future use.
Whether you design a Feature Ring, Painted Segment or Tornado bowl, a finished design is as little as seconds away. A Storyboard allows you refine the Feature Ring and Tornado properties and an amazingly powerful Paint page lets you paint segments on a rectangular palette where you can paint more than 1000 segments in less than a minute.
The Profile Builder allows you to create a simple or complex wall profile simply by adding points with mouse clicks. Or you can open one of nearly 200 sample files in various categories.
Bezier curves representing the inside and outside wall profiles are created automatically. The bowl is built automatically based on those curves.
A Tornado Bowl is designed using from two to eight tornado bands. You can paint each segment of a tornado band with whichever species you choose.
A Feature Ring Bowl is built with three feature groups. The top, bottom and main feature group can be completely customized. The main feature group is automatically centered at the widest point of the bowl but can be repositioned as desired.
The Painted Segment Bowl allows you to paint each segment with whatever species you choose. A design such as this one can be painted in as little as 60 seconds.
The Paint Grid is automatically drawn with the number of rows and segments as are present in the current bowl. You select the number of repeats per row, select a species and click once. You can select a Diamond Pattern as a stamp pad which will paint a diamond any size and repeated the number of times you select, all with a single click.
By selecting a Species Paint Palette, your bowl will be painted with the species in that palette. Switching paint palettes immediately repaints the entire bowl. You can create and modify as many paint palettes as you like.


A group just for Natural Landscape Photography. Minimal man-made.
A lovely selection of images to spend time with. Congratulations to all.
Thanks for the feature and congratulations to everyone else featured.
So very beautiful with a very minimal presence of civilization in each!
Wow! All stunning. Congratulations all.
Truly honoured to be featured alongside some stunning images, congratulations to all, on your feature.
Super collection. Thank you for featuring my Turkish Aerial. Congrats to all artists included.
Thank you so much for featuring my Sand Dunes among these incredible features. Beautiful work by all.
These are all gorgeous works. Congrats to all the featured artists on their fabulous works. I am honored to be among them!
Wonderful selection. Congratulations to all.
These are all exquisite!!!! Incredible work, and congrats on being featured!
BEAUTIFUL! Well done to all.
Beautiful collection! Congratulations featured artists!


You Like Me, You Really Like Me!!!!!!
Many, many thanks to long-time reader and avid travel blogger Ashley Paige (no, not the Californian bikini designer – for those who fret about such things – but the East Coast anthropology student) of the fortheloveofwanderlust blog for nominating me for a Versatile Blogger Award.
As a condition of my nomination I must list 15 of my favourite blogs, a tricky task as I subscribe to so few. I've put in a little research and found some wonderful blogs that align with my interests.
1/ I prefers cats to dogs and just about any other animals with the exception of monkeys.
2/ I wasn't a child prodigy and I've been paying the price ever since.
3/ I'm a blue guy rather than a brown guy.
4/ Disco died for me sometime around 1981.
5/ Bacon is my favourite food group.
6/ If I had to choose one cuisine to eat for the rest of my life, it would be Chinese (Hunan preferably but Cantonese runs a close second).
7/ If it's your shout, I'll have a Ketel One martini, very cold, very dry, with a twist. Oh, and a bag of pork rinds, thanks.
Sorry for gushing (although with the Oscars approaching, my Sally Field moment is perhaps excusable) but thanks again to Ashley Paige and to all my readers.
Author davidlattaPosted on February 24, 2012 March 28, 2012 Categories Architecture, Art, Books, Film, Food, Movies, TravelTags 1981, Aaron Leaman, Ashley Paige, bacon, Black Dahlia, Cantonese, cats, child prodigy, Chinese, classic cars, Classic Las Vegas, Cliff Bott, disco, dogs, Get Up And Go, Hollywood, Hunan, Ketel One, martini, monkeys, The Licentiate7 Comments on You Like Me, You Really Like Me!!!!!!


Yesterday, I noticed the wooden harvest bins were placed in the garlic fields that I have been watching.
In late July the plants were undercut and allowed to field-dry. Remember this. It requires 6-8 weeks of drying time before harvest and there aren't many places on the earth that have 6-8 consecutive weeks without rainfall or have low humidity.
This entry was posted in Windshield Views and tagged Garlic by Kay Mercer. Bookmark the permalink.