Verb 1. switch off - cause to stop operating by disengaging a switch; "Turn off the stereo, please"; "cut the engine"; "turn out the lights"
We had all intended to go by diligence to Damascus, and switch off to Baalbec as we went along--because we expected to rejoin the ship, go to Mount Carmel, and take to the woods from there.
Eliza tries to control herself and feel indifferent as she rises and walks across to the hearth to switch off the lights.
However, Media Owners Association chairman Hanningtone Gaya justified the switch off, saying it is for the country's good.
MAURICIO POCHETTINO has confessed he is a 24/7 boss, who drives his wife crazy because he can't switch off from football.
Norway is going ahead with its controversial decision to switch off its FM radio network next week, making it the first country to go digital.
We're hoping people will film their pledge and post the video on social media so we'll be able to see the lights switch off right across the region.
THE decision to switch off traffic light cameras to save cash has resulted in a virtual carte blanche for danger drivers - with an alarming 80 per cent reduction in motorists prosecuted for jumping the lights.
The Square Kilometre Array (SKA) areas in the Northern Cape will be the first to switch off the analogue signal.
A family event was organised by ESO on March 19 at Muscat Hills Golf & Country Club before everyone went home to switch off their lights.
Will you switch off the lights at 8:30 pm on Saturday to mark Earth Hour, I asked.
These lights switch on at normal times at dusk but switch off around midnight, they then switch back on around 5am and remain on until dawn.


The Kolkata Yoga Club' founded in mid-2017, is a Kolkata based startup that has achieved success and commendable recognition in its very first year. The tagline of The Kolkata Yoga Club – 'Yoga is the Journey of the Self, through the Self, to the Self' is derived from the Bhagavad Gita. The founders believe that yoga, is a pure, determined force that moves us toward the mysterious and unknown, and connects us with the wonders of existence, of being and of all life itself.
Initially bootstrapped by Founders Mr. Mathew Browne and Mr. Jimmy Shroff, the Kolkata Yoga Club like any other startup overcame many impediments. Some challenges were in the form of capital while others were related to employees, clients, space etc. But, it is often said that we don't find yoga, but yoga finds us. Tables turned in a matter of months after J. Alam and M. Ariff joined as partners with seed fund of 50 Lakhs and The Kolkata Yoga Club received an amazing response from customers interested in health and wellness.
Now, the organization has over two hundred and fifty active customers and offers services such as Yoga, Physiotherapy, Therapeutic Spa, Zumba etc., all in the comfort of your home as well as their exclusive studios. Weekend Yoga Retreats are also a feather in their cap. A team of over 75 Certified and experienced Yoga trainers and Physiotherapists deliver these services seamlessly.
The Kolkata Yoga club has also partnered with multiple gyms and studios across Kolkata to offer the same services at lower price to make it affordable to many. A yoga at home package would cost somewhere around ₹4000 for a month, however, one can get the same for ₹1500 at one of their studios.
The Kolkata Yoga club now generates a steady revenue of around 10 lakhs a month and having an operating cost of almost half its revenue undoubtedly makes them a successful startup.
For the four founders, the risk paid off and are now focusing on Marketing strategies to make The Kolkata Yoga Club a household name.
The Kolkata Yoga Club is presently preparing for multiple yoga events throughout the International Day of Yoga which falls on 21 June 2018.
"People now know about the importance of yoga, we get multiple calls each day for yoga trainers at home and at the club. So if you are not already practicing yoga, I suggest you get started immediately. This International Day of Yoga, make a resolution, and get on with it".


text:
2B.3 An Overview of the Naval Research Laboratory ocean surface flux (NFLUX) system
Jackie C. May, NRL, Stennis Space Center, MS; and C. Rowley and C. N. Barron
The net heat flux at the ocean interface is an important aspect of ocean, atmospheric, and coupled air-sea forecast modelling. The four components of the net heat flux are insolation, net longwave radiation, latent heat flux, and sensible heat flux. Operational forecast models use numerical weather prediction (NWP) models to provide the heat flux fields because the existing satellite-based products are not produced operationally and individual in situ and satellite observations lack adequate temporal and spatial coverage. The Naval Research Laboratory (NRL) ocean surface flux (NFLUX) system offers an alternative to the near real time NWP heat flux fields by providing operational satellite-based heat flux fields over the global ocean. The NFLUX system also provides a mechanism for using satellite and in situ observations of the air-sea interface to assess and monitor NWP products.
NFLUX is an end-to-end data processing and assimilation system consisting of three primary components: satellite swath-level data processing, automated quality control, and two-dimensional variational analysis. Swath-level air temperature, specific humidity, and wind speed estimates are produced utilizing satellite sensor data records (SDR) from the Special Sensor Microwave Imager/Sounder, the Advanced Microwave Sounding Unit-A, the Advanced Technology Microwave Sounder, and the Advanced Microwave Scanning Radiometer-2 sensors. The satellite SDRs are translated into estimates of the surface state parameters using multiple polynomial regression algorithms based on a series expansion of the hyperbolic tangent function. Swath-level wind speed estimates are also retrieved from satellite environmental data records from WindSat, the Advanced scatterometers, and the Oceansat scatterometer.
Swath-level solar and longwave radiative flux estimates are produced utilizing the Rapid Radiative Transfer Model for Global Circulation Models (RRTMG). The primary inputs to the RRTMG, swath-level atmospheric temperature / moisture profiles, come from the Microwave Integrated Retrieval System (MIRS). MIRS also provides corresponding swath-level cloud liquid / ice water paths. Other inputs to the RRTMG include: aerosol optical depths from the NRL Aerosol Analysis and Prediction System, ozone from the Stratosphere Monitoring Ozone Blended Analysis, sea surface temperature from the Hybrid Coordinate Ocean Model, and trace gas amounts from the World Meteorological Organization.
All swath-level satellite estimates and in situ observations undergo an automated quality control process. The quality controlled observations are then assimilated with atmospheric model forecasts to produce gridded analysis fields of air temperature, specific humidity, wind speed, solar flux, and longwave radiative flux. The turbulent heat flux fields, latent and sensible heat flux, are determined from the Coupled Ocean-Atmosphere Response Experiment (COARE) 3.0 bulk algorithms using inputs of air temperature, specific humidity, wind speed, and a sea surface temperature model field.
The NFLUX system produces 3-hourly global gridded analysis fields. Quality-controlled in situ observations over a one-year time period from May 2013 through April 2014 form the reference for validating estimated ocean surface state parameter and heat flux fields. The NFLUX fields are evaluated alongside the Navy's operational global atmospheric model, the Navy Global Environmental Model (NAVGEM). NFLUX is shown to have smaller biases and lower or similar root mean square errors compared to NAVGEM.
See more of: Data Assimilation: Ocean and Coupled Models I

redpajama_set_name: RedPajamaCommonCrawl


text:
@implementation stageView

- (id)initWithFrame:(CGRect)frame {
    if ((self = [super initWithFrame:frame])) {
        // Initialization code
    }
    return self;
}

