text:
"""Module for reading sequence data"""

import os
import threading
import numpy as np
import logging

from time import sleep
from collections import deque

import fseq

class SeqReader(object):
    """Reads sequence data and encodes it.

    The length of the sequence reader reflects the number of inputs to be
    processed.

    The entire stack of inputs can be processed in bulk by invoking
    ``SeqReader.run()`` but the results of each encoding, omitting any
    report building can also be produced iteratively as shown in the examples.

    Attributes
    ----------
    dataArrayConstructor
    dataWidth
    dataType
    popDataSources
    popEncodingResults
    jobQueue
    reportBuilders
    reportDirectory
    SeqEncoder
    resetSeqEncoder
    results

    Examples
    --------

    To invoke the reader it can either be run :

    >>> seqReader.run()
    <fseq.reading.seq_reader.SeqReader at 0x7faf6970fd10>

    or if more control is required, it can be iterated over:

    >>> for res in seqReader:
    ...    reportBuilder.distill(res, dirname=seqReader.reportDirectory)

    Both methods above yielding the same result with the difference that
    the first may store results in ``seqReader.results`` depending on the
    ``seqReader.popEncodingResults`` settings while the latter never keeps
    the results in the state of the instance.
    """

    WORKERS = 32
    DATA_INITIAL_SIZE = 100000
    DEBUG = False

    def __init__(
            self, seqEncoder=None, dataSourcePaths=None, dataTargetPaths=None,
            reportBuilders=None, popDataSources=True, resetSeqEncoder=True,
            popEncodingResults=None, dataArrayConstructor=np.zeros,
            dataWidth=101, dataType=np.float16, verbose=False):
        """
        Parameters
        ----------

        seqEncoder : fseq.SeqEncoder, optional
            An instance of a sequence encoder that will be used to encode the
            input strings

            (Default: ``fseq.SeqEncoderGC``)

        dataSourcePaths: string or iterable object, optional
            Either a path string or a collection of paths to data files

            (Default: no input / added later)

        dataTargetPaths: string or iterable object, optional
            Either a relative path string or collection of relative paths.
            The path is relative to the respective data source.

            (Default: will create a folder in the same directory as the
            data source with the same name as the input suffixed by
            ``.reports``.)

            **Note:** If supplied, must reflect equal number of outputs as
                inputs in ``dataSourcePaths``

        reportBuilders: fseq.ReportBuilder or tuple/list, optional
            If a report should be automatically be built upon encoding
            completion.
            If a list or tuple, it should only contain report builders.

            (Default: The report builders that the encoder requests or none)

        popDataSources: bool, optional
            If data sources should be removed from stack once encoded

            (Default: ``True``)

        resetSeqEncoder: bool, optional
            If sequence encoder should be reset between each source file or
            if the encoder should expect all sources to be the same format.

            (Default: ``True``)

        popEncodingResults: bool, optional
            If encoding results should be popped after they have been processed.

            (Default: ``False`` if initiated with exactly one source,
            else ``True``)

        dataArrayConstructor: func, optional
            The function used to create data storages, e.g. ``np.zeros``,
            ``np.ones`` or ``np.empty``.

            (Default: ``np.zeros``)

        dataWidth: int, optional
            Max length of sequences expected.

            (Default: 101)

        dataType: type, optional
            Data type for the data array.

            (Default: ``np.float16``)

        verbose: bool, optional
            If running will emit some status messages

            (Default: ``False``)
        """

        self._idData = -1
        self._reportBuilders = []
        self._dataSourcePaths = []
        self._dataTargetPaths = []
        self._seqEncoder = None
        self._reportTargetBase = ""
        self._results = []

        self.dataArrayConstructor = dataArrayConstructor
        self.dataWidth = dataWidth
        self.dataType = dataType

        self.verbose = verbose

        logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s %(name)-12s %(levelname)-8s %(message)s',
                    datefmt='%y-%m-%d %H:%M')

        self._logger = logging.getLogger("SeqReader")

        if seqEncoder is None:
            seqEncoder = fseq.SeqEncoderGC()

        self.seqEncoder = seqEncoder

        if reportBuilders is None:

            reportBuilders = tuple(r() for r in seqEncoder.requestReports)

        if dataSourcePaths:
            self.addData(dataSourcePaths, targetPaths=dataTargetPaths)

        if (isinstance(reportBuilders, list) or
                isinstance(reportBuilders, tuple)):

            self.addReportBuilders(*reportBuilders)

        else:
            self.addReportBuilders(reportBuilders)

        self.popDataSources = popDataSources
        self.resetSeqEncoder = resetSeqEncoder

        if popEncodingResults is None:
            self.popEncodingResults = len(self) != 1
        else:
            self.popEncodingResults = popEncodingResults

    def __iter__(self):

        self._idData = 0
        return self

    def __len__(self):

        return len(self._dataTargetPaths)

    @property
    def dataArrayConstructor(self):

        return self._dataArrayConstructor

    @dataArrayConstructor.setter
    def dataArrayConstructor(self, dc):

        self._dataArrayConstructor = dc

    @property
    def dataWidth(self):

        return self._dataWidth

    @dataWidth.setter
    def dataWidth(self, w):

        self._dataWidth = int(w)

    @property
    def dataType(val):

        return self._dataType

    @dataType.setter
    def dataType(self, T):

        if isinstance(T, type):

            self._dataType = T

        else:

            warnings.warn(
                "{0} is not at type, setting it to {1} instead".format(
                    T, type(T)))

            self._dataType = type(T)

    @property
    def popDataSources(self):
        """If sequence reader should remove data sources from list of sources
        when they have been read.

        The general use case is to set this to ``True``, but omitting popping
        can be useful if data may be needed to be re-read with a different
        encoder.

        Returns
        -------

        bool
        """
        return self._popDataSources

    @popDataSources.setter
    def popDataSources(self, val):

        self._popDataSources = bool(val)
        if (self._popDataSources):
            self._idData = -1

    @property
    def popEncodingResults(self):
        """If the outcome of an encoding should be remove from memory as soon
        as report as been produced or iteration completed.

        **Note:** The process will require large amounts of memory if results
        are not popped and several large files analysed.

        Returns
        -------

        bool
        """
        return self._popEncodingResults

    @property
    def jobQueue(self):
        """The data sources to be read and their respective targets.

        Returns
        -------

        list of tuples
            Each tuple representing a source - target pair.
        """
        return zip(self._dataSourcePaths, self._dataTargetPaths)

    @property
    def results(self):
        """A list of the results of the encodings.

        Returns
        -------

        list

        See also
        --------

        SeqEncoder.clearResults
            Clearing the list of results
        """

        return (r for r in self._results)

    @popEncodingResults.setter
    def popEncodingResults(self, val):

        self._popEncodingResults = bool(val)

    @property
    def seqEncoder(self):
        """The encoder attached to the sequence reader that will parse the
        input strings into values.

        Returns
        -------

        fseq.SeqEncoder
            Current encoder

        Raises
        ------

        TypeError
            If trying to assign object that is not a ``fseq.SeqEncoder``

        """

        return self._seqEncoder

    @seqEncoder.setter
    def seqEncoder(self, encoder):

        if not isinstance(encoder, fseq.SeqEncoder):

            raise TypeError(
                "Encoder {0} is not a ``fseq.SeqEncoder``".format(encoder))
        else:

            self._seqEncoder = encoder

    @property
    def resetSeqEncoder(self):
        """If each data source will detect format anew or if all files are
        assumed to be of the same format

        Returns
        -------

        bool
        """

        return self._resetSeqEncoder

    @resetSeqEncoder.setter
    def resetSeqEncoder(self, val):

        self._resetSeqEncoder = bool(val)

    @property
    def reportBuilders(self):
        """The report builders associated with the reader.

        If any, the reports will be destilled automatically at the end of
        ``SeqReader.run()``.

        Returns
        -------

        tuple
            The currently assigned report builders

        See also
        --------

        fseq.reporting.report_builder.ReportBuilder.distill
            Method for distilling encoded data.
        """

        return (r for r in self._reportBuilders)

    @property
    def reportDirectory(self):
        """The directory where reports for the last made encoding should go.

        Returns
        -------

        str
        """
        return self._reportTargetBase

    @property
    def verbose(self):

        return self._verbose

    @verbose.setter
    def verbose(self, val):

        self._verbose = bool(val)

    def addData(self, sourcePaths, targetPaths=None):
        """Add a data source path to be analysed.

        Parameters
        ----------

        sourcePaths: string or iterable object
            Either a path string or a collection of paths to data files

        targetPaths: string or iterable object, optional
            Either a relative path string or collection of relative paths.
            The path is relative to the respective data source.

            (Default: will create a folder in the same directory as the
            data source with the same name as the input suffixed by
            ``.reports``.)

            **Note:** If supplied, must reflect equal number of outputs as
                inputs in ``sourcePaths``

        Returns
        -------

        fseq.SeqReader
            Returns ``self``

        Raises
        ------

        ValueError
            If target paths are supplied but don't match in lenght with the
            number of source-paths
        """

        if isinstance(sourcePaths, str):
            sourcePaths = (sourcePaths, )
        if isinstance(targetPaths, str):
            targetPaths = (targetPaths, )

        if targetPaths is not None and len(sourcePaths) != len(targetPaths):
            raise ValueError(
                "Un-equal number of sources ({0}) and targets ({1})".format(
                    len(sourcePaths), len(targetPaths)))

        if targetPaths is None:

            targetPaths = [os.path.basename(s) + ".reports"
                           for s in sourcePaths]

        self._dataSourcePaths += list(sourcePaths)
        self._dataTargetPaths += list(targetPaths)

        return self

    def addReportBuilders(self, *reportBuilders):
        """Add a report builder to the set of reports done upon analysis.

        Parameters
        ----------

        reportBuilders: fseq.ReportBuilder, optional
            Any number of report builder to be added

        Returns
        -------

        fseq.SeqReader
            Returns ``self``

        Raises
        ------

        TypeError
            If an item in ``reportBuilders`` is not a valid
            ``fseq.ReportBuilder``
        """

        for reportBuilder in  reportBuilders:
            if not isinstance(reportBuilder, fseq.ReportBuilderBase):

                raise TypeError(
                    "Report Builder {0} is not a ``fseq.ReportBuilder``".format(
                        fseq.ReportBuilderBase))

            else:

                self._reportBuilders.append(reportBuilder)

        return self

    def clearJobQueue(self):
        """Removes all jobs in the queue.

        Returns
        -------

        fseq.SeqReader
            Returns ``self``
        """

        self._dataSourcePaths = []
        self._dataTargetPaths = []

        return self

    def clearResults(self):
        """Removes all stored results of encodings

        Returns
        -------

        fseq.SeqReader
            Returns ``self``
        """

        self._results = []

        return self

    def removeReportBuilders(self, *builders):
        """Removes all builders supplied, or all builders if no specific
        builder is supplied.

        Parameters
        ----------

        *args: fseq.ReportBuilder, optional
            Any number of report builder references for report builders to
            be removed.
            If none is supplied, all report builders will be removed.

        Returns
        -------

        fseq.SeqReader
            Returns ``self``

        Examples
        --------

        If current instance has three builders:

        >>> tuple(seqEncoder.reportBuilders)
        (b1, b2, b3)

        The ``b2`` and ``b3`` can be removed by:

        >>> seqEncoder.removeReportBuilders(b2, b3)
        <fseq.reading.seq_reader.SeqReader at 0x7faf696e5810>

        >>> tuple(seqEncoder.reportBuilders)
        (b1, )

        Alternatively all builders can be removed by:

        >>> seqEncoder.removeReportBuilders()
        <fseq.reading.seq_reader.SeqReader at 0x7faf696e5810>

        >>> tuple(seqEncoder.reportBuilders)
        ()
        """

        self._reportBuilders = [b for b in self._reportBuilders if b not in
                                builders and len(builders) > 0]

        return self

    def run(self):
        """Runs through all sources and produces reports if such have been
        attached.

        Returns
        -------

        fseq.SeqReader
            Returns ``self``
        """

        reporters = set()

        if self.verbose:
            self._logger.info("Has {0} jobs".format(len(self)))

        for res in self:

            kwargs = dict(outputRoot=self.reportDirectory)
            args = (res, )
            for rb in self._reportBuilders:

                if self.verbose:
                    self._logger.info(
                        "Reporting {0} with args={1}, kwargs={2}".format(
                            type(rb),
                            tuple((
                                isinstance(a, np.ndarray) and
                                "{0}.shape={1}".format(type(a), a.shape) or
                                a)
                                for a in args),
                            kwargs))

                t = threading.Thread(
                    target=rb.distill,
                    args=args,
                    kwargs=kwargs)
                t.start()
                reporters.add(t)

            if not self.popEncodingResults:

                self._results.append(res)

        if self.verbose:
            self._logger.info(
                "Waiting for {0} report builders to finish".format(
                    len(reporters)))
        self._joinThreads(reporters)

        if self.verbose:
            self._logger.info(
                "All jobs complete")

        return self

    def _encodingWorker(self, idW, encoder, data):

        while not self._workersStart:
            sleep(0.01)

        while self._more:

            try:
                outIndex, lines = self._lines.popleft()
            except IndexError:
                if self.DEBUG:
                    print("Worker-{0}: Lazy worker awaits more job".format(idW))
                sleep(0.01)
            else:
                if self.DEBUG:
                    print(idW, outIndex, data.shape, id(data))
                encoder.parse(lines, data, outIndex)

    def _spawnWorkers(self, encoder, data):

        workers = []
        self._workersStart = False
        for idW in range(self.WORKERS):
            worker = threading.Thread(target=self._encodingWorker,
                                      args=(idW, encoder, data))
            worker.start()
            workers.append(worker)

        return workers

    def _joinThreads(self, workers):

        #If workers never started
        self._workersStart = True

        #Let workers know no more awaits even if it does
        self._more = False

        while workers:
            worker = workers.pop()
            while worker.isAlive():
                worker.join(1)

        return self

    def next(self):
        """Part of iter interface, produces the encoding of the next
        data-source.

        Returns
        -------

        numpy.ndarray
            Encoding output.

        Raises
        ------

        ValueError
            If no encoder has been assigned.

        StopIteration
            If no more data-source exists.
        """

        if len(self) == 0 or self._idData == len(self):
            raise StopIteration()

        E = self.seqEncoder

        if E is None:
            raise ValueError("No encoder present")

        if self.popDataSources:
            source = self._dataSourcePaths.pop(0)
            self._reportTargetBase = os.path.join(
                os.path.dirname(source), self._dataTargetPaths.pop(0))
        else:
            source = self._dataSourcePaths[self._idData]
            self._reportTargetBase = os.path.join(
                os.path.dirname(source), self._dataTargetPaths[self._idData])
            self._idData += 1

        if self.verbose:
            self._logger.info("Reading: {0}".format(source))

        if self.resetSeqEncoder:
            E.reset()

        D = self._dataArrayConstructor(
                (self.DATA_INITIAL_SIZE, self._dataWidth),
                dtype=self._dataType)

        lenD = D.shape[0]

        detectorThread = threading.Thread(target=E.detectFormat)
        detectorThread.start()

        notInitiated = True
        chunkSize = None

        workingIndex = 0
        linesStore = []

        self._more = True
        self._lines = deque()
        workers = self._spawnWorkers(E, D)

        notEOF = True
        lines2Store = True

        with open(source, 'r') as fh:

            while lines2Store:

                if notEOF:
                    line = fh.readline()
                    if line == '':
                        notEOF = False
                    else:
                        line = line.rstrip("\n")
                        linesStore.append(line)

                if notInitiated:
                    if E.initiated:
                        self._workersStart = True
                        chunkSize = E.itemSize
                        notInitiated = False
                    elif notEOF:
                        E.feedDetection(line)
                    elif not detectorThread.isAlive():
                        lines2Store = False
                    else:
                        sleep(0.01)
                else:

                    while len(linesStore) >= chunkSize:

                        if workingIndex == lenD:

                            self._joinThreads(workers)
                            sleep(0.015)

                            D = np.concatenate((D, self._dataArrayConstructor(
                                (self.DATA_INITIAL_SIZE, self._dataWidth),
                                dtype=self._dataType)))

                            lenD = D.shape[0]

                            self._spawnWorkers(E, D)
                            self._more = True
                            self._workersStart = True

                        else:

                            self._lines.append(
                                (workingIndex, linesStore[:chunkSize]))

                            linesStore = linesStore[chunkSize:]

                            workingIndex += 1

                        #print chunkSize, workingIndex, linesStore

                    if notEOF is False:
                        lines2Store = False

        while self._lines:
            sleep(0.01)

        detectorThread.join()
        self._joinThreads(workers)

        if self.verbose:
            self._logger.info("Reading Complete: {0}".format(source))

        return D[:workingIndex]


