text:
function Customer(Auth, $state, $firebaseObject, $rootScope,$localStorage) {
	this.auth = Auth;
	this.userInfo = this.auth.$getAuth();
	console.log('Home Auth:', Auth);
	this.$storage = $localStorage;

	//any time auth state changes, add the user data to scope
	this.auth.$onAuthStateChanged(function (firebaseUser) {
		this.firebaseUser = firebaseUser;
		$rootScope.firebaseUserData = firebaseUser;
		if (firebaseUser != null)
		{
			console.log('Home onAuthStateChanges:', firebaseUser);
			this.$storage = $localStorage;
			this.auth2 = Auth;
			if(typeof this.$storage == "undefined")
			{
				this.auth2.$signOut();
				$state.go('Login');
			}
			else
			{
				if(typeof this.$storage.time == "undefined")
				{
					this.auth2.$signOut();
					$state.go('Login');
				}
				else
				{
					this.isExpired = ((new Date().getTime() - this.$storage.time) / (1000 * 3600 * 24)) > 1;
					console.log("isExpired",this.isExpired);
					if(this.isExpired > 1)
						{this.auth2.$signOut();
					$state.go('Login');}
				}
			}

		}
		else
			$state.go('Login');
	});
	this.bgimg = 'images/rest/rest-3.jpg';
	this.logOut = function () {
		console.log('log out called');
		$localStorage.$reset();
		this.auth.$signOut();
	}
	this.showMenu = false;
	if ($state.current.name == 'Home')
		$state.go('Home.Ask');
}

var app = angular.module("locaApp", ['ngStorage','ui.filters','ngSanitize','angular-toArrayFilter', 'angular-carousel-3d', "ui.router", 'ui.bootstrap', 'firebase'])
	.constant('firebaseRootRef', firebase.database().ref());
    app.run(["$rootScope", "$location","$state", function($rootScope, $location,$state) {
            $rootScope.$on('$stateChangeSuccess', function(event, toState, toParams, fromState, fromParams)  {
            $rootScope.previousState = fromState.name;
            $rootScope.previousParams = fromParams;
               $rootScope.currentState = toState.name;
               $rootScope.currentParams = toParams;
                console.log("PREIVOUS",$rootScope.previousState,fromParams);
});
            $rootScope.goBack = function()
            {
            	if($rootScope.previousState)
            	{
            		var previousState = $rootScope.previousState;
            		var previousParams = $rootScope.previousParams;
            		if(previousParams)
            		{
            			var Obj = []
            			angular.forEach(previousParams,function(value,key)
            			{
            				Obj[key] = value;
            			})
            			$state.go(previousState,Obj);
            		}
            	}
            	else
            	{
            		$state.go('Home.Recommend');
            	}
            }
}]);
app.controller("locaCtrl", Customer)
	.filter('myfilter',function()
	{
		return function(logs)
		{
			console.log("filters",logs);
		}
	})
	.config(function ($stateProvider, $urlMatcherFactoryProvider, $urlRouterProvider, $locationProvider,$compileProvider) {
		$urlRouterProvider.otherwise('/login');
		$urlMatcherFactoryProvider.caseInsensitive('true');
		$compileProvider.aHrefSanitizationWhitelist(/^\s*(https?|ftp|mailto|whatsapp|tel):/);
		//  $locationProvider.html5Mode = true;
		$stateProvider
			.state('Login', {
				url: '/login',
				templateUrl: 'login.html',
				controller: function ($scope, Auth,$http, FirebaseUsersNode, $state, $firebaseObject,$firebaseArray,$localStorage,$sessionStorage) {
					$scope.auth = Auth;
				 function createOrUpdateUser(facebookUser, fbFriends)   // to createOrUpdateUser
					{
						$localStorage.userid = facebookUser.providerData[0].uid;
						$localStorage.time = new Date().getTime();
						var userData = FirebaseUsersNode.getUserDetailObject(facebookUser.providerData[0].uid);
						userData.then(function(data)
						{
							if(facebookUser.providerData[0].uid != data.userId)
								{
									//debugger;
									// creating new user
									data.name = facebookUser.displayName;
									// Get the Storage service for the default app
									var fireStorage = firebase.storage();
								//	saveFile(facebookUser.photoURL);
								var testImg = facebookUser.providerData[0].photoURL;//"https://upload.wikimedia.org/wikipedia/commons/4/4a/Logo_2013_Google.png";
									// Create a storage reference from our storage service
									var profilePicsRef = fireStorage.ref('images/profilePictures/'+facebookUser.providerData[0].uid);
									var Imgconverter = convertFileToDataURLviaFileReader;
									Imgconverter(testImg,function(base64){ //debugger;
										var data = base64.split(',');
										var base64String = data[1];
										var restArr = data[0].split(';');
										var metadata = {
										  contentType: restArr[0].slice(5),
										};
										console.log('base64',base64String);
										profilePicsRef.putString(base64String, restArr[1]).then(function(snapshot) {
										  console.log('Uploaded a base64 string!');
										});
									})
									// profilePicsRef.put(facebookUser.photoURL).then(function(snapshot){
									// 	console.log('Uploaded a blob or file!');
									// })
									data.profilePictureUrl = facebookUser.providerData[0].photoURL;
									data.userId = facebookUser.providerData[0].uid;
									data.email = facebookUser.email;
									data.createdDate = new Date().toString();
									data.lastLogin = new Date().toString();
									if(fbFriends.data.friends.data.length != 0)
									{
										var frnds = fbFriends.data.friends.data;
										var arr = [];
										angular.forEach(frnds,function(value)
										{
											if(data.friends)
											{
												if(data.friends.indexOf(value.id) == -1)
												{
												   data.friends.push(value.id);
												}
											}
											else
											{
												arr.push(value.id);
												data.friends = arr;
											}
										})
									}

								}
								else
								{
									if(fbFriends.data.friends.data.length != 0)
									{
										var frnds = fbFriends.data.friends.data;
										var arr = [];
										angular.forEach(frnds,function(value)
										{
											if(data.friends)
											{
												if(data.friends.indexOf(value.id) == -1)
												{
												   data.friends.push(value.id);
												}
											}
											else
											{
												arr.push(value.id);
												data.friends = arr;
											}
										})
									}
									data.lastLogin = new Date().toString();
								}
								data.$save().then(function (ref) {
										ref.key === data.$id; // true
									}, function (error) {
										console.log("Error:", error);
									}); // ending of saving object
						})
					}

					$scope.signInWithFacebook = function() {
						var provider = new firebase.auth.FacebookAuthProvider();
						console.log("provider",provider);
						provider.addScope('user_friends');
						provider.remember = "sessionOnly";

						$scope.auth.$signInWithPopup(provider).then(function(authData) {
							console.log(authData);
						$localStorage.userid = authData.user.providerData[0].uid;
						$localStorage.time = new Date().getTime();
						 $http.get("https://graph.facebook.com/v2.7/me?fields=friends&access_token="+authData.credential.accessToken)
							.then(function(response)
						{
							createOrUpdateUser(authData.user,response); // passing authUser and user_friends response
						})
						.catch(function(error)
						{
							console.log("Error getting Friends",error);
						})
				})  // ending of $signInWithPopup
					}
					// any time auth state changes, add the user data to scope
					$scope.auth.$onAuthStateChanged(function (firebaseUser,$firebaseUtils) {
						$scope.firebaseUser = firebaseUser;
					  //  console.log('onAuthStateChanges:', firebaseUser);
						if (firebaseUser != null) {
							$state.go('Home.Ask');

						}

					});
				}
			}
			)
			.state('Home', {
				url: '/home',
				templateUrl: 'Home.html',
				controller: 'locaCtrl',
				controllerAs: 'hCtrl'
			})
			.state('Home.Ask', {
				url: '/Ask',
				templateUrl: 'Asktab.html',
				controller: 'askController',
				controllerAs: 'askCtrl'

			})
			.state('Home.Recommend', {
				url: '/Recommend',
				templateUrl: 'Recommendtab.html',
				controller: 'recommendController',
				controllerAs: 'recommendCtrl'
				// resolve: {
				//     "friendsList" : function(AuthDetail,$firebaseArray,$firebaseObject,Auth,$rootScope)
				//     {
				//         var myId = $rootScope.firebaseUserData.providerData[0].uid.toString();
				//         console.log('myid',myId);
				//         debugger;
				//         var ref = firebase.database().ref();
				//         var usersref = ref.child('/users/'+myId+"/friends");
				//         return $firebaseArray(usersref).$loaded();
				//     }
				// }
			})
			.state('RecommendTip',
			{
				url: '/question?:personID&:questionID',
				templateUrl: 'RecommendTip.html',
				controller: 'recommendTipController',
				controllerAs: 'recommendTipCtrl',
				resolve : {
					"resolveUrlData" : function($stateParams,$q,Auth,$localStorage)
					 {
					   // debugger;
						var sc = this;
					  var defer = $q.defer();
					  sc.$storage = $localStorage;
					  var uid = sc.$storage.userid;

							if(uid !== undefined && uid != '') {
										 // $rootScope.rootFirebaseUser = firebaseUser;
										  if($stateParams.personID != '' && $stateParams.questionID != '')
								{
								   // debugger;
									var ref = firebase.database().ref();
									var messegesref = ref.child('questions').child($stateParams.personID.toString()).orderByChild('qId').equalTo($stateParams.questionID.toString());
								   // console.log("messegesref",$firebaseArray(messegesref));
								 var dd = messegesref.once("value")
									  .then(function(snapshot) {
										//debugger;
										var key = snapshot.key;
									   // var vx = snapshot.child("authorId").val();
										 var data = snapshot.val();
										defer.resolve(data);
										return data;
										//var childKey = snapshot.child("name/last"); // "last"

									  });

								}
							};
							return defer.promise;

				}}

			})
			.state('PlaceDetail',
			{
				url: '/place/:id',
				templateUrl: 'Partials/placeDetail.html',
				controller: 'placeDetailController',
				controllerAs: 'placeDetailCtrl'
			})
			.state("Answer",
			{
				url: '/answer/:qauthorid/:qid',     // question id and authorid of question
				templateUrl: 'Partials/answerDetail.html',
				controller: 'answerDetailController',
				controllerAs: 'answerDetailCtrl',
				resolve: {
				"usersFriends" : function($q,$localStorage,FirebaseUsersNode)
								{
									var sc = this;
									sc.$storage = $localStorage;
									var defer = $q.defer();
									var myFriends = FirebaseUsersNode.getUserDetail(sc.$storage.userid)
									.then(function(friends)
									{
									   // proper way of using getRecord
										return friends.$getRecord("friends");
									})
									defer.resolve(myFriends);
									return defer.promise;
								}
						}
			})
			.state("UserProfile",
			{
				url: '/profile',
				templateUrl: 'Partials/Profile/userprofile.html',
				controller: function($scope){

				}
			})

	})
	.controller('indexController', function ($scope, $firebaseObject, firebaseUrl) {

	})
	.controller('placeDetailController', function ($scope, PlacesApi, $stateParams,$rootScope,$state) {
		//var request = {
		//    placeId: $stateParams.id
		//};
		//console.log('pid:', $stateParams.id);
		//service = new google.maps.places.PlacesService(document.getElementById('map_alt'));
		//service.getDetails(request, callback);
		//function callback(place, status) {
		//    if (status == google.maps.places.PlacesServiceStatus.OK) {
		//        console.log(place);
		//    }
		//}
		PlacesApi.init();
		var d = PlacesApi.search($stateParams.id);
		d.then(function (response) {
			$scope.detailObj = response;
			$scope.bannerImg = $scope.detailObj.photos[0].getUrl({ 'maxWidth': 300, 'maxHeight': 200 });

		});

		// $scope.goBack = function()
		// {
		// 	if($rootScope.previousState)
		// 	{
		// 		var previousState = $rootScope.previousState;
		// 		var previousParams = $rootScope.previousParams;
		// 		if(previousParams)
		// 		{
		// 			var Obj = []
		// 			angular.forEach(previousParams,function(value,key)
		// 			{
		// 				Obj[key] = value;
		// 			})
		// 			$state.go(previousState,Obj);
		// 		}
		// 	}
		// 	else
		// 	{
		// 		$state.go('Home.Recommend');
		// 	}
		// }
		// console.log(d.name);
		//  console.log(JSON.stringify($scope.detailObj));
	})
	.controller("recommendController", function ($scope,$log,$q,PlacesApi,FirebaseAnswersNode,FirebaseUsersNode,firebaseRootRef,FirebaseQuestionsNode,$localStorage)
	 {
	   // var myid = $rootScope.firebaseUserData.providerData[0].uid;

		$scope.$storage = $localStorage;
		$scope.useridfrmlocalstorage = $scope.$storage.userid;
		$scope.mudit = [0,1,2,3];
		//console.log("++++ STOGAGE +++ ", $scope.$storage);
		$scope.answeredData = [];
		var myFriends = FirebaseUsersNode.getUserDetail($scope.$storage.userid);
		var boolAnswered = false;
		var x=0;
		answeredByUsers = [];
		var myFriendsList;
		var parsedAnswers;
		var getMyRecommendations = myFriends.then(function(friends)
		{
		   // proper way of using getRecord
			return friends.$getRecord("friends");
		}).then(function(frns)
		{
			// then of friends
			console.log(frns);
			myFriendsList = frns;
			var defer = $q.defer();
			var prom = [];
			for(i=0;i<frns.length;i++)
			{
				var defer = $q.defer();
				defer.resolve(FirebaseQuestionsNode.getQuestion(frns[i]));
				prom.push(defer.promise);
			}
			return Promise.all(prom);
		}).then(function(quesRef)
		{
			console.log(quesRef,myFriendsList);
			var defer2 = $q.defer();
			var prom2=[];
			var questionTitles = [];
			var quesAuthorId;
			for(i=0;i<quesRef.length;i++)
			{
				var defer2 = $q.defer();
				for(j=0;j<quesRef[i].length;j++)
				{
					var defer2 = $q.defer();
					if(quesRef[i][j].answered)
	    			{
	    				questionTitles.push({'questionTitle' : quesRef[i][j].questionTitle});
	    				quesAuthorId =  quesRef[i][j].quesAuthorId;
	    				defer2.resolve(FirebaseAnswersNode.getAnswersArray(quesRef[i][j].$id));
	    				prom2.push(defer2.promise);
	    			}

				}
			}
			return $q.all(prom2)
					.then(function(results)
						{
							var data = [];
							for(i=0;i<results.length;i++)
							{
								for(j=0;j<results[i].length;j++)
								results[i][j] = angular.extend({},results[i][j], questionTitles[i], {"quesAuthorId" : quesAuthorId});
							}
							return results;
						});
		}).then(function(ansRef)
		{
			console.log("ansRef",ansRef);
			var yourAns = [];
			for(i=0;i<ansRef.length;i++)
			{
				for(j=0;j<ansRef[i].length;j++)
				{
					if(answeredByUsers.indexOf(ansRef[i][j].ansAuthorId) == -1) {
                       answeredByUsers.push(ansRef[i][j].ansAuthorId);
                    }

					if(ansRef[i][j].ansAuthorId == $scope.useridfrmlocalstorage)
						boolAnswered = true;
				}

				if(boolAnswered == true)
				{
					var tempAns = angular.extend({}, ansRef[i][0], {'answeredByUsers' : answeredByUsers}, {'totalAnswers' : ansRef[i].length});
					yourAns.push(tempAns);
					answeredByUsers = [];
					boolAnswered = false;
				}
				else
				{
					answeredByUsers = [];
				}
			}

			return yourAns;
		})

// After we get the answer, automatically fetch the tile place background
var bannerImg = getMyRecommendations.then(function(answers) {
	parsedAnswers = answers;
	prom3 = [];
	for(x=0;x<answers.length;x++)
	{
			PlacesApi.init();
			var defer = $q.defer();
			var de = PlacesApi.search(answers[x].locationId).then(function (response) {
			    if(response.photos === undefined)
			        return 'Images/placeholder-sm-min.jpg';

			     else
			     	return response.photos[0].getUrl({ 'maxWidth': 300, 'maxHeight': 200 });
			})
			 defer.resolve(de);
			 prom3.push(defer.promise);
	}

  return Promise.all(prom3);
}).then(function(images)
{
	var prom4 = [];
	for(x=0;x<parsedAnswers.length;x++)
	{
		parsedAnswers[x] = angular.extend({},parsedAnswers[x],{"locationImage" : images[x] });
			var defer = $q.defer();
			var getProfilePics = getProfilePicPromise(parsedAnswers[x].answeredByUsers);

			defer.resolve(getProfilePics);
			prom4.push(defer.promise);

	}
	console.log("getMyRecommendations",parsedAnswers);
	return Promise.all(prom4);
}).then(function(resultPics)
{
	console.log("finalimg",resultPics);
	for(x=0;x<parsedAnswers.length;x++)
	{
		parsedAnswers[x] = angular.extend({},parsedAnswers[x],{"profilePicArray" : resultPics[x] });
	}
	$scope.answeredData = parsedAnswers;
});

function getProfilePicPromise(authorIds)
{
	var allpics = [];
	var picpromises = [];
	for(i=0;i<authorIds.length;i++)
	{
		var defer = $q.defer();
		var userdetail = FirebaseUsersNode.getUserDetailObject(authorIds[i]+'/profilePictureUrl/')
		.then(function(success)
		{
		   return success.$value;
		})
		defer.resolve(userdetail);
		picpromises.push(defer.promise);
	}

	return Promise.all(picpromises).then(function(popip)
		{
			return popip;
		});
}
	   // ending of firebase calls
	})
	.controller("recommendTipController", recommendTipCtrl)
