text:
Q: Detect page break between items in a list My  goal is to find out whether a page break occurs between subsubitems and if so, repeat the item and subitem.  Specifically, I'm trying to get the main etry and subentry of one of my makeindx indexes to be repeated at the top of each new even page in the book I am publishing. I have tried using the repeatindex-package that was designed for this, but it is out of date and by now yields too many issues.
My three-part question is:

*

*How to detect where a page break appears between the subentries, or
the subsubentries in the index;

*Once detected, how to repeat at the top of the new page the main entry and the subentry, or  in case the page break occurs between subentries, rather than between subsubentries, to repeat just the main entry;

*How to have the option to do this only for the even pages, and only in one of several imakeidx indexes.

MWE:
\documentclass[10pt, paper=156mm:235mm, BCOR=12mm, headings=optiontotocandhead, headings=openany]{scrbook}

\usepackage[splitindex]{imakeidx}
\makeindex[options= -s index_style2.ist, intoc,name=A,title=\mbox{Appendix A},columns=1]

\makeatletter
\newcommand{\Dotfill}{\leavevmode \leaders \hb@xt@ 0.75em{\hss .\hss }\hfill \kern \z@}
\makeatother

\newcommand{\testing}{Testing, \emph{testing}, one, two, three, three, four (\emph{1, 2, 3, 4})}

\begin{document}
\frontmatter
\mainmatter
\chapter{The First Chapter}

I could place some placeholder text here, but you get the idea.

\index[A]{\testing!1@One!A}\index[A]{\testing!1@One!B}\index[A]{\testing!1@One!C}\index[A]{\testing!1@One!D}\index[A]{\testing!1@One!E}\index[A]{\testing!1@One!F}\index[A]{\testing!1@One!G}\index[A]{\testing!1@One!H}\index[A]{\testing!1@One!I}\index[A]{\testing!1@One!J}\index[A]{\testing!1@One!K}\index[A]{\testing!1@One!L}\index[A]{\testing!1@One!M}\index[A]{\testing!1@One!N}\index[A]{\testing!1@One!O}\index[A]{\testing!1@One!P}\index[A]{\testing!1@One!Q}\index[A]{\testing!1@One!R}\index[A]{\testing!1@One!S}\index[A]{\testing!1@One!T}\index[A]{\testing!1@One!U}\index[A]{\testing!1@One!V}\index[A]{\testing!1@One!X}\index[A]{\testing!1@One!Y}\index[A]{\testing!1@One!Z}\index[A]{\testing!2@Two!A}\index[A]{\testing!2@Two!B}\index[A]{\testing!2@Two!C}\index[A]{\testing!2@Two!D}\index[A]{\testing!2@Two!E}\index[A]{\testing!2@Two!F}\index[A]{\testing!2@Two!G}\index[A]{\testing!2@Two!H}\index[A]{\testing!2@Two!I}\index[A]{\testing!2@Two!J}\index[A]{\testing!2@Two!K}\index[A]{\testing!2@Two!L}\index[A]{\testing!2@Two!M}\index[A]{\testing!2@Two!N}\index[A]{\testing!2@Two!O}\index[A]{\testing!2@Two!P}\index[A]{\testing!2@Two!Q}\index[A]{\testing!2@Two!R}\index[A]{\testing!2@Two!S}\index[A]{\testing!2@Two!T}\index[A]{\testing!2@Two!U}\index[A]{\testing!2@Two!V}\index[A]{\testing!2@Two!X}\index[A]{\testing!2@Two!Y}\index[A]{\testing!2@Two!Z}\index[A]{\testing!3@Three!A}\index[A]{\testing!3@Three!B}\index[A]{\testing!3@Three!C}\index[A]{\testing!3@Three!D}\index[A]{\testing!3@Three!E}\index[A]{\testing!3@Three!F}\index[A]{\testing!3@Three!G}\index[A]{\testing!3@Three!H}\index[A]{\testing!3@Three!I}\index[A]{\testing!3@Three!J}\index[A]{\testing!3@Three!K}\index[A]{\testing!3@Three!L}\index[A]{\testing!3@Three!M}\index[A]{\testing!3@Three!N}\index[A]{\testing!3@Three!O}\index[A]{\testing!3@Three!P}\index[A]{\testing!3@Three!Q}\index[A]{\testing!3@Three!R}\index[A]{\testing!3@Three!S}\index[A]{\testing!3@Three!T}\index[A]{\testing!3@Three!U}\index[A]{\testing!3@Three!V}\index[A]{\testing!3@Three!X}\index[A]{\testing!3@Three!Y}\index[A]{\testing!3@Three!Z} \index[A]{\testing!4@Four!A}\index[A]{\testing!4@Four!B}\index[A]{\testing!4@Four!C}\index[A]{\testing!4@Four!D}\index[A]{\testing!4@Four!E}\index[A]{\testing!4@Four!F}\index[A]{\testing!4@Four!G}\index[A]{\testing!4@Four!H}\index[A]{\testing!4@Four!I}\index[A]{\testing!4@Four!J}\index[A]{\testing!4@Four!K}\index[A]{\testing!4@Four!L}\index[A]{\testing!4@Four!M}\index[A]{\testing!4@Four!N}\index[A]{\testing!4@Four!O}\index[A]{\testing!4@Four!P}\index[A]{\testing!4@Four!Q}\index[A]{\testing!4@Four!R}\index[A]{\testing!4@Four!S}\index[A]{\testing!4@Four!T}\index[A]{\testing!4@Four!U}\index[A]{\testing!4@Four!V}\index[A]{\testing!4@Four!X}\index[A]{\testing!4@Four!Y}\index[A]{\testing!4@Four!Z}

