text:
(function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@jridgewell/sourcemap-codec'), require('@jridgewell/resolve-uri')) :
    typeof define === 'function' && define.amd ? define(['exports', '@jridgewell/sourcemap-codec', '@jridgewell/resolve-uri'], factory) :
    (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.traceMapping = {}, global.sourcemapCodec, global.resolveURI));
})(this, (function (exports, sourcemapCodec, resolveUri) { 'use strict';

    function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }

    var resolveUri__default = /*#__PURE__*/_interopDefaultLegacy(resolveUri);

    function resolve(input, base) {
        // The base is always treated as a directory, if it's not empty.
        // https://github.com/mozilla/source-map/blob/8cb3ee57/lib/util.js#L327
        // https://github.com/chromium/chromium/blob/da4adbb3/third_party/blink/renderer/devtools/front_end/sdk/SourceMap.js#L400-L401
        if (base && !base.endsWith('/'))
            base += '/';
        return resolveUri__default["default"](input, base);
    }

    /**
     * Removes everything after the last "/", but leaves the slash.
     */
    function stripFilename(path) {
        if (!path)
            return '';
        const index = path.lastIndexOf('/');
        return path.slice(0, index + 1);
    }

    const COLUMN = 0;
    const SOURCES_INDEX = 1;
    const SOURCE_LINE = 2;
    const SOURCE_COLUMN = 3;
    const NAMES_INDEX = 4;
    const REV_GENERATED_LINE = 1;
    const REV_GENERATED_COLUMN = 2;

    function maybeSort(mappings, owned) {
        const unsortedIndex = nextUnsortedSegmentLine(mappings, 0);
        if (unsortedIndex === mappings.length)
            return mappings;
        // If we own the array (meaning we parsed it from JSON), then we're free to directly mutate it. If
        // not, we do not want to modify the consumer's input array.
        if (!owned)
            mappings = mappings.slice();
        for (let i = unsortedIndex; i < mappings.length; i = nextUnsortedSegmentLine(mappings, i + 1)) {
            mappings[i] = sortSegments(mappings[i], owned);
        }
        return mappings;
    }
    function nextUnsortedSegmentLine(mappings, start) {
        for (let i = start; i < mappings.length; i++) {
            if (!isSorted(mappings[i]))
                return i;
        }
        return mappings.length;
    }
    function isSorted(line) {
        for (let j = 1; j < line.length; j++) {
            if (line[j][COLUMN] < line[j - 1][COLUMN]) {
                return false;
            }
        }
        return true;
    }
    function sortSegments(line, owned) {
        if (!owned)
            line = line.slice();
        return line.sort(sortComparator);
    }
    function sortComparator(a, b) {
        return a[COLUMN] - b[COLUMN];
    }

    let found = false;
    /**
     * A binary search implementation that returns the index if a match is found.
     * If no match is found, then the left-index (the index associated with the item that comes just
     * before the desired index) is returned. To maintain proper sort order, a splice would happen at
     * the next index:
     *
     * ```js
     * const array = [1, 3];
     * const needle = 2;
     * const index = binarySearch(array, needle, (item, needle) => item - needle);
     *
     * assert.equal(index, 0);
     * array.splice(index + 1, 0, needle);
     * assert.deepEqual(array, [1, 2, 3]);
     * ```
     */
    function binarySearch(haystack, needle, low, high) {
        while (low <= high) {
            const mid = low + ((high - low) >> 1);
            const cmp = haystack[mid][COLUMN] - needle;
            if (cmp === 0) {
                found = true;
                return mid;
            }
            if (cmp < 0) {
                low = mid + 1;
            }
            else {
                high = mid - 1;
            }
        }
        found = false;
        return low - 1;
    }
    function upperBound(haystack, needle, index) {
        for (let i = index + 1; i < haystack.length; index = i++) {
            if (haystack[i][COLUMN] !== needle)
                break;
        }
        return index;
    }
    function lowerBound(haystack, needle, index) {
        for (let i = index - 1; i >= 0; index = i--) {
            if (haystack[i][COLUMN] !== needle)
                break;
        }
        return index;
    }
    function memoizedState() {
        return {
            lastKey: -1,
            lastNeedle: -1,
            lastIndex: -1,
        };
    }
    /**
     * This overly complicated beast is just to record the last tested line/column and the resulting
     * index, allowing us to skip a few tests if mappings are monotonically increasing.
     */
    function memoizedBinarySearch(haystack, needle, state, key) {
        const { lastKey, lastNeedle, lastIndex } = state;
        let low = 0;
        let high = haystack.length - 1;
        if (key === lastKey) {
            if (needle === lastNeedle) {
                found = lastIndex !== -1 && haystack[lastIndex][COLUMN] === needle;
                return lastIndex;
            }
            if (needle >= lastNeedle) {
                // lastIndex may be -1 if the previous needle was not found.
                low = lastIndex === -1 ? 0 : lastIndex;
            }
            else {
                high = lastIndex;
            }
        }
        state.lastKey = key;
        state.lastNeedle = needle;
        return (state.lastIndex = binarySearch(haystack, needle, low, high));
    }

    // Rebuilds the original source files, with mappings that are ordered by source line/column instead
    // of generated line/column.
    function buildBySources(decoded, memos) {
        const sources = memos.map(buildNullArray);
        for (let i = 0; i < decoded.length; i++) {
            const line = decoded[i];
            for (let j = 0; j < line.length; j++) {
                const seg = line[j];
                if (seg.length === 1)
                    continue;
                const sourceIndex = seg[SOURCES_INDEX];
                const sourceLine = seg[SOURCE_LINE];
                const sourceColumn = seg[SOURCE_COLUMN];
                const originalSource = sources[sourceIndex];
                const originalLine = (originalSource[sourceLine] || (originalSource[sourceLine] = []));
                const memo = memos[sourceIndex];
                // The binary search either found a match, or it found the left-index just before where the
                // segment should go. Either way, we want to insert after that. And there may be multiple
                // generated segments associated with an original location, so there may need to move several
                // indexes before we find where we need to insert.
                const index = upperBound(originalLine, sourceColumn, memoizedBinarySearch(originalLine, sourceColumn, memo, sourceLine));
                insert(originalLine, (memo.lastIndex = index + 1), [sourceColumn, i, seg[COLUMN]]);
            }
        }
        return sources;
    }
    function insert(array, index, value) {
        for (let i = array.length; i > index; i--) {
            array[i] = array[i - 1];
        }
        array[index] = value;
    }
    // Null arrays allow us to use ordered index keys without actually allocating contiguous memory like
    // a real array. We use a null-prototype object to avoid prototype pollution and deoptimizations.
    // Numeric properties on objects are magically sorted in ascending order by the engine regardless of
    // the insertion order. So, by setting any numeric keys, even out of order, we'll get ascending
    // order when iterating with for-in.
    function buildNullArray() {
        return { __proto__: null };
    }

    const AnyMap = function (map, mapUrl) {
        const parsed = typeof map === 'string' ? JSON.parse(map) : map;
        if (!('sections' in parsed))
            return new TraceMap(parsed, mapUrl);
        const mappings = [];
        const sources = [];
        const sourcesContent = [];
        const names = [];
        recurse(parsed, mapUrl, mappings, sources, sourcesContent, names, 0, 0, Infinity, Infinity);
        const joined = {
            version: 3,
            file: parsed.file,
            names,
            sources,
            sourcesContent,
            mappings,
        };
        return exports.presortedDecodedMap(joined);
    };
    function recurse(input, mapUrl, mappings, sources, sourcesContent, names, lineOffset, columnOffset, stopLine, stopColumn) {
        const { sections } = input;
        for (let i = 0; i < sections.length; i++) {
            const { map, offset } = sections[i];
            let sl = stopLine;
            let sc = stopColumn;
            if (i + 1 < sections.length) {
                const nextOffset = sections[i + 1].offset;
                sl = Math.min(stopLine, lineOffset + nextOffset.line);
                if (sl === stopLine) {
                    sc = Math.min(stopColumn, columnOffset + nextOffset.column);
                }
                else if (sl < stopLine) {
                    sc = columnOffset + nextOffset.column;
                }
            }
            addSection(map, mapUrl, mappings, sources, sourcesContent, names, lineOffset + offset.line, columnOffset + offset.column, sl, sc);
        }
    }
    function addSection(input, mapUrl, mappings, sources, sourcesContent, names, lineOffset, columnOffset, stopLine, stopColumn) {
        if ('sections' in input)
            return recurse(...arguments);
        const map = new TraceMap(input, mapUrl);
        const sourcesOffset = sources.length;
        const namesOffset = names.length;
        const decoded = exports.decodedMappings(map);
        const { resolvedSources, sourcesContent: contents } = map;
        append(sources, resolvedSources);
        append(names, map.names);
        if (contents)
            append(sourcesContent, contents);
        else
            for (let i = 0; i < resolvedSources.length; i++)
                sourcesContent.push(null);
        for (let i = 0; i < decoded.length; i++) {
            const lineI = lineOffset + i;
            // We can only add so many lines before we step into the range that the next section's map
            // controls. When we get to the last line, then we'll start checking the segments to see if
            // they've crossed into the column range. But it may not have any columns that overstep, so we
            // still need to check that we don't overstep lines, too.
            if (lineI > stopLine)
                return;
            // The out line may already exist in mappings (if we're continuing the line started by a
            // previous section). Or, we may have jumped ahead several lines to start this section.
            const out = getLine(mappings, lineI);
            // On the 0th loop, the section's column offset shifts us forward. On all other lines (since the
            // map can be multiple lines), it doesn't.
            const cOffset = i === 0 ? columnOffset : 0;
            const line = decoded[i];
            for (let j = 0; j < line.length; j++) {
                const seg = line[j];
                const column = cOffset + seg[COLUMN];
                // If this segment steps into the column range that the next section's map controls, we need
                // to stop early.
                if (lineI === stopLine && column >= stopColumn)
                    return;
                if (seg.length === 1) {
                    out.push([column]);
                    continue;
                }
                const sourcesIndex = sourcesOffset + seg[SOURCES_INDEX];
                const sourceLine = seg[SOURCE_LINE];
                const sourceColumn = seg[SOURCE_COLUMN];
                out.push(seg.length === 4
                    ? [column, sourcesIndex, sourceLine, sourceColumn]
                    : [column, sourcesIndex, sourceLine, sourceColumn, namesOffset + seg[NAMES_INDEX]]);
            }
        }
    }
    function append(arr, other) {
        for (let i = 0; i < other.length; i++)
            arr.push(other[i]);
    }
    function getLine(arr, index) {
        for (let i = arr.length; i <= index; i++)
            arr[i] = [];
        return arr[index];
    }

    const LINE_GTR_ZERO = '`line` must be greater than 0 (lines start at line 1)';
    const COL_GTR_EQ_ZERO = '`column` must be greater than or equal to 0 (columns start at column 0)';
    const LEAST_UPPER_BOUND = -1;
    const GREATEST_LOWER_BOUND = 1;
    /**
     * Returns the encoded (VLQ string) form of the SourceMap's mappings field.
     */
    exports.encodedMappings = void 0;
    /**
     * Returns the decoded (array of lines of segments) form of the SourceMap's mappings field.
     */
    exports.decodedMappings = void 0;
    /**
     * A low-level API to find the segment associated with a generated line/column (think, from a
     * stack trace). Line and column here are 0-based, unlike `originalPositionFor`.
     */
    exports.traceSegment = void 0;
    /**
     * A higher-level API to find the source/line/column associated with a generated line/column
     * (think, from a stack trace). Line is 1-based, but column is 0-based, due to legacy behavior in
     * `source-map` library.
     */
    exports.originalPositionFor = void 0;
    /**
     * Finds the source/line/column directly after the mapping returned by originalPositionFor, provided
     * the found mapping is from the same source and line as the originalPositionFor mapping.
     *
     * Eg, in the code `let id = 1`, `originalPositionAfter` could find the mapping associated with `1`
     * using the same needle that would return `id` when calling `originalPositionFor`.
     */
    exports.generatedPositionFor = void 0;
    /**
     * Iterates each mapping in generated position order.
     */
    exports.eachMapping = void 0;
    /**
     * Retrieves the source content for a particular source, if its found. Returns null if not.
     */
    exports.sourceContentFor = void 0;
    /**
     * A helper that skips sorting of the input map's mappings array, which can be expensive for larger
     * maps.
     */
    exports.presortedDecodedMap = void 0;
    /**
     * Returns a sourcemap object (with decoded mappings) suitable for passing to a library that expects
     * a sourcemap, or to JSON.stringify.
     */
    exports.decodedMap = void 0;
    /**
     * Returns a sourcemap object (with encoded mappings) suitable for passing to a library that expects
     * a sourcemap, or to JSON.stringify.
     */
    exports.encodedMap = void 0;
    class TraceMap {
        constructor(map, mapUrl) {
            this._decodedMemo = memoizedState();
            this._bySources = undefined;
            this._bySourceMemos = undefined;
            const isString = typeof map === 'string';
            if (!isString && map._decodedMemo)
                return map;
            const parsed = (isString ? JSON.parse(map) : map);
            const { version, file, names, sourceRoot, sources, sourcesContent } = parsed;
            this.version = version;
            this.file = file;
            this.names = names;
            this.sourceRoot = sourceRoot;
            this.sources = sources;
            this.sourcesContent = sourcesContent;
            const from = resolve(sourceRoot || '', stripFilename(mapUrl));
            this.resolvedSources = sources.map((s) => resolve(s || '', from));
            const { mappings } = parsed;
            if (typeof mappings === 'string') {
                this._encoded = mappings;
                this._decoded = undefined;
            }
            else {
                this._encoded = undefined;
                this._decoded = maybeSort(mappings, isString);
            }
        }
    }
    (() => {
        exports.encodedMappings = (map) => {
            var _a;
            return ((_a = map._encoded) !== null && _a !== void 0 ? _a : (map._encoded = sourcemapCodec.encode(map._decoded)));
        };
        exports.decodedMappings = (map) => {
            return (map._decoded || (map._decoded = sourcemapCodec.decode(map._encoded)));
        };
        exports.traceSegment = (map, line, column) => {
            const decoded = exports.decodedMappings(map);
            // It's common for parent source maps to have pointers to lines that have no
            // mapping (like a "//# sourceMappingURL=") at the end of the child file.
            if (line >= decoded.length)
                return null;
            return traceSegmentInternal(decoded[line], map._decodedMemo, line, column, GREATEST_LOWER_BOUND);
        };
        exports.originalPositionFor = (map, { line, column, bias }) => {
            line--;
            if (line < 0)
                throw new Error(LINE_GTR_ZERO);
            if (column < 0)
                throw new Error(COL_GTR_EQ_ZERO);
            const decoded = exports.decodedMappings(map);
            // It's common for parent source maps to have pointers to lines that have no
            // mapping (like a "//# sourceMappingURL=") at the end of the child file.
            if (line >= decoded.length)
                return OMapping(null, null, null, null);
            const segment = traceSegmentInternal(decoded[line], map._decodedMemo, line, column, bias || GREATEST_LOWER_BOUND);
            if (segment == null)
                return OMapping(null, null, null, null);
            if (segment.length == 1)
                return OMapping(null, null, null, null);
            const { names, resolvedSources } = map;
            return OMapping(resolvedSources[segment[SOURCES_INDEX]], segment[SOURCE_LINE] + 1, segment[SOURCE_COLUMN], segment.length === 5 ? names[segment[NAMES_INDEX]] : null);
        };
        exports.generatedPositionFor = (map, { source, line, column, bias }) => {
            line--;
            if (line < 0)
                throw new Error(LINE_GTR_ZERO);
            if (column < 0)
                throw new Error(COL_GTR_EQ_ZERO);
            const { sources, resolvedSources } = map;
            let sourceIndex = sources.indexOf(source);
            if (sourceIndex === -1)
                sourceIndex = resolvedSources.indexOf(source);
            if (sourceIndex === -1)
                return GMapping(null, null);
            const generated = (map._bySources || (map._bySources = buildBySources(exports.decodedMappings(map), (map._bySourceMemos = sources.map(memoizedState)))));
            const memos = map._bySourceMemos;
            const segments = generated[sourceIndex][line];
            if (segments == null)
                return GMapping(null, null);
            const segment = traceSegmentInternal(segments, memos[sourceIndex], line, column, bias || GREATEST_LOWER_BOUND);
            if (segment == null)
                return GMapping(null, null);
            return GMapping(segment[REV_GENERATED_LINE] + 1, segment[REV_GENERATED_COLUMN]);
        };
        exports.eachMapping = (map, cb) => {
            const decoded = exports.decodedMappings(map);
            const { names, resolvedSources } = map;
            for (let i = 0; i < decoded.length; i++) {
                const line = decoded[i];
                for (let j = 0; j < line.length; j++) {
                    const seg = line[j];
                    const generatedLine = i + 1;
                    const generatedColumn = seg[0];
                    let source = null;
                    let originalLine = null;
                    let originalColumn = null;
                    let name = null;
                    if (seg.length !== 1) {
                        source = resolvedSources[seg[1]];
                        originalLine = seg[2] + 1;
                        originalColumn = seg[3];
                    }
                    if (seg.length === 5)
                        name = names[seg[4]];
                    cb({
                        generatedLine,
                        generatedColumn,
                        source,
                        originalLine,
                        originalColumn,
                        name,
                    });
                }
            }
        };
        exports.sourceContentFor = (map, source) => {
            const { sources, resolvedSources, sourcesContent } = map;
            if (sourcesContent == null)
                return null;
            let index = sources.indexOf(source);
            if (index === -1)
                index = resolvedSources.indexOf(source);
            return index === -1 ? null : sourcesContent[index];
        };
        exports.presortedDecodedMap = (map, mapUrl) => {
            const clone = Object.assign({}, map);
            clone.mappings = [];
            const tracer = new TraceMap(clone, mapUrl);
            tracer._decoded = map.mappings;
            return tracer;
        };
        exports.decodedMap = (map) => {
            return {
                version: 3,
                file: map.file,
                names: map.names,
                sourceRoot: map.sourceRoot,
                sources: map.sources,
                sourcesContent: map.sourcesContent,
                mappings: exports.decodedMappings(map),
            };
        };
        exports.encodedMap = (map) => {
            return {
                version: 3,
                file: map.file,
                names: map.names,
                sourceRoot: map.sourceRoot,
                sources: map.sources,
                sourcesContent: map.sourcesContent,
                mappings: exports.encodedMappings(map),
            };
        };
    })();
    function OMapping(source, line, column, name) {
        return { source, line, column, name };
    }
    function GMapping(line, column) {
        return { line, column };
    }
    function traceSegmentInternal(segments, memo, line, column, bias) {
        let index = memoizedBinarySearch(segments, column, memo, line);
        if (found) {
            index = (bias === LEAST_UPPER_BOUND ? upperBound : lowerBound)(segments, column, index);
        }
        else if (bias === LEAST_UPPER_BOUND)
            index++;
        if (index === -1 || index === segments.length)
            return null;
        return segments[index];
    }

    exports.AnyMap = AnyMap;
    exports.GREATEST_LOWER_BOUND = GREATEST_LOWER_BOUND;
    exports.LEAST_UPPER_BOUND = LEAST_UPPER_BOUND;
    exports.TraceMap = TraceMap;

    Object.defineProperty(exports, '__esModule', { value: true });

}));
//# sourceMappingURL=trace-mapping.umd.js.map

