text:
if SERVER then

	AddCSLuaFile( "shared.lua" )

	SWEP.Weight				= 1
	SWEP.AutoSwitchTo		= false
	SWEP.AutoSwitchFrom		= false

end

if CLIENT then

	SWEP.DrawAmmo			= true
	SWEP.DrawCrosshair		= true
	SWEP.CSMuzzleFlashes	= true

	SWEP.ViewModelFOV		= 74
	SWEP.ViewModelFlip		= false

	SWEP.PrintName = "Prop Placement Tool"
	SWEP.Slot = 5
	SWEP.Slotpos = 7

	function SWEP:DrawWeaponSelection( x, y, wide, tall, alpha )

	end

end

SWEP.HoldType = "pistol"

SWEP.ViewModel	= "models/weapons/v_pistol.mdl"
SWEP.WorldModel = "models/weapons/w_pistol.mdl"

SWEP.Primary.Swap           = Sound( "weapons/clipempty_rifle.wav" )
SWEP.Primary.Sound			= Sound( "NPC_CombineCamera.Click" )
SWEP.Primary.Delete			= Sound( "Weapon_StunStick.Melee_HitWorld" )

SWEP.Primary.ClipSize		= 1
SWEP.Primary.DefaultClip	= 99999
SWEP.Primary.Automatic		= false
SWEP.Primary.Ammo			= "pistol"

SWEP.Secondary.ClipSize		= -1
SWEP.Secondary.DefaultClip	= -1
SWEP.Secondary.Automatic	= false
SWEP.Secondary.Ammo			= "none"

SWEP.AmmoType = "Knife"

SWEP.PropList = { "models/props_c17/oildrum001.mdl",
"models/props_c17/canister02a.mdl",
"models/props_c17/furniturewashingmachine001a.mdl",
"models/props_c17/pulleywheels_large01.mdl",
"models/props_c17/pulleywheels_small01.mdl",
"models/props_c17/chair02a.mdl",
"models/props_c17/concrete_barrier001a.mdl",
"models/props_c17/door01_left.mdl",
"models/props_c17/fence01a.mdl",
"models/props_c17/fence01b.mdl",
"models/props_c17/fence03a.mdl",
"models/props_c17/lockers001a.mdl",
"models/props_c17/traffic_light001a.mdl",
"models/props_c17/trappropeller_engine.mdl",
"models/props_c17/furniturebathtub001a.mdl",
"models/props_c17/furniturefridge001a.mdl",
"models/props_interiors/refrigerator01a.mdl",
"models/props_interiors/refrigeratordoor01a.mdl",
"models/props_interiors/vendingmachinesoda01a.mdl",
"models/props_wasteland/cargo_container01.mdl",
"models/props_wasteland/controlroom_storagecloset001a.mdl",
"models/props_wasteland/laundry_cart001.mdl",
"models/props_wasteland/controlroom_chair001a.mdl",
"models/props_wasteland/controlroom_desk001a.mdl",
"models/props_wasteland/controlroom_desk001b.mdl",
"models/props_wasteland/controlroom_filecabinet002a.mdl",
"models/props_wasteland/controlroom_filecabinet001a.mdl",
"models/props_wasteland/laundry_cart002.mdl",
"models/props_wasteland/dockplank01b.mdl",
"models/props_wasteland/barricade001a.mdl",
"models/props_wasteland/barricade002a.mdl",
"models/props_wasteland/wheel01.mdl",
"models/props_wasteland/buoy01.mdl",
"models/props_wasteland/prison_bedframe001b.mdl",
"models/props_wasteland/kitchen_fridge001a.mdl",
"models/props_vehicles/car001a_hatchback.mdl",
"models/props_vehicles/car001b_hatchback.mdl",
"models/props_vehicles/car002a_physics.mdl",
"models/props_vehicles/car002b_physics.mdl",
"models/props_vehicles/car003a_physics.mdl",
"models/props_vehicles/car003b_physics.mdl",
"models/props_vehicles/car004a_physics.mdl",
"models/props_vehicles/car004b_physics.mdl",
"models/props_vehicles/car005b_physics.mdl",
"models/props_vehicles/van001a_physics.mdl",
"models/props_vehicles/generatortrailer01.mdl",
"models/props_vehicles/trailer002a.mdl",
"models/props_vehicles/truck001a.mdl",
"models/props_vehicles/carparts_door01a.mdl",
"models/props_vehicles/carparts_wheel01a.mdl",
"models/props_vehicles/carparts_tire01a.mdl",
"models/props_vehicles/carparts_axel01a.mdl",
"models/props_vehicles/tire001b_truck.mdl",
"models/props_vehicles/tire001a_tractor.mdl",
"models/props_trainstation/train003.mdl",
"models/props_canal/boat001a.mdl",
"models/props_canal/boat001b.mdl",
"models/props_canal/boat002b.mdl",
"models/props_debris/metal_panel01a.mdl",
"models/props_debris/metal_panel02a.mdl",
"models/props_junk/trashdumpster02b.mdl",
"models/props_junk/ravenholmsign.mdl",
"models/props_junk/ibeam01a.mdl",
"models/props_junk/ibeam01a_cluster01.mdl",
"models/props_junk/wood_pallet001a.mdl",
"models/props_junk/propanecanister001a.mdl",
"models/props_junk/pushcart01a.mdl",
"models/props_junk/cinderblock01a.mdl",
"models/props_junk/wood_crate001a.mdl",
"models/props_junk/wood_crate002a.mdl",
"models/props_junk/trashdumpster01a.mdl",
"models/props_junk/wheebarrow01a.mdl",
"models/props_junk/metalgascan.mdl",
"models/props_junk/trashdumpster02.mdl",
//"models/props/de_train/barrel.mdl",
"models/props/de_train/pallet_barrels.mdl",
"models/props/de_prodigy/tirestack.mdl",
"models/props/de_prodigy/tirestack2.mdl",
"models/props/de_prodigy/tirestack3.mdl",
"models/props/de_prodigy/concretebags.mdl",
"models/props/de_prodigy/concretebags2.mdl",
"models/props/de_prodigy/concretebags3.mdl",
"models/props/de_prodigy/concretebags4.mdl",
"models/props/de_prodigy/pushcart.mdl",
"models/props/de_prodigy/spoolwire.mdl",
"models/props/de_prodigy/spool.mdl",
"models/props/de_prodigy/ammo_can_02.mdl",
"models/props/de_prodigy/ammo_can_01.mdl",
"models/props/de_prodigy/ammo_can_03.mdl",
"models/props/de_nuke/cinderblock_stack.mdl",
"models/props/cs_militia/militiarock05.mdl",
"models/props/cs_militia/sawhorse.mdl",
"models/props/cs_militia/table_kitchen.mdl",
"models/props/cs_militia/footlocker01_open.mdl",
"models/props/cs_militia/footlocker01_closed.mdl",
"models/props_junk/MetalBucket01a.mdl",
"models/props_junk/MetalBucket02a.mdl",
"models/props_junk/plasticbucket001a.mdl",
"models/props_wasteland/kitchen_shelf001a.mdl",
"models/props_c17/chair_stool01a.mdl",
"models/props_c17/chair_office01a.mdl",
"models/props_c17/SuitCase001a.mdl",
"models/props_interiors/Radiator01a.mdl",
"models/props_junk/bicycle01a.mdl",
"models/props_lab/citizenradio.mdl",
"models/props_lab/kennel_physics.mdl",
"models/props_lab/partsbin01.mdl",
"models/props_vehicles/carparts_muffler01a.mdl",
"models/props/cs_office/shelves_metal.mdl",
"models/props_phx/construct/concrete_barrier01.mdl",
"models/props_phx/construct/concrete_barrier00.mdl",
"models/props/cs_assault/handtruck.mdl",
"models/props/de_nuke/nuclearcontainerboxclosed.mdl",
"models/props/de_nuke/crate_small.mdl",
"models/props_vehicles/trailer001a.mdl",
"models/props_lab/lockers.mdl",
"models/props_trainstation/train002.mdl",
"models/props_vehicles/wagon001a.mdl",
"models/props_wasteland/gear01.mdl",
"models/props_wasteland/cafeteria_bench001a.mdl",
"models/props_wasteland/cafeteria_table001a.mdl",
"models/props/CS_militia/crate_extrasmallmill.mdl",
"models/props/CS_militia/microwave01.mdl",
"models/props/CS_militia/paintbucket01.mdl",
"models/props/CS_militia/refrigerator01.mdl",
"models/props/CS_militia/toilet.mdl",
"models/props/CS_militia/wood_table.mdl",
"models/props/cs_italy/it_mkt_table2.mdl",
"models/props/de_inferno/wine_barrel.mdl",
"models/props_c17/streetsign004f.mdl",
"models/props_c17/FurnitureDresser001a.mdl",
"models/props_vehicles/truck003a.mdl",
"models/items/car_battery01.mdl",
"models/props_c17/canister_propane01a.mdl",
"models/props_junk/metal_paintcan001b.mdl"}

function SWEP:Initialize()

	if SERVER then

		self.Weapon:SetWeaponHoldType( self.HoldType )

	end

end

function SWEP:Deploy()

	self.Weapon:SendWeaponAnim( ACT_VM_DRAW )

	return true

end

function SWEP:Think()

	if CLIENT then return end

	if self.Owner:KeyDown( IN_USE ) and ( ( self.NextDel or 0 ) < CurTime() ) then

		self.NextDel = CurTime() + 1

		local tr = util.TraceLine( util.GetPlayerTrace( self.Owner ) )

		local closest
		local dist = 1000

		for k,v in pairs( ents.FindByClass( "prop_physics" ) ) do

			if v:GetPos():Distance( tr.HitPos ) < dist and v.AdminPlaced then

				dist = v:GetPos():Distance( tr.HitPos )
				closest = v

			end

		end

		if IsValid( closest ) then

			closest:Remove()

			self.Owner:EmitSound( self.Primary.Delete )

		end

	end

end

function SWEP:Reload()

	if CLIENT then return end

	for k,v in pairs( ents.FindByClass( "prop_physics" ) ) do

		if v.AdminPlaced then

			v:Remove()

		end

	end

	self.Owner:EmitSound( self.Primary.Delete )

end

function SWEP:Holster()

	return true

end

function SWEP:ShootEffects()

	self.Owner:MuzzleFlash()
	self.Owner:SetAnimation( PLAYER_ATTACK1 )

	self.Weapon:SendWeaponAnim( ACT_VM_PRIMARYATTACK )

end

function SWEP:PlaceItem()

	if not self.Owner:IsAdmin() or not self.Owner:IsSuperAdmin() then return end

	if not self.Owner.PropPos then self.Owner.PropPos = 1 end

	if self.Owner.PropPos < 1 or self.Owner.PropPos > #self.PropList then return end

	local tr = util.TraceLine( util.GetPlayerTrace( self.Owner ) )

	local ent = ents.Create( "prop_physics" )
	ent:SetPos( tr.HitPos + tr.HitNormal * 50 )
	ent:SetModel( self.PropList[ self.Owner.PropPos ] )
	ent:SetSkin( math.random( 0, 6 ) )
	ent:Spawn()
	ent.AdminPlaced = true