function recommendTipCtrl($scope,GeoCodingApi,$localStorage, $log, $stateParams, Auth, $firebaseArray,$firebaseObject,resolveUrlData,$rootScope,$state) {
	var vm = this;
	//debugger;
	vm.$storage = $localStorage;
	vm.userid = vm.$storage.userid;
	vm.data = resolveUrlData[$stateParams.questionID];
	console.log("vm.data==>>>", vm.data);

	var getCountry = GeoCodingApi.getResult(vm.data.locationName);
	getCountry.then(function(results) {
		$scope.countryName = getCountryName(results[0].address_components);
		console.log("GeoCodingApi results ->",$scope.countryName,results[0]);
		// body...
	})

	function getCountryName(addrComponents) {
    for (var i = 0; i < addrComponents.length; i++) {
        if (addrComponents[i].types[0] == "country") {
            return addrComponents[i].short_name;
        }
     }
	}

	var ref = firebase.database().ref();
	//debugger;
	var messegesref = ref.child('/users/'+ vm.data.quesAuthorId);
	var rdata =  messegesref.on("value",function(snapshot) {
	   // debugger;
			 var key = snapshot.key;
			 var vx = snapshot.child("authorId").val();
			  var xdata = snapshot.val();
		   //  console.log('tipctrl:',key) ;
	  //        console.log("XXX" , xdata );
	  vm.questionAskedBy = xdata.name;
			  vm.userImg = xdata.profilePictureUrl;
			  setTimeout(function () {
		        $scope.$apply();
		    }, 200);
			 return xdata;
			 // "ada"
			// defer.resolve(data);
			 //var childKey = snapshot.child("name/last"); // "last"

		});
  //  console.log("resolveUrlData : ",vm.data , rdata );
	vm.userSelectedpid = '';
	vm.userTip = '';
	vm.checking = function(arg)
	{
		if(arg.slide.pid != '' && $stateParams.personID !='')
		{
			vm.userSelectedpid = arg.slide.pid;
			vm.chosenPlace = arg.slide.caption;
		}
		console.log('checking function called == ',arg.slide.caption,vm.userSelectedpid," <---");
	}

	vm.send = function()
		{//debugger;

			//console.log(vm);
			vm.userSelectedpid = vm.slides[0].pid;
			vm.chosenPlace = vm.slides[0].caption;
			//console.log(vm.chosenPlace);
			if(vm.userSelectedpid != '' && $stateParams.personID != '' && $stateParams.questionID !='')
			{
				if(vm.tip == '' && vm.tip == undefined)
					vm.tip = ' ';
				var answersRef = ref.child('/answers/'+ $stateParams.questionID.toString());
				var list = $firebaseArray(answersRef);
				var answerObj = {
					answerText : vm.chosenPlace,
					ansAuthorId: vm.userid,
					commentArrayList: vm.tip,
					locationId: vm.userSelectedpid,
					questionId: $stateParams.questionID,
					ansDate: new Date().toString()
				}
				list.$add(answerObj).then(function(ref) {
						var rid = ref.key;
					console.log("added record with id " +rid , "  " ,ref);
					answersRef.child(rid.toString()+'/answerId/').set(rid);
					var updateRef =  firebase.database().ref().child('questions').child($stateParams.personID.toString()).child($stateParams.questionID.toString());
					vm.qObj = $firebaseObject(updateRef);
					vm.qObj.$loaded().then(function (data) {
						console.log('data: ',data);
					   // var kk = data.answers + 1;

						data.answered = true;
						vm.qObj.$save().then(function(ref) {
									  ref.key === vm.qObj.$id; // true
									  console.log('lastlog',ref);
									  $state.go('Answer', {qauthorid : $state.params.personID, qid: $state.params.questionID});
									  //$state.go('Home.Recommend');
									}, function(error) {
									  console.log("Error:", error);
									});
					});

				});
			}
		}

	// vm.slides = [
	//     { 'src': '/images/rest/rest-4.jpg', caption: 'Peacock Paradise', rating: 4, pid: '' },
	//     { 'src': '/images/rest/rest-5.jpg', caption: 'The Sundown', rating: 2, pid: '' },
	//     { 'src': '/images/rest/rest-2.jpg', caption: 'Red Velvet', rating: 3.6, pid: '' },
	//     { 'src': '/images/rest/rest-6.jpg', caption: 'The Peach', rating: 4, pid: '' },
	//     { 'src': '/images/rest/rest-9.jpg', caption: 'Oceanic', rating: 4, pid: '' },
	//     { 'src': '/images/rest/rest-1.jpg', caption: 'Peach', rating: 3.4, pid: '' },
	//     { 'src': '/images/rest/rest-3.jpg', caption: 'Apple', rating: 4, pid: '' }
	// ];
	console.log(vm.slides);
	// SLIDES WITH CAPTIONS
	//===================================

	vm.options = {
		sourceProp: 'src',
		visible: 1,
		perspective: 1,
		startSlide: 0,
		border: 0,
		dir: 'ltr',
		width: 316,
		height: 190,
		space: 370,
		loop: true,
		clicking: true,
	};

	// ANY HTML
	//===================================

	vm.removeSlide = removeSlide;
	vm.addSlide = addSlide;
	vm.selectedClick = selectedClick;
	vm.slideChanged = slideChanged;
	vm.beforeChange = beforeChange;
	vm.lastSlide = lastSlide;

	function lastSlide(index) {
		$log.log('Last Slide Selected callback triggered. \n == Slide index is: ' + index + ' ==');
	}

	function beforeChange(index) {
		$log.log('Before Slide Change callback triggered. \n == Slide index is: ' + index + ' ==');
	}

	function selectedClick(index) {
		$log.log('Selected Slide Clicked callback triggered. \n == Slide index is: ' + index + ' ==');
	}

	function slideChanged(index) {
		$log.log('Slide Changed callback triggered. \n == Slide index is: ' + index + ' ==');
	}

	function addSlide(slide, array) {
		array.push(slide);
		vm.slide2 = {};
	}

	function removeSlide(index, array) {
		array.splice(array.indexOf(array[index]), 1);
	}
	$scope.myPlacesImages = function (arg) {
		var x = 0;
		vm.slides = [];
		vm.slides.length = 0;
			var obj = [];
			obj = {
				src : function(){
						if(arg.photos === undefined)
						   return 'Images/placeholder-sm-min.jpg';
						else
						return arg.photos[0].getUrl({ 'maxWidth': 300, 'maxHeight': 200 });
						}(),
				caption : arg.name,
				rating: function(){
						if(arg.rating === undefined)
						   return 2;
						else
						return arg.rating;
						}(),
				pid: arg.place_id

			}
			vm.slides.push(obj);

		console.log(vm.slides.length);
		   setTimeout(function () {
		        $scope.$apply();
		    }, 200);

	}
}