- (id)initWithFrameAndBackground:(CGRect)frame theBackgroundImage:(UIImage *)_bgImage {

	if ((self = [super initWithFrame:frame])) {

        // Initialization code
		backgroundImage = _bgImage;
		[backgroundImage retain];

		wasserhahn = [flipbook alloc];
		[wasserhahn initWithFrameAndName:CGRectMake(30,25,32,32) withName:"wasserhahn"];
//		[wasserhahn initWithFrameAndName:CGRectMake(20,25,32,32) withName:"wasserhahn"];
		 wasserhahn.delegate = self;
		[wasserhahn loadAnimation:BUBBLES_WATER withName:@"extras_bubbles_tap"];
		[wasserhahn loadAnimation:BUBBLES_HOTWATER withName:@"extras_bubbles_taphot"];
		[wasserhahn addAction:CGRectMake(0, 0, 15, 15) withActionId:0 withAnimationId:BUBBLES_HOTWATER];
		[wasserhahn addSound:BUBBLES_HOTWATER withFrame:0 withName:@"rausch"];
		[wasserhahn loadAnimation:BUBBLES_COLDWATER withName:@"extras_bubbles_tapcold"];
		[wasserhahn addAction:CGRectMake(16, 0, 16, 15) withActionId:0 withAnimationId:BUBBLES_COLDWATER];
		[wasserhahn addSound:BUBBLES_COLDWATER withFrame:0 withName:@"rausch"];
		[wasserhahn visible];
		[wasserhahn enable];
		[wasserhahn setAnimationFrame:0 withFrame:0];

		schaum = [flipbook alloc];
		[schaum initWithFrameAndName:CGRectMake(30,25,32,32) withName:"schaum"];
		 schaum.delegate = self;
		[schaum loadAnimation:BUBBLES_SCHAUM withName:@"extras_bubbles_foam"];
		[schaum addAction:CGRectMake(0, 0, 32, 32) withActionId:0 withAnimationId:BUBBLES_SCHAUM];
		[schaum addSound:BUBBLES_SCHAUM withFrame:7 withName:@"blubb"];
		[schaum visible];
		[schaum enable];
		[schaum setAnimationFrame:0 withFrame:0];

		schaumA = [flipbook alloc];
		[schaumA initWithFrameAndName:CGRectMake(54,47,148,40) withName:"schaumA"];
		 schaumA.delegate = self;
		[schaumA loadAnimation:BUBBLES_SCHAUM withName:@"bigpinky_bubbles_foamA"];
		[schaumA setAnimationFrame:0 withFrame:0];
		[schaumA invisible];
		[schaumA disable];

		schaumB = [flipbook alloc];
		[schaumB initWithFrameAndName:CGRectMake(54,47,148,40) withName:"schaumB"];
		 schaumB.delegate = self;
		[schaumB loadAnimation:BUBBLES_SCHAUM withName:@"bigpinky_bubbles_foamB"];
		[schaumB setAnimationFrame:0 withFrame:0];
		[schaumB invisible];
		[schaumB disable];

		schaumC = [flipbook alloc];
		[schaumC initWithFrameAndName:CGRectMake(54,47,148,40) withName:"schaumC"];
		 schaumC.delegate = self;
		[schaumC loadAnimation:BUBBLES_SCHAUM withName:@"bigpinky_bubbles_foamC"];
		[schaumC setAnimationFrame:0 withFrame:0];
		[schaumC invisible];
		[schaumC disable];

		handtuch = [flipbook alloc];
		[handtuch initWithFrameAndName:CGRectMake(30,25,120,120) withName:"handtuch"];
		 handtuch.delegate = self;
		[handtuch loadAnimation:BUBBLES_TOWEL_DRY withName:@"bigpinky_bubbles_towel"];
		[handtuch loadAnimation:BUBBLES_TOWEL_BACK withName:@"bigpinky_bubbles_towelback"];
//		[handtuch addAction:CGRectMake(95, 10, 25, 100) withActionId:ACTION_HANDTUCH_CLICK withAnimationId:-1];
		[handtuch addAction:CGRectMake(85, 10, 25, 100) withActionId:ACTION_HANDTUCH_CLICK withAnimationId:-1];
		[handtuch setAnimationFrame:0 withFrame:0];
		[handtuch visible];
		[handtuch enable];
		handtuch.tapAlphaFilter = TRUE;

		planschen = [flipbook alloc];

		[planschen initWithFrameAndName:CGRectMake(30,25,120,120) withName:"planschen"];

		planschen.delegate = self;

		[planschen loadAnimation:BUBBLES_WALKRIGHT withName:@"bigpinky_allgemein_simpleright"];

		[planschen loadAnimation:BUBBLES_TURNRIGHTBACK withName:@"bigpinky_bubbles_turnrightback"];

		[planschen loadAnimation:BUBBLES_CHECKWATER withName:@"bigpinky_bubbles_checkwater"];
		[planschen addSound:BUBBLES_CHECKWATER withFrame:0 withName:@"plitsch"];

		[planschen loadAnimation:BUBBLES_COLDSTANDING withName:@"bigpinky_bubbles_coldstanding"];
		[planschen loadAnimation:BUBBLES_HOTSTANDING withName:@"bigpinky_bubbles_hotstanding"];
		[planschen loadAnimation:BUBBLES_SITDOWN withName:@"bigpinky_bubbles_sitdown"];
		[planschen loadAnimation:BUBBLES_COLDSITTING withName:@"bigpinky_bubbles_coldsitting"];
		[planschen loadAnimation:BUBBLES_HOTSITTING withName:@"bigpinky_bubbles_hotsitting"];
		[planschen loadAnimation:BUBBLES_STANDUP withName:@"bigpinky_bubbles_standup"];

		[planschen loadAnimation:BUBBLES_CLIMBIN withName:@"bigpinky_bubbles_climbin"];
		[planschen addSound:BUBBLES_CLIMBIN withFrame:20 withName:@"splash"];

		[planschen loadAnimation:BUBBLES_SPLASH withName:@"bigpinky_bubbles_splash"];
		[planschen addSound:BUBBLES_SPLASH withFrame:6 withName:@"splash"];

		[planschen loadAnimation:BUBBLES_DIVE withName:@"bigpinky_bubbles_dive"];
		[planschen addSound:BUBBLES_DIVE withFrame:10 withName:@"splash"];

		[planschen loadAnimation:BUBBLES_BLINKLEFT withName:@"bigpinky_bubbles_blinkleft"];

		[planschen loadAnimation:BUBBLES_TURNSITTINGFRONT withName:@"bigpinky_bubbles_turnsittingfront"];

		[planschen loadAnimation:BUBBLES_SPLASHFRONT withName:@"bigpinky_bubbles_splashfront"];
		[planschen addSound:BUBBLES_SPLASHFRONT withFrame:4 withName:@"splash"];
		[planschen addSound:BUBBLES_SPLASHFRONT withFrame:22 withName:@"splash"];

		[planschen loadAnimation:BUBBLES_BLINKFRONT withName:@"bigpinky_bubbles_blinkfront"];
		[planschen loadAnimation:BUBBLES_CLIMBOUT withName:@"bigpinky_bubbles_climbout"];
		[planschen loadAnimation:BUBBLES_DRYNAKED withName:@"bigpinky_bubbles_drynaked"];
		[planschen loadAnimation:BUBBLES_JOYJOY withName:@"bigpinky_bubbles_joyjoy"];
		[planschen loadAnimation:BUBBLES_JUMPOUT withName:@"bigpinky_bubbles_jumpout"];
		[planschen loadAnimation:BUBBLES_CONTROLCOLD withName:@"bigpinky_bubbles_controlcold"];
		[planschen loadAnimation:BUBBLES_CONTROLHOT withName:@"bigpinky_bubbles_controlhot"];

		[planschen loadAnimation:BUBBLES_WALKLEFT withName:@"bigpinky_allgemein_simpleleft"];

//		[planschen addAction:CGRectMake(20, 0, 100, 100) withActionId:ACTION_PINKY_CLICK withAnimationId:-1];
		[planschen addAction:CGRectMake(0, 0, 120, 120) withActionId:ACTION_PINKY_CLICK withAnimationId:-1];

		[planschen visible];
		[planschen enable];

		planschen.tapAlphaFilter = TRUE;

		[self addSubview:wasserhahn];
		[self addSubview:schaum];
		[self addSubview:schaumA];
		[self addSubview:schaumB];
		[self addSubview:planschen];
		[self addSubview:schaumC];
		[self addSubview:handtuch];

		self.clipsToBounds = YES;

		inactivity_threshold = 125;

		timer = [NSTimer scheduledTimerWithTimeInterval:0.07f
										 target:self
									     selector:@selector(frameTick:)
									     userInfo:nil
										 repeats:YES];

		btnSchaum = [UIButton buttonWithType:0];
		[btnSchaum setImage:[UIImage imageNamed:[NSString stringWithFormat:@"big-button-schaum.png"]] forState:UIControlStateNormal];
		btnSchaum.showsTouchWhenHighlighted = TRUE;
		btnSchaum.frame = CGRectMake(10, 200, 36, 36);
		[btnSchaum addTarget:self action:@selector(btnSchaumTouched:) forControlEvents:UIControlEventTouchDown];

		btnTapHot = [UIButton buttonWithType:0];
		[btnTapHot setImage:[UIImage imageNamed:[NSString stringWithFormat:@"big-button-hot.png"]] forState:UIControlStateNormal];
		btnTapHot.showsTouchWhenHighlighted = TRUE;
		btnTapHot.frame = CGRectMake(60, 200, 36, 36);
		[btnTapHot addTarget:self action:@selector(btnTapHotTouched:) forControlEvents:UIControlEventTouchDown];

		btnTapCold = [UIButton buttonWithType:0];
		[btnTapCold setImage:[UIImage imageNamed:[NSString stringWithFormat:@"big-button-cold.png"]] forState:UIControlStateNormal];
		btnTapCold.showsTouchWhenHighlighted = TRUE;
		btnTapCold.frame = CGRectMake(110, 200, 36, 36);
		[btnTapCold addTarget:self action:@selector(btnTapColdTouched:) forControlEvents:UIControlEventTouchDown];

		btnPinky = [UIButton buttonWithType:0];
		[btnPinky setImage:[UIImage imageNamed:[NSString stringWithFormat:@"big-button-pinky.png"]] forState:UIControlStateNormal];
		btnPinky.showsTouchWhenHighlighted = TRUE;
		btnPinky.frame = CGRectMake(160, 200, 36, 36);
		[btnPinky addTarget:self action:@selector(btnPinkyTouched:) forControlEvents:UIControlEventTouchDown];

		btnHandtuch = [UIButton buttonWithType:0];
		[btnHandtuch setImage:[UIImage imageNamed:[NSString stringWithFormat:@"big-button-handtuch.png"]] forState:UIControlStateNormal];
		btnHandtuch.showsTouchWhenHighlighted = TRUE;
		btnHandtuch.frame = CGRectMake(210, 200, 36, 36);
		[btnHandtuch addTarget:self action:@selector(btnHandtuchTouched:) forControlEvents:UIControlEventTouchDown];

		[self addSubview:btnSchaum];
		[self addSubview:btnTapHot];
		[self addSubview:btnTapCold];
		[self addSubview:btnPinky];
		[self addSubview:btnHandtuch];

	}

	 return self;
}

- (void)btnSchaumTouched:(id)sender {
	[schaum runAnimation:BUBBLES_SCHAUM];
}

- (void)btnTapHotTouched:(id)sender {
	[wasserhahn runAnimation:BUBBLES_HOTWATER];
}

- (void)btnTapColdTouched:(id)sender {
	[wasserhahn runAnimation:BUBBLES_COLDWATER];
}

- (void)btnPinkyTouched:(id)sender {
	[self flipbookActionCommencing:planschen theAction:ACTION_PINKY_CLICK];
}

- (void)btnHandtuchTouched:(id)sender {
	[self flipbookActionCommencing:handtuch theAction:ACTION_HANDTUCH_CLICK];
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

	UITouch *t = [[touches allObjects] objectAtIndex:0];

	CGPoint touchPos = [t locationInView:t.view];

	NSEnumerator * enumerator = [[self subviews] reverseObjectEnumerator];
	flipbook * subview;
	while (subview = [enumerator nextObject]) {

		if (CGRectContainsPoint(subview.frame, touchPos)) {
	//		printf("%s touched\r",subview.textId);
			if ([subview executeTap:touchPos]) {
				return;
			}
		}

	}

	inactivity_counter = 0;

	handtuch_start_x = touchPos.x;
	handtuch_start_y = touchPos.y;
	//			char debstr[60];
	//			sprintf(debstr,"Handtuch::Drag Start dx %d dy %d s_x %d s_y %d",dx,dy,handtuch_start_x,handtuch_start_y);
	//			DebugPrint(debstr);

}

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {

	if (bubbles_status == BUBBLES_STATUS_OUT)
	{
		if (![planschen isRunning])
		{
			//			char debstr[60];
			//			sprintf(debstr,"Handtuch::Drag dx %d dy %d x %d y %d",dx,dy,handtuch->Position()->Left,handtuch->Position()->Top);
			//			DebugPrint(debstr);
			UITouch *t = [[touches allObjects] objectAtIndex:0];

			CGPoint touchPos = [t locationInView:t.view];

			int dx = touchPos.x;
			int dy = touchPos.y;
			[handtuch setPositionDelta:dx-handtuch_start_x withY:dy-handtuch_start_y];

			int newframe = 0;

			if (handtuch->_position.top > 131) handtuch._position.top = 131;

			if (handtuch->_position.top > 63)
			{
				newframe = 35 - ((handtuch._position.top  - 63) / 2);
				[handtuch setAnimationFrameNoPosition:BUBBLES_TOWEL_BACK withFrame:newframe];
			}

			handtuch_start_x = dx;
			handtuch_start_y = dy;

		}
	}

	inactivity_counter = 0;

}

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {

	if (bubbles_status == BUBBLES_STATUS_OUT)
	{
		if (![planschen isRunning])
		{

			if ( (handtuch->_position.top < 100) && (handtuch->_position.left > 170) )
			{
				bubbles_status = BUBBLES_STATUS_FINISHED;
				[self run];
				[handtuch animatePosition:176 pTargetY:36 pTime:[handtuch currentFrame] pCurve:AnimationCurveLinear ];
				//handtuch->OnDragStart = 0;
				//handtuch->OnDragMove = 0;
				//handtuch->OnDragEnd = 0;
				//handtuch->DisablePenCapture();
			} else
			{
				//		char debstr[40];
				//		sprintf(debstr,"DragEnd dx %d dy %d left %d top %d",dx,dy,window->Position()->Left,window->Position()->Top);
				//		DebugPrint(debstr);
		//		handtuch->AnimatePosition(window->Position()->Left,131,handtuch->CurrentFrame(),AnimationCurveLinear);
				[handtuch animatePosition:handtuch->_position.left pTargetY:131 pTime:[handtuch currentFrame] pCurve:AnimationCurveLinear ];
				[handtuch runReverse];
			}

		}

	}

	inactivity_counter = 0;

}

- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {

}

- (void)run {

	bubbles_wasserstand = 0;
	bubbles_temp = 10;
	bubbles_status = BUBBLES_STATUS_WAITING;

	[schaum setAnimationFrame:0 withFrame:0];

	[schaumA invisible];
	[schaumA setAnimationFrame:0 withFrame:0];
	[schaumB invisible];
	[schaumB setAnimationFrame:0 withFrame:0];
	[schaumC invisible];
	[schaumC setAnimationFrame:0 withFrame:0];

	[planschen setAnimationFrame:0 withFrame:0];
	[planschen setPosition:(-98) withY:24];
	[planschen runAnimationRepeat:BUBBLES_WALKRIGHT withRepeat:2];

	[handtuch setAnimationFrame:0 withFrame:0];
//	[handtuch setPosition:(85) withY:10];

}

