text:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Globalization;
using System.Reflection;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Markup;
using WPFLocalizeExtension.Engine;

namespace WPFLocalizeExtension.BaseExtensions
{
    /// <summary>
    /// Implements the BaseLocalizeExtension.
    /// Represents a LocalizationExtension which provides a localized object of a .resx dictionary.
    /// </summary>
    /// <typeparam name="TValue">The type of the provided value.</typeparam>
    /// <remarks>
    /// If a content between two tags in xaml is set, this has the higher priority and will overwrite the settled properties
    /// </remarks>
    [MarkupExtensionReturnType(typeof(object))]
    [ContentProperty("ResourceIdentifierKey")]
    public abstract class BaseLocalizeExtension<TValue> : MarkupExtension, IWeakEventListener, INotifyPropertyChanged
    {
        /// <summary>
        /// Holds the collection of assigned dependency objects as WeakReferences
        /// </summary>
        private readonly Dictionary<WeakReference, object> targetObjects;

        /// <summary>
        /// Holds the name of the Assembly where the .resx is located
        /// </summary>
        private string assembly;

        /// <summary>
        /// The current value
        /// </summary>
        private TValue currentValue;

        /// <summary>
        /// Holds the Name of the .resx dictionary.
        /// If it's null, "Resources" will get returned
        /// </summary>
        private string dict;

        /// <summary>
        /// Holds the Key to a .resx object
        /// </summary>
        private string key;

        /// <summary>
        /// Initializes a new instance of the BaseLocalizeExtension class.
        /// </summary>
        protected BaseLocalizeExtension()
        {
            // initialize the collection of the assigned dependency objects
            this.targetObjects = new Dictionary<WeakReference, object>();
        }

        /// <summary>
        /// Initializes a new instance of the BaseLocalizeExtension class.
        /// </summary>
        /// <param name="key">Three types are supported:
        /// Direct: passed key = key;
        /// Dict/Key pair: this have to be separated like ResXDictionaryName:ResourceKey
        /// Assembly/Dict/Key pair: this have to be separated like ResXDictionaryName:ResourceKey</param>
        /// <remarks>
        /// This constructor register the <see cref="EventHandler"/><c>OnCultureChanged</c> on <c>LocalizeDictionary</c>
        /// to get an acknowledge of changing the culture
        /// </remarks>
        protected BaseLocalizeExtension(string key)
            : this()
        {
            // parse the key value and split it up if necessary
            LocalizeDictionary.ParseKey(key, out this.assembly, out this.dict, out this.key);
        }

        /// <summary>
        /// Occurs when a property value changes.
        /// </summary>
        public event PropertyChangedEventHandler PropertyChanged;

        /// <summary>
        /// Gets or sets the name of the Assembly where the .resx is located.
        /// If it's null, the executing assembly (where this LocalizeEngine is located at) will get returned
        /// </summary>
        public string Assembly
        {
            get
            {
                return this.assembly ??
                       LocalizeDictionary.Instance.GetAssemblyName(System.Reflection.Assembly.GetExecutingAssembly());
            }

            set { this.assembly = !string.IsNullOrEmpty(value) ? value : null; }
        }

        /// <summary>
        /// Gets the current value.
        /// This property has only a value, if the <c>BaseLocalizeExtension</c> is binded to a target.
        /// </summary>
        /// <value>The current value.</value>
        public TValue CurrentValue
        {
            get { return this.currentValue; }

            private set
            {
                this.currentValue = value;
                this.RaiseNotifyPropertyChanged("CurrentValue");
            }
        }

        /// <summary>
        /// Gets or sets the design value.
        /// </summary>
        /// <value>The design value.</value>
        [DesignOnly(true)]
        public object DesignValue { get; set; }

        /// <summary>
        /// Gets or sets the Name of the .resx dictionary.
        /// If it's null, "Resources" will get returned
        /// </summary>
        public string Dict
        {
            get { return this.dict ?? LocalizeDictionary.ResourcesName; }

            set { this.dict = !string.IsNullOrEmpty(value) ? value : null; }
        }

        /// <summary>
        /// Gets or sets the culture to force a fixed localized object
        /// </summary>
        public string ForceCulture { get; set; }

        /// <summary>
        /// Gets or sets the Key to a .resx object
        /// </summary>
        public string Key
        {
            get { return this.key; }

            set { this.key = value; }
        }

        /// <summary>
        /// Gets or sets the initialize value.
        /// This is ONLY used to support the localize extension in blend!
        /// </summary>
        /// <value>The initialize value.</value>
        [EditorBrowsable(EditorBrowsableState.Never)]
        [ConstructorArgument("key")]
        public string InitializeValue { get; set; }

        /// <summary>
        /// Gets or sets the Key that identifies a resource (Assembly:Dictionary:Key)
        /// </summary>
        [EditorBrowsable(EditorBrowsableState.Never)]
        public string ResourceIdentifierKey
        {
            get { return string.Format("{0}:{1}:{2}", this.Assembly, this.Dict, this.Key ?? "(null)"); }

            set { LocalizeDictionary.ParseKey(value, out this.assembly, out this.dict, out this.key); }
        }

        /// <summary>
        /// Gets the collection of <see cref="DependencyObject"/> as WeakReferences and the target property.
        /// </summary>
        public Dictionary<WeakReference, object> TargetObjects
        {
            get { return this.targetObjects; }
        }

        /// <summary>
        /// Provides the Value for the first Binding
        /// </summary>
        /// <param name="serviceProvider">The <see cref="System.Windows.Markup.IProvideValueTarget"/> provided from the <see cref="MarkupExtension"/></param>
        /// <returns>
        /// The founded item from the .resx directory or null if not founded
        /// </returns>
        /// <remarks>
        /// This method register the <see cref="EventHandler"/><c>OnCultureChanged</c> on <c>LocalizeDictionary</c>
        /// to get an acknowledge of changing the culture, if the passed <see cref="TargetObjects"/> type of <see cref="DependencyObject"/>.
        /// !PROOF: On every single <see cref="UserControl"/>, Window, and Page,
        /// there is a new SharedDP reference, and so there is every time a new <c>BaseLocalizeExtension</c>!
        /// Because of this, we don't need to notify every single DependencyObjects to update their value (for GC).
        /// </remarks>
        /// <exception cref="System.InvalidOperationException">
        /// thrown if <paramref name="serviceProvider"/> is not type of <see cref="System.Windows.Markup.IProvideValueTarget"/>
        /// </exception>
        public override object ProvideValue(IServiceProvider serviceProvider)
        {
            // if the service provider is null, return this
            if (serviceProvider == null)
            {
                return this;
            }

            // try to cast the passed serviceProvider to a IProvideValueTarget
            IProvideValueTarget service = serviceProvider.GetService(typeof(IProvideValueTarget)) as IProvideValueTarget;

            // if the cast fails, return this
            if (service == null)
            {
                return this;
            }

            // if the service.TargetObject is a Binding, throw an exception
            if (service.TargetObject is Binding)
            {
                throw new InvalidOperationException("Use as binding is not supported!");
            }

            // declare a target property
            object targetProperty = null;

            // check if the service.TargetProperty is a DependencyProperty or a PropertyInfo
            if (service.TargetProperty is DependencyProperty ||
                service.TargetProperty is PropertyInfo)
            {
                // set the target property to the service.TargetProperty
                targetProperty = service.TargetProperty;
            }

            // check if the target property is null
            if (targetProperty == null)
            {
                // return this.
                return this;
            }

            // if the service.TargetObject is System.Windows.SharedDp (= not a DependencyObject), we return "this".
            // the SharedDp will call this instance later again.
            if (!(service.TargetObject is DependencyObject) && !(service.TargetProperty is PropertyInfo))
            {
                // by returning "this", the provide value will be called later again.
                return this;
            }

            // indicates, if the target object was found
            bool foundInWeakReferences = false;

            // search for the target in the target object list
            foreach (KeyValuePair<WeakReference, object> wr in this.targetObjects)
            {
                // if the target is the target of the weakreference
                if (wr.Key.Target == service.TargetObject && wr.Value == service.TargetProperty)
                {
                    // set the flag to true and stop searching
                    foundInWeakReferences = true;
                    break;
                }
            }

            // if the target is a dependency object and it's not collected already, collect it
            if (service.TargetObject is DependencyObject && !foundInWeakReferences)
            {
                // if it's the first object, add an event handler too
                if (this.targetObjects.Count == 0)
                {
                    // add this localize extension to the WeakEventManager on LocalizeDictionary
                    LocalizeDictionary.Instance.AddEventListener(this);
                }

                // add the target as an dependency object as weakreference to the dependency object list
                this.targetObjects.Add(new WeakReference(service.TargetObject), service.TargetProperty);

                // adds this localize extension to the ObjectDependencyManager to ensure the lifetime along with the targetobject
                ObjectDependencyManager.AddObjectDependency(new WeakReference(service.TargetObject), this);
            }

            // return the new value for the DependencyProperty
            return LocalizeDictionary.Instance.GetLocalizedObject<object>(
                this.Assembly, this.Dict, this.Key, this.GetForcedCultureOrDefault());
        }

        /// <summary>
        /// Resolves the localized value of the current Assembly, Dict, Key pair.
        /// </summary>
        /// <param name="resolvedValue">The resolved value.</param>
        /// <returns>
        /// True if the resolve was success, otherwise false.
        /// </returns>
        /// <exception>
        /// If the Assembly, Dict, Key pair was not found.
        /// </exception>
        public bool ResolveLocalizedValue(out TValue resolvedValue)
        {
            // return the resolved localized value with the current or forced culture.
            return this.ResolveLocalizedValue(out resolvedValue, this.GetForcedCultureOrDefault());
        }