redpajama_set_name: RedPajamaGithub


text:
South Pole Station
by Ashley Shelby
Winner of the Lascaux Prize in Fiction
One of The Millions' Most Anticipated Books of the Year • A New York Times Book Review Editors' Choice • Named a Best Book of the Year by Shelf Awareness and One of the Best Environmental Fiction Books of the Year by Earther
A warmhearted comedy of errors set in the world's harshest place, Ashley Shelby's South Pole Station is a wry and witty debut novel about the courage it takes to band together when everything around… (more)
A warmhearted comedy of errors set in the world's harshest place, Ashley Shelby's South Pole Station is a wry and witty debut novel about the courage it takes to band together when everything around you falls apart.
Do you have digestion problems due to stress? Do you have problems with authority? How many alcoholic drinks to you consume a week? Would you rather be a florist or a truck driver?
These are some of the questions that determine if you have what it takes to survive at South Pole Station, a place with an average temperature of -54°F and no sunlight for six months a year. Cooper Gosling has just answered five hundred of them. Her results indicate she is abnormal enough for Polar life.
Cooper's not sure if this is an achievement, but she knows she has nothing to lose. Unmoored by a recent family tragedy, she's adrift at thirty and—despite her early promise as a painter—on the verge of sinking her career. So she accepts her place in the National Science Foundation's Artists & Writers Program and flees to Antarctica, where she encounters a group of misfits motivated by desires as ambiguous as her own. The only thing the Polies have in common is the conviction that they don't belong anywhere else. Then a fringe scientist arrives, claiming climate change is a hoax. His presence will rattle this already-imbalanced community, bringing Cooper and the Polies to the center of a global controversy and threatening the ancient ice chip they call home.
Fiction Literary American and Canadian literature
$ 40.00 For EPUB 52 loans, 2 years, 1 at a time
52 loans 1 loans 2 years 59 days
Editorial reviews (1 review)
NPR : 'South Pole Station' Takes A Cool Look At A Hot Topic (July 04, 2017)
In this unusual, entertaining first novel, Ashley Shelby combines science with literature to make a clever case for scientists' and artists' shared conviction that "the world could become known if only you looked hard enough."
Literary / American and Canadian literature
Publisher: Picador (July 03, 2017)
Collection: Picador
English literature >
American and Canadian literature

redpajama_set_name: RedPajamaCommonCrawl