- (void)frameTick:(NSTimer *)theTimer {

	if (inactivity_counter > inactivity_threshold) {
		inactivity_counter = 0;
		[self onInactivity];
	} else inactivity_counter++;

	[wasserhahn prepare];
	[schaum prepare];
	[schaumA prepare];
	[schaumB prepare];
	[schaumC prepare];
	[handtuch prepare];
	[planschen prepare];

	// [self setNeedsDisplay];

}

- (void)drawRect:(CGRect)rect {

	// CGContextRef context = UIGraphicsGetCurrentContext();

	[backgroundImage drawAtPoint:CGPointMake(00, 00)];

}

- (void)flipbookAnimationStarted:(id)theFlipbook theAnimation:(UInt16)animationId {

}

- (void)flipbookAnimationCompleted:(id)theFlipbook theAnimation:(UInt16)animationId {

	if (theFlipbook == planschen) {

			switch (animationId) {

				case BUBBLES_CONTROLCOLD:

					[wasserhahn runAnimation:BUBBLES_COLDWATER];

					break;

				case BUBBLES_CONTROLHOT:

					[wasserhahn runAnimation:BUBBLES_HOTWATER];

					break;

				case BUBBLES_JUMPOUT:

					bubbles_status = BUBBLES_STATUS_RUNNINGAWAY;
					[planschen runAnimationRepeat:BUBBLES_WALKLEFT withRepeat:3];

					break;

				case BUBBLES_WALKLEFT:
					bubbles_status = BUBBLES_STATUS_FINISHED;
					[self run];

					break;

				case BUBBLES_WALKRIGHT:

					[planschen runAnimation:BUBBLES_JOYJOY];
					break;

				case BUBBLES_JOYJOY:
					break;

				case BUBBLES_TURNRIGHTBACK:
					[planschen runAnimation:BUBBLES_CHECKWATER];
					break;

				case BUBBLES_CHECKWATER:

					if (bubbles_temp == 35) [planschen runAnimation:BUBBLES_CLIMBIN];
					else if (bubbles_temp < 35) [planschen runAnimation:BUBBLES_COLDSTANDING];
					else [planschen runAnimation:BUBBLES_HOTSTANDING];
					break;

				case BUBBLES_HOTSTANDING:
					[planschen runAnimation:BUBBLES_SITDOWN];
					break;

				case BUBBLES_COLDSTANDING:
					[planschen runAnimation:BUBBLES_SITDOWN];
					break;

				case BUBBLES_SITDOWN:
					bubbles_status = BUBBLES_STATUS_SITTING;
					break;

				case BUBBLES_CLIMBIN:
					bubbles_status = BUBBLES_STATUS_BATHINGLEFT;
					[planschen runAnimation:BUBBLES_BLINKLEFT];
					break;

				case BUBBLES_STANDUP:
					[planschen runAnimation:BUBBLES_CHECKWATER];
					break;

				case BUBBLES_SPLASH:
					bubbles_status = BUBBLES_STATUS_BATHINGLEFT2;
					[planschen runAnimation:BUBBLES_BLINKLEFT];
					break;

				case BUBBLES_DIVE:
					bubbles_status = BUBBLES_STATUS_BATHINGLEFT3;
					[planschen runAnimation:BUBBLES_BLINKLEFT];
					break;

				case BUBBLES_TURNSITTINGFRONT:

					bubbles_status = BUBBLES_STATUS_BATHINGFRONT;
					[planschen runAnimation:BUBBLES_SPLASHFRONT];
					[schaumC visible];
					[schaumC runAnimation:0];
					break;

				case BUBBLES_SPLASHFRONT:
					[planschen runAnimation:BUBBLES_BLINKFRONT];
					break;

				case BUBBLES_CLIMBOUT:
					bubbles_status = BUBBLES_STATUS_DRYING;
					[handtuch enable];
					[handtuch runAnimation:BUBBLES_TOWEL_DRY];
					[planschen runAnimation:BUBBLES_DRYNAKED];
					break;

				case BUBBLES_DRYNAKED:
					bubbles_status = BUBBLES_STATUS_OUT;
					//handtuch->OnDragStart = &Handtuch_DragStart;
					//handtuch->OnDragMove = &Handtuch_DragMove;
					//handtuch->OnDragEnd = &Handtuch_DragEnd;
					//handtuch->EnablePenCapture();
					[handtuch setAnimationFrame:BUBBLES_TOWEL_BACK withFrame:0];
					break;

				default:
					break;

		}

	} else if (theFlipbook == wasserhahn) {

			[wasserhahn setAnimationFrame:0 withFrame:0];

			if (
				(bubbles_status == BUBBLES_STATUS_BATHINGLEFT) ||
				(bubbles_status == BUBBLES_STATUS_BATHINGLEFT2) ||
				(bubbles_status == BUBBLES_STATUS_BATHINGLEFT3)
				)
			{
				if (!bubbles_selfcontrol)
				{
					if (bubbles_annoyance > 3) {

						[planschen runAnimation:BUBBLES_JUMPOUT];

					} else {

						if (animationId == BUBBLES_HOTWATER) {
							[planschen runAnimation:BUBBLES_CONTROLCOLD];
						}
						else if (animationId == BUBBLES_COLDWATER) {
							[planschen runAnimation:BUBBLES_CONTROLHOT];
						}
						bubbles_selfcontrol = 1;
						bubbles_annoyance++;
					}
				} else bubbles_selfcontrol = 0;

			}

			if (animationId == BUBBLES_HOTWATER) {
				bubbles_temp += 10;
				bubbles_wasserstand += 10;
			}
			else if (animationId == BUBBLES_COLDWATER) {
				bubbles_temp -= 5;
				bubbles_wasserstand += 10;
			}

			if (bubbles_wasserstand >= 20)
			{
				if (bubbles_status == BUBBLES_STATUS_SITTING) [planschen runAnimation:BUBBLES_STANDUP];
				else if (bubbles_status == BUBBLES_STATUS_WAITING) [planschen runAnimation:BUBBLES_TURNRIGHTBACK];
			}

		} else if (theFlipbook == schaum) {

			[schaum setAnimationFrame:0 withFrame:0];

			if (bubbles_status == BUBBLES_STATUS_BATHINGLEFT)
			{
				[planschen runAnimationRepeat:BUBBLES_SPLASH withRepeat: 1];
				[schaumA visible];
			    [schaumA runAnimation:0];
			}

		}

}

- (void)flipbookActionCommencing:(id)theFlipbook theAction:(UInt16)actionId {

	if (actionId == ACTION_PINKY_CLICK) {

		if (![planschen isRunning])
		{
			if (bubbles_status == BUBBLES_STATUS_SITTING)
			{
				if (bubbles_temp == 35) [planschen runAnimation:BUBBLES_STANDUP];
				else if (bubbles_temp < 35) [planschen runAnimation:BUBBLES_COLDSITTING];
				else [planschen runAnimation:BUBBLES_HOTSITTING];
			}
			else if (bubbles_status == BUBBLES_STATUS_BATHINGLEFT2)
			{
				[planschen runAnimation:BUBBLES_DIVE];
				[schaumB visible];
				[schaumB runAnimation:0];
			}
			else if (bubbles_status == BUBBLES_STATUS_BATHINGLEFT3)
			{
				[planschen runAnimation:BUBBLES_TURNSITTINGFRONT];
			}
			else if (bubbles_status == BUBBLES_STATUS_BATHINGFRONT)
			{
				[planschen runAnimation:BUBBLES_SPLASHFRONT];
			}
		}

	} else if (actionId == ACTION_HANDTUCH_CLICK) {

		if (![planschen isRunning])
		{
			if (bubbles_status == BUBBLES_STATUS_BATHINGFRONT)
			{
				[schaumA runReverse];
				[schaumB runReverse];
				[schaumC runReverse];
				[schaumC invisible];
				[planschen runAnimation:BUBBLES_CLIMBOUT];
			}
		}

	}

}

- (void)onInactivity {

	if (![planschen isRunning])
	{
		if (
			(bubbles_status == BUBBLES_STATUS_BATHINGLEFT) ||
			(bubbles_status == BUBBLES_STATUS_BATHINGLEFT2) ||
			(bubbles_status == BUBBLES_STATUS_BATHINGLEFT3)
			)
			[planschen runAnimation:BUBBLES_BLINKLEFT];

		else if (bubbles_status == BUBBLES_STATUS_BATHINGFRONT) {

			[planschen runAnimation:BUBBLES_BLINKFRONT];

		}
	}
}

- (void)flipbookPositionChange:(id)theFlipbook thePoint:( CGPoint )point {

}

- (void)prepareToQuit {

//	[timer invalidate];
//	[timer release];
}

- (void)dealloc {

	[planschen release];
	[wasserhahn release];
	[schaum release];
	[schaumA release];
	[schaumB release];
	[schaumC release];
	[handtuch release];
	[buttonBack release];

	[timer invalidate];
	[timer release];

	[btnSchaum release];
	[btnTapHot release];
	[btnTapCold release];
	[btnPinky release];
	[btnHandtuch release];

    [super dealloc];
}

@end

redpajama_set_name: RedPajamaGithub


text:
Lil Nas X was born on April 9
in APRIL, BIRTHDAYS
by Jesse Childs April 9, 2022, 4:59 am updated July 7, 2022, 6:41 pm
When was Lil Nas X born? Lil Nas X was born on April 9
Montero Lamar Hill was born in Atlanta in 1999. He was named after a Mitsubishi automobile. Known by his stage name Lil Nas X, he blew up with the song "Old Town Road" in 2019 after going viral on TikTok. He is openly gay, coming out in June of that same year.
His music has been streamed billions of times on Spotify and other platforms. He is a Grammy-nominated artist and has won several other awards. His debut album, Montero, was released in 2020.
Lil Nas X releases "Panini" music video
Lil Nas X's "Old Town Road" Nominated For Country Music Award
Dej Loaf was born on April 8
Q-Tip was born on April 10


