text:
window.neo = window.neo || {};
neo.Game = function(game) {
	this.resizeObj = null;
	// this.songWithAnalyse = null;
	// this.bmpAnalysePreview = null;
	// this.spriteAnalyse = null;
	this.soundAnalyseSprite = null;

	this.checkbox = null;
};

neo.Game.prototype = {
	create: function() {

		// set stage background
		this.game.stage.backgroundColor = "#FFFFFF";

		// create reference to sound analyse plugin
		this.soundAnalyse = this.game.plugins.add(new Phaser.Plugin.SoundAnalyse(this));

		// create sound analyse sprite with graphic support	and set to show chart bars
		this.soundAnalyseSprite =
            this.soundAnalyse.add.soundAnalyseSprite(20, 200, 530, 200, "song1", true, this._onDecodeFinish, this)
			.showFrequencyDomainChartBars(true);

		// create GUI so we can show all sound analyse sprite options
		new Phaser.CheckBox(this.game, 20, 50, "check_radio", { text: "Chart bars", checked: true, onChecked: this.soundAnalyseSprite.showFrequencyDomainChartBars, context: this.soundAnalyseSprite });
		new Phaser.CheckBox(this.game, 180, 50, "check_radio", { text: "Uniform chart bars", onChecked: function (val) {
			this.soundAnalyseSprite.showFrequencyDomainChartUniform(val);
			chUniform.visible = val;
		}, context: this });
		var chUniform = new Phaser.CheckBox(this.game, 370, 50, "check_radio", { text: "Uniform chart mirror", onChecked: this.soundAnalyseSprite.showFrequencyDomainChartUniformMirror, context: this.soundAnalyseSprite });
		chUniform.visible = false;
		new Phaser.CheckBox(this.game, 20, 100, "check_radio", { text: "time frequency", onChecked: this.soundAnalyseSprite.showTimeDomainChart, context: this.soundAnalyseSprite });
		var rq1 = this.game.add.group();
		rq1.add(new Phaser.RadioBox(this.game, 180, 100, "check_radio", { text: "volume meter", frameCheck: 3, frameUncheck: 2, onChecked: this.soundAnalyseSprite.showVolumeMetar, context: this.soundAnalyseSprite }));
		rq1.add(new Phaser.RadioBox(this.game, 370, 100, "check_radio", { text: "volume meter LR", frameCheck: 3, frameUncheck: 2, onChecked: this.soundAnalyseSprite.showVolumeMetarLeftRight, context: this.soundAnalyseSprite }));
		var rq2 = this.game.add.group();
		rq2.add(new Phaser.RadioBox(this.game, 20, 150, "check_radio", { text: "Bg. volume", frameCheck: 3, frameUncheck: 2, onChecked: this.soundAnalyseSprite.showBackgroundVolume, context: this.soundAnalyseSprite }));
		rq2.add(new Phaser.RadioBox(this.game, 180, 150, "check_radio", { text: "Bg. data", frameCheck: 3, frameUncheck: 2, onChecked: this.soundAnalyseSprite.showBackgroundData, context: this.soundAnalyseSprite }));

	},
	_onDecodeFinish: function () {
		console.log("Sound decoding finish!");
	},
	resizePage: function (oldW, oldH, w, h) {
	},
	managePause: function() {
		this.game.paused =! this.game.paused;
	},
	update: function() {
	},
};

/**
* Sprites are the lifeblood of your game, used for nearly everything visual.
*
* At its most basic a Sprite consists of a set of coordinates and a texture that is rendered to the canvas.
* They also contain additional properties allowing for physics motion (via Sprite.body), input handling (via Sprite.input),
* events (via Sprite.events), animation (via Sprite.animations), camera culling and more. Please see the Examples for use cases.
*
* This class represent checkbox GUI element
*
* @class Phaser.CheckBox
* @extends Phaser.Sprite
* @constructor
* @param {Phaser.Game} game - A reference to the currently running game.
* @param {number} x - The x coordinate (in world space) to position the Sprite at.
* @param {number} y - The y coordinate (in world space) to position the Sprite at.
* @param {string|Phaser.RenderTexture|Phaser.BitmapData|PIXI.Texture} key - This is the image or texture used by the Sprite during rendering. It can be a string which is a reference to the Cache entry, or an instance of a RenderTexture or PIXI.Texture.
* @param {Object} [options={}] - object with checkbox properties, all properies are decribed below
* @subparam {string|number} [frameCheck=0] - If this Sprite is using part of a sprite sheet or texture atlas you can specify the exact frame to use by giving a string or numeric index and it will represent checkbox checked state
* @subparam {string|number} [frameUncheck=1] - If this Sprite is using part of a sprite sheet or texture atlas you can specify the exact frame to use by giving a string or numeric index and it will represent checkbox unchecked state
* @subparam {string|number} [frameCheckedDisabled=0] - If this Sprite is using part of a sprite sheet or texture atlas you can specify the exact frame to use by giving a string or numeric index and it will represent checkbox checked state when it is disabled
* @subparam {string|number} [frameUncheckedDisabled=1] - If this Sprite is using part of a sprite sheet or texture atlas you can specify the exact frame to use by giving a string or numeric index and it will represent checkbox unchecked state when it is disabled
* @subparam {Boolean} [checked=false] - true if checkbox is checked
* @subparam {Boolean} [enabled=true] - true if checkbox is checked
* @subparam {String} text - text label for this checkbox
* @subparam {Object} [textStyle={ font: "16px Arial", fill: "#ffffff", align: "center" }] - text style description
* @subparam {Number} [textPosition=Phaser.CheckBox.tpLeft] - text position
* @subparam {Number} [padding=1] - padding between text and checkbox image
* @subparam {Function} onChecked - callback method on checkbox change check state
* @subparam {Object} context - context object to be provided for checkbox check state change callback method
*/
Phaser.CheckBox = function (game, x, y, key, options) {

    this.options = options || {};

	this._checkFrame = this.options.frameCheck || 0;

	this._uncheckFrame = this.options.frameUncheck || 1;

	this._checkFrameDisabled = this.options.frameCheckedDisabled || 0;

	this._uncheckFrameDisabled = this.options.frameUncheckedDisabled || 1;

    this.onChecked = new Phaser.Signal();

    if (typeof this.options.onChecked === 'function') {
        this.onChecked.add(this.options.onChecked, this.options.context || this);
    }

	// call Sprite constructor
	Phaser.Sprite.call(this, game, x, y, key, this._uncheckFrame);

    if (this.options.parentGroup) {
        this.options.parentGroup.add(this);
    } else {
        game.add.existing(this);
    }

	this._imgKey = key;

	Object.defineProperty(this, "imgKey", {

		get: function () {
			return this._imgKey;
		},
		set: function (val) {
            if (this.game.cache.checkImageKey(val)) {
                this._imgKey = val;
                this.loadTexture(val, 0);
                this._updateEnableState();
            }
		}

	});

	this._checked = false;

	Object.defineProperty(this, "checked", {

		get: function () {
			return this._checked;
		},
		set: function (val) {
			this._updateCheckState(val);
		}

	});

    this._enabled = this.options.enabled !== false;

	Object.defineProperty(this, "enabled", {

		get: function () {
			return this._enabled;
		},
		set: function (val) {
            if (typeof val === 'boolean' && this._enabled != val) {
                this._enabled = val;
                this._updateEnableState();
            }
		}

	});

	this._updateCheckState(this.options.checked === true);

    if (!this._enabled) { this._updateEnableState(); }

	this.inputEnabled = true;
    this.input.useHandCursor = true;

    this.events.onInputDown.add(this._checkCursorClick, this);

	this._text = this.options.text || "";

	Object.defineProperty(this, "text", {

		get: function () {
			return this._text;
		},
		set: function (val) {
            this._text = val;
			this.label.text = val;
		}

	});

	var textStyle = this.options.textStyle || { font: "16px Arial", fill: "#000000", align: "center" };

	this.label = game.add.text(x, y, this._text, textStyle);

	this.addChild(this.label);

	this._padding = this.options.padding || 1;

	Object.defineProperty(this, "padding", {

		get: function () {
			return this._padding;
		},
		set: function (val) {
			if (this._padding != val && typeof val === 'number') {
				this._padding = val;
				this._updateLabelPosition();
			}
		}

	});

	this._textPosition = this.options.textPosition || Phaser.CheckBox.tpRight;

	Object.defineProperty(this, "textPosition", {

		get: function () {
			return this._textPosition;
		},
		set: function (val) {
			if (this._textPosition != val && typeof val === 'number') {
				this._textPosition = val;
				this._updateLabelPosition();
			}
		}

	});

	this._updateLabelPosition();
};
// constructor setup
Phaser.CheckBox.prototype = Object.create(Phaser.Sprite.prototype);
Phaser.CheckBox.prototype.constructor = Phaser.CheckBox;

Phaser.CheckBox.tpLeft = 0;
Phaser.CheckBox.tpRight = 1;
Phaser.CheckBox.tpTop = 2;
Phaser.CheckBox.tpBottom = 3;

Phaser.CheckBox.prototype._checkCursorClick = function () {
	this.checked = !this._checked;
};

Phaser.CheckBox.prototype._updateCheckState = function (val) {

	if (!this._enabled || typeof val !== 'boolean' || this._checked === val) {
		return false;
	}

	this._checked = val;

	this._updateEnableState();

    this.onChecked.dispatch(this._checked);

	return true;

};

Phaser.CheckBox.prototype._updateEnableState = function () {
	if (this.game.cache.checkImageKey(this._imgKey)) {
        if (!this._enabled) {
            if (this._checked) {
                if (typeof this._checkFrameDisabled === 'number') {
                    this.frame = this._checkFrameDisabled;
                } else {
                    this.frameName = this._checkFrameDisabled;
                }
            } else {
                if (typeof this._uncheckFrameDisabled === 'number') {
                    this.frame = this._uncheckFrameDisabled;
                } else {
                    this.frameName = this._uncheckFrameDisabled;
                }
            }
        } else if (this._checked) {
			if (typeof this._checkFrame === 'number') {
				this.frame = this._checkFrame;
			} else {
				this.frameName = this._checkFrame;
			}
		} else {
			if (typeof this._uncheckFrame === 'number') {
				this.frame = this._uncheckFrame;
			} else {
				this.frameName = this._uncheckFrame;
			}
		}
	}
}

