text:
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for full license information.

using System;
using System.IO;
using System.Reflection;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;
using Microsoft.Build.UnitTests;
using Microsoft.Build.Tasks;
using Microsoft.Build.Shared;

namespace Microsoft.Build.UnitTests
{
    [TestClass]
    sealed public class Move_Tests
    {
        /// <summary>
        /// Basic case of moving a file
        /// </summary>
        [TestMethod]
        public void BasicMove()
        {
            string sourceFile = FileUtilities.GetTemporaryFile();
            string destinationFile = FileUtilities.GetTemporaryFile();

            try
            {
                using (StreamWriter sw = new StreamWriter(sourceFile, true))
                    sw.Write("This is a source temp file.");
                FileInfo file = new FileInfo(sourceFile);
                file.Attributes = file.Attributes | FileAttributes.ReadOnly; // mark read only

                ITaskItem[] sourceFiles = new ITaskItem[] { new TaskItem(sourceFile) };
                ITaskItem[] destinationFiles = new ITaskItem[] { new TaskItem(destinationFile) };

                File.Delete(destinationFile);

                Move t = new Move();
                t.BuildEngine = new MockEngine(true /* log to console */);
                t.SourceFiles = sourceFiles;
                t.DestinationFiles = destinationFiles;

                Assert.IsTrue(t.Execute());

                Assert.IsTrue(!File.Exists(sourceFile), "Expected the source file to be gone.");
                Assert.IsTrue(File.Exists(destinationFile), "Expected the destination file to exist.");
                Assert.AreEqual(1, t.DestinationFiles.Length);
                Assert.AreEqual(destinationFile, t.DestinationFiles[0].ItemSpec);
                Assert.AreEqual(1, t.MovedFiles.Length);
                Assert.AreEqual(true, ((new FileInfo(destinationFile)).Attributes & FileAttributes.ReadOnly) == 0); // should have cleared r/o bit
            }
            finally
            {
                File.Delete(sourceFile);
                File.Delete(destinationFile);
            }
        }

        /// <summary>
        /// Basic case of moving a file but with OverwriteReadOnlyFiles = true.
        /// </summary>
        [TestMethod]
        public void BasicMoveOverwriteReadOnlyFilesTrue()
        {
            string sourceFile = FileUtilities.GetTemporaryFile();
            string destinationFile = FileUtilities.GetTemporaryFile();

            try
            {
                using (StreamWriter sw = new StreamWriter(sourceFile, true))
                    sw.Write("This is a source temp file.");
                FileInfo file = new FileInfo(sourceFile);
                file.Attributes = file.Attributes | FileAttributes.ReadOnly; // mark read only

                ITaskItem[] sourceFiles = new ITaskItem[] { new TaskItem(sourceFile) };
                ITaskItem[] destinationFiles = new ITaskItem[] { new TaskItem(destinationFile) };

                File.Delete(destinationFile);

                Move t = new Move();
                t.BuildEngine = new MockEngine(true /* log to console */);
                t.SourceFiles = sourceFiles;
                t.OverwriteReadOnlyFiles = true;
                t.DestinationFiles = destinationFiles;

                Assert.IsTrue(t.Execute());

                Assert.IsFalse(File.Exists(sourceFile), "Expected the source file to be gone.");
                Assert.IsTrue(File.Exists(destinationFile), "Expected the destination file to exist.");
                Assert.AreEqual(1, t.DestinationFiles.Length);
                Assert.AreEqual(destinationFile, t.DestinationFiles[0].ItemSpec);
                Assert.AreEqual(1, t.MovedFiles.Length);
                Assert.AreEqual(true, ((new FileInfo(destinationFile)).Attributes & FileAttributes.ReadOnly) == 0); // should have cleared r/o bit
            }
            finally
            {
                if (File.Exists(sourceFile))
                {
                    FileInfo file = new FileInfo(sourceFile);
                    file.Attributes = file.Attributes & ~FileAttributes.ReadOnly; // mark read only
                    File.Delete(sourceFile);
                }

                File.Delete(destinationFile);
            }
        }

        /// <summary>
        /// File to move does not exist
        /// Should not overwrite destination!
        /// </summary>
        [TestMethod]
        public void NonexistentSource()
        {
            string sourceFile = FileUtilities.GetTemporaryFile();
            string destinationFile = FileUtilities.GetTemporaryFile();

            try
            {
                File.Delete(sourceFile);
                using (StreamWriter sw = new StreamWriter(destinationFile, true))
                    sw.Write("This is a destination temp file.");

                ITaskItem[] sourceFiles = new ITaskItem[] { new TaskItem(sourceFile) };
                ITaskItem[] destinationFiles = new ITaskItem[] { new TaskItem(destinationFile) };

                Move t = new Move();
                t.BuildEngine = new MockEngine(true /* log to console */);
                t.SourceFiles = sourceFiles;
                t.DestinationFiles = destinationFiles;

                Assert.IsTrue(!t.Execute());

                Assert.IsFalse(File.Exists(sourceFile), "Expected the source file to still not exist.");
                Assert.IsTrue(File.Exists(destinationFile), "Expected the destination file to still exist.");
                Assert.AreEqual(1, t.DestinationFiles.Length);
                Assert.AreEqual(destinationFile, t.DestinationFiles[0].ItemSpec);
                Assert.AreEqual(0, t.MovedFiles.Length);

                string destinationFileContents;
                using (StreamReader sr = new StreamReader(destinationFile))
                    destinationFileContents = sr.ReadToEnd();

                Assert.IsTrue
                (
                    destinationFileContents == "This is a destination temp file.",
                    "Expected the destination file to still contain the contents of destination file."
                );
            }
            finally
            {
                File.Delete(sourceFile);
                File.Delete(destinationFile);
            }
        }

        /// <summary>
        /// A file can be moved onto itself successfully (it's a no-op).
        /// </summary>
        [TestMethod]
        public void MoveOverSelfIsSuccessful()
        {
            string sourceFile = FileUtilities.GetTemporaryFile();
            try
            {
                using (StreamWriter sw = new StreamWriter(sourceFile, true))
                {
                    sw.Write("This is a temp file.");
                }

                ITaskItem[] sourceFiles = new ITaskItem[] { new TaskItem(sourceFile) };
                ITaskItem[] destinationFiles = new ITaskItem[] { new TaskItem(sourceFile) };

                Move t = new Move();

                t.BuildEngine = new MockEngine(true /* log to console */);
                t.SourceFiles = sourceFiles;
                t.DestinationFiles = destinationFiles;

                // Success
                Assert.IsTrue(t.Execute());

                // File is still there.
                Assert.IsTrue(File.Exists(sourceFile), "Source file should be there");
            }
            finally
            {
                File.Delete(sourceFile);
            }
        }

        /// <summary>
        /// Move should overwrite any destination file except if it's r/o
        /// </summary>
        [TestMethod]
        public void MoveOverExistingFileReadOnlyNoOverwrite()
        {
            string sourceFile = FileUtilities.GetTemporaryFile();
            string destinationFile = FileUtilities.GetTemporaryFile();
            try
            {
                using (StreamWriter sw = new StreamWriter(sourceFile, true))
                    sw.Write("This is a source temp file.");

                using (StreamWriter sw = new StreamWriter(destinationFile, true))
                    sw.Write("This is a destination temp file.");

                ITaskItem[] sourceFiles = new ITaskItem[] { new TaskItem(sourceFile) };
                ITaskItem[] destinationFiles = new ITaskItem[] { new TaskItem(destinationFile) };

                FileInfo file = new FileInfo(destinationFile);
                file.Attributes = file.Attributes | FileAttributes.ReadOnly; // mark destination read only

                Move t = new Move();
                t.BuildEngine = new MockEngine(true /* log to console */);
                t.SourceFiles = sourceFiles;
                t.DestinationFiles = destinationFiles;

                Assert.IsTrue(!t.Execute());

                Assert.IsTrue(File.Exists(sourceFile), "Source file should be present");

                string destinationFileContents;
                using (StreamReader sr = new StreamReader(destinationFile))
                    destinationFileContents = sr.ReadToEnd();

                Assert.IsTrue
                (
                    destinationFileContents == "This is a destination temp file.",
                    "Expected the destination file to be unchanged."
                );

                Assert.AreEqual(true, ((new FileInfo(destinationFile)).Attributes & FileAttributes.ReadOnly) != 0); // should still be r/o
            }
            finally
            {
                File.Delete(sourceFile);

                FileInfo file = new FileInfo(destinationFile);
                file.Attributes = file.Attributes ^ FileAttributes.ReadOnly; // mark destination writeable only
                File.Delete(destinationFile);
            }
        }

        /// <summary>
        /// Move should overwrite any writeable destination file
        /// </summary>
        [TestMethod]
        public void MoveOverExistingFileDestinationWriteable()
        {
            string sourceFile = FileUtilities.GetTemporaryFile();
            string destinationFile = FileUtilities.GetTemporaryFile();
            try
            {
                using (StreamWriter sw = new StreamWriter(sourceFile, true))
                    sw.Write("This is a source temp file.");

                using (StreamWriter sw = new StreamWriter(destinationFile, true))
                    sw.Write("This is a destination temp file.");

                ITaskItem[] sourceFiles = new ITaskItem[] { new TaskItem(sourceFile) };
                ITaskItem[] destinationFiles = new ITaskItem[] { new TaskItem(destinationFile) };

                Move t = new Move();
                t.BuildEngine = new MockEngine(true /* log to console */);
                t.SourceFiles = sourceFiles;
                t.DestinationFiles = destinationFiles;

                t.Execute();

                Assert.IsFalse(File.Exists(sourceFile), "Source file should be gone");

                string destinationFileContents;
                using (StreamReader sr = new StreamReader(destinationFile))
                    destinationFileContents = sr.ReadToEnd();

                Assert.IsTrue
                (
                    destinationFileContents == "This is a source temp file.",
                    "Expected the destination file to contain the contents of source file."
                );
            }
            finally
            {
                File.Delete(sourceFile);
                File.Delete(destinationFile);
            }
        }