end

function SWEP:PrimaryAttack()

	self.Weapon:SetNextPrimaryFire( CurTime() + 1 )
	self.Weapon:EmitSound( self.Primary.Sound, 100, math.random(95,105) )
	self.Weapon:ShootEffects()

	if SERVER then

		self.Weapon:PlaceItem()

	end

end

function SWEP:SecondaryAttack()

	self.Weapon:SetNextSecondaryFire( CurTime() + 0.5 )

	self.Weapon:EmitSound( self.Primary.Swap )

	if CLIENT then

		self.Weapon:Menu()

	end

end

function SWEP:DrawHUD()

	draw.SimpleText( "PRIMARY FIRE: Create Prop          SECONDARY FIRE: Choose Prop Model          +USE: Delete Nearest Prop          RELOAD: Remove All Placed Props", "AmmoFontSmall", ScrW() * 0.5, ScrH() - 100, Color(255,255,255), TEXT_ALIGN_CENTER, TEXT_ALIGN_CENTER )

end

if CLIENT then

	function SWEP:Menu()

		if ( self.MenuTime or 0 ) > CurTime() then return end

		self.MenuTime = CurTime() + 1

		gui.EnableScreenClicker( true )

		local frame = vgui.Create( "PanelBase" )
		frame:SetSize( 300, 370 )
		frame:Center()
		//frame:ShowCloseButton( false )

		local plist = vgui.Create( "DPanelList", frame )
		plist:SetPos( 15, 15 )
		plist:SetSize( 270, 340 )
		plist:SetSpacing( 0 )
		plist:EnableHorizontal( true )
		plist:EnableVerticalScrollbar( true )

		for k, v in pairs( self.PropList ) do

			local icon = vgui.Create( "SpawnIcon", plist )
			icon:SetModel( v )
			icon:SetToolTip()
			icon:SetSize( 64, 64 )
			icon.OnMousePressed = function( mc )

				RunConsoleCommand( "chooseprop", tostring( k ) )

				gui.EnableScreenClicker( false )
				surface.PlaySound( Sound( "buttons/button14.wav" ) )

				frame:Remove()

			end

			plist:AddItem( icon )

		end

	end

	return

end

function ChooseProp( ply, cmd, args )

	ply.PropPos = tonumber( args[1] )

end

concommand.Add( "chooseprop", ChooseProp )


It will be that this spring continues to be gray and rainy, it will be that my mood is combined with the time or it will be that I wanted to inaugurate a Japanese Tengui that was given to me some time ago, the fact is that I organized the Chaxi for the lesson in a somewhat 'unusual pairing with a very romantic pink and white dressing.
And it's necessary to pay attention to washing a tengui because the colors are not fixed with industrial techniques and may fade or bleed.
The design of this tengui is a classic spring: flowers of sakura (cherry flowers) and bunnies (which are considered good luck in Japan).
The tools used take up the theme of cherry blossoms in the cups and in the pitcher and they are all fine Chinese porcelain except saucer dessert that is a gift from Japan.
For tea it seemed appropriate to use a "White Snow Buds," a good quality white tea buds, full of great taste, delicate, sweet and fruity soon.
For sweet I paired a little meringue decorated with pink sugar sprinkles.


Safavieh Soho Soh778B Rug, Black/Ivory, 5'0"x8'0"
Safavieh Soho Soh778B Rug, Black/Ivory, 8'0"x10'0"
A combination of brown and beige. Made from hand-spun wool. Hand-tufted construction. Made in India. Your choice of rug size. Size: 5 x 8 ft..


The Lord gave us a very good morning. The attendance was strong and there was a sweet spirit in our services this morning. I enjoyed preaching and teaching on Faith this morning. In SS we were looking at Abraham's faith in Romans 4. I preached on, "Unlocking Faith's Potential" from Hebrews 11:1-6 this morning. God challenged my faith and I believe He challenged the faith of our people as well. Thank you for your prayers for our ministry today. God gave us a very good morning.


text:
Vritz (prononcer []) est une ancienne commune de l'Ouest de la France, située dans le département de la Loire-Atlantique, en région Pays de la Loire, devenue le , une commune déléguée de la commune nouvelle de Vallons-de-l'Erdre.

Faisant partie des marches de Bretagne, presque une enclave en Maine-et-Loire, la commune a une histoire liée à la Bretagne et à l'Anjou. Vritz est issue d'une paroisse fondée par des moines angevins, et a longtemps gardé le code postal du canton de Candé. La vocation agricole de cette commune rurale perdure au , même si des carrières y sont exploitées. Éloignée des grands centres urbains, Vritz connaît un déclin démographique depuis la fin du .

Géographie

Situation

Vritz est située à  au nord-ouest de Candé, à  au sud-est de Châteaubriant, à  au nord-est d'Ancenis, à  au nord-ouest d'Angers, à  au nord-est de Nantes, à  au sud-ouest de Laval et à  au sud-est de Rennes, dans une indentation du département de la Loire-Atlantique en Maine-et-Loire. Les communes limitrophes sont des communes déléguées de la commune nouvelle de Vallons-de-l'Erdre : Le Pin et Freigné en Loire-Atlantique, ainsi Candé, Angrie et Challain-la-Potherie en Maine-et-Loire.

Relief et géologie
Le territoire de la commune est vallonné, parcouru de quelques ruisseaux, affluents pour la plupart de l'Erdre. Le sol est schisteux, des carrières d'ardoise ont d'ailleurs été exploitées jusqu'au .

Hydrographie
Passant tout près du bourg, le ruisseau de la Gicquelais coule dans un axe nord-ouest - sud-est, et se jette dans le ruisseau du Mandit (ou Mandy) au sud, affluent de l'Erdre. Au nord et à l'est le ruisseau du pont Trion décrit une boucle qui sert de délimitation départementale entre la Loire-Atlantique et le Maine-et-Loire. Le petit Don prend sa source au nord-est de la commune, et coule vers l'ouest pour se jeter plus loin à l'ouest dans le Don au niveau de la commune du Petit-Auverné.

Climat

Avec sa façade océanique orientée vers l'Ouest et un relief peu accentué, le climat de la Loire-Atlantique est de type tempéré océanique. Les hivers y sont doux ( en moyenne), les étés faiblement chauds ( en moyenne). Les précipitations sont fréquentes (surtout en hiver et au printemps) mais rarement violentes.

Vritz est proche de la région angevine. Le tableau suivant recense les données climatiques d'Angers, distante de  à vol d'oiseau.

Toponymie
Le nom de la localité est mentionné sous les formes Veris en 1130; Veriz en 1243; Vrix en 1287; Uris (lire Vris) en 1731. Albert Dauzat et Ernest Nègre n'ont pas analysé ce toponyme, montrant par là qu'il existe un problème. Il est cependant listé dans les toponymes brittoniques de Haute-Bretagne. Son étymologie est obscure.

Vritz possède un nom en gallo, la langue d'oïl locale, écrit Veriz selon l'écriture ELG et Vri selon l'écriture MOGA. En gallo, le nom de la commune se prononce  comme en français. Le nom de la commune a été traduit Gwerid en breton, mais cette langue n'y a jamais été parlée, l'extension maximale de la frontière linguistique bretonne s'étant fixée à Blain, à 60 km à l'ouest, au .

Histoire
Le site de Vritz a été probablement occupé pendant la Préhistoire puisque des outils en pierre ont été découverts dans les environs. Le territoire fait partie de la gaule celtique, puis d'une province gallo-romaine, avant d'être englobé dans le duché de Bretagne jusqu'à l'union avec le royaume de France en 1532.

Au , Vritz devient châtellenie. En 1133, un prieuré augustinien est fondé par l'abbaye de Toussaint d'Angers. Un des premiers seigneurs de Vritz, Olivier de Veris, laisse une trace écrite lors de ses donations à l'abbaye de Melleray. Au siècle suivant, la châtellenie est la propriété de la famille de Vritz, qui possède plus tard Saint-Mars-la-Jaille.

En 1650, alors que son seigneur est François de l'Esperonnière de Vris, grand chambellan de Gaston d'Orléans, Vritz devient une baronnie et dix ans plus tard est construite l'église paroissiale. Il y avait aussi à l'époque une chapelle à la Grée et une autre à Préfouré.

Les carrières d'ardoise furent exploitées du  jusqu'au début du . La production est exportée jusqu'aux États-Unis. Cette industrie, suffisamment florissante au moment de la Révolution pour que Vritz soit promu chef-lieu de canton, a laissé place, après son extinction, à l'économie agricole qui existe depuis l'origine du village. Vritz est incluse dans la Loire-Atlantique plutôt qu'en Maine-et-Loire qui l'entoure presque entièrement. La commune a longtemps gardé le code postal du canton de Candé, en Maine-et-Loire.

La commune, essentiellement rurale, est sujette à un déclin démographique depuis la fin du .

Politique et administration
Vritz est situé dans le canton de Saint-Mars-la-Jaille, arrondissement d'Ancenis, dans le département de la Loire-Atlantique (région Pays de la Loire). Comme pour toutes les communes françaises comptant entre , le conseil municipal est constitué de quinze membres en 2011.

Liste des maires

Intercommunalité
Vritz est membre de la communauté de communes du pays d'Ancenis, qui est constituée de vingt-neuf communes regroupées autour d'Ancenis. La commune est représentée au conseil intercommunal par le maire et deux élus communautaires.

Population et société

Démographie
Selon le classement établi par l'Insee en 1999, Vritz était une commune rurale non polarisée.

Évolution démographique

Pyramide des âges
Les données suivantes concernent l'année 2013.
La population de la commune est relativement âgée. Le taux de personnes d'un âge supérieur à  (24 %) est en effet supérieur au taux national (22,6 %) et au taux départemental (22,5 %).
Contrairement aux répartitions nationale et départementale, la population masculine de la commune est supérieure à la population féminine (52,9 % contre 48,4 % au niveau national et 48,7 % au niveau départemental).

Enseignement
Vritz dépend de l'académie de Nantes. La commune gère une grande école (à la fois maternelle et primaire) : l'école primaire du Dauphin. Le collège public le proche se trouve à Saint-Mars-la-Jaille, et les lycées publics se situent à Châteaubriant, Ancenis et Segré.

Santé
Il n'y a pas de médecin ni d'infirmiers à Vritz, les plus proches sont situés à Candé. Des centres hospitaliers sont installés à Ancenis et Châteaubriant.
Est présent depuis  la Fédération des Secouristes Animaliers (FSA) avec son ambulance animalière agréée DDPP (Direction départementale de la protection de la population).