Phaser.CheckBox.prototype._updateLabelPosition = function () {

	switch (this._textPosition) {
		case Phaser.CheckBox.tpLeft: {
			this.label.anchor.set(1, 0.5);
			this.label.x = -this._padding;
			this.label.y = this.height / 2;
			return true;
		}
		case Phaser.CheckBox.tpRight: {
			this.label.anchor.set(0, 0.5);
			this.label.x = this.width + this._padding;
			this.label.y = this.height / 2;
			return true;
		}
		case Phaser.CheckBox.tpTop: {
			this.label.anchor.set(0.5, 1);
			this.label.x = this.width / 2;
			this.label.y = this._padding;
			return true;
		}
		case Phaser.CheckBox.tpBottom: {
			this.label.anchor.set(0.5, 0);
			this.label.x = this.width / 2;
			this.label.y = this.height + this._padding;
			return true;
		}
		default: {
			return false;
		}
	}

};

/**
* Sprites are the lifeblood of your game, used for nearly everything visual.
*
* At its most basic a Sprite consists of a set of coordinates and a texture that is rendered to the canvas.
* They also contain additional properties allowing for physics motion (via Sprite.body), input handling (via Sprite.input),
* events (via Sprite.events), animation (via Sprite.animations), camera culling and more. Please see the Examples for use cases.
*
* This class represent radio button GUI element
* NOTE: Only one radio button can be checked in a group
*
* @class Phaser.RadioBox
* @extends Phaser.CheckBox
* @constructor
* @param {Phaser.Game} game - A reference to the currently running game.
* @param {number} x - The x coordinate (in world space) to position the Sprite at.
* @param {number} y - The y coordinate (in world space) to position the Sprite at.
* @param {string|Phaser.RenderTexture|Phaser.BitmapData|PIXI.Texture} key - This is the image or texture used by the Sprite during rendering. It can be a string which is a reference to the Cache entry, or an instance of a RenderTexture or PIXI.Texture.
* @param {Object} [options={}] - object with checkbox properties, all properies are decribed below
* @subparam {string|number} [frameCheck=0] - If this Sprite is using part of a sprite sheet or texture atlas you can specify the exact frame to use by giving a string or numeric index and it will represent checkbox checked state
* @subparam {string|number} [frameUncheck=1] - If this Sprite is using part of a sprite sheet or texture atlas you can specify the exact frame to use by giving a string or numeric index and it will represent checkbox unchecked state
* @subparam {string|number} [frameCheckedDisabled=0] - If this Sprite is using part of a sprite sheet or texture atlas you can specify the exact frame to use by giving a string or numeric index and it will represent checkbox checked state when it is disabled
* @subparam {string|number} [frameUncheckedDisabled=1] - If this Sprite is using part of a sprite sheet or texture atlas you can specify the exact frame to use by giving a string or numeric index and it will represent checkbox unchecked state when it is disabled
* @subparam {Boolean} [checked=false] - true if checkbox is checked
* @subparam {Boolean} [enabled=true] - true if checkbox is checked
* @subparam {String} text - text label for this checkbox
* @subparam {Object} [textStyle={ font: "16px Arial", fill: "#ffffff", align: "center" }] - text style description
* @subparam {Number} [textPosition=Phaser.CheckBox.tpLeft] - text position
* @subparam {Number} [padding=1] - padding between text and checkbox image
* @subparam {Function} onChecked - callback method on checkbox change check state
* @subparam {Object} context - context object to be provided for checkbox check state change callback method
*/
Phaser.RadioBox = function (game, x, y, key, options) {

	// call CheckBox constructor
	Phaser.CheckBox.call(this, game, x, y, key, options);

};
// constructor setup
Phaser.RadioBox.prototype = Object.create(Phaser.CheckBox.prototype);
Phaser.RadioBox.prototype.constructor = Phaser.RadioBox;

Phaser.RadioBox.prototype._updateCheckState = function (val) {

	if (!this._enabled || this._checked === val) {
		return false;
	}

	if (val === true) {
		this.uncheckAll();
	}

	this._checked = val;

	this._updateEnableState();

    this.onChecked.dispatch(this._checked);

	return true;

};

Phaser.RadioBox.prototype.eachParentRadioBox = function (property, value, exclude, callback, context) {
	if (this.parent && this.children) {
		var children = this.parent.children;
		var res;
		for (var k = 0; k < children.length; ++k) {
			if (children[k] === exclude) {
				continue;
			}
			if (children[k] instanceof Phaser.RadioBox) {
				if (typeof property !== 'undefined' && typeof value !== 'undefined') {
					children[k][property] = value;
				}
				if (typeof callback === 'function') {
					res = callback.call(context, children[k]);
					if (res === true) return this;
				}
			}
		}
	}
	return this;
};

Phaser.RadioBox.prototype.uncheckAll = function (exclude) {
	this.eachParentRadioBox("checked", false, exclude);
};

redpajama_set_name: RedPajamaGithub


I mentioned awhile back that I had some birthday money burning a hole in my pocket, and so I decided to buy myself a tree. I don't think I mentioned that we also had a Crate&Barrel credit (some extra bucks we "earned" by purchasing a couch right after Christmas), but we did, and it was expiring early last week. We skimmed through the catalog, and looked at CB2 and Land of Nod, but honestly, there wasn't anything we really needed from any of those places. And then I thought Tree. Planter. Tree. Planter. So I "bought" a planter. Back up to right after Christmas, when I also made another sizable purchase – the fabric for F's Great Wall of Curtains project.
Believe it or not, there is a link between these three items.
You may recall that I drew out the fabric decision on F's curtains for ages, and when I finally settled on the perfect swatch out of dozens and dozens, it just happened to be ridiculously expensive. Even with the once a year, 40% off sale.
Still, I went for it – fabric only – and I decided that I could do the project myself despite the fact that I am terrified of screwing that fabric up. If I do, it's gorgeous pillows for Christmas for everyone! Pillows stained with my tears, of course.
I ordered the fabric in mid-January, and paid for it in full. Gulp. Seven to ten business days later the enormous roll of fabric showed up at my office with a rather large tear in the plastic bag at the bottom, and a distinctly gritty feeling about the whole the thing. I took it home that evening and unrolled it to great fanfare in the nursery, and it was absolutely filthy. Filthy. The damaged roll had apparently spent a good amount of time propped on end beside a delivery truck, holey end resting in a dirty street puddle. I know this because the entire bolt had wicked water and grit about 75% up the roll of fabric. It kind of smelled like wet asphalt and broken dreams.
I could have just called and complained, but I knew they were going to make me bring a pricey roll of fabric like that back in to prove it, so I drove back out to the not-so-convenient suburban (nameless) store where I purchased said fabric, and I unrolled it to great fanfare across their counter. It was confirmed filthy, and they promptly ordered another roll of the fabric.
Time ticked on and the fabric didn't show. I finally called the store and they had no clue what I was talking about, so they called somebody that might know, and they told me that the fabric was back ordered til March. Or maybe April. Could be May, but they felt pretty sure it was April, and would I kindly call them back to confirm the date closer to the time?
I continued to call once a month, and each time I had to recount the story while they told me I wasn't in their system and was I sure that I purchased it under this name, my name? When I called again in early May I told them that I was quite certain that they should have the correct name in "the system" because they had no problem swiping that same-named card back in January when I purchased a pretend piece of fabric.
The Emperor has no curtains! Still!
My birthday in early April brought yet another year to pile onto the heap, and some birthday money. One of those things is fun, the other, not so much. I decided to counteract my aging sorrows with a fun gift that is also beautiful and green and perfect for the living room. I looked around online briefly at local nurseries and ended up calling Rolling Ridge Nursery. I told them what I wanted and the lady laughed and commented on how popular that tree is, and she'd be happy to track one down for me, but it might take a week or so. If I wanted more of a plant shaped one, she could help me right away – but I didn't want to coax and prune and tend my way to the gorgeous six foot tall beauty in my mind. I wanted to bring home a star.
Every week I'd check in to see if they had found anything, and every week the same woman would tell me she had located one, but it failed to show up on the truck. She told me that this is her favorite indoor tree, but now that it's "in all the magazines" it's impossible to get one. I feigned ignorance – "Really? It's in all the magazines?" By week five I was starting to give up.
During week five I also received an email that my "free" money from Crate&Barrel was about to expire, so it was time to spend the credit or lose a good chunk of change. The weekend before the deadline M was out of town, so we emailed ideas back and forth to each other to no avail. There are so, so many cool things from all of those places, and I drool over that Land of Nod catalog every time it shows up on my doorstep, but the girls.do.not.need.anything. Buying something to be buying something is not my cup of tea.
And then I thought about a planter! M loved that idea, and I knew it was perfect because one day my tree might really come home and it would most likely be planted in a black, plastic pot. I ran over at lunch to the store and was instantly greeted with around thirty planters to choose from. Ugh, decisions.
I resisted the urge to buy the beautiful gold planter, although I loved the color and finish. I also loved some of the larger, minimal concrete planters, but I was determined to pick out something that my store credit could cover. And then I saw the perfect planter for my tree – tall, simple, and in a nice matte black that will fade into the background and not upstage the tree (It's the tall one). It also reminds me of our future fireplace, color and texture-wise. It tapers slightly at the top which is a nice detail, and it was also the same amount as my gift certificate so it was meant to be. I purchased it and then we waited for word from "the back" that they had located one. No luck. It's back ordered til late June.
So early last week I was sort of lamenting the fact that I keep handing over money for items that never seem to show up – sometimes even months later. What was more frustrating, at least about the fabric, was that I was the one continuously following up, and every time I would call it was like starting from square one with my explanation. I was feeling a little annoyed by the whole process, and starting to wish I had all my money back rather than just waiting on fabric and trees and planters that never show up.
So now I have fabric – and any delays on this project now are mine only.
And now I have a tree, and it's absolutely perfect in the living room, even though the corner where it will reside is stuffed with items for a possible sidewalk sale (if I can get up the nerve and manage the time – both seem doubtful). I'm a little nervous about caring for this tree – it was not inexpensive – but it looks so great in this room, and really softens the edges of all the crisp hard lines in the room. It will grow as high as we let it grow, so pruning and watering and protecting it from drafts (honestly? how to do that when the source of light is a 128 year old single pane window with a heat / ac register below it?) are all in our hands, so we'll see how this goes. The internet is so magical in the way that you can search for care instructions for any plant imaginable and manage to find one hundred different (and conflicting) ways to water it correctly. The planter will eventually come and we'll transplant it into its permanent home. The curtains will get made, and F will stop complaining about how bright her bedroom is at bedtime and find another stalling method. And the tree will go to the ceiling, and now I'm wondering where the heck we'll even put a Christmas tree this year. Unless it's a fiddle leaf fig.


text:
Q: Storing a property value into another table I am looking for a way to copy the value of some properties of a class to another table in DB. Is there any particular way that I can mark properties of a class as one which their values need to be stored in 2 places (one as part of its own domain object and the other in another domain object, say Summary)?
I a having a Audited entity as below:
public class Audited
{
    public virtual int Id{ get; set; }

    public virtual string FieldName{ get; set; }

    public virtual string FieldValue{ get; set; }
}

And other entities such as:
public class Plan : FullAuditedEntity
{
    [ToBeAudited]
    public virtual int PlanName{ get; set; }

    public DateTime Date { get; set; }
}

I am looking for a way to be able to mark properties of classes with an attribute (eg. [ToBeAudited]) so that property value gets copied into the Audited table in on insert or update
I have added the [Audited] (Abp.Auditing) to PlanName and getting the following error in log:

ERROR 2018-04-20 10:02:09,286 [5    ] Mvc.ExceptionHandling.AbpExceptionFilter - Object reference not set to an instance of an object.
  System.NullReferenceException: Object reference not set to an instance of an object.
     at Abp.EntityHistory.EntityHistoryHelper.ShouldSavePropertyHistory(PropertyEntry propertyEntry, Boolean defaultValue)
     at Abp.EntityHistory.EntityHistoryHelper.GetPropertyChanges(EntityEntry entityEntry)
     at Abp.EntityHistory.EntityHistoryHelper.CreateEntityChangeInfo(EntityEntry entityEntry)
     at Abp.EntityHistory.EntityHistoryHelper.CreateEntityChangeSet(ICollection1 entityEntries)
     at Abp.Zero.EntityFrameworkCore.AbpZeroCommonDbContext3.d__98.MoveNext()
  --- End of stack trace from previous location where exception was thrown ---
     at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
     at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
     at Abp.EntityFrameworkCore.Uow.EfCoreUnitOfWork.d__20.MoveNext()
  --- End of stack trace from previous location where exception was thrown ---
     at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
     at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
     at Abp.EntityFrameworkCore.Uow.EfCoreUnitOfWork.d__12.MoveNext()
  --- End of stack trace from previous location where exception was thrown ---
     at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
     at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
     at Abp.EntityFrameworkCore.Uow.EfCoreUnitOfWork.d__14.MoveNext()
  --- End of stack trace from previous location where exception was thrown ---
     at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
     at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
     at Abp.Domain.Uow.UnitOfWorkBase.d__57.MoveNext()
  --- End of stack trace from previous location where exception was thrown ---
     at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
     at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
     at Abp.AspNetCore.Mvc.Uow.AbpUowActionFilter.d__4.MoveNext()
  --- End of stack trace from previous location where exception was thrown ---
     at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
     at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
     at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d__10.MoveNext()
  --- End of stack trace from previous location where exception was thrown ---
     at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context)
     at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
     at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d__14.MoveNext()
  --- End of stack trace from previous location where exception was thrown ---
     at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
     at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
     at Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.d__23.MoveNext()