        /// <summary>
        /// Move should overwrite any destination file even if it's not r/o
        /// if OverwriteReadOnlyFiles is set.
        ///
        /// This is a regression test for bug 814744 where a move operation with OverwriteReadonlyFiles = true on a destination file with the readonly
        /// flag not set caused the readonly flag to be set before the move which caused the move to fail.
        /// </summary>
        [TestMethod]
        public void MoveOverExistingFileOverwriteReadOnly()
        {
            string sourceFile = FileUtilities.GetTemporaryFile();
            string destinationFile = FileUtilities.GetTemporaryFile();
            try
            {
                using (StreamWriter sw = new StreamWriter(sourceFile, true))
                    sw.Write("This is a source temp file.");

                using (StreamWriter sw = new StreamWriter(destinationFile, true))
                    sw.Write("This is a destination temp file.");

                ITaskItem[] sourceFiles = new ITaskItem[] { new TaskItem(sourceFile) };
                ITaskItem[] destinationFiles = new ITaskItem[] { new TaskItem(destinationFile) };

                FileInfo file = new FileInfo(destinationFile);
                file.Attributes = file.Attributes & ~FileAttributes.ReadOnly; // mark not read only

                Move t = new Move();
                t.OverwriteReadOnlyFiles = true;
                t.BuildEngine = new MockEngine(true /* log to console */);
                t.SourceFiles = sourceFiles;
                t.DestinationFiles = destinationFiles;

                t.Execute();

                Assert.IsFalse(File.Exists(sourceFile), "Source file should be gone");

                string destinationFileContents;
                using (StreamReader sr = new StreamReader(destinationFile))
                    destinationFileContents = sr.ReadToEnd();

                Assert.IsTrue
                (
                    destinationFileContents == "This is a source temp file.",
                    "Expected the destination file to contain the contents of source file."
                );

                Assert.AreEqual(true, ((new FileInfo(destinationFile)).Attributes & FileAttributes.ReadOnly) == 0); // readonly bit should not be set
            }
            finally
            {
                File.Delete(sourceFile);
                File.Delete(destinationFile);
            }
        }

        /// <summary>
        /// Move should overwrite any destination file even if it's r/o
        /// if OverwriteReadOnlyFiles is set.
        /// </summary>
        [TestMethod]
        public void MoveOverExistingFileOverwriteReadOnlyOverWriteReadOnlyFilesTrue()
        {
            string sourceFile = FileUtilities.GetTemporaryFile();
            string destinationFile = FileUtilities.GetTemporaryFile();
            try
            {
                using (StreamWriter sw = new StreamWriter(sourceFile, true))
                    sw.Write("This is a source temp file.");

                using (StreamWriter sw = new StreamWriter(destinationFile, true))
                    sw.Write("This is a destination temp file.");

                ITaskItem[] sourceFiles = new ITaskItem[] { new TaskItem(sourceFile) };
                ITaskItem[] destinationFiles = new ITaskItem[] { new TaskItem(destinationFile) };

                FileInfo file = new FileInfo(destinationFile);
                file.Attributes = file.Attributes | FileAttributes.ReadOnly; // mark read only

                Move t = new Move();
                t.OverwriteReadOnlyFiles = true;
                t.BuildEngine = new MockEngine(true /* log to console */);
                t.SourceFiles = sourceFiles;
                t.DestinationFiles = destinationFiles;

                t.Execute();

                Assert.IsFalse(File.Exists(sourceFile), "Source file should be gone");

                string destinationFileContents;
                using (StreamReader sr = new StreamReader(destinationFile))
                    destinationFileContents = sr.ReadToEnd();

                Assert.IsTrue
                (
                    destinationFileContents == "This is a source temp file.",
                    "Expected the destination file to contain the contents of source file."
                );

                Assert.AreEqual(true, ((new FileInfo(destinationFile)).Attributes & FileAttributes.ReadOnly) == 0); // should have cleared r/o bit
            }
            finally
            {
                File.Delete(sourceFile);
                File.Delete(destinationFile);
            }
        }

        /// <summary>
        /// MovedFiles should only include files that were successfully moved
        /// (or skipped), not files for which there was an error.
        /// </summary>
        [TestMethod]
        public void OutputsOnlyIncludeSuccessfulMoves()
        {
            string temp = Path.GetTempPath();
            string inFile1 = Path.Combine(temp, "2A333ED756AF4dc392E728D0F864A392");
            string inFile2 = Path.Combine(temp, "2A333ED756AF4dc392E728D0F864A393");
            string invalidFile = "!@#$%^&*()|";
            string validOutFile = Path.Combine(temp, "2A333ED756AF4dc392E728D0F864A394");

            try
            {
                FileStream fs = null;
                FileStream fs2 = null;

                try
                {
                    fs = File.Create(inFile1);
                    fs2 = File.Create(inFile2);
                }
                finally
                {
                    fs.Close();
                    fs2.Close();
                }

                Move t = new Move();
                MockEngine engine = new MockEngine(true /* log to console */);
                t.BuildEngine = engine;

                ITaskItem i1 = new TaskItem(inFile1);
                i1.SetMetadata("Locale", "en-GB");
                i1.SetMetadata("Color", "taupe");
                t.SourceFiles = new ITaskItem[] { new TaskItem(inFile2), i1 };

                ITaskItem o1 = new TaskItem(validOutFile);
                o1.SetMetadata("Locale", "fr");
                o1.SetMetadata("Flavor", "Pumpkin");
                t.DestinationFiles = new ITaskItem[] { new TaskItem(invalidFile), o1 };

                bool success = t.Execute();

                Assert.IsTrue(!success);
                Assert.AreEqual(1, t.MovedFiles.Length);
                Assert.AreEqual(validOutFile, t.MovedFiles[0].ItemSpec);
                Assert.AreEqual(2, t.DestinationFiles.Length);
                Assert.AreEqual("fr", t.DestinationFiles[1].GetMetadata("Locale"));

                // Output ItemSpec should not be overwritten.
                Assert.AreEqual(invalidFile, t.DestinationFiles[0].ItemSpec);
                Assert.AreEqual(validOutFile, t.DestinationFiles[1].ItemSpec);
                Assert.AreEqual(validOutFile, t.MovedFiles[0].ItemSpec);

                // Sources attributes should be left untouched.
                Assert.AreEqual("en-GB", t.SourceFiles[1].GetMetadata("Locale"));
                Assert.AreEqual("taupe", t.SourceFiles[1].GetMetadata("Color"));

                // Attributes not on Sources should be left untouched.
                Assert.AreEqual("Pumpkin", t.DestinationFiles[1].GetMetadata("Flavor"));
                Assert.AreEqual("Pumpkin", t.MovedFiles[0].GetMetadata("Flavor"));

                // Attribute should have been forwarded
                Assert.AreEqual("taupe", t.DestinationFiles[1].GetMetadata("Color"));
                Assert.AreEqual("taupe", t.MovedFiles[0].GetMetadata("Color"));

                // Attribute should not have been updated if it already existed on destination
                Assert.AreEqual("fr", t.DestinationFiles[1].GetMetadata("Locale"));
                Assert.AreEqual("fr", t.MovedFiles[0].GetMetadata("Locale"));
            }
            finally
            {
                File.Delete(inFile1);
                File.Delete(inFile2);
                File.Delete(validOutFile);
            }
        }

        /// <summary>
        /// Moving a locked file will fail
        /// </summary>
        [TestMethod]
        public void MoveLockedFile()
        {
            string file = null;

            try
            {
                file = FileUtilities.GetTemporaryFile();
                bool result;
                Move move = null;

                using (StreamWriter writer = new StreamWriter(file)) // lock it for write
                {
                    move = new Move();
                    move.BuildEngine = new MockEngine(true /* log to console */);
                    move.SourceFiles = new ITaskItem[] { new TaskItem(file) };
                    move.DestinationFiles = new ITaskItem[] { new TaskItem(file + "2") };
                    result = move.Execute();
                }

                Assert.IsTrue(!result);
                ((MockEngine)move.BuildEngine).AssertLogContains("MSB3677");
                Assert.AreEqual(false, File.Exists(file + "2"));
            }
            finally
            {
                File.Delete(file);
            }
        }

        /// <summary>
        /// Must have destination
        /// </summary>
        [TestMethod]
        public void NoDestination()
        {
            Move move = new Move();
            move.BuildEngine = new MockEngine();
            move.SourceFiles = new ITaskItem[] { new TaskItem(Assembly.GetExecutingAssembly().Location) };

            Assert.AreEqual(false, move.Execute());
            ((MockEngine)move.BuildEngine).AssertLogContains("MSB3679");
        }

        /// <summary>
        /// Can't have both destination file and directory
        /// </summary>
        [TestMethod]
        public void DestinationFileAndDirectory()
        {
            Move move = new Move();
            move.BuildEngine = new MockEngine();
            move.SourceFiles = new ITaskItem[] { new TaskItem(Assembly.GetExecutingAssembly().Location) };
            move.DestinationFiles = new ITaskItem[] { new TaskItem("x") };
            move.DestinationFolder = new TaskItem(Directory.GetCurrentDirectory());

            Assert.AreEqual(false, move.Execute());
            ((MockEngine)move.BuildEngine).AssertLogContains("MSB3678");
        }

        /// <summary>
        /// Can't specify a directory for the destination file
        /// </summary>
        [TestMethod]
        public void DestinationFileIsDirectory()
        {
            Move move = new Move();
            move.BuildEngine = new MockEngine();
            move.SourceFiles = new ITaskItem[] { new TaskItem(Assembly.GetExecutingAssembly().Location) };
            move.DestinationFiles = new ITaskItem[] { new TaskItem(Directory.GetCurrentDirectory()) };

            Assert.AreEqual(false, move.Execute());
            ((MockEngine)move.BuildEngine).AssertLogContains("MSB3676");
        }

        /// <summary>
        /// Can't move a directory to a file
        /// </summary>
        [TestMethod]
        public void SourceFileIsDirectory()
        {
            Move move = new Move();
            move.BuildEngine = new MockEngine();
            move.DestinationFiles = new ITaskItem[] { new TaskItem(Assembly.GetExecutingAssembly().Location) };
            move.SourceFiles = new ITaskItem[] { new TaskItem(Directory.GetCurrentDirectory()) };

            Assert.AreEqual(false, move.Execute());
            ((MockEngine)move.BuildEngine).AssertLogContains("MSB3681");
        }

        /// <summary>
        /// Moving a file on top of itself should be a success (no-op).
        /// Variation with different casing/relativeness.
        /// </summary>
        [TestMethod]
        public void MoveFileOnItself2()
        {
            string currdir = Directory.GetCurrentDirectory();
            string filename = "2A333ED756AF4dc392E728D0F864A396";
            string file = Path.Combine(currdir, filename);

            try
            {
                FileStream fs = null;

                try
                {
                    fs = File.Create(file);
                }
                finally
                {
                    fs.Close();
                }

                Move t = new Move();
                MockEngine engine = new MockEngine(true /* log to console */);
                t.BuildEngine = engine;
                t.SourceFiles = new ITaskItem[] { new TaskItem(file) };
                t.DestinationFiles = new ITaskItem[] { new TaskItem(filename.ToLowerInvariant()) };
                bool success = t.Execute();

                Assert.IsTrue(success);
                Assert.AreEqual(1, t.DestinationFiles.Length);
                Assert.AreEqual(filename.ToLowerInvariant(), t.DestinationFiles[0].ItemSpec);

                Assert.IsTrue(File.Exists(file), "Source file should be there");
            }
            finally
            {
                File.Delete(file);
            }
        }