app.directive('googleplace', function () {
	return {
		require: 'ngModel',
		scope: {
			myPlaces: '='

		},
		link: function (scope, element, attrs, model) {
			var options = {
				componentRestrictions: {}
			};
			scope.gPlace = new google.maps.places.Autocomplete(element[0], options);
			//  console.log(google.maps)
			var places = [];
			google.maps.event.addListener(scope.gPlace, 'place_changed', function () {
				var place = scope.gPlace.getPlace();
				console.log(place);
				console.log('main place:');
				angular.forEach(place.types, function (value, key) {
					if (place.types[key] == 'restaurant' || place.types[key] == 'food') {
						if (place != undefined) {
							var obj = {
								name: place.name,
								img: function () {
									if (place.photos != undefined)
										return place.photos[0].getUrl({ 'maxWidth': 300, 'maxHeight': 200 });
									else
										return 'Images/placeholder-sm-min.jpg';
								} (),
								rating: function () {
									if (place.rating == undefined)
										return 3;
									else
										return place.rating;
								} (),
								placeid: place.place_id
							};
							places.push(obj);
							console.log('places');
							console.log(places);

						}
					}
				});

				scope.$apply(function () {
					model.$setViewValue(element.val());
				});
				var newPos = new google.maps.LatLng(place.geometry.location.lat(), place.geometry.location.lng());
				var request = {
					location: newPos,
					radius: 2000,
					types: ['restaurant', 'food', 'cafe', 'meal_delivery', 'meal_takeaway', 'night_club', 'amusement_park','bakery','movie_theater','bar']
				};
				var service = new google.maps.places.PlacesService(document.getElementById('map'));

				service.nearbySearch(request, callback);

			});

			function callback(results, status) {
				// debugger;

				if (status == google.maps.places.PlacesServiceStatus.OK) {
					console.log(results);
					addPlacesIntoObj(results);
					scope.myPlaces(places);
					console.log('after push');
					console.log(places);
				}
			}

			function addPlacesIntoObj(results) {
				for (var i = 0; i < results.length; i++) {
					if (results[i].photos != undefined) {
						var obj = {
							name: results[i].name,
							img: results[i].photos[0].getUrl({ 'maxWidth': 300, 'maxHeight': 200 }),
							rating: function () {
								if (results[i].rating == undefined)
									return 3;
								else
									return results[i].rating;
							} (),
							placeid: results[i].place_id
						};
						console.log(results[i].name)
						places.push(obj);

					}
					else {
						var obj = {
							name: results[i].name,
							img: 'Images/placeholder-sm-min.jpg',
							rating: function () {
								if (results[i].rating == undefined)
									return 3;
								else
									return results[i].rating;
							} (),
							placeid: results[i].place_id
						};
						console.log(results[i].name)
						places.push(obj);
					}

				}
			}
		}
	};
})

app.factory("Auth", ["$firebaseAuth",
	function ($firebaseAuth) {
		return $firebaseAuth();
	}
]);

app.controller("answerDetailController", answerDetailController);
function answerDetailController($rootScope,$localStorage,GoogleStaticMap,usersFriends,$scope,$log,$q,$stateParams,PlacesApi,FirebaseAnswersNode,FirebaseUsersNode,$firebaseArray,$firebaseObject,FirebaseUsersDetail,FirebaseQuestionsNode)
{
	vm = this;
	vm.$storage = $localStorage;
	var slideVisible = 2;
	var isAllowed = false;
	for(x=0;x<usersFriends.length;x++)
	{
		if(usersFriends[x] == $stateParams.qauthorid)
			isAllowed = true;
		else if($stateParams.qauthorid == vm.$storage.userid)
		{
			isAllowed = true;
			vm.myquestion = true;
		}
	}

	if($stateParams.qauthorid != '' && $stateParams.qid != '' && isAllowed == true)
	{
		//var ref = firebase.database().ref();
		//var ansRef = ref.child('/answers/'+ $stateParams.qid.toString());
		//vm.ANSWERS = $firebaseArray(ansRef);
		vm.loading = false;
		vm.ANSWERS = [];
		var once = false;
		var userwhoQuestioned = $stateParams.qauthorid;
		var userwhoAnswered = "";
		vm.slides = [];
		vm.showArr = [];
		var ansRef = FirebaseAnswersNode.getAnswersArray($stateParams.qid.toString());
		ansRef.then(function(ANS)  // all answers for each question
		{
			//var ANS = answersShot.val();
			var questionId = $stateParams.qid;
			var promises = [];
			angular.forEach(ANS,function(value,key)
			{
				//debugger;
				var deferred = $q.defer();

				var authorId = ANS[key].ansAuthorId;
				var placeId = ANS[key].locationId;
				PlacesApi.init();
				var d = PlacesApi.search(placeId);
				d.then(function (response) {
					vm.detailObj = response;
				 console.log("placesdetails->",response,response.geometry.location.lat(),response.geometry.location.lng());
				 vm.mapImg = GoogleStaticMap.getStaticMap(response.formatted_address,11,{width: 284,height:100},'roadmap',{lat: response.geometry.location.lat(), long: response.geometry.location.lng()});
				 vm.mapUrl = response.url;
				 console.log("staticMap",vm.mapImg);
				 // staticMap.then(function(sMap)
				 // {

				 // })
				 if(response.photos === undefined)
					  vm.bannerImg = 'Images/placeholder-sm-min.jpg';

				  else
					vm.bannerImg = vm.detailObj.photos[0].getUrl({ 'maxWidth': 300, 'maxHeight': 200 });

					 deferred.resolve({'bannerImg' : vm.bannerImg, "detail" : value, "placeName" : vm.detailObj.name, "rating" : vm.detailObj.rating, "pid": vm.detailObj.place_id, "mapImg" : vm.mapImg, "mapUrl" : vm.mapUrl});
					//console.log("VM>SLIDES",vm.slides);

					// console.log("+++++pdetails++++",vm.detailObj,vm.bannerImg);
				});

				promises.push(deferred.promise);
			})

			$q.all(promises)
			.then(function(results)
			{
				console.log("results",results);
				angular.forEach(results,function(resValue,resKey)
				{
					var placeId = resValue.detail.locationId;
					//var ansRef = ref.child('/answers/'+ $stateParams.qid.toString());
					var userdetail = FirebaseUsersNode.getUserDetailObject(resValue.detail.ansAuthorId);
					userdetail.then(function(success)
					{
						var proPic = success.profilePictureUrl;
						var authorName = success.name;
						var objStore = angular.extend({},resValue.detail,{'profilePictureUrl' : proPic, 'authorName' : authorName});
						vm.ANSWERS.push(objStore);
						var slideData = { 'src': resValue.bannerImg, "caption": resValue.placeName, "rating": resValue.rating, "pid": resValue.pid , "mapImg" : resValue.mapImg, "mapUrl" : resValue.mapUrl, "comment" : objStore};
						vm.slides.push(slideData);
						if(once == false)
						{
						  vm.showArr.push('true');
						  once=true;
						}
						else
						{
						  vm.showArr.push('false');
						}
						console.log("VM>SLIDES",vm.slides);
					})
					.catch(function(error)
						{
							console.log("error",error);
						})
				})
			})
			//console.log("vm.ANSWERS",vm.ANSWERS);
		   // debugger;
			var quesRef = FirebaseQuestionsNode.getQuestionObject($stateParams.qauthorid.toString()+"/"+$stateParams.qid.toString());
		  //  var quesRef = ref.child('questions/'+ userwhoQuestioned+"/"+$stateParams.qid);
			//vm.questionDetail = $firebaseObject(quesRef).$loaded();
			quesRef.then(function(questions)
				{
					vm.questionDetail = questions;
		  //  console.log("vm.questionDetail",vm.questionDetail);
		});

		})
	}

	vm.parseDate = function (dateArg)
	{
		return Date.parse(dateArg);
	}

	console.log(vm.slides);
	// SLIDES WITH CAPTIONS
	//===================================

	vm.options = {
		sourceProp: 'src',
		visible: slideVisible,
		perspective: 1,
		startSlide: 0,
		border: 0,
		dir: 'ltr',
		width: 316,
		height: 190,
		space: 370,
		loop: true,
		clicking: true,
	};

	// ANY HTML
	//===================================

	vm.removeSlide = removeSlide;
	vm.addSlide = addSlide;
	vm.selectedClick = selectedClick;
	vm.slideChanged = slideChanged;
	vm.beforeChange = beforeChange;
	vm.lastSlide = lastSlide;

vm.showText = false;
	function lastSlide(index) {
		$log.log('Last Slide Selected callback triggered. \n == Slide index is: ' + index + ' ==');
	}

	function beforeChange(index) {
		$log.log('Before Slide Change callback triggered. \n == Slide index is: ' + index + ' ==',this.slides[index]);
		//this.slides[index].show = false;
	//	debugger;
		vm.showArr[index] = false;
		setTimeout(function () {
		        $scope.$apply();
		    }, 500);
		var target = document.getElementsByTagName("h1")[index+1];
		console.log("before",angular.element(target).parent('.slide-3d'),angular.element(target).parent('.slide-3d').parent());
	}

	function selectedClick(index) {
		$log.log('Selected Slide Clicked callback triggered. \n == Slide index is: ' + index + ' ==');
		window.location.href = window.location.origin + window.location.pathname + '#/place/'+this.slides[index].pid;
	}

	function slideChanged(index) {
		$log.log('Slide Changed callback triggered. \n == Slide index is: ' + index + ' ==',vm.slides[index][index]);
		//vm.slides[index-1].show = false;
		//vm.slides[index].show = true;
		vm.showArr[index] = true;
		setTimeout(function () {
		        $scope.$apply();
		    }, 500);

		var target = document.getElementsByTagName("h1")[index+1];
		console.log(angular.element(target).parent('.slide-3d'),angular.element(target).parent('.slide-3d').parent());
	}

	function addSlide(slide, array) {
		array.push(slide);
		vm.slide2 = {};
	}

	function removeSlide(index, array) {
		array.splice(array.indexOf(array[index]), 1);
	}

	// carousel3d settings end

}