text:
Q: Application-defined or object-defined error when using Access 2007 Report Wizard We have a single user who has been having problems with Access 2007.  Specifically, this particular user can open any database, but when they try to use the Report Wizard, at the end of the wizard they are getting the generic error message, "Application-defined or object-defined error".  This is no error number or any further details, but this error happens consistently, regardless of the contents of the report or which database/tables are involved.
Some info that may be pertinent:

*

*Most of the database files are stored on a network share.

*This particular user can use Access on other computers without getting
the error.

*It appears that, at one point, Access 2010 was installed
alongside Access 2007.

*We have tried repairing the Access 2007 installation but it has not helped.

*The computer in question last ran Windows updates approximately 6 months ago, at which point Office 2007 Service Pack 3 was installed, along with several other Office 2007-related updates.  This may coincide with when the user first started experiencing these problems, but I can't be sure.

My initial guess is that there is something wonky with the Access 2007 installation, but I don't know exactly what.  Any ideas?

redpajama_set_name: RedPajamaStackExchange


text:
Q: Is `map` faster than `each`? Is map faster at iterating over the array than each? Is there speed difference between the two?

*

*Map
result = arr.map {|a| a + 2}

*Each
result = []
arr.each do |a|
  result.push(a + 2)
end

A: each should be faster than map since the former does not modify/create anything while the latter does. But in your code, you are comparing different things. It is push that is taking time. Your code is irrelevant from comparing each and map.

A: This is the source for each in MRI v2.2.2:
               VALUE
rb_ary_each(VALUE array)
{
    long i;
    volatile VALUE ary = array;

    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);
    for (i=0; i<RARRAY_LEN(ary); i++) {
        rb_yield(RARRAY_AREF(ary, i));
    }
    return ary;
}

and this is the source for map:
               static VALUE
rb_ary_collect(VALUE ary)
{
    long i;
    VALUE collect;

    RETURN_SIZED_ENUMERATOR(ary, 0, 0, ary_enum_length);
    collect = rb_ary_new2(RARRAY_LEN(ary));
    for (i = 0; i < RARRAY_LEN(ary); i++) {
        rb_ary_push(collect, rb_yield(RARRAY_AREF(ary, i)));
    }
    return collect;
}

Notice that map and each are almost the same (which is to be expected) but map also needs to create an array, and then it does a push. Your version of each in Ruby is basically doing the same thing, but yours is Ruby, this is C, so there will be extra overhead through recreating the lower level at the higher, and that C is faster than Ruby in general anyway.

A: I think yes.
I've tried this test
require "benchmark"

n=10000
arr=Array.new(10000,1)
Benchmark.bm do |x|
  #Map
  x.report do
    n.times do
      result = arr.map {|a| a + 2}
    end
  end

  #Each
  x.report do
    n.times do
      result = []
      arr.each do |a|
        result.push(a + 2)
      end
    end
  end
end

And I got this times
       user     system      total        real
   5.790000   0.060000   5.850000 (  5.846956)
   8.210000   0.030000   8.240000 (  8.233849)

Seems like map it's faster
I saw this video http://confreaks.tv/videos/goruco2015-how-to-performance
she shows many ruby profiles and tools, if you are interested to improve your performance you will find a lot of tips there.
added
This is a crazy behavior for me!
require "benchmark"

n=10000
arr=Array.new(10000,1)
Benchmark.bm do |x|
  #Map
  x.report do
    n.times do
      result = arr.map {|a| a + 2}
    end
  end
  #Each and push
  x.report do
    n.times do
      result = []
      arr.each do |a|
        result.push(a + 2)
      end
    end
  end

 #Each and <<
  x.report do
    n.times do
      result = []
      arr.each do |a|
        result << (a + 2)
      end
    end
  end
end

and the result
       user     system      total        real
   5.880000   0.080000   5.960000 (  5.949504)
   8.160000   0.010000   8.170000 (  8.164736)
   6.630000   0.010000   6.640000 (  6.632686)

is the operator "<<" faster than method push? I didn't expect that, I thought that was a kind of alias.

