text:
Stabilization of planar collective motion: All-to-all communication
Rodolphe Sepulchre, Derek A. Paley, Naomi Ehrich Leonard
Council on Science & Technology
This paper proposes a design methodology to stabilize isolated relative equilibria in a model of all-to-all coupled identical particles moving in the plane at unit speed. Isolated relative equilibria correspond to either parallel motion of all particles with fixed relative spacing or to circular motion of all particles with fixed relative phases. The stabilizing feedbacks derive from Lyapunov functions that prove exponential stability and suggest almost global convergence properties. The results of the paper provide a low-order parametric family of stabilizable collectives that offer a set of primitives for the design of higher-level tasks at the group level.
IEEE Transactions on Automatic Control
https://doi.org/10.1109/TAC.2007.898077
Geometric control
Multi-agent systems
10.1109/TAC.2007.898077
Dive into the research topics of 'Stabilization of planar collective motion: All-to-all communication'. Together they form a unique fingerprint.
Stabilization Engineering & Materials Science 100%
Asymptotic stability Engineering & Materials Science 62%
Lyapunov functions Engineering & Materials Science 61%
Feedback Engineering & Materials Science 37%
Sepulchre, R., Paley, D. A., & Leonard, N. E. (2007). Stabilization of planar collective motion: All-to-all communication. IEEE Transactions on Automatic Control, 52(5), 811-824. https://doi.org/10.1109/TAC.2007.898077
Sepulchre, Rodolphe ; Paley, Derek A. ; Leonard, Naomi Ehrich. / Stabilization of planar collective motion : All-to-all communication. In: IEEE Transactions on Automatic Control. 2007 ; Vol. 52, No. 5. pp. 811-824.
@article{f3c39986a7fa47f8a7655996c1168137,
title = "Stabilization of planar collective motion: All-to-all communication",
abstract = "This paper proposes a design methodology to stabilize isolated relative equilibria in a model of all-to-all coupled identical particles moving in the plane at unit speed. Isolated relative equilibria correspond to either parallel motion of all particles with fixed relative spacing or to circular motion of all particles with fixed relative phases. The stabilizing feedbacks derive from Lyapunov functions that prove exponential stability and suggest almost global convergence properties. The results of the paper provide a low-order parametric family of stabilizable collectives that offer a set of primitives for the design of higher-level tasks at the group level.",
keywords = "Cooperative control, Geometric control, Multi-agent systems, Stabilization",
author = "Rodolphe Sepulchre and Paley, {Derek A.} and Leonard, {Naomi Ehrich}",
note = "Funding Information: Manuscript received June 27, 2005; revised February 20, 2006 and July 24, 2006. Recommended by Associate Editor F. Bullo. The work of D. A. Paley was supported by the National Science Foundation Graduate Research Fellowship, the Princeton University Gordon Wu Graduate Fellowship, and the Pew Charitable Trust under Grant 2000-002558. The work of N. E. Leonard was supported in part by the Office of Naval Research under Grants N00014-02-1-0861 and N00014-04-1-0534. This paper presents research results of the Belgian Network DYSCO (Dynamical Systems, Control, and Optimization), funded by the Interuniversity Attraction Poles Programme, initiated by the Belgian State, Science Policy Office. The scientific responsibility rests with its author(s).",
doi = "10.1109/TAC.2007.898077",
journal = "IRE Transactions on Automatic Control",
Sepulchre, R, Paley, DA & Leonard, NE 2007, 'Stabilization of planar collective motion: All-to-all communication', IEEE Transactions on Automatic Control, vol. 52, no. 5, pp. 811-824. https://doi.org/10.1109/TAC.2007.898077
Stabilization of planar collective motion : All-to-all communication. / Sepulchre, Rodolphe; Paley, Derek A.; Leonard, Naomi Ehrich.
In: IEEE Transactions on Automatic Control, Vol. 52, No. 5, 05.2007, p. 811-824.
T1 - Stabilization of planar collective motion
T2 - All-to-all communication
AU - Sepulchre, Rodolphe
AU - Paley, Derek A.
AU - Leonard, Naomi Ehrich
N1 - Funding Information: Manuscript received June 27, 2005; revised February 20, 2006 and July 24, 2006. Recommended by Associate Editor F. Bullo. The work of D. A. Paley was supported by the National Science Foundation Graduate Research Fellowship, the Princeton University Gordon Wu Graduate Fellowship, and the Pew Charitable Trust under Grant 2000-002558. The work of N. E. Leonard was supported in part by the Office of Naval Research under Grants N00014-02-1-0861 and N00014-04-1-0534. This paper presents research results of the Belgian Network DYSCO (Dynamical Systems, Control, and Optimization), funded by the Interuniversity Attraction Poles Programme, initiated by the Belgian State, Science Policy Office. The scientific responsibility rests with its author(s).
N2 - This paper proposes a design methodology to stabilize isolated relative equilibria in a model of all-to-all coupled identical particles moving in the plane at unit speed. Isolated relative equilibria correspond to either parallel motion of all particles with fixed relative spacing or to circular motion of all particles with fixed relative phases. The stabilizing feedbacks derive from Lyapunov functions that prove exponential stability and suggest almost global convergence properties. The results of the paper provide a low-order parametric family of stabilizable collectives that offer a set of primitives for the design of higher-level tasks at the group level.
AB - This paper proposes a design methodology to stabilize isolated relative equilibria in a model of all-to-all coupled identical particles moving in the plane at unit speed. Isolated relative equilibria correspond to either parallel motion of all particles with fixed relative spacing or to circular motion of all particles with fixed relative phases. The stabilizing feedbacks derive from Lyapunov functions that prove exponential stability and suggest almost global convergence properties. The results of the paper provide a low-order parametric family of stabilizable collectives that offer a set of primitives for the design of higher-level tasks at the group level.
KW - Cooperative control
KW - Geometric control
KW - Multi-agent systems
KW - Stabilization
U2 - 10.1109/TAC.2007.898077
DO - 10.1109/TAC.2007.898077
JO - IRE Transactions on Automatic Control
JF - IRE Transactions on Automatic Control
Sepulchre R, Paley DA, Leonard NE. Stabilization of planar collective motion: All-to-all communication. IEEE Transactions on Automatic Control. 2007 May;52(5):811-824. doi: 10.1109/TAC.2007.898077


How Do Urine Tests Work in a DUI Investigation?
What is the Urine Test in Ohio DUI?
In the state of Ohio, a urine test is a way for law enforcement to confirm the intake of alcohol or drug substances. Tests like a breathalyzer, urine, or blood tests can be refused by a person, but in the state of Ohio a refusal can result in a driver's license suspension and depending on the circumstances or previous record (say a person has a previous DUI/OVI on his or her record), an arrest can be made.
Are Urine Tests More Or Less Accurate than Other DUI Tests?
Urine tests are considered more accurate than a breathalyzer test and are preferred when building evidence against the drunk driver. To get to the urine test phase there are steps of the legal procedure that law enforcement must take to require such a test. When Ohio police perform a stop of a driver for any reason, there must be reasonable suspicion to stop that vehicle. Reasonable suspicion can be anything from broken tail light to a failure to make a complete stop at a stop sign. For a drunk driver to be stopped, reasonable suspicion is developed by swerving or erratic driving. Once a police officer stops a car for swerving or erratic driving, the cop will then question the driver to determine the next steps. Typically, if drunk driving is suspected the cop will ask the individual to step out of the vehicle to perform what's called "field sobriety tests." These tests include walking a straight line, simple verbal conversation, and reciting the alphabet backward. Reasonable suspicion is still the only requirement for this action. A driver can either refuse or voluntarily follow the police officer's demands. If a driver fails these tests, the officer can then perform an arrest and request a breathalyzer test. This is because the officer wants to collect direct rather than circumstantial evidence, which is all the officer would have at this point.
A driver has the right to refuse to take a breathalyzer test; however, Ohio law permits an officer to revoke a driver's license on the spot if a breathalyzer test is refused or failed. At this point, an arrest is likely, and the police officer will want to build up the direct evidence against the drunk driver. To do this a urine test will be requested. A urine test is considered the second most commonly used test when detecting which substances are in a person's system. Where a breathalyzer only detects alcohol usage, a urine test detects more accurate readings of alcohol and drug intake levels; however, the procedure to obtain a urine test is very different than with a breathalyzer and not always the most efficient. Unless you waive your rights to providing a urine sample, a warrant would be the correct procedure for law enforcement to follow to obtain a urine sample. In addition, urine tests are viewed as the least reliable and as a result many states no longer perform them.
What Are The Rules Associated with a Urine Test in a DUI Investigation?
the storage of collected urine (was not contained in a refrigerated environment at all times).
A DUI/OVI attorney will review all the protocols followed, whether the sample was obtained legally, and determine if there was even a need for the test in the first place. Call now and let's set up some time to discuss your concerns and needs to beat your DUI/OVI case today.


text:
local base64 = require("lime.lime-external-base64")
local decompress = require("lime.lime-external-deflatelua")

----------------------------------------------------------------------------------------------------
----									CLASS METATABLE											----
----------------------------------------------------------------------------------------------------

TileLayer = {}
TileLayer_mt = { __index = TileLayer }

----------------------------------------------------------------------------------------------------
----									CLASS VARIABLES											----
----------------------------------------------------------------------------------------------------

TileLayer.version = 3.4

----------------------------------------------------------------------------------------------------
----									LOCALISED VARIABLES										----
----------------------------------------------------------------------------------------------------

local ceil = math.ceil
local floor = math.floor
local abs = math.abs

----------------------------------------------------------------------------------------------------
----									PRIVATE METHODS											----
----------------------------------------------------------------------------------------------------

--- Parse layer data (GIDs) from a CSV string.
-- @params data The CSV string.
-- @returns A list of parsed GIDs.
local getTileIDsFromCSV = function(data)
	local IDs = {}

	if(data) then
		local tileIDs = utils:splitString(data, ",")

		for i=1, #tileIDs, 1 do
			tileIDs[i] = utils:convertStringToNumberSafely( tileIDs[i] )
		end

		return tileIDs
	end
end

--- Parse layer data (GIDs) from a Base64 string.
-- @params layer The TileLayer object.
-- @params data The compressed string.
local getTileIDsFromBase64 = function(layer, data)

	if(data) then

		local tileIDs = {}

		if(layer.compression == "uncompressed") then
			tileIDs = base64.decode("int", data)
		elseif(layer.compression == "gzip" or layer.compression == "zlib") then

			local decompressionFunction = nil

			if( layer.compression == "gzip" ) then
				decompressionFunction = decompress.gunzip
			else
				decompressionFunction = decompress.inflate_zlib
			end

			if decompressionFunction then

				local bytes = {}
				decompressionFunction( {input = base64.decode("string", data), output = function (b) bytes[ #bytes + 1 ] = b end} )

				for i=1, #bytes, 4 do
					tileIDs[ #tileIDs + 1 ] = base64.glueInt( bytes[ i ], bytes[ i + 1 ], bytes[ i + 2 ], bytes[ i + 3 ])
				end

			end

		end

		return tileIDs

	end
end

--- Gets a tile that is at a  grid position on this layer.
-- @params tileList The list of tiles. 2D array of grid positions.
-- @params position The grid position to look for.
-- @params full If full then the tileList must be a 1D list rather than 2D and the search will use the individual tiles row/col positions incase they have been updated.
-- @return The found tile or nil if none found.
local getTileAt = function(tileList, position, full)

	local _tileList = tileList
	local _position = position
	local _full = full

	if _tileList  then

		if _full then

			for i = 1, #_tileList, 1 do

				if _tileList[i].row == _position.row and _tileList[i].column == _position.column then
					return _tileList[i]
				end
			end

		else

			if _tileList[_position.column] then

				if _tileList[_position.column][_position.row] then
					return _tileList[_position.column][_position.row]
				end

			end

		end

	end

end

----------------------------------------------------------------------------------------------------
----									PUBLIC METHODS											----
----------------------------------------------------------------------------------------------------

--- Create a new instance of a TileLayer object.
-- @param data The XML data.
-- @param map The current Map object.
-- @return The newly created tileLayer.
function TileLayer:new(data, map)

    local self = {}    -- the new instance

    setmetatable( self, TileLayer_mt ) -- all instances share the same metatable

    self.properties = {}
    self.tiles = {}
    self.map = map

    -- Extract the header info, name, height and width
	for key, value in pairs(data['Attributes']) do
		self:setProperty(key, value)
	end

	local node = nil
	local attributes = nil
	local childNode = nil

	-- Loop through all the child nodes
	for i=1, #data["ChildNodes"], 1 do

		node = data["ChildNodes"][i]

		if node.Name == "data" then

			if node['Attributes'] then
				local encoding = node['Attributes'].encoding or "xml"
				self:setProperty("encoding", encoding)

				local compression = node['Attributes'].compression or "uncompressed"
				self:setProperty("compression", compression)
			end

			local tileIDs = {}

			if(self.encoding == "xml") then

				-- Loop through all the child nodes
				for j=1, #node["ChildNodes"], 1 do

					childNode = node["ChildNodes"][j]
					childNode["Attributes"].index = j

					self.tiles[#self.tiles + 1] = Tile:new(childNode, self.map, self)

					tileIDs = nil
				end

			else

				if(self.encoding == "csv") then
					tileIDs = getTileIDsFromCSV(node.Value)
				elseif(self.encoding == "base64") then
					tileIDs = getTileIDsFromBase64(self, node.Value)
				end

				if(tileIDs) then -- Now create the tiles
					for i=1, #tileIDs, 1 do

						local data = {}
						data["Attributes"] = {}
						data["Attributes"].gid = tileIDs[i]
						data["Attributes"].index = i
						if(data["Attributes"].gid) then
							data["Attributes"].gid = tonumber(data["Attributes"].gid)
							self.tiles[#self.tiles + 1] = Tile:new(data, self.map, self)
						end
					end
				end

			end

		elseif node.Name == "properties" then

			-- Loop through all the child nodes
			for j=1, #node["ChildNodes"], 1 do

				-- Each child node is a property, the attributes are the name and value
				attributes = node["ChildNodes"][j]["Attributes"]

				if attributes then
					if attributes.name == "configFile" then
						utils:readInConfigFile(attributes.value, self)
					else
						property = self:setProperty(attributes.name, attributes.value)
					end
				end

			end
		end

	end

    return self

end

--- Sets the value of a Property of the TileLayer.
-- Will create a new Property if none found.
-- @param name The name of the Property.
-- @param value The new value.
-- @return The new value.
function TileLayer:setProperty(name, value)

	local property = self:getProperty(name)

	if property then
		return property:setValue(value)
	else
		self:addProperty(Property:new(name, value))
	end

	self[name] = self:getPropertyValue(name)
end

--- Gets a Property of the TileLayer.
-- @param name The name of the Property.
-- @return The Property. nil if no Property found.
function TileLayer:getProperty(name)
	return self.properties[name]
end

--- Gets the value of a Property of the TileLayer.
-- @param name The name of the Property.
-- @return The Property value. Nil if no Property found.
function TileLayer:getPropertyValue(name)

	local property = self:getProperty(name)

	if property then
		return property:getValue()
	end

end

--- Gets a list of all Properties of the TileLayer.
-- @return The list of Properties.
function TileLayer:getProperties()
	return self.properties
end

--- Gets a count of how many properties the Tile Layer has.
-- @return The Property count.
function TileLayer:getPropertyCount()

	local count = 0

	for _k, _v in pairs(self.properties) do
		count = count + 1
	end

	return count
end

---Checks whether the TileLayer has a certain Property.
-- @param name The name of the property to check for.
-- @return True if the TileLayer has the Property, false if not.
function TileLayer:hasProperty(name)
	return self:getProperty(name) ~= nil
end

--- Adds a Property to the TileLayer.
-- @param property The Property to add.
-- @return The added Property.
function TileLayer:addProperty(property)
	self.properties[property:getName()] = property

	self[property:getName()] = property:getValue()

	return property
end

--- Removes a Property from the TileLayer.
-- @param: name The name of the Property to remove.
function TileLayer:removeProperty(name)
	self.properties[name] = nil
end

--- Shows the TileLayer.
function TileLayer:show()

	if self.visible then

		local tiles = self.tiles

		if not lime.isScreenCullingEnabled() then
			for i=1, #tiles, 1 do
				tiles[i]:show()
			end
		end

		local visual = self:getVisual()

		if visual then
			visual.isVisible = true
		end

	end

	self:updateTileVisibility()
end

--- Hides the TileLayer.
function TileLayer:hide()

	local tiles = self.tiles

	if not lime.isScreenCullingEnabled() then
		for i=1, #tiles, 1 do
			tiles[i]:hide()
		end
	end

	local visual = self:getVisual()

	if visual then
		visual.isVisible = false
	end

end

--- Gets the TileLayers visual.
function TileLayer:getVisual()
	return self.group
end

--- Gets a Tile on this TileLayer at a specified position.
-- @param position The position of the Tile. A table containing either x & y or row & column.
-- @params full If true the search will check all tiles using their updated rather than original grid position. Might be slower then non-full search so use with caution.
-- @return The found Tile. nil if none found.
function TileLayer:getTileAt(position, full)

	if(position.row and position.column) then

		if full then
			return getTileAt(self.tiles, position, true)
		else
			return getTileAt(self.tileGrid, position)
		end

	elseif(position.x and position.y) then

		local gridPos = utils:worldToGridPosition(self.map, position)

		return self:getTileAt(gridPos)
	end
end

--- Gets a list of Tiles on this TileLayer that have a specified property.
-- @param name The name of the Property to look for.
-- @return A list of found Tiles. Empty if none found.
function TileLayer:getTilesWithProperty(name)

	local allTiles = self.tiles

	local tiles = {}

	for i = 1, #allTiles, 1 do
		if allTiles[i]:hasProperty(name) then
			tiles[#tiles + 1] = allTiles[i]
		end
	end

	return tiles
end

--- Swaps two tiles around.
-- @param tile1 The first tile.
-- @param tile2 The second tile.
-- @usage Originally created by Michał Kołodziejski - http://developer.anscamobile.com/forum/2011/02/12/how-swap-two-tiles-layer
function TileLayer:swapTiles(tile1, tile2)

	-- Make sure we actually have tiles
	if tile1 and tile2 then

		-- Make sure the tiles have sprites attached
		if tile1.sprite and tile2.sprite then

			-- Swap the tile world positions
			tile1.sprite.x, tile2.sprite.x = tile2.sprite.x, tile1.sprite.x
			tile1.sprite.y, tile2.sprite.y = tile2.sprite.y, tile1.sprite.y

			-- Swap the tiles in the tileGrid
			self.tileGrid[tile1.column][tile1.row], self.tileGrid[tile2.column][tile2.row] = self.tileGrid[tile2.column][tile2.row], self.tileGrid[tile1.column][tile1.row]

			-- Swap the tile grid positions
			tile1.column, tile2.column = tile2.column, tile1.column
			tile1.row, tile2.row = tile2.row, tile1.row

		end
	end

end

--- Swaps two tiles around based on their positions.
-- @param position1 The position of the first tile.
-- @param position2 The position of the second tile.
-- @usage Originally created by Michał Kołodziejski - http://developer.anscamobile.com/forum/2011/02/12/how-swap-two-tiles-layer
function TileLayer:swapTilesAtPositions(position1, position2)

	-- Get both tiles
	local tile1 = self:getTileAt(position1)
	local tile2 = self:getTileAt(position2)

	-- Swap the tiles
	self:swapTiles(tile1, tile2)

end

--- Destroys a tile at a certain position.
-- @param position The position of the tile, world or grid.
function TileLayer:removeTileAt(position)

	local tile = self:getTileAt(position)

	if tile then
		tile:destroy()
	end

end

--- Set a tile at a position.
-- @param gid The gid of the tile.
-- @param position The position of the tile, World or Grid.
-- @usage Originally created by Mattguest - http://developer.anscamobile.com/forum/2011/02/02/settile-function
function TileLayer:setTileAt(gid, position)

	local tile = self:getTileAt(position)

	-- First make sure there is a tile
	if tile then
		tile:setImage(gid)
	end

end

--- Creates a new tile from a passed in GID. This will include all properties however it will not Build it ( by design ). If you wish to build it then simply call ":build()" on the returned tile.
-- @param gid The gid of the tile to create.
-- @return The created Tile.
function TileLayer:createTile(gid)

	local tileSet = self.map:getTileSetFromGID( gid )

	if tileSet then

		local data = {}

		data.isGenerated = true
		data.properties = tileSet:getPropertiesForTile( gid )

		local tile = Tile:new(data, self.map, self)

		if tile then

			local index = #self.tiles + 1

			tile.gid = gid

			tile:create( index )

			self.tiles[ index ] = tile

			tile:updateGridPosition()

		end

		-- Bring the new tile into focus
		tile:getVisual():toFront()
		tile:getVisual().isVisible = true

		return tile
	end

end

--- Creates and builds a new tile from a passed in GID. This will include all properties.
-- @param gid The gid of the tile to create.
-- @return The created Tile.
function TileLayer:createAndBuildTile(gid)
	local tile = self:createTile(gid)

	if tile then
		tile:build()
	end

	return tile
end

--- Creates a new tile from a passed in GID and sets its position. This will include all properties however it will not Build it ( by design ). If you wish to build it then simply call ":build()" on the returned tile.
-- @param gid The gid of the tile to create.
-- @param position The world position for the Tile.
-- @return The created Tile.
function TileLayer:createTileAt(gid, position)

	local tile = self:createTile(gid)

	if tile then

		if position.row and position.column then
			position = lime.utils:gridToWorldPosition( self.map, position )
		end

		tile:setPosition(position.x, position.y)
	end

	return tile
end

--- Creates and builds a new tile from a passed in GID and sets its position. This will include all properties.
-- @param gid The gid of the tile to create.
-- @param position The world position for the Tile.
-- @return The created Tile.
function TileLayer:createAndBuildTileAt(gid, position)

	local tile = self:createTileAt(gid, position)

	if tile then
		tile:build()
	end

	return tile
end

--- Adds a displayObject to the layer.
-- @param displayObject The displayObject to add.
-- @return The added displayObject.
function TileLayer:addObject(displayObject)
	return utils:addObjectToGroup(displayObject, self.group)
end

--- Sets the position of the TileLayer.
-- @param x The new X position of the TileLayer.
-- @param y The new Y position of the TileLayer.
-- @param force If true then the layer will not be clamped or use the viewpoint calculator. Default is false. Optional.
function TileLayer:setPosition(x, y, force)

	if self.group then

		if force then

			self.group.x = utils:round(x)
			self.group.y = utils:round(y)

		else
			local viewPoint = utils:calculateViewpoint(self.group, x, y)

			self.group.x = utils:round(viewPoint.x)
			self.group.y = utils:round(viewPoint.y)

			if self.map.orientation ~= "isometric" then
				self.group.x, self.group.y = utils:clampPosition(self.group.x, self.group.y, self.map.bounds)
			end
		end
	end

end

--- Moves the TileLayer.
-- @param x The amount to move the TileLayer along the X axis.
-- @param y The amount to move the TileLayer along the Y axis.
function TileLayer:move(x, y)
	utils:moveObject(self.group, x, y)
end

--- Drags the TileLayer.
-- @param event The Touch event.
function TileLayer:drag(event)
	utils:dragObject(self.group, event)
end

--- Sets the rotation of the TileLayer.
-- @param angle The new rotation.
function TileLayer:setRotation(angle)
	self.group.rotation = angle
end

--- Rotates the TileLayer.
-- @param angle The angle to rotate by.
function TileLayer:rotate(angle)
	self.group.rotation = self.group.rotation + angle
end

--- Updates the TileLayer.
-- @param event The enterFrame event.
function TileLayer:update( event )

end

function TileLayer:updateTileVisibility()

	if self.visible then

		if self.visibleTiles then
			for i=1, #self.visibleTiles, 1 do
				if self.visibleTiles[i].isVisible then
					self.visibleTiles[i].isVisible = false
				end
			end
		end

		self.visibleTiles = nil
		self.visibleTiles = {}

		local xScale, yScale = self.map:getScale()
		local tileWidth = floor( self.map.tilewidth * xScale )
		local tileHeight = floor( self.map.tileheight * yScale )

		local cam = {}
		cam.x = abs( self.map.world.x - tileWidth )
		cam.y = abs( self.map.world.y - tileHeight )
		cam.width = floor( ( ( display.contentWidth * xScale ) + tileWidth ) * xScale )
		cam.height = floor( ( ( display.contentHeight * yScale ) + tileHeight ) * yScale )

		local buffer = {}
		buffer.left = tileWidth
		buffer.right = tileWidth
		buffer.top = tileHeight
		buffer.bottom = tileHeight

		local view = {}
		view.xMin = floor( ( ( cam.x - buffer.left ) / tileWidth ) )
		view.xMax = floor( ( ( cam.x + ( cam.width + buffer.right ) ) / tileWidth / xScale ) )
		view.yMin = floor( ( ( cam.y - buffer.top ) / tileHeight ) )
		view.yMax = floor( ( ( cam.y + ( cam.height + buffer.bottom ) ) / tileHeight / yScale ) )

		if view.xMin < 0 then
			view.xMin = 0
		end

		if view.xMax > self.map.width * xScale then
			view.xMax = self.map.width * xScale
		end

		if view.yMin < 0 then
			view.yMin = 0
		end

		if view.yMax > self.map.height * yScale then
			view.yMax = self.map.height * yScale
		end

		for x = view.xMin, view.xMax, 1 do

			for y = view.yMin, view.yMax, 1 do

				if not self.tileGrid then
					self.tileGrid = {}
				end

				if self.tileGrid[x] then

					if self.tileGrid[x][y] then
						local tile = self.tileGrid[x][y]

						if not tile.ignoreCulling then
							if tile and tile.sprite and tile.gid ~= 0 then

								if not tile.sprite.isVisible then
									tile.sprite.isVisible = true
									self.visibleTiles[ #self.visibleTiles + 1 ] = tile.sprite
								end

							end
						end
					end

				end

			end

		end

	end

end

--- Creates the visual representation of the layer.
-- @return The group containing the newly created layer.
function TileLayer:create()

	if not self.map.world then
		self.map.world = display.newGroup()
	end

	self.group = display.newGroup()

	if(lime.isDebugModeEnabled()) then
		print("Lime-Coconut: Creating layer - " .. self.name)
	end

	local tile = nil

	for i=1, #self.tiles, 1 do

		tile = self.tiles[i]

		tile:create(i)

		if(tile.sprite) then

		else
			-- If no sprite was created then chances are this was a blank section, delete the tile to save some memory (maybe). If problems start appearing simply comment out the next lines.
			--tile:destroy()
			--tile = nil
		end

	end

	for key, value in pairs(self.properties) do
		self.map:firePropertyListener(self.properties[key], "layer", self)
	end

	-- Override tile properties if this layer has been marked as static - NOTE: THIS IS A TEMPORARY FEATURE UNTIL A MORE FLEXIBLE / SECURE FEATURE SET HAS BEEN DECIDED ON!
	if self:getPropertyValue("IsStatic") then

		local tile = nil

		for i=1, #self.tiles, 1 do

			tile = self.tiles[i]

			if tile.gid ~= 0 then
				tile.HasBody = "true"
				tile.bodyType = "static"
			end

		end

	end

	if self.opacity then
		self.group.alpha = self.opacity
	end

	self.pixelwidth = self.width * self.map.tilewidth
	self.pixelheight = self.height * self.map.tileheight

	self.visible = ( self.visible == 1 or self.visible == nil )

	return self.group
end

--- Builds the physical representation of the TileLayer.
function TileLayer:build()

	if(lime.isDebugModeEnabled()) then
		print("Lime-Banana: Building Tile Layer - " .. self.name)
	end

	for i=1, #self.tiles, 1 do
		self.tiles[i]:build()
	end

end

--- Completely removes all visual and physical objects associated with the TileLayer.
function TileLayer:destroy()

	if self.group and self.tiles then

		for i=1, #self.tiles, 1 do
			self.tiles[i]:destroy()
		end

		self.tiles = nil

		self.group:removeSelf()
		self.group = nil
	end

end

redpajama_set_name: RedPajamaGithub


text:
Norwich 7-0 Huddersfield Town hailed as one of club's best ever results - but do you agree?
Norfolk Live has teamed up with LiveScore to invite fans to nominate their favourite results - the games which were much more than a score. Norwich City writer Michael Mutch selects his here
A magnificent seven is a rare commodity for some football clubs. They certainly don't come round often enough at Norwich City.
Their record-breaking 10-2 win against Coventry is a pre-wartime memory and 8-0 victories over Walsall (1951) and non-league Sutton United in the FA Cup (1989) are a thing of the past.
A 7-1 win over Reading in the Championship in 2017 is fondly remembered but never before had Norwich managed to hit seven past an opponent without reply in the top two divisions of English football.
That came to an end on April 6 earlier this year when Daniel Farke's Canaries set a new club record when they achieved their highest winning margin in the second-tier.
At the time, Norwich were on an incredible run of 11 games without defeat and they would exert their dominance in the Championship with a 7-0 victory against Huddersfield Town.
The seven-goal drubbing of the Terriers got up and running in just over seven minutes at Carrow Road when Todd Cantwell danced his way through the defence to set up Teemu Pukki for the opener.
City's firing Finn added a second shortly after to score his 24th of what would eventually be 26 Championship goals that season as Emiliano Buendia recorded his 14th assist of the campaign.
LiveScore: The app that every football fan needs
Get the latest football action, stats and analysis from around the world with real-time updates and results, match highlights and breaking news wherever you are.
You can track goals, goalscorers, follow live commentary and receive alerts when something major happens in a game. You can also live stream games from some of your favourite leagues all around the world.
LiveScore also doesn't just cover football but loads of other sports as well, including racing, tennis, cricket and basketball.
LiveScore. It's More Than A Score.
But the Argentine was not done putting down the Terriers. Three minutes later, Buendia, 25 yards from goal, struck a low dipping shot in off the post to make it 3-0 after just 23 minutes.
The sound of the ball kissing the woodwork on its way in would echo around an empty Carrow Road as fans were prohibited from attending the match due to Covid restrictions.
Job done? Far from it. Cantwell made it four and Kieran Dowell added a fifth before half-time as heavy snowfall hit the Norfolk skyline on a chilly evening in early April.
In the second half, Oliver Skipp was brought down inside the box giving Pukki a chance to claim his first Championship hat-trick. Any doubts? None at all. Pukki would slot the ball past goalkeeper Joel Pereira to make it 6-0.
Substitute Jordan Hugill capped off a scintillating Norwich City performance making it 7-0 on the night.
"It was alright wasn't it," said Farke with a smile from ear to ear. It was beautiful Daniel. The only downside to this was the fact that none of the die-hard Norwich City fans got to see it first hand.
Bunkered down by Covid, supporters had been unable to watch their beloved Canaries tearing up the Championship all season and had been forced to watch this incredibly dominant performance of Huddersfield from home.
"How great the atmosphere would have been if Carrow Road had been fully packed," said Farke. "Hopefully pretty soon."
The return of fans would not come soon enough. The 7-0 thrashing of Huddersfield would put Norwich 14 points clear of third-placed Brentford in the Championship table with just six games to go.
An immediate return to the Premier League was confirmed less than two weeks later and by May 1 Norwich were crowned champions for the second time in three seasons after a 4-1 win over Reading.
Two years prior, Norwich was a sea of yellow and green as around 50,000 fans packed the city streets to get a glimpse of that Championship trophy. In 2021, coronavirus put a stop to recreating such scenes.
Their title-winning triumphs under Farke proved one thing. Norwich are just too good for the Championship.
However, that form has not been transferred into the Premier League. The 2019/20 campaign saw Norwich finish bottom with just five wins under their belt.
This season, it's going the same way. Less than seven months on from that 7-0 thrashing of Huddersfield, Norwich would fall foul to a similar drubbing in the top flight.
At Stamford Bridge, Chelsea scored more goals in one game than the number of Farke wins with Norwich in the Premier League - just six in 49.
Norwich City. Too good for the Championship, but not good enough for the Premier League.
Weeks later, Farke's tenure at Norwich came to an end and it is now up to former Aston Villa manager Dean Smith to prove doubters wrong.
The German will forever go down as a Canaries legend no matter how badly the Premier League campaigns went.
There were some magical moments in the top flight though, that 3-2 win over champions Manchester City at Carrow Road a particular highlight.
It is one that joins a long list of memorable Norwich City scorelines down the years. That 2-1 UEFA Cup win over Bayern Munich in 1993, the 1-0 win against Sunderland in the 1985 Milk Cup Final, to name a few.
What's your favourite score? Add your comments in the form below.

redpajama_set_name: RedPajamaCommonCrawl


In accordance with the Council resolution of 10th June 2014, a Planning Proposal (rezoning application) is on exhibition between 1 October and 29 October 2014 for 654 – 666 Pacific Highway, 2A Oliver Road and 1 Freeman Road, Chatswood. The Planning Proposal involves demolition of all existing buildings and construction of a mixed use development comprising retail / office premises in the basement and ground floor and two residential towers above a podium, the northern tower being 10 storeys and the southern tower being 7 storeys.
The exhibition also includes draft amendments to Willoughby Development Control Plan and a draft Voluntary Planning Agreement and Explanatory Note.
As part of the exhibition, notification letters have been sent to surrounding neighbouring properties and the Chatswood West Ward Progress Association.
All exhibition information may be viewed on Council's website at www.haveyoursaywilloughby.com.au.
I am concerned about the development, from the size of the development, outside of agreed zoning for the area, the increase in traffic and congestion, further demand for green space due to increase in population and impact on the existing residents and so on.
For Oliver, Freeman, Eddy , Critchett, Sutherland, Fehon and Moriarty Rds traffic cannot turn right to travel to the city. Left turn only on Pacific Highway through and into Chatswood restrict the residents of Chatswood West to exit the area but also drastically increase the congestion in the Chatswood CBD area. If you wish to exit Chatswood West mid to late mornings on Saturday to mid afternoon it takes a long time and would be seriously concerning if there was an emergency in the area.
I do hope there is a forum in which we can discuss the development and gain community input. The officers recommendation is to support the project – it would be good to know on which criteria they approve the project.
I would like to add my voice to any spot rezoning for these excessive heights for tower blocks on the Western side of Pacific Highway.
Such a proposal would set a precedent, imposing a narrowed 'corridor effect' on this route, leading to congestion, an overbearing narrowing of the corridor and overshadowing.
Permitting spot zoning in this way is a contradiction of the intention of setting height limits at all in zoned areas.
The rush of high rise development two blocks further north in the CBD has placed even more pressure on this thoroughfare.
I appeal to Councillors to reconsider such a proposal and to maintain the veracity of its zoning policy throughout our City – a principle more important at this time of rapid pressure for development than at any other in our City's past.
Concerned resident: I would like to add my voice to any spot rezoning for these excessive heights for tower blocks on the Western side of Pacific Highway.
From a nearby resident: I think the architectural appearance of the development concept is good. On the nother hand, I dismiss the argument that the development is, or will be, pitched to meet affordable housing needs as a nonsense. In market terms, the location would rank as very valuable due to proximity to public transport, the CBD and schools. The development should optimise the value of the location and be constrained only by zoning – and appropriateness.
My chief concern is that I can find no consideration of pedestrian traffic impact. Such a development combining retail and commercial – and provision of off-street parking, would undoubtedly increase pedestrian traffic movements across the highway in the vicinity of the development. This would, in turn, see a need for increased traffic light crossing times and add to driver frustrations along the route. A remedy would be to require the development to include an underground pedestrian tunnel to allow the existing crossing to be removed and thereby contribute to pedestrian and motorist harmony. We cannot countenance any development which will further impair traffic flow along this major arterial.
I was disappointed to note the Council's process for canvassing community feedback on this development did not include residents such as myself and presumably the many hundreds of others in the very near vicinity. I have to wonder what value at all was the feedback gained up to the point of closing the online portal on 9Nov2014. It has aroused a deep suspicion in my mind that the Council process is deeply flawed.


text:
About – MASS
लव जेहाद: उत्तर प्रदेश में 10 साल की सजा का प्रावधान
पाकिस्तान संसद ने माना, हिंदुओं का कराया जा रहा जबरन धर्मातरण
किसानों के भविष्य के साथ खिलवाड़ न करें, उन्हें गुमराह न करें; प्रधानमंत्री नरेंद्र मोदी
राष्ट्र
राज्य/शहर
अच्छी खबर—सच्ची खबर
वीडिओ
Home » News & Views » CM Gehlot becomes the Boy who cried Wolf
CM Gehlot becomes the Boy who cried Wolf
Posted by CS Staff on Jul 11, 2020 | 0 comments
By Our Jaipur Correspondent Rajasthan CM Ashok Gehlot and his deputy Sachin Pilot have been into a tough power battle since the formation of the state govt. Gehlot has tried every trick to put Pilot down & to get rid of him in order to gain the free hand to run the state government.Riding high on his record of managing the Covid-19 crisis & in the backdrop of Congress losing MP, Gehlot has orchestrated a plan to undermine Pilot once and for all. This plan has been hatched keeping senior Congress leaders like Ahmed Patel in loop. The plan is to sell the theory that BJP is trying to destabilize the state government by wooing Pilot to their camp. This theory clicked with the high command, which is very much aware of BJP's capability to destabilize state governments. The party has just lost power in MP & does not want to take any risk in Rajasthan.
The veteran Congress leader aims to discredit his deputy
BJP clarified they were not into the poaching game.
CM Gehlot worked on this story ahead of elections to the Rajya Sabha seats. It was a story crafted by himself & implemented by his loyalists that BJP was wooing Congress MLAs ahead of Rajya Sabha elections. His deputy Sachin Pilot gave a number of statements that there was no threat to the government, none of the MLAs were defecting. Even state BJP clarified they were not into the poaching game.Luckily for Gehlot, Congress High Command got carried away with his crying wolf, wolf and sent a number of senior leaders to ensure Congress candidates win.Nothing happened during Rajya Sabha elections, no defection, no attempt to destabilize the government. Rajya Sabha seats were won by the party but Gehlot's problem continued. He could not get rid of Sachin Pilot despite so much false posturing.
Now once again he is trying the same trick. Again crying wolf, wolf. This time he has made the investigating agencies release tapes, where two small time BJP leaders are talking that Pilot wants to be CM and does not want a ministerial post at centre.Gehlot knows very well there is no danger to his Government. He knows very well, even if Sachin Pilot leaves, it is almost impossible he can garner numbers required to destabilize government, which has a comfortable majority.Gehlot is playing a double game, in which he has a win-win situation. On the one hand, he is putting pressure on High Command to remove Sachin Pilot from the state. He has been conveying to the Sonia Gandhi camp that unless Pilot is removed from Rajasthan, BJP will keep trying to destabilize the government. On the other hand, he is creating a humiliating situation for Pilot that he himself decides to leave.
Discrediting Pilot again and again is to compel the Congress leadership to remove him from Party President's post and also from post of Deputy CM.Sachin Pilot has been acting tough so far knowing fully well that all conspiracy theories against him are orchestrated at Gehlot's residence and not at the state BJP office.The battle is out in open in Rajasthan, where a CM is hell bent on taking total control of power in state by kicking out his deputy. It remains to be seen, whether Party High Command would continue the balancing act between the two camps or side with Gehlot this time, making him an unbridled kshatrap. Pilot has been playing cautiously mostly focusing on his work so far. Would he assert himself or continue to remain subdued despite his hard work, needs to be seen.
It also lies in future whether BJP would try to take advantage of the situation? BJP camp is also not strong at the moment, with former CM Vasundhra Raje lying low, not attacking Gehlot at all. Two prominent leaders from State, GS Shekhawat & Om Birla are mostly busy with their responsibilities at Centre & not in Rajasthan full time. State BJP requires a full time strong leader so that BJP can play the role of a strong opposition.
More From वीडिओ
2020 में सुप्रीम कोर्ट के महत्वपूर्ण फैसले
Posted by CS Staff on 12-27-20
साल 2020 कई बड़ी राजनीतिक घटनाओं का साक्षी रहा
साल 2020 की 6 बड़ी अंतरराष्ट्रीय घटनाएं
More From News & Views
Khel Express
Media Association for Social service
MASS is an organization of journalists, writers and social workers with a vast network of like minded persons in several state of India. Mass is mainstream journalist's network. We are working in both print and internet media. In print media we have Citizen Express News magazine publishing from New Delhi.
Tweets by @citizensamvad
Citizen Samvad
Designed by Hexawave Technologies | All Right Reserve Media Association Social for Service


text:
Enter Allan Kardec, Chef du Spiritisme
Racing to meet the deadline.... I'm almost finished with my revised and expanded introduction to Spiritist Manual, my translation of Manual Espírita, the secret book of 1911 by Francisco I. Madero, leader of Mexico's 1910 Revolution and President of Mexico 1911-1913. This excerpt mentions Swedenborg and the Fox sisters of Hydesville-- more about them anon.
Enter Allen Kardec, Chef du Spiritisme
Though an energetic evangelist, Francisco I. Madero schemed to hide his Spiritism from the public—his personal letters during his campaigns and his presidency make this clear— and, over the several decades after his death, few Mexicans in public positions have had the incentive, the metaphysical context, or whatever wherewithal to begrudge more than a glancing mention of it. As early as 1915, any public discussion of Spiritism became taboo—historian Yolia Tortolero uses this word, and quite rightly, even while, as she also notes, Spiritism was being practiced "under cover by many public figures." There is more to say about this thundering silence about Spiritism in Mexico, which, with a few notable exceptions, has persisted to this day, but to first properly comprehend the term we must hie back to Paris of 1891 and, reanimating our scene, let that page of La Revue Spirite fall. And another.
This magazine Pancho Madero is reading belongs to his father—though his mother and other family members are devout Catholics and, as he surely knows, the Pope had declared the main ritual of Spiritualism and its derivative, Spiritism, the séance, diabolical. Decades earlier, Pope Pius IX had slapped the works of Allan Kardec, founder of La Revue Spirite, on the Index, the Vatican's list of prohibited books.
Allan Kardec: this elbow-sharp and magnetic nom de plume, supposedly taken from one of his other lifetimes as a Druid priest, belonged to a French educator named Hippolyte Léon Denizard Rivail, who died in 1869. From his stern-looking portrait, with his knob-chin and kingly pose, one might take him for a mightily conservative banker. Kardec was an unlikely guru. According to his English translator, Anna Blackwell, he was "grave, slow of speech, unassuming in manner, yet not without a certain quiet dignity." Further, and somewhat frighteningly, "he was never known to laugh." Yet anyone who doubts his influence, from France to Mexico, Brazil to the Philippines, can visit Paris's Père La Chaise cemetery and find, among the stone angels and sarcophagi and mausoleums of the likes of Chopin, Collette, Victor Hugo, La Fontaine and Molière, Kardec's megalithic tomb ever-heaped with flowers.
Rivail had been educated by the Swiss Johann Heinrich Pestalozzi, who, radically for the time, emphasized freedom of thought and direct observation. According to John Warne Monroe in Laboratories of Faith: Mesmerism, Spiritism, and Occultism in Modern France, Rivail was a longtime student of mesmerism in 1853 when he learned of the strange phenomenon of the tables parlantes or table tipping, from a friend who said he had managed to induce a table to lift by itself off the ground and turn, and more: like the Fox sisters of Hydesville, he was communicating with spirits through the table by means of raps and knocks.
Though skeptical, Rivail determined to study this phenomenon. He soon moved on to observing mediumistic writing, in which two young mediums, the Mlles Baudin, would place their fingertips on a planchette, a triangular contraption with little wheels and a pencil attached, thus allowing spirits to answer his questions and offer messages in writing.
It was the spirit "Zéphyr" who assigned him the name Allan Kardec, and, along with other spirits, such a mass of teachings to solve "the controversial problem of humanity's past and future," that Rivail turned it into a book—including additional information channeled by medium Célina Japhet. Published in 1857, Le Livre des Esprits, (The Book of the Spirits), concurrently with the levitating medium D.D. Homes' visit to France, became a best-seller of its time, translated into multiple languages, and is still in print today.
With down-to-earth language and easy-to-reference numbered questions and answers, The Book of the Spirits is a guide to nothing less than the universe and its laws, the nature of God, the spirit world and its relations with humanity. The concluding message, channeled from the spirit of Saint Augustine, calls for kindness and benevolence. It is this work that first spelled out the doctrine of Spiritism, which Kardec distinguishes from Spiritualism—the latter, according to him, simply the belief that there is more than physical matter— as a doctrine based on the specific nature of relations between the physical and spirit worlds. Spiritism's most notable departure from Spiritualism is its assertion that spirits reincarnate as, in life after life, whether on Earth or some other planet, they evolve into ever greater states of consciousness.
This was the most modern of modern science, Kardec argued, for, as a scientist might peer through a microscope to see the detail in a leaf, so he could employ a medium to communicate with the spirit world. Through Ermance Dufaux, a teenaged medium famous for her channeled autobiography of Joan of Arc, a nameless spirit instructed Kardec to publish La Revue Spirite as soon as possible and using his own money and so, in 1858, he did. In 1861, Kardec published Le Livre des Médiums (The Book on Mediums), a how-to and advisory on the dangers of communicating with spirits based on his own and collagues' experiences as well as more material channeled from spirits, among them Erastrus, Channing, "Spirit of Truth," and Matthew. More followed: The Gospel Explained by Spirits (1864) ; Heaven and Hell (1865); and Genesis (1867), in addition to shorter works.
This was the Swedenborg-sized pile that Pancho Madero, having finished with La Revue Spirite, ran to that magazine's offices to purchase. In his words:
"I did not read [Kardec's] books; I devoured them, for their doctrines were so rational, so beautiful, so new, they seduced me and ever since I consider myself a Spiritist."
That is to say, Madero believed he had incarnated on this planet in order to help usher in a golden age, evangelist for the doctrine that was nothing less than, to quote Kardec in Genesis, "the pivot on which the human race will turn."
Our Coahuilan prince has stepped onto his metaphysical Montgolfier, as it were. Soon he will be tossing sandbags overboard.
(Copyright © C.M. Mayo 2013, all rights reserved)
>>Read more about the Spiritist Manual (website includes Q & A and resources for researchers)
>>Get the current edition on Kindle.
>>Read a previous excerpt on this blog, "Madame Blavatsky, Messenger from the Mahatmas"
***UPDATE My book, Metaphysical Odyssey Into the Mexican Revolution, is now available***
Labels: Allen Kardec, Book of the Spirits, Ermance Dufaux, Francisco I. Madero, John Warne Monroe, Kindle, Laboratories of Faith, Spiritist Manual, Yolia Tortolero
Guest-blogger Literary Translator Lisa Carter with...
Cyberflanerie: The Future of Bike Parking, Dog Wal...
Lisa Bu's TED Talk, How Books Can Open Your Mind, ...
Excerpt: José Fidencio Sintora Constantino, El Niñ...
Francisco I. Madero's Commentary on the Baghavad-G...
Guest-blogger Children's Author Mary Lynn Patton w...
Madame Blavatsky, Messenger from the Mahatmas


Sign up for Broadjam today to follow Ben Bruce, and be notified when they upload new stuff or update their news!
Ben Bruce is a 31-year-old singer songwriter playing what he terms "thinking rock," on an old, beat down acoustic guitar. His music is alternately raucous, restrained and rare, but always raw.
Played two sets last night -- rock! -- and took home a bunch of tips. It was great -- I played "Will It So" for the first time in front of a crowd (listen to the demo here) and also another new song called "Riverside."


text:
The Nonprofits Working to Heal Santa Cruz
Five Santa Cruz Gives groups unveil big ideas for a healthier community
Santa Cruz Community Health Centers, which serves more than 11,000 low-income patients, is seeking funding through Santa Cruz Gives for its Cradle to Career project, which will help children maintain their health and have the opportunity to succeed.
Virginia Wright, development director for Community Bridges, says Meals on Wheels—which delivers healthy, nutritious meals to senior citizens in their homes—is about more than simply showing up with food.
The national program, with a local branch managed by Community Bridges, also gives the elderly a greater sense of independence, she explains, while building important bonds.
"We value seniors being able to stay at home and be healthy longer," Wright says. "We're actually giving people agency so they have their own ability to manage their lives, and making sure they have connections to people. It looks like we're just feeding someone. We're actually providing a whole social network."
The program has historically fed seniors daily, but it may have to cut meal deliveries on holidays, Wright says, as it faces budget cuts. For seniors with no families to help, that could be devastating.
To prevent that, Community Bridges is highlighting its Meals on Wheels program in Santa Cruz Gives this holiday season. Now in its third year, Santa Cruz Gives is a holiday fundraising program raising money for more than 30 nonprofits in Santa Cruz County—each highlighting a special project for donors to support.
Community Bridges is one of five organizations in Santa Cruz Gives focusing on health and wellness, with each serving a different purpose and fulfilling a different need in the community.
At the Survivors Healing Center, longtime volunteer Kathy Riley says this year's SCG project is "Caring for Kids," which supports kids affected by sexual abuse. Riley says it's especially important in light of recent high-profile local cases of sexual abuse, including that of Santa Cruz brain surgeon Dr. James Kohut, who's accused of raping young children through his practice and is facing 48 felonies.
"Ninety percent of child sexual abuse happens with a person the child knows. It's a topic that nobody likes to talk about. It's one of the hard issues in our society," Riley says. "How do you tell your children that there are people out there in the world who are okay with sexually abusing them?"
The Survivors Healing Center used to organize the Stop the Silence walk in Watsonville, a demonstration to raise awareness about sexual abuse. Riley and her fellow team members want to educate kids and parents more directly about how to protect themselves and identify abuse as it's happening. They are going to schools, parents' groups and youth organizations. One new tool the program provides is an education coloring book for kids and parents to work on together.
"We have to give kids language to be able to talk about their bodies," says assistant program director Ama Delevett. "This is not about being graphic with kids about rape and sexual assault. The coloring book is playful. If someone does something to you that doesn't feel good, you get to tell someone else. We don't want kids to keep a secret when it comes to touch. This is your body and these are your body parts. It's also about teaching consent. It's a real cultural shift."
Of course, there are many ways that kids fall between the cracks when it comes to getting the health services they need. Santa Cruz Community Health Centers, which is also participating in Santa Cruz Gives this year, serves more than 11,000 low-income patients to fill in those gaps.
Cradle to Career, the project that the nonprofit is featuring this year, is a way to ensure that kids get the help they need to maintain their health and have the opportunity to succeed, says development director J. Guevara. The organization works with the families to make sure it has the needed support to make that a reality.
"What's amazing about it is we are creating parent leaders, largely in the Latino community, that are helping to guide the policies in unprecedented ways. It's creating all these wonderful results," Guevara says. "It involves putting the needs of families first, and making a critical connection between medical care, education, and families. We make sure they have prenatal care, and nutritional health information. We're starting to connect that to the needs of parents, who are looking for guidance on preventing diabetes, eating healthy, and living a healthy lifestyle."
The program has been in effect for a couple of years in the Live Oak school district, and Guevara aims to expand it.
When it comes to leading a healthy life, food is at the center of all discussions. The Boys & Girls Clubs of Santa Cruz County recognizes that sometimes a lack of access to healthy foods can have serious impacts on kids as they go through school and prepare for adulthood.
In their project, Positive Sprouts, kids will get to work with the organization in a garden to grow fruits and vegetables—and eat them. They'll have access to tasty, nutritious recipes, which they can take home as well. "It's a way for kids to nurture and foster a relationship with food, and to really spark a lifelong love and appreciation of growing and eating nutritional foods and living healthy lifestyles," says development associate Alexandra Baker.
The Positive Sprouts program is already in effect in the downtown location. Money raised during this year's Santa Cruz Gives will help to get a garden going in its Live Oak location, and the program serves two purposes: not only does the program feed children, it's also educational. The focus, though, is on making sure children are getting balanced meals, which the Boys and Girls Club supplements with food donations.
"Kids are not getting enough food every day. We want to make sure they have more homemade, warm, healthy, wholesome foods to eat," says creative director Deirdre Lister. "I've been a teacher for 22 years. I noticed a huge surge in their concentration and their mood levels."
And regardless of what kids are eating, poor dental hygiene can lead to all sorts of problems beyond the mouth. Dientes, another participating nonprofit, is committed to giving low-income kids and adults the dental services they are in need of.
Its "Big Idea" program is Give Kids a Smile Day, which will provide educational services to 30-40 uninsured kids, with the goal of understanding ways to prevent tooth decay and mouth diseases, so they won't have to pay large dental bills. For a lot of kids, once problems start, they can quickly escalate.
Wright, of Community Bridges, says providing assistance, whether through donations or volunteering, is a tremendous gift locals can give themselves.
"Going out and delivering food to people is an incredible benefit to the person who volunteers as well," Wright says. "It puts them in touch with generosity. It puts values of kindness and community and caring for others. It puts those values into action. That's something I think is important to share with people.
To read more about the organizations participating in Santa Cruz Gives, and to donate, go to santacruzgives.org.
Related Items:Health, lead, nonprofit, Santa Cruz Gives


text:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Checkout extends CI_Controller {

    public function index(){
        if($this->session->userdata("user_id")){
            $this->load->library('cart');
            $data['total'] = 0;

            $data['cart_content'] = $this->cart->contents();
            $data['user'] = $this->db->get_where('users', array('id' => $this->session->userdata("user_id")))->result();

            foreach($data['cart_content'] as $cart){
                $data['total'] += ($cart['qty'] * $cart['price']);
            }

            $data['homeAddress'] = false;
            $data['workAddress'] = false;

            $data['homeData'] = $this->db->get_where('users_optional_address', array('user_id' => $this->session->userdata("user_id"), 'address_type' => 'home'))->result();
            $data['workData'] = $this->db->get_where('users_optional_address', array('user_id' => $this->session->userdata("user_id"), 'address_type' => 'work'))->result();

            if(count($data['homeData']) == 1){
                $data['homeAddress'] = true;
                $data['homeData'] = $data['homeData'][0];
            }
            if(count($data['workData']) == 1){
                $data['workAddress'] = true;
                $data['workData'] = $data['workData'][0];
            }
            $data['grand_total'] = $data['total'] + number_format(($data['total'] * 0.06), 2);
            $this->load->view('checkout/checkout.php', $data);
        }
        else{
            redirect('Home');
        }
    }

    public function success(){

        $this->load->library('cart');
        if($this->session->userdata("user_id") && count($this->cart->contents()) > 0){

            foreach($this->cart->contents() as $cart){
                $input['user_id'] = $this->session->userdata('user_id');
                $input['product_id'] = $cart['id'];
                $input['quantity'] = $cart['qty'];
                $input['price'] = $cart['price'];
                $input['transaction_status'] = 5;
                $input['transaction_date'] = date('Y-m-d');
                $input['delivery_request'] = $this->session->userdata('date');
                $input['delivery_location'] = $this->session->userdata('deliveryLocation');

                $this->db->insert('transaction', $input);
            }
            $this->cart->destroy();

            $this->load->view('static_pages/checkoutSuccess.php');
        }else{
            redirect('Home');
        }
    }

}


text:
HomeOther NewsFour pirates: Liberians and Nigerians jailed for threatening container ship crew
Four pirates: Liberians and Nigerians jailed for threatening container ship crew
January 4, 2020 Cholo Brooks Other News 0
By Ellis Whitehouse @E_Whitehouse293 Senior Reporter
Clockwise from top left – Ishola Sunday, Joberto McGee, Toheeb Popoola and Samuel Jolumi (source: /www.thurrockgazette.co.uk)
Four pirates have been jailed after they ran amok on a massive container vessel as it navigated the world's busiest shipping lanes.
The men, from Nigeria and Liberia, waved metal poles and lobbed faeces and urine after they were discovered hiding aboard the 78,000 tonne Grande Tema in December 2018.
When the ship reached the Thames Estuary bound for Tilbury docks, they demanded to be dropped off in Britain.
Two of the men made cut-throat gestures at the crew who had barricaded themselves on the bridge behind bullet proof glass.
Following a 14-hour standoff, special forces swooped on the ship under cover of darkness to rescue the sailors.
Following an Old Bailey trial, Samuel Jolumi, 27, Ishola Sunday, 28, Toheeb Popoola, 27, and Joberto McGee, 21, were cleared of attempting to hijack the ship but convicted of affray.
Popoola was found guilty of making a threat to kill while McGee was convicted on two similar offences.
In mitigation, it was claimed Popoola had acted out of "desperation" and now regretted his behaviour as he awaited the outcome of his asylum application.
It was said on behalf of McGee that he had fled West Africa in search a safer country and to avoid being forced to join a "tribal gang".
The court heard Popoola and ringleader McGee has been stowaways before and been sent back to Nigeria each time.
By contrast, Sunday, a married father of two, had made an "impulsive decision" to hide aboard the ship and "wants nothing other than to go home and rebuild his life", the court was told.
Judge Nigel Lickley QC sentenced ringleader McGee to 32 months in jail telling him: "Your behaviour was at times menacing and threatening."
Popoola was jailed for 31 months and the two co-defendants were handed jail terms of 16 months.
Judge Lickley said it was an "unusual case", the like of which he had never come across in his professional life before.
He told the defendants: "The crew were intimidated, fearful and some feared for their lives at times.
"The English Channel is a busy sea lane and it was disrupted by your activity."
The judge praised the "fortitude and good sense" of the ship's Italian captain, Antonio Raggi, in the face of violence and possible death.
During the trial, prosecutor Tony Badenoch QC had told how the men had secretly boarded the Grimaldi Group ship in Lagos, Nigeria, before it set off on its trading route to Tilbury.
The captain found them on the lower deck ramp close to where the propellers are, with two hanging over the rails in dangerous waters, jurors were told.
The men were given food and water and placed into quarantine but broke out five days later and demanded to be taken to Britain.
Mr Badenoch said: "In order to reinforce these demands the defendants armed themselves with metal poles, they threw urine and faeces, and in at least one defendant's cases, they cut themselves."
They were filmed by the crew making cut-throat gestures and waving bottles of urine.
The court was also shown footage of the stowaways armed with metal poles, with one appearing to square up in a boxing pose.
The incident was reported to British authorities and the ship was held off-shore in UK waters, unable to dock, as the stalemate continued.
In the middle of the night, special forces descended on the ship and detained the stowaways, jurors were told.
Giving evidence, Capt Raggi told jurors of his fears for the safety of his 27-strong crew.
He said: "For me, these guys could be terrorists, Boko Haram, I don't know.
"They come on board, they break the safety, the security of the vessel.
"My problem is if these guys have put something in a part of the vessel and after are going to come and get weapons."
During the trial, jurors visited the 232m long ship at Tilbury docks which was said to be heavier than the UK's largest aircraft carrier, and only slightly shorter in length than the Palace of Westminster.
Source: www.thurrockgazette.co.uk


Data governance plays a key role in managing the data resource of the organisation. It is necessary in strategic data-related initiatives such as master data management, data consolidation, database re-platforming, and of course, enterprise-wide business intelligence (BI). A data governance program is quite extensive and hard to implement. My proposition here is that the implementation of BI through a well-structured BI strategy, while slowly building up the foundations for the data governance program – which itself only gets initiated at a later stage, can lead to mutual success of both programs. This is a highly summarised version of the paper I presented at the First Australian Data Warehousing and Business Intelligence Conference, held at the MCG in Melbourne recently.
In order to improve data-related outcomes, organisations must address people, processes, technologies and change management in a consistent manner. The focal point for data governance is at the enterprise scale. More and more it is playing an important role in BI and EDW initiatives.
For any organisation to implement enterprise-wide BI properly and cost-effectively, it needs to follow a BI strategy. The strategy documents the long-term plan of choices to achieve its goals, taking the anticipated environment into account. It covers how to make effective use of BI technology and best practices to improve BI implementation, in order to support the business strategy and goals and to provide the required information for decision-makers on all levels of the organisation.
The whole BI environment, the related implementation and on-going running and maintenance processes are extensive and complex. The BI strategy addresses the infrastructure for the whole data warehouse environment, as well as the toolsets for data integration and ETL, data discovery, reporting, dashboards and various types of analytics, data quality management, metadata management, and more. There are many people involved whom have to be appointed and managed. There are processes that have to be defined, implemented and managed. The BI strategy evolves as the organisation and its implementation and use of BI matures and changes.
Clearly such a strategy is too extensive to be defined in detail up-front, and it is even harder to have it signed off by all relevant stakeholders before implementing the BI program. Hence, the core part should be in place as the program is initiated, while the detailed part is fleshed out, refined and implemented as the program evolves.
There are two very interesting correlations between data governance and BI strategy.
* Technically not part of the BI program, but very closely related.
A large number of the data governance initiatives are covered by the BI strategy as well.
The second comparison is related to value. Many BI initiatives, if not directly contributing to revenue, are used to reduce costs or improve efficiencies. The value of the softer ROIs on BI, although hard to quantify directly, can also be gauged.
Data governance, on the other hand, influences data outcomes, which in turn drives business effectiveness around decision support, campaigns, customer service, operations, compliance, and risk. However, those benefits are usually two degrees of separation away from data governance itself – they are often realised by the BI program when it operates under the appropriate governances, where the contribution is much more directly visible and quantifiable. Translated into decision-makers' language, the business case for a BI program is much easier to make and justify than the business case for a data governance program.
Because of the close correlation between BI strategy and data governance, it makes sense to initially incorporate the data governance functions into the BI program. In informal terms, you have a bigger chance of success with your data governance initiatives if you cook them into the the BI strategy at first. Almost every aspect of the BI strategy has some touch point with data governance; and it is these touch points we need to exploit to initiate, drive and build out the data governance program.
For example, under BI Vision, our first touch point is scope. By creating a matrix listing the data subjects against the business areas, you already start the documentation required for data governance. Even for BI, it is useful to fill the matrix cells with create, read, update, delete (CRUD) type details, because that indicates where the data originates from and where in the business it is utilised. And so data governance is started – at an early stage without a separate budget, without a separate owner and without separate staff.
When we define and implement our BI methodology, we spell out the business involvement, where their interactions are required, requirements provided, source systems that are accessd and their data contents provided, testing performed and finally signoffs obtained. A steering committee guides and prioritises the processes. These put some of the crucial foundations in place for the data governance program. You will already identify potential data stewards and future data governance champions. You can subtly start information education and convincing why a formal data governance program is necessary further down the line.
So you can slowly tick (parts of) the boxes of the DMBOK data governance framework, and if done properly, the value of doing that will become clear to the organisation.
A strategic business drive is initiated to get a single view of the customer, supplier, or other major data entity, which kick-starts a master data management initiative.
A realisation that data quality is so bad that it affects the quality of the decisions being made.
The replacement of a core transactional system.
A change of marketing tack, for example to identify and market to households as opposed to individual customers.
Introduction of a loyalty scheme across all business lines.
Out-sourcing of a call centre.
The strategic importance and prominence of such an event may just be the catalyst to formally spin off the data governance function. However, you have to be very aware of the organisational culture, especially on the executive levels – in some cases there may be such a tunnel-visioned focus on the new initiative that it may be the worst time to suggest spinning off a data governance function.
In some organisations that golden moment may never materialise, or the decision to have a separate data governance function may never be approved. In that case, data governance should carry on being cooked in with BI. Data has become too important an organisational resource not be governed properly.
It can be extremely rewarding to nurture a data governance program into existence and watch it take over and eventually have data managed as a key organisational asset. Even better if data governance succeeds right there alongside a successfully implemented BI strategy, because they feed off each other. Even being two steps removed, data governance can actually make a real difference to the bottom line of the organisation.
Note that this post focused primarily on the data-related aspects of a BI Strategy and the data governance program. There are other important aspects to a BI strategy as well, such as the business alignment and the organizational and cultural strategy – to which the approach outlined above would also contribute to.


At Porte et Fenêtres Olympas, we are much more than a company offering the best prices on products and installation service; we offer a well-known doors and windows caulking service. In order to offer you the best service on the market, we have chosen to diversify our expertise and extend our services; we now include the Greater Montreal, Laval and the West Island. Doors and windows caulking is essential to any type of installation and our team have become the experts in this field. Our dedicated team of professionals will ensure that your home is well insulated against all elements. Call us for an appointment with the experts at Portes et Fenêtres Olympas. We provide a doors and windows caulking service that suits perfectly the Quebec weather.
Whether for a doors and windows installation, for information on any of our certified products, for the replacement of a thermopane window or for the a caulking job, our experts will do the job professionally, efficiently and safely. We respect your home and belongings, and we make sure to work as quickly as possible so that you can return to your daily routine without any problem. At Portes et Fenêtres Olympas, we do care about our customers satisfaction. That's why we are ready to assist you throughout all of the project. We take care of everything : we provide a detailed document of all the work to be done, the different stages of the process as well as the costs related to your renovation project. Our work ethic is renowned; come see for yourself!
Interior or exterior windows caulking, wooden windows caulking, sliding windows caulking ... Whatever your needs are, we will take care of them. At Portes et Fenêtres Olympas, we make sure we listen to our customers and we work hard to meet your needs. The prices of caulking services can vary a lot, depending on the products, material and service; for our company, it's important to offer you the best in terms of quality, products and service, all at competitive prices. However, remember that any caulking job is an investment; this will extend the life durability of your home, while improving your quality of life.
For example, a caulking seal of an exterior door or window can cause a lot of unpleasant problems; water infiltration, moisture, mold, fungus, cold draft, increased heating costs, and even more... Proper and professional caulking allows you to stay dry and to avoid all those problems without breaking the bank!
The door and window caulking service we offer gives you the peace of mind you deserve. Stop hesitating and contact us now; we will send you a specialist within 24 hours of your call for your free estimate. Choose the expertise of Portes et Fenêtres Olympas for all your needs in sales, installation and caulking of your doors and windows!


The Scribbler sounds like it should be a pretty good movie. The script was penned by the writer of the graphic novel it was based on. It has a solid cast of actors and an interesting premise. But I couldn't help thinking of other movies while I watched.
Katie Cassidy plays Suki, a young woman with multiple personalities (including the titular Scribbler). She's living in a halfway house for mental patients while undergoing treatment with a device that is supposed to get rid of the other personalities. Of course things go awry.
I only know Katie Cassidy from Harper's Island and as David Cassidy's little girl*. She does a good job playing a much less glamorous character and I didn't even recognize her at first. Her performance is one reason to watch the movie.
I was thinking of Identity for much of the movie (there are some obvious parallels). Some of the graphic novel aspects had a Sucker Punch vibe to them (I liked Sucker Punch so that's not meant as an insult) and other parts were very film noir (Eliza Dushku looks like she stepped straight out of a 1940s movie set).
Despite spending a lot of time comparing it to other movies while I watched The Scribbler is not a bad movie. I thought I knew where the movie was going but I was surprised by the ending. Some people will hate the ending and some will love it. Given the story and the cast (Katie Cassidy, Garret Dillahunt, Gina Gershon and an unrecognizable Michelle Trachtenberg among others) this may become a bit of a cult classic in time.
The Scribbler is currently streaming on Amazon and other sites.
*Also this is the second review in a row featuring someone from Arrow.


At PinkBlush, we know women's jeans like the back of hand. Now wear all of your favorite cuts, washes and styles all the time. From flare to bootcut, skinny jeans or cropped. We carry all the styles on trend. Denim washes come in an array of colors to match any of your outfits. We know that comfort is of the upmost important and we always make sure our jeans will be soft and comfy to wear all day. Style your outfit knowing that your jeans will keep you comfortable and stylish throughout the day.


Our food is based on local ingredients with a European influence. You will find inspirational bistro food which is simple, fresh and tasty. Our commitment and passion is to the authenticity and freshness of the core ingredients.
Our award-winning food and drinks are showcased to you through seasonal freshness.
With an elegant menu and extensive wine list, The Euro is a fantastic establishment with impeccable service and a great alternative to the fine dining of Urbane.
To verify you are a real person please answer this: 8 + 4?


This one of a kind antique Persian Hamadan rug was handwoven in Iran over 100 years ago using 100% wool and vegetable dyes. It features a low, worn pile and is in excellent condition. The rug has been professionally cleaned. Spot clean with soap and water as needed, or have the rug cleaned by a professional if necessary in the future.
Colours: Salmon, Rose, Sky Blue, Denim, Navy, Cerulean, Crimson, Garnet, Camel, Cream.
vintage oushak 1'8" x 3'6"


text:
Switzerland's Historic Journey to the 2009 Under-17 World Cup
Antonio Martinez graduated from Montclair State University with a BA in History and a double minor in Journalism and Russian Area Sudies.
Players and coaches of Switzerland's U-17 national team celebrate after defeating Nigeria 1-0 to win the nation's first major trophy at any age level.
In 2009, football witnessed action all across Africa, where the continent hosted several tournaments throughout the year. South Africa began with the 2009 FIFA Confederations Cup, and Egypt followed with the FIFA U-20 World Cup, where Ghana emerged as champions.
Then came Nigeria and its chance to host the FIFA U-17 World Cup in Nigeria. It was an opportunity for the hosts to field another talented U-17 team to seek an unprecedented fourth title. Instead, an unheralded European upstart defied all odds to win this tournament.
Switzerland was in its first FIFA U-17 World Cup. The roster featured an influx of multicultural players from different nationalities, including Spanish, Chilean, Portuguese, Tunisian, Macedonian, Bosnian, and Kosovar.
Switzerland did not just ride an unlikely triumph at the 2009 FIFA U-17 World Cup. Instead, Switzerland swept its way into the history books, and in the nearly 10 years since that triumph in Nigeria, Switzerland reaped the rewards of that success.
Surviving Tests in Iceland and Greece
Switzerland's road to Nigeria began in 2008 in Iceland as it faced the hosts, Norway and Ukraine. Switzerland started with a 2-1 victory over Iceland before two scoreless draws against Norway and Ukraine. Those results saw Switzerland qualify for the next phase of qualifying, the elite round of European qualifying, in second place.
Switzerland faced more formidable opposition as its next three opponents fared better during qualifying. Poland and Greece were previous group winners from the last stage, while Slovenia eliminated host Russia to reach this part of the competition.
Switzerland had to win its group in Greece to qualify for the World Cup. Things were not as Switzerland trailed Greece, 1-0 until a 50th-minute goal would determine a group winner. Haris Seferovic scored to the match finished 1-1; two days later, Seferovic scored again, but that goal proved decisive against Poland.
Switzerland needed to achieve a better result against Slovenia than Greece would against Poland. Switzerland outclassed Slovenia as Seferovic scored another goal, and Nassim Ben Khalifa scored a hat trick in the second half. Switzerland's 6-0 victory, coupled with Greece's 2-1 loss to Poland, meant Switzerland qualified for the 2009 UEFA U-17 Championship. From there, Switzerland would reach the 2009 FIFA U-17 World Cup provided it did not finish last in its group.
Emulating the Stars From 2002
Switzerland may not have the prestigious youth history in soccer, but the nation did win the 2002 UEFA U-17 Championship. In that tournament, future stars emerged in Tranquillo Barnetta, Philippe Senderos, and Reto Ziegler.
Switzerland had a tricky group in Germany as it would have to face the previous year's finalists in France and Spain. A crucial moment for Switzerland came in its second match against Italy when Italy's goalkeeper Mattia Perin received a red card for his foul on Ben Khalifa. Switzerland capitalized on the ensuing penalty that Kofi Nimeley converted. Italy tied the match, but Switzerland fared better in the second half as it scored twice to win the game 3-1.
Draws against France and Spain saw Switzerland win the group, but the club lost to the Netherlands. The scoreless draw against Spain allowed Switzerland to reach the FIFA U-17 World Cup. Switzerland did lose to the Netherlands 2-0, but Switzerland had upset the odds to reach the World Cup in Nigeria.
Now, Switzerland looked for more than pride in Africa.
Granit Xhaka (11) celebrates with teammates after scoring the go ahead goal against Japan in a FIFA U-17 World Cup match against Japan.
Jaime McDonald of FIFA
Swiss players celebrate after winning its match against Brazil 1-0 as Switzerland won all three games in the group stage.
When Switzerland upset Neymar and Brazil
Upsetting the Odds
When the groups came about for the FIFA U-17 World Cup on Aug. 7, 2009, Switzerland had the toughest draw among the six European nations in the tournament. Switzerland would face 2005 champions Mexico, Japan, and three-time champions Brazil. The European country had the lowest odds of advancing past the group stage. So the nation looked to approach this tournament just as it did at the UEFA U-17 Championship with defense and timely scoring.
Switzerland did that on Oct. 24 against Mexico in an unlikely fashion. Pajtim Kasami scored not only Switzerland's first goal at this tournament but also the 2009 FIFA U-17 World Cup's opening goal. Switzerland played despite having less possession and having a man down. But the defense kept Mexico at bay as goalkeeper Benjamin Siegrist stopped Mexico's offense. Switzerland won on its debut 2-0 against a former champion.
Three days later, Switzerland faced Japan when Takumi Miyayoshi scored twice in the opening 20 minutes before Seferovic scored right before halftime. In the second half, Switzerland attacked, and its reward was a Ben Khalifa penalty, which the Japanese goalkeeper saved before Seferovic's ensuing kick that struck the crossbar. Seferovic capitalized minutes later, however, to score his second of the match before Granit Xhaka scored to complete the comeback. Another goal by Ricardo Rodriguez had Switzerland on the verge of a knockout berth. Despite allowing a late goal, Switzerland hung to win 4-3 and was assured a place in the knockout stage.
Switzerland continued its momentum as it denied Neymar and Brazil any goals on 25 shots. Ben Khalifa was the difference as his goal in the 21st minute meant Switzerland won the group. More important in the game was that Brazil had accumulated four yellow cards in the match, ultimately denying Brazil a knockout stage appearance because of its disciplinary record.
Knockout Magic and the Miracle at Abuja
Switzerland entered its match against Germany as favorites. Germany were winners of the 2009 UEFA U-17 Championship in the Round of 16 but endured a stern challenge in the U-17 World Cup. Germany finished third in group play, beginning with a 3-3 draw to host Nigeria after leading 3-0. However, it had been 33 years since Switzerland defeated Germany at any level in football.
Rodriguez and Seferovic scored goals during regulation for Switzerland, but Germany answered on both occasions. With the match tied at 2-2 and extra time looming, Switzerland nearly suffered a devastating blow. As a substitute in the 83rd minute, Sead Hajrovic received a red card for a dangerous tackle. Despite the man disadvantage, Switzerland capitalized on poor German defending as Andre Goncalves to score before Ben Khalifa scored added another a penalty kick to put Switzerland up 4-2. Despite allowing a goal late, Switzerland held on to knock out another pre-tournament favorite.
In Switzerland's quarterfinal, Ben Khalifa opened the scoring for Switzerland against Italy. After missing earlier in the match on a long-range shot, Ben Khalifa scored in the 24th minute before Italy replied on a goal from Federico Carraro. Sent off in the team's first match, Oliver Buff provided his most significant contribution, with a goal during a corner kick putting Switzerland up 2-1. Switzerland was in danger of relinquishing the lead quickly when the referee showed captain Frederic Veseli a red card after taking down Giacomo Beretta in the penalty box. Siegrist stopped the ensuing penalty kick, and Switzerland won once again.
Switzerland's semi-final opponent had luck en route to reaching this far. Colombia needed late goals to advance and force a penalty shootout after it had begun its campaign upsetting the Netherlands. This time around, Switzerland had its best game in ending Colombia's run in the tournament. The game started with an early dismissal from Colombia's Santiago Aria, and Ben Khalifa capitalized by scoring on the ensuing penalty before Seferovic doubled the lead for Switzerland. Seferovic's goal ranked second as the tournament's best goal. By then, Switzerland had an attacking prowess. Colombia had no answers as Switzerland added goals from Bruno Martignoni and Rodriguez to win the match 4-0.
Switzerland made history as it played in its first FIFA-sanctioned tournament final in 85 years. Only Nigeria stood between Switzerland and history; the African nation also attempted to win the U-17 championship for an unprecedented fourth time. From the beginning, Nigeria looked likely to score first as they had scored 17 goals in the first six games. Siegrist was tested several times but prevented any goals from going into the net.
Switzerland acquired one substantial opportunity in the first half from Janick Kamber, but Nigerian goalkeeper Dami Paul stopped that attempt. Still, Nigeria held more possession and the chances, but all that was to show was a scoreless stalemate.
Switzerland was where it wanted to be, and they would go on the offense for the second half, with Seferovic leading the way. Despite missing an earlier attempt wide of the goal, Seferovic capitalized off a corner kick as his header put Switzerland on the cusp of history. Nigeria launched several opportunities to tie the match, but in the end, time ran out. Switzerland had upset all odds and finally achieved a title for the first time.
Haris Seferovic celebrates scoring a goal against Japan in the 2009 FIFA U-17 World Cup. Seferovic, of Bosnian descent, went on to finish as joint top goal scorer as he would go on to represent Switzerland in the 2014 World Cup.
Jamie McDonald of FIFA
There is no question that since the triumph in Nigeria, the key players who made that tournament special still showcase their talents abroad.
Having scored the competition's opening goal, Kasami scored another brilliant goal on a volley in club football during an English Premier League match for Fulham. That goal, coming in a 4-1 victory at Crystal Palace's Selhurst Park, would be one of ten nominated goals for the 2014 FIFA Puskas Award (Goal of the Year). On the international youth level, Kasami and Ben Khalifa and Sommer, helped Switzerland qualify for the 2011 UEFA U-21 Championships - each player having scored goals against Sweden. In the 2011 UEFA U-21 Championships, Switzerland not only reached the final of the tournament but secured its first Olympic soccer tournament since 1928 in the process.
Through he helped Switzerland reach the Olympics, Xhaka withdrew from the Olympics. German club Borussia Mönchengladbach requested the Swiss FA to allow Xhaka to train with the club in preparation for an upcoming UEFA Champions League play-off. Xhaka joined Switzerland's senior national team, and his participation in all 10 World Cup qualifiers helped Switzerland qualifying for the 2014 World Cup. His goal in Switzerland's final qualifier, a 1-0 victory against Slovenia, proved crucial as Switzerland become a seeded nation ahead of the 2014 World Cup draw.
Xhaka did score in the World Cup, albeit a consolation goal as France thumped Switzerland 5-2 in Salvador, Brazil. Five days earlier, Switzerland did defeat Ecuador to open World Cup play. It came from Seferovic, and his 93rd-minute goal became Ecuador - the latest game-winning goal in a World Cup group stage match. This goal came nearly a year after Seferovic scored a winning goal late against Cyprus in a World Cup qualifier.
Since the triumph in Nigeria, Switzerland's achievement was a testament to its multicultural influences significant in 2014. Switzerland's success in 2009 is all about incorporating the impacts that we have, no matter who people are, but instead whom people play for that counts.
2009 FIFA U-17 World Cup Recap
In Switzerland's 2-0 victory against Mexico, Jose Antonio Rodriguez scored an own goal.
Opponent and Score
Switerzland's Goalscorers
Mexico 2-0
Teslim Balogum Stadium, Lagos
Patjim Kasami
Japan 4-3
Haris Seferovic (x2), Granit Xhaka, Ricardo Rodriguez
Brazil 1-0
National Stadium, Abuja
Nassim Ben Khalifa
Germany 4-3 after extra time
Ricardo Rodriguez, Haris Seferovic, André Caetano Gonçalves, Nassim Ben Khalifa
Italy 2-1
Gateway Stadium, Ijebu-Ode
Nassim Ben Khalifa, Oliver Buff
Colombia 4-0
Nassim Ben Khalifa, Haris Seferovic, Bruno Martignoni, Ricardo Rodriguez
Nigeria 1-0
Let the Celebrations Begin
© 2014 Antonio Martinez
Guinea-Bissau's Historic Road to the 2017 Africa Cup of Nations
No nation shocked the footballing world in 2016 more than when Guinea-Bissau qualified for the 2017 Africa Cup of Nations. Relive the journey of this West African nation up to and including the tournament..
By Antonio Martinez
Tanzania's Drought-Breaking Journey of Historic Proportions
After Uganda's return to the Africa Cup of Nations in 2017, another east African nation returned to Africa's premier tournament after a 39-year absence. In 2019, Tanzania capped off its best campaign in nearly four decades. Relive Tanzania's historic journey to Egypt.
Belarus's Historic Road to the 2012 Football Olympic Tournament
Belarus became the first former Soviet republic to play in a Men's Olympic Tournament. We revisit the journey that begun in 2004 after missing out on Athens eight years ago and what has happened following the 2012 tournament.
Yemen's Miracle Sojourn to the 2019 Asian Cup
No nation defied all odds to qualify for a major tournament other than Yemen did to reach the 2019 Asian Cup. Relive the journey away from home for this nation that culminated with the historic qualification.
Kyrgyzstan's Flight to History at the 2019 Asian Cup
The 2019 Asian Cup marked the first major tournament for the Central Asian Nation. Relive the journey from struggling within Central Asia to its historic qualification for the tournament.
Burundi and Its 26-Year Sojourn to the 2019 Africa Cup of Nations
No nation overcame all odds to qualify for the Africa Cup of Nations more than Burundi in 2019. Relive this unprecedented qualification whose roots began with notable victories in the 1990s.
Drama in Southeast Asia: Upsets, Numbers, and Notable Firsts at the 2007 Asian Cup
The Asian Cup saw notable firsts, close calls, and a historic result. We look back at all that unfolded, beginning in Thailand and ending with Iraq's triumph.
The England-Germany Football Rivarly: Beyond World Cups and Wars
Revisit nearly nine decades of memorable matches, controversial moments, and even some karma at the 1966 and 2010 World Cups between England and Germany.
Mauritania's Expedition to the 2019 Africa Cup of Nations
Mauritania was one of three nations that debuted at the 2019 Africa Cup of Nations. Relive the West African nation's journey that revitalized a nation after surviving three footballing droughts.
Madagascar's Epic Adventure to the 2019 Africa Cup of Nations
Iceland stunned the footballing world with its quarterfinal appearance at Euro 2016 in its debut. Three years later, Madagascar emulated that feat in a more improbable fashion. Relive the journey that Madagascar undertook.
Kiwi Miracle: New Zealand's Six-Year Road to South Africa
New Zealand was the story at the 2010 World Cup as it finished as the tournament's only unbeaten country, emerging from the doldrums of nearly three decades. Revisit the epic journey that included the 1-1 draw with then reigning World Cup champions Italy.
Uganda's Drought-Breaking Journey of Historic Proportions
After years of gut-wrenching fails, Uganda ended a 39-year drought to qualify for the 2017 Africa Cup of Nations. Relive the road that got Uganda back on Africa's global stage that included a chance to dethrone the African champions in 2012.
Turkmenistan's 14-Year Sojourn to the 2019 Asian Cup
Nearly 14 years after qualifying for the 2004 Asian Cup, Turkmenistan qualified for the 2019 Asian Cup. Revisit the Central Asian nation's rises and falls across the years since the 2004 Asian Cup.
Finland's Drought-Breaking Qualification of Epic Proportions
On its 33rd qualifying campaign across eight decades, Finland qualified for a major tournament, Euro 2020. Relive the nation's long journey that included a "golden generation" and its search for the manager who was a school teacher at one point.
Iceland's Fulfilled Soccer Sojourn: Albert's Descendants Arrive
After narrowly missing out on the 2014 World Cup, Iceland hoped to continue its ascent. What followed saw Iceland soar to new heights, including its historic achievement at Euro 2016.


text:
Chan Zuckerberg Initiative rolls on despite Facebook's problems
by Kacie Wyman
Priscilla Chan wants to make it clear that Facebook and the Chan Zuckerberg Initiative are two different things, despite their family ties.
Chan, a pediatrician and co-founder of the philanthopic initiative with her husband, Facebook CEO Mark Zuckerberg. addressed that boundary Tuesday in an interview on CBS This Morning. (Note: That show and CNET are both part of CBS.) Asked whether 2018 had been a tough year at home, given the scandals that rocked Facebook, she made a distinction between the two entities.
'Mark and his team [have] done a great job at Facebook,' she said, 'but for the Chan Zuckerberg Initiative we also want to make sure that we are making good choices and being good stewards of the opportunity.'
And asked whether the initiative's good-works projects offer an opportunity to whitewash some of Facebook's problems, she said: 'Frankly there are a lot easier ways to build up PR than trying to tackle education reform or criminal justice reform.'
Neither Facebook nor the Chan Zuckerberg Initiative immediately responded to a request for comment.
Chan and Zuckerberg launched the initiative in late 2015, pledging to push for progress in education, science, justice and community outreach. Most audaciously, it has set a goal of eliminating disease by the end of the century, investing billion in that effort over the next decade. The initiative is funded on the whole by Zuckerberg's Facebook shares.
But these are troubled times for Facebook. Over the course of 2018, the mammoth social network was beset by turmoil, from the Cambridge Analytica privacy uproar to a massive data breach to revelations of data-sharing deals that may have violated a consent decree with the Federal Trade Commission. In April, Zuckerberg spent nearly 10 hours over two days testifying before Congress about how his company handles the data of its more than 2 billion users, how it deals with abuse and election interference, and whether it has a bias against conservative points of view.
Those rough waters have spilled over into 2019 as well. On Tuesday, a committee of the UK Parliament issued a report that likened Facebook to 'digital gangsters' operating outside the law. (The Chan interview for CBS This Morning was recorded before that report came out.)
Chan said that neither she nor Zuckerberg have any political ambitions.
As to whether Facebook or the Chan Zuckerberg Initiative will ultimately have a greater impact on society, Chan said, 'Too soon to say.'
YouTube's last 18 months have been 'the growing-up years,' CEO says
LG pushes hands-free help in the kitchen with Google-powered smart display
Kacie Wyman
Author Since: Mar 26, 2019