// Download a file form a url.
function convertFileToDataURLviaFileReader(url, callback) {
		  var xhr = new XMLHttpRequest();
		  xhr.responseType = 'blob';
		  xhr.onload = function() {
		    var reader = new FileReader();
		    reader.onloadend = function() {
		      callback(reader.result);
		    }
		    reader.readAsDataURL(xhr.response);
		  };
		  xhr.open('GET', url);
		  xhr.send();
		}


It is very important for you to know the ways to receive information during an emergency or disaster.
The Mecosta County Nixle notification system will send text and email alerts to your cell phone and computer. The system requires you to opt in to receive emergency text and email alerts. Click the Nixle button below for more information.
One of the best devices for emergency weather alerts is the NOAA Weather Radio. Click the button below for more information.


The wildlife habitat around the Gowing's Swamp wetlands is being transformed!
SVT and our conservation partners have been removing invasive plants from the area, and this has allowed a diversity of native and other non-invasive plants to thrive and provide food and habitat for our native pollinators and birds.
The Gowing's Swamp natural area in Concord supports a unique bog, vernal pools, and other wetlands that are surrounded by a walking trail through pleasant oak-pine woodlands. The protection of the Gowing's Swamp environs began in 1971, when Sudbury Valley Trustees (SVT) was given seven acres on the east side of the bog. In 1979, seventeen acres were protected as part of the Edmonds Road condominium development. And in 2012, the Concord Land Conservation Trust (CLCT) raised funds to purchase another seven acres to the west. Most recently, SVT partnered with the Playscape at Ripley to create an engaging gateway to this natural area.
Over time, the area became overrun with invasive plants such as Japanese knotweed, Oriental bittersweet, and glossy buckthorn. These aggressive plants threatened the ecological health of this special area, as they squeezed out the native plants that native birds, bees, butterflies, and other insects rely upon for food and habitat.
In 2015, the Playscape, CLCT and SVT developed a plan to improve the interpretive and viewing elements of the Playscape, and to combat the invasive plants. We began implementing the invasive control plan in 2016, when we cleared plants from the highly invaded areas and applied a targeted herbicide treatment. SVT and our volunteers also experimented with the use of "buckthorn baggies" to cut and cover glossy buckthorn as a way to kill the shrubs; unfortunately, that technique was less than 50% effective.
As of 2018, wildflowers are back! We have observed a significant reduction in invasive plants and a resurgence of native wildflowers and other beneficial plants. In the small meadow by the cemetery, we have had a resurgence of common milkweed (a host plant for monarch butterflies), wild indigo, goldenrod, dewberry, and other plants. In the smaller field near the Playscape, white asters, St. John's wort, and red clover have appeared.
The most amazing transformation has been the conversion of a solid wall of Japanese knotweed to a beautiful field of black-eyed susans (pictured), dotted with white vervain, pretty yellow partridge pea, and other native and non-invasive plants. The nectar of black-eyed susans attracts checkerspot butterflies, and its seeds attract many birds. White vervain provides nectar and pollen for native bees.
We are thrilled with this success, but our work is not yet done. Invasive plants are still lurking. We conducted another round of limited herbicide application in mid-August 2018, which will complete the planned project. And because invasive species control never really ends, we will continue to do spot treatments and removal each year. Now that we've seen how beautiful and healthy this area can be, we do not want the invasives to take over again.
The total cost for the three-year project to control invasive plants around Gowing's Swamp is $28,500. Concord Community Preservation Committee (CPC) and Concord residents approved $14,100 to fund the first year start-up of the project. Additional funding was provided by CLCT ($2,000), the Suasco CISMA (Cooperative Invasive Species Management Area) ($3,100) and other SVT members and Concord residents ($2,540).
Please help us to make up the $6,760 shortfall by donating today.
The Concord Natural Resources Commission supports this project, and we are using environmentally safe techniques that have been used in many biodiversity protection projects across the Commonwealth. SVT is a member of the Suasco CISMA, in which conservation professionals share their expertise and promote best management practices for invasive species management.
Contact SVT's Laura Mattei at 978-443-5588 x134 or [email protected].
Read more about Gowing's Swamp.


text:
Learning from retrenchment: local textile workers redefine themselves after global restructuring
Keating, M 2010, Learning from retrenchment: local textile workers redefine themselves after global restructuring, Doctor of Philosophy (PhD), Global Studies, Social Science and Planning, RMIT University.
Keating.pdf Thesis application/pdf 2.02MB
Keating, M
This thesis analyses the ways in which recent changes in the global field of work have resonated in the lives of one group of retrenched workers. In order to conceptualise the relationships between changing conditions and changes in individual lives, the author has drawn from the work of sociologist Pierre Bourdieu. Of particular importance to the study are his notions of the 'habitus', the 'field' and the 'disposition'.
The research focuses on workers leaving the textile industry, in which a diversity of individual 'dispositions' once flourished as part of another system or work 'habitus'. This allows examination of how changing conditions of work have generated specific transformative possibilities for workers at the lower end of the economy.
The author asks what transformations were undergone in the lives of seventeen retrenched textile workers and how adequately their learning process was supported by vocational education and training.
In relation to the first question, it is argued that, as they re-positioned themselves within the new field over three years, workers each underwent transformations in their work identities, sense of belonging and sense of themselves as learners. For many, customer focus, entrepreneurship and dispersed social networks, as well as acceptance of change and openness to learning, had come to define their working lives and identities. However, the benefits of change flowed to very few. Although they had come to inhabit new work dispositions, retrenched textile workers tended to experience higher levels of stress and lower sense of motivation at work. Exceptions to this were obvious only where particular kinds of identity attributes and social networks supported individual transformations.
In relation to the second question, it is argued that vocational education and training confirmed worker dispositions, without supporting critical learning throughout retrenched textile workers' transformations. Whilst VET (vocational education and training) participation had numerous ad hoc and unintended impacts on individual lives, its ability to support the critical learning of retrenched workers as they moved through change was limited by tensions brought about by the socially dis-embedded constructions of skill itself and of skilful workers.
This study investigates one group of retrenched workers from one industry. However, this group shared many features with thousands of retrenched workers who are leaving the manufacturing sector and finding positions in growing service industries at the lower end of the Australian economy. The government promotes VET qualifications for such workers, on the grounds that they both increase the range of skills for work at the national level and improve work opportunities in individual lives. However, this research suggests that neither may be the case. It also suggests that social connectedness, embedded within individual enterprises, industries and training courses is a vital condition for the development of a skilful, flexible and resilient workforce as well as for positive, transformative change in the lives of retrenched manufacturing workers.
Wed, 16 Feb 2011, 09:07:58 EST Wed, 10 Sep 2014, 11:23:11 EST Thu, 05 Jan 2017, 12:21:45 EST Filtered Full
Wed, 16 Feb 2011, 09:07:54 EST

redpajama_set_name: RedPajamaCommonCrawl


Messe Frankfurt New Era Business Media Ltd acquired Thailand Lighting Fair and Thailand Building Fair at the beginning of this year to expand the worldwide portfolio of its Light + Building brand of trade fairs. Powered by Messe Frankfurt since their inception in 2015, the two fairs now officially form part of the Light + Building family that totals 15 fairs around the globe.
Mr Hubert Duh, Chairman and Managing Director, Messe Frankfurt New Era Business Media Ltd, revealed more about what to expect at this year's show: "Thailand Lighting Fair 2018 is a comprehensive platform that encompasses lighting accessories and electronic components, commercial, city and architectural lighting as well as design lighting fixtures. All these sectors of the industry are showcased in tandem with the rising needs and challenges of the ASEAN market. We aim to make Thailand Lighting Fair an exciting destination for exploring diverse and new business opportunities in the region".
The smart concept is a hot topic that the lighting industry has embraced. Smart lighting has emerged as a crucial component for smart homes, buildings and cities alike. By integrating network connectivity and intelligence into LED-based luminaries, it has helped to form the backbone of smart building and cities and has made the vision of IoT feasible. To highlight the smart concept, Thailand Lighting Fair is held concurrently with Thailand Building Fair, offering a combined focus on smart home and building technologies. The two fairs benefit from a synergistic effect by providing an ideal platform for networking and cooperation possibilities between the lighting and IoT communities. Such collaboration opportunities may inspire industry peers to strategically plan and upgrade existing product lines to grasp new business opportunities focusing on smart trends. Highlighted exhibitors from the smart sector include the KNX Association from Belgium together with their members including ABB, Somfy, Domotica, Phuket Technology, Jung and Green Controls as well as HDL Automation and Graesslin.
Lighting can improve lives and create value beyond illumination. Besides featuring diverse lighting applications that champion energy efficiency and luminance, the 2018 show will also feature a solar zone to highlight LED compatibility with solar technology, promoting business opportunities between lighting technology and the integration of solar devices in building projects. Highlighted exhibitors in the solar zone include Seraphim Solar System (Thailand), Ciwolf, Cleanmax IHQ (Thailand) and Solar Express.
Human-centric lighting is the latest trending term in the professional lighting industry, meaning lighting that is devoted to enhancing vision, wellbeing and performance. The commercial lighting section at this year's fair will feature diverse lighting applications with key user comfort solutions on full display. Highlighted exhibitors include Shanghai Wellmax Lighting, Dongguan Shenshar LED lighting, YuYao Ostron Lighting Tech and LED on Home.
A series of thought-provoking events and seminars will take place across the three-day shows, covering different hot button topics in the lighting and building sectors. The Industrial Estate Authority of Thailand will be present to explain more about opportunities available for lighting businesses in the industrial estate development in the country, while a host of architectural and interior designers will discuss the future direction of the industry. Meanwhile, smart home, building and parking solutions highlight the building sector's event programme. For full details of the event programme, please click here.
Thailand Lighting Fair is a part of Messe Frankfurt's Light + Building Technology fairs headed by the biennial Light + Building event held in Frankfurt, Germany, every two years. The next show will take place from 8 ‒ 13 March, 2020.