A: You can leverage on ABP's Entity History feature (which already works without this customization).
This answer assumes Audited is an Entity to easily use IRepository, but it doesn't have to be:
public class Audited : Entity
{
    public virtual int EntityId { get; set; }

    public virtual string FieldName { get; set; }

    public virtual string FieldValue { get; set; }
}

First, implement IEntityHistoryStore:
public class MyEntityHistoryStore : IEntityHistoryStore
{
    private readonly IRepository<Audited> _auditedRepository;

    public MyEntityHistoryStore(IRepository<Audited> auditedRepository)
    {
        _auditedRepository = auditedRepository;
    }

    public async Task SaveAsync(EntityChangeSet entityChangeSet)
    {
        foreach (var entityChange in entityChangeSet.EntityChanges)
        {
            var entityType = entityChange.EntityEntry.As<EntityEntry>().Entity.GetType();

            foreach (var propertyChange in entityChange.PropertyChanges)
            {
                var property = entityType.GetProperty(propertyChange.PropertyName);
                if (property.IsDefined(typeof(ToBeAuditedAttribute)))
                {
                    await _auditedRepository.InsertAsync(new Audited
                    {
                        EntityId = JsonConvert.DeserializeObject<int>(entityChange.EntityId),
                        FieldName = propertyChange.PropertyName,
                        FieldValue = propertyChange.NewValue
                    });
                }
            }
        }
    }
}

Next, replace the service and add to Selectors in the PreInitialize method of your module:
// using Abp.Configuration.Startup;

Configuration.ReplaceService<IEntityHistoryStore, MyEntityHistoryStore>();
Configuration.EntityHistory.Selectors.Add(
    new NamedTypeSelector(
        "ToBeAuditedEntities",
        type => type.GetProperties().Any(p => p.IsDefined(typeof(ToBeAuditedAttribute)))
    )
);

Then, just Insert as usual:
_planRepository.Insert(new Plan
{
    PlanName = 42
});

Audited table:

redpajama_set_name: RedPajamaStackExchange


A pair of turquiose ceramic lamps with original striped shades! Greener hue changes to blue towards the top of the lamps, vintage circa 1960s. Total height with shades 40", ceramic bases only 22".
A pair of unusual, scalloped-column shaped lamps, covered in leather with greek key embossed design. Original mica shades included.
An interesting ceramic gourd lamp with sgraffito decoration and original shade. Total height with shade is approx. 30". Ceramic only measures 14" H, 10" D.
A charming bicycle lamp on a marble base. Original shade.
An unusual white ceramic lamp-biomorphic design with rounded cut outs and original shade.
Pair of midcentury ceramic lamps with original shades. Original wiring. Vibrant blue and green glaze in a high gloss finish.
Beautiful pair of Verre églomisé table lamps with original reticulated matching shades. Stunning silver, bronze and gold botanical theme.
A wonderful pair of antelope lamps by Rembrandt with original restored shades that will make a fun statement to any modern decor.


This morning we got word that Judge Simpson, of the PA Commonwealth Court, denied our petition for injunctive relief against Pennsylvania's voter suppression ID law. In plain English, that means voter ID stands. We are still reviewing the decision at present, but we'll try to provide a layman's explanation of the judge's ruling as soon as we can.
In the meantime, you can read the full decision here.
This fight is not over. All along we've expected an appeal to the state Supreme Court - we just didn't know if we'd be defending or appealing. Thanks to our partner organizations, to all of our members and donors who have provided the funding that makes this fight possible, and of course to all of you for standing by us in the fight against voter suppression.
Keep fighting the good fight. If, as Judge Simpson held, "disenfranchisement was [not] immediate or inevitable," then how exactly will Vivian Applewhite vote? Her problem wasn't poverty or infirmity, and so none of the remedies identified in Judge Simpson's opinion will work; she has been unable to obtain proper ID from the Commonwealth. Her vote will inevitably be denied at the poll, with the hollow remedy of a provision ballot and a judicial action without a clear outcome.


The following blog post from SC&H Group's Employee Benefit Plan Audit practice reviews three questions organizations must consider when determining their need for a retirement plan audit.
Today's employee benefit plan sponsors are facing growing scrutiny from the Department of Labor (DOL). And with the DOL hiring more auditors, your chances of an Employee Retirement Income Security Act (ERISA) audit are higher than ever.
Further, with increased scrutiny comes a greater potential for penalties. In fact, 17 percent of audit reports reviewed now fail to comply with one of ERISA's reporting and disclosure requirements—most notably in regards to participant data—according to a recent Employee Benefits Security Administration report.
To avoid significant penalties and ensure compliance, it is essential to understand whom your retirement plan participants are, allowing you to determine when it is time for an audit and how to fulfill all requirements. Therefore, based on ERISA requirements, answer the following three questions to evaluate your need for a retirement plan audit.
Question 1: What exactly constitutes a participant?
ERISA requires all retirement plans with over 100 participants at the beginning of the plan year to file a Form 5500 accompanied by annual audited financial statements.
Question 2: Is my participant count at the beginning of this year the same as the count at the end of last year?
Question 3: What happens if my counts fluctuate over/under 100 participants from year to year?
When filing Form 5500, sponsors need to indicate whether the plan is large or small, since only large plans require audited financial statements.
Have you determined that you will need an audit, or may be getting close to needing one? Be sure to read our "Department of Labor Issues Guidance on Selecting an Employee Benefit Plan Auditor" blog post here.
Contact SC&H Group's Employee Benefit Plan Audit Services team here to learn more about what to expect, and how to make sure your retirement plan is compliant and audit-ready.


text:
Urban-Rural Migration in Japan and Europe: Transnational and Comparative Perspectives
Japan, Symposium, Veranstaltung
By yingjun
Thursday, February 2, and Friday, February 3, 2023, on-site at the JDZB, Saargemünder Str. 2, 14195 Berlin
Rural areas often face economic and demographic problems, especially the migration of rural youth to urban centers in many parts of the world. However, over the past decade in Japan, there has been a surprising increase in both the number of people interested in moving from urban to rural areas and the number who actually move. The symposium will address this phenomenon and compare the results of the DFG research project "Urban-Rural Migration and Rural Revitalization in Japan" and other research on Japan with urban-rural migration in Germany and various European countries. The role of transnational mobility on domestic urban-rural migration is also examined. The links between urban-rural migration, local revitalization practices, and global social, political, and economic structures are intensively discussed by scholars from various disciplines and practitioners such as mayors of municipalities and policy advisors.
The symposium is kindly supported by Deutsche Forschungsgemeinschaft (DFG – German Research Foundation).
It is organized as an on-site event in compliance with the then prevailing SARS-CoV-2 regulations by the Berlin State government.
The language will be English, for further details please refer to the tentative program on the JDZB website.
For your participation, please register HERE.

redpajama_set_name: RedPajamaCommonCrawl


We have our in house JIVE server and done many customizations on that. We are using JIVE version 5.0.5.0 . Currently our application is only web based . Now we have to make a Mobile App (ios/android/window) for our application. What should be the approach which we take?


The CIS series of information Guides and InfoSheets is available from here, as well as the latest CIS news and frequently-asked questions. In-house CIS documents are published in two series - Guides and InfoSheets. The former are more substantial (often tutorial-type) documents useful both for reference and for learning how to use applications and facilities. They form the basis of the materials used on most CIS training courses. InfoSheets are single sheet documents of the quick-reference or summary type. We also tend to publish InfoSheets to document facilities and packages which are not fully supported with training courses. Documents are available from the IT Service Desk and online in Acrobat (PDF) format.
If you don´t have the Acrobat Reader installed on your computer, you can obtain it from the Adobe web site at www.adobe.com.
We endeavour to provide up-to-date and accurate information on our website however things sometimes get missed. Whilst you're using these pages, if you notice any information which is out-of-date can you please email the URL to the IT Service Desk with the subject line 'Web page to update' giving an indication of the outdated information.