        /// <summary>
        /// Moving a file on top of itself should be a success (no-op).
        /// Variation with a second move failure.
        /// </summary>
        [TestMethod]
        public void MoveFileOnItselfAndFailAMove()
        {
            string temp = Path.GetTempPath();
            string file = Path.Combine(temp, "2A333ED756AF4dc392E728D0F864A395");
            string invalidFile = "!@#$%^&*()|";
            string dest2 = "whatever";

            try
            {
                FileStream fs = null;

                try
                {
                    fs = File.Create(file);
                }
                finally
                {
                    fs.Close();
                }

                Move t = new Move();
                MockEngine engine = new MockEngine(true /* log to console */);
                t.BuildEngine = engine;
                t.SourceFiles = new ITaskItem[] { new TaskItem(file), new TaskItem(invalidFile) };
                t.DestinationFiles = new ITaskItem[] { new TaskItem(file), new TaskItem(dest2) };
                bool success = t.Execute();

                Assert.IsTrue(!success);
                Assert.AreEqual(2, t.DestinationFiles.Length);
                Assert.AreEqual(file, t.DestinationFiles[0].ItemSpec);
                Assert.AreEqual(dest2, t.DestinationFiles[1].ItemSpec);
                Assert.AreEqual(1, t.MovedFiles.Length);
                Assert.AreEqual(file, t.MovedFiles[0].ItemSpec);
            }
            finally
            {
                File.Delete(file);
            }
        }

        /// <summary>
        /// DestinationFolder should work.
        /// </summary>
        [TestMethod]
        public void MoveToNonexistentDestinationFolder()
        {
            string sourceFile = FileUtilities.GetTemporaryFile();
            string temp = Path.GetTempPath();
            string destFolder = Path.Combine(temp, "2A333ED756AF4d1392E728D0F864A398");
            string destFile = Path.Combine(destFolder, Path.GetFileName(sourceFile));
            try
            {
                using (StreamWriter sw = new StreamWriter(sourceFile, true))
                    sw.Write("This is a source temp file.");

                // Don't create the dest folder, let task do that

                ITaskItem[] sourceFiles = new ITaskItem[] { new TaskItem(sourceFile) };

                Move t = new Move();
                t.BuildEngine = new MockEngine(true /* log to console */);
                t.SourceFiles = sourceFiles;
                t.DestinationFolder = new TaskItem(destFolder);

                bool success = t.Execute();

                Assert.IsTrue(success, "success");
                Assert.IsFalse(File.Exists(sourceFile), "source gone");
                Assert.IsTrue(File.Exists(destFile), "destination exists");

                string destinationFileContents;
                using (StreamReader sr = new StreamReader(destFile))
                    destinationFileContents = sr.ReadToEnd();

                Assert.IsTrue
                (
                    destinationFileContents == "This is a source temp file.",
                    "Expected the destination file to contain the contents of source file."
                );

                Assert.AreEqual(1, t.DestinationFiles.Length);
                Assert.AreEqual(1, t.MovedFiles.Length);
                Assert.AreEqual(destFile, t.DestinationFiles[0].ItemSpec);
                Assert.AreEqual(destFile, t.MovedFiles[0].ItemSpec);
            }
            finally
            {
                File.Delete(sourceFile);
                File.Delete(destFile);
                Directory.Delete(destFolder);
            }
        }

        /// <summary>
        /// DestinationFiles should only include files that were successfully moved,
        /// not files for which there was an error.
        /// </summary>
        [TestMethod]
        public void DestinationFilesLengthNotEqualSourceFilesLength()
        {
            string temp = Path.GetTempPath();
            string inFile1 = Path.Combine(temp, "2A333ED756AF4dc392E728D0F864A398");
            string inFile2 = Path.Combine(temp, "2A333ED756AF4dc392E728D0F864A399");
            string outFile1 = Path.Combine(temp, "2A333ED756AF4dc392E728D0F864A400");

            try
            {
                FileStream fs = null;
                FileStream fs2 = null;

                try
                {
                    fs = File.Create(inFile1);
                    fs2 = File.Create(inFile2);
                }
                finally
                {
                    fs.Close();
                    fs2.Close();
                }

                Move t = new Move();
                MockEngine engine = new MockEngine(true /* log to console */);
                t.BuildEngine = engine;

                t.SourceFiles = new ITaskItem[] { new TaskItem(inFile1), new TaskItem(inFile2) };
                t.DestinationFiles = new ITaskItem[] { new TaskItem(outFile1) };

                bool success = t.Execute();

                Assert.IsTrue(!success);
                Assert.AreEqual(1, t.DestinationFiles.Length);
                Assert.IsNull(t.MovedFiles);
                Assert.IsTrue(!File.Exists(outFile1));
            }
            finally
            {
                File.Delete(inFile1);
                File.Delete(inFile2);
                File.Delete(outFile1);
            }
        }

        /// <summary>
        /// If the destination path is too long, the task should not bubble up
        /// the System.IO.PathTooLongException
        /// </summary>
        [TestMethod]
        public void Regress451057_ExitGracefullyIfPathNameIsTooLong()
        {
            string sourceFile = FileUtilities.GetTemporaryFile();
            string destinationFile = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ";

            try
            {
                using (StreamWriter sw = new StreamWriter(sourceFile, true))    // HIGHCHAR: Test writes in UTF8 without preamble.
                    sw.Write("This is a source temp file.");

                ITaskItem[] sourceFiles = new ITaskItem[] { new TaskItem(sourceFile) };
                ITaskItem[] destinationFiles = new ITaskItem[] { new TaskItem(destinationFile) };

                Move t = new Move();
                t.BuildEngine = new MockEngine(true /* log to console */);
                t.SourceFiles = sourceFiles;
                t.DestinationFiles = destinationFiles;

                bool result = t.Execute();

                // Expect for there to have been no copies.
                Assert.AreEqual(false, result);
            }
            finally
            {
                File.Delete(sourceFile);
            }
        }

        /// <summary>
        /// If the source path is too long, the task should not bubble up
        /// the System.IO.PathTooLongException
        /// </summary>
        [TestMethod]
        public void Regress451057_ExitGracefullyIfPathNameIsTooLong2()
        {
            string sourceFile = "ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZ";
            string destinationFile = FileUtilities.GetTemporaryFile();

            ITaskItem[] sourceFiles = new ITaskItem[] { new TaskItem(sourceFile) };
            ITaskItem[] destinationFiles = new ITaskItem[] { new TaskItem(destinationFile) };

            Move t = new Move();
            t.BuildEngine = new MockEngine(true /* log to console */);
            t.SourceFiles = sourceFiles;
            t.DestinationFiles = destinationFiles;

            bool result = t.Execute();

            // Expect for there to have been no copies.
            Assert.AreEqual(false, result);
        }

        /// <summary>
        /// If the SourceFiles parameter is given invalid path
        /// characters, make sure the task exits gracefully.
        /// </summary>
        [TestMethod]
        public void ExitGracefullyOnInvalidPathCharacters()
        {
            Move t = new Move();
            t.BuildEngine = new MockEngine(true /* log to console */);
            t.SourceFiles = new ITaskItem[] { new TaskItem("foo | bar") };
            t.DestinationFolder = new TaskItem("dest");

            bool result = t.Execute();

            // Expect for there to have been no copies.
            Assert.AreEqual(false, result);
        }

        /// <summary>
        /// If the DestinationFile parameter is given invalid path
        /// characters, make sure the task exits gracefully.
        /// </summary>
        [TestMethod]
        public void ExitGracefullyOnInvalidPathCharactersInDestinationFile()
        {
            Move t = new Move();
            t.BuildEngine = new MockEngine(true /* log to console */);
            t.SourceFiles = new ITaskItem[] { new TaskItem("source") };
            t.DestinationFiles = new ITaskItem[] { new TaskItem("foo | bar") };

            bool result = t.Execute();

            // Expect for there to have been no copies.
            Assert.AreEqual(false, result);
        }

        /// <summary>
        /// If the DestinationFile parameter is given invalid path
        /// characters, make sure the task exits gracefully.
        /// </summary>
        [TestMethod]
        public void ExitGracefullyOnInvalidPathCharactersInDestinationFolder()
        {
            Move t = new Move();
            t.BuildEngine = new MockEngine(true /* log to console */);
            t.SourceFiles = new ITaskItem[] { new TaskItem("source") };
            t.DestinationFolder = new TaskItem("foo | bar");

            bool result = t.Execute();

            // Expect for there to have been no copies.
            Assert.AreEqual(false, result);
        }
    }
}

redpajama_set_name: RedPajamaGithub


text:
Q: SyntaxError: keyword can't be an expression (views.py) my views.py:
def filter(request, param):
    att = Attendancename.objects.filter(date.hours=int(param))
    return render(request, 'listatten.html', {'attendance': att})

my urls.py:
url(r'^filter/(?P<param>\d+)$', views.filter, name = 'filter'),

my template:

 <title> Attendance </title>

My Attendance

   <select name='select_month'>
    <option value="00">---</option>
    <option value=">">Jan</option>
    <option value=">">Feb</option>
    <option value=">">Mar</option>
    <option value=">">Apr</option>
    <option value=">">May</option>
    <option value=">">Jun</option>
    <option value=">">Jul</option>
    <option value=">">Aug</option>
    <option value=">">Sept</option>
    <option value=">">Oct</option>
    <option value=">">Nov</option>
    <option value=">">Dec</option>
  </select>

The above is my views.py and template file. I want a drop down of months in my html template file to filter my list as per the month when I select a particular month, So I have given url in the '<select option="<--->">' with a parameter and then pass it to view through urls.py statement as above.
It raise the above exception. I think it's not possible to implement in the way I'm doing.
Please tell me how can I implement it?

A: Django uses double underscore __ notation for lookups like this. You can use the hour lookup.
att = Attendancename.objects.filter(date__hours=int(param))

redpajama_set_name: RedPajamaStackExchange


Marine biologist, and UM Sports Hall of Fame president Gerard Loisel will conduct a "Kids Presentation on Dangerous Marine Animals", geared to children between the ages of 8 and 15, at Founder's Park (Mile Marker 87) at 3 PM, just prior to the weigh-in on Saturday, June 25th for the 6th Annual Habitat for Humanity of the Upper Keys / UM Sports Hall of Fame Celebrity Fishing Tournament, hosted by Melvin Bratton and Alonzo Highsmith. Parents are welcome to attend.
The program will help kids separate fact from fiction regarding many so called "dangerous animals" and will not only focus on sharks, stingrays, barracudas, etc., but will also include information on fish that can sometimes be dangerous when consumed. Preserved specimens will be used in the program.
Loisel, who for the past 26 years has been teaching undergraduate courses in marine biology and oceanography, also runs marine biology camps for kids.