What's better than a striped top? A striped top with striped pants! #Stripes4Lyfe! This is the cashmere sweater I mentioned in Friday's post and the pants from this post. If you follow me on Snapchat you know I wore this look last Tuesday to work. Whenever I can't figure out what shoes to wear with a look I always go to leopard and it rarely steers me wrong!
A few of you sent me emails and comments after last week's What's In My Bag to see how the 15″ Dagne Dover tote looks near my body, if it's too big, and if it fits over my shoulder. As you can see it's not too big and fits quite comfortably over the shoulder even when full.
Many of you have also reached out complaining how the current delicate necklace trend isn't kind to those of us who are larger or curvy. So many of the popular brands only carry 16″ chains; some carry 18″ but it's still too short for many. My solution? Etsy! This necklace is from Etsy seller bellezamia, the quality is excellent, the price cheaper than a lot of the trendy brands, and I could choose my chain length (this is 20″). Etsy is also my go-to for on-trend rings in sizes larger than 7 or 8. A variety of sizes and you get to support a small business or independent artisan? Win/win!
Love this outfit and your hair! You look great.
I love this outfit on you! This is pattern-mixing at its best, and perfect for so many settings.
Very cute outfit, love the mixed stripes and the orange.
Seeing those pumps made me toddle over to Lands End because I know their shoes fit me. I'd been stalking these little kitten heels for a long time, and they restocked my size. 30% off? Yes, please!
What an awesome price for a great pair of shoes! These I bought years ago from Ivanka Trump and the lower heel is PERFECTION. Her shoes also fit me quite well. But my shoes are starting to lose the fuzz, the heels are looking battered and they're on their third pair of FootPetals inside and just feel gummy and gross. When writing this post I went to find something similar to link to and was psyched to see what looks like the exact same shoe again available (what I linked above). I ordered a replacement pair. A kitten heel leopard haircalf pump is a must in my wardrobe, worn more than most anything else!
I am jealous of your sweater 🙁 It's sold out now!
Awww shucks! I wonder if there's some at a local store. And if not, J. Crew always has cashmere and stripes, I bet a similar one will be available in the future!


Our client is looking for a Mechanical Engineer for a 6 month contract, located in Westhill.
This position is a discipline engineer within the maintenance and inspection department of the asset and provides technical/engineering advice and support in relation to maintenance / modification activities.
Ensure work is carried out in accordance with the approved procedures and in accordance with the performance standard requirements and OIAVS.
Budget spender - responsible for ensuring that jobs are done efficiently and in accordance with approved budgets. Management and approval of repairs.
Manage the cost control process within budget for routine and non routine jobs and modifications.
Raise requisitions in the CINDY system for services and for procurement of materials.
Develop and maintain good working relationships with site personnel through effective communication and by making regular visits to operated assets.
Develop and maintain good working relationships with vendors.
Provide technical input to contract tenders and negotiations relating to maintenance services.
Manage technical application of contract services, taking a lead role in the involvement/co-ordination of, and interface between, onshore/site/offshore teams/contractors ensuring effective communication and understanding between appropriate parties.
Provide technical input on contractor performance to contract analyst / SQM meetings.
Develop positive and constructive relationships with contractors and suppliers. Identify opportunities to improve contractor/supplier performance, reduce costs and improve the quality of services/products supplied.
Monitor the efficiency of preventive strategies for the maintenance, inspection and operation of plant/equipment to ensure that all plant and equipment meets verification and compliance requirements and fit to the workload availability of contractors.
Apply LEAN process to optimise maintenance in accordance with the minimum maintenance guidelines.
Provide technical support to the site : organisation of vendors interventions, supply direct support to site requests (vendors, spare parts, repairs, tools, technical procedures...), ensure progress of top 10 priorities, provide accurate data for the 6 weeks and 90 days planning and ensure maintenance activities are appropriately prioritized.
Issue or review the required PMCR to optimize the preventive maintenance activity. Proactively monitor, review and analyse plant and equipment performance and provide feedback to Line Management, identifying opportunities to maximise production and performance and share best practice.
Prepare scopes of work for vendor services, make recommendations on preferred contractors and co-ordinate vendors, materials and equipment for planned and unplanned activities, monitoring and controlling manpower usage, vendor/contractor performance and expenditure. Lead, as appropriate, in vendor/contractor audits.
Proactively monitor, review and analyse plant and equipment performance and provide feedback to Line Management, identifying opportunities to maximise production and performance and share best practice.
Provision of specialist technical/engineering advice and guidance to site/offshore personnel.
Contributes to the technical decision-making process relating to discipline.
Ensure that jobs undertaken in accordance with budget.
Ensure highest safety standards and continuity and optimisation of hydrocarbon production.
Develop and maintain productive and constructive relationships with site-based/offshore personnel, onshore operations/technical teams and external contractors/vendors.
Previous engineering experience in the oil & gas industry, including offshore/site experience.
Must possess current certification in UK Offshore Survival, MIST and OGUK Medical certificate.


(WATCH) Russell Brand & Candace Owens debate: Who has the power?
In this excerpt of "Under The Skin," Russell Brand and Candace Owens debate income inequality.
The entire explosive episode can be seen HERE.
Socialism breeds discontentment while capitalism breeds opportunity.
So socialist Sweden brings in migrants and socializes them by giving them free stuff. Yeah! Hows that working out for you Sweden? Are they grateful? Do they love you?
He is a dirty hypocrite just like the rest of the bloodsucker big name supporters of stealing other people's money.
He says thank gawd he can afford to pay his rent, not, I live humbly and give the fruits of my labour away to those who have less. He is happy to point the finger at others and figures that absolves him of any other responsibility. That's what they do. They keep theirs, but point fingers.
He has many houses, including in California. He has many cars, swimming pools, in house cinemas etc. and at least one chauffeur. He apparently doesn't have a drug problem anymore, so he doesn't spend excesses on that, so how much does he give back to the government? More than he has to? How about charities, what percent of his income. These communists are all the same.
It sounds like Trudeau, except Russell does a better job of sounding sincere, he has better acting skills than Justin.
Let them eat cake. That's what these elites really mean to say.
Never argue with a socialist. They believe success can't be duplicated and rather than giving people the tools to try, they would hobble everyone and tell them to be happy with crumbs. It doesn't exactly promote excellence or innovation. What kind of a society is that? I would like to see Russell's footprint. He doesn't exactly live like a popper.
Russell Brand, once he became wealthy, quickly became socialist, unrealistic, and sort of insane. He also employs the usual Left tactic of talking over anyone who disagrees with them. Also usually shocked that anyone would dare disagree with them or could possibly have a different opinion.
I thought he vanished into obscurity, shrivelled up and died a drunkard's death. Oh well… he still breathes.
Brand…is jealous and wants these rich people to give him their money. He is FULL OF ENVY…instead of believing in the power of individuals to improve their condition.
MY prescription is to read and book by David Horowitz and then tell me what you think.
Thomas Sowell also brilliant…esp. "Basic Economics"…proves that anything Governments do to HELP in fact destroy the very people they SAY they are helping…socialism is simply theft and is predatorial on the working man.


There was always going to be fierce fashion at the premiere of Ocean's 8. After all, the film stars eight sartorially savvy women, each with excellent stylists and access to catwalk-fresh outfits.
On Tuesday night, the film's leading ladies — Sandra Bullock, Cate Blanchett, Helena Bonham Carter, Sarah Paulson, Mindy Kaling, Anne Hathaway, Awkwafina, and Rihanna — took to the red carpet in a glorious array of ensembles for the Ocean's 8 world premiere in New York City.
Paulson, clad in a neon green Prada outfit, stole the show, while Rihanna turned to Meghan Markle's wedding dress designer, Clare Waight Keller from Givenchy, for her pleated, metallic dress.
Bullock looked every inch the leading lady in a glittering Elie Saab number, and Hathaway sashayed down the red carpet in a printed gown by Jean Paul Gaultier.
Blanchett worked a Missoni trouser suit and, waving the flag for Britain, Bonham Carter wore a Vivienne Westwood gown.
Awkwafina looked ethereal in a white Reem Acra gown with a cape, and Kaling supported Prabal Gurung with her liquid chiffon sequined dress.


text:
Los shilluk (en shilluk: chollo) son un grupo étnico nilótico de Sudán del Sur, que vive en ambas riberas del río Nilo, cerca de la ciudad de Malakal. Su lenguaje es el Dhog Collo o Dho Col, siendo dhog la palabra shilluk para "lenguaje" y "boca". Antes de la segunda guerra civil sudanesa los shilluk también habitaban varios asentamientos en la ribera norte del río Sobat, cerca de la confluencia del Sobat con el Nilo, siendo Dolieb Hill una importante misión cristiana.

Los shilluk son la tercera minoría étnica más numerosa de Sudán del Sur, después de los dinka y sus vecinos nuer.

La lengua shilluk pertenece a la familia de las lenguas luo en el grupo de los lenguajes nilo-saharianos.

Cultura

Históricamente los shilluk han sido gobernados por un rey reth que se consideraba era descendiente del linaje divino del héroe Nyikang, y cuya salud se creía que afectaba a todo su pueblo. Anteriormente al surgimiento de la figura del reth, la sociedad shilluk era muy jerárquica con castas de nobles, campesinos y esclavos. Como en la mayoría de los grupos nilóticos la ganadería constituía una parte importante de su economía; sin embargo, la agricultura y la pesca eran más importantes de lo habitual, y la mayoría eran sedentarios. Históricamente en el sur de Sudán existió un territorio considerado como Reino shilluk durante casi cuatrocientos años (1490 - 1865).

Religión

La mayoría de los shilluk se han convertido al cristianismo, aunque algunos todavía conservan su religión tradicional o una mezcla de ambas; algunos se han convertido al Islam. Los shilluk se enorgullecen de haber sido uno de los primeros pueblos nilóticos que aceptaron el cristianismo. Según las enseñanzas de la Iglesia Episcopal de Sudán la mayoría de los shilluk se convirtieron a finales del siglo XIX cuando la Church Mission Society comenzó a enviar misioneros al sur de Sudán. La política colonial y los propios misioneros han dividido a los shilluk en iglesias católicas y protestantes. Históricamente la Iglesia católica se extendió en la ribera occidental del Nilo y creó misiones en Lul, Detwoc, Tonga y Yoynyang, mientras que la American Inland Mission creó una misión en Dolieb Hill, al sur de Malakal en la ribera oriental de Nilo. Los shilluk fueron minoría en la facción rebelde durante la Segunda Guerra Civil Sudanesa.

Etnografía

Los shilluk fueron fotografiados durante el siglo XIX por el explorador austriaco Richard Buchta, y posteriormente por la cineasta alemana Leni Riefenstahl a comienzos de la década de 1960.

Violencia

Durante el verano del año 2010 el Ejército de Liberación del Pueblo de Sudán (ELPS), en un intento de desarmar a los shilluk, y acabar con su rebelión local, quemó varias aldeas y mató a varios civiles en el territorio shilluk. Más de 10 000 personas fueron desplazadas en medio de la estación lluviosa y huyeron a los bosques a menudo desnudos, sin refugio ni comida, lo que provocó la muerte de muchos niños de hambre y de frío.

La violencia estalló de nuevo en abril de 2011 cuando el ELPS atacó de nuevo las regiones controladas por los rebeldes. Los shilluk y también los nuba sufrieron debido a los ataques.

Notas

Referencias

  This section discusses number systems in Dhok-Chollo.

Enlaces externos

 El portal de la Comunidad Shilluk
 Foto de la Biblioteca del Congreso de los Estados Unidos de dos varones shilluk.
 Violencia en el Reino shilluk de Sudán.

Demografía de Sudán del Sur
Etnias de África
Etnias de Sudán del Sur
Malakal