text:
A beginner's guide to scrollytelling
September 1, 2019 • Beginner's, Guide
9 min. (1846 words)
Scrollytelling transforms a longform story into an interactive experience. Audio and visual content adds a deeper layer of meaning, communicating what can't be captured with words alone. Scrollytelling rolls out the details of a story in an engaging way to keep people reading. It uses what's great about the web to tell compelling stories.
Scrollytelling: when you want to tell a story rich in details
Scrollytelling is especially well-suited for a story with a distinct chronology. As events unfold, you can use the design to make the who and what come alive. Scrollytelling can heighten a story and hook you into its narrative. Borrowing from one-page and landing-page layouts makes the details dance and prompts you to scroll further.
We've gathered some of the best examples of scrollytelling and resources to help you create your own.
Snow Fall: The Avalanche at Tunnel Creek
Snow Fall: The Avalanche at Tunnel Creek is a scrollytelling masterpiece. It's the harrowing tale of a Washington avalanche in 2012. Each part of this story has its own individual page, broken into manageable blocks.
It's a compelling read with accompanying audio and visual media to offer a much bigger picture of what happened on that tragic day. Not only do we get to read the stories of those involved, we also get to learn about the terrain and weather conditions that led to this avalanche.
It's a multimedia approach to storytelling that unpacks what went wrong and what pushes thrill seekers to careen through untouched powder, despite its dangers.
Millennials are screwed
Okay, Gen Xers. I know we've all made jokes about millennials — avocado toast, Coachella, and the word "literally" all make for easy fodder. But this generation actually does face some heavy challenges. Millennials are screwed shows us the world through the eyes of this younger demographic to get a clear picture of what they're up against.
Told by a millennial himself, the story combines humor with concrete information about the financial struggles they face. There's plenty of humor combined with the sobering realities of this generation.
The story is told with the help of nostalgic video-game animations, pixelated graphics, and other wacky visuals. It captures the quirky sensibilities of millennials while remaining accessible to those bewildered by SpongeBob SquarePants memes.
One can't help but have more compassion for millennials after reading this essay. It's a good example of using smart, interesting web design to connect with a larger audience.
UTC is enough for everyone… right?
For most of us, the subject of universal time codes (UTC) isn't a particularly compelling topic. But Zach Holman created a website explaining how they work and the complexities of programming with them. His site includes plenty of wit and the occasional, creative use of profanity.
There are pleasing shifts in color and monochromatic background videos that break up the content. It's offbeat, but not off-putting. The mesmerizing clash of colors grabs your attention and keeps you wondering what dazzling visuals will come next.
Anyone who's read any sort of technical programming piece has probably been lulled to sleep. This essay proves that creativity and great storytelling can bring even the driest of topics to life. For those not interested in programming, the information on time is a fascinating read.
Web design and art history
Scrolling through our very own Web design and art history piece is like spending time at a museum. Each section is like a gallery branch, curated works showcasing the breadth of a given art movement. Here, the evolution of art is explained.
Since web design and the visual arts share a common language, a familiarity of art history can inspire and inform your own work. We went all out writing informative content and including beautiful visuals and animations. If you're interested in art and design, this essay is a fantastic primer.
The History of the Web: Interactions 2.0
Scrollytelling breaks away from the confines of traditional storytelling and uses good web design to get creative.
Our Introduction to Interactions 2.0 takes you from the beginnings of the web to "a 100% visual way to build animations and interactions for the web, pushing the limits of what can be built without code." The site includes so many delightful, cheeky references to Geocities. Oh, how far we've come!
Time in Perspective
Scrollytelling is the perfect medium to tell a linear story — and what's more linear than the march of time? From 24 hours to the end of the universe, the scroll triggered animations in Time in Perspective stretches the timeline, reveals milestones, and shows how each era fits into history. This is a great example of using web design for more than just marketing. Design is a powerful tool to educate in innovative ways.
If the Moon Were Only 1 Pixel
If the Moon were only 1 pixel is a horizontal scroll that rockets you through the vastness of the universe. Josh Worth made the site after struggling to explain to his daughter how long it would take to get to Mars, wondering if he could use a computer screen to map out space. The site does a beautiful job of focusing on the emptiness of space, helping us understand just how far-reaching our universe is. Josh used a single pixel to represent the moon and shows everything in relation to it.
This project is another brilliant example of how good design can make learning engaging.
Islamic State Tracker
There's so much news that comes our way. And with this mass of information, it can be hard to stay current. The Islamic State Tracker from the Washington Post shows the history and current developments of the Islamic State.
The right side of the screen scrolls through a timeline of stories while a map on the left side of the screen highlights where they happened. Clicking points on the map brings you to the specific story of that location. Mapping the location to each event gives a more in-depth picture of each region.
Ali Wong Structure of Stand-Up Comedy
Mark Twain may have famously said, "Explaining humor is a lot like dissecting a frog, you learn a lot in the process, but in the end you kill it." But sadly, for old Samuel Clemens, he didn't get to see the digital age.
We talked earlier how scrollytelling can be used for stories that have a strong timeline. A comedy performance is a narrative where pacing and buildup matter as much as the actual jokes.
Ali Wong Structure of Stand-Up Comedy is an analysis of Ali Wong's recent comedy special, Baby Cobra. It's analyzed moment by moment, joke by joke, to show where the biggest laughs are. It's a fascinating study in how timing and set up are key to land effective punch lines, and gives us insight into what makes Ali Wong such a brilliant writer and performer.
Scrollytelling tools
We've seen how scrollytelling can be used to tell different types of stories, and some of the design practices they incorporate. To help get you started with your own scrollytelling, we've gathered some tools to help you out. Webflow is the perfect choice for your design work if you wanted to try it out while you're at it.
Parallax movement on scroll
Elements that move at different speeds as someone scrolls is a way to create the illusion of depth. Parallax is a simple effect to create dimensionality and movement in your story, prompting people to keep moving.
We used parallax scroll for these geometric shapes in "Web design and art history."
Check out this parallax tutorial to get started on your own.
Scroll progress indicator
Using a scroll-triggered progress bar in your design is a way to show people where they're at and keep moving them forward. This blue progress bar stays anchored to the top of the page with a smooth animation that stretches out from 0 to 100% of the layout. It adds motion to the design and makes for better navigation.
Check out our scroll progress tutorial to learn how to create your own in just a few steps.
Reveal elements on scroll
When a design has too much static content, it can be tiring to read. With scrollytelling, where longform stories are being told, animations offer a nice break from text and photos. The fade of visual elements adds a burst of motion.
The effect can be applied to text or visuals. We use this effect in our Graphic design archive, signaling the beginning of a new block of content.
Should you reveal elements in your own design work? Definitely! Check out our tutorial to learn how.
Horizontal movement on scroll
Whenever you have a design element that's sitting idle on the page, like a title, why not give it some pizazz? Horizontal movement wakes up these sleepy design elements and gives them purpose. Take the above example above from our tutorial. The horizontal movement signals the start of the story and makes "Let's Go Outside" have more of an impact.
It's easy to do — check out our tutorial on creating your own horizontal movement effect.
Horizontal scrolling can be a nice change. It brings attention to your content and breaks free from a typical vertical layout.
Proud and Torn, a website about Hungarian history uses horizontal scrolling to highlight the different eras it covers.
And to refer back to our own art Web design and art history piece discussed earlier — we use horizontal scrolling as another way to keep people active and engaged.
Our tutorial on horizontal scrolling will get you started on using it for your own design.
Position sticky
From the Pudding, the same website that created the Ali Wong comedy piece, comes this tutorial about creating a position sticky effect. Position sticky takes an element and stations it in a design temporarily, bringing attention to it. After a bit more scrolling, it's then released from its position. We're fans of tutorials that break a process down in an easy to understand way. And it's all done through scrollytelling.
Creating a sticky sidebar
Okay, so we just talked about a position sticky. But what about making a sticky sidebar?
After a bit of a scroll, the sidebar takes a set position. You could use it to contain navigation to other parts of a story, or to different parts of the website.
Transforming a sidebar into a sticky sidebar isn't too complicated. Take a look at this quick tutorial to put the power of a sticky sidebar into your own designs.
Web design lets you tell a story in more imaginative ways
The web has transformed storytelling. With animations, visuals, and interactivity, reading a story no longer needs to be passive. Scrollytelling is a multimedia experience, provoking deeper thought and understanding. It illuminates what can't be communicated by words alone and makes the reader an active participant.
Inspired to tell a story of your own through scrollytelling? We'd love to hear about it in the comments.


text:
Follow the road to the CMAs
Thursday, October 27, 2011 – Fans can gear up for the Country Music Association awards with "CMA Close Up Presents Road to the CMA Awards," a half-hour special with artist interviews and highlights from past CMA Awards.
The special will air on local ABC affiliates between Friday, Oct. 28 and Wednesday, Nov. 9. Check local listings for shows.
Featuring interviews with Jason Aldean, The Band Perry, Dierks Bentley, Kristin Chenoweth, Miranda Lambert, Little Big Town, Scotty McCreery, Brad Paisley, Rascal Flatts, Blake Shelton, Sugarland, Taylor Swift, Shania Twain and Chris Young, the show offers fans a chance to hear and see these artists' favorite memories from past CMA Awards, as well as to find out what it's like to be nominated and perform for the first time.
"This special was an incredible success last year," said CMA Chief Executive Officer Steve Moore. "This is a great opportunity to ramp up the excitement for the upcoming CMA Awards and increase awareness in each of these markets."