Opening a new business can be overwhelming. You probably gave a lot of thought to the type of operation you want to open, the menu selections, and the design, but if you're like most people you didn't spend too much time thinking about the many licenses, permits, and other government imposed hurdles you would have to overcome in order to open your doors.
There are a number of requirements for every business owner, regardless of the type of business you open, and there are some specific to your type of operation. The State of New York has set-up a helpful website that walks you through the requirements for opening your business. You can visit the NYS License Center and follow the steps to see which licenses, permits, and other requirements you'll need to open your new business.


text:
Fabulous Friday for Ferrari
The expectation before the opening race of the season was that Ferrari were ahead of Mercedes. That didn't transpire and it was a 1-2 for Mercedes in the Australian Grand Prix. A fortnight later, Ferrari dominated the first two practice sessions for the Bahrain Grand Prix.
Title Standings
Drivers' – 26 Valtteri Bottas 18 – Lewis Hamilton 15 – Max Verstappen 12 – Sebastian Vettel 10 – Charles Leclerc
Constructors' – 44 – Mercedes 22 – Ferrari 15 – Red Bull
First Practice
It was a Ferrari 1-2 in the first practice session with Charles Leclerc 0.263 seconds ahead of team-mate Sebastian Vettel. Mercedes filled third and fourth with Valtteri Bottas nearest the times set by the Ferrari's, but his car was 0.974 seconds behind Leclerc. Lewis Hamilton was 1.247 seconds behind the quickest of the Ferrari's. He could have been the quickest of the Mercedes but ran wide at the final corner when on his best lap.
The Italian team have spent the last fortnight going through the data from the Australian Grand Prix. A period that Vettel described as "intense", but they seem to have found some answers. However, he added that "we are not in a position to be able to make promises."
Max Verstappen was fifth in his Red Bull with team-mate Pierre Gasly in sixth. It was another promising session for McLaren with Carlos Sainz seventh quickest. The top ten was completed by the Renault of Nico Hulkenberg, Daniil Kvyat (Toro Rosso) and Kimi Raikkonen in his Alfa Romeo.
The only crash of the session was by Lance Stroll in his Racing point car. He damaged the front wing after losing control at Turn Four after hitting the wall. There was a better performance by the Williams team. They filled the last two spots, but George Russell was only 0.6 seconds adrift of Stroll in 18th.
Second Practice
Again, it was a 1-2 for Ferrari but this time it was Sebastian Vettel who was fastest. He was just 0.035 seconds ahead of Charles Leclerc but again there was a good-sized lead over Mercedes.
Lewis Hamilton was third-fastest but 0.568 seconds behind Vettel. He was only 0.108 seconds ahead of his team-mate Valtteri Bottas but at least he finished ahead of him for a change.
Fifth fastest was Nico Hulkenburg in his Renault. It was a poor session for Red Bull with Max Verstappen 0.783 seconds behind Vettel. His team-mate Pierre Gasly down in 13th, 0.862 seconds behind Verstappen.
Haas had a good session with Kevin Magnusson in seventh and Romain Grosjean ninth. Sandwiched in between them was the McLaren of Lando Norris. The top ten was completed by Toro Rosso's Daniil Kvyat.
Speaking after the second practice session, Hamilton said that Ferrari were producing something "completely different to what we've seen in Melbourne." He added that he'd had some problems with the balance of his car in the first practice session, but they had been improved for the second session. The defending world champion believes "everything will get a little bit closer" when it comes to qualifying but is expecting a "tough battle."
Ferrari team principal Mattia Binotto believes his team are "progressing" but also has the view they had been running their engines more aggressively than Mercedes, hence the gap.
We look to be in for an intriguing Saturday. Can the Ferrari's keep up their strong pace or will Mercedes grab pole position for the second race in a row? I'll be back tomorrow with a report on the final practice session and qualifying, till then enjoy your racing.

redpajama_set_name: RedPajamaCommonCrawl


This is a placeholder page for Kaleen McKeeman, which means this person is not currently on this site. We do suggest using the tools below to find Kaleen McKeeman.
You are visiting the placeholder page for Kaleen McKeeman. This page is here because someone used our placeholder utility to look for Kaleen McKeeman. We created this page automatically in hopes Kaleen McKeeman would find it. If you are not Kaleen McKeeman, but are an alumni of Hollis Brookline High School, register on this site for free now.


Local Residents Free, Fees are charged on holidays and weekends for non residents $5 per person and $10 to launch boat.
Harry Harris Park, (MM 92.6 US1 & Burton Drive to East Beach Rd.), has been undergoing repairs from Hurricane Irma and is open to the public with a few areas, like Wilkinson Point, that are not accessible due to ongoing construction.
The beach and tidal pool.
The playground, pavilions and BBQ grills, which are close to restrooms and parking.
The baseball fields, concession, and dugouts are reopened.
The boat ramp: a deep water, resurfaced, easy access boat ramp. Maximum length for Vehicle plus trailer cannot exceed 45'. There are 15 parking spaces for vehicles with trailers for day parking only.
The park is pet friendly. The park is open sunrise to sunset.


Google makes changes in wake of €4.3bn fine from European Commission last July.
Google said it will prompt Android users in Europe to select their preferred search apps and browser.
In July 2018 the European Commission hit Google with a €4.3bn antitrust fine in relation to its business practices around the popular Android operating system, which runs on more than 85pc of the world's smartphones, according to Gartner.
EU competition commissioner Margrethe Vestager ruled that since 2011, Google has imposed illegal restrictions on Android device manufacturers including Samsung, Huawei and LG as well as mobile network operators to cement its dominant position in general internet search.
To avoid further sanctions, Google will highlight to users that they have other browser and search engine options on their devices.
"On Android phones, you've always been able to install any search engine or browser you want, irrespective of what came pre-installed on the phone when you bought it," said Kent Walker, Google's senior vice-president of global affairs.
"After the commission's July 2018 decision, we changed the licensing model for the Google apps we build for use on Android phones, creating new, separate licences for Google Play, the Google Chrome browser and for Google Search. In doing so, we maintained the freedom for phone makers to install any alternative app alongside a Google app.
"Now, we'll also do more to ensure that Android phone owners know about the wide choice of browsers and search engines available to download to their phones. This will involve asking users of existing and new Android devices in Europe which browser and search apps they would like to use.
"We've always tried to give people the best and fastest answers – whether direct from Google or from the wide range of specialist websites and app providers out there today. These latest changes demonstrate our continued commitment to operating in an open and principled way," Walker said.


text:
Brabham BT46, in njegovi nadgrajeni različici BT46B in BT46C, je Brabhamov dirkalnik Formule 1, ki je bil v uporabi med sezonama  in , ko so z njim dirkali Niki Lauda, John Watson in Nelson Piquet. V tem času je dirkalnik nastopil na petnajstih dirkah ter zabeležil dve zmagi in dva najboljša štartna položaja.
Dirkalnik Brabham BT46B je vozil samo eno dirko, to je bilo leta 1978, na veliki nagradi Švedske. Vozil ga je Niki Lauda, ki je dirko začel iz drugega štartnega mesta, zakoj za Mario Andrettijem. Niki Lauda je Andrettija med dirko prehitel in tudi zmagal. Po tej dirki so prepovedali uporabo ventilatorja na zadku dirkalnika. Ventilator je služil kot pripomoček za povečanje podtlaka pod dirkalnikom (v prostoru med dirkalno površino in dnom dirkalnika).

Popolni rezultati Formule 1
(legenda) (odebeljene dirke pomenijo najboljši štartni položaj, poševne pa najhitrejši krog)

BT46
Dirkalniki Formule 1 v sezoni 1978
Dirkalniki Formule 1 v sezoni 1979

redpajama_set_name: RedPajamaWikipedia


Squid belong to a class of mollusks called cephalopods. Squid are an ecological staple in deepwater habitats. Due to the stranding of numerous giant squid along the west coast of Spain in September and October 2001 and October 2003, scientists decided to conduct a study to see if these fatalities could be linked with the proximity of vessels using compressed air guns that produce high intensity and low frequency sound waves. All cephalopods are known to have statocysts that help with navigation and maintaining balance. An experiment was designed to see if different time periods of exposure to low frequency sound waves would inflict damage upon these balloon-shaped structures lined with tiny sensory hair cells that are responsible for sound reception and perception.
During the experiment, four different species of cephalopods were exposed to 50-400 Hz of noise that was amplified by in air loud speakers. After different time periods of noise exposure, the organisms were decapitated and their statocysts extracted and examined by a microscope to see any resulting damage, and the outcomes were shocking. Many kinocelia in the hair cells were missing or bent, some hair cells were ejected resulting in spherical holes, and the nerve fibers underneath these structures were swollen. Many of the cells experienced ruptured plasma membranes and mitochondrial damage, if not complete degeneration. All of these lesions and further effects only advanced with the time after exposure (Andre 2011). This means that if there are significant increases in noise levels caused by the operation of offshore energy generating technologies, we will not be able to see the full effects these changes have on cephalopods for months or even years.
This is a before and after picture of the damage to the cephalopod's hair cells after sound exposure (Andre 2011).
As seen from this study, cephalopods are extremely sensitive organisms that require a specific range of noise in order to function properly. There may be significant physical changes and potential fatalities if that range is disturbed by the operation of coastal energy generating devices . As a result, this could cause the alteration of entire food webs, possibly eliminating many of the aquatic or terrestrial species we so heavy rely on for food sources and ecosystem services.
Response: Is Banning Plastic Straws a Viable Solution?
What are some variations of a surge converter?
What are the efficiencies of the devices?
What in the future for these devices?
How is it better than other renewable technologies?


Looking for a new pair of riding gloves? Check out this group buy offer on DriverDeals.com, they are offering $60 off on a pair of Speed and Strength Twist of Fate ST Gloves.
The Twist of Fate ST gloves are normally priced at $99.95 but Cycle Gear is offering a group discount. The discount will only be offered if at least 20 people buy in before March 15, 2011.