A: Not definitive, but indicative:
require 'fruity'

def mapit(a)
  a.map {|e| e + 2}.size
end

def eachit(a)
  result = []
  a.each do |e|
    result.push(e + 2)
  end.size
end

a = Array.new(1_000) { rand 10 }
compare do
  map    { mapit(a) }
  each   { eachit(a) }
end
  #=> Running each test 32 times. Test will take about 1 second.
  #=> map is faster than each by 2x ± 0.1

a = Array.new(10_000) { rand 10 }
compare do
  map    { mapit(a) }
  each   { eachit(a) }
end
  #=> Running each test 4 times. Test will take about 1 second.
  #=> map is faster than each by 50.0% ± 10.0%

a = Array.new(100_000) { rand 10 }
compare do
  map    { mapit(a) }
  each   { eachit(a) }
end
  #=> Running each test once. Test will take about 1 second.
  #=> map is faster than each by 2x ± 0.1

This is an imperfect benchmark of your two methods. Asking whether each or map is faster only makes sense for very specific comparisons.

A: I've come upon this three years later, because I wanted to answer the same question that the OP posed under different circumstances. It's clear that if you use map and each to create a new array, map is faster, as the existing answers explain.
However, it seems to me that the real question is whether it is faster to create a new array with some modifications using map or make the same modifications to an existing array using each. To test this, I modified the benchmark in the accepted answer thus:
require "benchmark"

def mapmethod(input)
  input.map(&:reverse)
end

def eachmethod(input)
  input.map(&:reverse!)
end

n=10000
arr=Array.new(10000,'ab')
Benchmark.bm do |x|
  #Map
  x.report do
    n.times do
      mapmethod(arr)
    end
  end

  #Each
  x.report do
    n.times do
      eachmethod(arr)
    end
  end
end

And I got this result:
   user     system      total        real
27.362799   0.103154  27.465953 ( 28.441034)
15.204973   0.392920  15.597893 ( 15.993965)

This seems to me a pretty strong indicator that modifying an existing array is significantly quicker than creating a new one with the same modifications. So, if you don't need a new array, and performance is a priority, I would use each. Otherwise, I'd use map.


We have recently rolled out a fortnightly domestic waste collection to the public in Southampton to coincide with the council's decision to move to fortnightly collections. This service will enable domestic customers to continue with their weekly waste collections by having Lili Waste provide a service on alternate weeks to the council.
Join before 4 PM and receive your bin the next day!
Or fill in the form and receive a free quote.
"Domestic waste collections has never been so good!"
Enjoy the difference by using our state-of-the-art Domestic Waste Collection services in Southampton. Welcome to the Lili Experience!


text:
You are here: Home / Breaking news / He could be the answer for spurned Yankees
He could be the answer for spurned Yankees
Hamish Blair/Getty Images
The fastball comes in regularly at 92-94 mph, and sometimes it can creep up to 96 or perhaps even 98. There's a big-time slider, too, and enough of a curveball and changeup that scouts write up Yusei Kikuchi as a four-pitch pitcher.
"A true power left-hander," one American League scout said this week.
"At least a third starter," said another AL scout who has watched Kikuchi pitch multiple times. "If it all comes together, a highly respected No. 2. Will be one of the better left-handed starters in the big leagues."
Not every scout agrees, but you could say that about just about every pitcher on this winter's free-agent market, which Kikuchi joined when his Japanese team went through the posting process this week. Not every scout would commit to Patrick Corbin's future, either, and he just got $140 million from the Washington Nationals.
Teams still searching for a starter can no longer dream of Corbin, or of James Paxton, who was traded from the Seattle Mariners to the New York Yankees. Nathan Eovaldi is staying with the Boston Red Sox after agreeing to a reported four-year, $67.5 million deal Thursday. Pitchers like Dallas Keuchel and J.A. Happ remain on the free-agent market, and the Cleveland Indians will talk about trading one of their starters, but there are still more teams with needs than there are available starters.
Kikuchi should fit right in, and he should end up as a good option for someone. His Japanese team, the Seibu Lions, posted him this week, making him available between now and Jan. 3 to any team willing to pay the price. Jon Heyman of Fancred reported last week that the market was "strong," with at least four West Coast teams believed to be showing interest. The Philadelphia Phillies, Texas Rangers and New York Yankees have also been linked with Kikuchi.
It's easy to see why.
Some scouts see Kikuchi as having the versatility to help a team out of the bullpen in the postseason, the way Kenta Maeda has with the Dodgers.Jonathan Daniel/Getty Images
Kikuchi is 27 years old, four years older than Shohei Ohtani was when he moved from Japan last winter but still young compared to other free agents. He's a year younger than Eovaldi, two years younger than Corbin, more than eight years younger than Happ.
With Scott Boras as his agent, it's probably a mistake to think he'll be a bargain (and unlike with Ohtani, there are no limits on what a team can spend).
Kikuchi is different. He didn't grow up in upstate New York and he hasn't pitched 172 games in the major leagues, as Corbin did and has. He hasn't pitched on a major league schedule and he hasn't faced major league hitters.
But he did have a 1.97 ERA with the Lions in 2017, with more than a strikeout an inning and fewer baserunners than innings pitched (he had a 3.08 ERA in 2018). He's been good enough for long enough that at least four big league teams tried to sign him right out of his Japanese high school back in 2009, and he's bold enough that he seriously considered accepting one of their offers.
Japanese kids don't do that, and in the end, Kikuchi didn't, either. But it says something about his competitive drive that he even considered it.
He took the more standard route of first pitching professionally in Japan, but along the way, there were signs he always had his eye on a move to America. He worked in the weight room to improve the velocity on his fastball. He made offseason trips to California, familiarizing himself with American culture in between workouts with Brian Wolfe, a Seibu teammate. He went to pitch for a while in the winter league in Australia, again showing an ability to adjust.
"I've had this target in mind ever since the first winter after I entered high school," Kikuchi said recently, according to a Sports Nippon report translated and relayed by Jim Allen of Kyodo News.
Kikuchi attended the same Japanese high school as Shohei Ohtani, but he'll arrive in the major leagues with much less hype.Kyusung Gong/Associated Press
Some scouts believe he'll have less of an issue adjusting to the major leagues than some other Japanese pitchers have. And some see him providing versatility, as someone who could be effective out of the bullpen.
Starters get more money than relievers, in general, so Kikuchi will almost certainly sign this month with a team that believes he can start. But maybe he can be what Kenta Maeda has been the last couple of seasons with the Los Angeles Dodgers: a pitcher who works primarily as a starter in the regular season but transitions to the bullpen for October.
First, he has to pick a team. The posting system allows any of the 30 major league teams to negotiate with him in the 30-day window that opened Dec. 5. Once he agrees to a contract, the signing team will also be responsible for a release fee that will be paid to the Seibu Lions. That fee ranges from 15-20 percent, depending on the size of the deal and would also cover any bonuses he receives.
While Kikuchi hasn't had any major surgeries, a signing team will also need to be convinced of his health. He missed some time early in the 2018 season with what was described as a degradation of his left shoulder, but scouts who work in Japan point out that teams there are much more cautious bringing players back from injury. In any case, Kikuchi returned and appeared healthy to scouts who watched him late in the season.
The other question will be the adjustment period once Kikuchi signs. While some scouts said his normal routine suggests he'll adapt quickly, one Japanese baseball executive cautioned that a signing team would need to be patient with him.
"He was always cited here as having some of the best potential of any left-handed pitcher," the executive said. "And then it took him six years to win double-digit games. I hope this doesn't turn into a repeat of Kei Igawa."
Igawa, a left-hander who had success in Japan, came to the major leagues at 27 when the Yankees spent $46 million (salary and posting fee) for a five-year deal. Igawa had a 6.66 ERA in just 16 major league games in 2007-08 and spent the next three-plus seasons in the minor leagues before returning to Japan and playing through 2014.
And even though many Japanese pitchers since then have enjoyed major league success—seven pitched in the big leagues in 2018, per Baseball Reference's play index, and 24 have pitched in the majors in the last 10 years (not counting position players Nori Aoki and Ichiro Suzuki)—the memories of those who failed remain.
Most scouts surveyed by Bleacher Report believe Kikuchi will be one who succeeds. But the feeling isn't universal.
"He's just fair," said one National League scout who watched Kikuchi in 2018. "Not as good as others who have come over and failed."
He's not as good as Ohtani, even though the two attended the same high school (Kikuchi was three years ahead). He's not as good as Clayton Kershaw, even though Kikuchi so admires the Dodgers' left-hander that he tries to catch every Kershaw start on television.
He may be as good as Kazuhisa Ishii, who had four decent but not great seasons with the Dodgers from 2002-05 and was Kikuchi's favorite pitcher to watch before Kershaw.
He may be better than that. He may really turn into one of the best left-handed starters in the major leagues, as one of the scouts contacted by Bleacher Report projected. On a winter market where starting pitchers seem to be in great demand, some team is going to take that chance.
Danny Knobler covers Major League Baseball as a national columnist for Bleacher Report.
Follow Danny on Twitter and talk baseball.
December 8, 2018 /by USA Breaking News
https://usa-breakingnews.com/wp-content/uploads/2018/09/usa-breaking-news-300x94.png 0 0 USA Breaking News https://usa-breakingnews.com/wp-content/uploads/2018/09/usa-breaking-news-300x94.png USA Breaking News2018-12-08 15:39:572018-12-08 16:50:59He could be the answer for spurned Yankees
Trump names Army Chief of Staff Mark Milley to be new Joint Chiefs chairman Salvini holds 'Italians first' rally in Rome

redpajama_set_name: RedPajamaCommonCrawl