text:
How to Perform a Title Transfer in Massachusetts
1. Get Started With Title Transfer Assistance Online
A car title is an important document that proves who owns a vehicle. Whenever a vehicle is bought or sold from an existing owner, that vehicle's title must be transferred to the new owner. Most states do not offer an online title transfer option. However, you can prepare to transfer ownership of a vehicle either as a seller or buyer by downloading our online title guide. Our online guide will provide you with information on the forms you will need, the required fees and the specific title transfer guidelines in your state to help you have a smooth experience.
Some states allow their residents to transfer their vehicle titles by mail, but these states may have certain eligibility requirements and limitations involved with this option. If you need to have a title immediately, attempting to transfer a car title by mail may not be the best option for you. You will have to wait for the postal service to deliver your request to the DMV and then wait for the postal service to deliver your new title to you. Additionally, payment options are typically limited to check and money order.
The most direct way to transfer your vehicle title is in person at a DMV office. There are several states that require their residents to transfer their titles in person and do not offer online or mail-in options. Additionally, not all states offer title services through their DMV sites. As such, it is important for you to be prepared for the transaction and to know where you can apply. Our online guide offers all the information you need to transfer a vehicle in one place.
Motorists are expected to perform a car title transfer in Massachusetts when they want to pass along the ownership rights over a motor vehicle to another legal entity. Drivers who are wondering how to fill out transfer of title need to complete a procedure through the Massachusetts Registry of Motor Vehicles (RMV).
Learn More About Transferring Your Car Title
The MA RMV has determined a set of title transfer requirements that motorists must satisfy in order to successfully perform a transfer of ownership rights between two legal entities. If you are still trying to find out how do you transfer a title on a car in Massachusetts, continue reading the sections below for more information about the procedure.
What is a car title transfer in Massachusetts?
Prior to performing title transfers for cars in Massachusetts, residents need to first learn what a title transfer is and to discover the reasons why it should be transferred to another legal entity. A certificate of title is a legal document issued by the MA RMV that serves as proof of the ownership over a motor vehicle.
Motorists who are transferring a car title to another legal entity are actually transferring the ownership rights to the person who purchases the vehicle. However, both legal entities need to perform a car title transfer procedure by participating in the process and preparing the mandatory documentation.
When is a vehicle title transfer required in Massachusetts?
A car title transfer in Massachusetts is a procedure that vehicle owners may be required to complete in various situations. The most common instance when motorists may be mandated to perform a transfer of car title is when they purchase a motor vehicle from another legal entity.
Moreover, an auto title transfer may be performed when individuals receive a motor vehicle as a gift or as a transfer from family members.
Information and Documents Necessary to Transfer a Title in Massachusetts
A process of auto title transfer in Massachusetts may require individuals who purchase or obtain a motor vehicle to prepare certain documents and information. When transferring a car title, new vehicle owners need to provide the following documentation:
A completed and signed application form for a title
The assigned certificate of title from the previous to the current owner
A previous registration and bill of sale for vehicles that are exempt from title due to their age
Payment for the applicable title fee and registration fee
Sales tax exemption form, completed and signed by the previous owner
Moreover, when performing a car title transfer, new owners may be required to provide additional documents and information, depending on their specific situation. Therefore, prior to completing a transfer of car title in Massachusetts, motorists need to find out the title transfer requirements and paperwork that is required for the procedure.
Note: When presenting the certificate of title from the previous owner for a car title transfer procedure, new owners must ensure that the date of transfer, the odometer reading and the selling price are written on the back of the title.
Steps for Performing a Transfer of Title in Massachusetts
Note that drivers cannot complete a title transfer online in Massachusetts, so in order to pass over ownership over a vehicle, they will need to visit the RMV. Before planning their trip there, vehicle owners should make sure they have gathered all the necessary documentation to complete the process.
To perform a motor vehicle title transfer in Massachusetts, motorists need to complete a procedure in person at a local MA RMV branch. In other words, individuals who want to perform title transfers for cars after selling or purchasing motor vehicles need to complete several steps, as discussed below.
First of all, new vehicle owners who are transferring a car title in their possession need to collect a set of documents that are signed by the previous owners and assigned in their names. Then, the transfer of car title may require new owners to provide additional paperwork and payment for different fees and taxes.
Getting a New Car Title Versus Title Transfers in Massachusetts
Motorists who are getting a new car title in Massachusetts need to know that the procedure for applying for a new car title differs from a title transfer procedure. Therefore, it is important for vehicle owners to assess the differences between these two procedures.
In general, the state's Registry of Motor Vehicles (MA RMV) requires motorists to apply for a DMV new title within 10 days of purchasing a new motor vehicle. The new title for a car is a legal document that serves as proof of ownership rights over a certain vehicle.
Get Assistance With Your Car Title Transfer
Conversely, drivers do not need to order a new car title when transferring the ownership rights to another legal entity. Instead, they must transfer an existing certificate of title to a new owner. In most cases, a title transfer is needed when purchasing or selling a vehicle. However, car owners may also be required to transfer a certificate of title when a vehicle has been given to them as a gift, donation or as part of an inheritance.
Car Title Transfer Fees in Massachusetts
The last step of the Massachusetts car title transfer procedure requires motorists to provide payment for the applicable fees and taxes. Drivers who are transferring car titles in their names may be mandated to pay a $25 transfer fee, as well as costs related to transferring a registration and license plates.
Moreover, when performing a vehicle title transfer after receiving a motor vehicle as a gift, motorists may be required to pay a gift fee of $25.
Car Title Transfer Forms
RMV-1 Application Form
Family/gift transfers from Mass.gov
Vehicle Registration and Title from Mass.gov


Visvim Burgundy Skagway High Top Sneakers $595.00 High top felted wool and linen blend sneakers in burgundy. Ivory leather round cap toe. Tonal lace up closure. Topstitching in tan at tongue. Eyelet vents at inner side. Red rubber applique with topstitching at heel. Leather lining in white. Ivory rubber sole. Silver tone hardware. Tonal stitching. Alternate laces in ivory.
Turn on search history to start remembering your searches. Visvim High Water Chino Beige. Visvim Lyst Visvim. Save money on visvim orange high top sneakers!
Each season Mr Hiroki Nakamura introduces a fresh iteration of visvims signature high top Skagway sneakers. Visvim Skagway Hi Navy. Visvim Visvim.
Sale Clothing Coats Jackets Legwear Tops Sale Footwear Boots Shoes Sneakers.
Get a Sale Alert View Details Free Express Shipping at. Visvim Veggie Wallet Burgundy. Visvim Social Sculpture 101 Jacket Unwashed.
Shop Womens Visvim Shoes on Lyst. Track over 0 Visvim Shoes for stock and sale updates.
Buy Visvim Womens Natural Shearling Lined Skagway Sneakers. Pebbled leather high top sneakers in orange. Burgundy Skagway High Top Sneakers. Sneakers. Skagway Leather trimmed Canvas High top Sneakers Black.
Visvim Shoes at Stylight Best sellers up to 0 products in stock Variety of styles colors Shop now! SSENSE Sneakers. Made from durable canvas this army green.


 SAN ANTONIO – Pending City Council approval of a municipal incentives package, USAA plans to move as many as 2,000 workers to its downtown office towers—One Riverwalk Plaza and Bank of America Financial Services Center.
The deal calls for the San Antonio-based financial services giant to expand its local workforce by as many as 1,500 new positions over five years.
The municipal incentives package includes a $4 million economic development loan and a tax abatement of up to $2 million.
In return for the incentives, USAA has agreed to spend at least $70 million in improvements for its two downtown buildings, including an expansion of its One Riverwalk parking garage.
The tax rebate amount, which is capped at $2 million, is tied to the number of jobs USAA creates within five years.
Check out San Antonio-New Braunfels Office Market Research.


We would love to assist you on the day of your wedding, making it the most memorable day of your life. Below you will find what our day of coordinating package includes.
One meeting at the venue a month prior to discuss your layout ideas and set up. We will go over details for the creation of your timeline, as well as all the logistics of your wedding day.
Confirm contracts with all vendors one month prior to your wedding.
Coordination of the Wedding Rehearsal with the Bride, Groom & Wedding Party.
On-site coordination and supervision of ceremony and reception. This includes any and all set up of decoration prior to reception, direction of ceremony, on site or off site, directing guests, cuing bridal party, etc.
Point of contact for and coordination of all vendors on the wedding day.
Clean up of all gifts, cake knives, champagne glasses, etc. and have items ready for vendors, family, and friends, to load up and remove from venue.


Chanoch - Name Meaning, What does Chanoch mean?
Chanoch as a boys' name is of Hebrew origin, and the meaning of Chanoch is "experienced, profound". The English variant is Enoch.
Recommended sound-alike names are Bannoch, Branch, Cadoc, Canice, Canon, Chace, Chan, Chanan, Chance, Chancey, Chand, Chandak, Chandan, Chane, Chaney, Chang, Chaniel, Chann, Channe, Channon, Chano, Chanse, Chantry, Chantz, Chany, Chanyel, Chanze, Chaunce, Chauncy, Chayce, Chayo, Chino, Clancy, Cradock, Manoach and Thatch. These names tend to be more frequently used than Chanoch.