text:
Home/Celebrities/HOFIT GOLAN FOR JUST DUBROVNIK I Am Overwhelmed by Dubrovnik, I Will Tell Everyone About the Beauty You Have Here
HOFIT GOLAN FOR JUST DUBROVNIK I Am Overwhelmed by Dubrovnik, I Will Tell Everyone About the Beauty You Have Here
When Hofit Golan came to Croatia in late June, the news about her whereabouts exploded in the media. The Israeli born, currently living in London, was one of the first celebrities to visit Croatia this year. After a three-month long quarantine period, this fashion and travel influencer, TV host, model and successful business woman couldn't wait for the borders to be reopen and decided to spend the first part of her vacation precisely in Croatia. Though it's not her first time in our beautiful country, as she was here last year, the experience now was definitely more intense. She partnered up with her good friend Maja Malnar who is also a social media influencer and the two embarked on an epic journey down our coast. The blonde bombshell visited numerous islands, with Vis and Mljet being the first ones she stopped by entering the Dubrovnik region. She spent a few days enjoying Korčula, sharing every piece of this paradise virtually with her 1.9 million Instagram followers.
Coming to Dubrovnik for the first time in her life in early July, she didn't expect to stay as long. It was love at first sight. While in Dubrovnik, Hofit and Maja invited the German model and socialite Carina Zavline to join in the fun and share the charms of our gorgeous town with them, which she gladly accepted. The ravishing trio was accompanied by Hofit's boyfriend Jesse Meester.
"Croatian media even got us engaged," Hofit chuckled while looking at her hand that was obviously missing a ring and added "I don't think that's true! I can't really say Jesse is my 'real boyfriend' even, we just hang out. I don't like those tags at all. We're just enjoying each other's company and we've been doing so for a year now. I am really very relaxed about the whole thing."
She already told her friends all about Croatia. But her friends, as well as her followers, have been able to enjoy the beauty of our country just following her Instagram posts. Adding Maja's, Carine's and Jesse's followers, it adds up to more than 3 million people, making their visit not just a pleasure for their hosts but also a phenomenal promotion for both Dubrovnik as well as Croatia. The group stayed at the Rixos Premium Dubrovnik hotel.
"All of my friends can't wait to come here, and I can't wait to return. They all know where we've been as well as what we've eaten. They were, in a way, a part of our journey thanks to social media. That was the precise reason why Carina joined us. Dubrovnik is truly amazing. The food is fantastic, as is the weather, and the people and warm and kind. I will definitely tell everybody that we must return together," Hofit says. She describes the Old Town as a movie set, "which it was," she points out.
"I watched a few episodes of 'Game of Thrones', but not the ones with Dubrovnik in it, so I'm not familiar with how it was portrayed in the series. When I was going trough the streets of the Old Town I was amazed at how clean it was, and there were cats at every corner. I adore animals so I was thrilled to see them. I felt like I was in some kind of a magical place. Other European cities don't have that charm and grace that your city has. And talk about the magnificent architecture, all in one place. Exquisite!" says Hofit, whose every Instagram photo counts up to a thousand comments.
"I don't always have time to respond to everybody. Every photograph from Croatia was shared as much as 10 thousand time by my followers," Hofit continues, showing us her Instagram profile.
I enjoyed the gastronomy
She emphasizes the rich gastronomic offer of Dubrovnik.
"The food has been amazing throughout the whole stay, which is unbelievable. For me, what's important is that the food is healthy. That's my main concern! While traveling around in other counties I often struggled to find a spot where I could eat healthy. I love Mediterranean food because that's the food I grew up on living in Israel. I definitely enjoyed the gastronomy of this area," she added.
They took a few mini boat cruises around Dubrovnik.
"We visited gorgeous caves. The sea is terrific. I never swim in the open sea, but here I couldn't help it. Extraordinary! Honestly, we haven't had one bad day in Dubrovnik. People see that, they see how we're having fun and enjoying ourselves and I think they start to enjoy their own moments more, after the whole unfortunate situation with coronavirus," stated Hofit who couldn't wait for the Covid-19 lockdown to be over so she could once again begin her travels. During the lockdown she used her platforms and connections to secure protective equipment for people who were in need of it.
Instagram is actually her hobby, and she is in no way 'obsessed' by it.
"I want to tell all my followers to just relax. Everybody's telling you how you're supposed to be doing things in your life, but it's also important to live and enjoy your freedom. I am always very chill. I've witnessed a lot of bad things and that's why I value life and the things that are truly important. That's the main thing I want my followers to take away from my Instagram posts," Hofit concluded.
Photo: Instagram Hofit Golan/ Rixos Premium Dubrovnik
Horses Return To Dubrovnik's Old Town


Just because your company has policies, a code of ethics, a code of conduct, a values statement and a culture document doesn't mean you are immune to ethical lapses, and the consequences. Companies with all the right documentation in place suffer ethics slipups every day, including fraud, sexual harassment, insider trading, conflicts of interest, bullying and other misconduct.
Lapses don't even have to be outright misconduct to affect the workplace. Many are small incidents that go uncorrected, such as incivility, bogus sick days, gossiping, minor theft or questionable jokes. And whether they involve employees, managers or the C-suite, these small lapses, left unchecked, can build into bigger ones.
Join Janette Levey Frisch, "The EmpLAWyerologist", as she examines ways to tackle the small ethics lapses in your company, get employees, managers and the C-suite to think and act ethically, and avoid a potential catastrophe.
Employment and HR attorney Janette Levey Frisch has more than 20 years of legal experience, more than 10 of which she has spent in employment law. It was during her tenure as sole in-house counsel for a mid-size staffing company headquartered in Central New Jersey, with operations all over the continental US, that she truly developed her passion for Employment Law.
Janette works with employers on most employment law issues, acting as the Employer's Legal Wellness Professional — to ensure that employers are in the best position possible to avoid litigation, audits, employee relations problems, and the attendant, often exorbitant costs.