\backmatter
\indexprologue{\small Description of Appendix A goes here. And I'm making this description slightly longer, so that the page break between pages three and four actually occurs in the middle of several subsubentries.}
\printindex[A]

\end{document}

The index_style2.ist-file contains:
delim_0 "] \\Dotfill "
delim_1 " \\Dotfill "
delim_2 " \\Dotfill "

What I am looking for, is for a page 4 that looks like this:

A: As far as I know, it is not (easily?) possible to determine the break points from the tex source's "point of view". This has something to do with the asynchronous output routine of TeX, where it "reads" text chunk-wise (usually paragraphs) and then "decides" which parts of the chunk are to be placed on what page. With other words, you can't hook into the definitions of your (sub)subentry-macros to "ask" whether they will be placed on or after a page break, because by the time TeX parses and fully expands these macros, it doesn't know yet, where the fully expanded content of those macros will be placed.
However, there are ways to hook into the page breaks itself.
One way to do that would be to use the atbegshi package and the \AtBeginShipout{\ifodd\thepage\testing\fi} macro right before \printindex[A].
An alternative way without using an external package is via the pagestyle, the thing that draws page headers and page footers.
To do that, we create a new pagestyle named index. Pagestyles are defined with the ps@-prefix, so we need \makeatletter. Since we only want to change the head of even pages, we load whatever the document class provides as default pagestyle, so that odd pages and all page footers stay the way they were. After that we only re-define the macro that prints the head on even pages. Therein, we place the contents of the \testing-macro at the height of the first line. The full definition of our new pagestyle is:
\makeatletter
\def\ps@index{%
  %% load original page style:
  \ps@headings
  %% redefine the style of head on even pages:
  \renewcommand*{\@evenhead}{%
    %% this part is from the original definition
    %% (taken from scrbook.cls)
    \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vtop{%
        \hb@xt@ \@tempdima{{\headfont\strut\leftmark\hfil}}%
        \if@hsl \vskip 1.5\p@ \hrule \fi
        %% this is the new part.
        %% go back to the left egde of the type area:
        \par
        %% go down to the first line of the type area:
        \vskip\dimexpr\headsep+\dp\strutbox\relax
        %% print the \testing macro without stretching the header itself:
        \smash{\rlap{\hb@xt@\hsize{\testing\hss}}}%
      }% /vbox
    }% /hbox
  }% /@evenhead
}
\makeatother

For the printed index, we need to switch to the new pagestyle. This is done with the \pagestyle{} macro, which gets the name of the new style (sans the ps@-prefix) as argument.
\pagestyle{index}

Finally, we need to make room for the repeating line. We do this by extending the \topskip value, the height of the first line on the type area of a page, by the line height of the main text font:
\advance\topskip\baselineskip

This has a few drawbacks: for one, the index on each page starts a line lower than your other text, although the repeating line is only added on even pages. I find it typographically more pleasing if the main body of the index (i.e., the entries without the "head line") is well-adjusted to start at the same height.
Second, if your repeating text gets more complicated, you may need to adjust the values at different points, once in the definition of \@evenhead, and a second time in the \advance\topskip line.
The full code is:
\documentclass[10pt, paper=156mm:235mm, BCOR=12mm, headings=optiontotocandhead, headings=openany]{scrbook}

\usepackage[splitindex]{imakeidx}
\makeindex[options= -s index_style2.ist, intoc,name=A,title=\mbox{Appendix A},columns=1]

\makeatletter
\newcommand{\Dotfill}{\leavevmode \leaders \hb@xt@ 0.75em{\hss .\hss }\hfill \kern \z@}
\makeatother

\newcommand{\testing}{Testing, \emph{testing}, one, two, three, three, four (\emph{1, 2, 3, 4})}

\makeatletter
\def\ps@index{%
  \ps@headings
  \let\old@evenhead\@evenhead%
  \renewcommand*{\@evenhead}{%
    \set@tempdima@hw\hss\hb@xt@ \@tempdima{\vtop{%
        \hb@xt@ \@tempdima{{\headfont\strut\leftmark\hfil}}%
        \if@hsl \vskip 1.5\p@ \hrule \fi
        \par
        \vskip\dimexpr\headsep+\dp\strutbox\relax
        \smash{\rlap{\hb@xt@\hsize{\testing\hss}}}%
      }% /vbox
    }% /hbox
  }% /@evenhead
}
\makeatother

\begin{document}
\frontmatter
\mainmatter
\chapter{The First Chapter}

I could place some placeholder text here, but you get the idea.

\index[A]{\testing!1@One!A}\index[A]{\testing!1@One!B}\index[A]{\testing!1@One!C}\index[A]{\testing!1@One!D}\index[A]{\testing!1@One!E}\index[A]{\testing!1@One!F}\index[A]{\testing!1@One!G}\index[A]{\testing!1@One!H}\index[A]{\testing!1@One!I}\index[A]{\testing!1@One!J}\index[A]{\testing!1@One!K}\index[A]{\testing!1@One!L}\index[A]{\testing!1@One!M}\index[A]{\testing!1@One!N}\index[A]{\testing!1@One!O}\index[A]{\testing!1@One!P}\index[A]{\testing!1@One!Q}\index[A]{\testing!1@One!R}\index[A]{\testing!1@One!S}\index[A]{\testing!1@One!T}\index[A]{\testing!1@One!U}\index[A]{\testing!1@One!V}\index[A]{\testing!1@One!X}\index[A]{\testing!1@One!Y}\index[A]{\testing!1@One!Z}\index[A]{\testing!2@Two!A}\index[A]{\testing!2@Two!B}\index[A]{\testing!2@Two!C}\index[A]{\testing!2@Two!D}\index[A]{\testing!2@Two!E}\index[A]{\testing!2@Two!F}\index[A]{\testing!2@Two!G}\index[A]{\testing!2@Two!H}\index[A]{\testing!2@Two!I}\index[A]{\testing!2@Two!J}\index[A]{\testing!2@Two!K}\index[A]{\testing!2@Two!L}\index[A]{\testing!2@Two!M}\index[A]{\testing!2@Two!N}\index[A]{\testing!2@Two!O}\index[A]{\testing!2@Two!P}\index[A]{\testing!2@Two!Q}\index[A]{\testing!2@Two!R}\index[A]{\testing!2@Two!S}\index[A]{\testing!2@Two!T}\index[A]{\testing!2@Two!U}\index[A]{\testing!2@Two!V}\index[A]{\testing!2@Two!X}\index[A]{\testing!2@Two!Y}\index[A]{\testing!2@Two!Z}\index[A]{\testing!3@Three!A}\index[A]{\testing!3@Three!B}\index[A]{\testing!3@Three!C}\index[A]{\testing!3@Three!D}\index[A]{\testing!3@Three!E}\index[A]{\testing!3@Three!F}\index[A]{\testing!3@Three!G}\index[A]{\testing!3@Three!H}\index[A]{\testing!3@Three!I}\index[A]{\testing!3@Three!J}\index[A]{\testing!3@Three!K}\index[A]{\testing!3@Three!L}\index[A]{\testing!3@Three!M}\index[A]{\testing!3@Three!N}\index[A]{\testing!3@Three!O}\index[A]{\testing!3@Three!P}\index[A]{\testing!3@Three!Q}\index[A]{\testing!3@Three!R}\index[A]{\testing!3@Three!S}\index[A]{\testing!3@Three!T}\index[A]{\testing!3@Three!U}\index[A]{\testing!3@Three!V}\index[A]{\testing!3@Three!X}\index[A]{\testing!3@Three!Y}\index[A]{\testing!3@Three!Z} \index[A]{\testing!4@Four!A}\index[A]{\testing!4@Four!B}\index[A]{\testing!4@Four!C}\index[A]{\testing!4@Four!D}\index[A]{\testing!4@Four!E}\index[A]{\testing!4@Four!F}\index[A]{\testing!4@Four!G}\index[A]{\testing!4@Four!H}\index[A]{\testing!4@Four!I}\index[A]{\testing!4@Four!J}\index[A]{\testing!4@Four!K}\index[A]{\testing!4@Four!L}\index[A]{\testing!4@Four!M}\index[A]{\testing!4@Four!N}\index[A]{\testing!4@Four!O}\index[A]{\testing!4@Four!P}\index[A]{\testing!4@Four!Q}\index[A]{\testing!4@Four!R}\index[A]{\testing!4@Four!S}\index[A]{\testing!4@Four!T}\index[A]{\testing!4@Four!U}\index[A]{\testing!4@Four!V}\index[A]{\testing!4@Four!X}\index[A]{\testing!4@Four!Y}\index[A]{\testing!4@Four!Z}