text:
Skyview by Empyrean Aims to Bring Patnitop to the Global Tourism Map
Credit check: Canadians say the United States deserves as much credit for Two Michaels release as their own country
Traditional and religious leaders urge government to ratify ILO C190
Moon P. Crigler January 7, 2022
DeepTarget and Access Softek Announce Seven Finalists and Grand Prize Winner of the Digital Impact 2021 Award for Digital Marketing Excellence
Letter: Be proud, America | Letters
Faith leaders from 10 denominations pray for deceased teens and for S'pore, Community News & Top Stories
"Whoever opposes it is not our point of view. It must be denied," said Nitin Gadkari. New Delhi: Union Minister Nitin Gadkari said recent hate speech – as happened at religious conclaves in Haridwar and Delhi – should be "denied and given no weight". In such cases, the law should be allowed to run its …
No "one-size-fits-all" solution for workplace vaccination mandates: experts
By Paola Loriggio THE CANADIAN PRESS TORONTO – A year after the arrival of COVID-19 vaccines in Canada, employers and workers in the country's most populous province have a clearer idea of when and what type of vaccination warrants can be applied at the place of work, legal experts have said following recent rulings on …
Abdullahs and the mufti placed under house arrest before the commotion over the redesign of the seats of the J&K assembly | Latest India News
Srinagar: Political leaders in Kashmir, including former chief ministers Omar Abdullah and Mehbooba Mufti, were under house arrest on Saturday, ahead of a protest sit-in against the government's intention to redraw the electoral districts of ruled Jammu and Kashmir by New Delhi. Senior leaders of the People's Alliance for the Gupkar Declaration (PAGD), an alliance …
Ker CM questions the secular position of the IUML; League Garbage Loads
Kerala Chief Minister Pinarayi Vijayan on Monday accused the Muslim League of Indian Union of adopting a common position on various issues, but the IUML leadership denied the accusations, saying no one could ignore their contributions to the preservation of the "beauty" of the secular face of the southern state. like that. When Vijayan asserted …
Reach out to those who haven't had it easy in 2021, Ooni breaks silence after Naomi's divorce
Posted December 25, 2021 Ife's Ooni, Oba Adeyeye Ogunwusi Ojaja II, broke his silence on social media on Saturday night when he urged Nigerians to reach out to those who have not had it easy in 2021. The 47-year-old monarch said this in a post on his official Facebook page while wishing Nigerians a Happy …
Should travelers be thinking about human rights in the countries they are visiting?
Human rights groups meet on United Nations International Human Rights Day, Friday, December 10 … [+] 2021, to boycott the Beijing 2022 Winter Olympics in front of the Bank of China building in Taipei, Taiwan. The groups are calling for the theme of this year's Human Rights Day to be "Reducing Inequalities for Equality, Advancing …
Rabbi Robuck takes on TBI role – The Australian Jewish News
Sydney Rabbi Gary Robuck has been appointed Acting Rabbi of Temple Beth Israel (TBI) in Melbourne for the next 12 months, starting in January. His appointment follows the resignation of Rabbi Gersh Lazarow, TBI's senior rabbi, amid investigations into allegations he plagiarized sermons, drashes and articles. This month, TBI bid farewell to Rabbi Kim Ettlinger, …
UAPA Tribunal issues plea notice to uphold Islamic Research Foundation's "illegal association" status
ANI | Update: Dec 20 2021 20:36 STI New Delhi [India], Dec. 20 (ANI): The UAPA tribunal on Monday released an opinion on the request for confirmation of the Center's decision declaring the Islamic Research Foundation (IRF) of Islamic preacher Zakir Naik as an illegal association under the Law on illegal activities (prevention).The tribunal headed …
Attacks on Christian groups reveal loopholes in Karnataka | Latest India News
Bengaluru: Karnataka has witnessed at least 39 incidents of attacks on members of the Christian community this year through November, according to data compiled by the People's Union for Civil Liberties (PUCL), an organization defense of human rights. While official figures on attacks on Christians last year are not available, several activists have claimed cases …
Government is expected to introduce bill amending the Child Marriage Prohibition Bill on December 20
Read more ensure a uniform marriage age. Currently, the legal age for marriage for women is 18, while that for men is 21. The decision came a year after Prime Minister Narendra Modi said the government was deliberating on the minimum age for marriage for women. The decision is based on the recommendation of a …


Looking for Demolition Contractors in Coventry?
At Down to Earth Demolition Ltd, we are a leading provider of demolition, asbestos removal and aggregate supply services in Coventry. With 30 years of combined experience, our family-run business is fully certified and insured, offering customers only the most expert and reliable services.
Thanks to our highly-skilled team, we have the expertise to provide a fully comprehensive service on all projects, seeing work through from start to finish at a competitive price, no matter the size of the project. Our family-run business maintains a small-partnership ethos, whilst offering the advanced technology and service of a much larger business.
For more information, or to make arrangements for one of our services at your commercial or domestic property in Coventry, get in touch with the team at Down to Earth Demolition Ltd today, and let us get your project underway.


text:
Street painter painting, Rome, Italy, December 2019 (Shutterstock)
"I am one who tells the truth and exposes evil and seeks with Beauty and for Beauty to set the world right," W.E.B. Du Bois said in his June 1926 lecture "Criteria of Negro Art" at the NAACP's annual meeting. Beauty, in its eternal, perfect form sits above "Right" and "Truth," he went on, but is also inseparable from them, all working in concert with one another. This vision of beauty, this understanding of it to set the world right was not a vision that positioned the experience of beauty being passively received. Art and beauty exist not merely to amuse or make us comfortable, to bring us pleasure amidst the world's tumult, but to broadcast the possibility of human freedom, and in the United States, Black American freedom in particular. I believe we are rewarded if we see Du Bois as a thinker who engaged with the aesthetic as an active, even world-shaping, experience with life itself. "The Negro is primarily an artist," Du Bois wrote in 1913, gifted with a sense of color and music, possessing a rich literature, but oppressed and denied access to a full life by the arbiters of culture. If art is to have power, Du Bois believed, that is, if its production and reception are to mean anything in this life, then art must be made a weapon of emancipatory power. And this is precisely why art matters, for Du Bois called art "propaganda" in his 1926 lecture, and intended the word to be understood, as a means of "restor[ing] beauty to an impoverished American culture." Art, Du Bois affirmed, is simply beauty created by man, "something of which a human soul conceives, a human hand executes and all human hearts everywhere acknowledge beautiful."
Beauty, Du Bois claimed, makes this world bearable, wringing from it truths hidden whether by coincidence or intentional obfuscation. We have come to misuse the term "beautiful," he concluded, but if we are able really to see "things of real lasting beauty" this will be enough to give even the sorrows of our life "curves of grace in a crooked world." Life, he optimistically declared, is "one striving toward the Eternally beautiful." Still, this did not mean Du Bois was interested in art for art's sake. He opened "Criteria" asking why it was he speaking about art. After all, he said "what have we who are slaves and black to do with Art." His answer was that if Black Americans wanted to be full-fledged Americans with the rights that all other Americans had they would have to create art that was associated with value. But to have such a world one had to engage with culture. Beauty and its creation would begin the process of bringing Black Americans out of the wilderness of their cultural and social inequality. "[I]t is the bounden duty of black America to begin this great work of the creation of Beauty," he wrote, "of the preservation of Beauty, of the realization Beauty."
For Du Bois beauty made truth and goodness known. Truth, "the one great vehicle of human understanding." Goodness, "the one true method of gaining sympathy and human interest." Du Bois, though, was careful to articulate that truth here was not to be understood as a "scientist seeking truth," goodness was not "ethical sanction." Rather, by actively embracing the beautiful in its promise, Black Americans would become apostles of truth and right. The art they produced would be a form of propaganda, one that Black people could love and enjoy, discovering and asserting the validity of their humanity over against a country that remains unprepared to bear this truth. Too much of Black artistic production was judged by Whites, through the rules of Whites, Du Bois protested. This was not seeing the real America. This was the sight of Blackness through White eyes. Only propaganda would solve this problem:
Thus all Art is propaganda and ever must be, despite the wailing of the purists. I stand in utter shamelessness and say that whatever art I have for writing has been used always for propaganda for gaining the right of black folk to love and enjoy.
Du Bois longed for a world where Black artists were taken seriously, judged by Black Americans through the lens of their own aesthetic freedom. He imagined an America where artistic production was not first understood by the color of one's skin, but as the truth of their humanity.
"There is something in the nature of Beauty," Du Bois began his last section of "Of Beauty and Death," from his 1920 experimental work Dark Water, "that demands an end." Whereas ugliness, of which there is so much in the world, is indefinite, trailing "into gray endlessness," beauty is different. Beauty desires completion, and in our experience of the beautiful we desire completion as well. The eternality of ugliness resides not in its essence, but in its partiality. We find joy, Du Bois wrote, because ugliness never finds completeness, while beauty's finality ends in the release of death. Du Bois anointed as celebratory, "the sweet silence of perfection, the calm and balance of utter music. Therein is the triumph of Beauty." Beauty succeeds because it ends. The ugliness of the world does not—it stretches out, spilling into everything—never finding closure, never finding death. Beauty triumphs in completion. Its value is that it is finite.
Here we find what I believe is the crux of Du Bois's ultimate vision for the beautiful. Recall that Du Bois made a similar point about completion in "Criteria of Negro Art." By wielding art as a form of propaganda, Du Bois believed, we can find an endpoint in the dehumanization of the nonwhite races. Du Bois's art qua propaganda formulation allows for the possibility of completion: of actively demonstrating that those who are not White are capable of cultural and moral value, capable of creating beauty. Moreover, if beauty, as Du Bois's former professor George Santayana wrote, frees us from "slavery to fear" and "the shadow of evil," leading us to moral goodness—then art, for Du Bois, as the propagandistic vehicle for beauty, finds its end in the demonstration of the truth of human potential. I think, then, we can read Du Bois's propagandistic aesthetics in this way: by asserting truth through art's triumph—even if that triumph is only temporary—the Black American artist emancipates both themselves and those who experience the work art, striking a blow against White supremacy. Not solving it, but destabilizing it enough so that its hold on the world becomes ever more unsteady, always off balance, open to endless assaults.
Yet, I'm curious, if in his framing of ugliness as endless incompletion does Du Bois in fact grant ugliness a victory in its pernicious effect on society? It strikes me that beauty, in Du Bois's conception, is merely palliative and not ameliorative, meaning rather than making things better beauty merely lessens the pain of racism and White supremacy. In his belief in beauty's capacity for completion Du Bois gestured towards making beauty, I think, not fully a part of our world, but instead a brief intruder, maybe even a voyeur. Beauty comes to us, asserts the truth of human potential in the face of White supremacy, and then, once it has established its points, disappears. The ugliness of existence, and of existence in America in particular, continues on, maybe weakened, maybe remaining meaningless, but ugliness still has a foothold in the world.
I am left to wonder, what good beauty really does here.
Though maybe we ought to see the palliative striving in Du Bois's use of beauty as the aesthetic core of, and link to, his idea of "double consciousness." "[T]he African-American must neither reject America nor vanish into it," David Levering Lewis wrote, "Du Bois intended the divided self to be a phenomenon that was spiritually and socially evolving, one that would define itself through struggle and attain 'self-conscious manhood' through 'strife.'" For Du Bois, then, beauty's emancipatory importance resides not in solving the problems of Black Americans or fixing the world, though in some ways it does help those things, but in beauty forcing a confrontation with the truth of life in America. By employing beauty/art as propaganda, Du Bois attempted to create a bulwark against the iniquities of racism and White supremacy that haunt the lives of Black Americans. In not being able to reject or disappear into America, Black Americans are required to use beauty not to fix the divided self, but instead make the struggle through "strife" to attain "self-conscious" personhood a bit more bearable. The utility of the beautiful, the reason Black Americans should seek it out and know its pleasures, Du Bois seems to insist, is not because it will free them of their suffering, but—and here I am thinking of Oscar Wilde—that it might make life, even if only for the briefest of moments, just a bit less painful.
Copyright © AAIHS. May not be reprinted without permission.
← Previous : The Black "New South" in Intellectual History
Black Perspectives Summer Books Preview, Part I : Next →
Clay Matlin
Clay Matlin has a PhD in American history from the University of Rochester and is an adjunct in the art history and Visual and Critical Studies departments at the School of Visual Arts in Manhattan. Currently he is working on two book projects, one is a reconsideration of the influence of the painter Barnett Newman and the other is an intellectual history of postwar Black abstract painters from 1945-1965.
Comments on "W.E.B. Du Bois and the Aesthetics of Emancipation"
Lois Wilcken | April 21, 2022 at 8:54 am
Thank you for this! I need to know more of Dubois, and I'll follow up from your article. I research and write about Haitian music, so I find lots of food for thought here. Do you think that the European penchant, at least since the 19th century, to think of art as something "for its own sake" might be its Achilles heel? In other words, that not seeing the revolutionary ideas (truth, right) embodied in Black art will lead to its own downfall?
Sign up to get the latest posts and updates.
Categories Select Category AAIHS Business Abolition Abolitionism Activism Africa African American Death Ideology African American History survey African American material culture African diaspora American exceptionalism American identity American Revolution Antebellum anti-capitalism Archives Art Assimilationism Author Interview Black Ecologies Black Europe Black Family Black Feminism Black Freethought Black Girls Black history Black Identity Black Internationalism Black Political Thought Black Power Black Protest Black Protestantism Black Studies Black Urban History Black Youth Book Review capitalism Caribbean Cemetery/Burial Grounds Civil Rights Movement Civil War class Comics Death Desegregation early republic Economics Education Embodiment Featured Books Featured Posts Film Free People of Color Gender Geography Hashtag Syllabi Higher Education Hip-Hop historiography HIV-AIDS Indigenous Studies Intellectual Identity Interview Interwar Period Jazz Jim Crow Labor Latin America Law and legal history LGBT Liberalism Literature Lynchings Marcus Garvey maroons Meaning of freedom medical racism Memory methods Military Monuments Mourning Museums Music New Negro Oral History Pedagogy Performance Plantations Poetry Policing Popular Culture Post-Racial ideology Primary Sources Print Culture Prisons Professional Development Race Race Consciousness Racial Violence Racism Reconstruction Religion Resistance Resources respectability Roundtables School Equality Science Fiction Sexuality Slave law Slave revolts Slavery Sport Teaching Uncategorized UNIA Visuality Voting rights Webinars Women
#AAIHSRoundtable Activism African Diaspora archives art black feminism black intellectual history black internationalism black lives matter black nationalism black politics Black Power black protest Black radicalism black radical tradition Black women capitalism carceral state Caribbean civil rights Civil Rights Movement Donald Trump education Gender Haiti Jim Crow literature mass incarceration music Pan-Africanism police brutality police violence Politics race Racial Violence racism religion Resistance sexuality slavery slave trade South teaching W.E.B. Du Bois white supremacy
George Jackson in a Global Frame
By Andrew Anastasi
Dr. King and the Foundation of a Black Intellectual-Activist
By M. Keith Claybrook, Jr.
Announcement: #AAIHS2023 Conference Guest Speakers
By AAIHS Editors
James Weldon Johnson, Langston Hughes, and the Ever-Deferred Dream
By Amy Kittelstrom
John Hope Franklin and WWII as a Crisis of Democracy
By Thomas Cryer
Each author's posts reflect their own views and not necessarily those of the African American Intellectual History Society Inc. AAIHS welcomes comments on and vigorous discussion about our posts. We recognize that there will be disagreement but ask that you be civil about such disagreements. Personal insults and mean spirited comments will not be tolerated and AAIHS reserves the right to delete such comments from the blog.
Copyright © 2023 AAIHS. All rights reserved. Site by GNDWS