Sports
Vritz possède un club de football avec Le Pin, commune proche avec laquelle il a fusionné en 2001. Petit club amateur, l'équipe première des seniors joue en  du District de la Loire-Atlantique. Le Football Club Le Pin-Vritz possède aussi des équipes en catégorie jeune.
Couleurs : maillot rouge, short bleu marine, chaussettes rouges.

Cultes
Pour le culte catholique, Vritz, bien que dépendante du diocèse de Nantes, fait partie de la paroisse Saint-Pierre-sur-Erdre, dans la zone pastorale du Haut-Anjou.

Économie

Revenus de la population et fiscalité
En 2008, le revenu fiscal médian par ménage était de ,
ce qui plaçait Vritz au  rang  parmi les  de plus de  en métropole.

Emploi, entreprises et commerces

La société Orbello granulats Loire exploite depuis 1995 une carrière sur le territoire de la commune, à la Répennelais. Les produits vendus sont certifiés issus d'une roche alluvionnaire silicieuse, dont la classe granulaire est  (). Cette industrie représentait 12 des  salariés recensés sur la commune au .

L'agriculture est un secteur économique important de Vritz. Si, selon l'Insee, le nombre d'exploitations a diminué entre 1988 et 2000, passant de 88 à 51, la surface exploitée est restée stable (de  à ) sur cette période. L'élevage bovin a légèrement régressé ( en 1988,  en 2000), tandis que le nombre de volailles a fortement progressé, passant de  à .

Culture locale et patrimoine

Lieux et monuments

Patrimoine religieux

L'église Saint-Gervais-et-Saint-Protais, construite en 1887, remplace l'ancienne église de 1660. Elle possède trois nefs et six travées, et dispose d'un clocher-porche. Ses vitraux sont réalisés par Bordereau, maitre verrier angevin, à la fin du . Ceux du chœur représentent saint Gervais et saint Protais, patrons de la paroisse, ainsi que saint Édouard. Les autres représentent des scènes de la vie du Christ.

Un calvaire, au-dessus d'une grotte (), est situé sur une butte ardoisière surplombant le ruisseau du Mandit. Les fidèles catholiques viennent y implorer la Vierge de Lourdes.

Châteaux et demeures
Le château de la Bouvraie, dans le village du même nom, date du  et est bâti en schiste, a sans doute été le siège de la plus importante seigneurie locale. On trouve des traces de murs d'enceinte et de douves antérieures au . Les bâtiments ont été rénovés au  par un armateur nantais.

Le manoir de la Ramée (), dont la tour et d'autres parties ruinées ont été transformées, recèle un manteau de cheminée () dont les peintures d'origine ont été conservées. Le manoir de la Tesserie () a été transformé en ferme. Le manoir de Richebourg a été remanié au .

Patrimoine civil
Le « Relais des forges » présente une cheminée du  remplaçant une de plus grande dimension du , et un pigeonnier-porche. Traces de l'activité industrielle humaine, les carrières d'ardoise () témoignent de l'activité d'extraction à Vritz. Un puits du  en schiste, avec un toit recouvert de palis de schiste, et un treuil à bras, est très bien conservé.

Personnalités liées à la commune
 Louis Richard (1846-1881), né à Vritz, religieux, missionnaire des Pères blancs, assassiné au cours d'une mission en Algérie.

Héraldique

Voir aussi

Bibliographie
.
 .

Articles connexes
 Liste des communes de la Loire-Atlantique

Liens externes

 Ancienne photo du bourg de Vritz
 Fiche identité de la commune de Vritz
 Vritz sur le site de l'Insee

Notes et références

Notes

Références

Ancienne commune en Loire-Atlantique
Commune déléguée en Loire-Atlantique
Vallons-de-l'Erdre

redpajama_set_name: RedPajamaWikipedia


My 91 year old mother suffers from advanced diabetes and rheumatoid arthritis. Both make it difficult for her to care for herself. But she insists on staying in her home in Holland, Michigan instead of moving to senior living. She has lived there for almost 60 years. The problem is that my brother just won't help with her care. We both live equal distances from her, but he won't even take her to doctor's appointments. I love my mother and want to care for her. That isn't the issue. But I have a busy job and two children still living at home. There just aren't enough hours in my day to be her only caregiver! I am getting more and more resentful of my brother. I am afraid I will say something I really regret if he doesn't start helping.
You are a classic example of someone trying to survive the "sandwich". A term we use to describe the generation sandwiched between aging parents' needs and those of their own children. In your case, you have the added stress of a sibling who won't help. In almost every family we work with across the state of Michigan, one child bears the primary responsibility of caregiving. Most of the time it is the adult daughter or daughter-in-law.
Ask your brother to meet you to talk about your mother. Have the meeting in a neutral place. Somewhere that you can talk without interruption.
Prepare a list of activities you do for your mother and things you know need to be done but you haven't had time to do. Even little things like picking up prescriptions should be on the list.
Really give some thought beforehand to what he could do to help. Maybe lawn care or household repairs? What jobs will he be most likely to do on a routine basis?
Sit down with your brother and share your concerns and your list with him in a respectful way. This may be difficult to do given how much resentment you are feeling towards him. Just remember, your goal is to get him to agree to help without forever damaging your relationship.
Listen to what he has to say. You may find that fear is keeping him from helping your mother. Maybe you can arrange to meet at your mother's house together to work on projects for her. Easing him in to caregiver responsibilities may give him time to adapt to the changes in your mother that have frightened him away.
Try to divide up the task list and talk about dates and deadlines. Leaving the meeting with a definite plan will help.
If all else fails, you have two options. You can hire a family mediator to help resolve your differences. Or you can accept that he won't help and move on without him. That will be hard to do, but continuing to live with resentment will put your own health at risk.
Best of luck, Melissa! Please feel free to call one of the Heritage Senior Communities in Holland (http://www.heritageseniorcommunities.com/locations.php) if you have any questions or need more advice on senior living.


Every programming language has standards and ways to solve problems that are considered best-practice in their world. Even PHP had something similar, but these standards were scattered in various corners of its community, with no recognizable entity that would centralize, govern and promote them.
In 2009 all this changed, because 5 PHP frameworks developers met at the php|tek 2009 conference in Chicago and decided to create a governing entity that would solve the problem of PHP standards once and for all. The group called itself PHP-FIG (PHP Framework Interoperability Group). Shortly after its birth, their first standard, called PSR-0, was published. This standard came as a result of the support for namespaces added by the newly launched 5.3 version of PHP; it standardized the way this new feature was used.
PSR stands for PHP Standard Recommendation. The way these standards work is very similarly to JSRs (Java Specification Request) from the Java world. They're numbered starting with 0 and contain a formal specification for a certain programming technique or a certain feature that can be implemented in PHP.
PSR-0. As mentioned in the previous chapter, this standard describes a correct and consistent way in which namespaces should be declared and used. PSR-0 is marked as deprecated in favour of the newer PSR-4.
PSR-1 specifies a set of general coding guidelines. They're usually more rudimentary and involve big-picture aspects of the code and files in which it is stored. There are great benefits when respecting this standard, since it significantly lowers the chances of incompatibilities between classes and libraries.
PSR-2 builds on PSR-1 and is one of the most substantial standards, compared to the other 6, because it contains a very extensive list of coding rules, mostly involving code style. This standard covers everything from methods, control structures and parentheses, to line length, indentation and rules about how many blank lines to leave between code structures.
PSR-3 defines a standard interface for libraries that implement the logging functionality. It also contains a lot of guidelines and advice about how such a library should be implemented and used.
PSR-4 is the successor of the older PSR-0 standard and it defines the correct way to declare and load namespaces from file paths. This standard is much more flexible compared to PSR-0 as far as syntax and auto-loading rules goes.
PSR-6 defines a set of interfaces and exceptions that should be implemented and used by libraries that provide caching functionality. Given the high detail and great scope in which everything is described, implementing this standard is significantly more difficult.
PSR-7 is, by far, the most complex published so far. It details a hierarchy of interfaces that describes the way in which HTTP requests and responses should be represented in a PHP application.
Some of the standards described above are not written from scratch, but instead are based on a few popular RFC references. Also, all PSR standards use the specifications of RFC-2119, which describes a common vocabulary to be used in formal technical specifications.
Over time, there have been multiple controversies regarding the group's objective nature and its role in the PHP world. While some concerns might be sound, we need to keep in mind an important aspect regarding this group and the standards it proposes: implementing them or using them is completely optional.
On top of all this, we have to remember the group's main goal: collaboration between frameworks (hence the group's name). Therefore, the standards they propose will tend to be related to features already present in most frameworks. The main idea and philosophy is to have an easy way to swap common libraries on which these frameworks depend.
Even though PHP-FIG is a controversial group that was founded a little too late, it still managed to impose itself as the absolute authority of PHP standards. The publishing of PSR standards by this group marked the beginning of a sustained maturity of the PHP ecosystem.


Engineered for the outdoors and marine activities alike, Helly Hansen's Crew Hooded Mid-Layer Jacket is the ultimate in form and function. The lightweight shell is fully seam sealed and protects from wind and water, while a fleece lining and an optional hood deliver extra warmth without adding additional bulk. A trio of zip pockets offers the right amount of storage when you need small items close at hand.
Our model is wearing a size large jacket, and usually takes a size medium/38 shirt. He is 6'1" (186cm) tall with a 38" (97 cm) chest and a 32" (81 cm) waist.


