text:
const color = require('../util/color');
const log = require('../util/log');

/**
 * Manage power, direction, and timers for one WeDo 2.0 motor.
 */
class WeDo2Motor {
    /**
     * Construct a WeDo2Motor instance.
     * @param {WeDo2} parent - the WeDo 2.0 device which owns this motor.
     * @param {int} index - the zero-based index of this motor on its parent device.
     */
    constructor (parent, index) {
        /**
         * The WeDo 2.0 device which owns this motor.
         * @type {WeDo2}
         * @private
         */
        this._parent = parent;

        /**
         * The zero-based index of this motor on its parent device.
         * @type {int}
         * @private
         */
        this._index = index;

        /**
         * This motor's current direction: 1 for "this way" or -1 for "that way"
         * @type {number}
         * @private
         */
        this._direction = 1;

        /**
         * This motor's current power level, in the range [0,100].
         * @type {number}
         * @private
         */
        this._power = 100;

        /**
         * Is this motor currently moving?
         * @type {boolean}
         * @private
         */
        this._isOn = false;

        /**
         * If the motor has been turned on or is actively braking for a specific duration, this is the timeout ID for
         * the end-of-action handler. Cancel this when changing plans.
         * @type {Object}
         * @private
         */
        this._pendingTimeoutId = null;

        this.startBraking = this.startBraking.bind(this);
        this.setMotorOff = this.setMotorOff.bind(this);
    }

    /**
     * @return {number} - the duration of active braking after a call to startBraking(). Afterward, turn the motor off.
     * @constructor
     */
    static get BRAKE_TIME_MS () {
        return 1000;
    }

    /**
     * @return {int} - this motor's current direction: 1 for "this way" or -1 for "that way"
     */
    get direction () {
        return this._direction;
    }

    /**
     * @param {int} value - this motor's new direction: 1 for "this way" or -1 for "that way"
     */
    set direction (value) {
        if (value < 0) {
            this._direction = -1;
        } else {
            this._direction = 1;
        }
    }

    /**
     * @return {int} - this motor's current power level, in the range [0,100].
     */
    get power () {
        return this._power;
    }

    /**
     * @param {int} value - this motor's new power level, in the range [0,100].
     */
    set power (value) {
        this._power = Math.max(0, Math.min(value, 100));
    }

    /**
     * @return {boolean} - true if this motor is currently moving, false if this motor is off or braking.
     */
    get isOn () {
        return this._isOn;
    }

    /**
     * Turn this motor on indefinitely.
     */
    setMotorOn () {
        this._parent._send('motorOn', {motorIndex: this._index, power: this._direction * this._power});
        this._isOn = true;
        this._clearTimeout();
    }

    /**
     * Turn this motor on for a specific duration.
     * @param {number} milliseconds - run the motor for this long.
     */
    setMotorOnFor (milliseconds) {
        milliseconds = Math.max(0, milliseconds);
        this.setMotorOn();
        this._setNewTimeout(this.startBraking, milliseconds);
    }

    /**
     * Start active braking on this motor. After a short time, the motor will turn off.
     */
    startBraking () {
        this._parent._send('motorBrake', {motorIndex: this._index});
        this._isOn = false;
        this._setNewTimeout(this.setMotorOff, WeDo2Motor.BRAKE_TIME_MS);
    }

    /**
     * Turn this motor off.
     */
    setMotorOff () {
        this._parent._send('motorOff', {motorIndex: this._index});
        this._isOn = false;
    }

    /**
     * Clear the motor action timeout, if any. Safe to call even when there is no pending timeout.
     * @private
     */
    _clearTimeout () {
        if (this._pendingTimeoutId !== null) {
            clearTimeout(this._pendingTimeoutId);
            this._pendingTimeoutId = null;
        }
    }

    /**
     * Set a new motor action timeout, after clearing an existing one if necessary.
     * @param {Function} callback - to be called at the end of the timeout.
     * @param {int} delay - wait this many milliseconds before calling the callback.
     * @private
     */
    _setNewTimeout (callback, delay) {
        this._clearTimeout();
        const timeoutID = setTimeout(() => {
            if (this._pendingTimeoutId === timeoutID) {
                this._pendingTimeoutId = null;
            }
            callback();
        }, delay);
        this._pendingTimeoutId = timeoutID;
    }
}

/**
 * Manage communication with a WeDo 2.0 device over a Device Manager client socket.
 */
class WeDo2 {

    /**
     * @return {string} - the type of Device Manager device socket that this class will handle.
     */
    static get DEVICE_TYPE () {
        return 'wedo2';
    }

    /**
     * Construct a WeDo2 communication object.
     * @param {Socket} socket - the socket for a WeDo 2.0 device, as provided by a Device Manager client.
     */
    constructor (socket) {
        /**
         * The socket-IO socket used to communicate with the Device Manager about this device.
         * @type {Socket}
         * @private
         */
        this._socket = socket;

        /**
         * The motors which this WeDo 2.0 could possibly have.
         * @type {[WeDo2Motor]}
         * @private
         */
        this._motors = [new WeDo2Motor(this, 0), new WeDo2Motor(this, 1)];

        /**
         * The most recently received value for each sensor.
         * @type {Object.<string, number>}
         * @private
         */
        this._sensors = {
            tiltX: 0,
            tiltY: 0,
            distance: 0
        };

        this._onSensorChanged = this._onSensorChanged.bind(this);
        this._onDisconnect = this._onDisconnect.bind(this);

        this._connectEvents();
    }

    /**
     * Manually dispose of this object.
     */
    dispose () {
        this._disconnectEvents();
    }

    /**
     * @return {number} - the latest value received for the tilt sensor's tilt about the X axis.
     */
    get tiltX () {
        return this._sensors.tiltX;
    }

    /**
     * @return {number} - the latest value received for the tilt sensor's tilt about the Y axis.
     */
    get tiltY () {
        return this._sensors.tiltY;
    }

    /**
     * @return {number} - the latest value received from the distance sensor.
     */
    get distance () {
        return this._sensors.distance;
    }

    /**
     * Access a particular motor on this device.
     * @param {int} index - the zero-based index of the desired motor.
     * @return {WeDo2Motor} - the WeDo2Motor instance, if any, at that index.
     */
    motor (index) {
        return this._motors[index];
    }

    /**
     * Set the WeDo 2.0 hub's LED to a specific color.
     * @param {int} rgb - a 24-bit RGB color in 0xRRGGBB format.
     */
    setLED (rgb) {
        this._send('setLED', {rgb});
    }

    /**
     * Play a tone from the WeDo 2.0 hub for a specific amount of time.
     * @param {int} tone - the pitch of the tone, in Hz.
     * @param {int} milliseconds - the duration of the note, in milliseconds.
     */
    playTone (tone, milliseconds) {
        this._send('playTone', {tone, ms: milliseconds});
    }

    /**
     * Stop the tone playing from the WeDo 2.0 hub, if any.
     */
    stopTone () {
        this._send('stopTone');
    }

    /**
     * Attach event handlers to the device socket.
     * @private
     */
    _connectEvents () {
        this._socket.on('sensorChanged', this._onSensorChanged);
        this._socket.on('deviceWasClosed', this._onDisconnect);
        this._socket.on('disconnect', this._onDisconnect);
    }

    /**
     * Detach event handlers from the device socket.
     * @private
     */
    _disconnectEvents () {
        this._socket.off('sensorChanged', this._onSensorChanged);
        this._socket.off('deviceWasClosed', this._onDisconnect);
        this._socket.off('disconnect', this._onDisconnect);
    }

    /**
     * Store the sensor value from an incoming 'sensorChanged' event.
     * @param {object} event - the 'sensorChanged' event.
     * @property {string} sensorName - the name of the sensor which changed.
     * @property {number} sensorValue - the new value of the sensor.
     * @private
     */
    _onSensorChanged (event) {
        this._sensors[event.sensorName] = event.sensorValue;
    }

    /**
     * React to device disconnection. May be called more than once.
     * @private
     */
    _onDisconnect () {
        this._disconnectEvents();
    }

    /**
     * Send a message to the device socket.
     * @param {string} message - the name of the message, such as 'playTone'.
     * @param {object} [details] - optional additional details for the message, such as tone duration and pitch.
     * @private
     */
    _send (message, details) {
        this._socket.emit(message, details);
    }
}

/**
 * Enum for motor specification.
 * @readonly
 * @enum {string}
 */
const MotorID = {
    DEFAULT: 'motor',
    A: 'motor A',
    B: 'motor B',
    ALL: 'all motors'
};

/**
 * Enum for motor direction specification.
 * @readonly
 * @enum {string}
 */
const MotorDirection = {
    FORWARD: 'this way',
    BACKWARD: 'that way',
    REVERSE: 'reverse'
};

/**
 * Enum for tilt sensor direction.
 * @readonly
 * @enum {string}
 */
const TiltDirection = {
    UP: 'up',
    DOWN: 'down',
    LEFT: 'left',
    RIGHT: 'right',
    ANY: 'any'
};

/**
 * Scratch 3.0 blocks to interact with a LEGO WeDo 2.0 device.
 */
class Scratch3WeDo2Blocks {

    /**
     * @return {string} - the name of this extension.
     */
    static get EXTENSION_NAME () {
        return 'wedo2';
    }