Most herbs can be grown in otherwise poor soil but it should be well drained and free of weeds.
Sunny to shady, dependent on herb.
Some types are partially frost tollerant but most are not.
Usually sow direct into soil in late spring. Perennial herbs need lifting and dividing in autumn.
Just a small area will usually provide more than enough, unless growing for decorative reasons or using them to attract beneficial insects to the garden. You can add a variety of this plant to label what it is and specify spacing or planting times.


iDance Disco 100 Headphones Gold / Black Headphones.iDance Disco 100 Over Ear Stereo Headphones . Visually salient DJ Headphones with high wearing comfort and powerful sound .
iDance Disco 100 Over Ear Stereo Headphones . Visually salient DJ Headphones with high wearing comfort and powerful sound .
The iDance Disco 100 headphones impresses with its classy design including aluminum finish and strong color combinations . The clever design ensures example with the extra wide strap for comfort even during prolonged use . The padded and adjustable headband of iDance Disco 100 Over Ear Headphones can be optimally adapted to the personal requirements. The ear cups are foldable for compact and easy transportation .
The intrinsic value of iDance Disco 100 stereo headphones are absolutely convincing. For clear reproduction of music provide , among other things the large 40mm driver , the Super Bass , and the high sensitivity of 108dB . The good noise isolation makes her own, to make the iDance Disco 100 to an all around better DJ headphones . On top of the headphones provides a format compatible with iPad , iPod and iPhone in-line microphone for pleasant conversation .
Included with the iDance Disco 100 Headphones are finally two more Download coupons for Music Software included : PCDJ Dex 2 LE is an excellent DJ mixing software , the useful Magix mufin player plays and manages all types of music files.
Suitable iDance the disco is 100 headphones especially for DJ work, but also makes the private use of a good figure.
Please note that you can get software to the voucher for the PCDJ Dex 3 LE mixing, must registireren the article on the manufacturer's website.


BINGOLD Nitrile 35PLUS gloves are made from nitrile-butadiene rubber and are the perfect choice for all types of cleaning applications. The microtextured fingertips provide excellent grip properties for tasks with both dry and wet objects. And as the gloves are powder free on the inside, there is no risk of contamination from powder during use.
BINGOLD Nitrile 35PLUS gloves are oil and fat resistant, making them suitable for food handling applications. There is no risk for wearers with a Type 1 latex allergy. Due to their excellent resistance properties, these gloves offer protection from oils and fats, hydrocarbon derivatives and aromatic or chlorinated solvents. They are not suitable for applications with ketones, highly oxidising acids, esters or aldehydes.


Dairy technology is a part of science, dealing with the processing of milk and its products. It deals with the study of packaging, processing, transportation, storage and distribution of dairy products by implyingh the science of biochemistry, bacteriology and nutrition. Apart from that, some principles of chemistry, physics, engineering and economics are also included in the field of dairy technology, in order to develop the proper utilization of milk and its products. The study also includes various experiments of effects of different kinds of feed, environmental conditions of milk production and several types of research regarding the prevention of wastage and damage of milk and milk products.
Dairy industry plays a very important role in India's agro-based economy. Since the advent of Anand Milk Union Ltd (AMUL) in 1946, the dairy industry has maintained its position as one among the major exporting industries of India. It has also increased the demand of talented and trained professionals in both public and private sector, to serve in the field of dairy technology. By considering the importance of dairy technology, many educational institutes have included courses in the field to train young aspirants.
A number of institutes in India impart the study of dairy technology through courses at various degree levels. These courses are being offered generally at the undergraduate (Bachelor of Science - Dairy Technology), postgraduate (Master of Science - Dairy Technology / Dairy Science) and postgraduate diploma level program in dairy technology. Various engineering colleges have included dairy technology in their curriculum and are offering B Tech course in dairy technology. To pursue the UG courses, one must have passed 10+2 examination with science stream, from any recognized state/national Board. For the PG degree and diploma courses, one has to complete his/her graduation in relevant stream, from any recognized University. Students are admitted through entrance test, which is conducted at national level.
Due to the formation of the National Dairy Development Board in India, the importance of dairy technologists has increased. Many government and private organizations are looking for professionals in the field who can perform designing, development and execution of their crucial projects. After completing the relevant course, one can join any dairy equipment manufacturing plant or entrepreneurial ventures in milk plants or ice cream units as a supervisor / dairy consultant / project execution.
National Dairy Research Institute (Karnal and Bangalore), Sheth MC College of Dairy Science (Gujarat), Dairy Science Institute (Mumbai), College of Veterinary and Animal Sciences - Kerala Agricultural University (Thrissur), National Dairy Research Institute - Indian Council of Agricultural Research, (Haryana), College of Dairy Science - Rajasthan Agricultural University (Udaipur), College Of Veterinary Science (Andhra Pradesh), Sanjay Gandhi Institute Of Dairy Technology (Bihar) and College Of Dairy Technology (Madhya Pradesh) are some of the prominent colleges in India, conducting course in Dairy Technology.


TiffanyFlower . MadlenHairy. alessiasugar. SensualCharlenex.
XXSWEETPASSIONXVictoriyaNiceSyeiraAngelAnneJollie .liquidioAntonRoundvipBiankaalissonlain .LittlexBitchxMissShaneSerenaTsukinoFoxyTail .alissonlainKOCKINASSSkinnyLaylaJanettasweet .BenKingAsianMiiaAmazingMiranda25magicboy88 .WatterLlilySexyRoyaltySBStepfenFlavourFoxyTail .AustinMoorealicePreciousAnneJollieRubenHayes .AllenNeedsYouAneliyaMilaBIGBANANAXXXXRRityLalyaa .EthanJuniorInessaAsiaHeddaMWatterLlily .DevilishKiendraStepfenFlavourBeautifulMollyBenKing .InessaAsiaJanettasweetAlexisVLandreisweetboy .
EIGHTinchesMARIAInessaAsiaa0YummyMuffintelekteszt2015 .MadlenHairyAustinMooreSeanStone23MissShane .DenissseKrystalheartsRoyalHeleneAvadaze .BadBoyForev3rKrystalheartsSeanStone23MerraeDay1 .FoxyTailVictoriyaNiceSeanStone23IMyoursweetMAMA .AlyStarBadBoyForev3rDerrickskunk1LovelyMadamm .alissonlainFoxyTailClausBoxerMaryJhonson .HeddaMMissJannaBUSTYCZECHEllenLexus .ShinySalmaVictoriyaNicea0YummyMuffinmagicboy88 .liquidioRebelHeartttJanettasweetRebelHearttt .RebelHeartttJanettasweethotbridgetalissonlain .