text:
Lines of Action programs
This page is devoted to computer programs both those that you can actually use, and historical programs whose host environments have gone to heaven. If you know of any others, please tell me.
If you're writing a program, or thinking about it, check out the programmer's corner
Programs for DOS/WINDOWS
Programs for Windows-95 and WIndows-NT
Programs for Macintosh
Historical programs
the LOA Java Applet
The java applet used to generate some of the diagrams on these pages can also be used as a standalone java application, to enter new games and diagrams. In theory, using Java should make viewing these pages faster, because it replaces most of the graphics. It also, unquestionably, is an improvement in functionality.
You can download a version of the applet which will allow you to enter, comment, and view games using your own java-enabled browser. If you use Internet Explorer (not Netscape), you do not need JDK or any other java environment - or you can use any standard java application runner. The applet is also available as a standalone application, runnable under windows-95 and windows-nt.
You need java to see the applet
If you have any comments or suggestions about the use of java on these pages, just drop me a line. Most of all, if you would like to add some commented games to the collection, contact me! I'll set you up with a copy of the Java application.
My longer term plans for the LoaJava include expanding the current front-end into a full playing program.
See Commented Games or Uncommented Games to view games!
(formerly MIA) The product of Mark Winand's Masters thesis,GameMaster is a strong LOA program writen in Java. The current release is packaged as a windows EXE, but in principle at least, it ought to run on any platform that supports Java.
Dos Programs
There is a crude but functional version of LOA amongTommy's Toys. The graphics are really rudumentary, and the play is simplistic, but hey, something is better than nothing, right? [sorry, no picture available]
Windows-95 and Windows-NT programs
Loa2D (version 3.5)
(updated July 2007) The new version fixes some bugs and tweaks the UI, but retains the speedy play and cool graphics of the previous version. Written by Benjamin Guihaire, Download it hereDownload the previous version 3.4 here
Loaw 1.0
Loaw 1.0, for windows-95 and windows-nt, by Dave Dyer and Ray Tayek. Dave wrote the low level loa engine, and Ray wrote the windows GUI. This version lacks a help file, but otherwise is (by definition) complete and pretty thoroughly debugged. The machine opponent in this version of the program is still nothing special, but much improved over previous versions.
All the static LOA diagrams (other than those produced by the Java Applet) on these home pages were created using LOAW. These are Ray's choice for LOAW's native colors, but fortunately my choice is also available, and the colors are easily customizable.
Download the installerhere. Loaw requires mfc42.dll, which if you don't already have it, can be downloaded (0.5 mb)
Loaviewer
LoaViewer is a directly executable version of the LoaViewer java applet, produced by SuperCede, one of the better java development environments. It doesn't play (yet) but has the same viewing and commenting capabilities as the Java applet, without requiring the host machine to be set up with Java support. It does require a collection of support DLLs, which are included in the distribution.
Download the standalone viewer
There is a free version of LOA for ZOG, but the version dated 2002-12-07 is believed to be buggy.
Current Macintosh Programs
Lines of Action 1.0
I don't know how I got this one; I literally found it on a disk I inherited. This version of LOA, by Mike Dickman and Andrew McDaniel,was released in June 1991; and it apparently hasn't been updated since. Given its age, it probably will run under system 6, and I've verified that it still runs under system 7.5 on power macs. The graphics are rudimentary black and white. Play is adequate, but very slow at higher search depths. It is distributed as $10 shareware. Download
Click on the image to see a full sized board.
Unite 3.0
UNITE 3.0, by Kevin L. Gong, was released in January 2003. Unite is available in OSX and classic versions. This version has improved graphics and better play than the previous version... Unite includes some interesting variations, based on boards with holes. Unite includes a nice long term score keeping feature. Unite is distributed as $10 shareware from the Unite home page.
There's an amusing story relating these two Macintosh programs from from LOA co-author, Mike Dickman, which fits right in with the theme "LOA just keeps popping up"
Some wise students (or their professors) have chosen LOA as an educational vehicle. Here are links to those we know of.
Students at the University of Alberta all had to write Lines of Action programs as a class project, then ran a tournament among the programs. The results are pretty interesting, and I'm told some of the programs are pretty strong. Read about it here. . A web applet is available which makes is possible to play them online.
Mark Winands has made LOA the subject of his thesis. His LOA page includes his thesis and a playable version of his program.
That is, programs you can't play, because the program or the hardware it was played on no longer exists.
The Stanford Program
There was a program that played LOA, which I got from the Stanford AI lab in the 1970's. It ran on PDP-10s and was written in SAIL. I have the program, but haven't been able to locate the author or any other information about it. I vaguely recall that it played sort of ok, but was beatable.
If anyone knows more about this program, it's one of the things I'm interested in hearing about.
The Triple-I program
(This is where I enter the picture). I was inspired enough by the game and by the Stanford program to write my own. It also ran on PDP-10's, and was written in another (now obsolete) programming language, called TRIP. I vaguely recall that it was more successful than the Stanford program, but was still beatable, barely.
Only a few other people ever played against this program, so its true strength is hard to judge. I still have sources for this program, and a few game records.
the PLATO server
Plato was a pioneering computer system, designed for education. According to Philip Cohen, there was a LOA server which ran on a PLATO system available at Cornell, though it may have been developed elsewhere.
[may 1996] the Author of the Plato program has identified himself. He's Mike Huben I'm hoping to acquire some more bits about this pioneering system from him. According to Mike, he's been writing LOA programs ever since. (I guess we all have our favorite problems). Watch this space for more news.
Others?
Given the scarcity of PDP10's, and the languages SAIL and TRIP, it is unlikely these historical programs will ever run again, but it's conceivable that the core evaluation algorithms might be revived in a new program. It would be interesting to see what a modern machine (perhaps a factor of 100 faster than the old PDPs) would do with them.
E-mail: Go to BoardSpace.net home page

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Apache 2 on Ubuntu shows 403 forbidden on certain urls I have a Zend Framework application. Almost all of my urls work fine.  However, any url that starts with /resources gives me a 403 forbidden error (e.g.: /resources/add, /resources/edit). The strange thing is, when I tested it on my Windows machine via XAMP, everything worked fine. Is there something special about urls starting with /resources that makes Apache2 think it should not allow access?

A: Your issue seems a permissions problem, nothing related to URLs. Check directories to be 755 and files 644 in the Ubuntu server where you deployed your application.
Run this in the root directory of your application and should get you going:
find . -type d -exec chmod 755 {} \;
find . -type f -exec chmod 644 {} \;

redpajama_set_name: RedPajamaStackExchange


Our founder start taking small project as freelance and involve solely in handling educational portal hub as personal project.
Officially registered Hadafi Solution & Resources as corporate identity. This is the huge step in involving.


Crafted from hand made European high grade resins, the All American is impressively large in size, yet not so big as to be uncomfortable in the hand. The cap and barrel are carefully tapered to provide a perfect balance. The All American Collection meets the requirements for those who want a large pen, one that stands out in a crowd, but which still stays true to the classic style and feel of the original Conklin designs. The Ballpoint pen uses the reliable international cartridges, converter (supplied) and the ballpoint is accompanied with a refill and accepts the Monteverde P1 and P4 refills. Each Conklin fine writing instrument is housed in a luxury gift presentation box lined with rich satin. Ideal as a perfect gift for yourself or a loved one, the All American is the perfect choice for both men and women who use fine writing instruments in their daily professional lives, and who appreciate a bold, stylish statement in their accessories.


Darkstryder adventure: "Artifact of Aaris"
A mousy and somewhat timid young woman, Solla Deremot has worked as one of the research assistants on Moff Sarne's expedition to Aaris III. Although a native of Kal'Shebbol, she attended a university in the Colonies to study biology. When she returned home, Sarne recognized her aptitude and hired her. When Doctor Brunou planned his expedition to Aaris III, Sarne suggested he take Deremot along as an assistant. Deremot felt out of place, since most of the rest of the team was comprised of Brunou's peers, but she went regardless.
Deremot is a slender woman with short hair. She also carries a short, serious attitude when it comes to her biology work. She has no loyalty to Sarne or his empire. Her main interest lies within her research, which she feels has been wasted on the Aaris expedition. Deremot does not hesitate to accept a position aboard the Farstar if offered one. She has been curious about the truth behind the Empire's claims about the Rebellion, but joining the crew is viewed by her as a means to increase her knowledge and further her biological research.


As one of the largest services within Jisc's Library Support Services portfolio, Knowledge Base+ (KB+) has a central role to play in the resource management lifecycle. Read more about the service, its background and details of one day workshops in 2017 below.
In 2015, research was undertaken to better understand how KB+ was being used. The results of this research can be found on the Use Cases section of KB+. The Use Cases reflect how the system is being used to perform various library management operations and how users found KB+ beneficial to their performance, both adding value and saving them time. But there is work to be done.
A secondary outcome of this research was a series of problems related to the user interface, including complexity of vocabulary, difficulties with orientation in the site, etc.
These comments were taken on board, and a second piece of research specific to the user interface was carried out. The aim of this project was to gather feedback from users to help identify the main problem areas for those using the system.
The main concern about the interface was that KB+ design is more complex than necessary. Database design is the predominant approach in the present KB+ and it is not the simplest way to do things for users. A second highlighted concern is the large amount of information displayed, which is not always necessary to the users to perform their tasks.
The intention is to analyse and redesign the current user interface to ensure that the high-quality tools are accompanied by a smooth and straightforward user experience, the aim being to ensure that users feel confident that using KB+ adds value to their work, increasing the efficiency of their library operations. This could take the form of giving a better experience to their patrons, saving them valuable time or raising their levels of performance.
The KB+ team are pleased to be working with M/A and Pure Usability on this project, as well as with long-term partners Sero HE and Knowledge Integration.
A user-centred design approach has been chosen for this project. This should ensure the KB+ new interface is optimised to users' needs, and is helpful, engaging and easy to operate. Input and feedback from the KB+ community is invited, and anyone interested in participating should email knowledgebaseplus@jisc.ac.uk.
User testing – a group of users who are happy to participate in prototyping testing is needed. The testing session could take up to 30 minutes, and there will be several testing opportunities as the project develops. Those who wish to be involved in prototyping testing should contact Magaly Bascones on knowledgebaseplus@jisc.ac.uk.
New users, existing users and non-users are encouraged to get in touch.
What is KB+ and how can you find out more?
KB+ is a service from Jisc Collections that aims to help UK libraries manage their e-resources more efficiently by providing accurate publication, subscription, licence and management information. KB+ consists of three main modules (plus another in development), and has several in-built tools that enable users to perform diverse library management operations. Since work started on KB+ (in 2011), the main priority has been to fulfil the e-resources management requirements of the UK academic institutions.
Institutions have always welcomed, and continue to welcome, the concept of KB+ Plus. It has been built in close collaboration with librarians, consortia and other UK bodies such as SCONUL and RLUK, from whom much useful advice has been received. This community-centred approach has meant that early adopters of KB+ have been active participants, providing insightful information to the development work.
To find out more and sign up, visit the Events and training section of the website.


Beautiful slip stitch cardigan from Cascade 200 in womens sizes to fit 36 to 51 inch bust. Knit in 9 to 12 skeins of Cascade 220 in 5 different colors, larger (44 and over) sizes use 4,2,2,2,2 skeins of each color. Knit on size US 8 and 6 circular needles.


text:
Q: Revoke access to MySQL on MacOS after deleting all database users I am just getting into MySQL programming and I made the mistake of deleting the users in via my PHPMyAdmin dashboard which resulted in the errors in the image found attached.
I am using xampp on a mac device. I would appreciate any tips on how to resolve this issue so I can continue my course.
Thanks for your assistance
PHPMyAdmin server error


This statistic highlights the leading ground decaffeinated coffee brands in the United States in 2017, based on sales. In that year, Folgers was the best ranked ground decaf coffee brand in the United States based on sales of about 81.3 million U.S. dollars.
Which of the following coffee brands do you know (at least by name)?