\backmatter
\pagestyle{index}
\advance\topskip\baselineskip
\indexprologue{\small Description of Appendix A goes here. And I'm making this description slightly longer, so that the page break between pages three and four actually occurs in the middle of several subsubentries.}
\printindex[A]

\end{document}

which results in this output:


text:
/*
 * QBtSerialPortServer_symbian.cpp
 *
 *
 *      Author: Ftylitakis Nikolaos, Luis Valente
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

 // TODO: use asserts in methods to check that the class is connected

#include "../QBtSerialPortServer_symbian.h"

#include <QBtAuxFunctions.h>

QBtSerialPortServerPrivate* QBtSerialPortServerPrivate::NewL(QBtSerialPortServer* publicClass)
{
	QBtSerialPortServerPrivate* self = QBtSerialPortServerPrivate::NewLC(publicClass);
	CleanupStack::Pop(self);
	return self;
}

QBtSerialPortServerPrivate* QBtSerialPortServerPrivate::NewLC(QBtSerialPortServer* publicClass)
{
	QBtSerialPortServerPrivate* self = new (ELeave) QBtSerialPortServerPrivate(publicClass);
	CleanupStack::PushL(self);
	self->ConstructL();
	return self;
}

void QBtSerialPortServerPrivate::ConstructL()
{
	if(iSocketServ.Connect() != KErrNone)
		emit p_ptr->error(QBtSerialPortServer::ErrorUnavailable);
}

// ----------------------------------------------------------------------------
// QBtSerialPortServerPrivate::QBtSerialPortServerPrivate(QBtSerialPortServer* publicClass)
//
// constructor
// ----------------------------------------------------------------------------
QBtSerialPortServerPrivate::QBtSerialPortServerPrivate(QBtSerialPortServer* publicClass):
	CActive(CActive::EPriorityStandard),
	iIsConnected(EFalse),
	queueSize(4),
	iState(ENone),
	restartAtDisconnect(false),
    iMessage (0),
	p_ptr(publicClass)
{
	CActiveScheduler::Add(this);
}

// ----------------------------------------------------------------------------
// QBtSerialPortServerPrivate::~QBtSerialPortServerPrivate()
//
// destructor
// ----------------------------------------------------------------------------
QBtSerialPortServerPrivate::~QBtSerialPortServerPrivate()
{
	// close sockets, must not throw
	TRAPD (error, StopListenerL() );

	// cancel active object
	if(IsActive())
		Cancel();

   if (iMessage)
      delete iMessage;
}

// ----------------------------------------------------------------------------
// QBtSerialPortServerPrivate::StartListener()
//
// start listener.  listener will open a listening socket on a channel (port)
// gotten from GetOpt() call.
// ----------------------------------------------------------------------------
void QBtSerialPortServerPrivate::StartListenerL()
{
	TInt aChannel;

	// get out if we're already running..
	if (iState != ENone)
	{
		QT_TRYCATCH_LEAVING (emit p_ptr->error(QBtSerialPortServer::ErrorAlreadyInUse) );
		return;
	}

	// set this active object to connecting state
	iState=EConnecting;

	// load protocol, RFCOMM
	TProtocolDesc pdesc;
	User::LeaveIfError (iSocketServ.FindProtocol(_L("RFCOMM"), pdesc));

	// open a socket
	User::LeaveIfError (iListenSock.Open (iSocketServ, pdesc.iAddrFamily,pdesc.iSockType,QBtConstants::RFCOMM) );

	// get listening channel
	User::LeaveIfError (iListenSock.GetOpt(KRFCOMMGetAvailableServerChannel, KSolBtRFCOMM, aChannel));

	// bluetooth socket address object
	TBTSockAddr btsockaddr;
	btsockaddr.SetPort(aChannel);

	// bind socket
	User::LeaveIfError (iListenSock.Bind(btsockaddr));
	// listen on port
	iListenSock.Listen (queueSize);

	// advertise service
	QBtService newService;

    newService.setName (p_ptr->_service.getName());
    newService.setClass (p_ptr->_service.getClass() );
    newService.setPort (aChannel);
    newService.addProtocol (QBtUuid (QBtConstants::L2CAP) );
    newService.addProtocol (QBtUuid (QBtConstants::RFCOMM) );

	p_ptr->startAdvertisingService(newService);

	// close old accepted socket if open
	iSock.Close();

	// open blank socket and pass it to accept to be assigned a proper
	// socket upon completion of Accept()
	User::LeaveIfError(iSock.Open(iSocketServ));

	// set to accept incoming connections, active object will handle
	iListenSock.Accept(iSock,iStatus);

	if(!IsActive())
		SetActive();

	QT_TRYCATCH_LEAVING (emit p_ptr->serverStarted() );
}

// ----------------------------------------------------------------------------
// QBtSerialPortServerPrivate::StopListener()
//
// stops the listener by closing the listening socket
// ----------------------------------------------------------------------------
void QBtSerialPortServerPrivate::StopListenerL()
{
	// kill sockets
	if (iState != ENone)
	{
		// cancel all pending socket operations
		iSock.CancelAll();
		iListenSock.CancelAll();

		iSock.Close();
		iListenSock.Close();
		iState=ENone;

		p_ptr->stopAdvertisingService();

		QT_TRYCATCH_LEAVING (emit p_ptr->serverStopped() );
	}
}

// ----------------------------------------------------------------------------
// QBtSerialPortServerPrivate::SendData(const QString data)
//
// send data to remote device, write data to socket.
// ----------------------------------------------------------------------------
/*
void QBtSerialPortServerPrivate::SendData(const QString & data)
{
	if ( iState!=EWaiting )
		return;

	QByteArray tmpArray = data.toUtf8();
	TPtrC8 message8;
	message8.Set((const TUint8 *)tmpArray.constData(), tmpArray.size());

	// cancel any read requests on socket
	if(IsActive())
	{
		iSock.CancelAll();
		iListenSock.CancelAll();
		Cancel();
	}
	// try to send message by writing to socket
	// - set the state of this active object to "sending"
	iState=ESending;

	// - make async socket write request
	iSock.Write(message8, iStatus);

	// - start waiting async req response (iState) from active scheduler
	SetActive();
}
*/

void QBtSerialPortServerPrivate::SendData (const QString& data)
{
    QByteArray array = data.toUtf8();
    SendData (array);
}

// ----------------------------------------------------------------------------
// QBtSerialPortClientPrivate::SendData(const QByteArray& data)
//
// send given data to remote device, write to connected socket
// ----------------------------------------------------------------------------
void QBtSerialPortServerPrivate:: SendData (const QByteArray& data)
{
    TPtrC8 desc8 (reinterpret_cast<const TText8*> (data.constData()), data.size());

    // delete previous data
    if (iMessage)
        delete iMessage;

    iMessage = HBufC8::NewL(desc8.Length());
    iMessage->Des().Copy(desc8);

    // cancel any read requests on socket
    iSock.CancelRead();

    if (IsActive())
        Cancel();

    // send message
    iState = ESending;

    iSock.Write (*iMessage, iStatus);
    SetActive();
}

// ----------------------------------------------------------------------------
// QBtSerialPortServerPrivate::ReceiveData()
//
// receive more data from listening socket, asynchronously.
// ----------------------------------------------------------------------------
void QBtSerialPortServerPrivate::ReceiveData()
{
    // cancel pending operations
    iSock.CancelRead();

    if (IsActive())
      Cancel();

	// set state to waiting - for RunL()
	iState = EWaiting;

	// make async request
	iSock.RecvOneOrMore(iBuffer, 0, iStatus, iLen);

	// set as active to get the async req response (iState) in RunL()
	SetActive();
}

void QBtSerialPortServerPrivate::RunL()
{
    // error ?
    if (iStatus != KErrNone)
	{
		StopListenerL();
		HandleListenerDisconnectedL();

		if(restartAtDisconnect)
			StartListenerL();

		return;
	}

    //
    switch (iState)
	{
		case EConnecting:
		{
            // connected listening socket!
            iIsConnected = ETrue;

            // prepare for receiving data
			ReceiveData();

            // notify
            TBTSockAddr sockAddr;
            iSock.RemoteName (sockAddr);
            TBTDevAddr devAddr (sockAddr.BTAddr().Des());
            QBtAddress clientAddress (devAddr);

            QT_TRYCATCH_LEAVING (emit p_ptr->clientConnected (clientAddress) );

			break;
		}

		case EWaiting:
		{
            // we got incoming data!
            QString receivedString = QString::fromUtf8((char*)iBuffer.Ptr(), iBuffer.Size());

            // start expecting new incoming data
            ReceiveData();

            // notify
            QT_TRYCATCH_LEAVING (emit p_ptr->dataReceived (receivedString) );
            break;
		}

		case ESending:
		{
            // start expecting new incoming data
            ReceiveData();

            // notify
            QT_TRYCATCH_LEAVING  (emit p_ptr->dataSent() );
            break;

		}
		default:
			break;
	}
}

TInt QBtSerialPortServerPrivate::RunError(TInt /*aError*/)
{
	// add the error handling
	return KErrNone;
}

void QBtSerialPortServerPrivate::DoCancel()
{

}

// ----------------------------------------------------------------------------
// QBtSerialPortServerPrivate::IsConnected()
//
// returns true if listener has been connected to
// ----------------------------------------------------------------------------
TBool QBtSerialPortServerPrivate::IsConnected()
{
	return iIsConnected;
}

// ----------------------------------------------------------------------------
// QBtSerialPortServerPrivate::HandleListenerDataReceivedL(TDesC& aData)
//
// emit signal to indicate successfull data receiving
// @param the data received
// ----------------------------------------------------------------------------
void QBtSerialPortServerPrivate::HandleListenerDataReceivedL(const QString & aData)
{
	//QString dataStr = QString::fromUtf8((char*)aData.Ptr(), aData.Length());
	QT_TRYCATCH_LEAVING (emit p_ptr->dataReceived(aData) );
}

// ----------------------------------------------------------------------------
// QBtSerialPortServerPrivate::HandleListenerConnectedL()
//
// emit signal that a client was successfully connected
// ----------------------------------------------------------------------------
void QBtSerialPortServerPrivate::HandleListenerConnectedL()
{
	TBTSockAddr sockAddr;
	iSock.RemoteName(sockAddr);
	TBTDevAddr devAddr(sockAddr.BTAddr().Des());
	QBtAddress clientAddress(devAddr);

	iIsConnected=ETrue;
	QT_TRYCATCH_LEAVING  (emit p_ptr->clientConnected(clientAddress) );
}

// ----------------------------------------------------------------------------
// QBtSerialPortServerPrivate::HandleListenerDisconnectedL()
//
// emit signal that client disconnected
// ----------------------------------------------------------------------------
void QBtSerialPortServerPrivate::HandleListenerDisconnectedL()
{
	iIsConnected=EFalse;
	QT_TRYCATCH_LEAVING (emit p_ptr->clientDisconnected() );
}

// ----------------------------------------------------------------------------
// QBtSerialPortServerPrivate::HandleListenerDataSend()
//
// emit signal that client sent successfully data to the server
// ----------------------------------------------------------------------------
void QBtSerialPortServerPrivate::HandleListenerDataSendL()
{
	QT_TRYCATCH_LEAVING  (emit p_ptr->dataSent() );
}

void QBtSerialPortServerPrivate::SetListeningQueueSize(TInt size)
{
	if(size > 0)
		queueSize = size;
}

/*
void SetSecurity()
{
	//now set security

	//old way to set security is in Listener.cpp
	//QBtSerialPortServerPrivate::SetSecurityL(TInt aChannel)
	TBTServiceSecurity secSettings;

	TUid settingsUID;
	settingsUID.iUid = KBT_serviceID;
	secSettings.SetUid(settingsUID);
	//the old way involved the following two steps:
	//secSettings.SetChannelID(aChannel);
	//secSettings.SetProtocolID(KSolBtRFCOMM);
	secSettings.SetAuthentication(EFalse);
	secSettings.SetAuthorisation(EFalse);
	secSettings.SetEncryption(EFalse);

	// attach the security settings.
	btsockaddr.SetSecurity(secSettings);
}
*/

redpajama_set_name: RedPajamaGithub


Southern Response have told me that they will not repair my home but will cash settle. I have no say under the policy.
I will not accept any payment as full and final as the true cost to repair my home will only be known once the job is complete.
If I accept their "estimate" of repairs but it turns out to be not enough I am left with the balance to pay myself meaning they have not met the full cost to repair which they are obligated to do under the policy.
I would like to hear from others that they are unilaterally telling they will cash settle.


Follow the White Bunny: Hoops!
Basically I have got 4 types of hoops. The one I forgot to include in the picture is one of my regular (round) plastic hoops. I find there is a lot of difference in quality of these plastic hoops. I received my favourite one in a swap from Georgia but can not recall what brand it is!
The hoop in the front of the picture is a so called Flexi Hoop (Anchor manufactures these). The inner ring is plastic and the outer ring is flexible. I bought a bunch of these on Ebay when I just started out in embroidery and I'm still quite fond of using Flexi Hoops. Especially the one in the picture. I also have smaller oval Flexi Hoops but they tend to pull the fabric a tiny bit too tight and this can distort the fabric. My large Flexi Hoop on the other hand doesn't keep the fabric taut enough but could be fine for framing. Except that I'm not crazy about the rubber woodgrain look. ;) And apparently there are also square Flexi Hoops available but I haven't tried those yet.
Everyone knows the Classic Wooden Hoop, posing here behind the Flexi Hoop. Ideal to have on hand when all other hoops are 'taken' and for framing too. I have heard that these would not be good to use for embroidery as they could leave marks on your fabric. Hasn't happened to me yet but I'm not too fussy about these things anyway.
Yesterday the latest addition to my Hoop Collection arrived: a Q-snap! It's a square frame (you can see it in the foreground of the picture) and mine is rather huge (11 by 11 inch) because I ordered the wrong size by accident! Will let you know how me and the Q-snap get on when I have a chance to try it out. Do let me know if you have any tips for using this particular hoop though. And I'm also curious what kind of hoop you all are using!
Right now I'm still working on the Phat Quarter Swap piece (the one in the Flexi Hoop) but I'm already thinking about next projects of course. My partner in the Phat Quarter Swap (who is actually not the person I'm stitching my piece for) was Jessica and she sent me these adorable two embroideries!
You can read all about it if you click on the photo.
The hoop that I sent you was a 'Birch' one, which I think is an Australian brand, but the Hoop-La ones like this - http://www.123stitch.com/cgi-perl/itemdetail.pl?item=SB14401006 look pretty much the same.
oh yes 'Birch' I forgot that name. I have quite a few very bright 'hoopla' hoops here (as I intended to make kits but never got round to it) but they are not quite as pleasant as the 'Birch' one!
I love all of the hoops, but I REALLY love the fairy design and woodgrain fabric.


text:
/*
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package net.revelc.code.blazon.types.numeric;

import static org.junit.Assert.assertEquals;

import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;

public class LongRangeTypeTest {

  @Rule
  public ExpectedException exception = ExpectedException.none();

  @Test
  public void testRangeLowerBounds() {
    final LongRangeType bounds = new LongRangeType(-24, 35);
    assertEquals((Long) (-24L), bounds.getLowerBound());

    assertEquals((Long) (-24L), bounds.parse("-24"));
    assertEquals((Long) (0L), bounds.parse("0"));
    assertEquals((Long) 35L, bounds.parse("35"));
    exception.expect(IllegalArgumentException.class);
    bounds.parse("-25");
  }

  @Test
  public void testRangeUpperBounds() {
    final LongRangeType bounds = new LongRangeType(-24, 35);
    assertEquals((Long) 35L, bounds.getUpperBound());

    assertEquals((Long) (-24L), bounds.parse("-24"));
    assertEquals((Long) (0L), bounds.parse("0"));
    assertEquals((Long) 35L, bounds.parse("35"));
    exception.expect(IllegalArgumentException.class);
    bounds.parse("36");
  }

  @Test
  public void testSingleLowerBounds() {
    final LongRangeType bounds = new LongRangeType(35, 35);
    assertEquals((Long) 35L, bounds.parse("35"));
    exception.expect(IllegalArgumentException.class);
    bounds.parse("34");
  }

  @Test
  public void testSingleUpperBounds() {
    final LongRangeType bounds = new LongRangeType(35, 35);
    assertEquals((Long) 35L, bounds.parse("35"));
    exception.expect(IllegalArgumentException.class);
    bounds.parse("36");
  }

  @Test
  public void testWithWhitespace() {
    final LongRangeType bounds = new LongRangeType(-24, 35);
    assertEquals((Long) (-24L), bounds.parse(" -24 "));
    assertEquals((Long) (0L), bounds.parse(" \t 0 \t "));
    assertEquals((Long) (0L), bounds.parse(" \n 0 \n "));
    assertEquals((Long) 35L, bounds.parse(" \n \t \n35\n \n \t"));
  }

  @Test
  public void testBadFormat() {
    final LongRangeType bounds = new LongRangeType(-24, 35);
    exception.expect(IllegalArgumentException.class);
    bounds.parse("-123abc");
  }

  @Test
  public void testConstructorBadOrder() {
    exception.expect(IllegalArgumentException.class);
    new LongRangeType(36, 35);
  }

  @Test
  public void testRadix() {
    final LongRangeType bounds = new LongRangeType(0, 0);
    assertEquals(10, bounds.getRadix());
  }

}


text:
Yellowjackets finale recapKFC Beyond Fried ChickenXbox Series S is on saleAt-home COVID testsN95, KN95, KF94 masks
CNET editors pick the products and services we write about. When you buy through our links, we may get a commission.
Olympus mju-7010 review: Olympus mju-7010
Sept. 11, 2009 7:28 a.m. PT
The 12-megapixel Olympus mju-7010 might sound like a minor upgrade to the mju-7000, which suffers from an ugly exterior and a run-of-the-mill 7x zoom. In fact, although the price is similar, at around £200, the mju-7010 looks and feels like a completely different camera.
Olympus mju-7010
7x wideangle zoom; good pictures at medium to high ISOs; attractive design.
Fine detail isn't the best we've seen; focus tracking could be quicker.
A big step forward from the old mju-7000, the Olympus mju-7010 combines a 7x wideangle zoom with a slim body. It looks great, handles well and its pictures are pretty good too. An in-camera panorama feature and some neat 'magic filters' are a welcome bonus
Welcome facelift
It's two things that make the difference. Firstly, you still get a 7x zoom, but this time it's a wideangle one, offering the equivalent of 27-270mm. Secondly, the camera's had a redesign. It's prettier, slimmer and looks great.
The lens is pretty good, too. There's not much distortion, despite the zoom range, and the sharpness holds up even at full zoom. There's no sign of any chromatic aberration, either, although this may be down to some clever in-camera corrections, rather than the lens.
Our test shot shows no distortion or chromatic aberration. The definition offered by the mju-7010's sensor is average, but the lens performance is very good (click image to enlarge)
You don't just get a good zoom range but an excellent focus range too. The mju-7010's 'super macro' mode goes right down to 20mm, which lets you get amazing close-ups worthy of a digital SLR and a specialist macro lens.
The mju-7010's fine detail isn't stunning, but Olympus isn't the only camera maker that struggles to get any real resolution advantage from these 12-megapixel sensors. The camera tends towards overexposure now and again, but the colour rendition is good, and the mju-7010 performs well at high ISOs, too. The quality only drops markedly in the jump between ISO 800 and ISO 1,600.
The 69mm HyperCrystal II LCD display is apparently twice as bright as the former version, although the difference isn't massively noticeable
The in-camera panorama-stitching mode is fast and fun, although it doesn't always disguise the joins that well, and the 'magic filters' (pop-art, sketch, pin hole and fisheye) are worth a try. You also get a neat focus-tracking feature that can follow your subject around the frame (after a brief delay) if either it or you move.
The illuminated navigation pad seen on other mju models is present too, and looks just as smart. There's also a new HyperCrystal II display that's apparently twice as bright as its predecessor, although the improvement doesn't exactly leap out at you.
Hard to fault
It's really hard to find anything negative to say about this camera. The pictures could perhaps be a fraction crisper, and, if you really want a long zoom range, there are plenty of cameras around that can go to 10x or even 12x without costing you any more. But the mju-7010 is so slim and neat that you might well prefer it to the likes of the Panasonic Lumix DMC-TZ6 or the Samsung WB500, for example.
Olympus' image processing produces slightly soft detail, despite some fairly heavy-looking sharpening effects and edge halos, but the quality holds up well at higher ISOs (click image to enlarge)
If you want to change any settings that aren't on the quick-access function screen, you face something of a plod through the menus, but the mju-7010 isn't alone in that and, besides, if you're that keen on hands-on manual control, you're probably not going to be looking at a camera like this.
The Olympus mju-7010 is a huge improvement on the mju-7000. It fits much better into the mju series, offering a useful step up in zoom range from the mju-5000 without the bulk of the mju-9000. It's not revolutionary, but it's a good little camera nonetheless.
Editing by Charles Kloet

redpajama_set_name: RedPajamaCommonCrawl


text:
Shepherdstown Chronicle
The Town Page
Report from the Legislature
WV Sports
Alexander Wilhelm Wenner
Alexander Wilhelm Wenner died on Thursday, March 12, 2020 at Fahrney Keedy Memorial Home in Boonsboro, MD. He was born May 30, 1939 in Basel, Switzerland, the son of the late Wilhelm Karl Wenner and Gisela Maria (Schreiner) Wenner.
Alex graduated from Montclair High School in Montclair, NJ in 1956. He received a B.A. from Hamilton College, Clinton, NY and an MLS from Northern Illinois University, Dekalb, IL.
He was honorably discharged from the U. S. Army after having served tours of duty in Baumholder and Kaiserslautern, Germany. He was employed as a Library Information Specialist at the University of Massachusetts, Amherst, MA and Northern Arizona University, Flagstaff, AZ. His final post was at Indiana University Bloomington where he worked in the university library. Alex was an avid follower of the stock market and a savvy investor. He quietly accumulated a small fortune by saving and investing wisely. Despite his wealth, he chose to lead a very simple life. Instead of spending money on himself, he chose to give it away. Alex established two nursing scholarships to honor his mother who was a nurse. The scholarships were made available to Northern Illinois University and Colby-Sawyer College in New London, NH. He was a member of the Mensa Society. The two things Alex prized most were his 1965 Ford Mustang and the weekend edition of the Wall Street Journal.
He is survived by his younger brother, Thomas and wife Kathleen of Shepherdstown, WV as well as many nieces, nephews, great nieces and great nephews.
In addition to his parents, he was predeceased by his older brother, Manfred Wenner.
Graveside services will be held at a later date at West Part Cemetery, New London, NH with Margaret Costello officiating.
Expressions of sympathy may be offered to the family at staufferfuneralhome.com.
Join thousands already receiving our daily newsletter.
The Telegraph Daily Newsletter
Copyright © Shepherdstown Chronicle | https://www.shepherdstownchronicle.com | 123C S. Duke Street, Shepherdstown, WV 25443 | 304-876-3380 | Ogden Newspapers | The Nutting Company


text:
Ex-street boy Hinga out of rehab after 8 months, resolves differences with mother
By Brian Okoth	on May 2, 2018
Former street boy Patrick Hinga and his mother Nancy Wanjiru have agreed to work together to manage Mr Hinga's shop located in Ruai, Kiambu County.
According to Wanja Mwaura, Mr Hinga's rescuer, the ex-street boy approached her on Tuesday evening and revealed that he'd had a misunderstanding with his mother about the running of the facility.
"Ms Wanjiru was thinking Mr Hinga, who returned home from rehab a week ago, was not in the right state to run the shop. They have, however, resolved that Mr Hinga will run the shop operations while Ms Wanjiru will keep record of the finances to ensure stability. They will co-operate and work together," said Ms Mwaura.
Ms Wanjiru was running the shop, when Mr Hinga was in rehab in Nairobi. The shop was put up in January, 2018 using money raised by well-wishers.
Ms Mwaura has also clarified that Mr Hinga, who underwent an eight-month treatment for drug addiction, has not relapsed, contrary to reports doing the rounds on social media that he was spotted looking dejected in Wangige Market on Tuesday.
Mr Hinga's story hogged media headlines – both nationally and internationally – in October, 2017, when pictures of him and Ms Wanja, his former schoolmate, went viral on social media.
The pictures – deservedly – spread widely online because Ms Mwaura bumped into Mr Hinga, who was wandering on the street, and immediately took it upon herself to help him restore a social status, and true to her effort, the overcritical online community approved of her compassion.
It was early October, 2017, when Wanja Mwaura, who was on her way to the market in Lower Kabete heard someone shout out her name.
She looked up and was surprised to see a tall man with bulging eyes, a reduced frame, dirtied black overalls and an equally stained thick woolen hat, sitting on the side of the road. She did not manage to immediately establish who he was.
But when Mr Hinga introduced himself, Wanja Mwaura said shock shook her; her friend, whom she studied with in primary school in 1992, when she was 7-years-old, had turned out to be what she did not expect – a street boy, a drug addict.
Ms Wanja would, thereafter, give her contact to Mr Hinga, who promised to keep in touch.
She was his guardian angel; called her when he could – after borrowing strangers' cell phones – and the communication pattern sooner, thereafter, became more circular.
Ms Wanja, thereafter, enrolled Mr Hinga into a drug rehabilitation centre in Nairobi. He was discharged from the facility last week.
Patrick Hinga news Wanja Mwaura news
Davido surprises lover with a Ksh12.6 million Porsche on her 23rd birthday
EXCLUSIVE: No more speculations! Rose Muhando explains dark spots, bandaged arm in candid interview


text:
NEW YORK. - Monday, June 9th 2014 [ME NewsWire]
(BUSINESS WIRE) Moody's Analytics, a unit of Moody's Corporation (NYSE:MCO), announced today that it has agreed to acquire WebEquity Solutions, LLC. ("WebEquity"), a leading provider of cloud-based loan origination solutions for financial institutions.
The acquisition strengthens Moody's Analytics' position as a leader in loan origination software and bolsters its suite of award-winning risk management products for banks, insurance companies and corporations.
"WebEquity is a trusted provider of solutions that enable banks to improve the efficiency of their loan origination process while enhancing their risk management practices," said Mark Almeida, President of Moody's Analytics. "With its market leading software-as-a-service offering for community banks, WebEquity expands Moody's Analytics' portfolio of risk management solutions. Using multiple technologies, Moody's Analytics and WebEquity offer powerful tools that meet the needs of the entire spectrum of financial institutions, from community banks to the world's largest lenders."
WebEquity's hosted platform is used by more than 750 banks and credit unions to originate and manage agriculture, commercial & industrial, commercial real-estate, small business, construction, and land development loans. The company's products support the work of over 20,000 lending professionals in the U.S., Canada and Australia.
"Moody's Analytics' strong global reputation and strengths in stress testing, regulatory reporting and risk analytics will enhance our products and help extend our offerings to larger financial institutions," said Doug McGregor, CEO of WebEquity Solutions.
Based in Omaha, Nebraska, WebEquity was founded in 1985. The company has approximately 70 employees and produced revenue of nearly $15 million in 2013.
The acquisition will be funded from cash on hand and is expected to be accretive to Moody's 2016 EPS before amortization of acquired intangible assets. Transaction terms were not disclosed. The acquisition is expected to close in the third quarter.
Financial Technology Partners LP and FTP Securities LLC (together "FT Partners") acted as exclusive strategic and financial advisors to WebEquity and its Board of Directors.
ABOUT MOODY'S ANALYTICS
Moody's Analytics helps capital markets and risk management professionals worldwide respond to an evolving marketplace with confidence. The company offers unique tools and best practices for measuring and managing risk through expertise and experience in credit analysis, economic research and financial risk management. By providing leading-edge software, advisory services and research, including the proprietary analysis of Moody's Investors Service, Moody's Analytics integrates and customizes its offerings to address specific business challenges. Moody's Analytics is a subsidiary of Moody's Corporation (NYSE: MCO), which reported revenue of $3.0 billion in 2013, employs approximately 8,500 people worldwide, and has a presence in 31 countries. More information is available at www.moodysanalytics.com.
Certain statements contained in this release are forward-looking statements and are based on future expectations, plans and prospects for Moody's business and operations that involve a number of risks and uncertainties. Moody's forward-looking statements in this release are made as of the date hereof, and the Company disclaims any duty to supplement, update or revise such statements on a going-forward basis, whether as a result of subsequent developments, changed expectations or otherwise. In connection with the "safe harbor" provisions of the Private Securities Litigation Reform Act of 1995, the Company is identifying certain factors that could cause actual results to differ, perhaps materially, from those indicated by these forward-looking statements. Those factors, risks and uncertainties include, but are not limited to, the current world-wide credit market disruptions and economic slowdown, which is affecting and could continue to affect the volume of debt and other securities issued in domestic and/or global capital markets; other matters that could affect the volume of debt and other securities issued in domestic and/or global capital markets, including credit quality concerns, changes in interest rates and other volatility in the financial markets; the uncertain effectiveness and possible collateral consequences of U.S. and foreign government initiatives to respond to the economic slowdown; concerns in the marketplace affecting our credibility or otherwise affecting market perceptions of the integrity or utility of independent agency ratings; the introduction of competing products or technologies by other companies; pricing pressure from competitors and/or customers; the impact of regulation as an NRSRO, the potential for new U.S., state and local legislation and regulations, including provisions in the Dodd-Frank Wall Street Reform and Consumer Protection Act and anticipated regulations resulting from the law; the potential for increased competition and regulation in the EU and other foreign jurisdictions; exposure to litigation related to our rating opinions, as well as any other litigation to which the Company may be subject from time to time; provisions in the Dodd-Frank Act legislation modifying the pleading standards, and EU regulations modifying the liability standards, applicable to credit rating agencies in a manner adverse to rating agencies; provisions of EU regulations imposing additional procedural and substantive requirements on the pricing of services; the possible loss of key employees; failures or malfunctions of our operations and infrastructure; any vulnerabilities to cyber threats or other cybersecurity concerns; the outcome of any review by controlling tax authorities of the Company's global tax planning initiatives; the outcome of those legacy tax matters and legal contingencies that relate to the Company, its predecessors and their affiliated companies for which Moody's has assumed portions of the financial responsibility; the ability of the Company to successfully integrate acquired businesses; currency and foreign exchange volatility; a decline in the demand for credit risk management tools by financial institutions; and other risk factors as discussed in the Company's annual report on Form 10-K for the year ended December 31, 2013 and in other filings made by the Company from time to time with the Securities and Exchange Commission.
Moody's Corporation
Michael Adler, 212-553-4667
michael.adler@moodys.com
Salli Schwartz, 212-553-4862
Global Head of Investor Relations
sallilyn.schwartz@moodys.com


text:
The 25 best live music acts of 2016
December 30, 2016 by The Bam Team Leave a Comment
The 2016 BAMS List: Showbams covered many excellent bands, musicians and DJs throughout 2016 — the following 25 acts are our favorite live performers of the year.
Filed Under: Best of 2016, Editor's Picks, Featured Tagged With: A$AP Ferg, Adrian Younge, Air, Alessia Cara, Alina Baraz, AlunaGeorge, Alvvays, Anderson .Paak, Anderson .Paak & The Free Nationals, Atlas Genius, Aubrie Sellers, Bag Raiders, Baio, Banks & Steelz, Bas, Battles, BØRNS, Beach House, Beats Antique, Bernhoft and The Shudderbugs, Best Coast, Best of 2016, Big Freedia, Big Gigantic, Big Grams, Big Wild, Black Milk & Nat Turner, Bloc Party, Bob Moses, Bob Mould, Brand New, Brett Dennen, Capital Cities, Cate le Bon, Chairlift, Chance The Rapper, Chelsea Wolfe, CHK CHK CHK, Chris Robinson Brotherhood, Chromeo, Chuck Mosley, Claude VonStroke, Cold War Kids, Dan Deacon, Danny Brown, Deftones, Dirtwire, Disclosure, DMA's, DMX, Dr. Teeth and The Electric Mayhem, Drew Holcomb and The Neighbors, Duran Duran, Early November, Emancipator Ensemble, Every Time I Die, Eyes on the Shore, Ezra Furman, Faith No More, Fantastic Negrito, Fell Runner, Femi Kuti, Floating Points, Florence & the Machine, Flume, Flying Lotus, FOALS, Fruition, Geographer, Glass Animals, Gorgon City, Grimes, Guns N' Roses, Halsey, Heartwatch, Highly Suspect, Hippie Sabotage, Holy Fuck, How to Dress Well, Hudson Mohawke, Hundred Waters, Iamsu!, IAMX, Ibeyi, Ice Cube, Iggy Pop, Isaiah Rashad, J. Cole, Jack Ü, Jack Beats, Jack Garratt, James Bay, Jamie xx, Jhené Aiko, Jidenna, Jim James, Jimmie Vaughn, Joywave, Julia Holter, Julien Baker, k.flay, Kaki King, Kamaiyah, Kamasi Washington, Kehlani, Kurt Vile, Kurt Vile & The Violators, Lafa Taylor, Lana Del Rey, Lapsley, LCD Soundsystem, Les Sins, Lettuce, Lionel Richie, Little Scream, Lord Huron, Lucius, M. Ward, M83, Mac Demarco, Major Lazer, Marian Hill, Mayer Hawthorne, MC YOGI, Methyl Ethel, Metric, Miami Horror, Mick Jenkins, Midi Matilda, Miguel Migs, Miike Snow, Moderat, Modest Mouse, Moon Taxi, My Morning Jacket, Nahko & Medicine for the People, Nas, Nathaniel Rateliff & The Night Sweats, Neon Indian, Nick Murphy (fka Chet Faker), Nite Jewel, Oh Pep!, Oh Wonder, Panic! At The Disco, Parliament-Funkadelic, Peaches, Petite Noir, Porches, Pretty Lights, Prince Rama, Purity Ring, Pusha T, Ra Ra Riot, Radiohead, RÜFÜS DU SOL, Rin Tin Tiger, RJD2, Rodrigo y Gabriela, Rogue Wave, Rubblebucket, Rudimental, Run The Jewels, Ryan Adams, Saosin, Sarah Neufeld, Shabazz Palaces, Shlohmo, Sia, Sigur Ros, Silversun Pickups, snakehips, Solange, Son Little, St. Germain, St. Lucia, Stormzy, STS9, Sturgill Simpson, Sufjan Stevens, Summer Cannibals, Sunflower Bean, Sylvan Esso, Tacocat, Taking Back Sunday, Tame Impala, Tedeschi Trucks Band, Thao & The Get Down Stay Down, The Arcs, The Avett Brothers, The Boxer Rebellion, The California Honeydrops, The Claypool Lennon Delirium, The Crux, The Devil Makes Three, The Faint, The Gaslamp Killer, The Head and The Heart, The Heavy, The Infamous Stringdusters, The Joy Formidable, The Kills, The Last Shadow Puppets, The Lone Bellow, The Naked and Famous, The National, The Pharcyde, The Polish Ambassador, The Regrettes, The Revivalists, The Rubens, The Russ Liquid Test, The Sam Chase & The Untraditional, The Seshen, The Struts, The Trims, This Will Destroy You, Thomas Jack, Thundercat, Toro Y Moi, Tortoise, Tory Lanez, Tourist, Troye Sivan, Ty Segall, Tycho, Umphrey's McGee, Viceroy, Vince Staples, Vokab Company, Walk the Moon, Warpaint, Wavves, Weezer, Wheeler Walker Jr., White Denim, Wild Belle, Wild Nothing, Years & Years, Yeasayer, YG, Young Fathers, Yuck, zhu, Ziggy Marley
On a night full of metalcore, Every Time I Die upstage Beartooth at The Regent Theater
October 21, 2016 by Zach Bourque Leave a Comment
SHOW REVIEW: We're thrilled the Buffalo band is still with us and amazed that its music continues to improve at an almost alarming rate.
Filed Under: Featured, Live Music Reviews Tagged With: Beartooth, Every Time I Die, Fit for a King, Old Wounds, Panic! At The Disco, The Regent Theater, Warped Tour
Performing at @coachella this year, @DukeDumont has kicked off 2020 with a brand-new single entitled "Therapy" that… twitter.com/i/web/status/1… 6 minutes ago
Performing at @coachella this year, @DukeDumont has kicked off 2020 with his brand-new single "Therapy" that's out… twitter.com/i/web/status/1… 6 minutes ago
NYC-based electronic duo @sofitukker have put out a new version of their 2019 single "Swing" feat. Australian rappe… twitter.com/i/web/status/1… 1 hour ago


Sequel: Trevelyan researched the 2,000 mile Appalachian Trail in USA, for his adventure travel book 'Trail Magic' .Walked THRU to summit!
Adventure Writing,Reading and Hiking the Appalachian Trail Get Ahead Kids: Mar/April 2013 P 12/13 Enticing readers via adventure.
Many twenty- and thirty-somethings intend to "do" an extreme adventure, somewhere exotic, but most just dream or join the coach tour. Trevelyan Edwards dared to cycle or walk alone.
Cycling Solo: Ireland to Istanbul explores five months of cycling solo across Europe. From Ireland to Istanbul via the UK, France, Germany, the Swiss Alps, Serbia, Bulgaria, Hungary and Turkey, with 9000 kilometres of forgettable camp-sites , punctures, falls and random kindnesses inbetween, this is a journey worth sharing, particularly when told with such candour.
Initially in a weblog format, his story has been edited and complemented by the occasional viewpoint of the family at home.
Blogging is mind mapping, so cartographer Trevelyan is a candid observer as well as a survivor, camping on a budget of next- to- nothing .No watch. just a compass and a blog.
This quirky quest by an idiocyncratic writer has gained a cult following.
Aimed at those interested in adventure travel and imaginative problem solving, this book appeals to backpackers, travellers and those who enjoy 'being there'. But the crafted short blog entries and ironic captions make it appealing for those who like a quick read.
Co-writing techniques between son and mother interest other writers.(They're still talking to each other) .
Blogging is the new autobiography, but 'Cycling Solo:Ireland to Istanbul' is not boring nor self-indulgent.


text:
module Backgrounder
end

require 'active_support/concern' unless defined?(ActiveSupport::Concern)
require 'resque'

require "backgrounder/version"
require "backgrounder/handler"
require "backgrounder/placer"
require "backgrounder/resque/queue"