    /**
     * @return {number} - the tilt sensor counts as "tilted" if its tilt angle meets or exceeds this threshold.
     */
    static get TILT_THRESHOLD () {
        return 15;
    }

    /**
     * Construct a set of WeDo 2.0 blocks.
     * @param {Runtime} runtime - the Scratch 3.0 runtime.
     */
    constructor (runtime) {
        /**
         * The Scratch 3.0 runtime.
         * @type {Runtime}
         */
        this.runtime = runtime;

        this.runtime.HACK_WeDo2Blocks = this;
    }

    /**
     * Use the Device Manager client to attempt to connect to a WeDo 2.0 device.
     */
    connect () {
        if (this._device || this._finder) {
            return;
        }
        const deviceManager = this.runtime.ioDevices.deviceManager;
        const finder = this._finder =
            deviceManager.searchAndConnect(Scratch3WeDo2Blocks.EXTENSION_NAME, WeDo2.DEVICE_TYPE);
        this._finder.promise.then(
            socket => {
                if (this._finder === finder) {
                    this._finder = null;
                    this._device = new WeDo2(socket);
                } else {
                    log.warn('Ignoring success from stale WeDo 2.0 connection attempt');
                }
            },
            reason => {
                if (this._finder === finder) {
                    this._finder = null;
                    log.warn(`WeDo 2.0 connection failed: ${reason}`);
                } else {
                    log.warn('Ignoring failure from stale WeDo 2.0 connection attempt');
                }
            });
    }

    /**
     * Retrieve the block primitives implemented by this package.
     * @return {object.<string, Function>} Mapping of opcode to Function.
     */
    getPrimitives () {
        return {
            wedo2_motorOnFor: this.motorOnFor,
            wedo2_motorOn: this.motorOn,
            wedo2_motorOff: this.motorOff,
            wedo2_startMotorPower: this.startMotorPower,
            wedo2_setMotorDirection: this.setMotorDirection,
            wedo2_setLightHue: this.setLightHue,
            wedo2_playNoteFor: this.playNoteFor,
            wedo2_whenDistance: this.whenDistance,
            wedo2_whenTilted: this.whenTilted,
            wedo2_getDistance: this.getDistance,
            wedo2_isTilted: this.isTilted,
            wedo2_getTiltAngle: this.getTiltAngle
        };
    }

    /**
     * Turn specified motor(s) on for a specified duration.
     * @param {object} args - the block's arguments.
     * @property {MotorID} MOTOR_ID - the motor(s) to activate.
     * @property {int} DURATION - the amount of time to run the motors.
     * @return {Promise} - a promise which will resolve at the end of the duration.
     */
    motorOnFor (args) {
        const durationMS = args.DURATION * 1000;
        return new Promise(resolve => {
            this._forEachMotor(args.MOTOR_ID, motorIndex => {
                this._device.motor(motorIndex).setMotorOnFor(durationMS);
            });

            // Ensure this block runs for a fixed amount of time even when no device is connected.
            setTimeout(resolve, durationMS);
        });
    }

    /**
     * Turn specified motor(s) on indefinitely.
     * @param {object} args - the block's arguments.
     * @property {MotorID} MOTOR_ID - the motor(s) to activate.
     */
    motorOn (args) {
        this._forEachMotor(args.MOTOR_ID, motorIndex => {
            this._device.motor(motorIndex).setMotorOn();
        });
    }

    /**
     * Turn specified motor(s) off.
     * @param {object} args - the block's arguments.
     * @property {MotorID} MOTOR_ID - the motor(s) to deactivate.
     */
    motorOff (args) {
        this._forEachMotor(args.MOTOR_ID, motorIndex => {
            this._device.motor(motorIndex).setMotorOff();
        });
    }

    /**
     * Turn specified motor(s) off.
     * @param {object} args - the block's arguments.
     * @property {MotorID} MOTOR_ID - the motor(s) to be affected.
     * @property {int} POWER - the new power level for the motor(s).
     */
    startMotorPower (args) {
        this._forEachMotor(args.MOTOR_ID, motorIndex => {
            const motor = this._device.motor(motorIndex);
            motor.power = args.POWER;
            motor.setMotorOn();
        });
    }

    /**
     * Set the direction of rotation for specified motor(s).
     * If the direction is 'reverse' the motor(s) will be reversed individually.
     * @param {object} args - the block's arguments.
     * @property {MotorID} MOTOR_ID - the motor(s) to be affected.
     * @property {MotorDirection} DIRECTION - the new direction for the motor(s).
     */
    setMotorDirection (args) {
        this._forEachMotor(args.MOTOR_ID, motorIndex => {
            const motor = this._device.motor(motorIndex);
            switch (args.DIRECTION) {
            case MotorDirection.FORWARD:
                motor.direction = 1;
                break;
            case MotorDirection.BACKWARD:
                motor.direction = -1;
                break;
            case MotorDirection.REVERSE:
                motor.direction = -motor.direction;
                break;
            default:
                log.warn(`Unknown motor direction in setMotorDirection: ${args.DIRECTION}`);
                break;
            }
        });
    }

    /**
     * Set the LED's hue.
     * @param {object} args - the block's arguments.
     * @property {number} HUE - the hue to set, in the range [0,100].
     */
    setLightHue (args) {
        // Convert from [0,100] to [0,360]
        const hue = args.HUE * 360 / 100;

        const rgbObject = color.hsvToRgb({h: hue, s: 1, v: 1});

        const rgbDecimal = color.rgbToDecimal(rgbObject);

        this._device.setLED(rgbDecimal);
    }

    /**
     * Make the WeDo 2.0 hub play a MIDI note for the specified duration.
     * @param {object} args - the block's arguments.
     * @property {number} NOTE - the MIDI note to play.
     * @property {number} DURATION - the duration of the note, in seconds.
     * @return {Promise} - a promise which will resolve at the end of the duration.
     */
    playNoteFor (args) {
        return new Promise(resolve => {
            const durationMS = args.DURATION * 1000;
            const tone = this._noteToTone(args.NOTE);
            this._device.playTone(tone, durationMS);

            // Ensure this block runs for a fixed amount of time even when no device is connected.
            setTimeout(resolve, durationMS);
        });
    }

    /**
     * Compare the distance sensor's value to a reference.
     * @param {object} args - the block's arguments.
     * @property {string} OP - the comparison operation: '<' or '>'.
     * @property {number} REFERENCE - the value to compare against.
     * @return {boolean} - the result of the comparison, or false on error.
     */
    whenDistance (args) {
        switch (args.OP) {
        case '<':
            return this._device.distance < args.REFERENCE;
        case '>':
            return this._device.distance > args.REFERENCE;
        default:
            log.warn(`Unknown comparison operator in whenDistance: ${args.OP}`);
            return false;
        }
    }

    /**
     * Test whether the tilt sensor is currently tilted.
     * @param {object} args - the block's arguments.
     * @property {TiltDirection} DIRECTION - the tilt direction to test (up, down, left, right, or any).
     * @return {boolean} - true if the tilt sensor is tilted past a threshold in the specified direction.
     */
    whenTilted (args) {
        return this._isTilted(args.DIRECTION);
    }

    /**
     * @return {number} - the distance sensor's value, scaled to the [0,100] range.
     */
    getDistance () {
        return this._device.distance * 10;
    }

    /**
     * Test whether the tilt sensor is currently tilted.
     * @param {object} args - the block's arguments.
     * @property {TiltDirection} DIRECTION - the tilt direction to test (up, down, left, right, or any).
     * @return {boolean} - true if the tilt sensor is tilted past a threshold in the specified direction.
     */
    isTilted (args) {
        return this._isTilted(args.DIRECTION);
    }

    /**
     * @param {object} args - the block's arguments.
     * @property {TiltDirection} DIRECTION - the direction (up, down, left, right) to check.
     * @return {number} - the tilt sensor's angle in the specified direction.
     * Note that getTiltAngle(up) = -getTiltAngle(down) and getTiltAngle(left) = -getTiltAngle(right).
     */
    getTiltAngle (args) {
        return this._getTiltAngle(args.DIRECTION);
    }

    /**
     * Test whether the tilt sensor is currently tilted.
     * @param {TiltDirection} direction - the tilt direction to test (up, down, left, right, or any).
     * @return {boolean} - true if the tilt sensor is tilted past a threshold in the specified direction.
     * @private
     */
    _isTilted (direction) {
        switch (direction) {
        case TiltDirection.ANY:
            return (Math.abs(this._device.tiltX) >= Scratch3WeDo2Blocks.TILT_THRESHOLD) ||
                (Math.abs(this._device.tiltY) >= Scratch3WeDo2Blocks.TILT_THRESHOLD);
        default:
            return this._getTiltAngle(direction) >= Scratch3WeDo2Blocks.TILT_THRESHOLD;
        }
    }

    /**
     * @param {TiltDirection} direction - the direction (up, down, left, right) to check.
     * @return {number} - the tilt sensor's angle in the specified direction.
     * Note that getTiltAngle(up) = -getTiltAngle(down) and getTiltAngle(left) = -getTiltAngle(right).
     * @private
     */
    _getTiltAngle (direction) {
        switch (direction) {
        case TiltDirection.UP:
            return -this._device.tiltY;
        case TiltDirection.DOWN:
            return this._device.tiltY;
        case TiltDirection.LEFT:
            return -this._device.tiltX;
        case TiltDirection.RIGHT:
            return this._device.tiltX;
        default:
            log.warn(`Unknown tilt direction in _getTiltAngle: ${direction}`);
        }
    }