text:
« International Team of Scientists Discredit "Scary" Sea Level Rise Myth: Possibly 2.1 Inch Increase By Year 2050 | Main | IPCC Gold-Standard Confirms: CO2 No Longer Has Any Global Warming Impact On Month of February »
Fundamental Lies of The UN's IPCC: "Food Production Harmed By CO2 & Warmer Temperatures"
Like the UN, the IPCC is a political organization that seemingly has a primary objective of misleading the public and policymakers about climate science. Another example of such behavior is.....
(click on chart to enlarge)
The empirical evidence and peer reviewed research is indisputable - essential food production has dramatically improved while CO2 levels and global temperatures increased.
Those are the stubborn facts that the adjacent chart reveals as unequivocal.
Yet, because of the political-driven agenda the IPCC pursues, their latest report states that the world's food production would be more "secure" if CO2 emissions were reduced. Hmm...the exact opposite of known scientific fact.
"There, it can be seen that enriching the air with CO2 almost always leads to significant increases in the photosynthetic rates and biomass production of all of the world's major food crops. And as for the highly-unlikely increase in global temperature that the world's climate alarmists predict to result from projected increases in the air's CO2 content, there are also many studies that reveal the positive consequences of warming for agriculture in Earth's cooler high-latitude regions, such as the recent study of Meng et al. (2014) dealing with maize production in the northern reaches of China. And there is also the significant body of work that reveals that as the atmosphere's CO2 concentration rises, the various temperatures at which different plants photosynthesize most proficiently rise right along with it..."
"Yet the primary efforts of both of these entities [Ed. the UN's IPCC and the UNFCCC] have been, and continue to be, directed against that which is most needed to produce the required amount food, as they both argue for reductions in anthropogenic CO2 emissions, which comprise much of the aerial "food" that sustains all of our food crops."
Truth be told, the headline of this post is not an IPCC quote but obviously it represents what the IPCC is attempting to convince the public of, and unfortunately, the real-world, objective science does not support it in the least.
Summary: The IPCC's fundamental lies continue to establish the blatant anti-science which permeates the entire UN's climate "research" reporting - it's propaganda spin all the way down.
Additional 'C3' charts that challenge the IPCC's anti-science. Note: NOAA CO2 levels on above chart have been super-imposed on the original found here.