        /// <summary>
        /// Resolves the localized value of the current Assembly, Dict, Key pair.
        /// </summary>
        /// <param name="resolvedValue">The resolved value.</param>
        /// <param name="targetCulture">The target culture.</param>
        /// <returns>
        /// True if the resolve was success, otherwise false.
        /// </returns>
        /// <exception>
        /// If the Assembly, Dict, Key pair was not found.
        /// </exception>
        public bool ResolveLocalizedValue(out TValue resolvedValue, CultureInfo targetCulture)
        {
            // define the default value of the resolved value
            resolvedValue = default(TValue);

            // get the localized object from the dictionary
            object localizedObject = LocalizeDictionary.Instance.GetLocalizedObject<object>(
                this.Assembly, this.Dict, this.Key, targetCulture);

            // check if the found localized object is type of TValue
            if (localizedObject is TValue)
            {
                // format the localized object
                object formattedOutput = this.FormatOutput(localizedObject);

                // check if the formatted output is not null
                if (formattedOutput != null)
                {
                    // set the content of the resolved value
                    resolvedValue = (TValue) formattedOutput;
                }

                // return true: resolve was successfully
                return true;
            }

            // return false: resulve was not successfully.
            return false;
        }

        /// <summary>
        /// Sets a binding between a <see cref="DependencyObject"/> with its <see cref="DependencyProperty"/>
        /// or <see cref="PropertyInfo"/> and the <c>BaseLocalizeExtension</c>.
        /// </summary>
        /// <param name="targetObject">The target dependency object</param>
        /// <param name="targetProperty">The target dependency property</param>
        /// <returns>
        /// TRUE if the binding was setup successfully, otherwise FALSE (Binding already exists).
        /// </returns>
        /// <exception cref="ArgumentException">
        /// If the <paramref name="targetProperty"/> is
        /// not a <see cref="DependencyProperty"/> or <see cref="PropertyInfo"/>.
        /// </exception>
        public bool SetBinding(DependencyObject targetObject, object targetProperty)
        {
            if (!(targetProperty is DependencyProperty ||
                  targetProperty is PropertyInfo))
            {
                throw new ArgumentException(
                    "The targetProperty should be a DependencyProperty or PropertyInfo!", "targetProperty");
            }

            // indicates, if the target object was found
            bool foundInWeakReferences = false;

            // search for the target in the target object list
            foreach (KeyValuePair<WeakReference, object> wr in this.targetObjects)
            {
                // if the target is the target of the weakreference
                if (wr.Key.Target == targetObject && wr.Value == targetProperty)
                {
                    // set the flag to true and stop searching
                    foundInWeakReferences = true;
                    break;
                }
            }

            // if the target it's not collected already, collect it
            if (!foundInWeakReferences)
            {
                // if it's the first object, add an event handler too
                if (this.targetObjects.Count == 0)
                {
                    // add this localize extension to the WeakEventManager on LocalizeDictionary
                    LocalizeDictionary.Instance.AddEventListener(this);
                }

                // add the target as an dependency object as weakreference to the dependency object list
                this.targetObjects.Add(new WeakReference(targetObject), targetProperty);

                // adds this localize extension to the ObjectDependencyManager to ensure the lifetime along with the targetobject
                ObjectDependencyManager.AddObjectDependency(new WeakReference(targetObject), this);

                // get the initial value of the dependency property
                object output = this.FormatOutput(
                    LocalizeDictionary.Instance.GetLocalizedObject<object>(
                        this.Assembly,
                        this.Dict,
                        this.Key,
                        this.GetForcedCultureOrDefault()));

                // set the value to the dependency object
                this.SetTargetValue(
                    targetObject,
                    targetProperty,
                    output);

                // return true, the binding was successfully
                return true;
            }

            // return false, the binding already exists
            return false;
        }

        /// <summary>
        /// Returns the Key that identifies a resource (Assembly:Dictionary:Key)
        /// </summary>
        /// <returns>Format: Assembly:Dictionary:Key</returns>
        public override sealed string ToString()
        {
            return base.ToString() + " -> " + this.ResourceIdentifierKey;
        }

        /// <summary>
        /// This method will be called through the interface, passed to the
        /// <see cref="LocalizeDictionary"/>.<see cref="LocalizeDictionary.WeakCultureChangedEventManager"/> to get notified on culture changed
        /// </summary>
        /// <param name="managerType">The manager Type.</param>
        /// <param name="sender">The sender.</param>
        /// <param name="e">The event argument.</param>
        /// <returns>
        /// true if the listener handled the event. It is considered an error by the <see cref="T:System.Windows.WeakEventManager"/> handling in WPF to register a listener for an event that the listener does not handle. Regardless, the method should return false if it receives an event that it does not recognize or handle.
        /// </returns>
        bool IWeakEventListener.ReceiveWeakEvent(Type managerType, object sender, EventArgs e)
        {
            // if the passed handler is type of LocalizeDictionary.WeakCultureChangedEventManager, handle it
            if (managerType == typeof(LocalizeDictionary.WeakCultureChangedEventManager))
            {
                // call to handle the new value
                this.HandleNewValue();

                // return true, to notify the event was processed
                return true;
            }

            // return false, to notify the event was not processed
            return false;
        }

        /// <summary>
        /// Determines whether if the <paramref name="checkType"/> is the <paramref name="targetType"/>.
        /// </summary>
        /// <param name="checkType">Type of the check.</param>
        /// <param name="targetType">Type of the target.</param>
        /// <returns>
        /// <c>true</c> if the <paramref name="checkType"/> is type of the <paramref name="targetType"/>; otherwise, <c>false</c>.
        /// </returns>
        internal bool IsTypeOf(Type checkType, Type targetType)
        {
            // if the checkType is null (possible base type), return false
            if (checkType == null)
            {
                return false;
            }

            // if the targetType (wrong call) is null, return false
            if (targetType == null)
            {
                return false;
            }

            // if we search a generic type
            if (targetType.IsGenericType)
            {
                // and the checkType is a generic (BaseType)
                if (checkType.IsGenericType)
                {
                    // and the signature is the same
                    if (checkType.GetGenericTypeDefinition() == targetType)
                    {
                        // return true
                        return true;
                    }
                }

                // otherwise call the same method again with the base type
                return this.IsTypeOf(checkType.BaseType, targetType);
            }

            // if we search a non generic type and its equal
            if (checkType.Equals(targetType))
            {
                // return true
                return true;
            }

            // otherwise call the same method again with the base type
            return this.IsTypeOf(checkType.BaseType, targetType);
        }

        /// <summary>
        /// This method is used to modify the passed object into the target format
        /// </summary>
        /// <param name="input">The object that will be modified</param>
        /// <returns>Returns the modified object</returns>
        protected abstract object FormatOutput(object input);

        /// <summary>
        /// If Culture property defines a valid <see cref="CultureInfo"/>, a <see cref="CultureInfo"/> instance will get
        /// created and returned, otherwise <see cref="LocalizeDictionary"/>.Culture will get returned.
        /// </summary>
        /// <returns>The <see cref="CultureInfo"/></returns>
        /// <exception cref="System.ArgumentException">
        /// thrown if the parameter Culture don't defines a valid <see cref="CultureInfo"/>
        /// </exception>
        protected CultureInfo GetForcedCultureOrDefault()
        {
            // define a culture info
            CultureInfo cultureInfo;

            // check if the forced culture is not null or empty
            if (!string.IsNullOrEmpty(this.ForceCulture))
            {
                // try to create a valid cultureinfo, if defined
                try
                {
                    // try to create a specific culture from the forced one
                    cultureInfo = CultureInfo.CreateSpecificCulture(this.ForceCulture);
                }
                catch (ArgumentException ex)
                {
                    // on error, check if designmode is on
                    if (LocalizeDictionary.Instance.GetIsInDesignMode())
                    {
                        // cultureInfo will be set to the current specific culture
                        cultureInfo = LocalizeDictionary.Instance.SpecificCulture;
                    }
                    else
                    {
                        // tell the customer, that the forced culture cannot be converted propperly
                        throw new ArgumentException("Cannot create a CultureInfo with '" + this.ForceCulture + "'", ex);
                    }
                }
            }
            else
            {
                // take the current specific culture
                cultureInfo = LocalizeDictionary.Instance.SpecificCulture;
            }

            // return the evaluated culture info
            return cultureInfo;
        }

        /// <summary>
        /// This method gets the new value for the target property and call <see cref="SetNewValue"/>.
        /// </summary>
        protected virtual void HandleNewValue()
        {
            // gets the new value and set it to the dependency property on the dependency object
            this.SetNewValue(
                LocalizeDictionary.Instance.GetLocalizedObject<object>(
                    this.Assembly, this.Dict, this.Key, this.GetForcedCultureOrDefault()));
        }

        /// <summary>
        /// Set the Value of the <see cref="DependencyProperty"/> to the passed Value
        /// </summary>
        /// <param name="newValue">The new Value</param>
        protected void SetNewValue(object newValue)
        {
            // set the new value to the current value, if its the type of TValue
            if (newValue is TValue)
            {
                this.CurrentValue = (TValue) newValue;
            }

            // if the list of dependency objects is empty or the target property is null, return
            if (this.targetObjects.Count == 0)
            {
                return;
            }

            // step through all dependency objects as WeakReference and refresh the value of the dependency property
            foreach (KeyValuePair<WeakReference, object> dpo in this.targetObjects)
            {
                // set the new value of the target, if the target DependencyTarget is still alive
                if (dpo.Key.IsAlive)
                {
                    this.SetTargetValue((DependencyObject) dpo.Key.Target, dpo.Value, newValue);
                }
            }
        }