    /**
     * Call a callback for each motor indexed by the provided motor ID.
     * @param {MotorID} motorID - the ID specifier.
     * @param {Function} callback - the function to call with the numeric motor index for each motor.
     * @private
     */
    _forEachMotor (motorID, callback) {
        let motors;
        switch (motorID) {
        case MotorID.A:
            motors = [0];
            break;
        case MotorID.B:
            motors = [1];
            break;
        case MotorID.ALL:
        case MotorID.DEFAULT:
            motors = [0, 1];
            break;
        default:
            log.warn(`Invalid motor ID: ${motorID}`);
            motors = [];
            break;
        }
        for (const index of motors) {
            callback(index);
        }
    }

    /**
     * @param {number} midiNote - the MIDI note value to convert.
     * @return {number} - the frequency, in Hz, corresponding to that MIDI note value.
     * @private
     */
    _noteToTone (midiNote) {
        // Note that MIDI note 69 is A4, 440 Hz
        return 440 * Math.pow(2, (midiNote - 69) / 12);
    }
}

module.exports = Scratch3WeDo2Blocks;


When Iceland was faced with economic disaster, they decided to take a very different approach to what the U.S. did in the same situation. You can't afford to ignore the lessons of their tactics.
There is a purpose for our capital markets. It is to efficiently allocate capital to those that need it to grow the economy, which increases everyone's standard of living over time. However, all is not good with the myriad of different businesses in our financial sector.
After spending almost twenty years on Wall Street myself, mostly trading emerging market debt, I can attest to the fact that the "Street" is rife with corruption and conflict of interest. For one, the big banks seem to be very good at pocketing their profits and socializing their losses. In other words, they most likely keep the winnings and go hat-in-hand to the federal government when their bets go wrong.
When the banking crisis started in 2007, the United States government bailed out a myriad of financial institutions, even car companies. But why must we bail these companies out? When you let an institution fail that is not working, you will generally encourage more imaginative and better-run entities to fill the void. Although there will be short-term pain, in the long run, everyone will almost certainly be better off.
It's a simple point: People will be less likely to take extreme risk if they know the consequence of failure will be just that: Failure.
When Iceland faced financial disaster almost a decade ago, they took a very different path to that of the United States. The Independent reports on the Nordic country's dynamic recovery, stating that Iceland chose to protect domestic deposits only and allowed other deposit holders to participate in the losses. Iceland instituted capital controls to keep money from fleeing their banking system. The country allowed inflation to run rampant; fortunately, it didn't last. They also have put several banking executives in jail.
Today the Icelandic economy has recovered. Unemployment is declining in-line with the United States, and the debt-to-GDP ratio is back at manageable levels.
Could the United States and Europe learn from Iceland's actions? Of course they could. Presently, there are multiple financial executives walking free who most likely committed serious crimes, which had devastating consequences to many. And although the United States Treasury made money on most of the bailouts, they did not on the auto companies. The taxpayer was left with a hefty bill on the order of billions of dollars.
Although losing money is concerning, what is really scary is the lessons that were learned by the U.S. financial sector. The banks and Wall Street learned that if you are big enough, important enough, and connected enough, you can conceivably get away with anything. You can almost destroy the largest economy in the world and continue to collect your seven-figure salary.
The bottom line is, there are still out-sized risks in our financial system due to the moral hazard created by the bailouts. Which means that any American with money in equities could be left holding the bag in the next financial crisis. Are your savings protected? If you don't have at least some of your savings outside of cash or the stock market, now might be the time to get started.


There was a day when the church was known for its artists. Da Vinci famously painted the Last Supper, Michaelangelo painted the Sistine Chapel, and J.S. Bach wrote music influenced by his Christian faith. In not quite as distant history, C.S. Lewis and J.R.R. Tolkien wrote classic works influenced by their Christian faith. Unfortunately, when we think of the church in today's culture, we do not likely think of art. And this is not about the buildings; because although our building may no longer be painted or built the same way, our churches are still full of music, design, film, performance art, and writing.
In the 21st century, art in the church tends to get associated with mediocre music, preachy films, or copycat designs.
This shouldn't be. Our life-changing theology should lead to art that is not simply "Good for Christian art" but instead just "Good, period." Christians should be making the best art, because we have the most compelling story to tell. Our theology clings to the divine story of redemption and that should inspire the best art.
Academia likes information and speaks to the mind. Art prefers a compelling story and speaks to the heart. And both of these are important. It is important that we are able to have a systematic theology and understand the complexities of our doctrine, but it is also important that our doctrines are interwined with the divine story.
Stories help give words and life to the theology that we carry with us into everyday life. And since good theology is interested not simply in our Sunday mornings, but our Monday through Friday too, stories become deeply important. Good theology always has a story to tell.
This is fascinating, because Walther describes something that I'd never consider art as an art form. He somehow sees his pastoring as an art. Just as an artist decides which colors to use, which words to write, and which scenes to cut, so also the theologian has to determine which stories to tell, which words to say, and which scriptures to teach. The theologian will always be an artist because the theologian must be a story-teller.
So the question then becomes, is he a good one?
Is the theologian telling a compelling story when he re-tells the divine story? Is he showcasing this story with beautiful art? Is the preaching, writing, music, design, and film showcasing this same divine story? We are all theologians, we are all story-tellers, and the story we tell should inspire beautiful art.
And whether or not we see ourselves as artistic, our theology should absolutely inspire our desire to share the compelling story to those around us. And if we are sharing this story with those around us, we are artists. Because as artists, as we decide what to share from our own story and from the divine story, we are deciding what colors will go on the canvas and what colors will be left out in order to paint a picture of the God we know and love.


text:
NewsCourt and Crime
news, court-and-crime,
A man who spat at police officers and resisted arrest has been handed a 12-month community corrections order. Bradley James Dow, of no fixed address, was sentenced on Monday for three counts of assaulting a police officer, use abusive language to a police officer, resist a police officer, and refuse to state name and address. The 28-year-old spat at police, repeatedly called them c---s and refused to put his hands behind his back to be handcuffed on March 15 in Launceston. During sentencing, Magistrate Sharon Cure described the offending as a nasty assault on police, but acknowledged the number of programs Dow had completed. A pre-sentence report was provided to Magistrate Cure, who noted Dow was in a complex situation. Dow had been living at a crisis support service but was now sleeping rough, the Launceston Magistrates Court heard. When asked if he was seeking help for accommodation, Dow said he needed to help himself. Dow must comply with the order and not commit an offence for 12 months.
https://nnimgt-a.akamaihd.net/transform/v1/crop/frm/tiBeXLQSZGBbnMmY9AKBcc/97c1cfce-ef25-4fb7-aff4-a1c205ee5dda.jpg/r18_430_8237_5074_w1200_h678_fmax.jpg
August 12 2019 - 6:44PM
Bradley James Dow sentenced for assaulting police
Sarah Aquilina
A man who spat at police officers and resisted arrest has been handed a 12-month community corrections order.
Bradley James Dow, of no fixed address, was sentenced on Monday for three counts of assaulting a police officer, use abusive language to a police officer, resist a police officer, and refuse to state name and address.
The 28-year-old spat at police, repeatedly called them c---s and refused to put his hands behind his back to be handcuffed on March 15 in Launceston.
Woman withdraws complaints against Tasmania Police
Sewage plant upgrade on the cards for Longford
Firefighters accept wage offer with 'clear message'
During sentencing, Magistrate Sharon Cure described the offending as a nasty assault on police, but acknowledged the number of programs Dow had completed.
A pre-sentence report was provided to Magistrate Cure, who noted Dow was in a complex situation.
Dow had been living at a crisis support service but was now sleeping rough, the Launceston Magistrates Court heard.
When asked if he was seeking help for accommodation, Dow said he needed to help himself.
Dow must comply with the order and not commit an offence for 12 months.

redpajama_set_name: RedPajamaCommonCrawl