text:
Professor Valerie O'Donnell
Director, Division of Infection and Immunity & Co-Director of Systems Immunity Research Institute
o-donnellvb@cardiff.ac.uk
Tenovus Institute
Our research uses mass spectrometry to discover and characterise new lipids (fats) made by circulating vascular cells that regulate immune defence and blood clotting.
Recently we showed that human blood platelets generate a large number of oxidized phospholipids several of which help clotting factors in plasma work more effectively. We also uncovered a new role for phospholipases in providing energy to the cell and how lipids in different people respond individually to aspirin (http://www.cardiff.ac.uk/news/view/264589-understanding-the-bodys-response-to-aspirin)
Our current research is focused on understanding the role of new lipids in vascular inflammation including cardiovascular disease, dementia and wound healing. Some lipids we discovered are being developed as the basis of new treatments for bleeding excess. Other lipids we showed are anti-inflammatory are being developed as treatments for vascular inflammation, licensed to Complexa Inc, and with a $62M Series C funding investment in 2016 (https://www.cardiff.ac.uk/news/view/910011-turning-lipids-research-into-new-drugs)
In 2016, the Wellcome Trust funded a £1.3M 5 yr initiative led by our group jointly with Babraham Institute, Cambridge, and University of California San Diego to fund continuation and further development of LIPID MAPS, the global online database and resource for lipid research (http://www.cardiff.ac.uk/news/view/380752-new-funding-boosts-lipidomics-research).
Research in our group is funded by grants from the European Research Council, Wellcome Trust, British Heart Foundation, Royal Society and Medical Research Council.
1993 PhD Bristol University, Biochemistry
1990 BSc, University of Dublin, Trinity College, Human Nutrition and Dietetics
Royal Society Wolfson Research Merit Awardee (2017)
ERC Advanced Investigator (2015-)
Honorary Professor, Faculty of Medicine, University of the Republic, Montevideo, since 2008.
Marie Curie Excellence Award (EU), Brussels, March 2008
Wellcome Trust University Award, Cardiff University, 2002-2007
Iron Bolt Award, Gordon Research Conference on Oxygen Radicals, 2004
Wellcome Trust RCD Fellow, Cardiff University, 1999-2002
Parker B Francis Pulmonary Fellow, University of Alabama at Birmingham, 1997-1999
European Union Marie Curie Fellow, University of Berne, Switzerland, 1995-1996
Fellow of the Learned Society of Wales, April 2015-
Fellow of the Royal Society of Biology, June 2013-
Committees and reviewing
-Member, Population and Systems Medicine Board, Medical Research Council, 2016-2018
-Deputy Chair Medical Research Council Non-Clinical Training and Career Development Panel Oct 2014-Mar 2016.
-Wellcome Trust, Member of Biomedical Resources Grant Committee (April 2015-)
-Wellcome Trust Peer Review College, Sept 2012-2015
-NISCHR Health Grants Panel, Welsh Assembly Government, July 2012 – July 2014
-Medical Research Council Non-Clinical Training and Career Development Panel Apr 2012-Mar 2014.
Doll, S.et al. 2019. FSP1 is a glutathione-independent ferroptosis suppressor. Nature (10.1038/s41586-019-1707-0)
Gallagher, H.et al. 2019. Dihimo-γ-linolenic acid inhibits several key cellular processes associated with atherosclerosis. BBA - Molecular Basis of Disease 1865(9), pp. 2538-2550. (10.1016/j.bbadis.2019.06.011)
Hinz, C.et al. 2019. A comprehensive UHPLC ion mobility QTOF method for profiling and quantification of eicosanoids, other oxylipins and fatty acids. Analytical Chemistry 91(13), pp. 8025-8035. (10.1021/acs.analchem.8b04615)
Kornilov, A.et al. 2019. Revising the structure of a new eicosanoid from human platelets to 8,9-11,12-diepoxy-13- hydroxy-eicosadienoic acid. Journal of Biological Chemistry 294, pp. 9225-9238. (10.1074/jbc.RA119.008915)
Allen-Redpath, K.et al. 2019. Phospholipid membranes drive abdominal aortic aneurysm development through stimulating coagulation factor activity. Proceedings of the National Academy of Sciences 116(16), pp. 8038-8047. (10.1073/pnas.1814409116)
Evans, R. J.et al. 2019. 15-keto-prostaglandin E₂ activates host peroxisome proliferator-activated receptor gamma (PPAR-γ) to promote Cryptococcus neoformans growth during infection. PLoS Pathogens 15(3), article number: e1007597. (10.1371/journal.ppat.1007597)
O'Donnell, V.et al. 2019. Enzymatically-oxidized phospholipids assume center-stage as essential regulators of innate immunity and cell death. Science Signaling 12(574), article number: eaau2293. (10.1126/scisignal.aau2293)
O'Donnell, V.et al. 2019. LIPID MAP: Serving the next generation of lipid researchers with tools, resources, data and training. Science Signaling 12(563), article number: eaaw2964. (10.1126/scisignal.aaw2964)
Vliet, A. v. d.et al. 2018. Rust never sleeps: the continuing story of the Iron Bolt. Free Radical Biology and Medicine 124, pp. 353-357. (10.1016/j.freeradbiomed.2018.06.017)
Fahy, E.et al. 2018. LipidFinder on LIPID MAPS: peak filtering, MS searching and statistical analysis for lipidomics. Bioinformatics 35(4), pp. 685-687., article number: bty679. (10.1093/bioinformatics/bty679)
O'Donnell, V., Rossjohn, J. and Wakelam, M. J. O. 2018. Phospholipid signaling in innate immune cells. The Journal of Clinical Investigation 128(7), pp. 2670-2679. (10.1172/JCI97944)
Freeman, B. A., O'Donnell, V. B. and Schopfer, F. J. 2018. The discovery of nitro-fatty acids as products of metabolic and inflammatory reactions and mediators of adaptive cell signaling. Nitric Oxide: Biology and Chemistry 77, pp. 106-111. (10.1016/j.niox.2018.05.002)
Slatter, D.et al. 2018. Enzymatically-oxidized phospholipids restore thrombin generation in coagulation factor deficiencies. JCI Insight 3(6), article number: e98459. (10.1172/jci.insight.98459)
Walker, J.et al. 2018. Aspirin: 120 years of innovation. A report from the 2017 Scientific Conference of the International Aspirin Foundation, 14 September 2017, Charité, Berlin. ecancermedicalscience 12, article number: 813. (10.3332/ecancer.2018.813)
Aldrovandi, M.et al. 2018. Specific oxygenation of plasma membrane phospholipids by Pseudomonas aeruginosa lipoxygenase induces structural and functional alterations in mammalian cells. Biochimica et Biophysica Acta Molecular and Cell Biology of Lipids 1863(2), pp. 152-164. (10.1016/j.bbalip.2017.11.005)
O'Donnell, V. B. 2018. Gus Born: scientific reflections of later years, inspiring the next generation of blood researchers. Platelets 29(8), pp. 763-765. (10.1080/09537104.2018.1534948)
Zhao, J.et al. 2017. Preferential Generation of 15-HETE-PE Induced by IL-13 Regulates Goblet Cell Differentiation in Human Airway Epithelial Cells. American Journal of Respiratory Cell and Molecular Biology 57(6) (10.1165/rcmb.2017-0031OC)
Lauder, S.et al. 2017. Networks of enzymatically oxidized membrane lipids support calcium-dependent coagulation factor binding to maintain hemostasis. Science Signaling 10(507), article number: eaan2787. (10.1126/scisignal.aan2787)
Lue, H.et al. 2017. Metabolic reprogramming ensures cancer cell survival despite oncogenic signaling blockade. Genes and Development 31, pp. 2067-2084. (10.1101/gad.305292.117)
Uderhardt, S.et al. 2017. Enzymatic lipid oxidation by eosinophils propagates coagulation, hemostasis and thrombotic disease. Journal of Experimental Medicine 214(7), pp. 2121-2138. (10.1084/jem.20161070)
O'Donnell, V. B. and Murphy, R. C. 2017. Directing eicosanoid esterification into phospholipids. Journal of Lipid Research 58(5), pp. 837-839. (10.1194/jlr.C075986)
O'Connor, A.et al. 2017. LipidFinder: a computational workflow for discovery of lipids identifies eicosanoid-phosphoinositides in platelets. JCI Insight 2(7), pp. e91634. (10.1172/jci.insight.91634)
Aldrovandi, M.et al. 2017. DioxolaneA3-phosphatidylethanolamines are generated by human platelets and stimulate neutrophil integrin expression. Redox Biology 11, pp. 663-672. (10.1016/j.redox.2017.01.001)
Lauder, S. N.et al. 2017. Myeloid 12/15-LOX regulates B cell numbers and innate immune antibody levels in vivo. Wellcome Open Research 2(1) (10.12688/wellcomeopenres.10308.1)
Heurich-Sevcenco, M.et al. 2016. Thrombomodulin enhances complement regulation through strong affinity interactions with factor H and C3b-Factor H complex. Thrombosis Research 145, pp. 84-92. (10.1016/j.thromres.2016.07.017)
Stokes, C. A.et al. 2016. Human rhinovirus-induced inflammatory responses are inhibited by phosphatidylserine containing liposomes. Mucosal Immunology 9(5), pp. 1303-1316. (10.1038/mi.2015.137)
Liao, C.et al. 2016. IL-10 differentially controls the infiltration of inflammatory macrophages and antigen-presenting cells during inflammation. European Journal of Immunology 46(9), pp. 2222-2232. (10.1002/eji.201646528)
Chiba, T.et al. 2016. The precise structures and stereochemistry of trihydroxy-linoleates esterified in human and porcine epidermis and their significance in skin barrier function: Implication of an epoxide hydrolase in the transformations of linoleate. Journal of Biological Chemistry 291(28), pp. 14540-14544. (10.1074/jbc.M115.711267)
Hinz, C.et al. 2016. Human platelets utilize cycloxygenase-1 to generate dioxolane A3, a neutrophil activating eicosanoid. Journal of Biological Chemistry 291(26), pp. 13448-13464. (10.1074/jbc.M115.700609)
Bascoul-Colombo, C.et al. 2016. Dietary DHA supplementation causes selective changes in phospholipids from different brain regions in both wild type mice and the Tg2576 mouse model of Alzheimer's disease. Biochimica et Biophysica Acta (BBA) - Molecular and Cell Biology of Lipids 1861(6), pp. 524-537. (10.1016/j.bbalip.2016.03.005)
Slatter, D.et al. 2016. Mapping the human platelet lipidome reveals cytosolic phospholipase A2 as a regulator of mitochondrial bioenergetics during activation. Cell Metabolism 23(5), pp. 930-944. (10.1016/j.cmet.2016.04.001)
Jones, V.et al. 2016. Role of Ep2 and Ep4 receptors in airway microvascular leak induced by prostaglandin E2. British Journal of Pharmacology 173(6), pp. 992-1004. (10.1111/bph.13400)
Freeman, P.et al. 2015. Changes in platelet function independent of pharmacotherapy following coronary intervention in non-ST-elevation myocardial infarction patients. Atherosclerosis 243(1), pp. 320-327. (10.1016/j.atherosclerosis.2015.09.024)
McCully, M. L.et al. 2015. Skin metabolites define a new paradigm in the localization of skin tropic memory T cells. The Journal of Immunology 195(1), pp. 96-104. (10.4049/jimmunol.1402961)
Percy, C. L.et al. 2015. Correcting thrombin generation ex vivo using different haemostatic agents following cardiac surgery requiring the use of cardiopulmonary bypass. Blood Coagulation and Fibrinolysis 26(4), pp. 357-367. (10.1097/MBC.0000000000000243)
Ravi, S.et al. 2015. Metabolic plasticity in resting and thrombin activated platelets. PLoS ONE 10(4), article number: e0123597. (10.1371/journal.pone.0123597)
Morgan, A. H.et al. 2015. A novel role for 12/15-lipoxygenase in regulating autophagy. Redox Biology 4, pp. 40-47. (10.1016/j.redox.2014.11.005)
Mathie, S. A.et al. 2014. Alveolar macrophages are sentinels of murine pulmonary homeostasis following inhaled antigen challenge. Allergy 70(1), pp. 80-89. (10.1111/all.12536)
Friedmann Angeli, J. P.et al. 2014. Inactivation of the ferroptosis regulator Gpx4 triggers acute renal failure in mice. Nature Cell Biology 16(12), pp. 1180-1194. (10.1038/ncb3064)
Rosas, M.et al. 2014. The transcription factor Gata6 links tissue macrophage phenotype and proliferative renewal. Science 344(6184), pp. 645-648. (10.1126/science.1251414)
Fielding, C. A.et al. 2014. Interleukin-6 signaling drives fibrosis in unresolved inflammation. Immunity 40(1), pp. 40-50. (10.1016/j.immuni.2013.10.022)
O'Donnell, V., Murphy, R. C. and Watson, S. P. 2014. Platelet lipidomics: modern day perspective on lipid discovery and characterization in platelets. Circulation Research 114(7), pp. 1185-1203. (10.1161/CIRCRESAHA.114.301597)
Thomas, C. P.et al. 2014. Identification and quantification of aminophospholipid molecular species on the surface of apoptotic and activated cells. Nature Protocols 9(1), pp. 51-63. (10.1038/nprot.2013.163)
Aldrovandi, M.et al. 2013. Human platelets generate phospholipid-esterified prostaglandins via cyclooxygenase-1 that are inhibited by low dose aspirin supplementation. Journal of Lipid Research 54(11), pp. 3085-3097. (10.1194/jlr.M041533)
Pauling, J. D., O'Donnell, V. B. and Mchugh, N. J. 2013. The contribution of platelets to the pathogenesis of Raynaud's phenomenon and systemic sclerosis. Platelets 24(7), pp. 503-515. (10.3109/09537104.2012.719090)
Bonilla, L.et al. 2013. Regulation of protein kinase C by nitroarachidonic acid: impact on human platelet activation. Archives of Biochemistry and Biophysics 533(1-2), pp. 55-61. (10.1016/j.abb.2013.03.001)
Clark, S. R.et al. 2013. Characterization of platelet aminophospholipid externalization reveals fatty acids as molecular determinants that regulate coagulation. Proceedings of the National Academy of Sciences of the United States of America 110(15), pp. 5875-5880. (10.1073/pnas.1222419110)
Moideen, A. N.et al. 2013. Characterization of enzymes involved in nicotinamide adenine dinucleotide biosynthesis in rheumatoid arthritis synovium and cytokine-stimulated synovial fibroblasts [Abstracts]. Rhuematology 52(s1), pp. 138-139.
Aldrovandi, M. and O'Donnell, V. B. 2013. Oxidized PLs and vascular inflammation. Current Atherosclerosis Reports 15(5), pp. 1989-1996., article number: 323. (10.1007/s11883-013-0323-y)
Hammond, V. J.et al. 2012. Novel keto-phospholipids are generated by monocytes and macrophages, detected in cystic fibrosis, and activate peroxisome proliferator-activated receptor-γ. Journal of Biological Chemistry 287(50), pp. 41651-41666. (10.1074/jbc.M112.405407)
Hammond, V. J. and O'Donnell, V. B. 2012. Esterified eicosanoids: generation, characterization and function. Biochimica et Biophysica Acta - Biomembranes 1818(10), pp. 2403-2412. (10.1016/j.bbamem.2011.12.013)
Reynolds, S. L.et al. 2012. Contractile, but not endothelial, dysfunction in early inflammatory arthritis: a possible role for matrix metalloproteinase-9. British Journal of Pharmacology 167(3), pp. 505-514. (10.1111/j.1476-5381.2012.01988.x)
O'Donnell, V. B. and Murphy, R. C. 2012. New families of bioactive oxidized phospholipids generated by immune cells: Identification and signaling actions. Blood 120(10), pp. 1985-1992. (10.1182/blood-2012-04-402826)
Thomas, C. P. and O'Donnell, V. B. 2012. Oxidized phospholipid signaling in immune cells. Current Opinion in Pharmacology 12(4), pp. 471-477. (10.1016/j.coph.2012.02.013)
Taylor, P. R.et al. 2012. Development of myeloproliferative disease in 12/15-lipoxygenase deficiency [Letter]. Blood 119(25), pp. 6173-6174. (10.1182/blood-2012-02-410928)
O'Donnell, V. B. 2011. Mass spectrometry analysis of oxidized phosphatidylcholine and phosphatidylethanolamine. Biochimica et Biophysica Acta - Molecular and Cell Biology of Lipids 1811(11), pp. 818-826. (10.1016/j.bbalip.2011.07.018)
Lauder, S. N.et al. 2011. Paracetamol reduces influenza-induced immunopathology in a mouse model of infection without compromising virus clearance or the generation of protective immunity. Thorax 66(5), pp. 368-374. (10.1136/thx.2010.150318)
Guschina, I.et al. 2011. Lipid classes and fatty acid patterns are altered in the brain of γ-synuclein null mutant mice. Lipids 46(2), pp. 121-130. (10.1007/s11745-010-3486-0)
Ruge, F.et al. 2011. Delineating immune-mediated mechanisms underlying hair follicle destruction in the mouse mutant defolliculated. Journal of Investigative Dermatology 131(3), pp. 572-579. (10.1038/jid.2010.379)
Zhao, J.et al. 2011. 15-Lipoxygenase 1 interacts with phosphatidylethanolamine-binding protein to regulate MAPK signaling in human airway epithelial cells. Proceedings of the National Academy of Sciences of the United States of America 108(34), pp. 14246-14251. (10.1073/pnas.1018075108)
Trostchansky, A.et al. 2011. Nitroarachidonic Acid, a Novel Peroxidase Inhibitor of Prostaglandin Endoperoxide H Synthases 1 and 2. Journal of Biological Chemistry 286(15), pp. 12891-12900. (10.1074/jbc.M110.154518)
Clark, S. R.et al. 2011. Esterified eicosanoids are acutely generated by 5-lipoxygenase in primary human neutrophils and in human and murine infection. Blood 117(6), pp. 2033-2043. (10.1182/blood-2010-04-278887)
Thomas, C. P.et al. 2010. Phospholipid-esterified eicosanoids are generated in agonist-activated human platelets and enhance tissue factor-dependent thrombin generation. Journal of Biological Chemistry 285(10), pp. 6891-6903. (10.1074/jbc.M109.078428)
Morgan, A. H.et al. 2010. Quantitative assays for esterified oxylipins generated by immune cells. Nature Protocols 5(12), pp. 1919-1931. (10.1038/nprot.2010.162)
Ivanov, I.et al. 2010. Molecular enzymology of lipoxygenases. Archives of biochemistry and biophysics 503(2), pp. 161-174. (10.1016/j.abb.2010.08.016)
Morgan, L. T.et al. 2010. Thrombin-activated human platelets acutely generate oxidized docosahexaenoic-acid-containing phospholipids via 12-lipoxygenase. Biochemical Journal 431(1), pp. 141-148. (10.1042/BJ20100415)
Tull, S. P.et al. 2009. Omega-3 fatty acids and inflammation: novel interactions reveal a new step in neutrophil recruitment. PLoS Biology 7(8), article number: e1000177. (10.1371/journal.pbio.1000177)
Rubbo, H., Trostchansky, A. and O'Donnell, V. B. 2009. Peroxynitrite-mediated lipid oxidation and nitration: mechanisms and consequences. Archives of Biochemistry and Biophysics 484(2), pp. 167-172. (10.1016/j.abb.2008.11.007)
Ferreira, A.et al. 2009. Macrophage activation induces formation of the anti-inflammatory lipid cholesteryl-nitrolinoleate. Biochemical Journal 417(1), pp. 223-234. (10.1042/BJ20080701)
Maskrey, B. H.et al. 2009. Activated platelets and monocytes generate four hydroxyphosphatidylethanolamines via lipoxygenase [Addition]. Journal of Biological Chemistry 284(37), pp. 25460. (10.1074/jbc.A611776200)
Morgan, A. H.et al. 2009. Phosphatidylethanolamine-esterified eicosanoids in the mouse: tissue localization and inflammation-dependent formation in Th-2 disease. Journal of Biological Chemistry 284(32), pp. 21185-21191. (10.1074/jbc.M109.021634)
Baker, P. R. S.et al. 2009. Convergence of nitric oxide and lipid signaling: anti-inflammatory nitro-fatty acids. Free Radical Biology & Medicine 46(8), pp. 989-1003. (10.1016/j.freeradbiomed.2008.11.021)
Gregory, L. G.et al. 2009. Inhaled house dust mite induces pulmonary T helper 2 cytokine production. Clinical and Experimental Allergy 39(10), pp. 1597-1610. (10.1111/j.1365-2222.2009.03302.x)
Zhao, J.et al. 2009. Interleukin-13-induced MUC5AC is regulated by 15-Lipoxygenase 1 pathway in human bronchial epithelial cells. American Journal of Respiratory and Critical Care Medicine 179(9), pp. 782-790. (10.1164/rccm.200811-1744OC)
Morton, J.et al. 2008. Circulating neutrophils maintain physiological blood pressure by suppressing bacteria and IFN -dependent iNOS expression in the vasculature of healthy mice. Blood 111(10), pp. 5187-5194. (10.1182/blood-2007-10-117283)
Dioszeghy, V.et al. 2008. 12/15-lipoxygenase regulates the inflammatory response to bacterial products in vivo. The Journal of Immunology 181(9), pp. 6514-6524.
Coles, B.et al. 2007. Classic interleukin-6 receptor signaling and interleukin-6 trans-signaling differentially control angiotensin II-dependent hypertension, cardiac signal transducer and activator of transcription-3 activation, and vascular hypertrophy in vivo. American Journal of Pathology 171(1), pp. 315-325. (10.2353/ajpath.2007.061078)
Anning, P. B.et al. 2006. Nitric Oxide deficiency promotes vascular side effects of cyclooxygenase inhibitors. Blood 108(13), pp. 4059-4062. (10.1182/blood-2006-02-005330)
Williams, P. C.et al. 2005. In vivo aspirin supplementation inhibits nitric oxide consumption by human platelets. Blood 106(8), pp. 2737-2743. (10.1182/blood-2005-02-0664)
Clark, S. R.et al. 2005. Depletion of iNOS-derived nitric oxide by prostaglandin H synthase-2 in inflammation-activated J774.2 macrophages through lipohydroperoxidase turnover. Biochemical Journal 385(3), pp. 815-821. (10.1042/BJ20041353)
Coffey, M. J.et al. 2004. Interactions of 12-lipoxygenase with phospholipase A2 isoforms following platelet activation through the glycoprotein VI collagen receptor. FEBS Letters 576(1-2), pp. 165-168. (10.1016/j.febslet.2004.09.007)
Coffey, M. J.et al. 2004. Platelet 12-lipoxygenase activation via glycoprotein VI: involvement of multiple signaling pathways in agonist control of H(P)ETE synthesis. Circulation Research 94(12), pp. 1598-1605. (10.1161/01.RES.0000132281.78948.65)
Clark, S. R.et al. 2002. Characterization of nitric oxide consumption pathways by normal, chronic granulomatous disease and myeloperoxidase-deficient human neutrophils. The Journal of Immunology 169(10), pp. 5889-5896.
Coles, B.et al. 2002. Nitrolinoleate inhibits superoxide generation, degranulation, and integrin expression by human neutrophils: novel antiinflammatory properties of nitric oxide-derived reactive species in vascular cells. Circulation Research 91(5), pp. 375-381. (10.1161/01.RES.0000032114.68919.EF)
Coffey, M. J.et al. 2001. Catalytic consumption of nitric oxide by 12/15- lipoxygenase: inhibition of monocyte soluble guanylate cyclase activation. Proceedings of the National Academy of Sciences of the United States of America (PNAS) ISSN 1091-6490 98(14), pp. 8006-8011. (10.1073/pnas.141136098)
Since 2007 my group have discovered large numbers of lipids made by human platelets, neutrophils and monocytes, via the lipoxygenase and cyclooxygenase pathways. We have shown that these lipids can innate immunity including promoting blood clotting, immune signaling and antibacterial activities of leukocytes. They belong to families of enzymatically oxidized phospholipids (eoxPL), and their elevated generation is found in human thrombotic disease, while their deficiency leads to bleeding defects and protection against vascular inflammation. This work is done in collaboration with Prof Peter Collins and Dr Vince Jenkins (UHW).
Lauder, SN, Allen-Redpath, K, Slatter, DA, Aldrovandi, M, O'Connor, A, Farewell, D, Percy, CL, Molhoek, JE, Rannikko, S, Tyrrell, VJ, Ferla, S, Milne, GL, Poole, AW, Thomas, CP, Obaji, S., Taylor, PR, Jones, SA, de Groot, PG, Urbanus, RT, Horkko S, Uderhardt, S, Ackermann, J, Jenkins, PV, Brancale, A, Kroenke, G, Collins, PW and O'Donnell, VB (2017) Networks of enzymatically oxidized membrane lipids support calcium - dependent coagulation factor binding to maintain hemostasis. Science Signaling Vol. 10, Issue 507, eaan2787, DOI: 10.1126/scisignal.aan2787
O'Connor, A, Brasher, C, Slatter, DA, Meckelmann, SW, Hawksworth, JI, Allen, SM, O'Donnell, VB. (2017), LipidFinder, a computational workflow for discovery of lipids identifies new eicosanoid-phosphoinositides in platelets. J Clin Invest Insight 2(7):e91634. doi:10.1172/jci.insight.91634
Slatter, DA, Aldrovandi, M, O'Connor, A, Allen, S, Brasher, C, Murphy, RC, Meckelmann, S, Ravi, S, Darley-Usmar, V and O'Donnell, VB. (2016) Mapping the human platelet lipidome reveals cytosolic phospholipase A2 as a regulator of mitochondrial bioenergetics during activation. Cell Metabolism 23, 930-934, with commentary by FitzGerald, GA, Human platelet lipidomics: variance, visualization, flux and fuel. 23, 757-759
Hammond VJ, Morgan, AH, Thomas, CP, Brown, S, Freeman, BA, Lloyd, CM, Davies, J, Bush, A, Levonen, AL, Kansanen, E, Villacorta, L, Chen, YE, Porter, N, Garcia Diaz, YM, Schopfer, FJ & O'Donnell, VB (2012) Novel keto-phospholipids are generated by monocytes and macrophages, detected in cystic fibrosis and activate peroxisome proliferator-activated receptor-g. J Biol Chem 287, 41651–41666.
O'Donnell, VB, Murphy, RC. New families of bioactive oxidized phospholipids generated by immune cells: identification and signaling actions. (2012) Blood 120, 1985-1992
Clark, SR, Guy, CJ., Scurr, MJ, Thomas, CP, Coles, B., Roberts, G, Eberl, M., Jones, SA, Topley, N, Kotceha, S. and O'Donnell, VB (2011) Esterified eicosanoids are acutely generated by 5-lipoxygenase in primary human neutrophils and in human and murine infection" Blood 117, 2033-2043
On arriving in Cardiff, I defined with my colleagues how lipid oxidation mediated by vascular enzymes can control blood pressure both in vitro and in vivo. Main findings include showing how cellular lipoxygenases and cyclooxygenases catalytically consume nitric oxide resulting in vasoconstriction and how neutrophils patrol the vasculature maintaining blood pressure through dampening bacterial-induced inflammation.
Morton, J., Coles, B., Wright, K., Gallimore, A., Morrow, JD, Terry, ES, Anning PB, Morgan, BP, Dioszeghy, V., Kuhn, H., Chaitidis, P, Hobbs, A., Jones, SA and O'Donnell, VB. (2008) "Circulating neutrophils maintain physiological blood pressure by suppressing bacteria and IFNg-dependent iNOS expression in the vasculature of healthy mice" Blood 111, 5187-94
Anning, P.B, Coles, B., Wang, H., Morrow, J.D, Dey, S.K, Marnett, L.J. and O'Donnell, V.B. (2006) "Removal of nitric oxide is required for hypertensive and prothrombotic effects of COX-2 inhibition in vivo." Blood 108, 4059-4062
Williams, P.C., Coffey, M.J., Coles, B., Sanchez, S., Morrow, J.D., Cockcroft, J.R., Lewis, M.J. and O'Donnell, V.B. "In vivo aspirin supplementation inhibits nitric oxide consumption by human platelets." (2005) Blood 106, 2737-2743
Coffey, M.J., Chumley, P.H., Coles, B., Natarajan, R., Thimmalapura, P., Nowell, M., Kühn, H., Lewis, M.J., Freeman, B.A. and O'Donnell, V.B. (2001) "Catalytic consumption of Nitric Oxide by 12/15-Lipoxygenase: Inhibition of Monocyte Soluble Guanylate Cyclase Activation." Proc. Natl. Acad. Sci. USA 98, 8006-8011
While based at University of Alabama at Birmingham I worked with the Freeman lab to characterisedhow nitric oxide and lipid oxidation pathways intersect (published in JBC, Biochemistry), defining new biochemical routes to nitrolipid synthesis, and showing these lipids have potent anti-inflammatory actions. These studies contributed to a patent which is licenced to Complexa Inc and the lipids are now in Phase II trials for vascular inflammation.
O'Donnell, V.B., Taylor, K.P., Parthasarathy, S., Kühn, H., Koesling, D., Friebe, A., Bloodsworth, A., Darley-Usmar, V.M. and Freeman, B.A. (1999) "15-Lipoxygenase catalytically consumes nitric oxide and impairs activation of guanylate cyclase" J. Biol. Chem 274, 20083-20091
O'Donnell, V.B., Eiserich, J.P., Darley-Usmar, V.M., Chumley, P.H., Kirk, M., Barnes, S. and Freeman, B.A. (1999) Nitration of unsaturated lipid by nitric oxide derived reactive nitrogen species, peroxynitrite, nitrogen dioxide, nitrous acid and nitronium ion" Chem. Res. Toxicol. 12, 83-92
Coles, B., Bloodsworth, A., Clark, S.R., Lewis, M.J., Cross, A.R., Freeman, B.A. and O'Donnell, V.B. (2002) "Nitrolinoleate inhibits multiple indices of neutrophil function" Circ. Res 91, 375-381 (Editorial, Freedman, J. "Nitrated lipids, defining their bioactivity" (2002) Circ. Res. 91, 371-372)
Coles, B., Bloodsworth, A., Eiserich, J.P., Coffey, M.J., McLaughlin, R.M., Giddings, J.C., Lewis, M.J., Haslam, R.J., Freeman, B.A. and O'Donnell, V.B. (2002) "Nitrolinoleate inhibits platelet activation by attenuating calcium mobilization and inducing phosphorylation of vasodilator-stimulated phosphoprotein (VASP) through elevation of cAMP" J. Biol. Chem 277, 5832-5840
I studied at University of Berne, Switzerland on a Marie Curie Fellowship (1994-1996). I defined mechanisms of mitochondrial free radical generation. My PhD at University of Bristol (1990-1993) was focused on characterising the enzymatic action of iodonium compounds as flavoenzyme inhibitors that were in development as anti-inflammatory agents. I found that these are turnover dependent, irreversible inhibitors that form covalent adducts with flavin co-factors. These inhibitors represent some of the most widely used NADPH oxidase inhibitors still used today.
O'Donnell, V.B., Smith, G.C.M. & Jones, O.T.G. (1994) "Involvement of phenyl radicals in iodonium compound inhibition of flavoenzymes". Molecular Pharmacology 46, 778-785
O'Donnell, V.B., Tew, D.G., Jones, O.T.G., England, P.J. (1993) "Studies on the inhibitory mechanism of iodonium compounds with special reference to neutrophil NADPH oxidase." Biochem. J. 290, 1, 41-49.
LIPID MAPS Database and Resource funded by Cardiff-led funding from Wellcome Trust
Researchers uncover new cause of abdominal aortic aneurysm
International and Europe Office welcomes Rutherford Fellows
Cardiff research boost for exiled Syrian


text:
Levi van Veluw
Levi van Veluw, Arnhem, Netherlands.
There are serious barriers to overcome in the struggle for justice, freedom, and dignity, even beyond the bitter class war conducted ceaselessly by the highly class-conscious business world with the "indispensable support" of the governments they largely control.
Through a combination of powerful imagery and atmospheric pace Genesis dares us to fleetingly glimpse our own origins, our civilization and the known universe.
Drawing heavily on a visual currency distilled from the subconscious and the psychology of self, we are taken on a stark journey marrying rippling, organic forms with stern, unyielding geometry.
Justyna Zdunczyk
Justyna Zduńczyk, Wrocław, Poland.
As the year 2013 drew to an end, the BBC reported on the results of the WIN/Gallup International poll on the question: "Which country do you think is the greatest threat to peace in the world today?"
The United States was the champion by a substantial margin, winning three times the votes of second-place Pakistan.
By contrast, the debate in American scholarly and media circles is about whether Iran can be contained, and whether the huge NSA surveillance system is needed to protect U.S. security.
toormix
toormix, Barcelona, Spain.
The softest thing in the world dashes against and overcomes the hardest; that which has no (substantial) existence enters where there is no crevice. I know hereby what advantage belongs to doing nothing (with a purpose).
Love Hate Affair
Love Hate Affair, Austin, United States.
If you look back, say around the Enlightenment—that period and the early Romantic period—there were connections drawn.
And they're not totally without basis. There's some fundamental concept that grew out of early 17th century Enlightenment thought, about creativity being a core element of human nature.
Alessandro Puccinelli
Alessandro Puccinelli, Lisbon, Portugal.
There is no time here to run through the shocking record, but there is little doubt that it strongly supports the lament of General Lee Butler, the last commander of the Strategic Air Command, which was armed with nuclear weapons.
In his words, we have so far survived the nuclear age "by some combination of skill, luck, and divine intervention, and I suspect the latter in greatest proportion."
And we can hardly count on continued divine intervention as policymakers play roulette with the fate of the species in pursuit of the driving factors in policy formation.


This KS1 Visual Timetable – Interactive and Editable will revolutionise the way you organise your day! Comes in both pre cursive font with a fully editable version (using Adobe Acrobat Reader) so you can completely personalise your visual timetable for your class, or even for an individual child.
The editable version is in Comic Sans to ensure that everyone has the correct font installed.
Once you have printed out your timetable, use the included flap cards to create a unique display that can be opened and closed as the day goes on. Take a look at the rest of our display resources here.
Explore other Visual Timetable resources from Mrs Mactivity!


text:
FATES WARNING Post Lyric Video For New Single
Prog metal masters Fates Warning are offering a second piece of their soon-to-be-released full length effort, Long Day Good Night. The song "Now Comes The Rain" is available for streaming [click to continue]
We got a moment to speak with Vocalist Dave Hunt of Anaal Nathrakh! MPM: Please introduce yourself and what you do for the band those who don't know who you are AN: It seems you just did that [click to continue]
ENSIFERUM Release New Lyric Video
This past July, Ensiferum released their latest music output Thalassic via Metal Blade Records. Now, they present a new lyric video for the album track "Run From The Crushing Tide", [click to continue]
SIX FEET UNDER Release New Lyric Video
On October 2nd, Six Feet Under will release their seventeenth full-length, Nightmares Of The Decomposed, via Metal Blade Records. For a preview of the new music piece, a lyric video for the first [click to continue]
We got a moment to speak with Icelandic death metal band Cult Of Lilith! MPM: Please introduce yourselves to what you do in the band COL: Hi, I'm Kristján Jóhann Júlíusson and I play guitar. [click to continue]
INTRONAUT Release Cover Of Creedence Clearwater Revival Classic
Intronaut have released a new digital single, "Run Through The Jungle", a cover version of the Creedence Clearwater Revival classic. The latter was originally released 50 years ago. [click to continue]
CULT OF LILITH To Release Debut Album In September, Share First Single
Cult Of Lilith, Iceland based death metallers, unveil details for their debut full length effort, titled Mara. Set to be released through Metal Blade Records on September 4th, 2020. For a first [click to continue]
SYSTEM DIVIDE Return After Six Years & Release New Single
After disbanding back in 2014, System Divide are now back with a partly changed line-up. The semi-new roster includes founding members Miri Milman (vocals), Cole Martinez (guitars), Michael Wilson [click to continue]
NEAERA Debut 'Deathless' Official Music Video
After the release of their self-titled comeback album in February, Germans Neaera are now launching a brand new video clip (directed by Ben Liepelt for Port Royal Films) for the track [click to continue]
ENSIFERUM Release New Single
For a preview of Ensiferum's upcoming offering Thalassic, a video for the second single "Andromeda" has been launched. It was directed/produced by Vesa Ranta and recorded on Rankki [click to continue]


One of the most critical parts of a firefighters clothing involves protection of their knees andfirefighter elbows. The foam padding in these areas provides a high level of comfort and requires the necessary material components to reduce injury.
A leader in fire protection equipment and protective uniforms, had a challenge with their current supplier of the elbow and knee padding elements. The current supplier was not meeting the National Fire Protection Association Standards as a component part of the garment and it was not a cost effective solution.
Rhopac met with the fire protection equipment company and soon developed the custom-sized piece of sponge-like EPDM/Neoprene blended rubber. The blended material met the requirements as outlined in the Technical Product Data Sheet #76138.
In addition, Rhopac was able to design the cushion and compression pads into more custom sizes and in quantities that were cost effective for the company.
Contact us with your challenge and let us make you our next Success Story!


All rights reserved. Copyright 2012 Wishingwell Life Coaching. This document cannot be reproduced in part or in its entirety without the express written consent of Wishingwell Life Coaching.
Below are the table of contents, excerpts from the document, and sample exercises. The 9 Day Passion Project consists of over 30 exercises and is over 80 pages. This page is not a finished product or a complete work.
What is The 9 Day Passion Project?
Day 1: Discover Your Passions: Do what you love.
Day 2: Discover Your Gift: What's your superpower?
Day 3: Get over Your Limitations : The stuff that holds you back.
Day 4: Set the Mood: Feeling positive.
Day 5: Reflect: The real you.
Day 6: Dream: Designing your future.
Day 7: Take Small Steps: Getting there.
Day 8: Ultimate You Time: Fitting your Passion Project into your busy life.
Day 9: Loving Life! Taking Your Passion Project to the World.
What you hold in your hands (or on your screen) is the first step to getting you out of that rut and back into YOUR life – a life that feels like yours and is meaningful.
Your mind is a super computer, and it's used to taking things – feelings, information, pictures, and translating them into words. But sometimes this process gets stuck. It can be a difficult leap to understand what you feel about something enough to articulate it. Sometimes you just have a gut reaction. You may react to a picture of something without understanding why you have that reaction. This is the power of art.
For this exercise, harness the power of your gut reaction by circumventing (at first) the part of your brain that processes through language. Get a stack of old magazines or use pictures online through Pinterest and make a collection of pictures.
· Positive: They fire you up so much you can feel that surge of energy we call Passion even if you don't know why, can't put words to it, or don't know what about the picture makes you react.
· Or feels like it deeply connects to you personally, even if the reaction feels like a mix of positive and negative. An example of this might be a reaction to picture of a crying child in Haiti. You may see that picture and feel sadness, mixed with a surge of passion. You will know if your reaction feels passionate enough to put in your collection.
Once you've created your collection, go through your pictures and see if you can understand more about what you have reacted to.
What themes do you detect?
Well, maybe you could and maybe you couldn't. But the point is, if you don't allow yourself to dream you can't really even imagine an amazing future for yourself, much less create one.
Dreaming self: Ah, look at that mansion on the beach. I wonder what it would be like to live in it? I would wake up to the ocean every morning . . . and my kitchen is stunning! Who is that? Oh, it's the cook! And there's a maid! First, I'm going to decorate the house. Maybe I'll get some help from one of those guys on a design show. . .
Planning self: Mansion on the beach! Imagine the mortgage payments! I would need four jobs. And the cleaning! It needs a full time staff. I'd probably need six jobs! And don't even think about how much it would cost to decorate a place like that! How would I even do it? I'd have to get some help from someone . . . where do you even find someone good to do that?
You see, the planning self is on overdrive coming up with problems, solutions, and getting frustrated at how impossible it all is before it's even possible.
Does this sound familiar? If so, it may help you to realize that you get to decide which dreams are forever destined to remain a fantasy, and which you will invest the blood, sweat and tears to achieve.
Dreaming something doesn't make it real on its own. Dreaming plus work (with some synchronicity thrown in) is what it takes to get things done. So feel free to dream. It doesn't cost anything.
Write as many of these as you can think of, but at least 50.
2. Which dreams ARE you willing to invest the blood, sweat and tears to achieve? Circle the dreams you are willing to invest in, and cross out the ones you are not.
The circled dreams are your goals. The crossed out dreams are fantasies. Fantasies are fun. If they happen to you, that's great but if not, it's not crushing. With goals, on the other hand, you have some skin in the game. You want to achieve them.
Is there a picture beginning to emerge when you understand more about your passions, your gift, the meaning they bring when they are combined and now also your goals?


text:
Enterprise Linux Log
« Does anyone care about the MS-Novell agreement besides, well, MS and Novell?
OpenNMS now works on Windows »
Nov 9 2007 11:04AM GMT
Does Ubuntu's documentation stink?
It's a day of blog subject line questions, apparently.
The subject line question is asked today because there's apparently some concern over Gutsy Gibbon's documentation. Gibbon is the latest release of Ubuntu, version 7.10, which came out last month to the usual fanfare associated with new Ubuntu releases.
That said, Carla Schroder, writing for Enterprise Networking Planet, has a bone to pick with Canonical and the Ubuntu development team over documentation:
Whatever anyone may think of Ubuntu, you can't deny they're busy little critters, stuffing all manner of new things into every release. Which is a splendid thing, and what would make it even better is if they documented all of these wonderful new things. And also the old things. I think it's the worst of the major Linux distributions for documentation. I spent a considerable amount of time trying to find out what makes Ubuntu's server kernel different from a desktop kernel, what exactly is the OEM installation, where is the online package search page, what's new in this release, and what's included in this release. www.ubuntu.com is poorly-organized and seems more marketing-oriented than informative.
In our overview of Linux support, then and now, from this earlier summer, we identified similar documentation concerns with Linux in general. To see that one of the signature distros (and by that I mean one of the most wildly popular ones outside of Red Hat and Novell) is suffering from poor documentation is troubling to say the least.
In 2003, systems administrator Pati Moss said some online Linux/OSS instructions are very "high level and difficult to decipher." IT manager Rick Segeberg agreed: "Newbies to Linux (especially non-programmers) find it difficult to follow the very technical documentation and how-tos that are available," he said. "Most of the technical documentation is done by technical people for technical people."
So documentation can be too technical and difficult to decipher. Got it. In our overview this was still a "thorn in the side" of IT managers, but at least Red Hat and Novell had stepped up to offer paid, professional support. But with Ubuntu, however, things are apparently too sparse! Not a good sign when Mark Shuttleworth and company at Canonical are trying to get Ubuntu pre-installed on commodity hardware from vendors like Dell.
Schroder again (under the wonderful subject line, "Dammit, Jim, I need documentation!"):
The Ubuntu release notes are quite sparse, and they lump the server and desktop editions together. There are bug reports and workarounds, but where is the list of major and new features? AppArmor is a radically new inclusion, but the only mention of it is that it breaks printing. What is it, and what do you do with it? What are the kernel versions, and versions of major applications like Apache and … well, what exactly comes with this release? What hardware architectures are supported, and what are some of the specific issues for them? And so forth—just cruise the Debian and Fedora release notes to see how it should be done. In fact you can check out older Ubuntu release notes—the farther back you go, the more complete they are, though they're still short of what they should be.
The problem here, it seems, is that the notes assume a lot on the part of the reader. Do I know what AppArmor is? Sure I do, but I write about OS's like Novell SUSE Linux and I know that AppArmor has been included in that distro for quite some time.
A huge part of the Linux ecosystem is documentation. Ubuntu Server — at least for one columnist — comes up short: "It's also typical to include batches of READMEs and CHANGES and other helpful documentation on installation CDs. Don't bother looking on the Ubuntu Server CD for these, because there aren't any. However, it does include the "Ubuntu Installation Guide", which is actually the Debian Installation Guide with some minor modifications, such as changing "Debian" to "Ubuntu", and adding useful links to online Ubuntu resources," Schroder said.
Apparently the Ubuntu documentation is Debian stuff dressed up with Ubuntu branding. Sounds kind of like what CentOS does with Red Hat Enterprise Linux (in reverse, of course), but in this case it's a bad thing. Enterprise users want enterprise level documentation with their Linux OS. If Canonical is truly serious about getting Ubuntu pre-installed on commodity hardware, they'd best be tweaking their docs … do you agree?


All orders can be sent to IDProductsource by fax or e-mail. All orders are binding upon IDProductsource only after written acceptance by IDProductsource. IDProductsource will acknowledge all orders in writing within 24 hours.
If you do not receive an order acknowledgment within 24 hours after the order was sent please call us immediately to make sure the order was received.
When submitting your purchase order It is incredibly important that we receive as much detail as possible. From our experience some of the simplest details on occasion do get missed. Please clearly define the quantity, colors, imprint instructions, attachment options, shipping and handling instructions, event date, and ensure that you enclose the applicable camera ready digital artwork for your order.
All purchase orders placed after 4PM EST will be considered received the following business day.
There is no setup or artwork charge for most products if exact artwork duplication is specified.
However, if there are any minor changes whatsoever to the original artwork we will deem this as a new order and therefore all applicable set up charges will apply.
We keep art on file for a period of 2 years and it may be necessary after this period to prepare new art.


text:
Kolonia Storkowo – nieoficjalna osada wsi Storkowo w Polsce położona w województwie zachodniopomorskim, w powiecie stargardzkim, w gminie Ińsko.

Miejscowość położona jest 4,5 km na północny wschód od Ińska (siedziby gminy) i 40 km na północny wschód od Stargardu (siedziby powiatu).

Ok. 1,8 km na północny wschód od osady znajduje się wzniesienie Skórcza.

W latach 1975–1998 miejscowość administracyjnie należała do województwa szczecińskiego.

Zobacz też
 Storkowo

Przypisy

Storkowo (powiat stargardzki)

redpajama_set_name: RedPajamaWikipedia


text:
TALES OF THE ROCKET – WHEN THE BUFFALO ROAM
Especially the old buffaloes...
11 July 2021 2 16 min read3
So right in the middle of winter, with the Plague eating the earth, and city people locked in their homes like rats in sacks, while cops with massive compliance-erections threaten to beat them if they leave their sacks…erm, homes, I went on a run.
And I went on it with old buffaloes. This is because old buffaloes don't much care if the cops beat them. They've been beaten before and it ain't too bad. Youngsters, on the other hand, have been raised to fear the State. And they have not been beaten often enough – or at all – for a beating not to matter all that much.
So it's best they stay at home. Tend to their whatevers, and await the Aldi sales and permission to leave.
The weathered and leathery old buffaloes shall roam, because it is what they must do. Keep moving or die.
Being weathered and leathery, and girthed with cold-refusing blubber is not a bad thing when you head into the blasted wildlands of western NSW.
And I was on a Rocket 3, so I feared nothing and no-one. Not even the cops.
The route was elegant, and promised much.
In case you're interested and wish to essay it, it went like this:
Depart Singleton, and ride to Warren via Merriwa, Dunedoo, Mendooran, Gilgandra, and Collie.
Once in Warren, avoid unpleasantness if possible and embrace it if not, visit with road-kin, sleep, wake, absorb caffeine, carry on.
Day Two would see us leave Warren, proceed back to Gilgandra, then head for Gulargambone, cross the incredible Warrumbungles, behold Coonabarabran and Gunnedah, then ride like fury across the Breeza Plain, and abide for the evening in Quirindi.
Then we kiss and say goodbye and go home.
From my perspective, it was a route that would showcase the superb touring might of the Rocket 3. I had already scratched like a thousand bastards with fast boys – a journey you may read about HERE – but I was keen to see how it played in Big Sky country.
To be honest, I knew exactly how it would play. I'd spent enough time on the Rocket to know what was gonna happen. But the cussedness in me always enjoys seeing the expressions on the faces of people who have not seen the Rocket rocketing.
Especially when two of those people, Will and Gary, were on Harleys. Jason was on a 650 V-Strom, so his top-end was somewhat limited, and there wouldn't be all that many corners for him to show off his arsenal of riding abilities.
There is an old truism that comes into play here. And that is Harley riders don't really see the limitations of their Harleys until they go riding with things like the Rocket 3.
It happens like this…
Everyone gets their shits and giggles on, say between Dunedoo and Mendooran. The speed rises to a Christian 140 – the normal, happy velocity for Milwukee's finest. It's where the big V-twins are on the verge of reaching their limits. Sustained speeds over that 140 tend to become stressful and terrifying, and the Harleys' limitations – suspension, brakes, handling, ergos – become evident.
The Rocket? Twist the throttle open at 140 and you'll very soon see numbers that start with "Two" appear. You'll also see Harleys disappearing in your mirrors. Oh, they have also cracked open their throttles. And there's lots of noise (Hell, Will's is one of the loudest Harleys I have ever heard), but not much in the way of acceleration.
If you can coax the brutes up to 200, it's certainly exhilarating. But if you can get there – and you can't unless you've done some work on your Harley – you don't want to be there for too long. They just aren't made for that kinda thing.
But the Rocket is. Its brakes, its suspension, its ergos, and its staggering, stunning, sensational engine, just keep on giving. Progress, rapid and glorious, is effortless. It is not hard work to ride quickly. Sure, you have to be on your game, because 180 is still 180, but you're able to focus on that rather than the washing-machine-rolling-down-a-mountain thing a Harley is doing at that speed.
Sadly, Gary had lost sight in his left eye when we arrived at Dunedoo, so he couldn't fully appreciate the wonder of me disappearing into the distance.
"What happened?" I asked, because I care.
"Something went into it, I think," he rumbled.
"Is it still there?"
"Can you see anything inside it?" he asked, peeling opened his bloodshot peeper.
I looked, but I'm no ophthalmologist.
"Can you see out of it?" I asked.
"Everything is foggy," he replied.
"Are you able to continue?"
"Have I got a dress on?" he replied.
Old buffaloes can ride blind. Ask me how I know.
We ate lunch in Mendooran. It was excellent, and the welcome was warm. Which was nice because it wasn't much over nine degrees outside.
"We shall get petrol at Gilgandra," I said, fired up the Rocket, and we kept it at a meaningful 140-150 until we crossed the swollen Castlereagh River on the town's outskirts. It had more water in it than I had seen in years, and there was lots of standing water everywhere you looked.
We fuelled up, established that Gary's blindness had not worsened, and I issued some advice to my companions.
I don't do instructions. I just provide advice if I know things. If I don't know things, I shut up. I'm no road captain. Just like I'm no ophthalmologist. I tell people at the start of every journey that if I am not going fast enough for them, they are free to pass me and carry on. I tell them where the next petrol stop is (if I know), and what the final destination might be. And because they are grown-ups, they are free to do as they wish.
"We will stop at Collie," I said. "Johnny is waiting for us there with Diddles. You cannot miss Collie. It is about 35 kays up the road. It's a pub and a few houses and it has 'Collie' written in giant letters on a sign. You'll also note the speed sign will say 80 instead of 110. But the buildings are a dead giveaway, because they are the only buildings between here and Warren."
I was in Collie very soon after that. Jason was with me. I hugged Johnny and commiserated with Diddles, whose engine mount had gone to Jesus, and whose Harley was now having its engine levered up with a shovel so wood could be jammed between it and the frame. Hopefully, this would get him to Warren where a proper fixing could take place.
A local bearded man wanted to speak to me about the Rocket, because he had an original one.
"You like it?" he asked.
"I love it," I replied.
"Yeah," he nodded. "Mine's got 350 horsepower. It will eat yours."
"Go and get it," I said.
"It's not running at the moment."
Just then Johnny felt he should buy me a beer, so I went inside with him, and left the 350-horsepower man to offer Diddles advice about his missing engine mount.
As we sipped, Will and Gary, who had decided that 200 km/h was not the speed they needed to be doing out of Gilgandra, rode past.
"How could they miss the pub?" Johnny asked, as their Harley thunder receded in the distance.
"Well, Gary is blind in one eye, so he has a valid excuse. I have no idea why Will did not see it."
Jason, Johnny, and I finished our beers, and left. Diddles said he'd limp on home, and if he wasn't there in an hour it meant the piece of wood he'd jammed between his engine and the frame had failed, and we should get a truck and come back for him.
We were in Warren some 20 minutes later. Gary had gone to the hospital after checking into the motel, Will was drinking beer, so we checked in, and headed off to Johnny's property, which is about three kay outta town. A touch too far to walk, so Johnny had organised a mate to collect us from the motel.
I elected to ride because I hate being reliant on others for transport, Gary's eyesight repair might require some input from me, and until his situation had been resolved, I could not fill myself with beer and bad manners.
Johnny had done wonders with his property since the last time I'd visited, which was when my late brother, Whitey, Johnny's dad, had his last birthday there. There was green grass everywhere, big sheds, kids' swings, and a whole damn house. It was magnificent, as was the huge fire he'd lit to warm our old buffalo bones.
The Clubhouse Hotel was the only place in town serving food that night (it was a Monday after all), so we agreed to meet there in about an hour, and I rode back into town to see about Gary.
"We are in lockdown," the nurse who answered my bell-ringing advised me.
"Yeah, look, I don't wanna go in. I just want to know if the blind giant who came in here a while ago has been repaired."
"I'll go and check. Nice bike," she smiled.
"Isn't it though?" I smiled back.
She was back in minutes.
"There is no Gary here," she told me. "There is no-one in Emergency, blind, giant, or otherwise."
I absorbed this information with calm insouciance.
"OK, then," I shrugged, and went back to the motel to change out of my riding pants and into my drinking pants.
Gary had disappeared from the face of this earth. He was not in the hospital, apparently, and not answering his phone. In my experience, he would either re-appear at some stage, or he would not. My expectations were that he would. And so it came to pass.
A message appeared on my phone. "I'm finished" it read.
I got on my bike and rode around the corner towards the hospital, and there he was coming out of it – all eight-feet-tall of him.
"You good?" I asked.
He nodded. "They flushed my eye out really well, found nothing in it, and it feels much better. I can even see out of it some."
"The hospital said you weren't there."
"Strange," Gary blinked. "I was."
"I know. I saw you walk out of it."
Old buffalo know when to leave mysterious things as they be, and move on to less mysterious things. Like beer.
The Clubhouse Hotel greeted us with an open fire and a working kitchen. And a bar manager who rapidly became a woman we came to fear and admire in equal measure.
I will now post a language warning for those of you with gentle dispositions. And I wish to advise that I am merely recording what was said, and not adding anything for colour. Hand on my heart.
The first words out of her mouth were: "You cunts keep your fucking masks on unless you're seated at the fucken table. And you, fucken Johnny White, where the fuck have you been lately?"
Johnny told her he'd been working, and he would like some beer, so she went behind the bar and asked: "What're you cunts having?"
We ordered, were told once again to keep our "fucking masks on" unless we were seated, and the drinking commenced.
The bar manager, whose name I believe was Raelene, kept a very watchful eye on us, and now and again, if one of us got up from the table, she would advise us at the top of her mighty voice to "Get that fucken mask on!" because she was not having "the fucken cops in here carrying on like cunts again".
Now and again, she would come and collect our empty glasses, and advise Johnny "these big-notin' cunts" better not "start any fucken shit".
In past times, us big-notin'cunts may have fought each other over her like bison in rut, and the winner would have carried her off for an evening of wild country pleasure.
As it was, we chose to admire her from afar, until I summoned the courage to ask her to turn the jukebox on.
"Youse cunts are gonna fucken sing, aren't you?" she grizzled.
"We probably are," I said.
"I'll turn the cunt up so I can't fucken hear you."
And she did, and it was the loudest jukebox for 500km in any direction.
With singing, there was some dancing, but apart from us, three locals, and three Japanese tourists, there was not much of an audience. Still, I did manage a few delightful passages across the floor.
Every so often, Raelene would sing out: "Oi! Cunt! Get your fucken mask on!" Whereupon the offender would instantly comply.
We knew our time was up when she started vacuuming around us. Will did attempt to propose to her, dropping to one knee, in the hope she may keep the bar open if she was engaged to him. She just told him to "Get out of the way, cunt!" and drove her vacuum cleaner into his shins.
We went back to the motel after she had escorted us out, demanding that we fucken return the fucken glasses we fucken had taken and stop being fucken cunts. Johnny did try to remonstrate with her, but was yelled down and sent on his way.
At the motel, Will went to bed, but Jason, Gary, and I did not.
It was barely midnight. And we had been over-stimulated by things. But, as you can imagine, not much is going on at Warren at that time on a Monday night.
"Fuck it," I said. "I'm waking Will up."
We hammered savagely on his door until he opened it, then he climbed back into bed as we rampaged around his room turning on every light, the TV, all the taps, and the shower. But Will, who is an old buffalo, absorbed it all, understanding that if he did not engage, we would get bored and leave. Which we did.
"Let's wake the other cunt up," someone suggested. There was another bloke with us, but since he will never be with us again, he is of no consequence other than as a catalyst for what happened next.
We thought he would be in the room adjoining Will's. So Gary went to the window, and started banging on it very loudly, and screaming in his giant's bellow.
"Open up!" he howled. "I'm gonna fuck you like a duct-taped weasel! Your tears will be lube! Aarrgghhhh!" and things of that nature.
There came an answering scream from within the room.
"Ha!" Jason laughed. "He's going off."
Yes, he is, I thought, as I listened to the frenzied shrieks from within the darkened room. They were pretty full on. So full on, Gary took a few steps away from the door, which then burst open, and a dishevelled and clearly terrified Japanese man appeared.
SHIT MY WIFE SAYS – WHEN THE DOG EATS HIS OWN SHIT
"Waaaaaa!" he wailed. "Whadyouwan?!"
Gary was instant contrition.
"Oh mate," he said. "We are so sorry. We got the wrong room. Please forgive us. We didn't mean to wake you up."
The Japanese bloke looked at us, felt that all that needed to be said had been said, slammed the door and went back to bed.
"Can you lot just please keep it down!?" said a stern voice from behind us.
It was the motel's proprietor, a nice lady who, judging by the tone of her voice, was on the verge of not being nice any more.
We apologised to her, and then went to stand out in the street under the bright red service station sign beside the motel.
"How the fuck did we fuck that up?" I asked. "I could have sworn he was in the room next to Will's."
"That poor Asian guy," Gary sniffed. "He was genuinely terrified."
"You did say you were going to hate-fuck him," Jason grinned. "Half the town heard you say that."
I'd like to tell you we all had a nice comforting hug at this stage, but I think we just laughed for a while longer and went to bed.
The next chilly morning, we had breakfast at the local café, and hit the road by nine. It was still cold, but we figured the kangaroos would be away from the tarmac by this time.
Buffalo bowels had to be moved in Gilgandra, and we decided to stop for fuel at Gulargambone, which would leave the frightful toilet catastrophes far behind us.
Gulargambone has petrol, but it's a self-service arrangement. You guess how much you're gonna put in, pay for it with a card, go to the nominated pump, and apply yourself. There was a farmer filling his Hi-Lux when we pulled up.
I went over to question the man.
"What the road like into Coonabarabran?" I asked.
"Which road?"
"The one through the Warrumbungles."
"It's not good," he shrugged. "Floods come through the other week. Still a bit of water around."
I thanked him and walked off. Great, I figured. We now either chanced it, or did a massive detour around the Warrumbungles. And I mean massive.
Three old Aboriginal ladies walked past and waved to us.
"G'day," they said.
"G'day," we echoed, and I went over to have a chat.
"Excuse me, Aunties," I said. "We want to ride through the National Park to Coona. Do you know what the road is like?"
"Coona?" the oldest one blinked. "Yean, you can get through to Coona on them bikes, no worries."
"So the road's not washed away?"
"There's a bit of water here and there, but you be OK. We was there just yesterday."
I thanked her, told the blokes we would now see some magical shit, got the petrol, and hit the road.
If you've not been to the Warrumbungles, I suggest you rectify that. It is one of the most stunning national parks in Australia. Massive volcanic rock formations define it, and you ride right through them with your jaw gaping open. The rock cliffs and tors, which are 66 million years old (quite recent actually), were formed by a massive shield volcano – so called because of its low profile and resemblance to a warrior's shield lying on the ground.
The road in from Gulargambone is sealed for a bit, then it becomes dirt, but very good dirt. We crossed about three shallow wash-outs which caused us no issues at all. The Rocket 3's massive rear tyre does walk about a bit on the dirt, but nothing that should cause anyone except a novice any terror.
And there's only maybe 15-odd kays of dirt until the road becomes tar again. By then you're in the park and it gets twisty, winding its way through amazing piles of red volcanic rock, until it offers you a chance to check out the Siding Springs Observatory, or carry on to Coonabarabran.
We chose to check out the observatory. Some of the clearest skies in Australia are here, which is why they built an observatory. You can see the massive white dome from 40km away as you enter the park from the west.
The tourist thing done, we belted on to Coonabarabran for lunch. The only thing of note in our rapid descent was the water-filled causeway I suddenly saw over a rise. I hauled on the brakes, not wanting to enter it at 140. Will, whose brakes are from the 1800s, brilliantly avoided rear-ending me by spearing off onto the wrong side of the road, and together we entered the causeway like two hippos splashing into a river. It was magnificent and wet.
After lunch, we toiled away at the mostly straight and boring bits that run from Coonabarabran to Gunnedah. We amused ourselves by doing top-gear roll-ons. I won them all. Like it wasn't even close.
After a brief pause in Gunnedah, we turned the wick up across the Breeza Plain (part of the Liverpool Plains), and made for Quirindi as the thermometer plunged in time with the sun.
We were in Quirindi as the sun sat halfway down behind the hills. This is where I let Gary ride the Rocket.
"I'll just take it through town," he said.
"No," I smiled. "You'll take it back the way we came, and you'll red-line it in second and third. See how you go in fourth."
He was back after the correct length of time, because he is an old buffalo. And old buffalo know that when someone lends you their bike, two things are graven in stone.
The first thing is that you take the bike only for as long as good manners dictate, ie. If the bloke who lent you the bike starts worrying about where the fuck you are, then you've been away too long. The second thing is if anything happens, then you own the loaned bike and the full price of that bike needs to be in the previous owner's hand before the sun sets for a second time.
But all was smiles as Gary returned.
"Fuck," he said.
I nodded. You can tell people all about the Rocket 3, but until they ride it, they will not understand. Then when they do, they will swear.
Our evening meal was delightful, and as the temperature went down into the minuses, we retired to our respective rooms to snore away the cold.
The next morning, Gary's bike would not start. We tried and tried, but the battery had died. We got it to an auto electrician a few doors down from the motel, he had a new battery, but the Harley's ECU had gone out in sympathy, and Gary was not leaving Quirindi on that bike.
We had a discussion, and it was decided Will would return that afternoon with a trailer. This meant Gary could work on his tan in privacy, and contemplate a future that saw him aboard a Rocket 3.
The three of us now wended our speed-limited way back down the New England to our homes, and counted three Highway Patrol cars. They were the first we had seen since the one cruising through Merriwa two days ago.
We'd remained unbooked and unbowed. We'd added some leatheriness to our hides, and chilled our old bones deeply and truly. But we had seen new things and done good things, and added some more miles to our lifetime tallies.
And that is always something to smile about.
SHIT MY WIFE SAYS – THE CHRISTMAS DE-BEARING
AY-SKHUHL – CHAPTER THREE (PART B)
SHIT MY WIFE SAYS – ON ROSSI'S RETIREMENT
THE PLAGUE DIARIES – 15 JULY, 2021
WHAT THE MOTORCYCLE RUN TEACHES YOU ABOUT YOUR COMPANIONS


Prakash Sori is calling from Saleghat village of Keshkal block, Kondagaon district in Chhattisgarh and says their village middle school is functioning from 5 years but doesn't have a building. 150 Students of the School are getting education in the open and they are not able to focus on their studies. We've appealed to CEO and Block Education Officer but got no response. You are requested to call BEO@9407697876, Collector@9424200202 to help. Prakash Sori@8305469378.


When Buck Trent says, "Oh, Yeah", and gives his famous thumbs up signal, get set for a rip roarin' good time. Buck Trent delights audiences with his spectacular banjo pickin' and hilarious country humor.
Buck's versatility on the banjo was made famous on such albums as "Sounds of Now & Beyond", "Bionic Banjo", "OH Yeah!", "Pair of Fives", "Banjo Bandits", "Buck Trent" and more. Recording, and playing lead guitar and his electric banjo, on such singles as "Jolene" and "I'll Always Love You" with Dolly Parton, Buck has received numerous awards. Buck composed many of the instrumentals for his award winning albums.
Throughout his career, Buck has performed all over the United States and around the world. He began performing in Branson in 1981 and fell in love with the town. As a result, he moved to Branson in 1990 and was the first national star to open a morning show. Buck has always loved performing in front of an audience. Visitors say Buck starts their day out right, with a high-energy, eye-opening, family-fun, country music variety show. Buck visits with guests and signs autographs during intermission and after every show.


Every now and then on a trip out to Saitama I get a recommendation to check out and this time it was Misogen, just across from Shiraoka station. This is quite a nice change since often the shops out this way can often only be accessed by car - which we used anyway.
The stores around here often have a little more of a family-friendly atmosphere the ramen-nerd stores of Tokyo and there was even a high chair pulled up to the counter for the little ones. Meanwhile, the master of the place was busy cooking, clearing tables and working the register all on his own.
They have a few different types on offer here - tokumiso, Hokkaido style miso and an interesting sounding tan-tan miso, all of which have a few different options themselves. This standard one was quite interesting itself and had a rather buttery flavour to it. Unfortunately they had run out of chashu for the day so we weren't able to have the full experience but I was pretty content with it.


Enterprise IT administrators need to control the usage of their network to ensure it's used for business applications. Some of these applications may even deserve priority while others should be pro-actively blocked—as they are known to carry higher risks and compromise security. An example is BitTorrent clients for peer-to-peer file downloading or Tor, an application to browse the dark-web and commonly used by malware to exfiltrate data from your network.
Another example is unauthorized excessive usage of server resources for BitCoin mining, spiking up a company's electricity bill. These applications should be blocked. Not all traffic is web traffic—a lot of traffic runs on separate ports and uses custom protocols to communicate with it's servers and peers.
Therefore an Application Identification (also called deep packet inspection/DPI) engine is required to detect the application or service accurately. An application like WebEx and Skype can be identified and it's traffic can be prioritized to aid in the quality of the conversations. Application control is essential to improve the user's experience.
To manage in a controlled way the traffic from your users, Clavister's Next Generation Firewall includes the world's best deep packet inspection technology to do application identification. In addition, Clavister has classified each application with a risk level from very low to very high, making configuration of blocking risky applications a breeze.
Specifically for IoT devices, application visibility provides the perfect means to control what the devices are doing. With advanced policies you can restrict them only to be allowed to do what they are support to do on the network. So that even if an IoT device is hacked it cannot be used as a springboard to reach other resources.
Application control provides the means to be very specific on what you want to allow on your network. This increases the security levels and enables you to use new technologies early without taking unnecessary risks.


text:
Grant number like: TR-230822-15
TR-230822-15
Center for Independent Documentary, Inc. (Boston, MA 02135-1032)
Arwen Curry (Project Director: January 2015 to present)
Worlds of Ursula K. Le Guin
Production of a 60-minute documentary film and website on Ursula K. Le Guin, a writer whose work transformed science fiction and American literature.
Worlds of Ursula K. Le Guin is a 60-minute film and accompanying website exploring the remarkable life and legacy of one of America's most influential living writers: 85-year-old science fiction and fantasy legend Ursula K. Le Guin. The film tells the story of a singular writer who defiantly held her ground on the frontier of American letters until the sheer excellence of her work, at long last, forced the mainstream to embrace fantastic literature. Viewers will accompany Le Guin on an intimate journey of self-discovery as she emerges as a major feminist author, inspiring generations of women and other marginalized writers along the way. Le Guin's story allows audiences to reflect on science fiction's unique role in American culture and to look back at the 19th century roots of imaginative literature. Shot in high-definition video, Worlds of Ursula K. Le Guin is aimed for public television, web, DVD, and educational distribution across broad audiences.
Media Projects Production
$600,000 (approved)
$600,000 (awarded)