redpajama_set_name: RedPajamaWikipedia


text:
Gergo Racz is back with "Shotgun"
Source: lightmedia.hu
ImageEurostarsHungaryMedia
By Ervin Juhász	 On Sep 11, 2014
Gergo Racz is no stranger to Eurovision, as he represented Hungary three times in the Eurovision Song Contest, and also took part twice in A Dal. He represented Hungary in 1997 as a member of the boy band V.I.P, he was a backing singer for Csezy in 2008, and he co-composed "What About My Dreams" for Kati Wolf in 2011, and tried his luck in 2013 in A Dal with "Csak allj mellem" – finished in the top eight, and in 2014 as a member of Fool Moon with "It Can't Be Over" – finished in the top four.
Gergo has just released his newest single, titled "Shotgun". The song is completely in English, composed by Gergo and Krisztian Burai, while the lyrics are written by Johnny K. Palmer (who also wrote the lyrics for "What About My Dreams"). You can listen to Gergo's new single right here:
https://www.youtube.com/watch?v=v-mhajJKqhg
A DalCsézyGergo Raczhungarykati WolfRácz GergőShotgunVIP
Nusa Derenda and Darja Svajger in Slovenska Popevka


text:
Leuctra kurui is een steenvlieg uit de familie naaldsteenvliegen (Leuctridae). De wetenschappelijke naam van de soort is voor het eerst geldig gepubliceerd in 1983 door Kazanci.

Naaldsteenvliegen


Features include Bluetooth wireless connectivity, 3D Audio processing, clearance playback and impressive audio mixing and distribution, the GMA 245 audio panel represents the most advanced audio control technology Garmin has ever introduced for experimental amateur-built (EAB) and light sport aircraft (LSA) cockpits. Upgrading from the popular GMA 240 and GMA 340 audio panels in experimental aircraft has never been easier; simply slide in and fly away with the most modern audio processing capabilities available.
Designed by our dedicated "Team X" engineering group specifically for the experimental market, GMA 245 offers an impressive array of features previously available only on high-end audio systems. Yet, it's priced to fit the budgets of most kitplane builders and sport pilots. It's also the perfect complement to our G3X Touch™ electronic flight display systems, enabling pilots to use their choice of conventional knobs and buttons on the audio panel faceplate — or onscreen selection with the G3X Touch displays — to optimize their cockpit communications options.
Think high-end music equalizer and exceptional "home theater" quality sound. That's what the GMA 245 audio panel brings to inflight media and entertainment. The audio panel provides support for 2 dedicated stereo music inputs — plus additional Bluetooth wireless devices — which can be played through the headsets. Music features allow pilots to select enhanced bass boost levels as well as equalizer effects that include rock, classical and pop audio profiles.
Built-in Bluetooth connectivity with GMA 245 enables pilots to connect the unit with their smartphones or other compatible devices, so they can make and receive calls in the cockpit as well as stream audio entertainment through their mobile devices to pilot, copilot and passenger headsets. When incoming calls are received, visual and aural cues are provided — with onscreen notifications available on G3X Touch to let pilots know who's calling. Access to Bluetooth-enabled telephone or music inputs can easily be routed to up to 6 headset positions throughout the cabin. In addition, hard-wired sources, such as SiriusXM® satellite radio, DVD or CD players, can also be connected and distributed through GMA 245.
Sophisticated 3D Audio processing in GMA 245 adjusts audio in the headset to approximate how the human ear normally hears and registers sounds in space. This makes it seem as though different audio sources are coming from different directions around you, making it easier to distinguish 1 source from another — and helping you focus on the higher-priority calls coming into your headset. For example, COMM 1 will seem like it's coming from the left while COMM 2 will seem to be coming from the right.
As a further enhancement to the cockpit audio experience, advanced Auto Squelch technology automatically adapts GMA 245 to a quiet or noisy environment without clipping words or cutting out during conversation. A high-performance digital signal processor constantly monitors ambient noise level and automatically adjusts the mic squelch level required to keep intercom conversation as comfortable and natural as possible — whether you're talking over engine noise in flight or quietly going through your engine pre-start checklist on the ground.
Some other audio panels are typically set to work best when the engine is operating and cockpit noise is at its highest, which, in turn, requires you to talk loudly on the ground prior to engine start for audio voice activation. GMA 245's advanced Auto Squelch technology eliminates these inconsistencies, allowing you to speak at normal levels, no matter what the ambient sound conditions may be.
One of the most useful Garmin audio features ever invented, an automatic digital voice recorder on GMA 245 continuously captures the last 60 seconds of incoming active comm audio for instant playback on request. Any pilot who's ever missed an ATC call, frequency assignment or clearance amendment will appreciate the value of this handy "say again" function.
At full capacity, the GMA 245 audio panel will support dual comm, dual nav and multiple aux receivers, totaling up to 7 radios in all. There's a 6-place intercom with 3 modes of isolation. And a split-comm mode lets the pilot and copilot broadcast on independent frequencies. Large LED-illuminated buttons on the panel unit provide intuitive audio and mode selection. Push-to-talk indication is provided by a flashing LED on the face of the unit. Wireless connectivity via Bluetooth for the Garmin VIRB® XE action camera (sold separately) gives pilots the option to overlay intercom audio and ATC communications onto the HD video soundtrack.
Given such extensive audio control capabilities, GMA 245 clearly raises the industry standard for communications flexibility, hi-fi sound quality and wireless Bluetooth access in today's ever-more-connected experimental/light sport cockpits. It's the ultimate "nerve center" for pilots who want the absolute best from their in-flight audio environment.


Irish Gentleman, Artist, Poet, Writer, Singer, Actor, Teacher and Dreamer. On October 13, 2018, our beloved Raphael was gently taken by the Great Spirit into the waiting arms of his Mom, Pops and older brothers in Heaven.
He leaves to mourn, his loving wife Joan; devoted daughter Lucy (Mark) MacLoughlin; sons Bob (Karen) Lawrence; Peter, David (Julianna) and Mark (Lucy) Metin; 6 grandchildren Bryanna (Lenny), Emily, Charlotte, Michael, Daniel and Christopher; 2 great-grandchildren Madi and Brooke; sister-in-law Dorothy (Richard) Williams, brother-in-law Duncan (Beverley) McLean; and many nieces, nephews and friends in Canada and Ireland.
The family would like to extend our heartfelt thanks and gratitude to the caring, compassionate staff of the critical care unit at Langley Memorial Hospital.
Celebration of Raphael's Life will follow at a later date.


text:
Julius Melnitzer is a Canadian freelance legal writer and former lawyer. In 1992, he pleaded guilty to 42 counts of fraud in relation to defrauding five Canadian banks out of $67 million. He was sentenced to nine years in jail. He was a founding partner of "Cohen,Highley" in London, Ontario.

It was the largest personal loan fraud in Canadian history.

After being disbarred, Melnitzer became a prominent legal affairs writer and as of January 2021, has bylines in the Financial Post.

Crime and punishment
Melnitzer was a successful and high-profile lawyer in London, Ontario, when he began a scheme to print fake stock certificates to be used as collateral to get loans from major Canadian banks. He was caught when an officer at National Bank of Canada became suspicious and asked for an inspection of the certificates. Melnitzer was arrested three days later. He was later disbarred, and at his sentencing the judge read a "scathing" indictment on his actions.  Melnitzer was given day parole two years later, and then full parole in 1995.

Melnitzer's partner at the time of the fraud, Fletcher Dawson, and he was duped for about $100,000. Future London MPP Chris Bentley was an articling student at Melnitzer's firm.

References

Living people
Lawyers in Ontario
Canadian fraudsters
People convicted of fraud
Canadian legal writers
Disbarred lawyers
Year of birth missing (living people)


text:
Home | Leaderboard | Tee Times | Schedule | Statistics | Earnings | Tour: PGA TourLPGA TourWeb.comEuropeanChampions
Kitayama claims first European Tour win at Mauritius Open
Golf Headlines
Under-the-radar Lowry opens with 67
Poston shoots 62 to lead Barbasol
Duval posts 14 on 7th hole, shoots 91
Pressel, Creamer lead LPGA team event
BEAU CHAMP, Mauritius (AP) Kurt Kitayama claimed his first European Tour win at the Mauritius Open on Sunday as he closed with a 4-under 68 for a 2-shot victory.
Kitayama's first European title came in just his third tournament as the American held off Chikkarangappa S and Matthieu Pavon, who both carded 67s to tie for second.
Defending champion Dylan Frittelli finished strongly, shooting 65 to share fifth place. Justin Harding, tied for the lead with Kitayama overnight, was a shot ahead of him in fourth.
Kitayama had an eagle, four birdies and two bogeys in his final round at Four Seasons Golf Course, going birdie-eagle-birdie from Nos. 3-5 to pull ahead. He had to hold his nerve, though, after his second dropped shot on No. 16 saw his lead cut to just a shot and gave Chikkarangappa and Pavon a chance.
Kitayama recovered to finish birdie-par for a breakthrough win after only coming through qualifying school last month.
"I'm just so proud, really happy," said Kitayama, who finished on 20-under 268 overall. "It's an unbelievable moment for me. I'm just so happy I was able to pull it off."
The 25-year-old Kitayama said earlier in the tournament he would reconsider staying on the European Tour at the end of the year, but he may have made his mind up to continue after Sunday's success.
"This whole year has been, well, what a great year," he said. "I still have two more events but to win on one of the last events of the year is just great.
"It's been really exciting, being able to travel all over the globe and I'm going to continue to travel more. I'm really looking forward to it."
More AP golf: https://apnews.com/apf-Golf and https://twitter.com/AP-Sports


Admission to the lecture is $10; SMU students will be admitted free with campus ID. Proceeds will benefit disaster relief efforts in Japan. RSVP online at the Japan Association at SMU (JASMU) website.
At the event, JASMU will sell a fund-raising T-shirt designed by its members (pictured right), priced at $20. The shirt features images of a crane and Mt. Fuji, both symbols of Japan, with a large wave symbolizing the recent disaster. "We hope that Japanese people will find a way to recover from the 2011 Japan earthquake just like cranes rising into the sun," the students wrote on the JASMU homepage.
The shirts will also be available from SMU's booth at the 2011 Earth Day Dallas event, April 22-23 in the Dallas Arts District.
For more information, visit the Japanese Association at SMU website or call Yuri Kimura at 214-909-0786.


"The advantages of having a home-based business are many. For safety compliance consultants Larry Reed and Linda Pratsch, of Appleton, Wis., the view from their home office located on the bank of the Fox River has got to rank at the top of the list. But do not be fooled by the pastoral setting of their office, it belies the seriousness of the business that is conducted there.