One of the most famous attraction of The Netherlands are of course Tulips.
Tulips are growing in the province Noord-Holland, Zuid-Holland and Flevopolder. One tulip flower is coming from one bulb. Bulbs are planted before the winter is started. The flower can only bloom when it has cold nights. That's why we have loads of those flowers; Our climate is perfect for it!
With the beautiful tulips they create each year a big garden in Keukenhof.
The 'Keukehof' is one of the biggest spring gardens of the world. The big garden is settled in a small town called Lisse. Amsterdam would be about 40 kilometers up North.
The 7 million flower bulbs are donated for free by bulb growers. They love the fact this garden is the most colorful and lively garden of the world.
Each year before the season starts about 40 gardeners will plant the bulbs. When the season has finished they take the old bulb out and prepare the soil for the new season. In October or November they will plant new bulbs.
So, what is the 'Keukenhof'? This big garden has a theme every year. In this theme they create beautiful set up inspiring gardens. Beside this they have flower shows, with not only tulips but also flowers like orchids and hyacinths. They really make beautiful creations.
Since it was a long time ago, last year I visited the park.
Although it can be crowded with loads of people, I still enjoyed the scenery with the flowers. I loved to see the different colors. And here I found out there are many species of tulips. One even more beautiful like the other.
If you have enough time, try to rent a bike and go around the area of the Keukenhof to see the tulip fields. Those are amazing, with the tulips lined up in every color you can imagine!
The garden will be open from the end of March till half of May. You'll have to check the dates before you go, because of the seasonal growing of the flowers times can vary.
With about 1 million visitors each year you can imagine it will be busy. Try to avoid extra crowded days like Easter or Whit Sunday. The Best days to visit is during the weekdays Monday to Friday. Fewer people will have time due to work.
Prices of the entree for the big park are about 16 Euros.


// and the number of normals that have already been rendered.
// and a trim curve container in NurbsEdge.
int ord; // Order of polynomials. Order 3 = cubic, etc.
int num; // Number of points.
int partner; // "Joined" edge on adjacent face.
// I'm staying away from non-Nurbs patch terminology.
int uOrd, vOrd; // polynomial orders in each dim.
int uNum, vNum; // Numbers of points in each dim.
DWORD flags; // See flags above.
// from patch code. Not even sure if it's used, offhand.
// If this bit is set then the node being displayed by this mesh is selected.
// Certain display flags only activate when this bit is set.
// NOTE: these are the same bits used for object level.
// Display flags -- not used.
// NurbsMesh: contains faces, edges, verts just like regular mesh.
NRVertex *rVerts; // <<< instance specific.
DWORD flags; // work flags- None used just yet.
// Automatically update all the adjacency info, etc.
// Returns TRUE if patch mesh is valid, FALSE if it's not!
DllExport Box3 getBoundingBox(Matrix3 *tm=NULL); // RB: optional TM allows the box to be calculated in any space.
// NOTE: this will be slower becuase all the points must be transformed.
// Join two faces along one of the four standard edges.
// Constructs a vertex selection list based on the current selection level.


text:
Q: Importing and Renaming .CSV Files Using VBA I am working on a macro to do some reformatting and editing of three workbooks.  These three workbooks always have the same names, respectively, and come from the same source.  They arrive in .csv format.  What I would like is for VBA to import all three of these workbooks to one book as separate sheets, and rename these sheets based on a string found in the title of each workbook.  Is there an easy way to append this to a recorded macro?  Moreover, is there a better way of importing and delimiting / formatting the file than the way generated by recording a macro?  I have placed the code from this method below:
With ActiveSheet.QueryTables.Add(Connection:= _
    "FAKENAME.csv" _
    , Destination:=Range("$A$1"))
    .CommandType = 0
    .Name = "FAKENAME"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .TextFilePromptOnRefresh = False
    .TextFilePlatform = 65001
    .TextFileStartRow = 1
    .TextFileParseType = xlDelimited
    .TextFileTextQualifier = xlTextQualifierDoubleQuote
    .TextFileConsecutiveDelimiter = False
    .TextFileTabDelimiter = False
    .TextFileSemicolonDelimiter = False
    .TextFileCommaDelimiter = True
    .TextFileSpaceDelimiter = False
    .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, _
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 _
    , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
    1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1)
    .TextFileTrailingMinusNumbers = True
    .Refresh BackgroundQuery:=False
End With

A: I propose the following as a much easier method for opening CSVs and adding them to an output Workbook:
Option Explicit
Sub ImportCSVsToSheets()

Dim File As String, Path As String
Dim CSV As Workbook, Book As Workbook
Dim CS As Worksheet, Sheet As Worksheet
Dim LastRow As Long, LastCol As Long
Dim Source As Range, Target As Range

'set references up-front
Application.DisplayAlerts = False
Path = "c:\my\csv\files\"
File = Dir(Path & "*.csv")
Set Book = Workbooks.Add

'output workbook setup, make it bare-bones by deleting all non-first sheets
For Each Sheet In Book.Worksheets
    If Sheet.Index <> 1 Then
        Sheet.Delete
    End If
Next Sheet
Set Sheet = Book.Worksheets(1)
Sheet.Name = "DeleteMeSoon"

'loop through the CSVs and write data to sheets in output book
Do While Len(File) > 0
    'set up CSV and determine copy range
    Set CSV = Workbooks.Open(Path & File)
    Set CS = CSV.ActiveSheet
    With CS
        LastRow = .Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
        LastCol = .Cells.Find("*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
        Set Source = .Range(.Cells(1, 1), .Cells(LastRow, LastCol))
    End With

    'set up new sheet and destination range
    Set Sheet = Book.Worksheets.Add
    With Sheet
        Set Target = .Range(.Cells(1, 1), .Cells(LastRow, LastCol))
    End With

    'copy data from CSV to target
    Source.Copy Target

    'set the sheet name using the CSV file name
    Sheet.Name = Left(Left(File, Len(File) - 4), 31)

    'close the CSV and repeat
    CSV.Close SaveChanges:=False
    File = Dir
Loop

'remove that last pesky sheet
Set Sheet = Book.Worksheets("DeleteMeSoon")
Sheet.Delete

'save it however you'd like and boom we're done
'Book.SaveAs Filname:="a-file-name", FileFormat:=xlWhatever
Application.DisplayAlerts = True
End Sub


Evoking elements of high-fashion Asian streetwear, and with its distinctively European silhouette, this hoodie is a must have for your health goth aesthetic.
From the cryptic query boldly printed on the front to the screaming 'WAKE UP!' scribbled across the sleeves, this piece is an immediate attention grabber. Sure to make you stand out in a crowd with its hypnotizing effect, it's a guaranteed topic of discussion in any social circle, and a comfortable one at that!
The piece fits comfortably in an XL on most body types 5'9"-6'1".
The model depicted is 6'1" with an athletic build, and wearing an XL.


With changing legislation, tightening tax rules, increased costs and seasoned landlords apparently exiting the market, it's no wonder why more and more landlords are instead opting for short-term holiday lets. Even day-to-day homeowners (in other words, those who wouldn't consider themselves landlords or property investors) are finding the option of hosting guests for a short-term in their properties to be very financially rewarding compared to the historically low-interest rates. There is also an increased popularity of staycations, a holiday spent in one's home country rather than abroad, or one spent at home and involving day trips to local attractions.
Whilst it is financially rewarding to host guests, if you're doing so in your own residential home, it won't receive the official HMRC designation of Furnished Holiday Letting, Furnished Holiday Lettings attract tax benefits and are relatively easy to set up but the key is quality and marketing, as well as an understanding of the planning and tax implications you may face as a Holiday Accommodation provider.
You'll find most Furnished Holiday Lettings will be in converted outbuildings or rural cottages, empty flats in tower blocks or other residential premises that can be let on a commercial basis. There is strong demand for one and two bedroom cottages and large houses which accommodate twenty or more guests, not to mention a strong demand for desirable locations.
You don't necessarily need planning permission to use an existing residential property, however, if you're converting farm buildings, such as barn or stable, permission is required for the change of use and any building works associated with the conversion.
It goes without saying that the location of your furnished holiday let should be in a great location, somewhere you would want to stay if you went on holiday; an unobtrusive, well-placed area with access to power and water.
When you do decide where your furnished holiday let is going to be, you should involve building planners early and establish the boundaries of your project, such as budgets, application and whether or not your initial ideas and considerations work in the area you've selected. Once all of this checks out, you can really start thinking about design. By going into the project with a clear idea and design in mind, you'll minimise your costs by avoiding planning applications that have little chance of being approved or worse, you complete the works and the property doesn't have quite the demand you expected; in this instance, you may have no choice but to consider long-term tenants (though even this may be unsuitable) or selling the property.
Whilst some would say you need Wi-Fi, smart TVs, a reliable mobile signal, high-quality beds and linens, open fires, wood burners and all the bangs and whistles you'd find in the likes of Burj Al Arab, the seven-star hotel in the United Arab Emirates, we feel much of this is unnecessary. In the digital world, Wi-Fi, good mobile signal and at least a TV with Freeview, in our opinion, is a must, alongside a sturdy bed, comfortable mattress and clean linens (which will need to be washed between guests, obviously) however, a smart TV, wood-burner, etc are unnecessary costs unless that is the sort of luxury you're looking for, in which case, the premium you charge for such luxury will be according to the level of quality. However, Harry Albert Lettings & Estates have received exceptional results from a double room in Nottingham which is furnished with a bed, bedside cabinet, 32inch TV and canvas wardrobe; the homeowner regularly earns upwards of £723 per double room per month, however, this isn't considered a furnished holiday let because it is in the homeowners personal residence. It does go without saying that quality is a crucial ingredient for maximum occupancy and in turn, increased revenues.
The largest benefit of Furnished Holiday Lettings, especially if you have a second property of high sentimental value, is that you don't have to pay council tax. A self-catering accommodation which is available for short-term lettings for more than 140 days in any given year, is subject to Business Rate property tax. Since all FHL properties must be available to let for a minimum of 210 days, they fall into this category. However, this isn't necessarily bad news as you can claim Small Business Rate Relief, which can be up to 100% (dependent on what area you are in). Therefore, goodbye to council tax!
Another benefit is flexibility; flexibility works both ways with Furnished Holiday Lettings. Some landlords may want to sell their property, but not right away. Obviously, they have the option of leaving their property empty, but that's not exactly shrewd business! So, they offer the property as a short-term let.
Taking on tenants for a shorter period gives landlords the opportunity to take stock of how the market's performing and assess their own personal financial situation too. Should they need to, a short-term let allows them to sell their property without having to wait for a long tenancy to come to an end.
Furnished Holiday Lets reap tax-benefits and apparently benefit from lower maintenance. The property must be located in the UK or the European Economic Area (although this could change after Britain leaves the EU); it must be furnished for normal occupation and commercially let with the intention of generating a profit. The property must be made available for at least 210 days per year and occupied by guests for at least 105 days.
The days you or your friends and family spend in the property will not count towards these requirements but there is some flexibility if you can't meet the required occupation figures if you have multiple properties in the same area or multiple rooms in the same property that are furnished holiday lets. In these cases, the figures will be averaged out across the properties/rooms.
For the first 12 months, your Furnished Holiday Let will effectively be in a probationary period, during this time, the potential and actual availability of your property will be reviewd and the status will only be granted if the property is available for 30 weeks (210 days) per year, let commercial and occupied for 15 weeks (105 days) and must not be occupied by the same people or person for any more than 155 days in total per year (so, you can have someone move in and out between new guests), nor does it count if you, your friends or family stay in the property and pay a discounted rate.
If, after the 'probationary period', you fail to meet the actual occupation figure but you met the occupation requirement the previous year, a grace period may be granted for up to two years meaning you'll retain the status of Furnished Holiday Let but you will lose this status and all tax benefits should you fail to meet the occupation requirements going forward. However, Harry Albert Lettings & Estates will be happy to discuss your options with you in these instances.