Brunswick Mountain is part of the amazing Howe Sound Crest Trail in Cypress Provincial Park and is one of the many beautiful peaks to be climbed if desired on the 29k trail. Among the hiker friendly mountains (in order from Cypress north) on the Howe Sound Crest Trail are: Mount Strachan, St Mark`s Summit, Unnecessary Mountain, The Lions, Mount Harvey, Mount Hanover, Brunswick Mountain and finally Deeks Peak.
The trailhead to Brunswick Mountain is tricky to find. It is located town of Lions Bay which is about an hours drive from downtown Vancouver or a half hour south of Squamish. From either direction on the Sea to Sky Highway, take the Lions Bay exit onto Oceanview Road (the 2nd Lions bay exit from either direction), then immediately turn left onto Cross Creek Road, then right onto Centre Road, then left onto Bayview Road, then left onto Mountain Drive, left again onto Sunset Road and park near the black gate at the dead end. Be sure to park legally as they actively tow illegally parked cars. More parking is available at the school 1 kilometre from here. Arrive early to ensure convenient parking. Legal parking is between the two cars pictured here.


ONGC Videsh Limited (OVL) today signed definitive agreements for the acquisition of Hess Corporation's 2.7213% participating interest in the Azeri, Chirag and the Deep Water Portion of Guneshli Fields in the Azerbaijan sector of the Caspian Sea ("ACG") and 2.36% interest in the Baku-Tbilisi-Ceyhan Pipeline ("BTC"), for US$ 1 Billion. The acquisition is subject to relevant government and regulatory approvals and is expected to close by the first quarter of 2013.
ACG, which is located in the south Caspian Sea about 95 km off the coast of Azerbaijan, is the largest oil and gas field complex in Azerbaijan and is one of the largest producing oil fields in the world. BP operates ACG and is partnered by State Oil Company of Azerbaijan Republic (SOCAR), Chevron, Statoil, ExxonMobil, Inpex, Turkish NOC - TPAO and Itochu. Average daily production from the field is around 700,000 bopd of crude oil.
The 1,768-km BTC Pipeline is one of the main export routes for Caspian crude oil production with a capacity of around 1.0 million bopd to the Ceyhan terminal in the Mediterranean Sea in south east Turkey.
The acquisition would mark ONGC Videsh's entry into oil rich Azerbaijan and is consistent with its stated strategic objective of adding high quality international assets to its existing E&P portfolio. The acquisition would bring 9% additional proved reserves to ONGC Videsh Limited portfolio and also bears significant strategic importance to India in terms of contributing towards India's energy security. ONGC has recently formulated its Perspective Plan – 2030 envisaging that the oil and gas production of ONGC Videsh Limited would increase from the current level of 8.75 MMTOE to 20 MMTOE by FY'18 and 60 MMTOE by FY'30. Mr. Sudhir Vasudeva, CMD, ONGC said that the current transaction is the first step towards achieving this goal. The production from this asset during 2011-12 was about 15% of ONGC Videsh Limited crude oil production during the same period.


Attendance is complimentary with prior registration.
HAL Systems Owner Peter Lambert discusses new track and trace technologies such as browser-based software that runs on any internet enabled device, configurable software that can be affordably set-up and maintained for small-to-medium businesses, and Software-as-a-Service (SaaS) hosted in The Cloud. They contribute to making systemization affordable; and at the end of the day, can bring about great benefits and savings.
Peter Lambert has over 22 years of successful experience managing businesses in the industrial sector. He is currently the owner of HAL Systems, a company that has software for warehouse management, asset tracking and data collection using bar code and RFID technology.


text:
Neal Sweeney
Article Examples
ItsMagicNeal@gmail.com
Cultural Criticism
From Journalist to Entrepreneur: A conversation with Lu Ann Reeb
Photo Credit: Emerson College Today
After 12 years at her job as an executive producer at WBZ news in Boston, Lu Ann Reeb quit her job in frustration.
Reeb got her start in the business through a non-news position at a local television station in her hometown of Louisville, Kentucky. She had always wanted to be a writer, pursuing her interest with an English major and history minor in college. But she also had another passion: storytelling. Reeb soon began to work unofficially in the newsroom on weekends, until she was informed by the General Manager that she wasn't allowed to.
What happened next she describes as "one of these things in life, things that fall from the sky as opportunities." The Manager informed her that their sister station in Green Bay, Wisconsin was looking for a reporter, and invited her to apply. She got the job.
Quickly she fell in love with the work, immersing herself in the larger production of news, due to a natural curiosity in the narrative of the story. "I went from reporter, to Producer, to Assistant News Director in Cincinnati, to News Director in Birmingham, to Executive Producer here at WBZ in Boston."
Reeb recalls long-form video features she worked on: a documentary about the effects of a drought on an Ohio family and their farm; pieces on domestic violence and the fishing industry; a feature on a symphony conductor entitled "Behind the Baton," and her work on a multi-year story that resulted in the acquittal of a wrongly-convicted man.
"It was kind of like having a front seat on life, whether it was a happy story or short story, I got to interview all kinds of people: presidents, former presidents, Henry Kissinger, Yul Brynner, Nelson Mandela, who gets that opportunity?" That was Reeb's life, and even as she moved up the career ladder, it never changed, "And all along the way I never lost my love for creating stories, so even though I was in what some might call News Management, I still always did projects did in the field and I loved doing those."
But, in 1999, something else changed. "When the internet became a viable communications platform, the traditional journalism media did not embrace it. They did not embrace it as an additional channel to distribute the wonderful content we are creating every day; they thought of it as competition," said Reeb. "Even though we had a website they didn't really want us to put our stories on the website."
Reeb and other members in the newsroom began to ask questions. "A few of us said to ourselves, over time, 'Hmm, is the way that we do broadcast journalism, is this going to be a dying form of media?' We were actually talking about that in the newsroom. If they won't let us use this," she said gesturing to her computer, "what's going to happen?"
"And so some of us said, 'Ya know, we think that this train is not heading in a direction that we want to travel.' To experience those cutbacks, to experience 'Oh you can't spend two days on a story, you need to pump it out right away.'"
In the end, she described it as "the hardest decision that I ever made."
"A bunch of people were either laid-off or left on their own because they saw the handwriting on the wall. I left before all of that happened, I was really really lucky to have seen that coming. I have colleagues who were laid off, but there were those who stayed, some of them were unhappy because of the restraints on their creativity, their journalistic ability, and they just kinda sucked it up. I also know a lot of colleagues that moved into a lot of other different business; some went to marketing, some went to PR, some went to companies that were doing creative production."
Reeb was correct with her predictions about the industry. In 1996, the Pew Research Center released a report detailing a decline in the viewership for TV news, with 42% of people reporting that they regularly watched TV news, down from 60% in 1993. Not only that, but the online service Craigslist cannibalized the classified ads business that newspapers relied on, costing the industry $5 Billion in the early 2000s. Not only that, as Journalist's Resource writes, "At the very end of the twentieth century, in December 1999, the value of a share of stock in Time Warner, Inc., one of the mightiest of the Big Five media conglomerates, hit its all-time high: $254 a share. Ten years later it was trading at about $25 a share. In a decade, 90 percent of the value of the company had vaporized. It was not an isolated case."
But this was not the end of Reeb's story, "Me and my partner who I worked with in the newsroom, we decided 'Let's start our own company, and you know what we do? We're really good at telling stories, that's the core of our skill-set. How can we use that in another way?' And so we decided to start our own company, this was in 1999, we decided that we could tell stories, and we also realized that companies were building websites. It was all text at that point, but we had this idea that 'Ya know what? Wouldn't it be great if they had a video telling their story? And at some point, maybe some of the news organizations might have video.'"
The biggest obstacle for her business, back in the early 2000s, was the lack of broadband for online video. "We were a little early with our idea."
Lu Ann said that she knew "less than nothing" when it came to running a business, but nevertheless made a successful career in marketing and entrepreneurship. Along the way she that lead to her founding two media companies; Legal Talk Network which was acquired in 2012 and the Boston Media Group which she is President of today.
All of her business success got her attention from Emerson College, where she is now a faculty member and the Director of Entrepreneurial and Business Studies, which hosts the annual Emerson Entrepreneurship Expo.
But with all of her post-TV success, there was sadness too, "At first when I left journalism, when I left television, I missed it terribly. I missed the camaraderie, I missed the adrenaline rush like on an Election Night, but then after time I became so excited about the businesses I was running; that became my adrenaline."
Despite her departure, Reeb still thinks fondly of the industry, and has thought about teaching in Emerson's Journalism department. As she described, with delight, "I would love to do that actually! It's a bandwidth question, but Janet Kolodzy who's the chair, she and I are best friends. So I would love to teach a course, and I've often thought 'Well why don't I create a Topics course about the journey through journalism and opportunities?' Just to open people's eyes about all of the things I can do."
As Reeb sees it, the two aren't that far apart, "You don't have to be an entrepreneur with a business to be an entrepreneur; it's kind of a way of thinking. I think my news background helped me with that because when you go and figure a lot of things out on your own, don't you? That's what an entrepreneur does."
©2019 by Neal Sweeney. Proudly created with Wix.com


text:
One year later: Guyana's treatment of COVID-19 progressing
Anara KhanMarch 11, 2021
Today marks exactly one year since the first COVID-19 case was recorded in Guyana.
Minister of Health, Hon. Dr Frank Anthony says looking back, Guyana has made a lot of progress in its handling of the disease.
Minister of Health, Hon. Dr. Frank Anthony
He said with the ramped-up efforts, persons are now more informed about the disease than they were one year ago. Further, Guyana has reached a major milestone in treating the disease with the roll out of COVID-19 vaccines. This, Dr. Anthony said, holds promise for the future.
"Once we immunise our population, we will be able to arrive at herd immunity, which means that for the virus to transmit within this population, it would be much more difficult once people are immunised."
High Commissioner of India, His Excellency, Dr. K.J. Srinivasa, Minister of Health, Hon. Dr. Frank Anthony, Permanent Secretary of the Ministry of Health, Colette Adams, CEO of the Georgetown Public Hospital, Brigadier (ret'd) George A. Lewis and representatives from PAHO and the Indian High Commission at the handing over of a quantity of medical supplies to treat Covid.
Through donations from Barbados, China and India, Guyana received 103,000 doses of COVID-19 vaccines. The Ministry started its immunisation campaign in February by vaccinating frontline health workers first, before it embarked on the second phase to inoculate persons aged 60 and above.
During Thursday's COVID-19 update, Minister Anthony said March 11, 2020 is also the day the World Health Organization declared the novel coronavirus SARS-CoV-2 (COVID-19) a pandemic.
While several measures were put in place to combat the disease locally, much more was still to be done. However, it was not until the PPP/C Government took office in August 2020 that increased efforts were made to reduce transmission of COVID-19.
Minister of Health, Hon. Dr. Frank Anthony and health officials inspect the Centre for Disease Control and Prevention at Liliendaal.
One of the first things the new Government did was to increase testing for the disease.
"If you weren't testing enough, then you really can't understand the magnitude of the pandemic in the country. So, one of our priorities has been to increase the level of testing and so we have improved the capacity at the National Public Health Reference Lab and now we are capable of probably doing about 2,000 tests per day," Dr. Anthony said.
The Ministry also installed point of care testing machines and has utilised antigen testing as part of its programme.
Additionally, the Eureka Medical Laboratory was certified to conduct the polymerase chain reaction (PCR) test, while several other sites were able to provide antigen tests.
Minister Anthony said it has drastically improved testing capacity across the country. This move was complemented by the efforts to boost hospitals' capacity to treat COVID-19 patients.
"We have improved the regional hospitals by adding beds, adding ventilators, oxygen concentrators; these are all things that are necessary to manage the acute respiratory distress that patients would experience," he said.
The Centre for Disease Control and Prevention at Liliendaal was also furnished with the necessary equipment to become a fully functional COVID-19 hospital.
Minister of Health, Hon. Dr. Frank Anthony and officials from the Ministry of Health and the Georgetown Public Hospital Corporation examine equipment at the Centre for Disease Control and Prevention Corporation at Liliendaal in August 2020.
"So, from a medical response I think we have gone leaps and bounds in terms of what we are doing to manage COVID patients," Minister Anthony said.
Dr. Anthony also noted that several steps were also taken to cushion the soci0-economic impact of the disease on the population. In addition to money allocated in the 2020 Emergency Budget for $25,000 per household COVID-19 cash grants countrywide, the Government gradually reopened some sectors in keeping with the COVID-19 gazetted precautionary measures to bolster the economy.
CATEGORIES Coronavirus (COVID-19)GovernmentMinistry of HealthNews Bulletin
TAGS 2021COVID-19DPI| Department of Public InformationgovernmentGuyanaHon. Dr Frank AnthonyMinistry of Health


The Behavioral and Social Sciences Section presents two awards for student papers: one at the pre-dissertation level and one at the dissertation level. Eligibility at the pre-dissertation level is limited to student members enrolled in doctoral programs who do not yet have their doctorate degree. Eligibility at the dissertation level is limited to student members who are no more than 18 months post doctorate by the final submission deadline.
Applicants must be a student/ESPO member of the Behavioral and Social Sciences section.
The paper must be a completed empirical study dealing with a topic of relevance to the BSS section of GSA.
The paper may not be published nor accepted for publication at time of submission.
The quality of review of previous theoretical and/or empirical work.
Intelligent use and explanation of existing theory to build a context for the present paper.
Extent to which relevant methodological aspects (e.g., sample, measures, data analysis) are adequately described.
Quality of methods (e.g., use of appropriate sampling, data collection, research design and data analytic techniques; proper execution of chosen methods).
Appropriateness of scope of the paper (e.g., does the author attempt to accomplish too much?).
Quality of Interpretation (e.g., conclusions do not extend beyond what the data indicate; awareness of study limitations; relevance to future practice, theory, or research are well-described).
The paper must adhere to APA style (American Psychological Association (2010), Publication Manual, 6th Ed).
The paper must inlcude the statement "I have complied with the APA ethical standards of research in regards to this submission."
The paper may not exceed 30 double-spaced pages total (including, figures, tables, references, and appendices) at a minimum of 12 point font with one-inch margins all around.
Finally, student papers must be primarily the work of the student. If the manuscript is co-authored, a letter from the other author is required that should verify that the student applicant had the primary responsibility for the work.
Papers considered for the award must be presented at the Annual Scientific Meeting during the year of the competition.
The award recipient at the dissertation level receives a $500 cash prize and the award recipient at the pre-dissertation level receives a $500 cash prize. Recipients also receive a certificate and will be recognized at the Behavioral & Social Sciences Section Business Meeting and Award Presentation at the 2019 Annual Scientific Meeting in Austin, TX.
In order to submit for either award, upload two copies of your paper (one blind, one unblinded) with supporting documentation (letters from co-authors or advisor), nomination link will be available July 1.


With the release of Qt Creator 4.0, the use of CMake becomes less painful. But nmake is the default make program so the use of -j X is not an option. Fortunately, Qt Creator allows to set default CMake settings for each kits we have. So we can use Jom and get our parallel build back.
And then click on the Change button at the bottom next to CMake Configuration label.
Now you can add -j X to Tool arguments in Projects tab as usual.


Yeah, I think you already mentioned that MS-Office for Mac does it that way. If the installer was a library which looks at an installer.plist file in the app bundle, it could easily install all sorts of support files for an app in the right place upon first launch (or maybe symlinks to them, to avoid unnecessary copying?).
Yeah, if the user could just drag the app in, and installation would happen on first launch, that problem would be solved.
OTOH, in MacOS 9 you had "system extensions" which you dropped in the system folder and they automatically "found their way" into the right folders. So, you could just have certain kinds of extension bundles that are themselves routed to a particular subfolder of Library, and can also contain an installer.plist which would then let them install support files in /usr/bin or /Frameworks or whatever. All you'd have to do is drop these system extension bundles on "Library" to install them.
Warning! It's not really a sequentiality that should be exposed to the user. Sequences are good for guiding users, and they make it easy *for the programmer* to ensure the user has visited and set up all pages, because when he reaches the last page with the install button, you know he's seen all previous pages.
However, if you have a large number of pages, sequentiality can actually be annoying. We'd be back in the age of command-lines and modes, where you're asked two dozen questions in a row without being able to see the end, judge how long it'll take or skip ahead when you know the defaults are okay. And when you screw up and you only realize it two pages later, it shouldn't reset all your settings. If installation really *was* sequential, this wouldn't annoy us, but it isn't sequential, and so it *is* annoying.
Installation is rarely sequential, only simple installations are. Usually, drag installation should suffice, with maybe additional installation and access to the "Preferences" window upon first launch.
Come to think of it, if you're providing an installer for a shared lib or a non-GUI executable like Apache, you could just make it the "support tool" inside the package of an Apache Config File Editor.app, or a PrefPane, and thus include the GUI for it right away.


Were the EU's founding fathers hopeless dreamers?
Soon after the end of World War II, Robert Schuman, then the French minister of foreign affairs, and Konrad Adenauer, then the German chancellor—along with French diplomat Jean Monnet, a cognac producer and advocate of European unification—thought they had found a magical formula to end the cycle of war that the continent had inflicted upon itself for centuries. Simply put, they proposed that countries could transfer partial sovereignty to a supranational body that would exercise control over the production of the means of war: coal and steel.
Over the next several years, this evolved into a much broader idea: to aim for an integrated Europe, wherein labor, goods, capital, and services could move freely. This would be secured by dismantling national borders (which, advocates believed, were instruments to stoke xenophobia and a politics of fear). The ultimate goal was "an ever-closer union" among European states.
In the following decades, and especially after the end of the Cold War, Europe moved closer and closer to achieving this goal. But it was met with backlash, too, from publics who saw the emerging supranational government in Brussels as an elitist project, disconnected from the views and concerns of average Europeans.
The financial meltdown in 2008, and the economic crisis it unleashed, made matters worse. The economic realities of the European Union chipped away at the founding fathers' dream of consolidating a stronger European identity that would supersede national affiliations.
Pascal Lamy—a chief of staff to the father of the European internal market, Jacques Delors—once likened the founding fathers to medieval alchemists and remarked that "they thought they could transform the stone of economic integration into the gold of political integration." In hindsight, what the founding fathers envisioned may indeed have been beyond the bounds of the possible. Let us hope for the time being that the "politics of fear" that brought about the Brexit result does not spin out of control, and make Europe (foremost Britain) regret its decision to reject the wisdom of Schuman, Adenauer, and Monnet—and all the others who've chosen to walk in their path.


Situated just southeast of our Tempe headquarters, Chandler is one of NuFlow Phoenix's favorite places to work. And NuFlow Phoenix is Chandler's favorite trenchless sewer expert. Why waste time, money, and effort with traditional sewer repair? With NuFlow Phoenix, there is no need to dig up yards or tear out walls and floors trying to find and fix sewer problems. We know you value your property; that's why we take great care to treat it like we would our own. We take pride in the work we do for our customers, regardless of if they are residential, commercial, industrial, or government properties.


text:
Poe Museum Online Store
Illuminating Poe for everyone, evermore.
The Raven Illustrations of James Carling
One of the most popular poems in the English language, Edgar Allan Poe's "The Raven" has thrilled generations of readers. In 1882, the Anglo-American artist James Carling decided to produce the definitive series of illustrations for the poem. Carling's bizarre images explore the darkest recesses of Poe's masterpiece, its hidden symbolism, and its strange beauty. Although the series remained unpublished at the time of the artists death in 1887, the drawings reemerged fifty years later, when they entered the collection of the Edgar Allan Poe Musem in Richmond. There they lined the blood-red room of a Raven Room dedicated to their display. For the first time, author and Poe historian Christopher P. Semtner reproduces the entire series and tells the story behind these haunting works.
Paperback, 126 pages.
Welcome to the Poe Museum Online Store! We are a 501(c)3 and all sales go to support our educational tours and programs, as well as ongoing research into Edgar Allan Poe.
shop@poemuseum.org
poemuseum.org
© Poe Museum Report abuse


text:
Q&A with Verde Valley Teacher of the Week Karen Amoscato
Karen Amoscato is in her third year teaching Valley Academy's CNA students. VVN/Bill Helm
By Bill Helm | BillHelm42
Originally Published: March 19, 2019 11:19 a.m.
COTTONWOOD – Becoming a certified nursing assistant is the first step to becoming a registered nurse.
That's what the CNA instructor for Valley Academy of Career and Technology Education says.
Teaching the CNA program at Valley Academy for the past three years, Karen Amoscato is "passionate about the nursing profession and her students," says Bob Weir, Valley Academy superintendent.
"She loves to teach her students the skills needed to be a successful CNA and future nurse," Weir says. "Karen is knowledgeable of the subject matter and the hands-on skills needed to perform the task of a CNA in a safe manner."
According to Weir, Amoscato has increased the time the students get to have clinicals at Verde Valley Medical Center and at the Haven.
"This has led to several of our students getting hired as CNAs after they complete the course and pass the state CNA nursing board exams," Weir said. "The placement rate of her students working in the field and/or going on to get a higher nursing degree is in the 80-plus percent range."
Weir says that the first thing he noticed about Amoscato's abilities to educate was "the care she shows for her students."
"She strives to see to it that her students understand the material being taught and that they can perform the CNA skills in the proper safe manner," Weir says.
Verde Valley Newspapers: Tell us about your teaching style.
Karen Amoscato: "I incorporate different ways of teaching. I first develop a mutual respect with my students. I can be strict when need be, but also encourage self-expression to help develop a comfortable [and] safe atmosphere within the classroom. Students tend to learn better when they feel safe.
"I lecture using PowerPoints that follows the textbook and homework. The students know exactly what is expected of them. Students also must learn specific patient care skills for the nursing assistant boards that must be passed to become certified by the Az Board of Nursing."
VVN: Tell us something notable about your career.
Amoscato: "I am proud to say that my CNA program is becoming notable. My students have been recruited for employment before they even graduate. They are also being hired by the local hospital Verde Valley Medical Center. Most of my students go on for higher education as well.
VVN: Do you have a favorite quote or saying?
Amoscato:"If you want to be successful in life, it takes hard work. Get an education."
VVN: Tell us something about you that people may not know.
Amoscato: "I am a lifelong learner. I am presently working on my sixth and seventh degrees. Another Bachelor's degree and another Master's degree in Nursing Education."
-- Follow Bill Helm on Twitter @BillHelm42
Tours expose eighth graders to VACTE career, technical education programming
Q&A with Verde Valley Teacher of the Week Steve Darby
Q&A with Verde Valley Teacher of the Week Laurie Lozano
Valley Academy fire science named outstanding CTE program
Q&A with Verde Valley Teacher of the Week Natalie Rice


text:
Q: Flutter different behaviour in debug vs release mode I'm developing these features for a flutter app: loading an image from gallery, resize and save it.
The resizing part is a cpu intensive operation so I followed the approach suggested here using isolate to gain a better user experience.
When I run the code in debug mode I have no issue, but when I try the same code in release mode my image is saved in a wrong way.
Can someone help me to undestand the issue I explained please?
I test the code only on this device: HUAWEI P9 lite VNS-L31 with android 7.0
Here is the code to replicate the problem. This is a new flutter project with the following files:
In pubspec.yaml I add this section:
dependencies:
  path_provider: ^0.4.1
  image_picker: ^0.4.10
  image: ^2.0.4
  flutter:
    sdk: flutter

All code is in lib/main.dart:
import 'dart:async';
import 'dart:io';
import 'dart:isolate';

import 'package:flutter/material.dart';
import 'package:image/image.dart';
import 'package:image_picker/image_picker.dart';
import 'package:path_provider/path_provider.dart';
import 'package:path/path.dart' as p;

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      home: new MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key}) : super(key: key);

  @override
  _MyHomePageState createState() => new _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;
  File _file;

  Future<File> _getImage() async {
    File image = await ImagePicker.pickImage(source: ImageSource.gallery);
    if (image != null) {
      return image;
    }
    return null;
  }

  static decode(DecodeParam param) async {
    var p = await param.file.readAsBytes();
    var image = decodeImage(p);
    var thumbnail = copyResize(image, 120);
    param.sendPort.send(thumbnail);
  }

  void _displayImage() async {
    setState(() {
      _file = null;
    });

    File file = await _getImage();
    ReceivePort receivePort = new ReceivePort();

    await Isolate.spawn(decode, new DecodeParam(file, receivePort.sendPort));

    var image = await receivePort.first;

    Directory tempDir = await getTemporaryDirectory();
    String tempPath = tempDir.path;

    File profilePictureFile =
        File(p.join(tempPath, 'thumbnail' + _counter.toString() + '.png'))
          ..writeAsBytesSync(encodePng(image));

    setState(() {
      _counter++;
      _file = profilePictureFile;
    });
  }

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      body: new Center(
        child: new Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            _file != null
                ? Container(
                    height: 200.0,
                    width: 200.0,
                    decoration: BoxDecoration(
                        shape: BoxShape.circle,
                        image: DecorationImage(
                            fit: BoxFit.fitWidth, image: FileImage(_file))))
                : Container(),
          ],
        ),
      ),
      floatingActionButton: new FloatingActionButton(
        onPressed: _displayImage,
        child: new Icon(Icons.add),
      ),
    );
  }
}

class DecodeParam {
  final File file;
  final SendPort sendPort;
  DecodeParam(this.file, this.sendPort);
}

flutter doctor -v:
[√] Flutter (Channel master, v0.9.7-pre.61, on Microsoft Windows [Versione 10.0.15063], locale it-IT)
    • Flutter version 0.9.7-pre.61 at C:\src\flutter
    • Framework revision 2d81adf74c (2 days ago), 2018-10-05 22:29:37 -0700
    • Engine revision 572fa5646a
    • Dart version 2.1.0-dev.6.0.flutter-c6254163dc

[√] Android toolchain - develop for Android devices (Android SDK 28.0.1)
    • Android SDK at d:\Profiles\alarosa\AppData\Local\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.1
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    • All Android licenses accepted.

[√] Android Studio (version 3.1)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 26.0.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)

[!] IntelliJ IDEA Community Edition (version 2018.1)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.1
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
    • For information about installing plugins, see
      https://flutter.io/intellij-setup/#installing-the-plugins

[√] VS Code (version 1.27.2)
    • VS Code at d:\Profiles\alarosa\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 2.19.0

[√] VS Code, 64-bit edition (version 1.27.2)
    • VS Code at C:\Program Files\Microsoft VS Code
    • Flutter extension version 2.19.0

[√] Connected device (1 available)
    • HUAWEI VNS L31 • 4TE0216A14001341 • android-arm64 • Android 7.0 (API 24)

! Doctor found issues in 1 category.

A: Following @GunterZochbauer suggestion I opened an issue on flutter repository.
Flutter team is working on it, and, as you can read on github thread, Jason-Simmons suggest the following work around.
Change the sender to:
param.sendPort.send([thumbnail.width, thumbnail.height, thumbnail.data]);

and the receiver to:
List<dynamic> imageData = await receivePort.first;
var image = new Image.fromBytes(imageData[0], imageData[1], imageData[2]);

A: The writeAsBytesSync method have a params flush, default value is false.
The comment of flush: If the [flush] argument is set to true data written will be flushed to the file system before returning.
Edit your code to next:
File profilePictureFile =
        File(p.join(tempPath, 'thumbnail' + _counter.toString() + '.png'))
          ..writeAsBytesSync(encodePng(image), flush: true);

Check to see if there have been changes.
Non-isolated has memory sharing. If it is isolated, the file need to read the file system, and the file content may not have been written or only half.

A: I had something similar but with displaying images, by removing the expanded it fixed the behaviour.

redpajama_set_name: RedPajamaStackExchange


I am so very sorry to read this news Julian. I have been posting intermittently as Via Collins over the years, I always found Jeremy's passion and intellect really engaging. He felt like a friend, but I know you guys actually were friends. My deepest condolences.
Julian, I had an inkling, but clearly no idea. I've been thinking of Jeremy often this last few weeks, it's a strange thing, having absorbed so much of his wit and precision vicariously, I feel I know, but of course I don't. Even so, know there's one more heavy heart in Perth that will continue to cherish his legacy.
I followed JP's blog regularly and he was a mentor despite never meeting him. His posts were insightful, witty, concise and authoritative. His passion for wine was infectious. He will be missed but his memory and legacy will live on. Condolences to his family and friends. Tonight's drink is for you JP.
We seemed to mostly talk about ethics. Then music. Hard to believe that's all over.
I sat in my Victory Hotel bar with Jeremy and a bottle of 1999 Wendouree Shiraz while we watched the Adelaide Crows thump Collingwood. That was a couple of months ago. The wine and the result were fantastic. But getting to know such a fascinating, warm-hearted chap was the bigger highlight. What an absolute tragedy. My heart goes out to his family and friends. Adios buddy.


text:
Metro Atlantans, Georgia feel sting of recession
A notorious boom and bust market, metro Atlanta is taking its lumps these days. "Emerging Trends in Real Estate," an annual forecast produced jointly by the Urban Land Institute (ULI) and Pricewaterhouse Coopers, recently singled out Buckhead as probably the nation's worst office submarket.
Here's an excerpt: "Four speculative office buildings open with minimal leasing interest just as unemployment reaches quarter-century peaks. Condo projects stand mostly empty up and down Peachtree Road." Office tenants easily can find Class-A space at rent levels of 20 years ago, the report adds.
In fact, in the Buckhead/Lenox submarket, office vacancy reached a whopping 20.9% in the third quarter of 2009, compared with 14.1% in the same period a year earlier, according to New York-based research firm Reis.
That's a fact the local chamber of commerce might not want to include in its promotional materials. Only a few weeks after the ULI e-mail hit my inbox, I attended a quarterly conference hosted by the Economic Forecasting Center at Georgia State University. An accompanying report, titled "Georgia's Post-Recession Blues," highlighted the state of the local and regional economy, and was as grim as the title conveyed.
Dr. Rajeev Dhawan, author of the report, pointed out that metro Atlanta's employment base has fallen by 7.8% since September 2007, resulting in the elimination of 192,400 non-farm payroll jobs. From peak to trough, Atlanta's job base is forecast to drop 10%, according to Dhawan. "That is severe. We didn't see anything remotely like that ever before."
How is it that a region that once was such a strong engine of job growth is now sputtering so badly? A dramatic slowdown in the issuance of building permits for new home construction is a major contributing factor. Permit issuance is down by almost 90% from peak levels of 2006, said Dhawan.
Developers have announced no new office or condo building projects, and most of the works-in-progress will be completed soon, the report noted. "I've even noticed that my architect neighbor is keeping busy with his own home improvement project rather than a commercial one," wrote Dhawan.
Apart from government contracts and other non-traditional work, construction is in short supply. Construction accounts for just 5% of the economy's employment, but it has a big multiplier effect in dollar terms, Dhawn emphasized.
The state of Georgia has fared just as badly on the jobs front. Since September 2007, the state's employment base has shrunk 7.5%, costing 310,000 jobs. The state has experienced four consecutive quarters of job losses greater than 50,000, with every sector shedding workers except education and health care.
Dhawan forecasts that Georgia will lose 214,700 jobs in 2009 and 60,600 jobs in 2010. The tide is finally expected to reverse in 2011 with job gains of 67,100. The unwelcome streak of job losses marks a dramatic reversal from 1995 to 2000, when annual job gains averaged 114,000.
Now, the shrinking workforce is having a negative impact on the state's financial coffers. In fiscal year 2009 (July 1, 2008 to June 30, 2009), tax collections fell 10.5% from the prior year. In fiscal year 2010, state tax collections are expected to fall 14.8%.
The great disconnect
While Main Street grapples with double-digit unemployment and falling income, Wall Street appears giddy. After closing at a 12-year low of 6,547 on March 9, the Dow Jones Industrial Average has come roaring back. The Dow closed at 10,426 on Nov. 18, up nearly 60% from its March low, spurred in part by persistently low interest rates.
Stock investors also are relieved that the freefall the economy was experiencing early in the year is over and that a turnaround is afoot. Still, Dhawan said this run-up in the Dow reminds him of the bull run exhibited by the Nasdaq in 1999 at the height of the dot-com craze before the market tanked. "So, I'm worried."
If job losses continue to mount in Georgia and elsewhere, it will be interesting to see how long Wall Street's head remains stuck in the sand.
Contact Editor Matt Valley at [email protected].


text:
Lawyers ask for release of journalist held by ICE on arrest anniversary
By Rachel Frazin - 04/05/19 05:30 PM EDT
Lawyers for a journalist who is being held in Immigration and Customs Enforcement (ICE) custody filed a petition asking for his immediate release on Wednesday.
"He is entitled to immediate release or, alternatively, an individualized bond hearing to assess the necessity and legality of his continued detention, at which the government bears the burden of proving that he is a flight risk or a danger to the community," the petition said.
Lawyers for Memphis-based reporter Manuel Duran Ortega argued that his continued detention violates his right to due process and the Immigration and Nationality Act.
"In the immigration context, the Supreme Court has recognized only two valid purposes for civil detention—to mitigate the risks of danger to the community and to prevent flight," the court petition said.
"Because Mr. Duran Ortega's ongoing deprivation of liberty is not sufficiently related to either of these purposes, and because he has not been afforded the necessary procedural safeguards, his detention violates due process."
Duran Ortega was arrested by local police on April 3, 2018, while covering a protest, according to the petition. The charges against him were dropped, but he was taken into ICE custody two days later.
An ICE spokesman told Newsweek a day after Duran Ortega's arrest that the agency had detained him for being an "unlawfully present El Salvadoran national."
The spokesman also told the publication that a federal immigration judge had ordered his deportation in January 2017 but that the journalist did not appear for a scheduled court appearance.
The Southern Poverty Law Center said in a statement that "a year after his arrest, and despite court rulings that he is likely to succeed in his claims for relief from deportation, Duran still finds himself detained by ICE and separated from his family."
In a statement, Duran Ortega said his continued detention had been difficult on him.
"I have been detained a year and regrettably, due to the circumstances of detention, it has not been easy for me," Duran Ortega said in a statement. "Being detained has affected me psychologically because the process is so uncertain, and I don't know if I will get out soon or if it will take more time. I miss my work and I miss being able to help my community, as this gave me a lot of satisfaction."
Wednesday's filing came on the anniversary of his initial arrest.
ICE spokesman Bryan D. Cox declined to comment directly on the legal filing but said in a statement that "Duran-Ortega was ordered removed from the United States by a federal immigration judge and none of his legal appeals have resulted in vacating that removal order."
"Duran-Ortega currently remains in ICE custody pursuant to a final order of removal issued by the federal immigration courts," he added.
Neither the Department of Homeland Security nor the Justice Department immediately responded to requests for comment from The Hill.
—Updated at 6:10 p.m.
Tags Immigration Press freedom Journalism Immigration and Customs Enforcement Law enforcement


It will soon be added as a challenge on the pwnfixrepe.at website, where you can work on fixing such security issues.
Your mission, if you accept it, is to login as administrator on the application.
If you wish to skip to the details, head to the solution section.
The application itself is quite simple.
There are three features: Log in, log out and register.
The vulnerability is not within PHP, but rather is caused by SQL itself, and many bad design decisions with the vulnerable application.
Comparing strings in SQL is interesting.
What would you expect the following statement to be?
Unlike what many would expect, the 'x' = 'x ' condition is true!
In SQL, when comparing two strings, the shortest one is padded with spaces until they are of equal length.
This does effectively mean that trailing spaces are useless in regular string comparisons!
a) If the length in characters of X is not equal to the length in characters of Y, then the shorter string is effectively replaced, for the purposes of comparison, with a copy of itself that has been extended to the length of the longer string by concatenation on the right of one or more pad characters, where the pad character is chosen based on CS. If CS has the NO PAD attribute, then the pad character is an implementation-dependent character different from any character in the character set of X and Y that collates less than any string under CS. Otherwise, the pad character is a <space>.
The key to successfully exploit the application is resides in this particularity.
The first thing we need to do is create a new user, with the same name as "admin".
We can do this by entering a username which starts with admin, padded with spaces until the column size of 20, and a non-space character.
This will pass the username exists condition, as the given username will not exist.
When inserting the new user, as the column has a 20 character limit, the value will be truncated to 20 characters and therefore be admin, with trailing spaces.
Note that this would not be possible if the column was unique, as we would get a duplicate entry message.
The second step is to login, with the admin username and our created user's password.
As the sql table now has two users, the regular admin and our fake one, the login query will work and select our new user.
Finally, as the application finds the currently logged in user based on its username, it select the first user with the admin username. This means it will select the admin user instead of our own, and we can now steal the admin secret!
Security issues are only bugs in your application.
Like regular bugs, you can limit their quantity by maintaining high quality code.
In this application, marking the username column unique, using the id to identify the current user or performing length validation beforehand would have prevented the issue.
I have to ask... which DBMS did you try this with?
Intrigued, I tested your sample 'x' = 'x ' query on Postgres 10.4 and it did not match.
It is correct that Oracle automatically trims leading and trailing spaces.
Great analysis, thanks for sharing !


One of the greatest hindrances to walking with God is the common habit of dividing our lives into two categories: the natural and the spiritual. Certain activities are associated with the spiritual such as prayer, Bible study, attending church etc. Other activities are associated with the natural such as eating, sleeping, working, and other needs and duties of the body.
We do the natural things reluctantly and apologize to God, claiming that these activities are draining us of spiritual strength. We're always straining and striving, uneasy, and pushing ourselves to one day be super-spiritual. For many of us this is a big struggle.
We need to understand that Jesus never divided His life into categories. In the presence of God He walked and lived. God accepted Jesus' total life. He made no distinction between what we call natural and spiritual activities. "I do always those things that please the Father" (John 8:29). Jesus did not have a spiritual life and a natural life. Every act of His life was God's.
Every act of our lives should be a contribution to the glory of God. "Whether you eat or drink, do all for the glory of God." All acts are not equal in importance, but God accepts them all. God is everywhere (Ps 139), and "in Him we live and move and have our being" (Acts 17:28). Even when you're not thinking of God, He is there.
Don't let the natural world become the enemy of the spiritual world.
Why do some people find God's presence so wonderful while others struggle? It is because some Christians have an awareness of God and a spiritual receptivity others do not have. It is those who develop and cultivate that awareness and receptivity who enjoy God's presence.
Receptivity is by degree. You can have more or less. It is increased by the exercise of awareness and destroyed by neglect. Being receptive or responsive to God's presence means your desire is bent toward Him and you are aware of Him. It doesn't come on you like a thunderbolt but like the gentle rain.
Jesus died for you and sent the Holy Spirit so you could be aware of His power and help and walk with Him.
Most Christians do not seek God's counsel as if He were real. This lack of reality results in lack of faith, lack of expectation, and lack of direction. It also prevents believers from walking in the gifts of the Holy Spirit. Cultivating an awareness of God in you and with you at all times will change that.
Start paying attention to the Holy Spirit within in and develop your sensitivity to Him.
So true, Bro. Bert, working on being aware of God all the time!
I appreciated what you said about believing in God's reality–important to try, with God's help, to be brutally honest with ourselves! Could I ask a question about the last post, on end-times? I've become more familiar with a teaching that expects spirit empowered believers to be raised up to change the culture, and even the world. But I've understood that the world will get worse, and more evil; but the Bride would be judged to be refined, and made ready for Jesus' coming (at the same time, empowered to bring in many souls–revival). I wondered what you thought. Do you see a great apostasy– seems like evidence of that now?
Yes, Penny – I believe there will be both an apostasy and a revival/great harvest simultaneously. As gross darkness covers the earth the glory of the Lord shall shine on those who are truly His. (Isa. 60:1-2). As we get closer to Jesus' return the path of the wicked will grow darker but the path of the righteous shall grow brighter day by day. Praise the Lord!


text:
Impero Software Announces New Version of its Flagship Product – Impero Education Pro – at ISTE 2018
techlearning
Chicago, June 24, 2018 – Impero Software, a leading provider of classroom management, network and online safety software to schools today announced the latest version of its award-winning product, Impero Education Pro V7. MORE
Software Handbook Digital Citizenship BYOD 52
Migrating to Cloud-Based Online Tool Suites Is a No-Brainer for School Districts
The 21st Century Principal
Here''s three good reasons to move to a cloud-based online tool suite from my perspective since our district moved to Google Apps well-over a year ago. With a service like Google Apps, backup of email is also less problematic, and as applications like Google Docs continue to improve, there may be even less need to pay for software licenses for office suites as well, not to mention no need to worry about updates and troubleshooting for these applications. MORE
Handbook Data Microsoft Company 61
Education Google Handbook Software
Chicago, June 24, 2018 – Impero Software, a leading provider of classroom management, network and online safety software to schools today announced the latest version of its award-winning product, Impero Education Pro V7.
Here''s three good reasons to move to a cloud-based online tool suite from my perspective since our district moved to Google Apps well-over a year ago. With a service like Google Apps, backup of email is also less problematic, and as applications like Google Docs continue to improve, there may be even less need to pay for software licenses for office suites as well, not to mention no need to worry about updates and troubleshooting for these applications.
Handbook 61


1140m (14 mins) from Clapham Junction. 1400m (17 mins) from Battersea Park.
1080m (13 mins) from Imperial Wharf.
920m (11 mins) from Clapham Junction. 920m (11 mins) from Battersea Park.
For sale in battersea square, all property types, 3 bedrooms.


text:
Q: Jquery ajax return null I am using the Jquery function,
function ajax_fun(id,val)
{
$.ajax({
    type: "GET",
    url: "data.php",
    dataType: "json",
    data: { pid: 1, cart_id: id, val: val },
    success: function (returndata){
       console.log(returndata);
    }
});
}

Call
ajax_fun(1,100);

data.php
<?php
if(isset($_GET['pid']) && $_GET['pid']==1)
{

  $cart_id = $_GET['cart_id'];
  $val  = $_GET['val']+0.06;
  $arr = array('cart_id'=> $cart_id, 'total' => $val);
  json_encode($arr);
}
?>

Console returns 'null' . It didn't return cart_id and total.
Can anyone help?
.

A: json_encode($arr);

shoule be
echo json_encode($arr);

You forget to echo the result.
Full code:
<?php
if(isset($_GET['pid']) && $_GET['pid']==1) {
  $cart_id = $_GET['cart_id'];
  $val  = $_GET['val']+0.06;
  $arr = array('cart_id'=> $cart_id, 'total' => $val);
  echo json_encode($arr); // write echo before json_encode($arr)
}
?>

A: RE-Write this line as...
echo json_encode($arr);

A: You need to add 'echo' before json_encode which return the data
<?php
if(isset($_GET['pid']) && $_GET['pid']==1)
{

  $cart_id = $_GET['cart_id'];
  $val  = $_GET['val']+0.06;
  $arr = array('cart_id'=> $cart_id, 'total' => $val);
  echo json_encode($arr);
}
?>


During the 2013 excavation season whilst completing a series of laser scan models of the site I also completed a number of photogrammetry captures of specific artefacts. The following are a few examples of the work completed and allows for a virtual record that can be used by archaeologists off site within their analysis of these artefacts. The Roman architectural fragments illustrated here are currently being studied by Dottssa Eleonora Gasparini through this process.


text:
layout: page
author: Jeff Bezos
title: The Electricity Metaphor for the Web's Future
link: https://www.ted.com/talks/jeff_bezos_on_the_next_web_innovation
category: Lesson Links
date: Feb 1, 2003
lesson: 21
---


[Mesa-dev] [PATCH v2] glsl: Fix aggregates with dynamic initializers.
> Vectors are falling in to the ir_dereference_array() path.
> Also submitting piglit tests, will reference in bug.
> v2: Rebase on Mesa master.
> this and improving our tests!
> I'll plan to commit this tomorrow unless anyone else has objections.
Is this ever actually an array???


text:
Prototype may lower barriers to growing new cells
March 3, 2017 · 4 min read
Lei's system would lower costs, automate process of replacing damaged, dead cells
by Scott Schrage | University Communication and Marketing
Craig Chandler | University Communication
Yuguo "Leo" Lei (right) and Haishuang Lin.
Many researchers seeking treatments for humanity's most debilitating conditions – from Alzheimer's and blindness to heart disease and diabetes – see potential for bettering lives in the foundation of life itself: the cell.
University of Nebraska-Lincoln engineers recently introduced a prototype system that could reduce the cost and complexity of growing patient-derived cells, advancing the cause of personalized therapies that replace damaged or dead cells to regenerate tissues in the body.
Researcher Yuguo "Leo" Lei designed the system to cultivate induced pluripotent stem cells: adult cells genetically reprogrammed into blank-slate versions that can, in turn, become any of the roughly 200 specialized types in the human body. These stem cells can also replicate again and again outside of the body – important when considering that a regenerative treatment typically requires hundreds of millions or even billions of cells.
Consisting of little more than two hotdog-sized plastic tubes, syringes and an automated pump, Lei's system cultivates the cells in a substance known as hydrogel. The prototype incorporates three phases of stem-cell processing – replicating them, converting them to specialized cells, and removing unwanted components – into one system, a feat that Lei said could streamline many logistical challenges.
"The idea, in the future, will be to integrate all of this in the clinic," said Lei, assistant professor of chemical and biomolecular engineering. "You get cells from the patient, and then after processing in a single tube over one or two months, you give the cells back to the patient. That's the long-term goal."
By limiting exposure to air, the system lessens the risk of contamination. And though the team demonstrated some of the processing steps by hand, Lei said the prototype lends itself to automation, which would reduce human error and ensure compliance with regulatory protocols. It would also allow the system to operate 24/7, accelerating the production of cells while making cell-based therapies more affordable.
"The majority of the cost is in the labor," Lei said. "It's very expensive. This would dramatically reduce that cost."
Personalized therapies that grow new cells from a patient's own stock hold promise for treatment because they minimize the risk that the body will perceive and attack them as foreign agents. But growing enough cells for thousands of patients in a reasonable time frame remains a challenge, Lei said.
Yuguo Lei; Springer Nature/Scientific Reports
A prototype of Lei's system.
The researchers demonstrated that, given about a week and less than a teaspoon of hydrogel, its prototype could grow and differentiate 1 million induced pluripotent stem cells into roughly 50 million neural stem cells. They also calculated that tripling the size of the tube and culturing with eight teaspoons of hydrogel would allow them to grow about 1 billion cells in the same span.
A month after researchers transplanted the resulting neural cells into the brains of rats, they found that substantial numbers of cells had survived and developed into human neurons. Lei said the results, which the team reported in the journal Scientific Reports, bode well for hydrogel culturing systems, even as he acknowledged that much work remains before taking such technology from the bench to the bedside.
"Manufacturing therapeutic cells is still at a very early stage of development," said Lei, who has a patent pending via NUtech Ventures. "We really need a lot of innovation in cell-manufacturing technology.
"But if you have an affordable and highly efficient culture system, you can do a lot of good."
Lei authored the study with Haishuang Lin, postdoctoral researcher in chemical and biomolecular engineering, and Qiang Li, graduate student in chemical and biomolecular engineering. The team received support from the Nebraska Department of Health and Human Services.
News Release Contacts
Yuguo "Leo" Lei, Assistant Professor of Chemical and Biomolecular Engineering
Read Lei's study
The Lei Lab
Technology description from NUtech Ventures
Engineering at Nebraska
Yuguo Lei
Leo Lei
Haishuang Lin
Qiang Li
NUtech Ventures
chemical and biomolecular engineering


text:
Your online destination for exploring the winemakers and stories behind the bottle
What's Behind the Bottle?
We want to actively shape the future of wine content and discovery.
We aspire to make the world of wine a little bit more fun, accessible and sustainable.
Farming and keeping our soil alive lies at the heart of what we do. For us, it's about creating a stage for direct dialogue that is driven by topics in sustainability, ethics and individualism - rather than complicating things through dazzling tasting notes, scores and complicated terminology. At the end of the day, wine is a tool for bringing people together, sharing emotions and exploring individual taste.
We take you to the people, and places behind the bottle to bring the stories and thoughts of some of the world's greatest winemakers to you. Transparency is of utmost importance to us and we will always be honest about what's in your bottle. What's more, we aren't going to score any wines. As Hugh Johnson OBE once said, "Try scoring your friends... Wine is a friend to me, I'm not going to treat it in that way."
Technology allows us to bring distant places and stories closer to you and build a future in which we close the gap between source and consumption — for improved transparency, experience and education.
Wouldn't it be amazing to travel the vineyards, or hear from the winemaker whose wines you enjoy — from the comfort of your home? Everybody; whether that's someone who drinks G&T more regularly than Riesling, or a Master of Wine; should be able to get closer to wine and nature through words, film and drinking.
THE ROOTS OF 'LITTLE'
Every Vine, Every Wine
One of the greatest wine minds, winemaker Eben Sadie, once said, "You're only as good as your LITTLE wine." In French, petit vin is the term often used for an "entry level" wine. Even though it may be less profound, less "shiny", it represents the winemaker just as much as their top wines do.
Little Knowledge
The average person knows very LITTLE about wine. In fact, most of us are not aware that only 5% of the wines consumed globally are made from organic farming practices. We're here to help change that; through detailed published material, we strive to become reporters of viticultural land.
It's the opposite of big. In the 90s and 00s, a majority of people favoured wines that were big. Big fruit, big body, big alcohol. There's nothing wrong with being a big wine, but we like the small, ahem... LITTLE... wines too. For us, wine is about balance and we explore wines on both sides of the scale, and those in between.
LITTLE is a humble term, and humility is everything. We don't like arrogance, in wine or in people. Wine should be about feelings and about sharing, not about "who got the top score." What's more, you can have just one hectare and make a great wine; you don't need the Château to prove it.
Growing Up Together
You have to be LITTLE before you can be big. Sustainable and organic wine may only be a small segment of the market, but it's growing fast and we're proud to play a part in it. By supporting our growers, we hope to help them to grow, too.


We are one of the only fishing charter operations to specialize in Fort Lauderdale corporate entertaining. Our fleet is far above average when it comes to boat quality, cleanliness and appearance. Of course, we also have great captains and crew who have expert local Fort Lauderdale fishing knowledge and experience and will help your group catch a lot of fish!
We also have Fort Lauderdale sport fishing yachts available for charter. Though our standard sport fishing boats are very nice, if you're looking to impress, we can arrange a charter on one of our multi million dollar sportfishing yachts. These Fort Lauderdale fishing yachts truly shine inside and out. They have high end interiors and the crew is used to dealing with elite clientelle.
Our corporate entertaining charters include the fishing boat, the captain, a mate, equipment and fuel. Beyond our standard package, we can also arrange special add ons to our charter for the purposes of corporate entertaining. This can include catering, additional crew, limo transportation to and from the charter, and even massage therapists. Basically, if you can think of it, we'll do our best to try and arrange it.