text:
Articoli con tag: the Solfatara
the Solfatara
In ancient times the Solfatara was known as the square of Hephaestus, where even then the volcanism of the Phlegrean Fields was observable.
The only monumental rest of District Terra is the temple of Augustus, fully saved, as transformed into the church of St.Procolo in the XI century. The church underwent some changes between 1500-1600 during the construction of the side chapels.
The restoration works, following a fire, brought to light one of the best examples of the Augustan architecture. It was built by the architect Lucio Aucto who realized the crypts of Cuma and Naples.
Outside the District Terra there are numerous ruins now incorporated into modern houses.
Monuments such as the Temple of Diana and Neptune are difficult to be reached, but their size reflects the importance of the city in the late Republican and Imperial age.
Flavian Amphitheatre
Located between the solfatara and Mount Guaro, just there, where crossed the most important streets: Domitiana, Campana and Antiniana.
The Flavian Amphitheatre was built by Vespasian following the increase of the population of Pozzuoli, at that time a flavian-augustan colony.
This is evidenced by the discovery of registration Colonia Flavia Augusta Puteolana pecunie sua.
The amphitheater had three architectural orders crowned by an attic. An elliptical porch surrounded the building, through this it was possible to reach four main and twelve secondary entrances, to facilitate the exit of the spectators.
From the outside porch departed twenty flights of stairs allowing to reach higher areas. Other meeting points were obtained in the arches under the auditorium.
In the first arch there was a podium for statues with marble floor with inscriptions dedicated to Caio Trofimiano.
The auditorium was divided into three ranges, above these there was a porch with columns and statues , which in the Middle Ages were used for the production of lime.
Ambulatories and underground kept well preserved as they were covered by the ashes of solfatara. the basement could be reached by two steep stairs.
Observing the underground we can understand the operation of lifting structures, essential for Venationes, or shows with wild beasts. There were stored the necessary tools for the shows too.
The basement consisted of two corridors crossed in the center (assuming a form of H). The four rooms were communicating with each other.
The corridor was fitted with stone openings, with wooden hatches from which animals were raised.
Even this one, as other amphitheaters, is related to the Christian martyrology. St.Gennaro was taken here to suffer his torment, but the sentence was suspended because of the absence of the governor of Campania, so the penalty was commuted to his beheading.
Only in the fifth century his relics were transported to Naples, becoming a destination of worship such as those of S.Procolo in Pozzuoli.
Today of this amphitheater you can only see about ten arches, and the auditorium from Via Solfatara, other arches are observable from Via Vigne.
The building is to be dated about in the second century.
the Macellum
known as the Temple of Serapis for the discovery of the statue of the god in 1750, the Macellum is actually a public market, with a round building in the center (one of the same type is located in Pompei, but smaller) as large as was necessary to serve the center of a big commercial city.
The building has a square courtyard surrounded by thirty-six Corinthian columns, decorated with shells containing dolphins. The court and the porch were paved with marble slabs.
At the center there is a circular building called Tholos, with walls covered in marble. Access to the court was provided by four stairs, with four railings dolphin shaped and with friezes of seas animals. Sixteen Corinthian columns supported the lintel, and on it rested a perhaps conical coverage.
Around the porch there were the shops, six on the entrance side and eleven on the other two sides.
The need to increase the usable space pushed to develop a second floor decorated with a second order of columns and accessible through two flights of stairs.
In the corners were the bathrooms, decorated with marble niches, and lit by a large window.
Perforated marble benches communicated with a discharge channel which, thanks to a proper slope, let waters flow away and guaranteed hygiene.
The most important point of the Macellum was represented by the front hall embellished by honorary statues. Important was the flooring with red, yellow, purple and green marble.
Three niches contained statues of the market protectors: Serapis – Genius -Macelli – characters of the imperial family.
From the Temple of Serapis it is possible to observe the phenomenon of bradyseism on the three central columns, where the holes left by the sea dates, demonstrate the level reached by the sea.
In the Middle Ages the floor was five meters below the water level. In 1700 the temple was re-emerging, but in 1800 the slow sinking made it unhealthy.
The Macellum – Temple of Serapis
The harbour is the economic center of the city.
From the second century b.C. it was an important trade center of the Mediterranean, by Pozzuoli passed anything was to reach Rome, from the slaves to the corn.
Of the old pier, following the construction of the new one, nothing remains. Except for some eighteenth-nineteenth century depiction, we would have never known what was the appearance of the old port, considered one of the greatest engineering works of the time.
The old harbor was formed by 15 pillars supporting 15 arches on which rested a platform, at whose end there was a triumphal arch with statues of Neptune and the Dioscuri and probably a lighthouse.
This structure of the Augustan age was damaged by a storm and restored only in the time of Antoninus Pius.
Via Campana
Campana Street is the main outside-town street of Pozzuoli, it was edged with monumental tombs today giving us an idea about the costumes and about Roman funerary architecture.
Among the various tombs prevails a tomb with columbus patterns, or rooms with perforated walls to house the urns. Two or more storey graves were often dug towerlike.
It was frequently found, to be family or associations tombs which ensured a decent funeral at little cost. Cremation was the most common practice, the deceased was burnt on a stake and the ashes kept in a funerary urn and subsequently placed in the niche.
Once the urn was placed into the tomb, only the name and age of the deceased was indicated.
Categorie: Archeology, English	| Tag: Flavian Amphitheatre, The harbour, the Macellum, the Solfatara, Via Campana	| Lascia un commento


CCBC offers a host of activities that span the literary, visual and performing arts.
Attend a reading or book talk by a renowned writer. Explore the creative works of students and faculty as well as local, regional and national artists in a campus gallery. See–or perhaps take part in–one of CCBC's acclaimed music, dance or theatre productions. Whatever your artistic interests and cultural inclinations, you're sure to find a way to get involved at CCBC.
Performing Arts at CCBC offers music, theatre and dance for all artists and all audiences at all ages.
Featuring a large variety of local, regional, and national artists showing their latest works.
Each year the college selects a book that it recommends to the community. Students are urged to read the book and faculty members are urged to include it or selections from it in their courses. A series of cultural and academic activities—films, plays, dance performances, debates, panels, and lectures—are organized to support the project.


At QWS 2018, you will have an opportunity to hear from experts in many areas of outdoor recreation. Some of those who are featured are listed below. Click a name for details on each speaker.
Our rooms fill up fast, so come early and have a second choice if you get there too late to get a seat.


text:
New VP Bill Finch Joins CAST IP Sales Team
June 7, 2001, Wayland, Massachusetts -- Semiconductor intellectual property (IP) provider CAST, Inc. today announced that industry veteran Bill Finch has joined the company as Vice President of Sales. This new position is responsible for managing direct and distributor sales activities for CAST throughout the world.
"Bill has a proven knack for identifying and really satisfying a customer's basic needs," said Hal Barbour, president of CAST. "He also brings new levels of experience, efficiency, and organization to the international CAST team, things we're needing as our sales revenues take off."
About Bill Finch
Beginning with a BSEE from Purdue University, Mr. Finch has held a variety of engineering, sales, and executive positions with companies including GenRad, Boreas, Inc., SemiTest, Inc., and the Brown and Sharp Manufacturing Company. His diverse areas of experience include microprocessor test, superconductivity research, semiconductor metrology tools, and defect analysis for the flat panel and semiconductor industries.
"I couldn't turn down the chance to be part of such a vital player in the embryonic IP industry," said Mr. Finch. "CAST is ideally positioned to deliver real solutions to companies who otherwise couldn't manage the expense or challenge of IP-based design, and I'm looking forward to serving and expanding our family of satisfied customers."
Mr. Finch is based in Wayland, Massachusetts (508/655-8150, bill@cast-inc.com).
About CAST, Inc.
CAST provides practical, affordable IP cores and services for designers of 8- and 16-bit microprocessor-based systems. Operating since 1993, the company has a reputation for quality products, flexible licensing, and responsive, comprehensive technical support. The company is located near New York City, and works with an international network of IP developers and distributors.
CAST, Inc., 11 Stonewall Court, Woodcliff Lake, NJ 07677 USA
Phone: 201/391-8300 Fax 201/391-8694
www.cast-inc.com info@cast-inc.com
Industry veteran Tony Picard joins videantis as sales VP
FPGA Sales Pioneer Steve Haynes Joins Tabula as VP Worldwide Sales
Kilopass Adds Industry Veteran Bill Cibulsky as VP of Worldwide Sales
John Geis joins Ingot as VP of Sales
Antonio J. Viana Joins Tensilica as Sr. VP of Worldwide Sales


Studies of arthropod assemblages in the fossil record can provide information on how assemblages have changed over evolutionary time. Studies at the LEF provide a unique opportunity to compare extant assemblages to those inferred from fossil amber deposits in the Caribbean. Poinar and Poinar (1999, The Amber Forest: A Reconstruction of a Vanished World, Princeton University Press) compiled data on inclusion of arthropod taxa in Dominican amber, representing a tropical hardwood forest from 25 mybp. Their reconstruction of a Caribbean arthropod assemblage from a Miocene Era tropical hardwood forest generally resembled canopy arthropod assemblages from the extant tropical hardwood forest at the LEF, suggesting that forest arthropod assemblages in the Caribbean may have changed relatively little over this long time period.
Sticky traps, designed to resemble resin globules that eventually could become amber, were coated with adhesive and placed on lower tree boles or on logs at one non-gap site at the LEF for 5 days during June 2004, January and July 2005, July 2006 and July 2007 (total 35 samples). Samples were dominated by Diptera (89% of specimens), with phorids representing 60%, mycetophilids 16%, dolichopodids 4%, sarcophagids 2%, cecidomyiids and chironomids 1% each, and other Diptera 5%. Other collected taxa included Hymenoptera (6% of specimens), with chalcidoid wasps 4%, little fire ant (Wasmania auropunctata) 1% and other Hymenoptera 1%; Coleoptera (2% of specimens), with curculionids 1% and other Coleoptera 1%; and a variety of other insects, spiders and mites representing 3%. Two small Anolis lizards and a small Eleutherodactylus frog also were captured. Arthropod composition in sticky traps from the LEF and in Dominican amber were similar.
Seven small plastic cups (7 cm diameter x 5 cm tall) were coated with adhesive and placed on lower tree boles or on logs at the non-gap site between the soil respiration site (before the Sonadora) and the Sonadora bridge for 5 days during June 2004, January and July 2005, July 2006 and July 2007 (total 35 samples). Arthropods were collected after 5 days and tabulated by species.