text:
John F. Nucci
John's practice focuses on a wide variety of litigation matters. He is experienced in all phases of litigation.
Prior to joining Mintz, John served as a judicial law clerk to the Honorable Robert Cordy of the Massachusetts Supreme Judicial Court. He also worked as an Assistant District Attorney in the Appellate Division of the Suffolk County District Attorney's Office, where he filed first appellate briefs on behalf of the Commonwealth in twelve cases, and presented oral argument before the Massachusetts Appeals Court in seven cases.
During law school, John served as a Student Prosecutor at the Suffolk County District Attorney's Office.
Suffolk University Law School (JD, summa cum laude)
Suffolk University (BS, cum laude)
Represents joint venture between international hotel company and leading global investment firm in dispute with landowner regarding rights to 100+ year leasehold interest in a high-value Boston hotel property.
Suffolk Jurisprudence Award, Secured Transactions (2011)
Distinguished Oral Advocate, Legal Practice Skills Section Competition (2010)
Distinguished Best Brief, Legal Practice Skills Section Competition (2010)
Phi Delta Phi Honor Society
Is the Defense Bar Losing the "Securities Class Action War?"
December 11, 2017|Blog
Treasury Wine Decision Confirms Shift in Class Action Closure Process
October 5, 2017|Blog
Dueling Classes Dispute the Breadth of Released Claims in the Halliburton Securities Litigation
April 11, 2017|Blog
December 11, 2017 | Blog | By John Nucci
Douglas Greene, one of the United States' most well-known securities litigators – on either side of the bar – recently wrote a four-part treatise, titled Who is Winning the Securities Class Action War – Plaintiffs or Defendants?, in which he discussed the various ways in which the defense bar is losing the "securities class action war."
October 5, 2017 | Blog | By John Nucci, Joel Rothman
Recently, in Melbourne City Investments Pty Ltd v. Treasury Wine Estates Limited ("Treasury Wine"), the Full Court of the Federal Court of Australia considered a primary judge's class closure order which broke new ground in group action practice in Australia.
April 11, 2017 | Blog | By Joel Rothman, John Nucci
In the long-running Halliburton securities litigation, a dispute has arisen between two rival class proponents.
Federal Court of Australia Approves a Common Fund Class Action Model for the First Time - No Opt-In Required
February 2, 2017 | Blog | By John Nucci
As discussed in this space before, Australia is quickly becoming a key venue for securities class action litigation. With the release of its decision in Money Max Int. Pty. Ltd. (Trustee) v. QBE Insurance Group Limited, the Federal Court of Australia took another step toward making Australia a class-friendly location.
Away Game: Canadian Supreme Court Allows Superior Court Judges to Determine Settlement Motions Outside of their Home Provinces
December 6, 2016 | Blog | By John Nucci
Recently, the Supreme Court of Canada had the opportunity to decide a specific issue with potentially large ramifications. In Endean v. British Columbia (Endean), the Court considered whether judges of the Canadian Superior Courts have jurisdiction to hear motions in a different province.
Canadian Appellate Court Confirms That Judges Must Consider Evidence From Both Parties when Deciding a Motion for Leave to Bring a Class Action
October 5, 2016 | Blog | By John Nucci
As detailed repeatedly in this space, the Canadian court system has issued a number of decisions which have altered the practice of bringing – or defending against – a securities class action for secondary market misrepresentation.
After Adopting the "Fraud-on-the-Market" Presumption of Reliance, Australia is Poised to Become a Plaintiff-Friendly Venue
August 18, 2016 | Blog | By John Nucci
The United States is a popular location for securities class actions, due in large part to its reputation as a generally plaintiff-friendly system.
Canadian Court Holds That Evidentiary Requirement For Leave To File Securities Class Action Is "Not A Low Bar"
June 14, 2016 | Blog | By John Nucci
In January of 2016, this blog commented on the Supreme Court of Canada's decision in the seminal case of Canadian Imperial Bank of Commerce v. Green.
Australian Court Manages Concurrent Class Actions By Giving The Class Members A Choice
May 18, 2016 | Blog | By John Nucci
As securities litigation becomes increasingly globalized, the Mintz Levin Institutional Investor Class Action Recovery practice is constantly monitoring and participating in jurisprudential developments in a number of countries, both alone and through collaboration with foreign counsel.
Ontario Superior Court Decision Confirms That "Public Correction" Requirement is a Temporal Marker
March 1, 2016 | Blog | By John Nucci
Under the Ontario Securities Act ("OSA"), a statutory right of action exists for secondary market misrepresentation for any person who acquires or disposes of an issuer's securities within the relevant time period.


Father's Day is known as the commemoration of and the honoring of a father with the patrimonial bond and the impact of fathers in the society. The father's day in Nepal falls either in the August (Shrawan or Bhadra) every year. This depends on the cycle of the moon. The special "Buwa ko Mukh Herne Din" in Nepal actually runs for one day. As we know all that father's day is celebrated to respect the father, different kinds of gifts and chocolates are given as the honor of the father. Mero Shopping offers you the best online gifts for father's day. We have different online gifts for father's day in Nepal. You can give the gifts like watches, belts, clothes and much more with the combination of sweet chocolates.
This day carries a great importance in the Nepalese society. As there is a culture in the Nepalese society to respect their elders in the traditional way, this day gives a great influence of honoring the fathers all around the country. This special day is set apart for the veneration of the fathers. In this supreme day, sons, as well as daughters, go home to meet their fathers. The people who are far away from their house can also send the piece of honor to their and show the huge respect. Different delicious food is prepared at home and the gifts and the delicious food are offered to the fathers.
We've different types of gifts that you can send or give to your father to show a huge respect. We've got different types of sweets and chocolate gifts for father's day that will absolutely make your father feel a moment of pleasure. We've also got different clothes, watches, belts and combo gift pack as well. We offer you these gifts at a discountable price. We have the full facilities for home delivery. You can even order us the gifts you want to send and the location and we'll deliver the gifts to the given location. Contact us and experience our best service for online home delivery in Nepal.


text:
René "Challain" Ferret (auch "Challun" Ferret, * 1914; † 1996) war ein französischer Gypsy-Jazz- und Musette-Gitarrist. Er wird auch als der "vierte Bruder ehrenhalber" der drei Ferret-Brüder bezeichnet.

Leben und Wirken
René "Challain" Ferret, ein Cousin der Jazzgitarristen Pierre Joseph "Baro", Etienne "Sarane" und Jean Pierre "Matelo" Ferret, spielte als Rhythmusgitarrist ab Ende der 1930er-Jahre bei Gus Viseur ("Swing Valse", "It Had to Be You") und mit dem Quintette du Hot Club de France. Mit Matelo und Baro Ferret sowie dem Bassisten Maurice Speilleux bildete er Le Trio Ferret, das in Paris 1938/39 mehrere Plattenseiten einspielte (u. a. "Ma Théo", "Gin Gin" und "La Valse des Niglos"). Dabei entstanden auch 1938 Aufnahmen mit dem Saxophonisten Albert Ferreri (u. a. "Andalousi" und "Exactly Like You").

Im Februar 1948 trat er auf dem Festival de Jazz in Nizza mit Stéphane Grappelli und Django Reinhardt auf und wirkte bei den folgenden Studioaufnahmen für das Label Swing in Paris mit ("Oh, Lady Be Good"). Im Bereich des Jazz war er zwischen 1938 und 1948 an elf Aufnahmesessions beteiligt. In den 1950er-Jahren begleitete er den Akkordeonisten André Verchuren und den Geiger Yoska Nemeth. Nach seiner Heirat zog er ins Midi, wo er weiter auf lokaler Ebene auftrat, in den 1980er-Jahren mit einer Jazzband namens Django Jazz. Sein Sohn Paul "Challain" Ferret ist ebenfalls Gitarrist und arbeitete u. a. mit Christian Escoudé.

Diskographische Hinweise
 Django Reinhardt, Le Trio Ferret, Oscar Alemán, Quintette du Hot Club de France: Jazz & Guitare (EMI France, ed. 1995)
 Le Paris Bleu (Kompilation, Blue Note Records, ed. 1992)

Weblinks

Einzelnachweise

Jazz-Gitarrist
Gitarrist
Musik der Roma
Musiker (Frankreich)
Franzose
Geboren 1914
Gestorben 1996
Mann

redpajama_set_name: RedPajamaWikipedia


text:
Q: Structure theorem for etale algebras over a more general ring than a field I call etale a finite-type flat $R$-algebra $A$ such that  $\Omega_A =0$ (I hope this is the standard definition).
In the case where $R=k$ is a field, any such algebra $A$ decomposes as a finite product of finite separable extensions of $k$.
What about algebras over more general rings? Do we get a decomposition of $A$ as a finite product of "simpler" rings?
For example, what if:
$R$ is local artinian
$R$ is artinian
$R$ is local noetherian of dimension 1
$R$ local noetherian domain of dimension 1
$R$ is a DVR
$R$ is a PID
$R$ is a Dedekind domain
and so on...
I would be interested in any of these cases and in others you may want to add ( I hope the question is not too broad)
In cases where $R$ is normal, can we use Serre's criterion to get a decomposition of $A$?

A: I would recommend you to look at EGA IV$_4$ (18.4.5) and (18.4.6). In brief: Let $A \to B$ be a locally finite presentation algebra with $A$ local with maximal $\mathfrak{m}$. Then $B$ is étale at a point corresponding to a maximal $\mathfrak{n}$ If and only if there is a polynomial $F \in A[T]$ such that $B = A[T]/\langle F \rangle$ such that $F'(\overline{T}) \notin \mathfrak{n}$. We sometimes say that $F$ is separable at $\mathfrak{n}$. Every other case restricts essentially to the local case by localizing $B$ adequately.