        /// <summary>
        /// Raises the notify property changed.
        /// </summary>
        /// <param name="propertyName">Name of the property.</param>
        private void RaiseNotifyPropertyChanged(string propertyName)
        {
            if (this.PropertyChanged != null)
            {
                this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        /// <summary>
        /// Sets the target value.
        /// </summary>
        /// <param name="targetObject">The target object.</param>
        /// <param name="targetProperty">The target property.</param>
        /// <param name="value">The value.</param>
        private void SetTargetValue(DependencyObject targetObject, object targetProperty, object value)
        {
            // check if the target property is a DependencyProperty
            if (targetProperty is DependencyProperty)
            {
                this.SetTargetValue(targetObject, (DependencyProperty) targetProperty, value);
            }

            // check if the target property is a PropertyInfo
            if (targetProperty is PropertyInfo)
            {
                this.SetTargetValue(targetObject, (PropertyInfo) targetProperty, value);
            }
        }

        /// <summary>
        /// Sets the target value.
        /// </summary>
        /// <param name="targetObject">The target object.</param>
        /// <param name="targetProperty">The target property.</param>
        /// <param name="value">The value.</param>
        private void SetTargetValue(DependencyObject targetObject, DependencyProperty targetProperty, object value)
        {
            targetObject.SetValue(targetProperty, value);
        }

        /// <summary>
        /// Sets the target value.
        /// </summary>
        /// <param name="targetObject">The target object.</param>
        /// <param name="targetProperty">The target property.</param>
        /// <param name="value">The value.</param>
        private void SetTargetValue(DependencyObject targetObject, PropertyInfo targetProperty, object value)
        {
            targetProperty.SetValue(targetObject, value, null);
        }
    }
}

redpajama_set_name: RedPajamaGithub


text:
The intelligence commissioner of Canada () is an independent officer of the Government of Canada charged with quasi-judicial review of the two most biggest intelligence agencies, the Canadian Security Intelligence Service (CSIS) and the Communications Security Establishment (CSE) – before the agencies engage in certain espionage activities.

The intelligence commissioner heads the Office of the Intelligence Commissioner of Canada (), the agency which supports the work of the commissioner. The position is a Governor in Council appointment made on the advice of the prime minister of Canada. The commissioner is accountable to the Parliament of Canada through the prime minister, who receives an annual report from the commissioner and tables it in the House of Commons.

The inaugural intelligence commissioner of Canada is Jean-Pierre Plouffe, who took office on July 12, 2019 and served until October 1, 2022. The present intelligence commissioner of Canada is Simon Noël, who took office on October 1, 2022.

Background
The office was established as part of the National Security Act, 2017, an omnibus bill introduced by the Trudeau government which reworked many of the existing mechanisms within the intelligence community in Canada, including oversight of intelligence gathering and any actions taken by intelligence agencies on behalf of the Government of Canada.

Accountability
The intelligence commissioner issues a report on their activity to the prime minister annually who must table it in Parliament after removing confidential and classified information. The commissioner is entitled to receive all reports which are compiled by the National Security and Intelligence Review Agency (NSIRA).

List of intelligence commissioners of Canada

References

External links

Federal departments and agencies of Canada
Officers of the Parliament of Canada

redpajama_set_name: RedPajamaWikipedia


text:
Penny Arcade Forums› Debate and/or Discourse
Misogyny and Rape Culture on Campus
Wibod Registered User regular
March 2012 edited March 2012 in Debate and/or Discourse
So there's been a minor shit storm developing at my university recently over a post on the Overheard at Guelph facebook page. Just look for the drunk bus comment, no guarantee it will still be there later though.
https://www.facebook.com/groups/6893397826/
Anyways an Arts faculty member saw this and posted a blog about it (http://andrewbretz.blogspot.com/2012/03/rape-culture-at-university-of-guelph.html). tl;dr he is a professor/PhD candidate who specializes in rape in contemporary English theatre and complained to the University Ethics Committee.
Now I see several problems with the whole chain of events; I don't think what the original poster did was really that bad, it's a kind of offensive drinking song and it's kind of clever and I chuckled. The rest of the stuff coming after that though through additions to the song and just general shitposting in the comments and making stupid remarks is dumb to downright offensive.
My main problem is the Profs response to this, he posts a blog and then singles out a former student of his AND then goes to the ethics committee. In my eyes it's wildly inappropriate to single out someone in this way and he could have made his point just as effectively by saying "hey look at what this douche posted" and not mentioned his relationship to the student or posting pictures of his name. I would think that as a professor you would realize that there is a better way to handle this situation then publicly shaming specific students and complaining to the ethics committee about them posting shit on facebook.
Now obviously misogyny and rape culture are problems, but I don't really see the original chant as a "violent male fantasy about rape". Admittedly I found it amusing, its kind of clever, but I can see why people would offended.
So I ask you; Was the prof justified in his response, were the singers on the bus horrible people and are the people screaming rape culture overreacting?
I'm leaning towards no, no and a little.
Wibod on March 2012
Casual Eddy The Astral PlaneRegistered User regular
having a casual and jokey attitude towards is a subtle but real part of culture where sexual assault is a minor crime or something that is blamed on the victim
sexual assault is pretty endemic on college campuses, is widely under-reported, and colleges have a history of taking little to no action against accused rapists.
were there women on the bus? in all probability, if there were, quite of a few of them have been victimized in the past. I believe colleges are supposed to act against what could be percieved as fostering a hostile environment towards an oft-victimized group. I don't see how it's different than a song about dragging black people trucks or tying gays to fence posts. It's probably classified as hate speech.
Elki wrote: »
Casual Eddy: best poster 2014.
tyrannus wrote: »
Casual Eddy: best poster of 2015
gotta update that stuff man
Indica1 Registered User regular
I don't have facebook, so I can't read the comment. I have no idea why you wouldn't just copy and paste it if you intend for people to read it anyway. Now I don't know if what I'm saying is even relevant or not.
In any case I cant stand this mentality where people act like if you make enough jokes about something then it happens more often. No amount of Jew jokes is going to lead to another holocaust. No amount of rape jokes is going to make somebody just one day decide "Oh hey, I think I'll rape somebody today."
People are terrified of the things they can't laugh at being laughed at by others, and its a fearful mentality, which is to say one that distorts one's perception of reality for the worse.
Edit: it's in the article actually:
Guy:I wish that all the women
Group: I wish that all the women!
Guy: Were statues of Venus
Group: Were statues of Venus!
Guy: Cuz then they`d have no arms
Group: Cuz then they`d have no arms!
Guy: To push away my penis
Group: To push away my penis!
Yeah now that I heard that (really lame) joke, rape seems pretty harmless, we should legalize it.
Indica1 on March 2012
If the president had any real power, he'd be able to live wherever the fuck he wanted.
Lucid Registered User regular
Wibod wrote:
In my eyes it's wildly inappropriate to single out someone in this way and he could have made his point just as effectively by saying "hey look at what this douche posted" and not mentioned his relationship to the student or posting pictures of his name. I would think that as a professor you would realize that there is a better way to handle this situation then publicly shaming specific students and complaining to the ethics committee about them posting shit on facebook.
Wasn't what the student said already available in the public eye? I'm not sure how there was any singling out occurring here. These students publicly shamed themselves did they not?
The Ender Registered User regular
No amount of Jew jokes is going to lead to another holocaust. No amount of rape jokes is going to make somebody just one day decide "Oh hey, I think I'll rape somebody today."
...And yet a certain threshold of memes about groups of people is exactly what leads to certain attitudes about minorities, which can ultimately culminate in crimes like the Holocaust.
'No amount of misogynistic communication will lead to misogyny' is a ridiculous & demonstrably wrong statement.
Dude opted to troll on facebook with an idiotic rape joke. Euhuhuhuhuhu. Well, welcome to being called on it.
My sympathies for this individual seem to have taken a cab out of town.
With Love and Courage
Kana Registered User regular
Well as someone or other once said, if you're an oncologist you walk around seeing everyone as future cancer victims.
If you're an addiction medicine specialist you're probably convinced that everyone's an addict, because that's what you see every day.
This guy specializes in "rape in contemporary English theater"
I know it's not really fair to discount his opinion because of that.
In fact it's not fair at all and there's a ton of problems on college campuses with a variety of sexual abuse issues.
But seriously... The guy who's majoring in rape thinks everyone's a rapist? Le shock!
It kind of reminds me of my terrible sanitation teacher in culinary school, who had 3 phd's and some kind of undiagnosed mental condition
Every day was her wildly rambling about everything being covered in germs and how eating meat is killing us all because it's got blood on it and cleeean, must cleeean
Uh, point being, sometimes people choose majors because they think it's interesting
sometimes they choose it because they want it for their career
and sometimes they choose it because they've got major issues about it.
A trap is for fish: when you've got the fish, you can forget the trap. A snare is for rabbits: when you've got the rabbit, you can forget the snare. Words are for meaning: when you've got the meaning, you can forget the words.
Ritchmeister Registered User regular
A mildly offensive chant followed by a seemingly moronic lecturer complaining about it.
"a lot of students I know or have taught are going to be raped this weekend. Or if not one of my students, then perhaps someone they know. It will happen. "
He goes from a lot of his students are going to be raped this weekend to well maybe someone who one of my students knows.
And if you're a misogynistic introvert who enjoys dumb rape jokes, it won't surprise anyone when you defend rape joke trolling.
...I can't believe I used to spend a lot of time defending gamers / gaming when it came to sexism. I really shouldn't have; I guess I just assumed most gamers had attitudes similar to mine. Big mistake.
Squidget0 Registered User regular
The guy should get called out for what he did, which is posting a dumb misogynist song in a public place. He's (presumably) not a rapist, and comparing him to violent criminals by using meaningless inflammatory phrases like "rape culture" doesn't seem like it will help the situation very much.
If he'd said it was a sign of the misogyny in college culture I'd agree with him, but the rape culture phrase is like the feminist equivalent of "death panels." It's an intellectually dishonest attempt to provoke an emotional reaction, and it doesn't do the cause of feminism any favors in the long term.
Arch wrote: »
the lynch mob is a feature, not a bug in the democratic system
MrMister An intelligent and reasonable resistance to certain factsRegistered User regular
I find my reaction more or less the same as Ritchmeister's. The chant is distasteful; the lecturer is annoying. Sounds like an ordinary day on campus.
Magic Pink Tur-Boner-Fed Registered User regular
I think that chant is ridiculously offensive and I would hope the guy gets booted from the college. It's absolutely disgusting.
so if the guy sang a song about racially motivated beatings, which happened to 20% of minority students and were largely ignored by the college and not reported by the victims due to the perception that nothing would be done, you'd still laugh this off as oversensitive professor and a douchebag butting heads?
21stCentury A lovely pixel artist and gamecrafter [They/Them]Registered User regular
i think it's silly to say "boys will be boys" about people with attitudes like that. Singing songs like that is a sign of their attitudes on the matter.
It's the sort of thing that reinforces a culture where it's okay to try and force girls into having sex with you. a "coercive" culture, you might call it.
My Pixel/Digital Art Tumblr | My Twitter
Bethryn Unhappiness is Mandatory Registered User regular
The Ender wrote: »
Demonstration, please.
Pony Registered User regular
Magic Pink wrote: »
So you think it's appropriate to boot a person off campus, ruining their education and costing them tens of thousands of dollars, because they said something offensive?
I mean, I'm not arguing that it's not offensive. It is. Of course it's misogynistic and offensive. But, when a person starts saying there should be repercussions and punishments for things people say, I think it's pretty important to stop and question what punishments you are comfortable handing out, and for what kind of transgressions.
Casual Eddy wrote: »
"Laugh this off" is a pretty disingenuous presentation of the response many are having to this, Eddy, and I think you know that.
The response of a lot of people, including some posting in this thread, is to shrug, sullenly shake their head and go "Typical".
A resigned frown at both the insensitivity and jerk-assedness of one person followed by the histrionic over-reaction of another.
Ain't nobody is coming out of this lookin' pretty.
spacekungfuman Poor and minority-filled Registered User, __BANNED USERS regular
Are you serious? You want someone to be expelled from college solely on the basis of his posting a drunk song on a Facebook forum for posting random overheard conversations?
I actually think that sexual harassment and underreported rapes are huge problems at colleges, and based on my own experience I assume that anyone I meet who was in a frat probably either raped someone, enabled a rape, or stood by and failed to stop a rape (mostly girls too drunk to be capable of consenting being lead/dragged/carried to bedrooms). I would fully endorse abolishing all frats because of this. But even I would never endorse penalizing someone (let alone expelling them) for posting that song on Facebook. I am also disgusted with this professor for not even having the decency to contact his former student about this. If he was actually concerned about educating instead of grandstanding, then he should have seen this as an opportunity to engage with, instead of punish, someone he seems to think he failed as an educator.
spacekungfuman wrote: »
that's pretty fucked up, brah.
Malyonsus Registered User regular
Bethryn wrote: »
The term stereotype threat seems appropriate here. It's been shown in several studies that the perception that a certain social group will perform less well in their schoolwork (this usually refers to women and math or minorities and school in general) causes them to perform less well in said schoolwork. This leads to wider support for said opinion.
Reading the professor's blog, it doesn't seem especially 'histrionic' or grandstanding. He even asks what the community thinks he can do to fix the problem at the bottom of the post.
I don't think the guy should be kicked out of school, but I don't mind if he catches some social flack for it.
Edit: Actually, a more accurate reference is probably the idea of 'moving the Overton window' or the sociological concept of normalization.
Malyonsus on March 2012
Malyonsus wrote: »
In reference to women, stereotype threat would mean that because we think they're likely to be raped, they're more likely to be raped?
In reference to men, it would mean that because we think they're more likely to rape, they're more likely to rape (in which case the entire feminist movement is doing women a disservice by pointing out that men are rapists, thus making them more likely to rape).
Not really sure it's applicable.
Maybe I'm misunderstanding the Overton window, but it seems like you need a "new idea" to be unthinkable to shift a "desired idea" into sensible. If rape is being put into 'sensible', what's the new idea? Equally, if 'rape' is the unthinkable new idea, what's the desired idea?
Normalisation is far too broad a spectrum to demonstrate what we're supposed to see here, I'm afraid.
DiannaoChong Registered User regular
I find this chant horribly offensive for inebriated people to be using, there very well may be people on that bus with no arms (men can have no arms too!). What if the people on the bus know people without arms?
Well, I was more responding to the general idea of 'Misogynistic communication will lead to more misogyny.'
In specific reference to 'rape culture', if you ask me to provide specific support for that, I'm not sure I can provide it. Certainly sexual assault and harassment is severely underreported, and many people blame the victim, but I'm not sure there's enough evidence to support that low level misogyny leads to or increases those attitudes other than on an intuitive level, which I admit is not enough.
enc0re Registered User regular
According to the FB post the song was overheard on the 'drunk bus.' I assume that's one of those university run or sponsored buses for students. If so, the university has a legal and ethical responsibility to take disciplinary actions against the chanting students. This is a classic example of a hostile environment. You can't allow that shit to happen on university sponsored grounds.
On a personal note: there's nothing clever about that song.
Pony wrote: »
Another point worth considering is that because of the stupid blog post by the professor, our conversation is as much about him as it is the actual issue. I think that the student actually comes off looking better because of the professor, since the student is now a victim who we can sympathize with us, instead of just some idiot who posted a stupid and possibly offensive song on a facebook group.
enc0re wrote: »
So you think it's perfectly okay to punish students for things they say outside of a classroom environment.
What punishments do you think are adequate for a person saying words that make other people feel bad?
Here's the question I keep getting at, that I think is really important:
Do you believe that it is within the rights and responsibilities of an educational institution to police student behavior beyond what is absolutely necessary to ensure the operation of the educational environment? Do you believe it is a university's right and responsibility to enforce a specific political, social, or cultural viewpoint on the student body regardless of whether or not they agree with it?
If so, at what point does this become unacceptable to you? If a school can and should punish a student for saying something insensitive and crude on what may or may not technically be school grounds, should they also be policing the students for other unethical or immoral behavior?
By whose standards should these behaviors be judged? I mean, in some private schools students are pressured or outright compelled to swear oaths adhering to "Christian values" with regards to the usage of drugs or alcohol, and engaging in promiscuous sexual relationships. Do you think that's okay?
Because I fucking don't. I'll give you my answer to the question I'm posing: A university's only responsibility is to ensure that it is capable of educating the students, and enforce a series of rules and regulations that are designed to make sure that is able to happen. A person acting out or being disruptive on campus or in-class should be subject to some sort of internal response, because they are directly and negatively disrupting the ability of other students to learn.
When it's something that happens on an arguably and nebulously defined component of the school, like a barely-off-campus party or a questionably-under-school-authority form of transit, and when the something that happens is "someone may have been made to feel bad by something people said", then I think it's bullshit to expect or demand that the school step in and do... "something" about it.
When someone is directly disrupting the school's ability to operate and teach, they can act. When someone is doing something that is blatantly in defiance of the law, they can get the police involved. It's not the duty nor should it be the duty of universities to sculpt people or enforce certain political, social, or ethical views.
Students go to school to learn, not to be told how to be.
I know this isn't a thread about frats, but I definitely think that universities who want to reduce incidences of rape or sexual violence would be much better served by (and have a stronger basis for) eliminating frats than they do for censuring students for singing on a bus.
Edd Registered User regular
Granted, but I bet you could agree that the not-insignificant statistical possibility of a woman being raped during her education demands a certain level of intervention. Promoting a particular kind of culture not conducive to rape is certainly a step towards reasonable preventative action. I think championing an environment where it's totally not cool to victimize people or to take that victimization lightly is a pretty far cry from stripping students of ontological agency
Edd on March 2012
[Tycho?] Registered User regular
There are offensive things on the internet? For shame.
This definitely isn't a cool thing to sing, but the profs reaction to this is equally as bad in my mind. Publicly shaming people because they offended someone is questionable. As is attempting to police apparently everything people say in a public space. Is this guy a fucking tool? Yes. Is this indicative of "rape culture" or that this person in particular has a hateful view towards women? Possibly. But I can't see how this doesn't fall under the category of simple free speech. He said something stupid. In case we haven't noticed, most people do this all the time. The right to say stupid things in public places are highly enshrined in the US, and for good reason I think.
And, christ, its a joke! Are we going to expunge every rude joke from the english language? Or remove any possibility of offending any minority? I know this will come off to some as "olol liberal pc thought police", but there are a LOT of possibly offensive things posted by college students on the internet. Publicly shaming, or worse, formal discipline, can have long term effects on a person's life, especially since any old person can look around the internet and see what this guy has been accused of. Is this worth it over a facebook post, whose content, if sung at a party, would have been immediately forgotten by everyone?
Edd wrote: »
It's not a far cry at all when you start academically punishing them or publicly subjecting them to shame and ridicule or outright tossing them out of the institution for it
which is exactly what some people in this thread are calling for.
If you're calling for a more measured, reasonable, complex response to this issue then by all means, continue, I concur.
But that's not what some are doing here and I feel that should be challenged.
Klyka DO you have any SPARE BATTERIES?Registered User regular
he is a professor/PhD candidate who specializes in rape in contemporary English theatre
This is one of the weirder sentences I read today.
So what does he actually do?
SC2 EU ID Klyka.110
Deebaser on my way to work in a suit and a tie Ahhhh...come on fucking guyRegistered User regular
I'm teaching Shakespeare again in the spring. I had planned on using the lectures that I have prepared on Titus Andronicus, but now I don't know. Now, I recognize that for at least a few of my students, such lectures, with their balanced, academic approach to what is an inherently difficult topic, just didn't work.
This professor is a joke.
"Abloo Abloo, one of my former students was acting like a drunk asshole. HOW DID MY ENGLISH LIT LECTURES NOT MAKE HIM A BETTER PERSON?!?!"
Deebaser on March 2012
I agree - the response to situations like this demand a level of reason and nuance that major outrages rarely yield. Public shaming is only ever going to yield the kind of reactionary nonsense that dismisses the issue that caused the outrage in the first place.
Deebaser wrote: »
I think it's indicative of a virulent and poisonous attitude prevalent in a wide variety of universities and espoused by many students and faculty.
Which is that people go to university to become better people and that they should come out of it more worldly, enlightened, liberal, and understanding.
Instead of simply more educated.
EggyToast Registered User regular
Personally, I think that chant falls into free speech rather than hate speech. It's gross and offensive, but it's general and stupid rather than direct and forceful. There's a long history of drinking songs involving sex, almost all of which dabble in misogyny.
It is true that the idea of joking about a serious subject, such as rape, genocide, etc. can cause people to view that subject in a less serious light. For example, "Pollock jokes" became so widespread that people actually thought Poles were considered stupid. Many Americans view the French as cowardly, and that stereotype will extend into their personal views and interactions. If me and my buddies joke about sex and rape and how women always tease and that they're always asking for it, when one of my buddies takes advantage of a woman, I'm more likely to defend him and continue with my lighthearted approach to the subject. It often remains funny until it happens to you.
|| Flickr — || PSN: EggyToast
CptKemzik Registered User regular
It's a virulent attitude for a university to want its students to become more worldly and understanding? Uh what? These are the kind of things one hopes to happen with things like education. You don't go to school for four years just to memorize a bunch of shit.
Not to say that this situation has produced the most ideal reactions, but seriously, it's virulent and poisonous for a university's mission in education to include people becoming more worldly, enlightened, and understanding? Do you not know why universities were established to begin with?
CptKemzik on March 2012
poshniallo Registered User regular
I agree with everything else you've said, but isn't all education, school too, supposed to make people better in some way? Not just more employable? Perhaps that's a debate.
Regardless, even if you do think university is a place where people should learn to be 'better', you don't make people less sexist by treating them like crap for sexist facebook comments and singing.
poshniallo on March 2012
I figure I could take a bear.
To clarify, do you think it's virulent because people don't actually go to school to become better people, and the notion that they do is delusional, or is it virulent because people do and this isn't a reasonable thing?
Grid System Registered User
What I find fascinating about discussions regarding rape culture is the tendency of otherwise careful, reasonable posters to exaggerate, misrepresent, and dismiss challenging positions out of hand. The OP appears to be a good example of this.
My main problem is the Profs response to this, he posts a blog and then singles out a former student of his AND then goes to the ethics committee.
This seems to imply that the professor reported his former student to "the ethics committee", whatever that is. The blog post indicates that the professor approached the "Human Rights and Equity Office at the University of Guelph". A quick search reveals that the HREO serves a number of functions and while it does provide "volunteer(s) to assist with the resolution of concerns and complaints", there is no indication that it is only in the business of meting out punishment, or that the professor sought to punish his former student.
I think the suggestion that the professor intended to "name and shame" is also problematic. The blog post linked in the OP certainly does contain a picture with names not redacted, and the text of the post notes that the person who added a particular comment was a student of the professor. That seems like fair play to me. If someone attaches his name to a comment in a (relatively) public discussion, then why should anyone go out of their way to divorce the statement from the person when confronting it? But aside from that, the post itself was introspective, with the professor wondering how he had failed in his pedagogical project, and whether there is anything he can do differently to reach students.
Andrew Bretz wrote:
What have I been doing in these classes that one of my own students does not have the presence of mind to make the connection between such statements and a culture of gratuitous violence and rape? What has the point of my teaching been if I can't get my own students to recognize the most fundamental rights of other human beings? What is the point of teaching these kids about sexual violence when they can only rabbit back the party line and then go off to use their creative energies to further a rape culture?
Clearly he isn't happy with his student, but the student is also not really the focus of his concerns.
Was the prof justified in his response, were the singers on the bus horrible people and are the people screaming rape culture overreacting?
This is just ridiculous. Did anyone take the position that the people singing on the bus were "horrible people"? What does that even mean? I don't see anyone "screaming" about rape culture, so where did that question come from? Characterizing a sort of soul-searching blog post (because what else is there that the OP could refer to?) as "screaming rape culture" reads like an exaggeration designed solely to make it easier to dismiss the issue.
Grid System on March 2012
Cantelope Registered User regular
Guy:I wish that all the men
Group: I wish that all the men!
Guy: Were Greek statues
Group: Were Greek statues!
Grid System wrote: »
A quick search reveals that the HREO serves a number of functions and while it does provide "volunteer(s) to assist with the resolution of concerns and complaints", there is no indication that it is only in the business of meting out punishment, or that the professor sought to punish his former student.
When you report someone, you intend punishment.
I think the suggestion that the professor intended to "name and shame" is also problematic.
He intended to name and shame. It would have been trivial to post simply the lyrics and a reference to the fact it was a student he had lectured to. Instead, he posted a Facebook post with all names included. This is exactly what naming and shaming is; attribution of 'shameful' quotations.
But aside from that, the post itself was introspective, with the professor wondering how he had failed in his pedagogical project, and whether there is anything he can do differently to reach students.
Had the blog post alone been the issue, the OP would have noted it. It was not, however, and was part of a whole.
We're not concerned with what his intended focus was (insert joke about authorial intent here), we're concerned with the outcomes of his actions.
Read the comments to the professor's blog. Condemnation abounds for what is a song more about blues balls than rape.

redpajama_set_name: RedPajamaCommonCrawl


text:
Biografia
Bentley Little nasce nel 1960, un mese dopo che sua madre ha partecipato alla prima mondiale del film Psyco. Pubblica il suo primo romanzo, The Revelation, nel 1990 per St. Martin's Press. Dopo averlo letto, Stephen King diventa un fan dichiarato del lavoro di Little. Con questo suo libro vince il Premio Bram Stoker al romanzo d'esordio 1990. Pubblica i due romanzi successivi per New American Library ma viene scaricato dalla casa editrice dopo che si rifiuta di scrivere un police procedural come suo prossimo libro. Fa ritorno in seguito alla New American Library con la quale continua tuttora a pubblicare le sue opere.

Little ha dichiarato in parecchie occasioni di ritenersi un romanziere horror, di scrivere in quel determinato genere letterario e non nel dark fantasy o in altri generi affini. Egli è un grande sostenitore della horror fiction ed è stato descritto come un discepolo di Stephen King. Little ha dichiarato in passato di non amare il computer e di rifiutarsi di aprire un suo sito web ufficiale.

Opere

Romanzi

Riconoscimenti
 Premio Bram Stoker
 1990: "The Revelation"

Collegamenti esterni


text:
Ukraine VIDEO CNN: In a two-month-long investigation, CNN can reveal the russian commander responsible for the war crime attacks on Kharkiv.
Watch CNN's exclusive report on Russian general who oversaw atrocities
By CNN, May 13, 2022
The US and international community has accused Russia of war crimes in Ukraine as Russian artillery has devastated Ukrainian cities and lives. But it has been difficult to associate specific generals to specific crimes, the key to actually carrying out war crimes prosecutions. In Kharkiv, CNN has seen the aftermath of attacks targeting civilians using indiscriminate cluster munitions -- a war crime. In a two-month-long investigation, CNN can reveal the commander responsible for these attacks. CNN's Nima Elbagir reports. #CNN #News.


Life After TV: An Interview with Richard Lloyd. By John Tobler : Articles, reviews and interviews from Rock's Backpages.
TELEVISION were one of my ultra-favourite groups of the past couple of years. The music they made has always seemed to me to combine the virtuosity of the old wave with the free thinking and energy of more recent rock 'n' roll, and, without actually shedding a tear, I must confess to feeling a little upset when the group split up not so long ago.


LinkedIn has revealed Q4 profits of $40.2 million, double the amount expected by industry experts.
Turnover was also higher than expected at $304 million, a year-on-year rise of 81 per cent.
These impressive figures mark the end of a successful year for the professional social network, which saw its registered user-base swell to more than 200 million in 2012.
Steve Sordello, CFO at LinkedIn, took to the company blog to share his thoughts on the announcement.
He said, "2012 was a transformative year for LinkedIn. We exited 2011 having successfully revamped our underlying development infrastructure. Based on that investment, we said that 2012 would be a year of accelerated product innovation, and it was.
News of LinkedIn's successes over the last 12 months has been welcomed without surprise in social media circles.
Julia Bramble, director of Bramble Buzz, said, "The world has woken up to the fact that people on LinkedIn are there to do business, so they are already in the right context and mindset to be marketed to.
In traditional LinkedIn style the Q4 2012 earnings presentation is available via Slideshare, and is embedded below.


We are an education and training institution that was established to meet the ever-increasing need for computer literacy that is required for successful employment in all spheres of business throughout the world today, even more so in South Africa being an emerging market.
We have trained more than 10000 students in Kwa Zulu Natal and have partnered with the Department of Education and University of Kwa Zulu Natal in the ACE programme and have also provided training to individuals from various public and business sectors .
As an organization committed to quality service, we understand that our business begins and ends with our customer. We pledge to provide our clients with the highest quality training and customer service available. Techno interactive employs a strict regimen of self-evaluation as well as customer driven post-class evaluation to ensure your complete satisfaction. Our instructors are monitored via third party evaluation and periodic peer-review to maintain a minimum standard of delivery, and that all proven Techno interactive delivery methodologies are being adhered to.
Instructor-led training (ILT) is an engaging, hands-on, learning experience taught by our expert instructors. Instructional experts show a commitment to consistently distinguishing our courses as exemplary with a reputation for proven delivery.
ILT is delivered at our facility or your location, or a third-party site (such as a hotel conference room). ILT is usually taught in a classroom, but can also be delivered via Live K-Remote, that way you can access the same training classes from anywhere in the world, saving travel expenses, and the environment at the same time!
Asynchronous Learning is an opportune training experience for busy clients who cannot attend live courses or, due to their schedule, can devote only smaller "chunks" of time. Training is student-centered, using various resources to facilitate learning outside of time and location constraints. In this way, you are able to participate in training that fits your schedule.
• Our training options are limitless and can be fully modified to meet your organizational learning and training needs.
Blended Learning is a training experience that completely focuses on the client, incorporating both virtual and physical learning resources. Blended Learning is customized to fit the client's need and uses learning methodologies that are convenient for their schedules. A typical example of blended learning is a combination of live, Instructor-Led training lectures with self-paced e-Learning labs.
Our training can be blended so course content and delivery is customized specifically for you. A combination of learning methods can be used, such as using e-Learning to achieve prerequisites, and then attending a single live, Instructor-Led course.
Distance learning is a training experience that is perfect for clients who need to take courses from an offsite location . You can still participate in live classes, or you may choose to participate in e-Learning.
We offers the following benefits while participating in our live courses from offsite locations.
Technointeractive's On-site Training is cost effective and allows you the flexibility , and is exclusively relevant to your organisation's learning needs Choose from our full, extensive curriculum (more than 200 courses) or have courses tailored to your specific outcomes There are no travel expenses, and you can train a group of users in a familiar and confidential environment and programs are delivered to the dates that suite you at your location, or at our venue . Sessions will be more interactive and smooth as delegate interaction is more familiar, This will increase productivity and keep projects moving to attain your goals and objectives.
Our Online portal helps anyone learn business, software, technology and creative skills to achieve personal and professional goals. Through individual, corporate, academic and government subscriptions, members have access of engaging, top-quality courses taught by recognized industry experts.
We have now expanded our footprint to include the Western Cape to offer training nationally .
Our courses are driven by the practical needs of marketing and sales professionals and the industries in which they work. This means our courses will provide you with practical tools and techniques that can be put to use immediately.
We believe in value for money and transparent pricing – there are no additional costs to pay on top of the prices quoted.
Our course Facilitators are highly skilled IT and Business professionals who combine academic expertise with significant practical industry experience.
Our highly experienced advisors help you select the course that's right for you or your team. We can also help you progress your career through a pathway of courses.
We offer tailored training to a team of people at your organization, or develop a bespoke learning programme to meet a particular corporate brief, strategy or organisational need.
95% of delegates would recommend their course to others and all programmes regularly score 9/10 across the key metrics. But don't just take our word for it, see what our customers say.
How long are your Application programmes ?
What is the minimum number of students you can train in one session ?
Are your trainers Certified in their respective fields ?
Courses can be paid online through our various payment gateways from Credit Card , EFT , Paypal or a direct bank deposit . Invoices will be processed and emailed to you once courses are booked .
Where is the Training Conducted ?


I don't know why it took me four trips to Istanbul before I went to the Basilica Cistern. Once I know I passed because the line looked too long. Another time I had to leave town a few hours earlier than originally planned. Whatever the excuses I've had, I decided on my most recent trip that, even if only in town for a day, I would get to the Basilica Cistern and finally see it. And now that I've been inside I'm even more disappointed with myself for taking so long to get there.
The Cistern is around 1500 years old, built in the 6th century to help supply the city's freshwater needs. And, based on what was built, the city was incredible even then. The entrance is an unassuming building, incredibly small compared to the vast room below. Come down the stairs, however, and you are met with the enormous interior, lit to great effect.
The Cistern is huge. It measures 9,800 square meters (~70×140), with waterproofed walls 4 meters thick and columns 9 meters tall holding up the ceiling. There are 336 columns evenly spaced through the cistern.
A few of the columns still show the ornate patterns of their original construction.
And several more of them have detailed caps still in place.
Perhaps the most bizarre thing about the columns is the base of two of them at the back of the site. Rather than the simple blocks that the rest of the columns sit on, these two sit on massive carvings of Medusa, the mythical woman whose hair was turned to snakes which caused men to turn to stone. No one really knows why the Medusa statues are there. No one really knows where they came from (though it is believed they were imported from another building at one point). Despite that uncertainty, however, the two heads are rather neat to see. The detail in the carvings is incredible.
Other than the Medusa heads there isn't a ton of detail in any of the pieces any more. Some of the column caps are nicely preserved and there is that one column but most of the details have been lost in the many centuries since the Cistern was built. Somehow that doesn't make the overall experience any less incredible. In some ways it is even more spectacular because you can see how beautiful the space was when it was originally built and how well it has survived over the years.
And spending a bit of time underground in the cool space of the Cistern is a great way to get out of the summer heat or winter snow/drizzle.
me too! I loved, loved, loved it!
great photos by the way!
I waited less than 5 minutes this time, with maybe 20 people in line outside. In August I would expect it to be much, much longer.
Thank you for posting! I am planning a trip to Turkey and Greece at some point in the next few years and will be sure to visit!
was there ca. 11:30/noon yesterday….. you? SMALL WORLD!
Just saw it last November, really awesome to visit!
I was there about 20 hours earlier, elsie. I was only in town for a few hours on Saturday afternoon/Sunday morning.
I was there last August (and in August 2009) and did not have to wait more than 20 minutes on either occasion.
Some beleive with the destruction of paganism the old temples were dismantled. The medusa heads were already almost perfect squares and so they were repurposed in other construction. Same with colums from old temples.
Very awesome. Was there 2 summers ago. Loved it.
One of my favorite things in IST.
Awesome pics! I almost made it there Sunday, but after 6hrs of exploring the Blue Mosque, Ayasofia and the Topkapi palace I was way too tired. I guess one can't do Istanbul in one day, lol.
We were there last April. No line, just an absolutely stunning architecture underground! As you said, you have this small entrance at street level and then down some stairs and wow….


text:
Countries where gay marriage is legal nationwide
By Zachary M. Seward
This story has been corrected.
Today's Supreme Court ruling makes the United States the 23rd country where same-sex marriage is legal nationwide. (That's if you count the UK, where it is legal everywhere except Northern Ireland.)
The Dutch parliament legalized gay marriage in the Netherlands back in 2000, but most of the other 21 countries have done so only in the last few years. Ireland in 2015 became the first country to legalize gay marriage through a popular vote.
The list below was compiled by the Pew Research Center and additional research by Quartz. (We've broken out the UK's regions.)
Country — year legalized
Argentina — 2010
Belgium — 2003
Brazil — 2013
Canada — 2005
Denmark — 2012
England (UK) — 2013
Finland — 2015
France — 2013
French Guiana — 2013
Greenland — 2015
Iceland — 2010
Ireland — 2015
Luxembourg — 2014
Mexico — 2015*
The Netherlands — 2000
New Zealand — 2013
Norway — 2009
Portugal — 2010
Scotland (UK) — 2014
South Africa — 2006
Spain — 2005
United States — 2015
Uruguay — 2013
Wales (UK) — 2013
* In Mexico, the Supreme Court has ruled that local laws banning gay marriage are unconstitutional. Though the ruling does not automatically strike down those laws, gay couples can sue for the right, which lower courts are compelled to grant them. It's a gray area, but advocates consider gay marriage to be legal across the country.
Correction (12:52pm ET): The original version of this story omitted French Guiana, Greenland, and Mexico.


BD Micro-Fine + pen needles are compatible with all leading reusable and disposable insulin pens. The preferred choice of injection device.
BD Micro-Fine + pen needles incorporate thin wall technology.
Scar Removal why not consider using the products below first.


text:
WHO supports five countries to fight Lassa fever outbreaks
8 February 2019, Brazzaville – With five countries in Western Africa reporting outbreaks of Lassa fever, the World Health Organization (WHO) has scaled up its efforts to support the region's response to the disease.
While these outbreaks are occurring during the Lassa fever season in countries where the disease is endemic, the speed of escalation is of concern.
The largest outbreak thus far has affected 16 states in Nigeria. The Nigeria Centre for Disease Control (NCDC) declared an outbreak of Lassa fever on 22 January 2019. The 213 confirmed cases to date, including 42 deaths, mark a significant increase – already a third of the total cases for all of last year, when Nigeria experienced its worst outbreak of Lassa fever. Four health workers have been infected so far in this latest outbreak.
In Nigeria, WHO is scaling up its efforts to support the Federal authorities, NCDC and the affected Nigerian states in responding to the outbreak. An important focus is on early detection and confirmation of suspected cases, providing optimal supportive care and ensuring infection prevention and control measures in designated health care facilities in the affected states. WHO has intensified its technical assistance and is supporting coordination, enhanced surveillance, epidemiological analysis and risk communication. WHO is also mobilizing experts to support case management and infection prevention and control.
A total of 12 cases have been confirmed to date in Benin, Guinea, Liberia and Togo, including two deaths, with more suspected cases being investigated. WHO is assisting health authorities in these countries with contact tracing and providing medical and non-medical supplies and technical and financial resources as needed for case management, risk communication and logistics.
"We are concerned by the high number of cases so early in the Lassa fever season, which is expected to last another four more months," said Dr Ibrahima Socé Fall, Regional Emergencies Director at WHO Regional Office for Africa. "WHO is working with the health authorities in the five-affected countries to ensure health workers have the capacity to detect cases and we are monitoring the regional spread of the disease."
WHO has set up a regional coordination mechanism for countries to report any suspected case of Lassa fever to expedite the flow of timely information and to assess the situation, recommend actions and help organize assistance. WHO has also reached out to the six other at-risk countries – Burkina Faso, Cameroon, Ghana, Mali, Niger and Sierra Leone – and is supporting prevention and readiness activities as needed.
"WHO continues to advise all countries in the Lassa fever belt to enhance their preparedness and response capacities, especially for early case detection, laboratory confirmation, case management under recommended barrier nursing, risk communication and community engagement," said Dr Fall.
Lassa fever is an acute viral haemorrhagic illness that occurs predominantly in West Africa, after human exposure to the urine or faeces of infected Mastomys rats. More than 80% of Lassa fever cases are rodent-to-human transmission. Person-to-person transmission occurs in both community and health-care settings.
Prevention of Lassa fever relies on promoting good "community hygiene" to discourage rodents from entering homes by storing grain and other foodstuffs in rodent-proof containers, disposing of garbage far from the home, maintaining clean households, keeping cats and the safe handling of anyone who may have died of the disease. In health-care settings, health-care workers should always apply standard infection prevention and control precautions when caring for patients.
Lassa Fever Contacts identification and line listing at UNTH Enugu by the Hospital Infectious Disease and Control Unit, and Rapid Response Teams from Enugu State (including SMOH and WHO) and Nkanu West LGA (source: Dr Ada Erinne, WHO State Coordinator)
For Additional Information or to Request Interviews, Please contact:
OKA Sakuya
Communications Manager (a.i)
WHO Regional Office for Africa
Email: okas@who.int
Collins Boakye-Agyemang
Communications and marketing officer
Tel: + 242 06 520 6565
Email: boakyeagyemangc@who.int
Nigeria: Lassa Fever Outbreak - Jan 2019


text:
Federal Judge Dismisses Kappa Alpha Psi FCU's Lawsuit against NCUA
U.S. District Court Judge Emmet Sullivan yesterday dismissed a lawsuit by the leaders of Kappa Alpha Psi FCU challenging the NCUA's liquidation of the credit union.
By Claude R. Marx | Updated on November 09, 2010
U.S. District Court Judge Emmet Sullivan yesterday dismissed a lawsuit by the leaders of Kappa Alpha Psi FCU challenging the NCUA's liquidation of the credit union.
The credit union had alleged that the NCUA "intentionally attempted to summarily liquidate and revoke the chapter of KAPFCU with total and reckless disregard for the truth." And the NCUA countered that the judge lacked the authority to overturn the liquidation.


text:
NFL Super Bowl Odds - Odds to Win the Super Bowl 2018-2019 - LazyBets NFL Super Bowl Odds - Odds to Win the Super Bowl 2018-2019 - LazyBets
Home Blog NFL Super Bowl Odds - 2018/19
NFL Super Bowl Odds – 2018/19
Super Bowl Odds
Odds to Win the Superbowl provided by BetOnline
With NFL season fast approaching and only a few weeks left of preseason fodder, every team in the league has its sights set on getting to and winning Super Bowl LIII. While most of last year's contenders are back to try and win a title, there are plenty of teams looking to break into the upper echelon and join the NFL elite. Today's article focuses on those teams with the best chances to win the Super Bowl in January of 2019. It also looks at the value that is presented in the odds.
This article is meant to be an overview of the top teams in the league as well as a few sleepers to win it all. Deeper team by team analysis will follow in the coming two weeks leading up to September 1st. Stay tuned to LazyBets as our content expands with the demand shown by our readers. Thank you to those of you who have submitted questions and shown interest in the football season. We want you to know we'll be here for you as we have been with free daily sports picks.
For the odds in today's article we feature prominent offshore sportsbook BetOnline. Our #1 rated sportsbook on the web, BetOnline sportsbook has thousands of daily customers worldwide and offers some of the very best odds and game lines out there. BetOnline specializes in preseason odds for the NFL and they are the very best when it comes to getting value based action this early in the schedule as a bettor.
Sportsbooks like Bovada are known to overcharge on lines because of how much market-share they have. BetOnline has made a name for itself as our top sportsbook by not only not participating in competitive odds making but also having a great digital experience both on desktop and mobile. Make sure to take advantage of the BetOnline August promotion. By using code TD2018 you get a 100% bonus on up to $1000. It's a pretty sweet deal!
With that in mind, let's jump into NFL Odds to Win the Super Bowl in 2018.
Odds to win the Super Bowl:
Odds as of 8/16/18 at BetOnline
Team Odds to Win Superbowl
Patriots +700
Rams +900
Eagles +1000
Vikings +1200
Steelers +1200
Packers +1400
Falcons +1600
Saints +1600
Texans +2000
49ers +2000
Jaguars +2000
Giants +2500
Cowboys +2500
Raiders +3300
Broncos +3300
Ravens +3300
Panthers +3300
Titans +4000
Lions +4000
Seahawks +5000
Redskins +6000
Browns +6600
Colts +6600
Dolphins +10000
Jets +10000
Cardinals +10000
Bills +10000
Bears +10000
Bengals +10000
Patriots Super Bowl Win? +700?
BetOnline is our TOP ONLINE SPORTSBOOK for betting on NFL Football.
Deposit Bonus: 50% up to $1000
BET ON TOM BRADY!
Odds to Win Super Bowl: +700
Will the relationship between Brady and Belichick produce another Super Bowl win for the Patriots?
The Patriots are again the favorites to win the Super Bowl after returning to the Super Bowl in 2017 and posting a 13-3 record in the regular season. The American public is no stranger to the Pats and they're not strangers to the spotlight. Whether you love them or hate them, the Patriots are back and as competitive as ever.
Age doesn't seem to impact the Patriots. The duo of Tom Brady and Bill Belichick headline a short list of teams with a shot to win the AFC. The two are coming to an end of their careers and this will likely be one of their final seasons together. Brady is now 41 years of age and Bellichick checks in at 66 with a snarl. Neither have much left to prove, yet both continue pushing the envelope of what success means in the NFL. For whatever reason they still love striking fear into the rest of the league and the AFC is constantly bothered by the elephant in the room they present on the road to the title.
For New England backers, picking the Patriots is really a question of value. The Patriots are massive favorites to win the AFC East as they have been in most NFL seasons the last 10 years. In our Dolphins preview we look at the last team to take the AFC East and you'd be shocked at how long it's been.
When it comes down to this wager, what you're likely looking at with the Patriots in each season is at least a playoff appearance. Mathematically it's been proven over the last decade that New England is virtually a lock for the postseason. Barring catastrophe, a better can equate this and cut it down to getting 7 to 1 odds on winning 3 playoff games. That's the reality of this line.
The Patriots return a top 10 offense in both rushing and passing, and they ranked #1 overall in total defense last year. The group loses Brandon Cooks (Rams) and Danny Amendola (Dolphins), but retains Julian Edelman and Rob Gronkowski. Eric Decker joins forces with Cordarrelle Patterson to provide some new threats. Rookie Sony Michael looks like the three down back of the future for the Pats.
If the Pats fall it'll be on defense. While they were #5 in the league in points against, the Patriots were #29 in total defense, posting rankings of #30 in the league against the pass and #20 against the run. Those numbers didn't stop the team from making a run last year, but it certainly cost them the title.
With the virtual playoff certainty, New England looks good value here at +700 at the very least.
Odds to Win the Super Bowl: +1000
Can Wentz QB the Eagles back to the promised land?
It's a shock to see the Eagles paying out at 10 to 1, but those are the odds we're looking at with BetOnline.ag. Value is the name of the game on this bet, but with all value comes statistical variance. This year's variance for the Eagles will come with the situation they have under center.
Last year's Super Bowl winners enter this season seemingly better than they were last year. Carson Wentz has been working his way back into shape after a devastating knee injury. It's entirely possible that the Eagles get a full season out of the quarterback who many thought was the league's MVP before he was injured.
You never know how quarterbacks will perform after returning from an injury like the one Wentz suffered and that's the reason we're seeing 10 to 1 on the spread here. Missing so many games means that there will be an adjustment period for Wentz to get reacquainted with the speed of the game. If he struggles during that period it could hurt the team in the early portion of the season. Who knows, it could even cost them vital playoff positioning.
The Eagles will have a huge advantage in the form of their offensive and defensive line play, and that should alleviate some of bettors' concerns with Wentz. The team is dominant in the trenches on both sides of the ball which gives the Eagles a very scary look. They apply intense pressure on opposing quarterbacks while doing a very good job of protecting their own.
As long as they do not regress on the defensive and offensive lines, the Eagles should be contenders for a second straight year regardless of if and how quickly Wentz regains his 2017 form as they were with Nick Foles. That makes the Eagles a nice value at 10 to 1 odds.
Eagles to Repeat +1000?
BET ON THE EAGLES
Odds to Win the Superbowl: +1000
The Vikings D is scary good, but can it win a Super Bowl?
Behind one of the best defenses in recent league history, the Minnesota Vikings are squarely in the picture for the Super Bowl once again this year. The Minnesota defense was tied atop the NFL in yards against per play, allowing just 4.8 yards per defensive snap in 2017. The Vikings were regularly ahead in their games. That means that their low yards against per play came against plenty of pass attempts that usually net larger amounts of yards. It really puts into perspective how dominant the Minnesota Vikings defense really is heading into this year.
The Vikings biggest struggle in the 2018 season (if they have one) will come on offense where there are many more areas for growth. Dalvin Cook has showed real signs of electricity in his time in the NFL, but he is coming off of a knee injury and no one knows how any running back will respond to workload on a repaired knee. The true hopes for the Vikings on offense are embodied in Kirk Cousins. SKOL was able to pry the star man from the Washington Redskins where he had several years of production with very little winning.
The team doesn't quite know what it is going to get from Kirk Cousins for the high price they paid for him. What fans expect is that the team will at least be better than 2017 on the attacking side of the ball. Stefon Diggs now has reliability in his life and when you combine that with the scary defense the Vikings have, they're an attractive wager heading into the 2018 season, especially at the tasty 10 to 1 figure being offered by our friends at BetOnline.
Vikings Super Bowl +1000?
BET ON THE VIKINGS!
Can Le'Veon Bell make his last year as a Steeler a truly great one?
Much like the Patriots, the Steelers' existence in the AFC has been in another category than the rest of the league. They two have made up an upper echelon that teams aspire to when it comes to consistency. The Steelers seem to be in the playoffs every year no matter what the circumstances. It really puts them in a position where just a few playoff wins puts them in or near the Super Bowl.
The commonalities between the Patriots and the Steelers stretch much farther than just their successes. Unfortunately for them Pittsburgh and New England both struggled immensely on defense when it counted in the playoffs. Unlike New England though, Pittsburgh had been good on all facets of defense. Their collapse came out of random chance and bad variance.
Much as it is impossible to forget New England's collapse to Philadelphia, it is nearly impossible to forget Blake Bortles tearing the Steelers apart in the AFC Divisional Playoffs last season. The Steelers fell victim to some terrible and traumatic luck, especially when it came to injuries. Not only did they take down the players that suffered them, but they seemed to impact the players' minds as well. Horrified viewers remember vividly the moment they watched as Ryan Shazier fought for his life on the field in December of 2017 against the Bengals (not for the faint of heart, the video is horrible to watch). You can't really blame them. The Steelers lost their swagger after that.
In the end the Steelers have had an offseason to heal. Shazier is on the mend, which is news that makes everyone smile. The Steelers mentality is on the mend too, and that's bullish for bettors.
Mike Tomlin is on the hot seat, Le'Veon Bell is in a contract year, and the defense got some time to digest for its own well being. At 10 to 1, this could be a salivating line for anyone who believes in terrible towels.
Steelers Super Bowl Win +1000?
BET ON THE STEELERS
Goff's team friendly contract makes the Rams a contender, but can they win it all?
The Los Angeles Rams are the NFL's up and comer and there's a lot to like about the NFL's hottest trending team. The team seems to have the blueprint to winning in the NFL and is looking to continue its path to success with a Super Bowl win this season.
One of the things that has helped the Rams success in recent years is their contract situation with Jared Goff. Goff is set to make $7.6 million and $8.9 million in years three and four of his contract. You can see how that's valuable when you compare Goffs talents to someone like Kirk Cousins. Goff threw for 28 touchdowns and 7 interceptions on 477 attempts in 2017. Cousins had 27 touchdowns and 13 interceptions on 540 attempts. Cousins costs $84 over 3 years and will make roughly $28 million this year.
The Rams are massively saving and because of that they've been able to be flexible with their acquisitions. They added a ton in free agency. Brandon Cooks comes in via trade. Ndamukong Suh anchors the class of newly signed players and is joined by All-Pro corner Aqib Talib. The Rams simply wouldn't have been able to add these players if they weren't constructed in the manner than they were.
When you couple the new additions with already trending youth like Goff and running back Todd Gurley, it's hard to not see the Rams as a factor in the NFC. The imaginative play calling Sean McVay only makes them more attractive.
If there's anything to be careful of with these NFL futures odds, it's the impact of mercenary free agents on team culture.
If the Rams are able to integrate their new players into their young culture quickly, this team could be a dynamite pick at 12 to 1.
Rams to Win the Super Bowl +1200?
BET ON THE RAMS
Can Blake Bortles hurt the Jaguars less in 2018? If he does, it may lead to a title.
The Jaguars offer a compelling combination of talent and value. At 20 to 1, no team that made the playoffs last season is being less respected than the Jaguars. That can be a very attractive component to sports betting enthusiasts like us.
Defense wins championships. We say it a lot here at LazyBets. It wins a lot of under bets too! When it comes to defense, the Jaguars are one of the most respected names in league circles. In a passing league, the Jaguars were a no fly zone. They ranked #1 in the NFL on defense last year against quarterbacks and forced the 2nd most interceptions in the league with 21. The Jags lose nickel cornerback Aaron Colvin to Houston but retain both safeties in Tashaun Gipson and Barry Church. If you want to watch the best cornerbacks in the NFL, flip on the Jaguars to catch Jalen Ramsey and A.J. Bouye. They both made the Pro Bowl last year.
The secondary isn't the only attractive piece that makes up the Jags defense. With so many picks last year, it should be expected that the defense gets pressure on the QB. The Jaguars finished second in sacks last year.
What killed the Jaguars in 2017 was their run defense and their lack of ability to get ahead in games. They will be looking to improve upon that in 2018 and that is where this bet hinges.
Blake Bortles is a concern for bettor and team alike. In reality though, he wasn't half bad in 2017. He just had hiccups when it counted. The optimal version of Blake Bortles is Alex Smith. The Jaguars had the #1 rushing offense last season meaning they could keep defenses on the field. That's a deadly combination when you're talking about a defense with the abiliies of Jacksonville's.
To succeed in 2018, all Bortles has to do is limit his mistakes and gain confidence as he manages the game. We forget how young he is. At 26, he should just now be coming into his own.
If the Jaguars can get back to the playoffs, they are a great value bet at 20-to-1 odds to win the title on style alone. The clock is a valuable asset and the Jaguars look the most poised of any team to control it with the ground and pound/kingmaker defense setup.
Jags Super Bowl Win +2000?
BET ON THE JAGUARS
Super Bowl Free Pick
Jacksonville Jaguars - Odds to Win the Super Bowl: +2000
With the best defense and running game in the NFL, it's hard not to take the Jaguars at 20 to 1. It's our best bet!
The potential for a big payout by backing the Jaguars offers too much value to ignore when you combine it with just how good the defense is. With a +10 turnover differential in 2017, the Jaguars will be looking to improve on that number by limiting their own mistakes. It's something that will come naturally with maturity and the experience of last year's playoffs.
There's just too much value here which is the reason for us taking a shot. We value the Jaguars right around the level of the Vikings, and yet BetOnline is offering us double the odds of the +1000 the Vikes are getting despite playing in what we think is a tougher division.
Sometimes you just can't say no to good value.
Backing the Patriots at 7-to-1 odds is a good play here, but if you want the big payday take the Jags at 20-1 to win the Superbowl and hold on to your hats and glasses.
Make sure to check out more of our NFL futures articles here and don't forget to check out our top sportsbooks.
It's bonus season so best get to depositing!!! Good luck out there!
Jaguars Win it All +2000
BET ON THE JAGS
Promotional Disclaimer:
All of the listings below have been confirmed and vetted by our staff. To submit your online sportsbook for approval please contact us.
LazyBets may receive compensation in connection with advertising listings featured in this article. Click here to learn more.
Football Futures:
NL East - Odds to Win Division - MLB...
AL Central - Odds to Win Division - MLB...
NL Central - Odds to Win Division - MLB...
NL West - Odds to Win Division - MLB...
AL East - Odds to Win Division - MLB...
AL West - Odds to Win Division - MLB...
Trending Sports Betting Articles:
NFC West Division - Odds to Win
49ers vs. Vikings - NFL Picks and Parlays 9/9/18
Best Online Sportsbook - Top 5
Best Online Sportsbook:
BookMaker Review
Heritage Sports Review
Best Online Sportsbook USA
Sports Betting Forum