text:
Paige Tyler's X-Ops Exposed
Paige Tyler's X-Ops Exposed
In Paige Tyler's X-OPS EXPOSED, heartbroken and determined, Dr. Zarina Sokolov tracks Tanner into the wild. Her presence unleashes Tanner's protective instinct—big time. Locals have been disappearing and he is desperate for Zarina to leave. As the kidnappings escalate, Tanner must embrace the dangerous instincts he fears so much. But with Zarina at his side, he'll have to learn to control his animal impulses, or lose himself—and the woman he loves—to the beast within.
Title: X-Ops Exposed
Author: Paige Tyler
Series: X-Ops, #8
Pub Date: April 3, 2018
Genre: Paranormal Romantic Suspense
HE LEFT TO KEEP HER SAFE
Believing he's too dangerous to be among people, feline hybrid Tanner Howland retreats deep into the forests of Washington State—with no choice but to leave behind the woman who's captured his heart. What he doesn't know is that she followed him…
SHE WOULDN'T STAY BEHIND
Heartbroken and determined, Dr. Zarina Sokolov tracks Tanner into the wild. Her presence unleashes Tanner's protective instinct—big time. Locals have been disappearing and he is desperate for Zarina to leave. As the kidnappings escalate, Tanner must embrace the dangerous instincts he fears so much. But with Zarina at his side, he'll have to learn to control his animal impulses, or lose himself—and the woman he loves—to the beast within.
Amazon | Barnes & Noble | iBooks | Kobo | IndieBound
Knowing she wasn't going to get away, Zarina slid to a stop and spun around, ready to shout at the beast that wanted to kill her. She'd seen Tanner let out a roar that could paralyze almost anything crazy enough to attack him, so perhaps she could do the same thing.
But her cry of defiance died in her throat as she came face-to-face with a gigantic grizzly bear. The beast reared up on its hind legs, towering over her for one heart-stopping moment before dropping to all fours and roaring at her so loud, her bones felt turned to jelly.
She vaguely remembered the store clerk in town trying to sell her a can of bear repellent. If she wasn't so terrified, she'd laugh at the idea. What the heck would a can of pepper spray do to something this big?
The bear took a step in her direction with another roar, showing off fangs large enough to bite right through her.
For a split second, Zarina considered running again, but it would be pointless. She'd never outrun a bear.
Rabbits get eaten.
So instead, she screamed as long and loud as she could.
The grizzly looked shocked for a moment, but instead of scaring the animal off like she'd hoped, all it did was seem to make him mad. Head low, the bear started toward her.
She was going to die.
But suddenly, the bear stopped, a look of what could only be confusion on its face as it focused on something behind her. A second later, a roar ripped through the night that shook the ground. She jerked her head around, almost collapsing in relief when she saw Tanner standing there in the dark, dressed in jeans and a T-shirt, his eyes glowing vivid red, fangs bared as he let out a roar that sounded exactly like that of a lion. Which made sense, because those were the DNA strands blended with his own.
Zarina stood transfixed. Tanner's fangs were longer and looked more terrifying than the bear's.
The rage and anger on his face must have been enough to scare the grizzly, because the huge animal gave one more halfhearted chuff in Tanner's direction, then turned and scurried back into the pitch-dark forest.
To her right, she caught movement. Crap, Tanner was going after the bear. Not because he wanted to hurt the animal, but because by running, the grizzly had become the prey, and Tanner's lion half simply couldn't stop itself from hunting the animal down now that the rage had taken over.
"Tanner," she said softly. "Let the bear go."
He stopped like he'd hit a brick wall, then stood there, unmoving, for what felt like forever, facing away from her and staring off into the darkness in the direction the bear had run. Not that it was probably all that dark for Tanner. With his animal-enhanced eyesight, he could probably see the grizzly's big, fuzzy rump bouncing off into the woods. And if his eyes lost the creature, then his keen sense of smell would fill in the details. Which was a good thing, since she'd have probably been a bear treat if it hadn't been for that nose of his.
After what seemed like an eternity, Tanner turned and looked at her. His fangs and glowing red eyes were gone now, replaced by a mesmerizing blue gaze and a ruggedly handsome face that had made her heart almost stop beating the first time she'd seen it. He had a bit more dark-blond scruff along his jaw and chin now. Actually, a lot more. Maybe it was because she'd grown up in a cold-weather environment where the opposite sex went all caveman in an attempt to stay warm, but she wasn't usually a fan of facial hair. On Tanner, though, it looked incredibly scrumptious.
His T-shirt clung tightly to his chest and shoulders, showing off all the muscles he had upstairs, while his jeans fought to contain thighs that looked poised to tear their way out at any moment. Had he actually gotten more muscular since he'd been out there?
Zarina almost ran to him right then so she could throw her arms around him and hold him tight for the rest of the night. But she didn't, because she knew he wouldn't be ready for that. Not after she'd showed up in the forest out of the blue and almost gotten eaten by a bear.
But damn, it was hard.
Tanner looked better now than when he'd been living in the dorms at the DCO complex. He had been put up there since the agency's covert agents had found him out here all that time ago. Even the stress lines that had been etched into his features had completely faded. It almost made her sorry she'd come out here to disturb the serenity he seemed to have found. But she couldn't stay away, not with the way she felt about him. And especially not when she could finally help him.
"What are you doing here, Zarina?" he asked bluntly.
So much for him sweeping her into his arms and saying he was happy to see her. Clearly, he wasn't. She tried not to let that hurt too much.
"I'm here to help you," she said, equally blunt.
She'd learned a long time ago that dancing around a subject wasn't the way Tanner did things. It wasn't the way she did, either, so that was okay. She didn't bother mentioning that his disappearance had caused her more sleepless nights than she could count and had nearly driven her insane with worry. That would have been emotional blackmail, and she wasn't going to do that to him.
His jaw flexed. "I don't need any help. I'm doing a good job of controlling my hybrid impulses all on my own."
She looked pointedly in the direction the grizzly had run. "It doesn't seem like it to me."
Tanner flinched, and she immediately regretted her choice of words. Dammit, she was out here to help him, not push him further away.
"I haven't lost control in the two months I've been out here," he said through clenched teeth. "Not until you decided to do something stupid like wander through the middle of a grizzly's territory by yourself."
Zarina wanted to point out that she hadn't planned to be out here this late and that there was no way she could have known she was in a bear's territory. But she bit her tongue and focused on trying to defuse the situation.
"I'm sorry I made you lose control again," she said. "But I'm here to make sure it doesn't happen again…ever."
She waited, expecting Tanner to ask her what she meant by that, but he didn't. Instead, he stood there regarding her and looking way better than any man should considering he'd been camping in the woods for two months. She had met plenty of guys who couldn't pull off his level of masculine perfection after primping in front of a mirror for an hour. That was one of the other things she'd learned about Tanner. He didn't have to work hard at being so amazing. It came naturally to him.
After another minute of silence, Zarina accepted that if they were going to talk, she was the one who would have to get the conversation started. "I finished the hybrid drug antiserum that will return your DNA back to what it was before Stutmeir's doctors experimented on you. You can be a normal human again."
She waited for some reaction—relief, doubt, elation. Something. But Tanner looked as interested as if she'd told him it might rain tomorrow.
"I'll never be normal again," he finally said quietly.
"Yes, you will." She stepped closer, anguish coursing through her when he immediately took a step back. "I worked on the antidote every minute since you left. It will work. It will keep the beast from ever slipping out again."
"I don't want it, dammit!" he shouted, making her jump. He cursed and ran his hand through his hair. "I'm sorry," he said, his voice softer. "For yelling at you. And for making you come all the way out here and hiking halfway across the Wenatchee Forest to find me. But I don't want the antidote. Just go home, okay? Leave me out here where I can't hurt anyone."
Zarina's heart tore in two at the pain in his eyes. She had no idea why he was turning down her offer, but she wasn't leaving without him.
"I'm not going home," she said, standing her ground and leveling her gaze at him.
Having this conversation would have been a lot easier without holding a flashlight. Then she could have folded her arms to emphasize her point.
"Then you'd better have a lot of books on that e-reader of yours, because you're going to get bored damn fast waiting for me at whatever hotel you're staying in."
"I'm not going to a hotel," she told him. "I'm staying out here."
Red flared in his eyes but faded just as quickly. "Like hell you are."
"I'm not leaving," she said firmly. "You can run off into the woods—we both know I can't keep up with you—but I still won't leave. I'll keep walking all over the forest looking for you."
His eyes flickered red again, and he muttered something under his breath she couldn't catch. "You irritate me like no one else on the planet, do you know that?"
"Yes," she replied, even though it was a probably a rhetorical question. "So, which way to your camp?"
Paige Tyler is a New York Times and USA Today bestselling author of sexy, romantic fiction. Paige writes books about hunky alpha males and the kick-butt heroines they fall in love with. She lives with her very own military hero (a.k.a. her husband) and their adorable dog on the beautiful Florida coast.
Find Paige Online:
Website: https://paigetylertheauthor.com/
Facebook: https://www.facebook.com/PaigeTylerAuthor/
Twitter: https://twitter.com/PaigeTyler
Instagram: https://www.instagram.com/paige_tyler_author/
Goodreads: https://www.goodreads.com/author/show/2300692.Paige_Tyler
Enter to win one of five copies of Her Dark Half by Paige Tyler!
One Response to Paige Tyler's X-Ops Exposed
Sloan McBride 3 years ago	March 31, 2018at 1:57 pm
Love Paige Tyler books. Love the Seals!!!!!!!


12 x Smiley Bendy Men! Party bag toy!! Emoji! smile face!
Bendy Fidget Monkeys- Multi-sensory World www.multi-sensoryworld.co.
DIY Bendy Dolls tutorial I SO want to do this, they look so cute!
Quantum Communication Can Travel Faster—It's Not Just a Myth | Utter Buzz!
Bendy And The Ink Machine Buildable Ink Machine Scene Set!!!
The 'Fortnite' Twitch Streamers Teaching Gen Z About Climate Change | Utter Buzz!
Fidget Rings - multi-sensory world - www.multi-sensoryworld.co.


text:
Blens is een plaats in de Duitse gemeente Heimbach (Eifel), deelstaat Noordrijn-Westfalen, en telt 300 inwoners.

Plaats in Noordrijn-Westfalen
Heimbach (Eifel)

redpajama_set_name: RedPajamaWikipedia


text:
Q: How to build a generator polynomial for Reed Solomon code? Go through all of the necessary steps to build a generator polynomial for a 3-error correcting 11-ary Reed-Solomon code of length $10$.
How to go about this?
Based on the formula, $(x−βl+j)$, what could I make $β$?
Since it has to be a root of an irreducible polynomial, but I am confused on how to incorporate all this information in this problem.
Please help in how to start this problem?

A: You can actually use an easy formula mentioned earlier in the Spence text (which I assume you're using). Namely, $g(x) = (x - \alpha^b)(x-\alpha^{b+1})...(x-\alpha^{b + \delta - 2})$, where $\delta$ is the desired Hamming distance (in this case, it's $2 * 3 + 1 = 7$), $b$ is any integer $\geq 0$ ($0$ seems like a good choice), and $\alpha$ is a primitive root modulo $11$; for example, $2$.