In its pursuit towards building a new technology community in Abuja, the Office for ICT Innovation and Entrepreneurship (OIIE), a subsidiary of National Information Technology Development Agency (NITDA), inaugurated "StartUP Friday" on February 19, 2016 at the office of OIIE in Maitama, Abuja.
StartUP Friday, as a regular meet-up event, would promote and encourage new tech-driven start-ups that are driving their businesses with ICT to come together for the common goal of taking their business to the next level.
He explained that StartUP Friday would offer opportunity to relax, network, share ideas, and listen to insightful advice from different speakers, while providing essential support to ensure that the startups thrive to generate jobs and create wealth for themselves.
According to him, StartUP Friday would assist the startups to grow an exchange community of tech-driven startups, investors, mentors and other key players that could nurture the upcoming entrepreneurs to become successful businesses.
OIIE is a special purpose vehicle established under NITDA to nurture, cultivate and expand the ICT innovation and entrepreneurship within Nigeria in line with National ICT Policy and NITDA Act 2007.
The establishment of OIIE as a specialized and focus organization would address the challenges inhibiting the growth of entrepreneurs as well as create enabling environment to foster innovation and entrepreneurship across the country.


I'm back with a new post! Yayy!! In this post, I wanted to explore all the things that I'm doing now that I never in a million years thought I'd do. I'm a grown girl now and I'm doing things that my child self would feel sick with nerves at the thought of doing it.
#1 Grow Up! We all do it but when I was little my biggest fear was to grow old. I didn't want to be 18 or 25, that meant responsibilities that I didn't want. I wanted to be a child forever, be looked after by my parents but now I welcome growing older. It comes with a little more adventure at the cost of a few extra responsibilities.
#2 Own a Purse. I'm sure all my friends' eyes have bugged out of their heads considering how I love to buy purses. This was another one of my childhood fears. I swear I wasn't a weird kid who was afraid of everything. I remember as a child -with my fear of growing up- that the concept of owning a purse filled with money made me sweat in fear. I was afraid of owning a purse filled with debit cards and cash. Debit cards specifically. I associated owning a purse/ wallet with adulthood, independence, and having to make your own money. You'll be glad to know my feelings towards purses have changed dramatically. The idea of having a purse filled with cards and cash makes me extremely happy. Who's up for shopping?
#3 Enjoy Shopping. I used to dread shopping. It was so boring being lead around BHS *Shiver* and Marks & Spencer's. I would yawn all over the shop waiting impatiently until my Mum said we could go home. Since then, I've come to the realization that shopping can be fun if you go to shops you enjoy. You just have to stay away from the shops your Mum took you too. P.S- I am so happy BHS closed down!
#4 Take an interest in Fashion. My interest has skyrocketed over the last few years and I think it's because it became fun, it was no longer something to cover your back. I started to take an interest in my appearance and take influence from the people around me and the media. I am much better put together now than I was ten years ago. Can you believe that my favorite outfit was once a matching velour tracksuit and hoodie from Primark? *Cringe* I guess we've got to start somewhere.
#5 Hang around Shopping Malls. I think I was around 10 when I asked myself what could possibly be entertaining for girls to hang around Shopping Malls. Well, sadly I have become one of those girls I used to wonder about. I could spend like six hours walking in, out and around shops for no reason.
#6 Own more than 5 pairs of Shoes. Growing up I was only allowed four pairs of shoes; one for school, a pair of trainers, sandals and a pair for special occasions. I used to dream of the day I would own more than four pairs of shoes and start building a shoe collection. Now, I've lost count of how many I have.
#7 Buy a Magazine Monthly; The ultimate sign of being a sophisticated lady. I've purchased GLAMOUR every month for the last 3 years and I absolutely love it. From the content to the writers, the quality of it is amazing.
#8 Wear Makeup. This is pretty self- explanatory. When I grew up the latest lip kit everyone spoke about was the glossy one from Sainsbury's they picked up with their Mum at the weekend. Now we're talking Kylie Lip Kits, Barry M, Mac etc.
#9 Know What I Want to Be When I Grow Up. My parents will never let me forget the day I told them I wanted to be a cleaner. It will go down in history as one of the strangest things I've ever said. But don't worry, I know that when I grow up I want to be a journalist... And I'm halfway there. Well technically, I'm already there. Yayy!!
#10 Go To University. Yes, your girl made it! She is about to become a journalism student (whoop!!), I can officially put that in my Twitter Bio! Growing up, I never wanted to go to university, I didn't like the idea of debts or taking out loans. I saw it as pointless. Neither of my parents went to uni so I didn't have a role model who went which meant I never saw it as something I had to do. It was only in year 11 when I started to entertain the idea that I considered going to help achieve my dream.
#11 Move Away From Home. My home is my safe place, it's filled with a million memories, and I can't believe I'm moving out. It will be sad but it's the next stage of life and for that, I'm excited.
#12 Make a Difference. Growing up, I used think that we were all following the same 'path' consisting of education, working, getting married, having kids, working, retiring etc. It was a boring path that we followed throughout our lives. That's probably why I was afraid of growing up. But life is so much more than following a 'path', we have a voice, we can make a difference in the world and to have the opportunity to do that, I am extremely grateful.
There are lots of things I do now that I never thought I'd do. I can't think of them of all of them but this was quite a list. It's fun to think how we've grown as people. How my mind has widened. I've learnt so much and I'm continuing to learn and do things that surprise me. I feel extremely grateful and privileged to be doing some of the things I'm doing.
What things do you do now you never thought you'd do?


text:
Home Jurisdiction Federal Coalition plans $1.5bn APS budget cuts, promises to spare a few agencies
Coalition plans $1.5bn APS budget cuts, promises to spare a few agencies
By Stephen Easton
Prime Minister Scott Morrison and Minister for Finance and the Public Service Mathias Cormann. (AAP Image/Mick Tsikas)
A re-elected Morrison government would aim to extract $1.5 billion from departmental budgets over four years, "building to $5 billion over the medium term" to more than offset new spending commitments, according to an election-eve financial statement.
The Coalition would claim 2% annual efficiency dividends from departments for another two years, easing back to 1.5% in mid-2021 and 1% the following year, under a last-minute update to its budget plan published yesterday.
All agencies with an average staffing level of below 200 would be exempt from the efficiency dividend, as would the National Disability Insurance Agency, financial regulators and institutions that maintain Australia's cultural and historical collections.
Along with the NDIA, the lucky few include the Australian Securities and Investments Commission, Australian Prudential Regulation Authority, Australian War Memorial, National Archives of Australia, National Gallery of Australia, National Library of Australia, and the National Museum of Australia.
All existing exemptions for government entities like the ABC, SBS and Safe Work Australia would continue, and temporary exemptions for the Australian Signals Directorate and Office of National Intelligence would become ongoing.
The Community and Public Sector Union estimates the $1.5bn efficiency drive would lead to at least 3000 job losses and is far happier with Labor's plan to leave hundreds of millions of dollars in departmental budgets by scrapping the efficiency dividends, remove the cap on staffing budgets, add 1200 new permanent public servants to the Department of Human Services and provide above-inflation pay rises.
Read more: Labor promises above-inflation pay rises and APS-wide employment conditions
An extended APS enterprise bargaining deadlock that continued for most of the Coalition's time in office caused an effective pay freeze, with public servants repeatedly rejecting offers made under a very strict policy that banned retrospective pay rises. The effective yearly pay increase for staff below senior executive level averaged out under 1% per year over a three-year period.
The government claims Labor would effectively cut more from the Australian Public Service by slashing back its supplemental workforce drawn from consulting and labour-hire firms, and cutting 10% from APS travel bills.
The Coalition claims the APS would have about $600m less to work with — getting to the figure by subtracting the $500 million Labor would leave in APS budgets, by forgoing the current 0.5% efficiency dividends, from the $2.6 billion it intends to save from contractors and consultants.
In the opposition's view, agencies often pay more and get less from these private sector firms and its promise to remove the staffing cap could well see additional staff employed directly by the APS.
The beauty of the efficiency dividend is the government can "leave it to the judgement of departmental secretaries" as to where the cuts are made, according to a joint statement from Treasurer Josh Fyrdenberg and the Minister for Finance and the Public Service, Mathias Cormann.
"If departmental secretaries assess that these efficiencies can best be secured through reductions in expenditure on contractors, consultants and travel, because that makes sense from a value-for-money point of view, then, of course, that is what the Coalition would expect them to do," they said.
"Efficiency outcomes will be better and more sensible by letting departmental secretaries make those judgements based on value-for-money considerations."
The government argues Labor's plan amounts to a "command and control approach" to the APS, suggesting that spending $2.6 billion less on additional staff members and expertise sourced from the private sector could be seen as equivalent to a 2.5% efficiency dividend.
These supplementary staff and high-paid consultants are unlikely to be CPSU members, of course, and the union firmly rejects their roles in supplementing the permanent workforce employed under public service legislation and subject to its employment agreements as well as its various rules, values and code of conduct.
"Labor has adopted detailed and sensible policies to rebuild public sector jobs, capacity and services, while the Liberal and National parties have now confirmed they're promising nothing but more damaging cuts and dysfunction," said national secretary Nadine Flood.
"These figures show the Coalition is planning to sack at least another 3000 people working in Commonwealth agencies, causing even more damage to essential services the Australian people rely on such as Centrelink and Medicare. The Abbott-Turnbull-Morrison Government has been pillaging the public sector for six years, selling it off to private interests piece by piece, and these 11th-hour costings show they're planning more of the same if they're re-elected."
With no time to beat around the bush on the eve of an election, Flood said the aim was to line the pockets of big consulting firms through "dodgy deals" at the expense of good quality public services.
"They slash essential services and the jobs to provide them, causing disasters like robo-debt and over 40 million unanswered calls in Centrelink, then use that money to funnel generous contracts to the big end of town.
"Even in the handful of agencies that would be exempt from these Coalition cuts, like the NDIA, their arbitrary cap on staffing numbers will continue to do tremendous damage and hold these agencies from providing the decent services that the general public needs and deserves."
"It beggars belief that this mob is criticising Labor for its plans to cut off the billions of dollars the Coalition has siphoned from Commonwealth agencies into the pockets of multinational companies like EY, Deloitte, PwC and KPMG.
"These consulting firms have tripled the amount they're reaping from Commonwealth contracts since the Coalition came to power, and their political donations to the Liberal Party reflect that fact."
The big four consulting firms all donate a lot to Labor as well, but generally not quite as much as they provide the Coalition. In 2017-18, only Ernst and Young donated equal amounts to both.
The Morrison government claims its approach would allow it to "re-direct those savings into funding for services and infrastructure" and, according to Cormann, yesterday's last-minute financial update was just "a very small set of additional measures" to go with its April budget.
Labor has also outlined $1 billion in new funding for local government, including $15 million to establish a National Waste Commissioner. "This is in addition to the $9.5 billion dollars in Financial Assistance Grants, $2 billion Roads to Recovery Funding and $419 million for the Bridges Renewal Program," explains the opposition's plan to put federal funds into municipal matters.
Stephen Easton is a former journalist at The Mandarin.
People: Josh Frydenberg Mathias Cormann Nadine Flood
Tags: 2019 federal budget 2019 federal election budget Consultants contractors CPSU cuts efficiency efficiency dividend election election promise labour hire union
Making data work for government
The ROI of Sustainability in Asia Pacific
Department of the Chief Minister and Cabinet
NT CBD
Closing date 31st January, 2022
10 days ago Full Time - Ongoing
Senior Engagement Manager
McKinnon Institute of Political Leadership
Closing date 30th January, 2022
15 days ago Full Time - Fixed Term
General Manager, Darwin (SES Band 1)
The Department of Industry, Science, Energy and Resources
General Manager, Melbourne (SES Band 1)
VIC CBD
General Manager, Perth (SES Band 1)
WA CBD
General Manager, Hobart (SES Band 1)
TAS CBD
Sign up to The Juice
The Mandarin's free daily newsletter.
You'll also receive special offers from our partners. You can opt out any time.