text:
GGMM Webinar
Podcasting for Brands Masterclass
How to launch, grow, and start making money off your podcast in the first 60 days
These are the specific tactics we've used as a small business to generate over $810K off our podcast since launching
If you are a brand or individual that is looking for the best way to grow your business in 2021 then this is the right workshop for you. Over the last four years starting from scratch with virtually no following we have used The GoGedders Podcast as the main tool to grow our business, netting us over $810k in topline revenue. We saw what it did for us and now produce and market shows for brands like Colliers International, Trek Bicycle, Marquette University and a number of small businesses. If you want to learn how to use podcasting to stand out, build a following, add value to your target audience, generate leads and grow your bottom line all in the next 60 days then make sure to sign up below.
Brands We've Helped
The state of audio and podcasting in 2020
How to monetize a podcast without a big following: The exact 4 tactics we've used to generate over $810k (hint: it's not ads!)
Marketing: Our top eight tips to use podcasting to gain listeners, grow your your following and generate customers
Live Q & A chat box
Should You Take This Workshop?
Brand managers and marketers interested in using podcasting as a tactic to grow their business, enhance their overall marketing, drive leads, build credibility, authority and build stronger relationships with their audience
Current podcasters relying on ad revenue and sponsorships to make money
Influencers/solopreneurs looking for another revenue stream
Aspiring podcasters who want to make money off of their efforts
Sales people looking to grow their network, build authority and generate leads
Who This is Not For
People just looking for technical information on podcasting (we don't cover that in this 60 minute workshop, although we have other resources that do)
People who want to podcast strictly as a hobby with no intention of growing a following or making money off of their podcast
Podcasters already making over $10k/month in ad revenue (although I still think you'll pick up some new tactics and get your money worth from this)
Who You'll be Learning From
Richie Burke
Richie Burke is founder and CEO of GGMM (GoGeddit Marketing and Media) a marketing agency that helps brands including Trek Bicycle, Colliers International, Thrivent Financial, Komatsu, Marquette University and many more grow through services including podcast production and marketing, brand strategy and digital marketing. He is the co-founder of PodFest MKE and regularly speaks on digital marketing, storytelling and podcasting. He is also the host of The GoGedders Podcast, a local Milwaukee podcast which is syndicated by OnMilwaukee, has run over 100 episodes to date and generates 10k downloads per month.
Get Instant Webinar Access
If you want to stand out, build a following, add value to your target audience, generate leads and grow your bottom line all in the next 60 days. Make sure to sign up today to take advantage of this workshop and get a big leg up on your competition!
Investment: $25
Sign me up ($25.00) - credit card info will be taken on the next page
"We choose GGMM to help us develop the concept, produce the initial episodes and build a marketing strategy for our podcast. I've previously worked with many agencies large and small, but the team at GGMM combines the expertise of a podcast production company with the talent and insight of a professional marketing agency that made them stand out among the rest. They also bring an entrepreneurial energy that made them a pleasure to work with."
Chuck SwobodaMarquette University
"We decided to start a podcast as more and more of our audience is looking to podcasts as their preferred storytelling platform. GGGMM helped us with everything from technical aspects of recording and production to consulting with us on the launch, marketing, and long term content strategy. The GGMM team has done a great job of taking initiative on the project, adding creative ideas, being on top of deadlines and delivering a great end product."
Eric BjorlingTrek Bicycle
"For the last couple years, we were looking to break the mold with a new marketing strategy but were struggling with what that might look like. We met with several firms, but it wasn't until we met with Richie and GGMM that we finally found our answer. They understood our business (commercial real estate) and what was important to us (community engagement), and came up with a strategy that accomplished both through their Podcast offering. Equally important, they facilitated us through the process of concept and ideation, in addition to hosting the actual podcasts. It has been a huge success, and also came with the hidden benefit of supercharging our social media strategy. I would highly recommend GGMM!"
Lyle LandowskiColliers International WI
"As an award-winning publisher and digital agency, we know how to create voice, build community and find audience. But, we hadn't dove into the podcast creation world yet, and needed the right partner who would work collaboratively with us and push us to new areas. The GGMM team was just that... creative, nimble and energetic. They helped us launch "Foodcrush," and it's now become a staple in our media diet and a great extension for our business."
Jeff ShermanOnMilwaukee
© 2021 GGMM Webinar


text:
Netguardian
Nos communications netguardian
NOS Communications Builds A New Network On The NetGuardian 832A
Andrew Melton
Senior Director of Global Network Operations
NOS Communications, Inc.
If you were building an international long-distance network from the ground up, what kind of alarm monitoring would you choose? Andrew Melton of NOS Communications, Inc. had to make that choice. Because of his real-life operational experience with the unit, Melton chose the NetGuardian 832A.
Two years ago, NOS Communications decided to move in a new direction. For 15 years, NOS had been a successful reseller of long-distance phone service. Now they wanted to improve customer service and reliability by building its own network.
Within two years, NOS has built the backbone of its network, turning up Class 4 switches in Los Angeles, New York, and London. The company also operates sites in Las Vegas (its corporate headquarters), Cairo, Egypt, and El Segundo, California, the site of its Network Operations Center and engineering and support facilities.
The Challenge: Mediating Contact Closures to SNMP Traps
Andrew Melton, NOS Communications' Senior Director of Global Network Operations, is part of the team that is building the new network. Melton said that the NOS Class 4 switch sites hold a variety of equipment, all of which needs to be monitored.
"We have the Alcatel Megahub switches, we've got Fujitsu OC-48 multiplexers, we've got ONEAC UPS power units, NEC DS3 multiplexers, Cisco routers, Cisco switches and servers. The switches have no ability to communicate alarms over the network, so we needed some kind of monitoring device," Melton said.
Melton said his primary need was to mediate contact closure alarms from the switches and other site equipment into SNMP traps, to be forwarded to NOS Communications' SNMP manager "Our biggest need is taking the alarms out of the switch, the discrete-based points, converting them into SNMP traps, and then using those to set off a chain of notifications," Melton said.
Prior Experience with the NetGuardian 832A
Melton knows network alarm monitoring. Before coming to NOS Communications, Melton was Director of Engineering at Cypress Communications. "I was responsible for the design and implementation of our IP network. I then took over responsibility for the network operations center, monitoring the voice and IP networks."
Throughout its network, Cypress relied on the NetGuardian 832A - in fact, Cypress has the world's largest deployment of NetGuardians. "At Cypress, we had a couple of hundred NetGuardians. They'd mediate all the alarms going out of the equipment, plus temperature, power supply and commercial power status," said Melton.
Solution: NetGuardian Mediates Contact Closures to SNMP Traps and More
NetGuardian 832A: Mediates 32 contact closures,
32 ping alarms and
8 analog inputs to SNMP,
plus 8 control relays and
8 terminal server ports.
Based on Melton's experience at Cypress, the NetGuardian was his natural choice for monitoring NOS Communications' new long-distance carrier network.
"The NetGuardian does everything we need it to do. It has the ability to interface with all our equipment, whether it's a CSU/DSU or a Class 4 switch," said Melton.
"We use the NetGuardian as an SNMP mediator - it brings in contact closures, analogs and relays, translates them into something compatible with our IP network and integrate that into our SNMP network management system," Melton added.
NOS Communications also depends on the NetGuardian's advanced features like terminal server ports and ping alarms. "We need the NetGuardian's remote craft port access. It allows us to access equipment with one small device, where otherwise we would need modem lines or other elaborate ways of communicating. We also use the NetGuardian for pinging, to make sure IP devices are still up," Melton said.
NetGuardian Improvements Over Five Years
Melton's first experience with the NetGuardian was when Cypress installed its monitoring in 1999. He said he is impressed at how much the unit has improved in the past five years.
"The biggest difference I see is how much better the NetGuardian handles IP data. The addition of the network time server option, the NetGuardian's interaction network - it's a much more robust IP-layer device now than it was five years ago," said Melton.
Melton continued: "Once I've collected an alarm from the NetGuardian, I have many more options. I can generate email notifications directly from the Net Guardian, I can send text messages, I can do a lot more."
Melton learned even more about the NetGuardian's latest capacities when he recently attended DPS Factory Training. "The class was great. I've been using the NetGuardian for years, and there's so much it does that I never knew about. Already I'm thinking that there are things we need to start implementing: user-level access controls, security call-backs, and escalation lists.
Melton said his future monitoring plans are to add more NetGuardians as NOS Communications builds its network. "Right now we're going into London. We'll start providing service in other countries, and as we expand our global footprint, we'll put a NetGuardian in each of those locations," said Melton.
"I'd also like to see a better integration of the NetGuardians, maybe through T/Mon, so we can use a single platform in our NOC instead of having to go to each individual device," Melton continued.
NetGuardian: SNMP Traps, Email Notification and More.
Mediating contact closures to SNMP traps is just the start of the NEBS-certified NetGuardian 832A's capabilities. Get built-in email alarm notification ... access remote site equipment through terminal server ports ... learn everything the NetGuardian 832A can do for you.
See Full Specifications of the NetGuardian 832A


text:
Barrow Bookstore Rare & Gently-Read Books
War of Words: A True Tale of Newsprint and Murder, by Simon Read, hardcover (very good condition)
When the news business was literally a matter of life and death…
A real-life  Barbary Coast, War of Words details the bloody birth of the San Francisco Chronicle, when verbal blows traded between two of the town's most powerful men escalated into violence on the streets of 1880s San Francisco.
Gun-toting newspaper publisher Charles de Young won circulation wars by spilling ink that destroyed political candidates he didn't like—and Isaac Kalloch, a hellfire preacher whose lust for the ladies equaled his craving to be mayor, was an obvious target. First angry words flew, then bullets, when de Young ambushed Kalloch and shot him. Miraculously, Kalloch survived and won the election, only to see his son enact revenge on his behalf five months later by walking into the newsroom and fatally shooting de Young. The trial lasted 28 days, featured over 200 witnesses and made headlines coast to coast. The verdict? Not guilty, by reason of "justifiable homicide."
This sensational tale of sex, murder, and muckraking enthralled San Franciscans and is sure to captivate modern readers as well.
War of Words: A True Tale of Newsprint and Murder
BARROW BOOKSTORE
barrowbookstore@gmail.com
Mon. - Sat. 9:30 - 5
Sunday 12 - 4
Follow us on Facebook, Instagram, and YouTube
© 2020 by Barrow Bookstore


text:
Russian Ministry of Defence unveils new high-tech weaponry
By Anastassia Gliadkovskaya • Updated: 19/07/2018
The Russian Ministry of Defence has unveiled new video footage of what is claimed to be the world's most technologically-advanced strategic weaponry in existence.
President Putin originally unveiled the arsenal during his state of the nation address in Moscow back in March, calling it a response to the United States' withdrawal from the Anti-Ballistic Missile Treaty and its deployment of missiles to borders in close proximity to Russia.
One of the features of the arsenal is an intercontinental missile called Sarmat. As enumerated by Putin in his speech, Sarmat weighs over 200 tonnes, boasts a short boost phase--making it hard to intercept, is equipped with nuclear warheads, has practically no range restrictions, and can attack targets via both the North and South poles.
Russian teams have also devised a nuclear energy unit, Putin said, that can be installed inside Burevestnik, a missile that is "invincible" against all missile defence and counter-air defence systems. This low-flying global-range cruise missile, like Sarmat, is said to have a practically unlimited range, unpredictable trajectory while maintaining manoeuvrability, and thus, the ability to bypass interception boundaries. It was launched and tested in 2017.
In his address, Putin boasted that "no other country has developed anything like this" and by the time they do, "our guys will have come up with something even better".
Another development is a submersible vehicle known as Poseidon. It is quiet, highly manoeuvrable, and, according to the Ministry of Defence, basically unstoppable by all defence systems. Its nuclear power unit, though smaller than that of modern underwater missiles, can still reach its maximum capacity 200 times faster, according to Putin's announcement.
Kinzhal, or "dagger," is a hypersonic air-launched missile that is said to be able to travel 10 times faster than the speed of sound. In flight, it retains its manoeuvrability and can deliver both nuclear and conventional warheads at a range of over 2,000 kilometres.
Avangard, a glider-missile complex, is capable of intercontinental flight at supersonic speeds of 20 times faster than sound, according to the Ministry of Defence. Its manoeuvring capabilities allegedly make it nearly invulnerable to any missile defence systems. It can also withstand extremely high temperatures, its surface reaching, but not being affected by, up to 2,000 degrees Celsius in flight.
The most cryptic technology developed in the set is Peresvet, a combat laser complex. Its functions remain undisclosed. Personnel at Mozhaysky Military Space Academy are undergoing training with the technology.
In his speech, Putin highlighted that Russia's efforts to strengthen its military security do not violate any current arms control agreements and that "Russia's growing military strength is not a threat to anyone; we have never had any plans to use this potential for offensive, let alone aggressive goals".
It remains unknown when test trials will be fully completed or when these weapons will become fully operational.
Protesters detained by police in central Moscow at anti-mobilisation rally
Russia to build '12 new military bases in the west' in response to NATO expansion
Russia's new Ukraine weapon: What is a hypersonic missile?
BALLISTIC MISSILE MILITARY NUCLEAR WEAPONS


text:
benski Tuesday, 17 Nov 2015 at 2:42am
Very enlightening discussion. Thanks all.
sharkman Tuesday, 17 Nov 2015 at 8:32am
prothero wrote:
After reading all the background/backstory opinions what solutions can be enacted on to stop ISIL?
The fact that radicals of Islam have created the Caliphate of Daesh , and are using their new country to launch attacks on their enemies , and also attract other radicals , it seems logical to me that , we need to take out ISIL , with boots on the ground and every weapon that we can muster.
I can see American soldiers working with the Russians and use all resources at our disposal to exterminate ISIL ,in their new homeland.
France called ISIL's actions and act of war , well reciprocate!
gromfull Tuesday, 17 Nov 2015 at 9:18am
So sharkman you don't have problem with killing other humans yourself who are committing atrocities to other humans, but you are against humans killing sharks that are killings humans in an area that you dont live in ?
seal Tuesday, 17 Nov 2015 at 9:45am
Well said gromfull. Funny how hypocritical people can be, depending on the agenda they wish to push!
stunet Tuesday, 17 Nov 2015 at 9:53am
"Well said Gromfull"?
C'mon mate, that's playground-level debate conflating sharks with ISIL. Real under-18 shit.
Thanks Seal, now for the rants to be begin,
In this complex world that we all live in, i don't have answer to this, but the more revenge attacks that are carried out the more revenge attacks will happen, we need to stop going over and fighting a war that cannot be won,
I don't believe in radicalizing people, i believe they are just bad people / kids, they have that hatred in them, how and why they believe that killing people will make everything right is just crazy, how do we stop it, thats the million dollar question, but killing people to stop people killing people i dont think is the way to go
So you say, stu,
stunet Tuesday, 17 Nov 2015 at 10:01am
gromfull wrote:
Indeed I do. You can't piggyback one argument onto another
seal Tuesday, 17 Nov 2015 at 10:08am
Yes you're right Stu. Different thread sorry and we don't need to confuse the issue.
dandandan Tuesday, 17 Nov 2015 at 10:34am
sharkman]
[quote=southey
it seems logical to me that , we need to take out ISIL , with boots on the ground and every weapon that we can muster.
Seems logical. But what we do know with absolute certainty is that in the last three decades of global wars more civilians have been killed than combatants. In Vietnam as many as as 2 million innocent civilians were killed during a war that took about 1 million combatant lives. In Iraq, the US governments own data (obtained and released by Wikileaks), showed of the 109 032 deaths recorded, 66 081 were innocent civilians who were just trying to live a life, and only 23 984 were enemy combatants. Similar horrific ratios can be seen in the Afghanistan wars, the Chechen wars, fighting in Palestine and Israel, in Lebanon and in the prolonged drone strike campaign in Pakistan.
More recently, there have been credible estimates that the US led bombing of ISIS 'targets' (including or not including hospitals?) led to more than 450 civilian deaths, including 100 children. More than three times the number of innocent civilians killed in Paris. The same can be said of Russian led airstrikes, that so many in Australia praised, and even sites such as "The Lad Bible" supported for it's bravery and decisiveness in going after ISIS. I am sure everybody somehow sees this as acceptable, as somehow necessary, an unfortunate part of war.
Fxxk that. Nobody who sees their children blown to pieces by a foreign fighter jet would see it that way. Almost no Australians have ever seen such horror play out in front of them, almost no Australian has ever had a foreign power drop a bomb on their neighborhood under the guise of promoting peace. And if that ever did happen in Australia, you can sure as hell guarantee that anybody who lived through such unspeakable terror would not be thankful to players like the USA, France, Russia and Australia for blowing their lives to pieces. The wars in the Middle East have destroyed millions of lives.. and for what? What price has Australia paid for playing its part? Three Australian soldiers died in preventable accidents in the Iraq war... but how many people did Australians contribute to killing, and how many of them deserved it? It's pretty clear that Australia as a nation has payed almost no price for it's war games and we continue to believe that it is our moral duty to stomp on in to conflicts and join other allied forces in the killing. It's barbaric and pointless.
It beggars belief that people who live such quiet peaceful lives in Australia feel they could throw support behind a war when we know that it will kill many thousands more Mums, Dad, Grandparents and kids than will ever be killed in our own country. We know that more civilians will die than fighters. We have all seen films such as Collateral Damage that show how indiscriminately modern soldiers will blow innocent people to pieces - including children fro crying out loud, and with such glee. And now people are advocating that the only way to bring piece to Syria is to stomp on in and do the same thing again.
sharkman Tuesday, 17 Nov 2015 at 11:02am
Triple D , so whats your solution to ISIL , they just threatened Washington , and the rest of the World with more bombings and shooting of innocents?
Yes there is always collateral damage in wars , but at the moment without troops on the ground its just bomb away and hope that a few of the targets get hit.
I few don't do something about them , well how many more innocents will die over the next decade?
freeride76 Tuesday, 17 Nov 2015 at 11:18am
Dandandan I totally agree with your assessment but IS is clearly of an order of savagery far greater than anything hitherto seen.....does the international community just sit back and allow them to control territory, rape and enslave minorities and people of different faiths, behead innocents indiscriminately? Obama already tried that approach and look how quickly the problem metastasized.
Seems to me, if we allowed a moral case for war in the case of clear evil like the Nazis regime then we have at least a clear enough moral imperative in the case of IS.
It's a fucking diabolical dilemma. Humpty Dumpty has fallen off the wall in the MIddle East.
It's a damming assessment of both religion and any conception of a God you care to name and human evolution, that in the cradle of civilisation there's been a reversion to savagery in the name of God.
It's the reasoning that Sharkman employed that is in the dock here.
He claimed people wanting a management program for sharks were operating out of fear and irrationality and yet his approach to IS could be construed exactly the same way.
It's clear to me that sharks pose far more of an existential threat to me, my family and community than ISIS so according to the reasoning of Sharkman all out war would be an appropriate response.
tonybarber Tuesday, 17 Nov 2015 at 11:19am
@dandan...ok, so the world just stops and let's the ISIS roll along. Sure war is ugly, bad and we all love to live in peace. But what ISIS is doing is something not seen for hundreds of years - simply barbaric. The recent massacres in Tikrit had nothing to do with borders established by the west - pure genocide.
To let this continue would be complicit in its support of killing, rape and genocide of anyone who does not support their view.
sharkman wrote:
That is hardly true. Collateral damage does not just happen in wars. That's a phrase we use in Australia and America to shield ourselves from the fact that our soldiers are responsible for killing innocent people. How many Australians have died as collateral damage? Are the French who recently died collateral damage? Honestly ask yourself: are you more moved by 140 French lives being lost than the 450 Syrian civilians lost in recent US air strikes? I think all Australians truthfully know that they are not.
You ask yourself how many more innocents are to die at the hands of ISIL? The answer is many hundreds and if not thousands less than will die at the hands of Allied forces should we go into an all out war in Syria. But sure enough, how many Syrian innocents are you prepared to give up to destroy ISIL? It's already well into the high hundreds, if not thousands, as a result of American, French and Russian airstrikes. How many more? 66 000+ were killed in Iraq, is that an acceptable number for you?
ISIL are threatening to kill more innocents, though we know their capacity to do so is limited.. Meanwhile you know that many innocents will die (sorry, collateral damage) at the hands of Allied troops on the ground, and you're all for it. How are you justifying this to yourself?
Pleased to see that there are some with humanity. Agree freeride.
sypkan Tuesday, 17 Nov 2015 at 11:23am
excellent post above dandandan, all of them in fact
sharkman you should read southeys article
I don't have the answers either but tbe west needs to stop this sel frighteous arrogance that we are fighting evil, so a little collateral damage is ok.
our opponents believe they are fighting evil as well, and tbey have the advantage of believing it more wholeheartedly than we do. the death and destruction of innocent people and neighborhoods around you can only strengthen that belief, which is why people are so eager to join the good fight
there is no right and wrong, no good and evil, just opinions
Intention.
ISIS clearly intends to kill, rape and enslave innocents. That is the very heart of their moral, political and practical methodology.
The west, while it undoubtedly does kill innocents is trying to avoid that and when it does happen, perpetrators are held to account.
Can you see a moral difference there Dan, because I sure can.
With respect I find that kind of moral relativism quite frightening.
prothero Tuesday, 17 Nov 2015 at 11:57am
The Big Mufti of Oz was quoted as saying that the terror attacks were due to certain 'causative factors'....
............."It is therefore imperative that all causative factors such as racism, Islamophobia, curtailing freedoms through securitisation, duplicitous foreign policies and military intervention must be comprehensively addressed', Grand Mufti of Australia.
ill timed divisive words I feel , Another prominent Muslim in Oz Dr Jamal Rifi, a prominent Muslim community leader in Sydney, said the aim of the attacks was to create terror and fear.
"To actually pull us apart and widen any fractured lines that exist. The Grand Muftis comments are not helping
southey Tuesday, 17 Nov 2015 at 11:58am
Dan x 3 ( Stu ) ?!?
If your going to quote let quotes be used can we make sure they don't bastardise the initial text .
I know its NOT on purpose , but it makes me look more stupid than i already am. ;-)
PTH , they are still nutbags , its just that i was pointing out that they are deeply religious nutbags .
Don't get me wrong , encourage and have crazy blood thirsty ideologues in their warring parties , and this is what has drawn in more disenfranchised foreign fighters . Its just that the power / heads of this organisation are setting themselves up from an old deep seated Religious stance .
The fact that they allow Christians to live to pay for the priviledge of not being attacks proves that they are calculating . Don't forget that this also provides them with a " Human shield " of innocents .
SO they are killing other non conforming Muslims ?! This looks to me more of a fascist dictatorship , where Mohammad and more so his early " disciples " are the leader .
BTW , The Iranian leader will always strongly condemn IS , he's Shia , they are Sunnii .
The only handle i can put on it is like trying to compare a devout Irish /Spanish Catholic to a Seven Day Adventist / Hillsong / lighthouse group .
PS .
The guy that gave me the link to that article is the most traveled / knowledgable guy i know .
He's a surfer , ex soldier , now diplomat " of sorts " . And has spent alot of time in the Middle East , ( not just as a soldier ) , Indonesia , Africa , Phillipines etc ..... I trust his opinion on this matter .
talkingturkey Tuesday, 17 Nov 2015 at 12:13pm
"It beggars belief that people who live such quiet peaceful lives in Australia feel they could throw support behind a war when we know that it will kill many thousands more Mums, Dad, Grandparents and kids than will ever be killed in our own country. We know that more civilians will die than fighters. We have all seen films such as Collateral Damage that show how indiscriminately modern soldiers will blow innocent people to pieces - including children fro crying out loud, and with such glee. And now people are advocating that the only way to bring piece to Syria is to stomp on in and do the same thing again."
Seriously, unless you're French or related, this will be forgotten by most Aussies next week or so. You'll be able to colour your facebook profile with something else. UNLESS. WE JUMP IN. BOOTS N ALL. AND KILL SOME PEOPLE OVER THERE. NOW.
Then wait for some little shits over here looking for some man-points and meaning in their lives shoot up a McDonalds. Or stab a couple of coppers.
We'll all give a real shit then.
Solution. Fuckem all, stay out of there, and let god sort it out? Close up the borders to everyone that's muslim that's trying to get in? And kick some muslim arse in the outer suburbs of Melbs & Sydney?
Wait for it all to blow itself out?
Rwanda was a bugger. Cambodia worse. That's some A grade barbarity.
Colonial cuntries reaping what they sew. What's it to us? Crickets on.
Don't mention the war.
Sheepdog Tuesday, 17 Nov 2015 at 12:29pm
(Yawn)....... Firstly, Osama Bin wobbygong hasn't declared a caliphate...Any anyone stupid enough to go surfing by themselves at 6.30 at night and then expect millions of non surfing taxpayers to fork our spon' so others can continue being idiots beggars belief.....
But back to the war.....
Some of the stuff being spewed forth by self labelled experts like Murray, Bolt, and other right wing nutters beggars belief... But its' the same with the left..... It's fairly obvious that by being surrounded by morons, this whole situation is not going to end well.... I'm no expert, but it aint that hard to look at "stuff"..
The golden rule of journalism is "what, where, when, who, how, why"...... "Why" is being covered like a joke... The left says "oooh it's us blaming islam".... The right says "oooh it's islam".... No.... It's meddling in peoples shit.... For money... For power... For control...
The question, "Why"?? That's a damn fine question......Well, does anyone here have the cognitive brain power to analyse? I hope so..
To start, lets take a quote from a bald american... Dr Phil - " You can't fix what you don't acknowledge"... So let's acknowledge "Why" properly......
This whole shit fight started with "dodgy" intelligence", which Tony Blair recently publicly apologized for.... That "dodgy intelligence" is the start of all this.. It's the real reason "why".. Iraq war 2....
We, the west, invaded Iraq via this "dodgy intelligence" about WMD's.... They even got Colin Powell to wave a test tube around at the U.N, saying it was full of anthrax........ Yep, just casually walk into the U.N with a tube of anthrax in your hand - enough to kill the whole city if he was to slip , fall, and break the tube.........But the morons of the world believe the hollywood stunt..
Anyhooooooo, Saddam is executed, Bush stands in front of a sign saying "mission accomplished".... A gammon puppet election is held in Iraq.. Bush puts a nasty shiite in control... His name was/is Ayad Allawi...... Alawi goes around slaughtering sunnis... he massacres a reported 200 000 sunnis...... That's a lot of Frances..........Now if you could picture external forces coming to Australia, executing our Pm plus many more in both Labor and the Coalition, then putting in a puppet government, then that government goes around slaughtering 200000 us, would we lose our shit??? Yes.... We would lose our shit... So, understandably, the sunnis lost their shit..... They formed what they consider to be a rebel force.. It morphed into ISIS...
At the same time, a gas pipeline is in the wings, which involves having to be built through Syria... America, Russia etc all want "in" re' this pipeline which will power Europe.. But Assad plays hard ball.... Usa arms rebels, wanting Assad out... Some of these rebels are involved in the horror going on back in iraq, where those brutalized sunnis had formed "ISIS" and start fighting back against the puppet government WE helped install....
So WE are complicit in this horror... This is WHY countries currently bombing Syria are being attacked by terror cells... And I'll say it again till it boots it,; There's no attacks in countries not participating in this shocking mess - China- no attacks, Switzerland- no attacks, Ireland - no attacks, Brazil - no attacks (over 1 million muslims in Brazil).... The list goes on...
So a Dr Phil would say, "you can't fix what you don't acknowledge..... And all these ch9 "inside the mind of a jihadist" crap doco's, or Waleeds "it's our bigotry", or Bolts "it's the illegals" isnt going to change a damn thing....
Acknowledge the real reasons why... Accept some of the responsibility...Treat these dastardly acts as war crimes and not terrorism... And we might get through this deliberate fog created by many...
For those more interested, google "Syria pipeline", or "pipelineistan"..
dandandan Tuesday, 17 Nov 2015 at 12:39pm
"The west, while it undoubtedly does kill innocents is trying to avoid that and when it does happen, perpetrators are held to account.
Can you see a moral difference there Dan, because I sure can"
I definitely can. And in cases of dropping bombs on homes and putting bullets through bodies, it is ultimately meaningless. And who exactly has been held to account for killing civilians?
The soldiers featured in the Collateral Murder video, that showed them indiscriminately slaying innocent civilians, journalists, and shooting up a car that contained children, from the safety of a drone were not held to account. In fact, the US Army laid the blame on the innocent people who were killed. On the other hand, the bloke that released the video to the world has been put in jail for 35 years. Morality wins!
Did they mean to kill innocents? Nope. Did this misplaced idea of acceptable collateral damage, American and Western superiority, and their own morality enable them and others to excuse them of their actions? You betcha it did. One of the soldiers who arrived on the scene shortly after the helicopter had slain them said this:
"One guy's head was off, the top of his head was completely off and his brains were on the ground and the smell, the smell still haunts me every day. I don't know how to describe it."
Do you think issues of morality mattered to that guy as his head was coming off? That his family feels any better knowing that it was an accident? That the soldiers in a helicopter who were so anxious to start shooting at him thought he had a gun that turned out to be a camera?
In 2008 when the US bombed a wedding party in Deh Bala, 47 people were killed, mostly women and children including the bride. Three bombs were dropped, the first directly into a group of children, the second into the group of women, the third to round up those that had tried to flee. Though 47 innocent women and children were blown to pieces, their families could only identify and gather enough body parts for 26 graves. Do you think the husbands and fathers of those people give two sh*ts about morality?
The slop is just as slippery when not everybody you kill is an innocent victim. The Wech Baghtu wedding bombings killed 26 insurgets. But it also killed 37 innocent women and children. Worth it? Who decides? What moral reasoning backs that up?
Nobody was disciplined in any of the three incidents. And as the civilian casualties as a result of US bombs continue, it appears nothing has changed either. One of the survivors of one of the bombings spoke to a journalist years later. He lost two sons, a sister and his wife to US bombs. He clearly does not care about issues of morality and said something along the lines of: 'for as long as I live, I will never ever forgive America, they have taken everything from me". Only those doing the killing care about morality.
freeride76 Tuesday, 17 Nov 2015 at 12:37pm
Doggy, just to correct a misleading piece of error that has been repeated as fact: Sam Morgan wasn't surfing alone as reported. There was the usual crowd of 5/6 people surfing N.Wall.
Also, taxpayers fund both the NSW and QLD shark control programs.
As to your why, it goes a helluva lot further back than that mate, although our meddling in the ME and Iraq invasion certainly didn't help matters.
Did you read the Atlantic piece about ISIS? Anyone seeking to understand ISIS without a clear-eyed view of religious ideology is not even seeing half the picture.
Attempts to paint these guys as mere opportunists are nothing but western naiivety.(sp)
freeride76 Tuesday, 17 Nov 2015 at 1:01pm
Dan again, I see exactly what you are saying but is it really better to leave them to the ravages of homicidal extremists?
I mean, is that really a moral choice we can make so easily?
What if the west had done that with Nazi Germany, as many wanted to do. Give Europe to Germany, and make their accomodations with the Nazis. That was a real live option.
If it had happened, many, many people would have had their lives saved. Millions of innocent people saved from the horror of war.
But to do so we would have sacrificed the jews and other minorities, who would have been systematically and methodically exterminated.
Can we really do the same to the minorities of the ME: just offer them as sacrifices to ISIS in the interests of (hopefully) saving lives. And would it even save lives in the long run, having this homicidal regime given tacit acceptance by the west?
Of course war is horror. But the choice here isn't between war and peace. It's between war and unending and systematic horror and totalitarian state sanctioned murder.
Maybe the current tactic: destabilising ISIL with air strikes and then having local KUrdish peshmerga forces re-take territory from IS just might be the least worst of a whole bunch of diabolical options.
@sheepdog, I like your thinking. You reckon the Paris thing was even ISIL? Secret Services have done some weird shit in the past.
As for fundamentalists (of all stripes)...no FUN, plenty of MENTAL...religion is poison.
ISIL Caliphate? Is that like Fundy joints like Iran (post Shah and still kicking) or Talibanite Afghanistan (yay! we won!?) Or our mates the Saudis?
Cool your jets, boys. This ain't the nazis or soviets or japs. Or even North Korea. If it is, I vote for Pauline or her old sparring partner '10 to the power of 10 flags' Tony.
sharkman Tuesday, 17 Nov 2015 at 1:05pm
Free76 , 2 totally different scenarios.
one is man made ,being the radicalization of Islam to a point where the world community is threatened.
The other is nature trying to refind its balance , and to try and equate sharks to IS members is a bit of a long stretch ,to say the least!
seal Tuesday, 17 Nov 2015 at 1:07pm
Thank you freeride and to add further, although it's the wrong thread, the attack happened closer to 6 than 6.30pm ADST which, by my approximation, is still afternoon not night (daylight saving time) on a bright sunny afternoon. That day there had been quite a few more than normal surfing, due to good banks and the first real good waves enticing people back after the last attack (up to 25 at one stage) with closer to 10 on the wall still out when attack happened. Fact.
Media and others like to distort things for their own agendas just like whats happening in the Middle East, France and anywhere else that reporters are involved. So please, if you know the truth of the matter state the facts, if not, maybe state it's in your opinion only and others might not regurgitate mistruths causing harm to the ones involved.
Back to Oz. Sharks and Muslims. We got rogue operators or are there too many and they're all out to get us (us, being true blue sons of the surf. Oh, and chicks)?
What to do, Australia? Killem all, let god sort it out? Put up barriers? Scare the fuckers off? Learn what the fuck is going on and why, through thinking and stuff? Then get government to act accordingly? Forget about it and get on with the business at hand?
SURFING!
Well, whats your take on what the fuck is going on and why TT, and what our Govt should do about it.
Hang on , let me get the popcorn, this is going to be good.
how am I justifying collateral damage??
All wars have big loss of civilian life , and so far Australia and the USA have dished out the killing of civilians in Iraq etc , I think it was 600K civilians in Iraq , and we as Australians are responsible!
I think you fail to see the millions of Syrian refugees , the thousands of civilians already killed in Syria , and no plan to stop it.
you say because ISIL are only killing thousands , and if we went to a ground war there would be a lot more , so is your plan to stop ISIL , just hope they don't kill too many??
Ohh of course it goes back a lot further FR.... Right back to ww1... But This current "isis chapter" fiasco stems from the west once again removing leaders it doesn't like, and installing dogs that always bite the hands that supposedly fed them.. eg - gadaffi/libya - hasn't that turned into a turdfight too..
As far as osama bin wobbygong goes, well, I know your opinion, you know mine lol.... We'll respectfully agree to disagree on that one.... But cheers on the "not surfing alone" at 6.30pm... Still doesn't change my mind... Cheers, big ears...
indo-dreaming Tuesday, 17 Nov 2015 at 1:43pm
The thing that makes me question this kind of stuff is, if they are going to go to all this trouble to pull this false flag crap off do you really think they are going to do things that are so suss?
I mean they would have endless resources and some of the smartest people in these areas that would look over every tiny detail.
Im trying to keep an open mind and was reading around as much as i could last night on the net the pros and cons for these theories, sometimes things do seem suss and seem unbelievable but unlikely shit does happen and often there is simple explanations.
Yeah, ISIS conducted a terrorist attack. Couldn't be simpler.
or you could say that ISIS declared war on all the countries that are involved in the containment of ISIS.
War ,has such a nice ring to it!!
Cool your jets, boys. This ain't the nazis or soviets. Or even North Korea. If it is, I vote for Pauline or her old sparring partner '10 to the power of 10 flags' Tony.
ISIL for sure.... No doubt..... But the passport thing is suss..... REAL suss...
I'm just glad the French president called it an "act of war"..... He didn't hide behind the "grey shroud" that is "terrorism"..... By saying it is an act of war, he concedes France is in a war.... France joined in the bombing of Syria 6 weeks ago.... Now just like ww2, there were "covert operations behind enemy lines"..... And Isis/Isil, whatever you want to call them, will consider this a "covert operation behind enemy lines"....
When our politicians use the word "terrorism", it subconsciously makes people think we are a totally innocent bystander in all of this.... "I was terrorized"....... But if we were to do what the straight up front French President is doing, calling it an act of war, the populace all of a sudden realize that we are PARTICIPATING in a middle east war....... People will look at the situation differently.... "War?.. Are we at war??????? I didn't know we were at war!!!!!!"........And people will see that the attacks on us are for a reason, as insidious as they may be...... We can then address these covert attacks on civilians as WAR CRIMES.... If ISIS was a noble bunch, which they aren't, they would not attack women and children, but instead direct their covert attacks towards parliament houses, or military bases, or political meetings, or strategic targets..... yes, "colateral damage" may occur, but they could then at least have a frogs hair worth of moral ground to stand on...
So i think we should start calling this for what it is, a war... Not terrorism.... And when ISIS do the soft target stuff, call them out.... Call them out as cowards who haven't got the balls to attack our strategic targets..... Yes, our drones and our bombs have killed Syrian innocents... Yes, we must admit we are part of the whole fuck up, BIG TIME.... But we don't DELIBERATELY go to bomb innocent civilians.. From what i can gather, we do our best to target ISIS..... And of course they use human shields when we are doing so..... Therein is the difference.... ISIS deliberately target innocents... We don't.....
Whatever way you look at it, it's fucked...
Way, way further back SD. Try the crusades. The critical Sunni-Shia sectarian divide dates back to the time of Mohammed himself and a dispute over his rightful successor.
Anyone thinking we can historically ring fence this thing and date it to the start of western meddling is historically myopic.
This has long been a cradle of different faiths and beliefs and unfortunately, conflict.
sypkan Tuesday, 17 Nov 2015 at 2:15pm
but who bombed who first?
not that simple really
@P76, you mean sharks or muslims? or both?
Both are forces of nature, but I'll stick to the muslims.
First up, don't go over there AGAIN killing people. Apart from the anzackery biscuits, can't see what it ever gets us. Past/present/future. Unless you equate the ISIL boys now with the japs in WWII, why get involved?
As for the young Aussie wannabes here? If they want to macho-up, and get gangster and shit, get the youth involved in the boy scouts or bike gangs or something. Same same, but without the ice.
As for the fundamental religion angle for these youngsters? Out of all the 'isms', past and present, consumer capitalism has really leached the meaning out of our collective lives. When you're a kid and you haven't chucked in the towel (or if you prefer 'grown up'), then fundamental black n white, my way or the highway, thinking and living can be a quite attractive blueprint. Hardcore. Talking the talk and walking the walk. Tie it in with masculinity and persecution issues, and you get western useful idiots going all the way with Abu Bakr al-Baghdadi Kool J.
As for the actual ISIL dudes? And other 'true believers'? Of all stripes? Fundamentalists Everywhere Abusing Religion? False Evidence Appearing Real? Fuckwits Exalting Ayn Rand?
F.E.A.R is the key.
So endeth the leshon
Then you're going back to Cain and Abel, or apes fighting for territory of a water hole.
We haven't really evolved as much as we think we have, despite the fancy computers.
Well we are already there. So you think we should just get out and leave ISIS and the MIddle East to it?
If a few tens of thousands of religious minorities get raped, slaughtered and enslaved then that's a collateral damage we are happy to know about in advance and live with.
I know there's no easy answers but that is one outcome we can be sure of.
are you talking the royal 'we'? The brotherhood of western 'we'? I'm talking about us, true blue, dinky di Aussies, maaaate. That 'we'. WE are there 'cos??
SheepD…maybe useful to have a look at this Wiki link. How reliable it is … don't know.
Not a good look for those that believe or trust Islam.
so TT whats different about the brotherhood of western, we, and a dinky di Aussie mate @paulinehanson .com?
Well, I'd say the fundamentalist Hansonite would have more in common with the fundamentalist muslim ISIL-ite, myself.
Anyway, Sharkbiscuit, any thoughts on why we are involved in this ME shit again? Going in boots n all, balls deep?
How are we helping OURSELVES here (face it, it's all that matters, yeah?)
oh the irony for the bogans!
Yes, FR, but most places were pretty brutal places re ancient history..... During the 1800, things had calmed down (to an extent) in the ottomans..... But with the industrial revolution, the invention of the oil driven motor, and vast amounts of oil in this meeting/ trading point of 3 lands, the middle east once again became the flash point....
So really, turmoil in the middle east can be separated into 2 time zones.. i'm talking about the 2 nd time zone, the one that involves the control of oil....... The first time zone is what i suppose I would call the "gatekeeper" time..... If one was to look at a world map, you'd see the 3 "great regions".... Africa to the south, The far east - India, China etc, and Europe.....All 3 had different raced people.... All 3 had different goods to trade...... We're talking Marco polo, Sinbad etc.......The middle east was the gateway to all 3 lands....... Sea travel was very dangerous... But by passing through the middle east on land, traders could get their goods to whichever place they wanted....... So whoever controled that piece of land called the middle east, well, it was like THE prime real estate to own for a gatekeeper, for a skimmer or trader..... No wonder it was the "chosen" land, right?........ ;)
prothero Tuesday, 17 Nov 2015 at 4:11pm
Thats a lot o bombing, over a number of years, ...........


text:
Photo of Steven Rainwater obtained by the Atlanta Police Department.
Cops seek Atlanta man accused of pistol-whipping friend over dispute
Becca J. G. Godwin, The Atlanta Journal-Constitution
A 51-year-old Atlanta man charged with aggravated assault was recently added to the Atlanta Police Department's "Most Wanted" list.
An officer spoke with a "very upset" man with bandages on his head standing by an ambulance in the 1000 block of Birch Street, according to an Aug. 2 incident report. The man told police he had gotten into an argument with his friend, Steven Rainwater.
Rainwater allegedly struck the man with a gun twice and then pointed it at him.
MORE: Atlanta felon sentenced for shootout after demanding man's watch
MORE: Suspect charged with stabbing man during downtown fight wanted by APD
The victim said he'd been staying with Rainwater for about three days because he is homeless, and would stay at a shelter that night, the report said. He told police he went to high school with Rainwater, and had known him for more than 20 years.
The report did not include information about why the two men were allegedly fighting.
APD asks the public to alert police if they know Rainwater's whereabouts. Crime Stoppers Atlanta can be reached at 404-577-8477, and the Atlanta Police Department Fugitive Unit can be reached at 404-546-4220.
Like Intown Atlanta News Now on Facebook | Follow us on Twitter
The victim's mother said she only wants answers, and no violent retaliation.


text:
Червоний Пекоріно — червоний сицилійський сир, його в Сицилії ще називають пікуріну руссу — це сир з овечого молока, пасти філати, вироблених в Сицилії.

Виробництво традиційної сицилійської кухні, як такої було офіційно визнано та включено в список продуктів харчування традиційної італійської кухні (A. P. T), Міністерства сільського Господарства, Продовольства та Лісового господарства.
В Італії інші сири називаються так само як у Франції, так і на Сардинії. На відміну від червоного сицилійського пекоріно, який носить назву приправи, він виготовляється з томатного соусу, простого овечого молока, до якого додається шафран або перець чилі під час виробництва.

Особливості
Назва походить від унікальної риси червоного пекоріно, його потрібно натирати з приправою і оливковою олією, з томатним соусом, який надає йому типовий червоний колір. Обробка сиру проводиться вручну, починаючи з самої форми, коли сиру ще близько двох місяців, коли він ніжний і свіжий. Змішують оливкову олію і томатний соус, покриваючи ним сир, це створює захисний шар сиру, і в такому стані з червоною кіркою сир дозріває. Цей процес передбачає мінімальний первинний процес дозрівання даного виду сиру.

Примітки

Посилання
  На Вікісховищі є медіафайли по темі Червоний пекоріно

 Про сирах сорти пекоріно  на сайті Pasto.ru

Італійські сири
Сицилійська кухня
Сири з овечого молока

redpajama_set_name: RedPajamaWikipedia


Hello, it's me - is how it started. By the end, there was no way you could love Adele even more. It was a long overdue karaoke carpool for the two British born lads, but the wait was so worth it.
Sometimes these awards shows can just drag on and on. Although this years VMA's were quite exciting, you've got to love the performances. Let's look at the best performances.
This year Miley Cyrus got the honour of hosting the 2015 VMA Awards. The show which hasn't had a host for two years, was actually one of the most entertaining of all time.


Donated to the association by SSRA President - Major (Retired) Peter Martin, MBE, in 2012.
Awarded to an individual who is nominated by their club or discipline organiser, for any 'unfortunate misdemeanour' - nothing too serious, honestly. If there was a category in shooting for 'Out-Takes' or 'Bloopers' then this award would belong in that category.
The recipient of The Wooden Spoon is decided by the Staffordshire Smallbore Rifle Association, with the Wooden Spoon being presented at the Staffordshire Combined Open Meeting.
2014 Major (Retired) Peter Martin, MBE - City of Birmingham 2015 J. Kemp – Rugeley R.C.
The above photograph shows SSRA Chairman - Richard Tilstone (pictured right), presenting the Wooden Spoon to Peter Dean (pictured left).
The above photograph shows SSRA President - Major (Retired) Peter Martin MBE, pictured left - presenting the Wooden Spoon to Gordon Abbotts, pictured right.
The above photograph shows Mary Jennings, pictured left, presenting the Wooden Spoon to Brian Parker, pictured right.
The above photograph shows SSRA President - Major (Retired) Peter Martin, MBE, pictured left, receiving The Wooden Spoon for 2014 from SSRA Chairman - Richard Tilstone.
The above photographs show SSRA President - Major (Retired) Peter Martin, MBE., announcing I. Leigh as being the recipient of The Wooden Spoon for 2013.


text:
yaml schema validator

See [the documentation](http://dhh1128.github.io/yaval/).

redpajama_set_name: RedPajamaGithub


QUESTION: Because we can see Catholic doctrines & dogmas seemingly make their appearances at various Councils, did the Church make them up?
This seems to be the school of thought among many non-believers; however, it simply is not true.
Virtually all Catholic doctrine is found in the earliest writings of the Church Fathers. All that Jesus did & said (as Holy Scripture indicates) couldn't possibly be held within the accounts in the Bible. And we are told in Scripture to follow not only what was written, but also what was passed on verbally…similar to the age-old Jewish oral tradition. In part that made tremendous sense, since the Bible was not canonized until much later.
The oral teachings of Christ were passed down to the apostles, who in turn taught the next line of bishops & priests, who in turn taught the next, until a Church father wrote the teachings down and, subsequently, made official via a Church Council. One example is the writings of St. Justine Martyr, who around 150 AD wrote and explained how the believers worshiped. His account is a beautiful description of what remains completely intact today as the Holy Catholic Mass.
What becomes confusing is that since all doctrine that was followed in practice was later formally declared in Church councils (primarily due to new heretical thought that crept in, such as Arianism), it gives the appearance of materializing out of nowhere as a new teaching. That couldn't be further from the truth. It's not that the councils were bringing in New doctrine in answer to the heresies. Instead, they were stating existing doctrine that had been handed down, understood, and practiced since the time of Christ. In other words, a formal declaration of what already existed. A huge example of this is the Nicene Creed.
So if you are ever confronted by someone claiming that the Catholic Church created doctrine as they went along, ask that person to consider reading the writings from the earliest Church fathers in the 1st Century and onward.