text:
Shock and Anger at Imminent Closure of Galtee Factory in Mitchelstown
Sinn Fein candidate Cllr Sandra McLellan has reacted with shock and anger at the imminent closure of the Galtee factory in Mitchelstown. She has called for an urgent government statement on how they plan to replace the many jobs lost in Mitchelstown and Mallow in recent years.
Sandra McLellan said: "Unfortunately I have received reliable information that the Galtee factory is due to close in June of this year, with the loss of nearly 100 jobs. It has also been put to me that no announcement of the closure was intended until after the general election."
"This is shocking news for Mitchelstown and North Cork. There have been major closures of agri-businesses in both Mitchelstown and Mallow in recent years. This news is a further blow to Mitchelstown where for my lifetime
the names Galtee and Mitchelstown were synonymous."
"Time and time again we are told how successful the economy is. Well it certainly does not display its success in this area. The government have abandoned the agri-food industry in North Cork. They have sat idly by as industries have been closed down for speculation and short term profit. The people who have borne the burden of these closures are workers, farmers and contractors."
"The government needs to urgently address the jobs deficit in this area. Government policy should be to site employment across all parts of the country not just major urban centres like Dublin and Cork."ENDS
Read all the latest Cork East Sinn Féin press releases online by clicking on Latest News at www.corkeastsinnfein.com


text:
The Bite
Go to Shudder
svg-facebooksvg-twittersvg-email
Stanny And The T-Rex: An Interview With Stewart Raffill
•Bigger Bites
It's no secret I am a Stanny (that's "Tanny + stan" for the uninitiated). Even before I saw the gore cut of Tammy and the T-Rex (1994) — or as the title card inexplicably reads, Tanny and the Teenage Rex — I was hooked. Not only is it my particular flavor of bonkers, but it's also an important entry in the queer horror canon as it features a gay, black character named Byron (played by Theo Forsett). That kind of representation is rare in the genre, even by today's standards.
I reached out to the film's director, Stewart Raffill, to find out more about Tammy. Because it was our first meeting, I sent him a selfie so he could find me. He replied with a photo of himself with a tiger … from 1962. He later explained that it was from his days as an animal trainer.
Raffill is a delightful blend of charm and eccentricity, and his films reflect that. By the time he was approached by producer Etka Sarlui to direct Tammy and the T-Rex, he already had 11 features under his belt, including the notorious ET-inspired Mac and Me (1988).
This interview has been condensed for length and clarity.
Stewart Raffill: [Etka Sarlui] says, "I have a T-Rex. And I have it for two weeks…you want to make a movie with it?" I said, "Yeah, is it trained?" [laughter]
Sam Wineman: What was the timeline between when he told you he had the T-Rex and when you started shooting?
SR: Three weeks.
SW: What? No.
SR: Yeah. It's happened to me two or three times [with movies]. I thought to myself, obviously Sarlui was inspired by Jurassic Park. He wanted to cash in on that to a degree. But the dinosaurs were amazing in that film. You're going to make a sci-fi movie about a movie that costs Universal over a hundred million dollars to make and I'm going to make it for under a million?
So here you go: you're me. And you have three weeks to write a script, find the cast, find the locations, hire the crew, get the permits, and live with whatever you go for. You see the dinosaur and it's really bad. It's corny. It can hardly move. No budget in there to do CGI. So how do you save yourself? You're doing a movie now that could be the worst movie ever, so the only way to go is to accept that fact and go for camp.
Once you decide that, anything goes. Any innuendo, any acceptable crudeness, we're going to go for it. We're just going to put it all in. So we finish the movie, Sarlui sees it and he's furious.
He brings in his own editor and recuts the movie, takes all the gore out and half of the jokes because he didn't understand them. "I want to make a family film with this dinosaur." And he just recut the movie so I walked away. I said, "You're crazy. It's not going to work and this is the only thing that will."
SW: So you never saw the cut that he did?
SR: No. People told me about it. I didn't go and see it. I didn't want to see it.
SW: I feel like your characters are people I don't expect to see or haven't seen a lot of. How do you choose them?
SR: I just choose people that I think are interesting and most people are so boring. Do you know what I mean? I want colorful characters in a movie. So that's what I try to do.
Theo, right from the beginning, had his character down. If you see the opening scene when they go in the door and she introduces him to Paul, they're laughing. They laughed all the time because Theo was so funny.
SW: When I first saw it, I wondered if maybe they were just laughing because he's gay.
SR: No, they're just laughing because he was a smart comedian. He had comments about them that were insightful. I kind of gave people [freedom]; I said, this is the dialogue I wrote. Do it any way you want to do it. Have fun with it.
When you write a script, the two main characters get all the attention. You never have time for all the others. And you fence yourself in if you're not careful because people will bring their own thing if you give them the space to do it. You have to cast in a certain spectrum of people but the humanness that they bring…you can't come up with what Theo came up with.
SW: Is there anything that Theo brought to that character that you didn't expect or that was that added to it?
SR: His relationship with Denise. Because she loved him. Everybody loved him.
SW: The two of them are a team.
SR: It's something that's very personal. It's very natural. But there's space for each of their sexualities and they still blend.
SW: Did you get any pushback for having a gay character?
SR: No.
SW: I think that there's a lot of fear about what will happen if we put characters in films that are different from the norm.
SR: They're happy to see it. We all sit for six hours a day watching television, looking for something new. It's all this stuff that's human and makes us all the way we are. We are hardly that different in the end if you think about it.
SW: I heard there were wildfires during filming, and that in some scenes you can actually see the smoke.
SR: Over the hill come these huge black clouds. And then the flames, and I'm going, holy shit. And then the fire department comes. I had this old AD who'd done some of these movies with Pekinpaw and people like that…and he says, "They want us to leave now." And I say, I haven't got this and we've all set it up all morning. And he says, "Give me $500, cash." I ask why and he says, "Give me the $500 cash, I'll deal with it." He's like an old cowboy. So he goes over the park official and I see them talking. He leaves and then [my AD] gives me a thumbs-up. That's the way these movies get made.
SW: I don't know if you saw, but the title card says: "Tanny and the Teenage T-Rex."
SR: I don't know what that was.
SW: They never say Tanny right in the script?
SR: No. It's Tammy, so it's just a mistake. It's just like, "This is campy. They got the wrong title up there as well."
SW: I love it. I hope they keep it.
SR: Well, eventually in this business, you give up. [laughter]
Sam Wineman is the writer and director of multiple short films including the award-winning The Quiet Room and the segment "Milk and Cookies" in the Christmas horror anthology Deathcember. He's directing the upcoming Shudder original documentary on queer representation in horror.
Explore Related Articles
STREAM YOUR FEARS
Plans starting at just $4.75/month.Watch anywhere, cancel anytime.


text:
Q: How to add onboarding user actionable guide I want to know how can i show the actions with border to specific area on screen and let user go next action on click. I have seen this in many app where app guides where to go for what.
Thanks in advance


Motor car injuries are nonetheless a number one explanation for dying, no matter if the craze has a little declined during the last twenty years. certainly, motorcar injuries are an important explanation for loss of life compared to air and house delivery injuries, homicides or even HIV infections, motives that are extra usually highlighted within the media. As proven during this booklet, motorcar injuries are relatively destructive to very younger drivers.
The evaluate of using hazards is a standard crisis for street transportation defense and the auto coverage undefined. In either instances, there's an know-how of the nice losses due to the deaths, accidents and estate harm because of site visitors injuries. study is key to counteract this public health and wellbeing probability, to evaluate the luck or failure of countermeasures, and to unravel the issues it generates within the assurance undefined.
This e-book is for individuals fascinated by highway crashes (prevention and reimbursement) and in regards to the coverage difficulties they pose - specifically inner most and public institutional gurus, experts, directors, practitioners, and researchers attracted to sharing the authors' event during this area. The ebook provides unique contributions concerning motorcar coverage and highway defense. All papers were evaluated by means of exterior referees. 4 topics are lined: 1) motor vehicle coverage Pricing, dangers and uneven details; 2) coverage Fraud; three) younger Drivers: Licensing regulations, review and hazards; and four) street coverage Regulation.
Swiss Annuities and existence assurance examines the major features of Swiss annuities and lifestyles assurance, and explains how using those items might help in achieving asset safeguard, development, and, from time to time, major tax making plans possibilities. Swiss annuities and lifestyles coverage are a very good substitute funding, relatively for high-net-worth members.
This publication presents a accomplished creation to actuarial arithmetic, protecting either deterministic and stochastic types of existence contingencies, in addition to extra complicated themes corresponding to hazard idea, credibility idea and multi-state versions. This new version comprises extra fabric on credibility conception, non-stop time multi-state versions, extra complicated sorts of contingent insurances, versatile contracts resembling common lifestyles, the chance measures VaR and TVaR.
SALANIE (1997), Testing for Adverse Selection: the Case of Automobile Insurance Markets, Mimeo, CREST. DAHLBY, B. (1983), "Adverse Selection and Statistical Discrimination: An Analysis of Canadian Automobile Insurance", Journal of Public Economics, 20, 121-130. DAHLBY, B. (1992), "Testing for Asymmetric Information in Canadian Automobile Insurance", in Contributions to Insurance Economics, G. , Kluwer Academic Publishers, 423-444. , ed. (1992), Contributions to Insurance Economics, Kluwer, Boston.
His analysis was done with aggregate data. Until recently, the only detailed study with individual data was that of Puelz and Snow (1994) (see Chiappori, 1998, for an overview of the recent papers and Richaudeau, 1997, for a thesis on the subject). In their analysis they considered four different adverse selection models. They found evidence of adverse selection with market signaling and no-cross-subsidization between the contracts of different risk classes. In other words, they found evidence of separation in the choice of deductible with non-linear insurance pricing and no-cross-subsidization.
The first one was to calculate the premia variations from the insurer's book of premia for different deductibles where the risk classes are identified by the control variables in the regression. This yielded the GD variable. In the second approach we estimate a premium equation and calculate the premia variations by using the deductible coefficient which yielded the GD variable. We have to emphasize here that the GD variable in the deductible equation is different from the ~D variable in Puelz and Snow.