text:
sYnc_below
Explores
West Norwood Cemetery Catacombs
February 25, 2011 | Posted in Bramah, catacombs, catafalque, Dissenters Chapel, Episcopal Chapel, London, Major John George Richardson, Sir George Carroll, Sir William Tite, West Norwood Cemetery | By sYnc
It's not a well known fact but there are actually two sets of Underground Catacombs present at West Norwood Cemetery and there were originally two chapels, the Dissenters Chapel and the Episcopal Chapel (both with catacombs beneath them).
At 05:12am on 17th July 1944 a V1 Flying 'Doodlebug' Bomb fell in West Norwood Cemetery and destroyed the Dissenters Chapel and caused severe damage to surrounding buildings, including the Episcopal Chapel. Plans from 1946 have only recently been discovered that show architect Alwyn Underdown had planned to rebuild the Dissenters Chapel but sadly after laying derelict for many years and hoping to be repaired by the Ministry Of Works, both were eventually demolished and in 1955 a more modern crematorium and chapel was constructed (also an Underdown design).
In total West Norwood SE27 was to suffer from 13 V1's and 1 sole V2 and 47 People died in the area. As well as this the cemetery was hit multiple times by Luftwaffe bombers who used the A23 as a guide into Central London as well as many 'own goals' caused by unexploded Anti-Aircraft shells falling to ground!
The modern crematorium that stands today on the site of the Dissenters Chapel has the furnaces installed in the old catacombs below, they simply boarded up the few dozen internments in one of its original four aisles and installed the cremators in the remaining space. (The Dissenters Catacombs would have originally had capacity for approximately 1500 internments). Over the years the cremation equipment has been changed and upgraded but today there is now an ugly above ground Heat Exchanger in Square 51 causing much controversy due to it being placed over graves…
Across the path all that remains of the Episcopal Chapel is a Rose Garden which today lies beneath scaffolding and sheets of plastic in place to protect the catacombs beneath from further environmental damage. These catacombs have a tall central gallery and six main aisles (three on each side) containing some 95 bays (see plan below).
The bays were used in a variety of ways, some contain private vaults while others contain mixed internments. Other bays today contain gravestones from the cemetery above and some are totally empty.
All shots : Canon 40D & 11-16 Tokina glass – Thanks for looking
Some 'proper' history, © Professor Bob Flanagan, Friends of West Norwood Cemetery:
The Norwood Catacombs
By 1900 the cemetery was becoming largely filled with graves, and even some of the roadways were used for burials. In 1915 a crematorium and columbarium were
installed beside the Dissenters' Chapel. Sadly, both chapels were damaged during World War II, and a number of monuments were also destroyed or damaged.
The cemetery lodge, only just rebuilt in the 1930s, was destroyed by a flying bomb in 1944. The Dissenters' Chapel was demolished in 1955, and replaced by a modern crematorium. The Episcopal Chapel was demolished in 1960 and replaced by a rose garden. Nonetheless the catacombs below the Chapel still survive: those beneath the crematorium now house the furnaces, but those on the site of the Episcopal Chapel remain complete with some 2,000 coffins, unique architectural features, and a unique hydraulic coffin lift. Now listed Grade II, they are sadly closed to public access because of Health and Safety considerations.
Mediaeval tradition allowed for burial in churches for those who could afford it. Thus, at Kensal Green and at Norwood, provision was made for interment in catacombs
situated beneath the mortuary chapels. Of the other commercial cemeteries founded in London at this time – Highgate (1839), Nunhead (1840), Abney Park (1840, wholly for dissenters), Brompton (1840) and Tower Hamlets (1841), catacombs only featured in the designs of Brompton and Nunhead, although the famous Egyptian Avenue at Highgate performed a similar function above ground level. The Brompton catacombs, whilst still accessible, are not on the scale of those at Kensal Green or Norwood, whilst the small catacomb at Nunhead beneath the remains of the Episcopal Chapel is sealed. Catacombs were of course provided in some other English cemeteries, such as those at Church Cemetery, Nottingham, built into the site of a former quarry.
At Norwood the catacombs beneath the Dissenters' Chapel, never very popular, have been so modified as to have lost almost all their original character as they now
house cremators and associated equipment. The fate of the coffins they once held is unknown. The corresponding catacombs at Kensal Green have been sealed. However, the catacombs beneath both Episcopal chapels survive. Those at Norwood consist of a series of brick vaults supported on brick walls and piers. The layout is regular and symmetrical, and consists of a tall central gallery, which corresponds to the location of the demolished chapel, and six corridors running at right angles to this gallery to the North and South that give access to the vaults. Access to the catacombs is now via an external staircase to the East end. There is a further staircase, which would have led down from the interior of the now vanished chapel above.
The six narrower vaulted passages, three on each side of the main vault, each have 7 bays on either side (see plan). Some bays contain gated vaults. Whole bays, half
bays, or any number of individual loculi could be purchased and modified either with cast-iron gates, sealed, or set with stone memorial tablets. Some were simply
left open – in many the remains of funeral tributes placed there by mourners are still visible. An estimated 2,500 coffins are located in those vaults and are supported either on stone shelves, on cast-iron bars suspended between the brick pier supports, or rest on the floor.
At the end of each of the vaulted passages there is an open grating designed to allow air to circulate through the catacomb. By law all above-ground burials must be
in lead-lined coffins. There has been much decay over the years, but generally the lead coffins are intact, although a few have been desecrated. Some massive hardwood coffins, however, remain in fine condition, although many brass nameplates and fittings have been stolen.
The central bay contains some impressive mortuary chapels with elaborate architectural detail in Portland stone and in cast iron, much of it now sadly rusted.
Pride of place goes Sir William Tite (1798-1873) himself, who is interred in Catacomb 90 together with his wife. Vice-Admiral William Young ( ?-1847) has an impressive catacomb chapel part sealed behind an open ironwork door. Young was an officer in the Royal Navy for nearly seventy years, and was at one time in charge of Deptford Dockyard. 'He was distinguished not less for zeal, ability and courteousness in the discharge of his public duties than for simplicity of manners, love of truth and practical benevolence in private life. Erected by widow and children to testify their affectionate and reverential attachment to his memory'. He was a Vice-Admiral of the Blue and lived at Denmark Hill, Camberwell. He was buried on 19 February 1847, aged 85.
Elsewhere in the catacombs are stored various items such as Victorian grave diggers' spades and the memorial plaques removed from the chapels and arcades when they were demolished, including that to Sir William himself. There is also an attractive carved wooden plaque to Pilot Officer Edmund H(ugh) C(raft) Theobald RAFVR (1915-1942) that records that his Hurricane fighter-bomber of 30 Squadron was shot down during 'Operation Crusader', the final relief of Tobruk, on 28 December 1942. He is buried at Halfaya Sollum Cemetery, Egypt.
The Norwood Coffin Lift
In the middle of the central gallery is a unique hydraulic catafalque by Bramah & Robinson dated 1839, which was used to transfer coffins into, and presumably out of, the catacombs – it is thought that the catacombs had a subsidiary function in providing temporary interment for some coffins whilst vaults or mausolea were completed in the cemetery grounds. A major advantage of the hydraulic system was its silent operation, but reliability may have been a factor in view of the problems
encountered with the screw-jack coffin lift at Kensal Green.
Norwood – The Future
In 1965 the South Metropolitan Cemetery was compulsorily purchased for £6,000 by Lambeth Council, using Public Health Act powers. A condition of the deed of transfer was that the rights of existing grave owners were to be maintained, and the Act of Parliament establishing the cemetery and governing its operations was never
repealed. The importance of the cemetery and the quality of its monuments were emphasized in 1978 when it was included within a conservation area, and in 1981 when the entrance arch, gates, walls and railings and 44 monuments were listed (seven Grade II*, the rest Grade II – a further 21 monuments have since been listed).
It has been recently been awarded Grade II* status on the English Heritage Register of Historic Parks and Gardens. Despite this apparent protection in law, the cemetery was subjected over a couple of decades by Lambeth Council to a programme of 'lawn conversion'. During this period, well over 10,000 monuments were removed, ignoring rights of grave owners and keeping no proper records of the position of graves. Moreover, nearly 1,000 private graves were resold illegally for new burials. The destruction was eventually stopped in 1991 (by which time two listed monuments had disappeared and several others had been badly damaged), by the Archdeacon of Lambeth who referred the matter to the Consistory Court of the Diocese of Southwark (80 percent of the cemetery is consecrated ground). The power of management of the cemetery was delegated to a Scheme of Management Committee composed of representatives from both the Diocese and Lambeth Council.
As ordered in the judgment, the Council has restored/repaired the disappeared/damaged listed monuments, and a landscape management survey has been carried out. In the past few years, a concerted effort by the Council, English Heritage and the Friends of West Norwood Cemetery has resulted in the restoration/repair of numerous monuments, as well as parts of the wall and railings; plans were in hand for improvements to the drainage system and, perhaps eventually some restoration of the catacombs. But the Council is currently aiming to undo all this good work, remove monuments, and reopen the cemetery for burials. This despite the its unique place in the history of London, and indeed in the history of British cemetery architecture. Sadly the future for the catacombs looks increasingly bleak.
Others notable catacomb interments at Norwood include
(i) Hon Colonel Sambrooke Anson (1778-1846). Gazetted Lt-Colonel on 15 September 1809, he commanded the 1st Foot Guards in the Peninsular Campaign, 1809-13.
(ii) Edward Charles Mackintosh Bowra FRCS (?-1874). One of the first British Commissioners of the Chinese Customs Service.
(iii) Major-General Charles Alfred Browne (1801-1866) (Catacomb 16 D), son of William Loder Browne, merchant, of Kennington. He joined the Madras Army in 1826 and was gazetted Major-General in 1862 (see www.fownc.org/newsletters/no52.shtml for further information about the Browne family).
(iv) Sir George Carroll (1784-1860) (Catacomb 11 North). Carroll was a stockbroker in1811 and also a contractor for the State Lotteries until 1826 (when lotteries
were abolished) with offices in Cornhill, Oxford Street, and Charing Cross. He was Sheriff of London and Middlesex, 1837-8 and was knighted in 1837. He was Lord Mayor of London, 1846-7, and died at Loughton, Essex on 19 December 1860. [In total there are 17 Lord Mayors interred at Norwood.]
(v) Sir John Cowan (?-1842) (Catacomb 36). Lord Mayor of London, 1837-8.
(vi) James, Lord Hannen (1821-1894). A barrister and judge, Hannen was educated at Heidelberg University and was called to the bar, Middle Temple, in 1848. He became Junior Treasury counsel (government prosecutor) in1863 and was made a Judge of the Court of Queen's Bench in 1868. He was knighted in 1868 and appointed to the Privy Council in 1872. A judge in the Courts of Probate and Divorce from 1872 and President of the Probate, Divorce and Admiralty division of the High Court, 1875-91, he was made Life Baron and Lord of Appeal in Ordinary in 1891. He was President of the Parnell commission, 1888-9, and an arbitrator in the question of the Bering Sea seal fisheries, 1892. He lived at Kingswood House, Sydenham, later the home of John Lawson Johnston (1839-1900, 'Mr Bovril'), also buried at Norwood (grave 29,462, square 38). Hannen is commemorated on the family monument in the cemetery (square 61), but is interred with his wife and the cremated remains of his daughters in the Catacombs.
(vii) John LOCKE (1805-1880) (Catacomb 31 North). A barrister and politician, he was MP for Southwark, 1857-80. He introduced a bill to give witnesses in criminal
cases the right to affirm as in civil cases, 1861.
(viii) Sir Chapman Marshall (1787-1862) (Catacomb 37). Lord Mayor of London 1838-9. He died at Pembridge Crescent, Bayswater on 9 January 1862.
(vii) Major John George Richardson (1786-1867). A Royal Marine, he was severely wounded in the mouth, in an arm and a leg on board HMS Africa in action with a Danish flotilla of gun and mortar boats while becalmed near the Malinor Channel, Sweden, in 1808. He died on 25 January 1867.
(ix) James Bogle Smith (?-1870). A director of the Union Bank of Australia (now ANZ Bank), a post he held from 1837-70. From 1840 the UBA helped to finance settlers to New Zealand. Smith was also London agent for merchant-shipowners William Smith and Son of Liverpool, a trustee of the National Life Assurance Society, and Prime Warden of the Goldsmiths Company. He lived at Lavender Hill, Wandsworth.
(x) Francis Sheppard Thomas (1794-1857) (Catacomb 34). Secretary to the Public Record Office, Chancery Lane, 1826-57. He wrote A History of the State Paper Office, 1849; Handbook to Public Records, 1853, and related works. He died at Croydon on 27 August 1857.
Image Credit: Subterranea Britannica
Mines #34
February 21, 2011 | Posted in ammonal, brattice, curtain, Ironstone, litter, mines, Underground | By sYnc
No names, no locations, just pictures of somewhere. Don't ask for locations because I won't tell you, just enjoy the shots.
Sadly I have photographic proof that items are being stolen/damaged from these places, I suspect by idiot 'tourists' who show up, know nothing about the location, come poorly equipped, bum to their mates they have 'done' the whole place then take a 'souvenir' on the way out…
(In case you are curious the Tesco bag was full of lazy peoples rubbish I was collecting to take out)
Catesby Tunnel, Northamptonshire
February 8, 2011 | Posted in calcite, Canon, catesby, culvert, Portal, Railway, Ruston, Tunnel, vent shaft | By sYnc
Abandoned railway tunnels can be a bit dull after you've done a few, as a rule they are dark, straight and mostly featurless. I've had my fill I suppose and they don't really 'blow up my skirt' anymore, however Catesby presented itself as an opportunity and it was rude to say no…
Catesby Tunnel is a little more interesting than your average tunnel, mainly 'cos its a big boy. I believe it's somewhere around the fifth longest, behind stuff like Rhondda, both Woodhead's, and Standedge.
Interesting features that also set this tunnel aside from many are the culvert that runs the entire length of the tunnel under the tunnel floor, accessed by catchpits (yes I stupidly crawled in there with no waders, up to my waist in freezing water to get the shot below), the three large Rest Cabins built into the up-side wall (one found to contain a sadly ransacked GeoCache) and the five air-shafts that these days spectacularly pour water down into the already flooded tunnel (the north end was knee hight on this visit).
Not many photo's as I managed to flood my 40D and it packed up for a few hours….
Some history, copyright © Graeme Bickerdike/Forgotten Relics
The 2,997-yard structure was cut by T Oliver & Son of Horsham as part of the Great Central's 'London Extension' construction contract No.4. It passes through the upper beds of the lower Lias and the lower beds of the middle Lias. 27 feet wide and 25 feet 6 inches high, Catesby is straight throughout and on a rising gradient of 1:176 to the south, with the summit of this section reached as daylight resumes.
Its creation demanded round 290,000 cubic yards of mining. Work to sink the first shaft began on 18th February 1895 and the last length was keyed in on 22nd May 1897 – a remarkably quick average rate of 110 yards per month. Progress was greatly accelerated by the use of Ruston steam navvies (cranes).
The tunnel was mostly driven from nine construction shafts, each equipped with wooden headgear which was used to lower materials to the men working beneath. None though was permitted within 500 yards of the north portal due to the landowner's wish that the privacy of his residence, close to the workings, be maintained. As a result, 264 yards through very heavy ground had to be constructed by means of a 12x10ft bottom heading and break-ups. This proved liable to breakages and one part completely collapsed. The surrounding strata was under significant pressure which resulted in a heavy lining of seven rings in the arch and side walls, with six rings in the invert. These were divided into 10-foot sections.
Cut-and-cover was used for the first 44 yards from the north portal. The length adjoining this had so little ground above it that the two crown bars were laid from a trench on the surface.
The remainder of the tunnel proved relatively light work and was driven full-sized without headings. Here the lining is mostly five rings thick with a four-ring invert, all faced with Staffordshire brindle and built in lime mortar. Around 30 million bricks were swallowed up by the structure.
Very little water ingress was experienced, amounting to around 80 gallons per minute. Chases were built into the back of the brickwork at intervals, leading to pipes built through the side wall at rail level. Water was then discharged into a culvert in the six-foot, accessed via deep catchpits.
Ventilation is provided by five shafts. Four of these are 10 feet in diameter but the northernmost – 1,250 yards from the entrance – is 15 feet wide to provide greater air flow. The landowner did not want his view blighted by rising smoke either! The first belch from coal traffic occurred on 25th July 1898.
Trackworkers were relatively well served with regular refuges provided on both sides and three rest cabins built into the Up side wall. One is located directly opposite the tablet that marks the "half way" point.
Both lines through the tunnel were inspected by the local ganger twice each day. In the winter of 1906, this role was carried out by Joseph Turner, as it had been for the previous 18 months. At about 4:20pm on 4th January he completed an examination of the Down line.
Half-an-hour later, a London-Manchester express with upwards of 50 passengers on board entered the south end of the tunnel at around 60mph. As it approached the fifth shaft, a rail broke beneath the locomotive and all five coaches behind it derailed, ripping up 450 yards of track. The last carriage became detached and came to a stand foul of the adjacent Up line as a goods train was approaching. Only prompt action by the driver, who put down a detonator, and the guard, who sounded the whistle, prevented a collision.
Catesby Tunnel retired from operational service on 3rd September 1966 since which time the permanent way has been removed. Water ingress compounded by a blocked drain just north of the fifth shaft means that, in places, it is flooded to a depth of a foot or more. Calcite makes it presence felt with some extraordinary formations.
Open Wide July 11, 2014
Even More Magic… July 2, 2014
More Magic June 26, 2014
More Lost and Found – RGHQ 9.2 March 11, 2014
Tosser December 31, 2013
4gas abandoned airfield alconbury arches bunker calcite canon chesty cold war corby culvert exploremobile flashlight flashlights flooded gopro gzi ironstone LED lenser military mines northamptonshire nuclear raf railway reservoir roc post roof collapse roof fall royal observer corp sealed secret bunker shadow factory spy plane sync below tokina tunnel underground usaaf waders water winch it in ww2
© 2019, sYnc_below. All Rights Reserved
Design by Nimbus Themes | Powered by WordPress


90-94 Exceptional - A wine of pride and elegance. Exceeds expectations !
85-89 Excellent - A wine of high quality and great style.
80-84 Authentic - Consistent with the expected characteristics that the Winemaker intended.
75-79 Average - A value for money wine with some imperfections.


text:
2001 New York Yankees American League...
2001 New York Yankees American League AL Championship Ring
2001 New York Yankees Won American League AL Championship Series 4-1 over Seattle Mariners. But Lost World Series Champions 4-3 to Arizona Diamondbacks. New York Yankees' 2001 season was the 99th season for the Yankees in MLB. New York Yankees of the American League ended the 2001 season with a record of 95 wins and 65 losses, finishing first in the AL's East Division.
2001 New York Yankees American League AL Championship Ring Features:


my time getting a freaking checkup. I hope my stomach symptoms don't return, because if I do find out that the bar in my arm has something to do with this, I'll blow a fuse.
This entry was posted on November 21, 2018 at 11:21 pm and is filed under Uncategorized.	You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
Hang in there! You are strong and you are loved!