text:
{-# LANGUAGE GADTs, DisambiguateRecordFields #-}

module CmmProcPoint
    ( ProcPointSet, Status(..)
    , callProcPoints, minimalProcPointSet
    , splitAtProcPoints, procPointAnalysis
    , attachContInfoTables
    )
where

import Prelude hiding (last, unzip, succ, zip)

import DynFlags
import BlockId
import CLabel
import Cmm
import PprCmm ()
import CmmUtils
import CmmInfo
import CmmLive (cmmGlobalLiveness)
import Data.List (sortBy)
import Maybes
import Control.Monad
import Outputable
import Platform
import UniqSupply

import Hoopl

-- Compute a minimal set of proc points for a control-flow graph.

-- Determine a protocol for each proc point (which live variables will
-- be passed as arguments and which will be on the stack).

{-
A proc point is a basic block that, after CPS transformation, will
start a new function.  The entry block of the original function is a
proc point, as is the continuation of each function call.
A third kind of proc point arises if we want to avoid copying code.
Suppose we have code like the following:

  f() {
    if (...) { ..1..; call foo(); ..2..}
    else     { ..3..; call bar(); ..4..}
    x = y + z;
    return x;
  }

The statement 'x = y + z' can be reached from two different proc
points: the continuations of foo() and bar().  We would prefer not to
put a copy in each continuation; instead we would like 'x = y + z' to
be the start of a new procedure to which the continuations can jump:

  f_cps () {
    if (...) { ..1..; push k_foo; jump foo_cps(); }
    else     { ..3..; push k_bar; jump bar_cps(); }
  }
  k_foo() { ..2..; jump k_join(y, z); }
  k_bar() { ..4..; jump k_join(y, z); }
  k_join(y, z) { x = y + z; return x; }

You might think then that a criterion to make a node a proc point is
that it is directly reached by two distinct proc points.  (Note
[Direct reachability].)  But this criterion is a bit too simple; for
example, 'return x' is also reached by two proc points, yet there is
no point in pulling it out of k_join.  A good criterion would be to
say that a node should be made a proc point if it is reached by a set
of proc points that is different than its immediate dominator.  NR
believes this criterion can be shown to produce a minimum set of proc
points, and given a dominator tree, the proc points can be chosen in
time linear in the number of blocks.  Lacking a dominator analysis,
however, we turn instead to an iterative solution, starting with no
proc points and adding them according to these rules:

  1. The entry block is a proc point.
  2. The continuation of a call is a proc point.
  3. A node is a proc point if it is directly reached by more proc
     points than one of its predecessors.

Because we don't understand the problem very well, we apply rule 3 at
most once per iteration, then recompute the reachability information.
(See Note [No simple dataflow].)  The choice of the new proc point is
arbitrary, and I don't know if the choice affects the final solution,
so I don't know if the number of proc points chosen is the
minimum---but the set will be minimal.

Note [Proc-point analysis]
~~~~~~~~~~~~~~~~~~~~~~~~~~

Given a specified set of proc-points (a set of block-ids), "proc-point
analysis" figures out, for every block, which proc-point it belongs to.
All the blocks belonging to proc-point P will constitute a single
top-level C procedure.

A non-proc-point block B "belongs to" a proc-point P iff B is
reachable from P without going through another proc-point.

Invariant: a block B should belong to at most one proc-point; if it
belongs to two, that's a bug.

Note [Non-existing proc-points]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

On some architectures it might happen that the list of proc-points
computed before stack layout pass will be invalidated by the stack
layout. This will happen if stack layout removes from the graph
blocks that were determined to be proc-points. Later on in the pipeline
we use list of proc-points to perform [Proc-point analysis], but
if a proc-point does not exist anymore then we will get compiler panic.
See #8205.
-}

type ProcPointSet = BlockSet

data Status
  = ReachedBy ProcPointSet  -- set of proc points that directly reach the block
  | ProcPoint               -- this block is itself a proc point

instance Outputable Status where
  ppr (ReachedBy ps)
      | setNull ps = text "<not-reached>"
      | otherwise = text "reached by" <+>
                    (hsep $ punctuate comma $ map ppr $ setElems ps)
  ppr ProcPoint = text "<procpt>"

--------------------------------------------------
-- Proc point analysis

procPointAnalysis :: ProcPointSet -> CmmGraph -> UniqSM (BlockEnv Status)
-- Once you know what the proc-points are, figure out
-- what proc-points each block is reachable from
-- See Note [Proc-point analysis]
procPointAnalysis procPoints g@(CmmGraph {g_graph = graph}) =
  -- pprTrace "procPointAnalysis" (ppr procPoints) $
  dataflowAnalFwdBlocks g initProcPoints $ analFwd lattice forward
  where initProcPoints = [(id, ProcPoint) | id <- setElems procPoints,
                                            id `setMember` labelsInGraph ]
                                    -- See Note [Non-existing proc-points]
        labelsInGraph  = labelsDefined graph
-- transfer equations

forward :: FwdTransfer CmmNode Status
forward = mkFTransfer3 first middle last
    where
      first :: CmmNode C O -> Status -> Status
      first (CmmEntry id) ProcPoint = ReachedBy $ setSingleton id
      first  _ x = x

      middle _ x = x

      last :: CmmNode O C -> Status -> FactBase Status
      last l x = mkFactBase lattice $ map (\id -> (id, x)) (successors l)

lattice :: DataflowLattice Status
lattice = DataflowLattice "direct proc-point reachability" unreached add_to
    where unreached = ReachedBy setEmpty
          add_to _ (OldFact ProcPoint) _ = (NoChange, ProcPoint)
          add_to _ _ (NewFact ProcPoint) = (SomeChange, ProcPoint)
                       -- because of previous case
          add_to _ (OldFact (ReachedBy p)) (NewFact (ReachedBy p'))
             | setSize union > setSize p = (SomeChange, ReachedBy union)
             | otherwise                 = (NoChange, ReachedBy p)
           where
             union = setUnion p' p

----------------------------------------------------------------------

-- It is worth distinguishing two sets of proc points: those that are
-- induced by calls in the original graph and those that are
-- introduced because they're reachable from multiple proc points.
--
-- Extract the set of Continuation BlockIds, see Note [Continuation BlockIds].
callProcPoints      :: CmmGraph -> ProcPointSet
callProcPoints g = foldGraphBlocks add (setSingleton (g_entry g)) g
  where add :: CmmBlock -> BlockSet -> BlockSet
        add b set = case lastNode b of
                      CmmCall {cml_cont = Just k} -> setInsert k set
                      CmmForeignCall {succ=k}     -> setInsert k set
                      _ -> set

minimalProcPointSet :: Platform -> ProcPointSet -> CmmGraph
                    -> UniqSM ProcPointSet
-- Given the set of successors of calls (which must be proc-points)
-- figure out the minimal set of necessary proc-points
minimalProcPointSet platform callProcPoints g
  = extendPPSet platform g (postorderDfs g) callProcPoints

extendPPSet :: Platform -> CmmGraph -> [CmmBlock] -> ProcPointSet -> UniqSM ProcPointSet
extendPPSet platform g blocks procPoints =
    do env <- procPointAnalysis procPoints g
       -- pprTrace "extensPPSet" (ppr env) $ return ()
       let add block pps = let id = entryLabel block
                           in  case mapLookup id env of
                                 Just ProcPoint -> setInsert id pps
                                 _ -> pps
           procPoints' = foldGraphBlocks add setEmpty g
           newPoints = mapMaybe ppSuccessor blocks
           newPoint  = listToMaybe newPoints
           ppSuccessor b =
               let nreached id = case mapLookup id env `orElse`
                                       pprPanic "no ppt" (ppr id <+> ppr b) of
                                   ProcPoint -> 1
                                   ReachedBy ps -> setSize ps
                   block_procpoints = nreached (entryLabel b)
                   -- | Looking for a successor of b that is reached by
                   -- more proc points than b and is not already a proc
                   -- point.  If found, it can become a proc point.
                   newId succ_id = not (setMember succ_id procPoints') &&
                                   nreached succ_id > block_procpoints
               in  listToMaybe $ filter newId $ successors b
{-
       case newPoints of
           []  -> return procPoints'
           pps -> extendPPSet g blocks
                    (foldl extendBlockSet procPoints' pps)
-}
       case newPoint of
         Just id ->
             if setMember id procPoints'
                then panic "added old proc pt"
                else extendPPSet platform g blocks (setInsert id procPoints')
         Nothing -> return procPoints'

-- At this point, we have found a set of procpoints, each of which should be
-- the entry point of a procedure.
-- Now, we create the procedure for each proc point,
-- which requires that we:
-- 1. build a map from proc points to the blocks reachable from the proc point
-- 2. turn each branch to a proc point into a jump
-- 3. turn calls and returns into jumps
-- 4. build info tables for the procedures -- and update the info table for
--    the SRTs in the entry procedure as well.
-- Input invariant: A block should only be reachable from a single ProcPoint.
-- ToDo: use the _ret naming convention that the old code generator
-- used. -- EZY
splitAtProcPoints :: DynFlags -> CLabel -> ProcPointSet-> ProcPointSet -> BlockEnv Status ->
                     CmmDecl -> UniqSM [CmmDecl]
splitAtProcPoints dflags entry_label callPPs procPoints procMap
                  (CmmProc (TopInfo {info_tbls = info_tbls})
                           top_l _ g@(CmmGraph {g_entry=entry})) =
  do -- Build a map from procpoints to the blocks they reach
     let addBlock b graphEnv =
           case mapLookup bid procMap of
             Just ProcPoint -> add graphEnv bid bid b
             Just (ReachedBy set) ->
               case setElems set of
                 []   -> graphEnv
                 [id] -> add graphEnv id bid b
                 _    -> panic "Each block should be reachable from only one ProcPoint"
             Nothing -> graphEnv
           where bid = entryLabel b
         add graphEnv procId bid b = mapInsert procId graph' graphEnv
               where graph  = mapLookup procId graphEnv `orElse` mapEmpty
                     graph' = mapInsert bid b graph

     let liveness = cmmGlobalLiveness dflags g
     let ppLiveness pp = filter isArgReg $
                         regSetToList $
                         expectJust "ppLiveness" $ mapLookup pp liveness

     graphEnv <- return $ foldGraphBlocks addBlock emptyBlockMap g

     -- Build a map from proc point BlockId to pairs of:
     --  * Labels for their new procedures
     --  * Labels for the info tables of their new procedures (only if
     --    the proc point is a callPP)
     -- Due to common blockification, we may overestimate the set of procpoints.
     let add_label map pp = mapInsert pp lbls map
           where lbls | pp == entry = (entry_label, fmap cit_lbl (mapLookup entry info_tbls))
                      | otherwise   = (block_lbl, guard (setMember pp callPPs) >>
                                                    Just (toInfoLbl block_lbl))
                      where block_lbl = blockLbl pp

         procLabels :: LabelMap (CLabel, Maybe CLabel)
         procLabels = foldl add_label mapEmpty
                            (filter (flip mapMember (toBlockMap g)) (setElems procPoints))

     -- In each new graph, add blocks jumping off to the new procedures,
     -- and replace branches to procpoints with branches to the jump-off blocks
     let add_jump_block (env, bs) (pp, l) =
           do bid <- liftM mkBlockId getUniqueM
              let b = blockJoin (CmmEntry bid) emptyBlock jump
                  live = ppLiveness pp
                  jump = CmmCall (CmmLit (CmmLabel l)) Nothing live 0 0 0
              return (mapInsert pp bid env, b : bs)

         add_jumps newGraphEnv (ppId, blockEnv) =
           do let needed_jumps = -- find which procpoints we currently branch to
                    mapFold add_if_branch_to_pp [] blockEnv
                  add_if_branch_to_pp :: CmmBlock -> [(BlockId, CLabel)] -> [(BlockId, CLabel)]
                  add_if_branch_to_pp block rst =
                    case lastNode block of
                      CmmBranch id          -> add_if_pp id rst
                      CmmCondBranch _ ti fi -> add_if_pp ti (add_if_pp fi rst)
                      CmmSwitch _ tbl       -> foldr add_if_pp rst (catMaybes tbl)
                      _                     -> rst

                  -- when jumping to a PP that has an info table, if
                  -- tablesNextToCode is off we must jump to the entry
                  -- label instead.
                  jump_label (Just info_lbl) _
                             | tablesNextToCode dflags = info_lbl
                             | otherwise               = toEntryLbl info_lbl
                  jump_label Nothing         block_lbl = block_lbl

                  add_if_pp id rst = case mapLookup id procLabels of
                                       Just (lbl, mb_info_lbl) -> (id, jump_label mb_info_lbl lbl) : rst
                                       Nothing                 -> rst
              (jumpEnv, jumpBlocks) <-
                 foldM add_jump_block (mapEmpty, []) needed_jumps
                  -- update the entry block
              let b = expectJust "block in env" $ mapLookup ppId blockEnv
                  blockEnv' = mapInsert ppId b blockEnv
                  -- replace branches to procpoints with branches to jumps
                  blockEnv'' = toBlockMap $ replaceBranches jumpEnv $ ofBlockMap ppId blockEnv'
                  -- add the jump blocks to the graph
                  blockEnv''' = foldl (flip insertBlock) blockEnv'' jumpBlocks
              let g' = ofBlockMap ppId blockEnv'''
              -- pprTrace "g' pre jumps" (ppr g') $ do
              return (mapInsert ppId g' newGraphEnv)

     graphEnv <- foldM add_jumps emptyBlockMap $ mapToList graphEnv

     let to_proc (bid, g)
             | bid == entry
             =  CmmProc (TopInfo {info_tbls  = info_tbls,
                                  stack_info = stack_info})
                        top_l live g'
             | otherwise
             = case expectJust "pp label" $ mapLookup bid procLabels of
                 (lbl, Just info_lbl)
                    -> CmmProc (TopInfo { info_tbls = mapSingleton (g_entry g) (mkEmptyContInfoTable info_lbl)
                                        , stack_info=stack_info})
                               lbl live g'
                 (lbl, Nothing)
                    -> CmmProc (TopInfo {info_tbls = mapEmpty, stack_info=stack_info})
                               lbl live g'
                where
                 g' = replacePPIds g
                 live = ppLiveness (g_entry g')
                 stack_info = StackInfo { arg_space = 0
                                        , updfr_space =  Nothing
                                        , do_layout = True }
                               -- cannot use panic, this is printed by -ddump-cmm

         -- References to procpoint IDs can now be replaced with the
         -- infotable's label
         replacePPIds g = {-# SCC "replacePPIds" #-}
                          mapGraphNodes (id, mapExp repl, mapExp repl) g
           where repl e@(CmmLit (CmmBlock bid)) =
                   case mapLookup bid procLabels of
                     Just (_, Just info_lbl)  -> CmmLit (CmmLabel info_lbl)
                     _ -> e
                 repl e = e

     -- The C back end expects to see return continuations before the
     -- call sites.  Here, we sort them in reverse order -- it gets
     -- reversed later.
     let (_, block_order) = foldl add_block_num (0::Int, emptyBlockMap) (postorderDfs g)
         add_block_num (i, map) block = (i+1, mapInsert (entryLabel block) i map)
         sort_fn (bid, _) (bid', _) =
           compare (expectJust "block_order" $ mapLookup bid  block_order)
                   (expectJust "block_order" $ mapLookup bid' block_order)
     procs <- return $ map to_proc $ sortBy sort_fn $ mapToList graphEnv
     return -- pprTrace "procLabels" (ppr procLabels)
            -- pprTrace "splitting graphs" (ppr procs)
            procs
splitAtProcPoints _ _ _ _ _ t@(CmmData _ _) = return [t]

-- Only called from CmmProcPoint.splitAtProcPoints. NB. does a
-- recursive lookup, see comment below.
replaceBranches :: BlockEnv BlockId -> CmmGraph -> CmmGraph
replaceBranches env cmmg
  = {-# SCC "replaceBranches" #-}
    ofBlockMap (g_entry cmmg) $ mapMap f $ toBlockMap cmmg
  where
    f block = replaceLastNode block $ last (lastNode block)

    last :: CmmNode O C -> CmmNode O C
    last (CmmBranch id)          = CmmBranch (lookup id)
    last (CmmCondBranch e ti fi) = CmmCondBranch e (lookup ti) (lookup fi)
    last (CmmSwitch e tbl)       = CmmSwitch e (map (fmap lookup) tbl)
    last l@(CmmCall {})          = l { cml_cont = Nothing }
            -- NB. remove the continuation of a CmmCall, since this
            -- label will now be in a different CmmProc.  Not only
            -- is this tidier, it stops CmmLint from complaining.
    last l@(CmmForeignCall {})   = l
    lookup id = fmap lookup (mapLookup id env) `orElse` id
            -- XXX: this is a recursive lookup, it follows chains
            -- until the lookup returns Nothing, at which point we
            -- return the last BlockId

-- --------------------------------------------------------------
-- Not splitting proc points: add info tables for continuations

attachContInfoTables :: ProcPointSet -> CmmDecl -> CmmDecl
attachContInfoTables call_proc_points (CmmProc top_info top_l live g)
 = CmmProc top_info{info_tbls = info_tbls'} top_l live g
 where
   info_tbls' = mapUnion (info_tbls top_info) $
                mapFromList [ (l, mkEmptyContInfoTable (infoTblLbl l))
                            | l <- setElems call_proc_points
                            , l /= g_entry g ]
attachContInfoTables _ other_decl
 = other_decl

----------------------------------------------------------------

{-
Note [Direct reachability]

Block B is directly reachable from proc point P iff control can flow
from P to B without passing through an intervening proc point.
-}

----------------------------------------------------------------

{-
Note [No simple dataflow]

Sadly, it seems impossible to compute the proc points using a single
dataflow pass.  One might attempt to use this simple lattice:

  data Location = Unknown
                | InProc BlockId -- node is in procedure headed by the named proc point
                | ProcPoint      -- node is itself a proc point

At a join, a node in two different blocks becomes a proc point.
The difficulty is that the change of information during iterative
computation may promote a node prematurely.  Here's a program that
illustrates the difficulty:

  f () {
  entry:
    ....
  L1:
    if (...) { ... }
    else { ... }

  L2: if (...) { g(); goto L1; }
      return x + y;
  }

The only proc-point needed (besides the entry) is L1.  But in an
iterative analysis, consider what happens to L2.  On the first pass
through, it rises from Unknown to 'InProc entry', but when L1 is
promoted to a proc point (because it's the successor of g()), L1's
successors will be promoted to 'InProc L1'.  The problem hits when the
new fact 'InProc L1' flows into L2 which is already bound to 'InProc entry'.
The join operation makes it a proc point when in fact it needn't be,
because its immediate dominator L1 is already a proc point and there
are no other proc points that directly reach L2.
-}

{- Note [Separate Adams optimization]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
It may be worthwhile to attempt the Adams optimization by rewriting
the graph before the assignment of proc-point protocols.  Here are a
couple of rules:

  g() returns to k;                    g() returns to L;
  k: CopyIn c ress; goto L:
   ...                        ==>        ...
  L: // no CopyIn node here            L: CopyIn c ress;

And when c == c' and ress == ress', this also:

  g() returns to k;                    g() returns to L;
  k: CopyIn c ress; goto L:
   ...                        ==>        ...
  L: CopyIn c' ress'                   L: CopyIn c' ress' ;

In both cases the goal is to eliminate k.
-}

redpajama_set_name: RedPajamaGithub


text:
import {BaseIfc} from "./BaseIfc"

// http://www.buildingsmart-tech.org/ifc/IFC4/final/html/link/ifcfrequencymeasure.htm
export type IfcFrequencyMeasure = number


When you live in the desert, where there isn't much snow, snowmen tend to be a bit on the small-ish side.
This charming little fellow is the perfect example of an Arizona snowman. He stands about six inches tall (when he's wearing his hat) and he's filled with frijoles.
He's crocheted, amigurumi style, with Premier Yarns Serenity Sock Weight in Soft White, filled with navy beans, and topped off with a Charcoal colored hat.
The Amigurumi Arizona Snowman Pattern is now available in my shop to spread a little winter happiness your way.
Printable Crochet PDF Pattern: Amigurumi Snowman - This little guy is six inches tall, filled with frijoles and ready to spread some holiday cheer.


text:
Who Will Rule Space?
The Proof of the BIBLE
HURRICANE, TORNADOES, FLOODS WRECK SOUTH TEXAS
Eugene M Walter
First it was vicious Hurricane Beulah. Then scores of tornadoes combined with torrential rains. Finally, the most devastating floods in Texas' history. WHY did it happen — and what does it mean? Read the answer in this on-the-spot report from our Texas staff.
IT IS NOW admitted. One billion dollars estimated property damage. Hundreds of homes obliterated by hurricane winds. Thousands more devastatingly flooded by 10-foot tides, crashing waves and twenty-inch-plus rains — on the heels of a severe drought.
Electrical and communications systems "damaged unbelievably." Millions of dollars' worth of citrus fruit, just in the beginning stages of harvest, knocked to the ground; numerous fruit trees uprooted and destroyed. At least seventy tornadoes (some reports said more than 100) spawned in the aftermath.
Countless Thousands Hit
At least one million people isolated or immobilized. And 250,000 driven from their homes to emergency shelters in Texas alone (to say nothing of Mexico) at the height of Beulah's fury.
Forty thousand square miles of land — an area equivalent to the entire state of Kentucky or larger than the combined area of Scotland and Wales — virtually one gigantic, marshy lake!
News commentator Porter Randall thus described the disaster: "Hurricane Beulah has created a tragedy the like of which Texas has never seen before."
Director of the National Hurricane Center in Miami, R.H. Simpson, acknowledged that Beulah was one of the three most powerful hurricanes of this century, and that her flooding was the worst in history ever caused by a hurricane.
Officials of the Office of Emergency Planning said that the sheltering and feeding of the refugees was "probably the greatest rescue operation for a natural disaster in history."
Beulah's Destructive Arrival
For more than two weeks Beulah had been building up steam in the Caribbean — wreaking havoc and death wherever she touched land. Then on the morning of September 20 she ripped into South Texas near the U.S. Mexican border in the general area of Brownsville.
Port Isabel, a coastal resort community of 5,000, was in the direct line of Beulah's 160-mile-per-hour fury. All but five or six of the residents had evacuated — and it was a good thing. Port Isabel was mostly a heap of wreckage when Beulah left.
Erratic Beulah next headed inland toward the northwest. She slammed into the northern edge of the rich Rio Grande Valley and savagely attacked the citrus orchards.
By late evening Beulah had worked herself inland over ranch country and was beginning to lose her punch.
But the worst was yet to come.
As soon as it was light the next morning (Thursday), PLAIN TRUTH staff members began a survey of the disaster area by car. An aerial survey was impossible at this time because the sky was dark and foreboding. Radio broadcasts were warning continually to be on the alert for tornadoes throughout the entire area.
Port Isabel was about 125 miles south of Kingsville, our departure point that morning. The first 75 miles of this distance on U.S. Highway 77 is through very lightly populated ranch country — formerly the famous King Ranch.
On this morning after the hurricane, however, little land was to be seen. It was mostly one high, swampy lake. Cattle could be seen hovering together on the few available patches of high ground. Most of the time the water was right up to the road's edge. Frequently it overflowed the highway by five or six inches.
Finally we arrived in Raymondville, a small city of 10,000 on the northern perimeter of the valley's cultivated area. It was here that the scope of the destruction began to hit us.
In Raymondville
Snagged, snarled power lines; snapped utility poles; denuded and uprooted trees and shrubbery; wrecked signs and billboards; buildings with windows knocked out and part of the roof gone — these were the sights that met the eye in all directions.
And everywhere — water. Dirty water. Water with jagged and splintered debris sticking out of it.
Dark and heavy clouds cast a pall over the city like a suffocating blanket. Occasionally they unleashed torrents of rain. To add to the gloominess of this unnatural, midmorning darkness, the city was without lights. It was without electric power and telephone service.
We tried to buy gasoline — but there was no electric power to operate the pumps.
There were no usable toilet facilities the sewerage system was out.
The water was not safe to drink. We finally found a small grocery store that had a few gallons of bottled water. This drinkable water and the store's few remaining items of groceries were being sold fast. Several inches of water covered the floor.
Across the street, we discovered a gasoline station that was just opening for business. Electricity had somehow been restored to the hospital, and this station happened to be on the same line as the hospital.
As we filled with fuel, one man was cursing because he had been refused shelter at one of the churches during the hurricane. He was a member of the same general denomination as this church, but he was not a member of that particular church, so he was turned away. He went back home and rode out the hurricane there.
South of Raymondville, the evidences of destruction were even greater. Damage to buildings and power lines appeared more extensive. Cultivated fields were filled with water and the citrus groves were flooded up to the lowest branches of the trees.
At Highway 100, we turned east to travel the final twenty miles to Port Isabel. Most of this highway was under several inches of water, and the land surrounding the highway was almost completely inundated. Travel was slow.
At Port Isabel
We arrived at Port Isabel about noon and were stopped at the town's entrance by the National Guard. No one was being allowed entrance except returning residents and newsmen. We showed our credentials and were admitted.
Main Street was an unbelievable maze of destruction. On one street a jeep was overturned. On another a huge houseboat with pontoons lay on its side and blocked the entire street.
An estimated 85 percent of the structures in town were destroyed, and all others were damaged.
Some of the residents who had returned were armed and on the lookout for looters. What one would loot and where you would take it I never quite figured out.
At the National Guard's temporary base, we were introduced to Captain Sanders and Mayor Leo Sanders who were both most helpful and courteous to us. They filled us in on many details and personally allowed us entrance to Padre Island.
On Padre Island
Padre Island is separated from the mainland and Port Isabel by a three-mile causeway. A bridge on the causeway had been damaged, and for fear of damaging it further, not even residents of the island were being allowed to pass over the causeway. Only police officials and a few newsmen were allowed passage. Mayor Sanders was kind enough to give us personal permission and we were among the first to cross over to the island.
The south part of this island has between 200 and 250 year-round residents, many of whom live in a trailer court at the southern tip.
This trailer court was obliterated. The Department of Public Safety said that 112 out of the 116 trailer homes had been destroyed. We didn't see any that were not destroyed, though a few may not have been.
And by "destroyed" I don't mean just lightly tipped over. I mean shattered. The difference in air pressure when the hurricane struck caused many of these homes to literally explode. What remained was just a mangled heap of rubbish.
Other facilities on this island resort were likewise extensively damaged.
The Flooding Begins
From Port Isabel, we drove to Brownsville. This road was even more flooded and in spots along the ocean where the tides had come crashing in, it was completely washed out.
Brownsville, (population 50,000) though not in the most direct path of Beulah, had sustained heavy damage and was already in the midst of a $120,000 cleanup operation.
As we left Brownsville and headed up the valley, it began to rain very hard! Suddenly we found ourselves in very deep water — literally!
Radio reports said that the entire region for several hundred miles north was now under torrential rains. More than twenty inches had fallen in some areas and roads were being closed. This deluge was about the same as the average annual rainfall over much of this area!
Immediately we headed for Harlingen to the north, but heavily flooded roads made travel slow. The land was unbelievably level and water was everywhere.
In Harlingen the Department of Public Safety told us that if we had any hopes of getting out we had better head north to U.S. 77 immediately — that it might already be too late.
As we followed another car on a spur road leading to U.S. 77, we suddenly found ourselves in water up to the bumper. To make matters worse, it was raining furiously and the water was so deep that all roadside markers had disappeared. It was impossible to turn around, and unless we kept moving, the car would stall. There was only one thing to do: head for the traffic light that was hanging above the road about a quarter of a mile away and hope that the road didn't bend anywhere in between!
Thankfully, we made it through this difficult stretch and onto the main highway. But even the main road was seriously flooded now and driving was hazardous.
Warnings Unheeded
Few cars were headed our direction — north. But hundreds were headed south — right into the flooded area we were leaving!
Who were these people and where were they going? These were people who had evacuated to escape Beulah. Now that Beulah had passed they thought that it was all over and they were returning to their homes — contrary to the instructions being broadcast continually over the radio. But their homes were now in greater danger than ever and certainly more flooded than when Beulah struck. It was a pathetic, moving sight.
We made it to Corpus Christi only minutes before the roads became completely impassable. By now it was becoming obvious that the flooding and continuing rain were going to be a greater disaster than the hurricane itself. Highways throughout the area were being closed, emergency calls were going out for boats to evacuate people from a dozen or more different communities. And tornadoes were a continuing threat.
Operation Bravo
A few days later, when the skies had cleared, but when the flooding was at its worst, we flew photographers back into the area. They were able to land at Harlingen, home base for Operation Bravo — the Army's relief operation. Here they were extended every consideration by Army personnel. They were taken by Army helicopter over the entire area as the Army conducted rescue operations and dropped food supplies to those in need on both sides of the U.S. Mexican border.
PLAIN TRUTH photographer Lyle Christopherson gives this report on Operation Bravo:
I was assigned to a helicopter which flew missions into the heart of the disaster area. It was piloted by two Vietnam veterans, CW3 F. W. Cross, pilot, and CW3 R. L. Simkins, copilot. These men went about their flight assignment in the truly professional manner of persons not just doing a job, but doing this job with zeal, accuracy, dedication, integrity and a sense of purpose. With a combined flight log that totaled upwards of 6,500 hours, their procedures left no doubt that every movement or action during the flight had purpose.
Our first mission together was a late afternoon flight from Operation Bravo's Headquarters in Harlingen to Reynosa, Mexico. This flight went right over Harlingen's most beautiful homes — and also the area of some of the city's worst flooding. The flight continued over numerous large brimful flood canals and the wide, rampaging, debris-laden Rio Grande River.
At Reynosa our helicopter was assigned to drop food along the muddy Rio Grande as we proceeded to the north. Shortly after the huge CH-47B helicopter lifted off, we found our first food recipients. The big whirlybird lowered slowly along a section of railroad track and the crewman in the rear began throwing the heavy burlap bags containing canned foods to the eager, hat-waving amigos running down the tracks. The goods had to be dropped some distance away so that the wind from the helicopter blades would not blow the people into the murky-brown waters.
Several other similar stops were made before the mission was completed.
The next day began as the one before: a briefing at 0630, a quick cup of coffee, and the assignment of flight missions for the first half of the day.
It is not an easy job to be dashing about just a few feet above the murky floodwaters trying to find those who need prompt aid.
Nor is it a light matter to listen to the screaming turbines that supply the power for the huge helicopters. Even with adequate ear protection, the whine and clatter of just a few hours flight in one of these big helping hands of modern aviation made my ears ring for hours.
Surely the Army and these pilots and crew members deserve a pat on the back and a "thank you" for a job well done. And so do thousands of others who worked long hours under trying circumstances to help those in need: the telephone and electrical repairmen, the Red Cross volunteers, policemen and firemen, truck drivers, boatmen, food servers — and a host of others.
Adequate food, water and shelter were not the only problems faced by the flood victims. Whenever there is a disaster of this type and magnitude, the threat of disease is always present.
This report from the Tyler Morning Telegraph (Sept. 29, 1967) gives an insight into some other problems: "Texas fought clouds of mosquitoes so thick that they blackened a man's arm, leaving trails of blood when brushed away. Knots of writhing snakes were found in abandoned homes when residents came back. Two persons were bitten in the badly flooded area northeast of Corpus Christi, but were in satisfactory condition."
In some areas a few trees were blackened with tarantulas trying to escape the floodwaters.
And then there was the smell. The smell of bloated and decaying cows, dogs and chickens. The smell of waterlogged wood, rotting fruit and vegetation, and water-soaked textile goods. The smell of fetid backed-up sewage. These and a hundred other smells seemed at times to dominate everything.
The memory of Beulah will linger for a long time to come in the hearts and minds of those whose lives were so forcibly altered by her.
PLAIN TRUTH Report Different
Hundreds of news media had their reporters and photographers covering this catastrophe. Some of the small newspapers could send only a lone reporter with his camera. On the other hand, the big magazines and radio and television networks had whole armies of reporters, photographers and cameramen on the scene with private jets, private helicopters, and hundreds of thousands of dollars' worth of equipment all at their immediate disposal.
Some were there to sensationalize. Others were there just to fill their day's quota of 2,000 words of copy — whether they had something worthwhile to say or not. Many others were careless with the facts because they had a deadline to meet. At one point so many confusing "facts" were being circulated and printed that nobody knew what to believe.
Our purpose is to report to you those things which we have seen with our own eyes, and to check as carefully as we can those facts or accounts which we pass on to you from others. We do not "blow up" an already tragic situation just to fill up space, meet a deadline, or fill a quota. We receive no pleasure from telling of wrecked homes, destroyed property, disrupted lives, suffering, misery and death. But we have a commission to perform. And reporting the meaning of these terrible catastrophes is an important part of that commission. It is the meaning of this tragedy that has been overlooked.
What about it? Do you know WHY this tragedy struck? Was there a reason?
And does it mean anything to You — you who live in some other part of the United States, in Canada, England, South Africa, Australia or some other part of the world?
YES, IT DOES! Other news sources may have told you what happened. But they simply do not know WHY it happened. And they wouldn't be allowed to tell you if they did know!
That is what makes this report different. We have something far more important to tell you than just what happened. We will now tell you why this disaster struck South Texas and what it means to you, personally — whoever you are and wherever you live!
Who Controls the Weather?
In our modern, materialistic world, we have forgotten that there is an all-powerful, all-knowing God in heaven who rules every facet of this whole universe. That God — whose existence you can prove — controls the weather.
Man can upset nature's intricate balance in the weather pattern. But he cannot control the weather. God and God alone is the Master Weatherman and it's high time we began to realize that fact.
We teach our children the story of Jesus calming a dreadfully stormy sea by simply standing up and commanding, "Peace! Be still!" (Mark 4:37-41) Because many don't really believe it, however, it usually sounds like a fairy tale or a piece of fiction.
But this isn't just a fanciful story whose purpose is to entertain children for a few minutes in Sunday school. This event really happened! It ought to teach us, among other things, that Jesus Christ controls the weather.
And because Christ is "the same yesterday, and today, and forever" (Heb. 13:8), that same living Christ can and does control the weather today!
God has always controlled the weather — and He always will! God rules supreme!
"Whatsoever the Lord pleased, that DID He in heaven, and in earth, in the seas, and all deep places. He causeth the vapors to ascend from the ends of the earth'; he maketh lightnings for the rain; he bringeth the wind out of his treasuries" (Ps. 135:6-7).
God sends "Fire, and hail; snow, and vapors; stormy wind fulfilling his word" (Ps. 148:8).
Yes, God is in complete control. He is in full charge. Whatever He desires or allows HAPPENS. He gives a command — it is DONE.
Throughout the Bible, control of the elements is named as one of the most outstanding means by which God demonstrates His awesome power to man.
Why Violent Weather in Texas
The weather is the single most important factor in the economy of a nation.
When man is obedient to God, God gives good weather as one of His choicest blessings.
But when man is disobedient and rebellious, God uses His awesome ability to control the weather as a powerful and fearful means of punishment.
"So persecute them with thy tempest, and make them afraid with thy storm. That men may know that thou, whose name alone is the Eternal [Yahweh, in Hebrew], art the most high over all the earth" (Ps. 83:15, 18).
God allows violent weather to strike fear into the hearts of men. He sends it as an alarm — a warning — that something is very seriously WRONG!
That is precisely WHY God permitted Hurricane Beulah, the tornadoes, the torrential rains and the floods to South Texas. Will the nation heed the warning that something is drastically wrong that our peoples are sinning?
"Sin is the transgression of the law" (I John 3:4) — the breaking of God's Ten Commandments.
Have we broken the Commandments: "Thou shalt have no other gods before me"; and "Thou shalt not make unto thee any graven image"? We surely have! We place just about anything and everything ahead of God and obedience to Him!
Have we broken the third Commandment which tells us not to take God's name in vain? As we were in the disaster area we heard more cursing, swearing and damning of God's name than we had in a long time.
Do we keep God's Sabbath holy? No — many hate that Commandment the worst of all! They wouldn't dream of keeping that one!
What about dishonoring parents, stealing, killing, committing adultery, lying and coveting? Why, our nations do these things all the time! Surely we shouldn't have to quote statistics to prove it! Read any newspaper!
We are sinning nations!
And we in the United States, of all people, have the least excuse.
Without Excuse!
In Psalm 147 God tells us why our people are without excuse:
"He sendeth forth his commandment upon earth: His word runneth very swiftly. He giveth snow like wool: he scattereth the hoarfrost like ashes. He casteth forth his ice like morsels: who can stand before his cold? He sendeth out his word, and melteth them: he causeth his wind to blow, and the waters flow. He sheweth his word unto Jacob, his statutes and his judgments unto Israel. He bath not dealt so with any nation: and as for his judgments, they have not known them. Praise ye the Lord" (Ps. 147:15-20).
Yes, we in the United States are part of God's people Israel — the literal descendants of the ancient House of Israel, the so-called Lost Ten Tribes. So are the other English-speaking nations — Britain, Canada, Australia, South Africa.,(For proof of this astounding fact write for our free book The U.S. and British Commonwealth in Prophecy) We have been blessed by God as no other nations on earth. And one of the biggest blessings we have had has been access to the Word of God — access to God's laws and statutes which produce every blessing we have.
But what have we done with this knowledge — these blessings?
Oh, yes! We have translated the Bible into many other languages and distributed it around the world.
We have given it to others.
BUT WE HAVEN'T LIVED BY IT OURSELVES! And WE OUGHT TO KNOW BETTER!
That is why we are without excuse!
Our people say to God, "Depart from us; for we desire not the knowledge of thy ways. What is the Almighty, that we should serve him? and what profit should we have, if we pray unto him?" (Job 21:14-15) Yes, who needs God, many ask?
God is now beginning to deal with this attitude. "He [God] rewardeth him [the wicked], and he shall KNOW it. His eyes shall see his destruction, and he shall drink of the wrath of the Almighty" (verses 19-20).
God is beginning to punish. But He is not punishing all who are guilty — because all areas are guilty. Thus far the punishments have been primarily economic — a loss of the material things we hold so dear. They have not yet resulted in a great loss of human life.
Did you notice that, even though Beulah's disaster was spread over a wide area and caused one billion dollars' worth of property damage, only comparatively few lives were lost in Texas!
God Almighty is being merciful — hoping that we will "get the point" and begin to change our ways. But if we refuse to take the warning, God is going to punish harder.
For years The WORLD TOMORROW broadcast and The PLAIN TRUTH have been warning that our sins would lead to disasters unless we change our ways and turn to God with all our hearts. And is it significant that this major natural disaster should have been allowed to strike in South Texas — an area which has probably received a more powerful warning witness for a longer time than about any other part of the United States? The WORLD TOMORROW broadcast has been blanketing this area from both local Texas stations and the big Mexican stations for some twenty years!
Will we heed? Will we repent of our rebellion against God and His Law which He gave for our own good?
Will Your Area Be Next?
The tragedy created by Beulah may not have affected your area. But of this you can be assured: unless we, God's nation of modern Israel, repent — and repent quickly — a similar or even greater disaster is going to strike right where you live. And that within the next very few years!
It may not be a hurricane or floods. But disaster of some kind — drought, pestilence, earthquake, disease, etc. — WILL STRIKE. Prophecy PROVES it (see our free booklets 1975 In Prophecy and The Book of Revelation Unveiled at Last).
God will not force this entire nation to repent. But you yourself CAN repent. You can begin to change your way of life NOW. You don't have to learn the hard way.
God's people may suffer to an extent in the punishments God sends on the rebellious. Some of God's people who lived in the disaster area of South Texas suffered damage during this storm. But He will see that those who obey Him are more than compensated for their losses.
"The Lord trieth the righteous: but the wicked and him that loveth violence His soul hateth. Upon the wicked He shall rain snares, fire and brimstone, and an horrible tempest: this shall be the portion of their cup" (Ps. 11:5-6).
God allows the righteous to suffer a little as a trial to their faith — to test and strengthen them. But when the time of REAL trouble comes upon this world, God promises protection and deliverance to those who humbly put their trust in Him.
"The Lord is slow to anger, and GREAT IN POWER, and will not at all acquit the wicked: the Lord hath His way in the whirlwind and in the storm, and the clouds are the dust of His feet. He rebuketh the sea, and maketh it dry, and drieth up, all the rivers... The mountains quake at Him, and the hills melt, and the earth is burned at His presence, yea, the world, and all that dwell therein. Who can stand before His indignation? and who can abide in the fierceness of His anger? His fury is poured out like fire, and the rocks are thrown down by Him. The Lord is good, a strong hold in the day of trouble; and He KNOWETH them that trust in Him" (Nahum 1:3-7).
"Great is our Lord, and of great power: His understanding is infinite. The Lord lifteth up the meek: He casteth the wicked down to the ground. He delighteth not in the strength of the horse, He taketh not pleasure in the legs of a man. The Lord taketh pleasure in them that fear Him, in those that hope in His mercy" (Ps. 147:56, 10-11).
You have only one hope in the days ahead: the Eternal GOD.
Now what about you? Can you take a warning? Can you see the meaning behind the destruction caused by Hurricane Beulah? Can you learn from this disaster?
Or was this warning lost on you? Are you going to have to see bigger and greater things before you will be convinced? Are you going to have to personally suffer before you learn? Are you going to insist on learning the hard way? Will God have to strike your area before you wake up?
The decision is yours. No one else can make it for you.
Plain Truth Magazine November 1967 Vol XXXII, No.11