text:
A Review of AVMA Raw Pet Food Policy
in Pet Food News
The following review of the pending AVMA policy against raw pet foods was provided by James K. Russell, PhD…
Regarding the AVMA Policy on Raw or Undercooked Animal-Source Protein in Cat and Dog Diets (by James K. Russell, Ph. D.)
The executive board of the American Veterinary Medical Association has recently proposed a policy statement on the provision of raw and undercooked diets to cats and dogs. Publication of the policy is pending general approval by the association.
The policy is generally sensible, but risks being misconstrued. Further, while it cites a number of scientific studies, they are of mixed quality and none fully settle the principal concern addressed by the policy—the safety regarding raw meat ingredients for consumption in companion animals and for food handlers (typically their owners). In response to public concern, the association explains that it is not in a position to effect a ban, not having any governmental authority. Nonetheless, policies of non-profit professional societies can be highly influential. In the medical community, it is understood that this influence is consequential, and expected that the process behind policy development be transparent. It cannot be ignored that the prepared dog food industry, with over $10 billion in annual revenues[i], has a stake in policies potentially affecting the prevalence of alternative diets. It does not seem too much to ask that any potential conflict of interest on the part of the authors with respect to the industry should be disclosed.
Here is the policy, in short:
• Never feed inadequately treated animal-source protein to cats and dogs
• Restrict cats' and dogs' access to carrion and animal carcasses (e.g. while hunting)
• Provide fresh, clean, nutritionally balanced and complete commercially prepared or home-cooked food to cats and dogs, and dispose of uneaten food at least daily
• Practice personal hygiene (e.g. handwashing) before and after feeding cats and dogs, providing treats, cleaning pet dishes, and disposing of uneaten food
Of course practicing good hygiene with our pets makes good sense, as does the provision of clean, nutritious food and the disposal of uneaten food. Access to carcasses is not a major issue for most pet owners. Given the topic of the policy, and its position, most attention will focus on the first statement:
"Never feed inadequately treated animal-source protein to cats and dogs".
Depending on how it is interpreted, this statement is at best unclear, and under a broad interpretation goes beyond the available evidence. Read most straightforwardly, it amounts to a recommendation to never feed raw meat and eggs to our carnivore pets. Such a recommendation is not well supported by the evidence. An alternative reading would permit raw meats and eggs that were "adequately treated". Whether adequate treatment is consistent with maintenance of food in a raw condition is unclear, and the policy does not speak to this point. Certainly, it is established human practice to carefully treat raw animal protein safely while retaining its rawness – this is true for instance of sushi, sashimi and steak tartare, not to mention salad. And, it is recognized that particular care is required when preparing raw foods for human consumption because of the heightened risk of bacterial contamination. Cooking is an easy and reliable method for protecting against bacterial contamination; however, it is not the only effective method.
Few of the studies cited in support of the policy include controls and several are little more than anecdotal. Most of the studies advocate good hygienic practices when preparing raw meat meals, as do statements from the U.S. Dept. of Agriculture Food Safety and Inspection Service, from the U.S. Food and Drug Administration, and from the U.S. Centers for Disease Control and Prevention. A representative list of optimal hygienic measures would include[ii],[iii],[iv],[v],[vi]:
• use of only meats inspected (e.g. by USDA) and found suitable for human consumption
• hand washing after handling raw foods
• regular washing or disinfection with a mild bleach solution of bowls, food preparation surfaces and implements
• avoidance of cross-contamination by use of separate preparation surfaces for separate ingredients
• proper storage of raw ingredients in the refrigerator or, for extended periods, the freezer
• disposal of unconsumed meal portions
• avoidance of exposure of young children, the elderly or the ill to raw food ingredients
Unfortunately, not one of the studies cited in support of the policy has included any steps to ensure these good practices are maintained in the study participants. Food sources are characterized only to the level of species (beef, chicken, turkey, …), if at all. Inspection status regarding fitness for human consumption is not stated in a single study. Descriptions of methods are restricted to the methods of handling for fecal samples with no mention of food preparation methods or hygienic measures in homes or manufacturing facilities. Furthermore, no study cited in support of the AVMA policy included any control samples from commercially available meals prepared by standard methods (cooking, extrusion). Even the authors of the most extensive and methodologically sound of these studies[ii] acknowledged, "There is currently inadequate information regarding the safety of raw diets in terms of both animal and human disease." One study[vii] cited in support of the recently stated policy of Pet Partners to preclude animals fed raw diets from participation in animal therapy programs that involve hospital visitation did include limited canned and extruded products as controls. The finding suggested higher incidence of bacterial contamination in commercially available raw diets than in these more standard commercially available diets, but notably contamination was found in diets of all types. While it was one of the most rigorous studies in this area, it was not sufficiently powered statistically to prove this point to a scientific standard. As the authors noted in the study, "a limited number of samples of the dry and canned diets were included as controls, and this did not allow for statistical analyses or comparisons. Further investigation is warranted to make quantitative comparisons of the degree of bacterial contamination among those types of commercial diets." The broad finding of contamination in all diets reflect, in part the coarseness of the methods for detecting bacteria. In practice, the bacteria of greatest concern for human health are Escherichia coli O157:H7, one of hundreds of variants of E. coli, and a handful of serovars of Salmonella enterica enterica, out of thousands of serovars. This study and others have tested only for the presence or absence of E. coli-like bacteria or Salmonella species—not for species specific variants that are risk factors for clinical disease. Salmonella is an important but particularly common bacterial food contaminant, the basis for recent recalls of commercial dog food[viii], as well as of eggs, spinach and alfalfa sprouts, among other human foods. Because they are relevant human pathogens, several of the studies cited by the AVMA and Pet Partners policies also tested for Camplylobacter spp., Clostridium spp. and methicillin-resistant Staphylococcus aureus (MRSA)ii,[ix]. No relationship of any of these specifically pathogenic varieties of species and the use of raw food diets was found.
It is understandable that scientific research has yet to provide all the necessary answers for this somewhat contentious issue, which has emerged relatively recently. To be fair, scientific evidence for the benefits of raw food diets is limited as well, but it is important to recognize that this is the state of our understanding. Declarative policies should not close the door on practices without good evidence solely because they are relatively unfamiliar. It is not constructive to indiscriminately cite parades of bacteriological and parasiticological horrors to a public audience ill-prepared to evaluate them. For instance, one study cited in support of the AVMA policy described essentially every known pathogen of dogs, without any assessment of clinical or for that matter canine relevance.[x] Describing the risk of feeding everything from muskrat to walrus to pets is really more confusing than helpful, and discussion of anthrax, botulism and tuberculosis is little short of alarmist.
Good studies of practical raw meat diets representative of use by pet owners, prepared and presented with good, well-documented methods and including appropriate controls remain to be done. It is too early, on the basis of present evidence, to conclude that raw food diets properly handled are particularly risky, and to be fair it is too early to conclude that they are not. Good studies are called for.
There is legitimate basis for concern regarding bacterial contamination of raw meat and eggs. In the interim, it makes sense to practice good hygienic methods, use well-inspected ingredients, handle them carefully, and avoid contact of raw foods and food preparation materials by the very young, the very old and the ill. The evidence is not conclusive, but particular caution being warranted under the circumstances, the decision of Pet Partners to avoid raw diets in therapy animals working in hospitals seems sensible until more conclusive evidence is available.
Apart from the particular care due the infirm, it is reasonable to keep in mind that "no confirmed cases of human salmonellosis have been associated with these diets"[xi]
As for the AVMA policy, it is only reasonable if the first statement "Never feed inadequately treated animal-source protein to cats and dogs" is permissive of an interpretation that careful hygienic methods constitute adequate treatment. A blanket ban of raw food no matter how prepared and handled is unwarranted by the scientific evidence.
A recent review[xii] of the evidence surrounding raw food diets on the basis of standards of evidence conventionally used in medicine concluded: "Although there is a lack of large cohort studies to evaluate risk or benefit of raw meat diets fed to pets, there is enough evidence to compel veterinarians to discuss human health implications of these diets with owners." This is sensible advice. The evidence does not currently warrant a policy that may be interpreted as tantamount to a ban. All those interested in the safety and efficacy of raw food diets for pets should keep their minds open, and support the further research that will be required for better understanding of the risks and benefits of raw foods.
James K. Russell, Ph. D.[1]
[1] Dr. Russell is an advisor to The Pawsitive Packleader, Inc. Among its services, The Pawsitive Packleader advises clients on preparation of raw food diets for dogs
[i] http://www.petfoodinstitute.org/Index.cfm?Page=USPetFoodSales, accessed 7/31/2012
[ii] Weese, J Scott, Joyce Rousseau, and L Arroyo. 2005. "Bacteriological Evaluation of Commercial Canine and Feline Raw Diets." The Canadian Veterinary Journal. La Revue Vétérinaire Canadienne 46 (6) (June): 513–516.
[iii] CDC Features – Salmonella is a Sneaky Germ: Seven Tips for Safer Eating http://www.cdc.gov/Features/VitalSigns/FoodSafety/
[iv] USDA FSIS Fact Sheets, Foodborne Illness & Disease. Salmonella Questions and Answers. http://www.fsis.usda.gov/fact_sheets/Salmonella_Questions_&_Answers/inde…
[v] LeJeune, J T, and D D Hancock. 2001. "Public Health Concerns Associated with Feeding Raw Meat Diets to Dogs." Journal of the American Veterinary Medical Association 219 (9) (November 1): 1222–1225.
[vi] Consumer Updates – Safe Handling Tips for Pet Foods and Treats". WebContent. http://www.fda.gov/ForConsumers/ConsumerUpdates/ucm048182.htm.
[vii] Strohmeyer, Rachel A, Paul S Morley, Doreene R Hyatt, David A Dargatz, A Valeria Scorza, and Michael R Lappin. 2006. "Evaluation of Bacterial and Protozoal Contamination of Commercially Available Raw Meat Diets for Dogs." Journal of the American Veterinary Medical Association 228 (4) (February 15): 537–542. doi:10.2460/javma.228.4.537.
[viii] FDA: Pet Food Recalls http://www.fda.gov/AboutFDA/Transparency/OpenGovernment/ucm225435.htm, accessed 7/31/2012
[ix] Lefebvre, S L, R Reid-Smith, P Boerlin, and J S Weese. 2008. "Evaluation of the Risks of Shedding Salmonellae and Other Potential Pathogens by Therapy Dogs Fed Raw Diets in Ontario and Alberta." Zoonoses and Public Health 55 (8-10) (October): 470–480. doi:10.1111/j.1863-2378.2008.01145.x.
[x] LeJeune, J T, and D D Hancock. 2001. "Public Health Concerns Associated with Feeding Raw Meat Diets to Dogs." Journal of the American Veterinary Medical Association 219 (9) (November 1): 1222–1225.
[xi] Finley, Rita, Richard Reid-Smith, and J Scott Weese. 2006. "Human Health Implications of Salmonella-contaminated Natural Pet Treats and Raw Pet Food." Clinical Infectious Diseases: An Official Publication of the Infectious Diseases Society of America 42 (5) (March 1): 686–691. doi:10.1086/500211.
[xii] Schlesinger, Daniel P, and Daniel J Joffe. 2011. "Raw Food Diets in Companion Animals: a Critical Review." The Canadian Veterinary Journal. La Revue Vétérinaire Canadienne 52 (1) (January): 50–54.
Also posted here: http://www.examiner.com/article/a-review-of-the-avma-s-proposed-policy-against-raw-food
Author, Buyer Beware
Co-Author Dinner PAWsible
PetsumerReport.com
Is your dog or cat eating risk ingredients? Chinese imports? Petsumer Report tells the 'rest of the story' on over 2500 cat foods, dog foods, and pet treats. 30 Day Satisfaction Guarantee. www.PetsumerReport.com
Are you subscribed to Truth About Pet Food Newsletter? Click Here to subscribe
Follow Truth about Pet Food on Twitter
Become a Fan of Truth about Pet Food, Dinner PAWsible, Buyer Beware on Facebook
Tags: AVMA
Response from Petcurean Pet Foods to The Pledge
LeaAnn Cords says:
Since when do pet owners need government permission to feed our animals homemade food? Laws of nature folks these animals are bred to eat raw meats and eggs. DUH!
America was created to have freedom of choice. Butt out government officials, politicians, and poor quality food producers. Maybe if you made healthier products for our pets, we wouldn't need to make our own.
Pingback: TDI vs Delta Society/Pet Partners vs Other - Page 2
Pingback: Have you seen this:Purina is suing Blue Buffalo Pet foods???
blowyourfunnyfuse says:
The corporate/professional hysteria surrounding raw food is unreasonable considering that most of us regularly, at least occasionally, prepare non-vegetarian meals at home. I mean if raw food for our pets was this dangerous, wouldn't us humans also be getting sick from baking a chicken? FFS.