American singing sensation, Riley Clemmons, released her self-titled debut album on August 4 2018. The 18-year old Christian-pop crooner was discovered at a school pageant in Nashville at the tender age of 13, but chose to continue with her schooling, while writing songs and honing her craft. And now, five years later, the songstress is newly signed to independent label, Maxx Recordings, with a debut video raking in more than 16 million views on Youtube earlier this year.
The album's debut single, Broken Prayers, was released in December 2017 and peaked at No 17 on the Hot Christian Songs chart. In a behind-the-song story posted on Youtube, Riley explains that the song came from a space of deep brokenness. "The song came from a place of truly finding peace in the fact that God takes you at your most broken, at your lowest place and at your roughest. And not only does He take you there, but He delights in it. And He genuinely loves you in that place." The album features a piano version of the song as well, which nicely shows off Riley's impressive vocal range and rich tone.
Second single, Better For It, has become a firm favourite and is already in regular rotation on Radio Disney. The track is a catchy, pop-infused faith song that basically speaks about God turning your ashes into beauty for your good and His glory. This one really had me hooked from the get go! It has a jivey hook and a fun element to it, which really makes it memorable.
This fresh-faced singer has received quite a lot of attention on Youtube. Her third music video, for the song Hold On, accumulated more than half a million views in less than two weeks. The song is definitely more of a contemporary dance track, aimed at a younger audience.
I was instantly drawn to ballad, Broke. It best highlights the singer's smokey, textured vocal and I love the soulful, almost sultry sound of the song. The melody is really beautiful and the message behind the song is quite powerful. She sings: "With you/I don't need to hide/that I'm a little broke inside/you love me when I'm broke inside." This is a must listen!
With a strong start, Riley Clemmons' introduction to the Christian music arena is definitely one to take note of. Well-written songs that feature incredible vocal performances and really fun, catchy compositions are what you can expect from this offering. If Christian-pop is your scene, you should definitely give this one a go. If not, her ballads are worth a listen! I am looking forward to hearing more music from this songstress.


Beads for Backpacks – Charity Results!
The results of our Beads for Backpacks Charity Drive are in, and they are absolutely incredible! 1085 Swarovski Elements Crystal BeCharmed Beads were purchased during our charity drive, which means that we were able to make a $1085 donation to Treehouse! This donation will be helping to purchase back-to-school supplies for foster children!


text:
Music Cart
Biography of James Elza Domine
James Elza Domine, is a multi-faceted artist who lives and works in the San Fernando Valley region of Los Angeles, California.
Domine is the music director and conductor of the San Fernando Valley Symphony Orchestra an ensemble that plays a leading role in the musical life of Southern California. An active composer, conductor, guitarist, novelist, poet, and playwright, Domine's many musical compositions include symphonies, concerti, a ballet, an opera, chamber music, and solo instrumental pieces.
He is the author of a novel and book of poems, in addition to having written and produced five plays. The complete published works of James Domine are posted online at www.jamesdomine.com.
Domine graduated from UCLA where he studied composition with Paul Chihara, Roy Travis, and Roy Harris. While at UCLA he played violin in the orchestra under conductors Mehli Mehta and Samuel Krachmalnick, also performing with the A Cappella Choir under the direction of Roger Wagner with whom he studied conducting. At UCLA he continued his study of the classical guitar repertoire with Theodore Norman. Domine's first public success as a composer came on May 10, 1977 when his Requiem conducted by Roger Wagner was received with a standing ovation by an enthusiastic capacity audience that filled Schoenberg Hall at UCLA.
Domine attended the University of Southern California where he earned his Masters Degree on a full scholarship.
There he studied composition with Ellis Kohs, Dorrance Stalvey, and Leonard Stein. At USC he studied conducting with Hans Beer, among others. His compositions from this period include chamber music, a cello sonata, music for piano solo, and orchestral pieces.
Domine is an instructor of music at several colleges and educational institutions and performs regularly with a variety of instrumental ensembles under the auspices of the San Fernando Valley Symphony Orchestra.
For more information about the San Fernando Valley Symphony Orchestra, visit www.sfvsymphony.com.
James Domine
Tel: 818 398-9407 |
jdomine@aol.com
© Proudly created by GigiMagine.com


Students from Bidwell Brook, Mayfield and Oaklands Park special schools come along to Dart Sailability on Tuesday mornings to participate in the RYA's On Board scheme for young people. They qualify for Bronze, Silver or Gold achievement awards as they learn how to sail. From the feedback received Sailability knows that they enjoy the programme of sailing available to them in the different boats.
The summer of 2012 was eventful and enjoyable. On 4th June Dart Sailability took part in the 60 boat flotilla on the River Dart to commemorate and celebrate the Queen's Diamond Jubilee. In a colourful and noisy, but orderly line, they sailed from the mouth of the river to Dittisham and back, and gave final cheer to the Lord Lieutenant, the Queen's representative, at the end. In August we got into the Olympic spirit with our own sailing race and medals for the winners.
Yacht racing has been a triumph on many levels and it enables disabled people to compete with others as equals. It is a form of mobility that can be quite sensational. DSG congratulates everyone who competes in the many and varied races. At the end of August their 23' Sonar took part in the Port of Dartmouth Royal Regatta over four days. In variable, but generally good weather conditions and with different crews of mixed abilities they won the Keelboat series for the first time. Congratulations to the various skippers and crews for managing the hectic, competitive situations of yacht racing against very determined and able competition.
Robert Boyd said "As a disabled sailor of the DSG since 2001 and the Group's Chairman, I would like to thank everyone for making Dart Sailability such a delightful Group. It provides support, friendship, recreational and competitive sailing that improves the condition of our lives. We are indebted to all the volunteers". DSG is keen to attract more sailors with disabilities, particularly those who would like to learn to sail or to race. They are also seeking new volunteers, both shore-based and afloat, to assist with making the Group such a success. No experience is necessary; RYA training is provided.


Team-building events are opportunities to increase team cohesion and optimize team performance. In this post, we will share some tips and tricks that will help turn your next team-building occasion into an all-time hit!
Downtime is the best times to get out of the office and rejuvenate your team's mind and spirit with some good old team-building experiences. These times usually appear on our calendars right before or after a weekend or a big project. We've seen teams kicking off new projects with an offsite as well as teams celebrating with one afterward.
Burnouts are common in Silicon Valley and we are seeing more and more teams who visit us during stressful times to regroup and take a breather. We've hosted teams during funding rounds, in the middle of new product launches, and before an IPO! Turns out creativity and collaborative activities are great ways for teams to decompress and re-align themselves for the challenges at work.
It sounds obvious, but leaving the office is a big part of teambuilding. Often times the temptation is to host the team building event at work to cut down on cost or simplify logistics. That is missing the point, don't skimp on this part. Being in a different environment is not just exciting, it provides employees with valuable means to 1) examine the team dynamic outside of the daily context and 2) think critically about the challenges they face at work.
In our brains, learning and happiness are closely related. "The best moments in our lives are not the passive, receptive, relaxing times…The best moments usually occur if a person's body or mind is stretched to its limits in a voluntary effort to accomplish something difficult and worthwhile." Mihaly Csikszentmihaly – Distinguished Professor of Psychology and Management at Claremont Graduate University. Challenge the team in unexpected ways and watch them come together in amazement.
When someone in the team has crushed something or if the team has reached a new milestone, it is always good to recognize these achievements—whether they are big or small. Recognition and appreciation can be given in elaborate or simple ways. Team-building events are a good avenue to share and reward these triumphs as most of the activities further amplifies the team momentum.
The more uncommon the gift, the better. You can create different checkpoints for the team to uncover quirky surprise throughout the day. Giant foam fingers at the game, costumes at the bar, polaroid cameras on the bus, walkie-talkies at the park, the possibilities are endless. The best part is you can crowdsource this from team members so they can get creative in the process also!
In the book entitled, Play: How it shapes the brain, opens the imagination, and invigorates the soul, Dr. Stuart Brown and Christopher Vaughan, explores the concept of play and how it enriches our lives. Taking on an escape room team challenge like preventing a reactor meltdown or disarming an alien spacecraft is a great example of a collective win-loss scenario that boosts team cohesion. If your goal is to foster a more competitive culture, a series of individual win-loss scenarios is best. There are many great options in San Francisco, like go-kart, archery, put-put, and ax-throwing!
Team building events need to be fun, safe, and accessible but they don't have to be mundane. If you have the opportunity to do something epic, like take your team to space, scale a mountain, or go on an expedition, just go and don't look back. There is nothing that forges stronger bonds than sharing a life-changing adventure together.
Whether you are planning an event for interns, managers, or execs, teambuilding events are a great venue for teams to identify their strength and weakness and relate it back to work. A simple retrospective often does the trick, while some companies have more formalized benchmarks. Seeing Amazon team's 12 leadership principles IRL or IDEO team's design thinking in action really shows us what amazing teamwork can accomplish.
Bringing cultural themes into your team building event is an easy way to actualize your transformation initiatives. It creates the perfect venue for team members to experiment with work-related principals in a casual environment. For example, we recently hosted a team whose cultural theme was accountability. It was amazing to see team members finding creative ways to help themselves and other be accountable throughout their visit.
If you are looking for more ideas to plan the ideal event, please drop us a note! You can also take a look at Team Building Package, which includes our future tech escape rooms in SF, event space for food and drinks, VR lounge, and more!


Heidi Rae loves to hang out with her animals and were not talking about any ex-boybriends. She says she is open to new expirences. One of which she calls "Peanut Butter and Jelly time". Watch the interview and you'll see what she means. An ideal date for her requires a charming guy with good breath and a little bit of humor. Then a nice dinner and dancing then leading on to the bedroom.


Rosemont, NJ: Alcohol and Drug Testing Services and Instant Screening Kits.
Rosemont, New Jersey, Drug Alcohol Testing Services and Screening Kits - NJ - USA - Pre Employment, Employee, DOT..
YESWe Cover Your Area in Rosemont, NJ!
Post Accident Alcohol and Drug Testing Services in Rosemont New Jersey: Toll free post accident hotline 24/7, One Standard Fee + mileage, no matter how remote the testing location. No Hidden Fees!
DOT Employee Drug and Alcohol Testing Screening Programs in Rosemont NJ: Do you need to ensure you are in compliance with your DOT alcohol screening and testing program? We can help with your existing DOT employee regulated alcohol drug test program or even administer and manage your DOT alcohol drug screening program for you.
We offer superior customer service, and we are a rapid one-stop easy shop solution for all of your employment drug alcohol testing needs in Rosemont NJ USA.
We ship to Rosemont, New Jersey fast, usually the same day.
Our drug and alcohol screening kits sold in Rosemont New Jersey are cheap but not cheap!