text:
Air India flight makes emergency landing after passenger suffers heart attack
A Delhi-bound Air India flight today made an emergency landing at Sanganer airport here after a woman passenger suffered cardiac arrest mid air.
Jan 28, 2017, 14:02 PM IST
Jaipur: A Delhi-bound Air India flight today made an emergency landing at Sanganer airport here after a woman passenger suffered cardiac arrest mid air.
"The Rajkot-Delhi flight of Air India made a landing at Sanganer airport at around 11:30 AM due to a medical emergency. The woman passenger, Sima, who was traveling with her husband, had suffered a cardiac arrest," Sanganer airport director R S Balhara said.
The woman was rushed to a private hospital, he said.
The airport sources later claimed that the woman died at the hospital.
Air Indiaemergency landingHeart attackSananer airportRajkot-Delhi flightJaipur
Veteran BJP leader Ramdas Agrawal passes away in Jaipur


The idea behind Levi's 505 Regular Fit Jeans are simple but undeniably clever - the brand thoughtfully paces its design and manufacturing process to achieve top-quality results. This pair is designed to sit at the waist, in a classic straight leg profile and finished with five-pocket detailing. Try them with the brand's trucker shirt and rugged boots this winter.


Although it has now been official for a little while, I thought it important just to make it officially public, that as of September I will no longer be the director of the Youth Theatre. My job at All Saints Church has changed a lot of the years and it has changed again, meaning new and exciting challenges for me but a great sadness in saying goodbye to the Youth Theatre. What is exciting however is that our very own, and very talented, Peri Nightingale will be taking up the mantle of Youth Theatre Director, and I am sure she will do a very good job indeed.
If I could just take a moment to say thank you to anyone who has been part of any cast or crew of mine over the years. I have never once wished I was somewhere else, I have truly loved directing the Youth Theatre. To all I have taught, thank you for being a great pleasure to work with and I again wish you all the best with whatever you are doing now or will be doing in the future.
I will continue to oversee the running of the Theatre Company as Artistic Director but this will be it for my teaching days of anyone under 18. It's been so great and you are all awesome.
The B-it Theatre Company encouraged both its audiences and actors to head to the ballot box with their performance of Jessica Swale's Blue Stockings. The captivating production, based on true events in Cambridge during the Victorian era, showed the battle female students fought for their right to an education and to vote.
One of the B-it Theatre Company's actors said she had never really considered the hardship women went through to ensure her right to vote. She felt the need to honour their courage by heading to the ballot box on the 7th May. She encouraged others to do the same.
The B-it Theatre Company is based in Chester city centre, Hoole and Saltney. They provide many opportunities throughout the year for children, youth and adults to hone their acting skills and grow in confidence.


Lisa the Little Girl — Kev Berry.
This is Kev's second full-length play, which received a reading at Ryan's Daughter, produced by DreamCatcher Entertainment NYC.
Lisa is a girl who wants to be a grown-up. So she decides to be a grown-up and walk across America, and climbs to the moon and befriends hillbillies and dances with wax statues and saves the world's largest ball of twine from unraveling. How far do we have to walk before we're grown-ups? What do we have to see? Who do we have to save?


text:
ماجد: يا رجال عين خير بس بصراحة حركة أبليفيون قويه كنتيكتين داخل الديسك شيء طيب بس المهم انها تحتوي اخبار جديد read more
Official U.S. Xbox Magazine's Cover-Disc Bonuses - Neat!
January 15, 2007 12:01 AM | Simon Carless
Just went and picked up the February 2007 issue of Official Xbox Magazine at GameStop this weekend - mainly because myself and Alistair Wallis helped them out by doing a mini-feature on game engines (from Unreal through Source and beyond!), but I was also struck by the redeeming features of their cover-disc this month.
Since most Xbox 360 demos are freely downloadable from Xbox Live, it's obviously a much harder sell to get people to buy a magazine with an included disc (which reminds me - if you're going to, subscribe online instead of buying it from stores - it's $24.95 for a year's subscription but $9.95 on newsstands for each issue!), but I noted a couple of smart things about this latest issue that are worth pointing out.
Firstly, there are two Oblivion add-ons which normally cost Xbox Live Marketplace Points, freely available on the Feb disc - Wizard's Tower (150 points) and Thieves Den (150 points) - so that's $3.75 of content just there, if I've done my math right. I believe this is the first time they've done this, and honestly, they should try to do it every disc - I know there have been exclusive wallpaper and gamer icons before, though - Xbox.com has a great fan-made list of all the OXM coverdiscs and their content, alongside an insanely detailed OXM reviews/contents thread.
Also - and possibly cooler - there have been two or three Japan-only Xbox 360 demos on the OXM cover-discs. Obviously, they're actually in, uhm, Japanese, but it's definitely neat to get a look at these easily (though you do have to 'unlock' them by playing the other demos, which is either enticing or annoying, depending on who you talk to). The ones I spotted so far were Zegapain XOR, which was on the Issue 62 coverdisc, Tenchu Senran, on the Issue 65 coverdisc, and finally, Zegapain NOT, which is on this latest Issue 67 coverdisc. This latter title is a Namco Bandai and Cavia mech title with some pretty nice graphics and reasonably fun, though rather twitchy shooter gameplay - somewhat in the Z.O.E. style?
[Also, there are obviously attempts to have some demos be exclusive to Official Xbox Magazine - but I'm not sure how well that works, since there's no reason not to have them on Xbox Live too. OXM ran into this problem before Xmas, when Rainbow 6 Las Vegas was allegedly delayed from appearing on XBL in the U.S. so it would debut in the magazine first. No idea if that's true, but even the idea ends up harboring ill will in today's connected world, I'm afraid.]
Categories: Xbox 360
يا رجال عين خير
بس بصراحة حركة أبليفيون قويه كنتيكتين داخل الديسك شيء طيب بس المهم انها تحتوي اخبار جديد
ماجد | January 15, 2007 2:01 AM


text:
This is a list of castles in Slovenia.

A

 Ajman Castle

B

 Baumkircher Tower
 Bela Peč Castle
 Betnava Castle
Bistrica Castle
Bled Castle
 Bogenšperk Castle
 Bokalce Castle
 Borl Castle
 Branik Castle
 Brdo Castle near Kranj
 Brežice Castle
 Bucelleni-Ruard Manor

C

 Celje Castle

G
 Gracar Turn
 Gradac, Slovenia
 Gonobitz castle

I
 Ig Castle

J
 Jablje Castle
 Jakobski Dol Castle

K

 Kacenštajn Castle
 Kalec Castle
 Kieselstein Castle
 Koprivnik Castle
 Kos Manor
 Kostel Castle
 Kozjak Castle
 Kravjek Castle
 Krško Castle
 Krumperk Castle
 Kunšperk

L
 Leutemberg Castle
 Lihtenberk Castle
 Lipnica Castle
 Lož Castle
 Ljubljana Castle

M

 Maribor Castle
 Medija Castle
 Metlika Castle
 Miren Castle
 Mokrice Castle

O
 Olimje Castle
 Ortnek Castle

P
 Podsmreka Castle
 Polhov Gradec Castle
 Predjama Castle
 Ptuj Castle

R

 Račji Dvor Manor
 Raka Castle
 Ravne Castle
 Rihemberk Castle
 Rajhenburg Castle

S
 Strmol Mansion
 Strmol Castle

Š

 Škrljevo Castle

V

 Velenje Castle
 Vipava Castle

W
 Water Tower, Maribor

Z
 Zonec Castle

Ž
 Žovnek Castle

See also
List of castles

Slovenia
Castles
Slovenia
Castles


text:
Speak Out>
At present the Law of the Church of Scotland provides only that ministers and deacons are able to marry couples of the opposite sex.
The Legal Questions Committee of The Church of Scotland responded to the Scottish Government's document The Registration of Civil Partnerships, Same Sex Marriage in 2011.
The Convener of the Legal Questions Committee, the Rev Alan Hamilton, issued a statement emphasising some of the points made in the response.
"We are acutely aware that opinions differ among our own members and that many people are anxious and hurt in the current situation. We re-iterate that we believe homophobia to be sinful and we reaffirm our strong pastoral commitment to all people in Scotland, regardless of sexual orientation or beliefs."
Documents and supporting material relating to the Church's position on same sex marriage
Assembly agrees apology to gay people and accepts same sex marriage report - 25 May 2017
Marriage and Civil Partnership (Scotland) Act – Advice from the Principal Clerk 31 March 2014
Consultation response - 19 March 2013
Full Consultation response - 1 December 2011
Read our previous news stories on the subject of same-sex marriage including Church re-iterates position on same sex marriage 12 December 2012, Church re-iterates position on same sex marriage 25 July 2012, and the Church of Scotland response to same sex marriage consultation 1 December 2011.
Pride events
Scott Burton at Perthshire Pride. Image credit: Daily Record
A Church of Scotland minister, Rev Scott Burton, made history in August 2018 when he became the first to officially open a festival that celebrates LGBT rights.
"We stand in solidarity with every person here who has been damned and denounced spiritually, psychologically, emotionally and physically by those who try to make out LGBT people are somehow second class.
"They are not second class and I, and a growing number of people within the Church, believe that they are the people that God has created them to be."
Minister to officially open Pride event
A Church of Scotland minister, Rev Peter Nimmo, highlighted the importance of challenging "hatred, discrimination and exclusion" when he addressed a LGBT+ festival in Inverness in October 2018.
"Whatever our religion or worldview, each of us should search our consciences, search our beliefs, and ensure that we do speak up against hatred, discrimination and exclusion.
"And we might, for the sake of love, need to change our attitudes and take care with our words and our actions if we are to truly show that we believe that every person, whoever they are, is of equal worth."
Kirk minister to address Highland Pride festival
Prayer for Orlando - Moderator offers heartfelt condolences to our brothers and sisters - 13 June 2016
One year on: St Catherine's Argyle recovering from congregation split - 22 June 2015
Proposal for ministers in civil partnerships goes forward - 21 May 2014
Dundee church boosted following arrival of new minister - 10 October 2014
Dundee church reborn following painful chapter - 25 April 2014
An economy driven by equality
Building global friendships
Caring for creation
Doing politics differently
Flourishing local communities
Investing in young people
Society Religion and Technology
Working to end violence against women


Published 04/21/2019 09:05:29 am at 04/21/2019 09:05:29 am in Wood Countertops Lowes.
wood countertops lowes wood granite price per square foot laminate countertops lowes wooden solid wood countertops lowes.
solid wood countertops lowe's kitchen,lowe's canada wood countertops,solid wood countertops lowe's,wood countertops lowe's,solid wood countertops lowes,wood kitchen countertops lowes,wood countertops at lowe's,solid wood countertops lowe's home,wood countertops for kitchens at lowe's,wooden countertops lowe's,wooden countertops lowe's home.