provide insights on avoiding the common pitfalls and application issues that regulators and our IFRS experts see in practice.
Did you know that, under certain circumstances, you can claim a tax deduction for purchasing Canadian works of art?
Whether they are individuals, partnerships, corporations or trusts, taxpayers who acquire an eligible work of art can claim an annual capital cost allowance equal to 20% of the amount paid for federal purposes and 33 1/3% of the amount paid for Quebec purposes.
Antique furniture or any other antique object, produced more than 100 years before it was acquired and whose cost is not less than $1,000.
The work of art must have been acquired solely for the purpose of generating business income, for example, to decorate the reception area, a conference room, hallway or a shareholder's office, and be visible to the enterprise's clients.
In the future, taxpayers who sell an eligible work of art that subsequently appreciates in value, must pay tax on the taxable capital gain and, as necessary, add the recapture of the capital cost allowance claimed over the years to the their business income.
Lastly, taxpayers also have the option to donate works of art to charitable organizations and obtain a charitable contribution credit.
Do not hesitate to contact us if you have any questions regarding the owning works of art as part your business activities, or for all other inquiries.
Mr. Gareau is your expert in taxation for the Sherbrooke office. Contact him today!
In recent years, businesses have been trying every which way to reinvent themselves to become more competitive.
Some have optimized their processes to reduce operating costs, while others have improved their management processes. However, as the pool of competent resources grows smaller, effective and optimal human resource management has become a common goal.
Businesses have been dealing with this issue for many years, and it will only worsen as time goes on. Managers will need to invent a whole array of strategies to attract and retain the best human resources. A research report by human resource specialist, Mercer, has revealed that half of Canadian workers are indifferent about their employer.
This trend is a serious issue that does not bode well for business productivity. As such, how can you, as an employer, make sure that your employees are giving their all? There is one simple, easy-to-apply tactic that can optimize employee productivity: recognition.
A 2011 Conference Board of Canada study of employee rewards and recognition programs in Canadian organizations indicated that 97% of these organizations have such a program in place. The average annual amount spent on recognition is $123 per employee in the public sector and $208 per employee in the private sector.
If you recently conducted an organizational climate or satisfaction survey in your organization, the results may have shown that recognition is a strong motivator, perhaps even more so than salary. Human resource specialists and experienced managers all agree that recognition is a very powerful management and mobilization tool. In fact, an international survey by another human resources specialist, Aon Hewitt, revealed that employee recognition is a strong engagement driver that ranks far ahead of compensation.
In light of these findings, how can employers use recognition efficiently and consistently so that employees feel involved, accountable, motivated and valued and actively contribute to the organization's success?
Define the initiative's objectives: does it want to recognize behaviour, competencies, effort or results?
Determine how employees will be recognized: individually or as a group; with a monetary or a non-monetary reward?
Formal: the employer sets up a structure – ideally with some employee participation – to recognize special employee work or initiatives. This could be done with a breakfast meeting, a "happy hour" event, the presentation of an award in an informal setting, provided it's been organized by management. Such events provide an opportunity to recognize individuals or groups before their peers or even clients or business partners.
Forwarding praise about employees from clients or business partners.
Once these methods have been clarified, it's important that all managers be informed of the guidelines so that the various initiatives selected by managers are standardized and fair. Additionally, recognition and reward programs implemented by employers should be consistent with employee wishes.
Be positive and do it in person. Managers should talk to employees directly rather than sending an email.
Recognition is a simple concept that is sometimes trivialized by senior management and some human resource specialists. Yet, it has a proven track record with employees. Additionally, it can easily be adopted by all managers in an organization. It's everyone's responsibility to adopt simple but telling ways of showing recognition on a daily basis. The best way is to instil recognition practices in the corporate culture. With such an approach, managers will see higher staff retention levels and, perhaps even improved organizational competitiveness.
Several mechanisms exist to reduce tax on capital gains. The capital dividend account (CDA) is particularly efficient. However, company shareholders do not seem to use it as much as they could. All it takes is sound planning.
The CDA is a mechanism provided under the Income Tax Act. It enables private companies (not public companies) to distribute tax-exempt amounts to shareholders. Though it is very efficient, use of the CDA must follow certain criteria.
• The proceeds from the company's life insurance that exceeds the adjusted cost base (ACB).
The CDA is only useful if the company realizes gains, as shareholders may only receive payments when such is the case. If the company has losses, the amounts accumulated in the CDA will be reduced by the amount of these losses. This is why it is important to verify the CDA balance periodically because, from one year to the next, base on the company's profitability, shareholders could withdraw tax-sheltered amounts.
The CDA can also be used if the death benefit is paid to a company under a life insurance policy. In such cases, the amount payable to the CDA corresponds to the amount of the life insurance contract of which the company is a beneficiary that exceed the ACB. Significant amounts can therefore be tax-exempt through the use of this mechanism.
To take full advantage of this mechanism, appropriate planning is necessary, especially if share transfer is planned. Major amounts are at stake in such cases and the CDA can facilitate the transition between the seller and the buyer.
Lastly, it is important to fill out the required forms before proceeding with paying out the CDA dividends. Do not hesitate to call on our experts to determine the best strategies. They know the details of various programs well and can easily use them to your advantage.


text:
By Stephanie Georgopulos, December 19th 2011
https://thoughtcatalog.com/?p=75343
"This sheet doesn't have any corners," I say. I'm adopting her language. She calls DVDs 'tapes' and television 'the set.' "Hold on, we'll get you corners," she says, her 90-pound body moving in slow motion but her mouth a mile a minute. I notice that none of the bed sheets have elastic edges. "Did you sew these yourself?" I ask. "No," she says, "I just added the corners."
She insists on making the bed even though I'm going to collapse onto it as soon as she's finished. "Making the bed is an act of love," she says, like she pulled that phrase out of some Grandma textbook that only Grandmas read. I know nothing about making the bed, nothing about love. "There's the set, if you want to watch it, but we'll be watching the set inside, so you can come in once you're all settled if you want. Just, come inside when you're settled in and watch the set for a while. Oh! And you need towels, come back into the house…" It's only 8 PM, but every time I look at the computer phone television screen the sedative I took on the plane reactivates and my head weighs a thousand pounds; my eyes, heavier than that. "Okay, Yia Yia. Just give us a second." We wait for her to shut the door to the guesthouse and then we laugh for five minutes. "She's so cute," my sister says. "She's such a grandma."
She is such a grandma, and it took 25 years for me to think so, I wonder if any of that is my fault. I can be cold; the physical and emotional distance never did much for my relationship with my dad's parents. "We have to go inside, just for a minute," I tell my sister. We reenter the main house and follow Yia Yia into her bathroom, where she's picking out towels. "You need face towels," she says, and we don't really, but how do you tell your grandma you don't use face towels? "I just use my hands," my sister tells her. Like that. "Oh! Well, you can do whatever you want," Yia Yia says.
She takes pink monogrammed towels off of her shelf and hands them to me. "Stephanie Hope Georgopulos," my sister says, and she's right. The towels have my initials on them. "Why do you have…" I begin to ask. "Sophie (she points to the 'S') and Homer (she points to the 'H') Georgopulos (now the 'G')." My grandparents' initials are mine, too. I just never noticed; but neither had she. "Oh! Well, you should have these then," she hands me a stack of matching towels, all different sizes. "These are fancy," I say, touching the raised letters. "You're fancy," she replies.
In her bedroom, there's a photo of me as a four-year-old on Easter, wearing a big white hat. I'm holding a daisy up to my nose, smelling it or pretending to. I've never seen this photo before, or I have but I've forgotten it already. This house is full of things I remember, but mostly things I don't. When I was last here 15 years ago, I'd thought my grandparents were moneyed, they must be, because look at their house. The décor is rich in taste and rich in value; not like my home, the one with bills in its mailbox that wait for me to return from Florida. When I see those bills it's hard to believe anyone in my family has any money at all, but I've found the fortune, here it is hanging on the walls.
There are modest accents too, baptism ribbons and an oversized photo of a nameless couple dancing at a street festival in Del Ray. "Your Aunt Joy took this photo. We don't know who these people are, but oh, how they look at each other, look at their posture. This photo makes me happy," Yia Yia tells us. I smile; recall a stack of Polaroids I found on a sidewalk last year. I took the water-warped pictures home and pinned their curled edges to my wall, strange faces in my strange bedroom. I wondered about the subjects of those photos often. It feels comforting – strangers featuring you prominently in their homes, thinking of you even though they don't know who you are.
I have bad memories of this place, but I don't remember details. Just feelings. I remember wanting to go to bed early just to leave the dinner table, wanting to sleep with my big sister in the guesthouse but being "too little." I remember crying into the couch cushions of the Hide-a-Bed I slept on, and wondering why my parents made me stay here without them. I remember fighting over peas and carrots, over finishing my food but those fights were actually about adult things, things out of my control, things I was too young to understand. And being here now feels equally melancholic, because now I'm older, we're all much older, and age seems to be what it took for us to have a nice visit.
I wish family didn't confuse me, or that I could understand the feelings they drum up, the gasoline memories that float to the surface. Does anyone ever understand these people? Does the process of getting to know them ever end? I'm so tired of messy emotions. I want them color-coded and filed away.
Cane in hand, the first thing my grandfather said when we arrived was, "We're not like we used to be." I know he's referring to their legs – they used to walk on two of them, but now they get around on three and sometimes six. Two human, two metal, two wheeled. "None of us are how we used to be," Yia Yia quips, and that's all that needs to be said, really.
image – Katelyn Faye
Stephanie Georgopulos
Family Florida Grandparents Holidays Houseguests Life My So Called Life Uncategorized Vacations
How The Eczema Community On Instagram Helped Me Find My Empowerment, Despite Skin Struggles
6 Perfect Gifts for the People Who Kept You Going This Year
90+ Family Guy Trivia Questions For Fans
50+ Top Mom Jokes to Make Her Smile
31 People Talk About The Creepy Moment That Is Burned Into Their Memory
No One Could've Prepared Me For What Happened After Emily Passed Away: Part Two


Be the intelligent business of tomorrow. Today.
The right technology helps your company run more smoothly. We give you the power to run more intelligently as well.
Turn process insights into action.
Transform the three key dimensions of your business's operational backbone, and every process that supports them.
From ordering to invoicing, we help you get the most out of your supply chain. See which vendors are most dependable, uncover the reasons for maverick buying, take advantage of discounts for on-time payments and more.
Your reliability impacts your reputation. Discover where orders are delayed and why, determine areas where automation would improve speed and quality, ensure accurate invoicing and more.
In the end, your success hinges on the satisfaction of your customers. Track the time it takes to resolve issues, investigate problematic patterns, benchmark for best practices and more.
A new survey of over 1,000 C-suite executives and over 1,000 business analysts found that many organizations have wasted significant resources on business transformation initiatives that have been poorly planned.
Eliminate hidden inefficiencies, deviations and bottlenecks for significant savings.
Find the fastest process paths to increase speed.
Work smarter to avoid rework, improve automation rates and implement e-business.
Join us on the cutting-edge.
Performance Accelerators represent the latest advancements in cloud and machine learning to accelerate enterprise performance.
Our vivid online community is designed for you to find answers to your questions, help others and share best practices.
Celonis today announced new global customers leveraging its Intelligent Business Cloud.
Forrester's report on Process Mining emphasizes how critical process automation is to digital transformation.
Merck was able to establish a framework for automation that helped to determine the optimal path for selection and implementation.


design coal mill Vertical Coal Ball Mill Design,Coal Grinding Mill,Coal Mill... Coal mill pulverizer is the deal coal grinding mill in coal grinding process.
combustion engineering coal pulverizer design. ... Coal Pulverizer ... Classifier and Hydraulically-loaded Rollers • 30 years of worldwide experience.
Vertical Spindle Roller Mill Coal Pulverizers , Stone … Vertical Spindle Roller Coal Pulverizer Mill in Rajkot. Posted on January 1, 2013 by conch.
Search combustion engineering coal pulverizer design to find your need. ... coal pulverizer designs are Vertical Roller. Mills. engineering construction of pulverizer.
coal pulverizer designs are Vertical Roller. Mills. Figure 2 shows a cutaway view Ring-Roll and Ball-Race Mills leading to premature need for replacement.
Coal Pulverizers – Pall Corporation top of the pulverizer and out the exhaust pipes directly to the burner. The more recent coal pulverizer designs are Vertical Roller.