text:
Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries. Thanks for all your past and future contributions.
Symbian C++ Notification Services
Original Author: hamishwillee
This paper describes mechanisms that you can use to display user notifications and prompts when your code does not include a full GUI environment; for example if you're writing a server or engine code.
The paper is divided into two very distinct sections:
- The first part discusses the native Symbian C++ notifier methods that developers can employ to interact with the user "out of the box". The paper also briefly covers the manufacturer-specific notification APIs.
- The second part describes how to extend the notifier framework to support custom notifiers. Third parties should avoid creating custom notifiers where possible, for the reasons discussed in the section #Who can write Extended Notifiers?.
Example code
The example demonstrates how you launch the default notifiers, and also how you write and launch a simple custom notifier. It provides custom notifier plug-in and a test console EXE which shows how to use both the default notifiers and the custom notifiers plug-in.
\NotifierExample | \Notifier\ | (Notifier Plug-in) | ||
\NotifierTestConsole\ | (Test Console) | |||
\Launchers | \ExeLauncher_S60\ | (Launcher for S60) | ||
\ExeLauncher_UIQ3\ | (Launcher for UIQ) |
The code is built using the normal Symbian building procedure from the command line, i.e. from the \Notifier\group\ directory, do bldmake bldfiles and abld build. The test console is built from the root of \NotifierTestConsole\. The \Notifier component must be built first, in order to export the header file containing the notifier UID.
Once the console is started it displays the "default notifiers". Firstly it launches an InfoPrint; four seconds later (one second after the InfoPrint disappears) the console launches a default RNotifier which can be canceled by selecting either button. The example code for launching the default notifiers is discussed in section #"Out of the box" Notification Services.
Lastly, the console launches the custom notifier. After 3 seconds it changes the text displayed by the notifier, and after a further 4 seconds it cancels the notifier altogether. The custom plug-in example is discussed in more detail in #The Extended Notifier Plug-in Example.
The example code runs on both S60 3rd Edition and UIQ 3. As there is no mechanism to easily launch console exes on these UIs, GUI applications are provided that can be used to launch the console on production phones. It would have been possible to have displayed the notifiers directly from the GUI applications, but that wouldn't have been a true verification of Notifiers running in a non-GUI environment! To use a launcher, simply select its icon in the respective UI. The launcher starts the console EXE, from its AppUi::ConstructL() method, and then exits immediately. Note that the code in the launcher itself is of no great interest.
"Out of the box" Notification Services
The "out of the box" notification services enable both simple event notification and also prompting for and returning responses from the user. They are preferred to implementing your own extended notifier where possible.
The services are provided both as part of the Symbian offering and by manufacturers. Not all these notification services work on all manufacturer UIs. The table below shows which services work on which platforms, and the following sections provide detail for each method.
Method | UIQ | S60 |
RNotifier::Notify() | Y | Y |
User::InfoPrint() | Y | N |
CAknGlobalNote | N | Y |
An "InfoPrint" (information print) is a short information-only message which is displayed to the user for approximately 4 seconds. The message appears over the top of the current application and ignores user input.
InfoPrints are supported on UIQ. InfoPrints are not supported on S60; they display on the S60 emulator, but they don't appear when the API is called on any current production phones.
Figure 1 shows an InfoPrint on the UIQ 3 emulator (it would appear similarly on a real phone).
Code fragment
The code to launch the above InfoPrint is very simple:
_LIT(KTxtMsg,"A message");
The main limitations to using InfoPrint are:
- Suitable for event notification only, not taking responses
- Not appropriate for multi-platform code (only work on UIQ)
- Messages must be kept very short
RNotifier::Notify() – default notifier
RNotifier works on both S60 3rd Edition and UIQ 3, and provides a 2 line, 2 button notifier for which you can specify both the line and button text.
void Notify(const TDesC &aLine1, const TDesC &aLine2, const TDesC &aBut1, const TDesC &aBut2, TInt &aButtonVal, TRequestStatus &aStatus);
The default Notifier is implemented similarly on both UIQ and S60 (figures 2, 3):
- The first line is taken to be a "title"; if you specify more than 25 characters this line will be truncated
- The second line is the notifier dialog "body text". The body text can be up to about 420 characters – the notifier wraps the text, grows the dialog and adds scrollbars as necessary
- Button 1 is on left, button 2 is on right. Button text is truncated if the text is too long. You can specify null descriptors to the buttons
- The result of which button is pressed is returned to the caller. There is no way to programmatically cancel the dialog (RNotifier::CancelNotifier() and NotifyCancel() are not supported for the default notifier)
Figures 4 and 5 show the appearance of the notifier when the buttons and dialog lines have been seeded with large amounts of text. The resulting dialog has truncated button and title text, with body text wrapped and scrolled over a number of pages.
Code fragment
_LIT(KTxtLine1,"Title (first) line.");
_LIT(KTxtLine2,"Second (message) line. Text wraps and scrolls");
TInt whichbutton(-1);
TRequestStatus stat;
RNotifier notifier;
if (whichbutton==0)
// first button selected
if (whichbutton==1)
// Second button selected
Note that, for simplicity, this example code blocks using User::WaitForRequest(). In production code the notifier would be wrapped in an active object, the result being checked in the active object RunL().
The main limitations of using RNotifier are:
- Programmatic cancellation of the dialog is not supported; the user must acknowledge the prompt. Therefore this notifier is not suitable for progress notification or other event notification where the user shouldn't need to cancel the dialog
- The text cannot be formatted – i.e. you can't specify newline or any other paragraph or text formatting on either line
- You cannot have a one line notifier
Note also that if you have previously specified body text, and then try to specify "no body text" by passing a null descriptor, the original body text for the notifier will be displayed. This does not happen for buttons – if you specify a null descriptor the button text will be set to empty.
S60 Global notes
S60 provides its own global note class (CAknGlobalNote), which is a wrapper around an RNotifier extended notifier. Like the default RNotifier, this allows a global dialog to be launched from code which doesn't have a UI environment; however it additionally allows an icon, tone, and priority to be specified. It also allows the notifier to be programmatically canceled. Unless multi-platform notifier support is required, CAknGlobalNote should be used on S60 in preference to RNotifier::Notify().
CAknGlobalNote has two APIs to launch the dialogs. The first takes a TRequestStatus that can be used for dialogs where the user needs to provide a response. For example, the screenshot below shows a Confirmation note (EAknGlobalConfirmationNote). The programmer specifies the note text and buttons, and handles the event when the dialog returns after a button is pressed.
The second API can be used for notifications where feedback need not be passed back to the caller. For example, the screenshot below shows an Information dialog (EAknGlobalInformationNote) which the user would acknowledge, but the result will not be processed (and hence no buttons are specified).
Both APIs take as an argument a TAknGlobalNoteType which defines the "type" of dialog to be displayed. Each default type has a different icon and tone; a few are automatically canceled after a set time, with or without use interaction. The icon is replaceable. See the following screenshots of the notification types from the S60 3rd Edition MR Emulator.
Example code
CAknGlobalNote usage is well documented on Nokia Developer at:
The main limitations to using CAknGlobalNote are:
- Not suitable for multi-platform code (only works on S60)
- Doesn't provide a "progress" note (a "wait" note is available)
- No text formatting supported
CAknGlobalNote does however enable much better control over the notifier behaviour than RNotifier::Notify(); most importantly, it allows programmatic dialog cancellation, support for icons and sounds.
How to write Extended Notifiers
The notifier framework consists of a client interface, a server and a server-side mechanism for loading notifier plug-ins. Clients issue requests to the server to use these notifiers. The notifier server provides a full GUI environment that the notifiers can use, so that the clients themselves don't need a GUI environment to interact with the user.
The framework also defines a queue and priority system to handle the case when there are simultaneous events that need to be notified to the user (see #Channels and priorities).
The client side API for the notifier server is provided by the RNotifier class. Developers who wish to use the notifier functionality should use the RNotifier API to interact with the server and implement a plug-in that will handle the interaction with the user.
Symbian OS v9 adds support for notifier plug-ins as ECom DLLs containing one or more notifiers. Note the terminology: a notifier is an object that implements the MEikSrvNotifierBase2 interface. A notifier plug-in is an ECom DLL that contains the code related to one or more notifiers. In practice the terms are quite ambiguous especially as many notifier plug-ins contain only a single notifier.
The following sections describe how you go about developing a Symbian OS v9 ECOM-based notifier, with reference to a simple example. They also specifically cover issues related to the framework's limitations, and consequent care that you need to take in developing notifiers.
Who can write Extended Notifiers?
All notifiers run in a single thread, and the notifier framework is not robust. Therefore it is easy for a badly written notifier (or even a well written notifier where the author does not fully understand the interaction with other notifiers in the system) to break the prioritisation mechanism (section #Channels and priorities) or to deadlock the framework altogether.
For example, if a high-priority notifier monopolises the channel then the lower priority notifiers will never be activated. If a client is not implemented properly (e.g. it doesn't always cancel a notifier it activated) it can leave a notifier active and prevent other notifiers being activated.
Therefore, even though the API is public, Symbian recommend that only Device Creation engineers who know exactly what notifiers are present, should use this mechanism.
Third party developers should consider other alternatives; certainly a third party notifier should be thoroughly tested against other notifiers launched through the system – i.e. Bluetooth connection notifier, certificate check notifiers etc.
Channels and priorities
On registration, a notifier declares its channel UID and its priority.
The "channel" represents a physical media that needs to be shared by a number of clients e.g. a screen, LED, sound player etc. Each channel is treated independently by the notifier framework; a single channel can have at most one active notifier at a time but there can be an active notifier on each of them.
The priority determines the order in which notifiers are run on a particular channel; higher priority notifiers are always run immediately, putting active and subsequent lower priority notifiers into a queue to run when the higher priority notifier is completed.
It is up to the notifiers to use the appropriate channels and priorities so that all the notifiers in the system coexist successfully. As for the clients they must make sure they use the notifiers correctly (see #Using a notifier)
Here are a few examples to illustrate how channels and priorities work.
Consider 2 channels: CA and CB and 3 notifiers PA1, PA2 and PB1. PA1 uses channel CA and has low priority (ENotifierPriorityLow), PA2 uses the same channel with a higher priority (ENotifierPriorityHigh). PB1 uses channel CB and has priority ENotifierPriorityLow. To simplify the discussion we'll suppose there are no other notifiers in the system.
- As PB1 is on different channel than PA1 and PA2, it can be displayed at the same time as PA1 or PA2. The priority of PB1 doesn't matter as it is the only notifier using channel CB; additionally the priority of PB1 relative to PA1 and PA2 is completely irrelevant since they are on different channels and channels are independent.
- If PA2 is currently active and a client requests PA1 to be activated, the server will add the (lower priority) request to the queue. When PA2 is de-activated the server will activate PA1 (unless PA1 was de-activated in the meantime).
- If PA1 is currently active and a client requests PA2 to be activated, the server will de-activate PA1, queue it and activate PA2. PA1 will then be re-activated when PA2 is de-activated.
- If PA2 is always active, PA1 will never have a chance to be active and this is usually a situation that needs to be avoided. It would be up to the client and/or the notifier plug-in to make sure this doesn't happen. The framework itself provides no protection against this.
What channel(s) should I use?
A GUI notifier for a single screen device must specify a channel UID of 0x10009D48.
This is a convention only; the notifier server doesn't care what UID you use. However if you use any other channel value, the notifier server will no longer be prioritizing the notifier against all the other notifiers in the system, and if multiple GUI notifiers must be displayed at the same time the result is undefined (but unlikely to be satisfactory!).
It is possible that in future other channels will be declared – for example to support multi-screen devices. The UIDs to use for these will be published by the manufacturer.
A notifier does not need to display to the screen alone – any other resource might be mediated. However in practice the notifier server is not usually the best way to mediate other resources – for example a sound notification is better mediated by the priority mechanisms in the audio APIs. Therefore there is little reason to use the notifier framework for anything other than screen access.
What priority should I set?
It is extremely important that the priorities are defined correctly and that each notifier behaves correctly. For instance, if a high-priority notifier monopolises the channel then the lower priority notifiers will never be activated.
There is little general advice that can be given, except to say that you need to have an understanding of all the notifiers in the system in order to understand their true relative priority. As a third party you can use low priorities for notifiers that really don't need urgent attention; you shouldn't use the highest priority notifiers without testing against common notifier use cases.
The Extended Notifier Plug-in Example
This section provides a brief overview of what the example notifier does, and how it works. The relevant source code is referenced in fragment form below; the full source code is in the accompanying source-code package.
The notifier is a full-screen CEikDialog-based dialog containing a text editor control. The console test code launches the dialog and sets its initial text. After 3 seconds it updates the text and displays for a further 4 seconds before canceling the dialog. The notifier is an information-only message, and there is no mechanism for canceling it early or passing information from it back to the launching code.
The notifier dialog is shown in figures 19 and 20.
Each notifier in the system is identified by a UID. The notifier for this example has UID 0x102826DC; this is defined in an exported header file (Notifier1Uids.h) so it can be referenced in both the notifier and client code.
const TUid KNotifier1Uid = { 0x102826DC };
The notifier client uses this UID to start and stop the notifier. The code snippet below, taken from NotifierClient1.cpp, is straightforward. First we connect to the notifier server using the RNotifier class. Then we start the notifier, passing in the UID of the notifier we want and the text to be displayed, wait and then update the text. Then we wait a bit more and finally cancel the notifier.
RNotifier notifierSession;
_LIT8(KNotifier1StartText,"Notifier1 Launched");
TInt err = notifierSession.StartNotifier(KNotifier1Uid, KNotifier1StartText);
TBuf8<1> dummy;
_LIT8(KNotifier1UpdateText,"Notifier1 Updated");
notifierSession.UpdateNotifier(KNotifier1Uid, KNotifier1UpdateText, dummy);
Now look at how the notifier itself is defined (from Notifier1.h). Some of the code has been omitted to simplify the key parts of the description.
class CNotifier1 : public CEikDialog, public MEikSrvNotifierBase2
public: // from MEikSrvNotifierBase2
TPtrC8 StartL(const TDesC8& aBuffer);
void Cancel();
TPtrC8 UpdateL(const TDesC8& aBuffer);
TInt NotifierCapabilites();
Notifiers must implement the MEikSrvNotifierBase2 interface. As we needed an example notifier with dialog-like behaviour that will work on both S60 and UIQ, we derived from the "largely UI agnostic" CEikDialog. Later on you'll see that the dialog's text editor is also present in both UIQ and S60 3rd Edition, and has been used for the same reason. Note that the server has a full GUI environment, so we could alternatively derive (or own) any other UI artifact available on our target UI, e.g. a control, view etc.
Here is the code for the main functions:
TPtrC8 CNotifier1::StartL(const TDesC8& aBuffer)
if (!IsVisible())
CEikEdwin* editor1 = (CEikEdwin*) Control(ENotifier1ControlEditor);
TInt length=aBuffer.Length();
HBufC* theBuffer = HBufC::NewLC(length);
TPtr theBufferPtr = theBuffer->Des();
return KNullDesC8();
TPtrC8 CNotifier1::UpdateL(const TDesC8& aBuffer)
CEikEdwin* editor1 = (CEikEdwin *) Control(ENotifier1ControlEditor);
TInt length=aBuffer.Length();
HBufC* theBuffer = HBufC::NewLC(length);
TPtr theBufferPtr = theBuffer->Des();
return KNullDesC8();
void CNotifier1::Cancel()
The code is fairly simple. StartL() is called by the framework when the client calls StartNotifier(), passing in a buffer from the client-side. The method sets the dialog text from the buffer and then displays the dialog on the screen using RouseSleepingDialog(). The dialog has already been constructed before that (see CNotifier1::ConstructL() in Notifier1.cpp). Pre-creation of the dialog is a common pattern for critical notifiers, as it ensures that there will always be enough memory to display a notifier. You'll note that by allocating theBuffer here we've abused that pattern, so don't do this in production code!
UpdateL() is run by the framework when the client calls UpdateNotifier(); all it does is set new text for the dialog. Cancel() is called when the client calls CancelNotifier() to discard the dialog.
Also of interest is RegisterL(), which registers the notifier with the notifier server. This is where the notifier indicates what its UID is, the channel and the priority it uses (see #Channels and priorities).
CNotifier1::TNotifierInfo CNotifier1::RegisterL()
return iInfo;
Lastly, consider NotifierCapabilites(), which is called by the framework in order to determine whether the notifier has the ability to support multiple screen modes/orientations.
TInt CNotifier1::NotifierCapabilites()
return EScreenDeviceChangeSupported;
If this method doesn't return EScreenDeviceChangeSupported your notifier will return KErrNotSupported instead of launching, on any screen mode other than mode 0. I've included this here because the manufacturer emulators do not default to screen mode 0, and it took some time to debug why my "perfectly good" notifier would not start!
This was only a brief overview. The remaining methods are discussed further in the following sections.
Using a notifier
The notifier framework provides a synchronous API for pure notification, and an asynchronous API which allows data to be returned from the notifier. A particular notifier plug-in isn't required to support all methods, and there is no way to check which methods are supported at runtime (unsupported methods should return KErrNotSupported, but this is an un-enforced convention). Furthermore, the meaning of the buffers passed between the client and the notifier is notifier dependent.
Therefore the underlying assumption is that people writing notifier plug-ins are also the ones using them. If a notifier is to be used by anyone else, it may make sense to provide a wrapper class around the notifier client API - thereby abstracting any ambiguity in the use of the notifier.
Connecting to the server
Clients use notifiers by means of the RNotifier class defined in e32std.h. This class is the client interface of the notifier server.
As with any Symbian servers, you first need to connect to the server. This is done in the usual way:
#include <e32std.h>
RNotifier notifSession;
TInt err = notifSession.Connect();
Starting and stopping a notifier
The following APIs should be used to start and stop a notifier.
TInt StartNotifier(TUid aNotifierUid, const TDesC8& aBuffer);
void StartNotifierAndGetResponse(TRequestStatus& aRs, TUid aNotifierUid, const
TDesC8& aBuffer, TDes8& aResponse);
TInt CancelNotifier(TUid aNotifierUid);
There is no requirement for a notifier to support both the synchronous and asynchronous version of StartXXX so the caller needs to check which API should be used with the particular notifier it wants to use. This can only done at compile time, there is no run-time API to check this. Similarly the interpretation of the buffer passed by the client is notifier-dependent.
Every notifier that has been started must also be stopped in order to avoid the problems discussed in section 4.3. The usual way to stop a notifier is to call the CancelNotifier() function. It is however possible to write a notifier that cancels itself after it has finished its task (see #Self cancelling notifiers). Again the caller needs to check the appropriate behaviour for the notifier it is using.
There can be a delay between the call to StartNotifier() or StartNotifierAndGetResponse() and the actual start of the notifier. This happens when a notifier with a higher priority is currently active on the same channel. In this case the notifier server will put the new notifier in a queue and start it when the channel becomes available. In the asynchronous case, the request will only be completed when the notifier actually starts, not when it is put in the queue (since only the notifier can provide the right response).
Updating a notifier
Once a notifier has been started the client may want to update it. The following two functions are used for this task.
TInt UpdateNotifier(TUid aNotifierUid, const TDesC8& aBuffer, TDes8& aResponse);
void UpdateNotifierAndGetResponse(TRequestStatus& aRs, TUid aNotifierUid, const TDesC8& aBuffer, TDes8& aResponse);
The exact behaviour of these functions depends on the specific notifier implementation and the caller should use them as required by the notifier it wants to use.
Notifier writers and users need to be aware that a notifier that needs to be updated may not have been started at the moment of the update call. This is because, although a call to StartNotifier() has been made, the notifier may be held in a queue because a higher priority notifier is currently active on the same channel. However the updates are not queued so if the notifier hasn't been started at the time of the call the update won't succeed. In the asynchronous case it is possible for the client to know if the notifier has been started but not in the synchronous case.
Similarly the notifier may not be the one currently active so take this into account if the update is actually a request for user input.
Deprecated/unused APIs
The following RNotifier functions should not be used, and are mentioned here for information only:
- TInt StartNotifier(TUid aNotifierUid, const TDesC8& aBuffer, TDes8& aResponse)
If you need a response from the notifier use StartNotifierAndGetResponse(). If you don't need a response use the other overload of StartNotifier(). This function should not be used because it can cause unexpected behaviour.
- TInt StartNotifier(TUid aNotifierDllUid, TUid aNotifierUid, const TDesC8& aBuffer, TDes8& aResponse)
There is no reason to use this function as the first argument is meaningless.
- void StartNotifierAndGetResponse(TRequestStatus& aRs, TUid aNotifierDllUid, TUid aNotifierUid, const TDesC8& aBuffer, TDes8& aResponse)
There is no reason to use this function as the second argument is meaningless.
- TInt UnloadNotifiers(TUid aNotifierUid) and TInt LoadNotifiers(TUid aNotifierUid)
Loading and unloading of notifiers is not supported.
Writing a notifier
To write a notifier you implement a class derived from MEikSrvNotifierBase2. The code for the new notifier is put into an ECom plug-in (in this document we call this ECom plug-in the notifier plug-in). The notifier server loads all the notifiers when it boots (see section 126.96.36.199). Several notifiers can be packaged together into one single plug-in.
Writing the entry point code
The goal of the entry point code is to allow the notifier server to get the notifiers provided by your DLL. The entry point code is largely boilerplate. We briefly go over it in this section, and it is also the example code package
Notifier plug-ins are ECom plug-ins so they use the usual ECom entry point code. This consists of the following elements:
1) The MMP file must follow the usual ECom plug-in conventions. In addition it must have the capabilities TrustedUI and ProtServ in order to allow the notifiers to be loaded into the eiksrvs.exe process. For an example, see Notifier1.mmp in the code package that accompanies this document.
2) There must be an associated resource file to describe the plug-in (as for all ECom plug-ins). For a notifier plug-in the interface_uid must be KUikonUidPluginInterfaceNotifiers. This UID is used by the notifier server to identify a notifier plug-in (see section 184.108.40.206). For an example, see Notifier1.rss in the code package that accompanies this document.
3) The last bit of code needed is the ImplementationGroupProxy() function. For a notifier plug-in the REComSession::CreateImplementationL() function must return a CArrayPtr<MEikSrvNotifierBase2>* i.e. the list of plug-ins. The notifier server will use REComSession::CreateImplementationL() to get the list of notifiers contained in the DLL.
Here is a typical implementation of an entry point.
void CreateNotifiersL(CArrayPtrFlat<MEikSrvNotifierBase2>& aNotifiers)
CNotifier1* notifier1 = CNotifier1::NewLC();
CArrayPtr<MEikSrvNotifierBase2>* NotifierArray()
CArrayPtrFlat<MEikSrvNotifierBase2>* notifiers =
new CArrayPtrFlat<MEikSrvNotifierBase2>(5);
if (notifiers)
TRAPD(err, CreateNotifiersL(*notifiers));
if (err)
TInt count = notifiers->Count();
while (count--)
delete notifiers;
notifiers = NULL;
return notifiers;
// ECom plugin entry point
const TImplementationProxy ImplementationTable[] =
IMPLEMENTATION_PROXY_ENTRY(0x102826DB, NotifierArray)
EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
return ImplementationTable;
The NotifierArray() function is a common source of potential memory leaks as it is often forgotten that ownership of the notifier array or its contents are not transferred to the framework until this function returns. So it's necessary to ensure that all resources are freed if anything goes wrong. Calling "Release" on a notifier should call "delete this" and returning null from this function causes the framework to leave with KErrNoMemory.
A function similar to that shown above could be used to instantiate the notifiers and add them to the array. It's tempting to call aNotifiers->AppendL(CMyNotifier::NewL()) – thereby instantiating and appending to the array on one line, but this can lead to memory leaks if there is not enough memory available to extend an array. Either reserve the required space on the array beforehand or use the cleanup stack as shown above.
Now that we have the entry point in place it is time to write the actual notifier implementation(s) i.e. the classes that are derived from MEikSrvNotifierBase2. This is the topic of the next section.
Implementing the MEikSrvNotifierBase2 interface
General considerations
The notifier server is single-threaded so all notifiers run in the same thread. The implementation of the MEikSrvNotifierBase2 methods must not do lengthy tasks as this would stall the notifier server. For instance, don't put a waiting dialog in the StartL() function.
Notifiers typically use sleeping dialogs in order to ensure that the dialog is displayed even under very low memory conditions. "Sleeping" is the term used to describe a dialog which has allocated all its resources on construction, displaying the dialog simply involves making it visible or "rousing it" (which cannot leave).
Creation and destruction
virtual void Release() = 0;
This function is called by the notifier framework to free all the resources owned by the notifier. At its simplest this function should at least call "delete this".
It's a common mistake to do nothing in this function; this can lead to significant memory leaks.
virtual TNotifierInfo RegisterL() = 0;
This function should perform all necessary notifier initialisation, and then return a TNotifierInfo object that describes the notifiers parameters.
These notifier parameters include the UID that client code uses to refer to the notifier, the notifier priority (see MEikSrvNotifierBase2::NotifierPriority enumeration), and the channel UID in which the notifier should operate. It may make sense to store this information in a member variable, as it also needs to returned from the Info() function.
A typical implementation of this functions looks like:
CMyNotifier::TNotifierInfo CMyNotifier::RegisterL()
//No specific initialisation
//Set the notifier parameters
iInfo.iUid = KUidMyNotifier;
iInfo.iChannel = KScreenOutputChannel;
iInfo.iPriority = ENotifierPriorityMedium;
return iInfo;
As explained in section 4.3, the choice of channel and priority are significant and need to be considered in context with the rest of the notifiers in the system. Priority is only enforced for notifiers on the same channel, so in general notifiers that need to share the same resource (such as the screen) should be on the same channel. Their relative priority needs to be considered so the notifiers operate correctly if by chance more than one requested to be activated at the same time.
This function is only called once by the framework after construction, and it's safe to leave from it so it's possible (although not really necessary) to allocate any objects required by the notifier as you'd do normally in ConstructL() when using the two-phase construction pattern.
Note also that the UID of the notifier should normally be declared in an exported header file so clients can use this to refer to the notifier.
virtual TNotifierInfo Info() const=0;
This function must return the same information as RegisterL().
Starting and stopping a notifier
virtual TPtrC8 StartL(const TDesC8& aBuffer)=0;
This function must be implemented in order for your notifier to support an information-only style notifier which does not return information to the client. It is called by the framework when a client calls:
TInt RNotifier::StartNotifier(TUid aNotifierUid, const TDesC8& aBuffer).
There is no way for the client to retrieve the return value (the TPtrC8) so this value is effectively deprecated. If the client needs a response, the RNotifier::StartNotifierAndGetResponse() should be used. A notifier may choose to implement either or both variants of StartL().
Care needs to be taken when implementing this function. Although it's a synchronous function you must return from it as soon as possible so that the notifier framework can enforce its priority mechanism as required. You can't wait for a notifier to complete before returning from this function unless the notifier is likely to finish straight away.
A common (and safe) implementation is to create non-waiting dialogs that can be woken in the StartL() using only a call to RouseSleepingDialog().
Note that it is very important that dialogs are NOT implemented as waiting dialogs (i.e. the EEikDialogFlagWait should not be set for dialog notifiers). Initiating a waiting dialog in StartL() would mean that this function would not return until the user dismisses the dialog.
virtual void StartL(const TDesC8& aBuffer, TInt aReplySlot, const RMessagePtr2& aMessage)=0;
This function must be implemented by notifiers that need to return a result to the client. It is called by the framework to start the notifier when a client calls:
void StartNotifierAndGetResponse(TRequestStatus& aRs, TUid aNotifierUid, const TDesC8& aBuffer, TDes8& aResponse)
The client waits (asynchronously) for your notifier to tell it that it's completed.
It is essential to return from this function as soon as possible so that the notifier framework can enforce its priority mechanism as required; Copies of the return value and RMessage may need to be taken. You must also remember to call Complete() on aMessage when your notifier is finished, otherwise the client that initiated the notifier will be waiting for a response forever.
Note again that a notifier may choose to implement either or both variants of StartL(). There is no obligation to provide both.
virtual void Cancel()=0;
This function must be implemented to stop the active notifier. It is called by the framework when the client calls RNotifier::CancelNotifier().
Note that if the asynchronous version of StartL() was used to launch the dialog, then you must also complete the message (from StartL()) in this function.
A Cancel() function for an "asynchronous notifier" that uses a sleeping dialog might therefore look like this:
void CNotifierTest::Cancel()
if (iMessage.MessagePtr() != RMessagePtr())
Self cancelling notifiers
Many notifiers are self-cancelling - after either a fixed period or upon user acknowledgement of the notifier. While you must cancel the notifier in order to avoid the problems described in section 4.3 you can't do so using RNotifier::CancelNotifier() from within your notifier, as this will result in deadlock (for the reasons given in #Issuing requests to the notifier server from a notifier).
Therefore your notifier must cancel itself using the protected member: MEikSrvNotifierBase2::iManager.
For example:
This cancellation might be triggered off a timer that is started in the notifier's StartL() function, or when the dialog is acknowledged.
Issuing requests to the notifier server from a notifier
Since notifiers run in the notifier server thread they can't use the RNotifier class to issue requests as this would cause a deadlock. If a notifier wants to make such requests it should use the MEikSrvNotifierManager interface. For instance this interface can be used if the notifier wants to cancel itself rather than relying on the caller to call RNotifier::CancelNotifier().
Every notifier has access to such an interface via the MEikSrvNotifierBase2::iManager member which is protected and initialised when the framework loads the notifier.
File locations
The notifier will typically consist of the ECOM DLL, its registration resource file, and possibly another resource for the dialog definition.
For Symbian OS v9 and later the DLL and its registration file are installed in the same location as other ECOM files i.e. the DLL needs to install to \sys\bin\ and the resource file needs to install to \resource\plugins\. The dialog definition resource file is typically stored to \resource\apps\.
In the example notifier that accompanies this document, the file locations are:
- \sys\bin\Notifier1.dll
- \resource\plugins\Notifier1.rsc
- \resource\apps\Notifier1Dialog.rsc
Debugging Help
This section is useful if you have access to the notifier server source code.
Notifier server implementation
Server thread
The notifier server has its own thread, which runs in the (existing) eiksrvs.exe process.
If you have access to the source code, the main file for the notifier server implementation is in /app-framework/uikon/srvsrc/eiknfysv.cpp.
All requests to a notifier from a client are handled by the function:
void CEikServNotifySession::ServiceL(const RMessage2 &aMessage)
It is useful to have a breakpoint in this function during debugging.
Plug-in loading
The notifier server loads all plug-ins it can find on boot and unloads them when it shuts down. The server also detects and loads new plug-ins installed from a SIS file, and unloads plug-ins on SIS file removal. There is no API to explicitly dynamically load or unload notifiers.
Loading is done by the following code:
- CEikSrvNotifierManager::RegisterL() is called on server construction. It uses REComSession::ListImplementationsL(KUidPluginInterfaceNotifiers,plugInArray) to find all the available plug-ins.
- CEikSrvNotifierManager::RegisterL() calls CEikSrvNotifierManager::DoAddPlugInL() for each plug-in that was found. This will result in the plug-in's implementation of MEikSrvNotifierBase2::RegisterL() being called.
Frequently Asked Questions
Why won't my notifier uninstall?
Notifiers are loaded by the notifier server when they are detected by the framework. The installer will detect this and won't allow you to uninstall them.
There is no way to unload a notifier, therefore the only workaround is to install the notifier to removable media, and physically uninstall it.
Other useful notifier documentation
The Symbian platform reference provides the following documentation:
- RNotifier
- Using Notification Service guide
- How to use a notifier to display a simple dialog, asynchronously
- How to use a notifier to display a single line message, synchronously
The http://www.NewLC.com website provides a tutorial called "Using Extended Notifiers" that covers Symbian OS notifiers prior to Symbian OS v9. This tutorial is useful because it shows the implementation of an asynchronous notifier:
Further Information
The author would like to acknowledge the support of engineers within Symbian Software Engineering, particularly Xavier LeClercq.
Term | Definition |
Notifier | A class or instance of class that implements the MEikSrvNotifierBase2 interface. |
Notifier plug-in | An ECom plug-in that contains one or more notifiers. |
© 2010 Symbian Foundation Limited. This document is licensed under the Creative Commons Attribution-Share Alike 2.0 license. See http://creativecommons.org/licenses/by-sa/2.0/legalcode for the full terms of the license.
Note that this content was originally hosted on the Symbian Foundation developer wiki.


text:
Toyota plans Mazda killer
This sketch might look harmless, but what you're looking at could be the death of the mighty Mazda MX-5.
The car penned is a convertible Toyota 86 and if it's made, will pose a very big problem for the world's most successful roadster.
It will be $15,000 cheaper for a start, with the hardtop 86 already landing heavy blows to sales of the MX-5 world-wide. Chop the top off and Toyota could be poised to land a proverbial knock out.
But happily for Mazda, there's no guarantee Toyota will build the 86 convertible. Yes a convertible 86 concept will be unveiled at the Geneva Motor Show, but Toyota says it will only build it if there is sufficient interest.
And what are the chances of no one wanting one?
Also read:
Detroit 2013: Best cars and concepts
Detroit 2013: Worst cars
Sexiest cars from Day 1 in Detroit
Best cars from Day 2 in Detroit
In pics: 2014 Corvette Stingray revealed!
For all the latest from Australia's original and best motoring magazine...
Like WHEELS on Facebook
Grab your copy of the new mag today!
Also read:
Seven important cars for 2013
Nine awesome cars that bowed out in 2012
Most valuable automotive companies
Wheels Car of the Year 2012
Wheels drive: Bentley Continental GT
Wheels drive: BMW 528i
Mercedes Benz issues CLA spy shots
In pics: 2013 Porsche Cayman
20 sexiest cars from the LA Motor Show
Wheels Review: McLaren MP4-12C

subset: commoncrawl


text:
"Bears Say NO" by Lucy Barlow
Delicate Boundaries is the inaugural exhibition for London's First Floor Projects, a salon-style commercial gallery set in a residential space. Work by Lucy Barlow includes watercolours and drawings that range from the deliciously abstract to the firmly tongue-in-cheek. The pieces are indeed delicate, as Barlow plays with line, media and method to produce work that is difficult to define and happy to be such. The bears take a stand; Odessa bears sunny, citrus and floral notes; and passing the biscuit takes on romantic overtones.
Artist: Lucy Barlow
+ firstfloorprojects.com
Lucy Barlow will be showing at First Floor Projects in London April 23 - May 16, 2009.
Pass Me a Biscuit


text:
This is the first follow up post to: Enough for now. My attempt at finishing what I've started in 2011.
I'm starting with the easiest of my current goals which is to read 12 non-fiction books in 2011. I didn't start the new year with a list of books, it's just sort of evolved as the months have gone by.
To date I'm on track having read 7 books already, the other 5 are either on my saved list at the library or on my wish list.
The 12 titles;
- Radical Homemakers – Shannon Hayes
- Possum Living – Dolly Freed
- Early Retirement Extreme – Jacob Lund Fisker
- Animal, Vegetable, Miracle – Barbara Kingsolver
- Brilliant Investing – Martin Bamford
- Food Rules – Michael Pollan
- Your Mortgage and How To Pay It Off in 5 Years – Anita Bell
- Enough – John Naish
- In Defence of Food – Michael Pollan
- Free – Katharine Hibbert
- The Moneyless Man – Mark Boyle (Currently reading)
- How To Give Up Shopping – Neradine Tisay
I also have a couple of fiction books that I'd like to read; the first Harry Potter book, which Caroline and I have pledged to read in August (yes we're about ten years behind on this!) and Water For Elephants, but apart from that I'm not adding anything else to the list. Remember my the theme for the rest of 2011 is: finish what you started!
What are you currently reading? Do you have a reading list?
♥ Subscribe using your email account or your RSS feed reader ♥


text:
The Blood Type Diet Archives Volume 1
Posted By: Cynthia FertalDate: April 02, 1997 at 01:13:15
Dear Dr. D'Adamo,
After reading your book, which by the way is fantastic,and going through your message board, I still find certain questions unanswered.
I realize that being a type "O+" that I should be eatingmeat, fish and "some" dairy for my protein intake; however,I have been a fairly healthy vegan for more than 20 years andtruly find it repulsive to even consider returning toeating flesh ever again. To compound my dilemma, my oldproblem of hypoglycemia has recently "cropped up" again.(Has it ever truly gone away?) One of the snacks recommendedhappens to be acidophilus yogurt with nuts and 1/2 banana.But of course, yogurt is not recommended on your program.(At least for an "O".) Having tried the "O" type way of eating (faithfully) for approximately 2 months, I had found no changes other than the fact that I am actually even more tired now than before. Also, the eagerly anticipated weight loss just is not forthcoming. In fact, I had increased my weight by 8 pounds following the "O+" recommendations. This is in addition to a regular program of walking andrebounding. Help! (For the record, when I used to eatmeat many years ago, I was also very thin, so I knowyour advise about meat for "O" types is accurate.) I truly had contemplated going back to being a meat eaterafter reading your book, but just can't bring myselfto actually do it.
Can you recommend a protein substitute for an "O" whochooses not to eat flesh and is hypoglycemic? (There are just so many eggs one can eat!) Is soy cheeseacceptable? How about tofu? (I really should have beenan "A")
By the way . . .I must thank you for your wisdom in suggesting thatwhole wheat products produce mucous - yes they do!Thanks to your regime, I have just about totallyeliminated my chronic sinus problems which HAD beenplaguing me for many years - something I used to "live" with. I actually dreaded the winter because of the severesinus attacks I would have. (3 months straight induration with horrendous headaches, earaches and toothpain) BUT NO LONGER THANKS TO YOU!
Anyway, I can live with the "O" program other than theeating of meat/fish products, etc. Please tell me if there is a way around eating meat with an appropriate protein substitute.
I'm looking forward to your reply.
Thank you!


text:
Current Time
Willie Nelson at Bonnaroo
Big-name country acts join more mainstream bands each summer during Bonnaroo, a music festival held in Manchester, Tennessee.
More on this destination: United States , TennesseeUpload Your Own Photos
Do you have great photos of Tennessee? Share them now!
Photo Finder
Can't find the image you're looking for? Search our gallery


text:
Each day we will post an adorable picture or video of one of our readers' cute kids.
Trevor's mitts are covered with snow! Thanks to mom Heather for submitting.
We want to see more of your adorable kid pictures and videos. Submit them to: firstname.lastname@example.com and you just might see them on the site.


text:
pelvic examination
(PEL-vik eg-ZA-mih-NAY-shun)A physical examination in which the health care professional will feel for lumps or changes in the shape of the vagina, cervix, uterus, fallopian tubes, ovaries, and rectum. The health care professional will also use a speculum to open the vagina to look at the cervix and take samples for a Pap test. Also called internal examination.
Pelvic exam. A doctor or nurse inserts one or two lubricated, gloved fingers of one hand into the vagina and presses on the lower abdomen with the other hand. This is done to feel the size, shape, and position of the uterus and ovaries. The vagina, cervix, fallopian tubes, and rectum are also checked.


text:
Many high school students and young adults visit fortune tellers for entertainment, however, most high school students do not possess the financial holdings a criminal fortune teller is looking for. Working professionals and senior citizens are more opportune targets. Criminal fortune tellers know most individual problems concern health, wealth, or love. According to experienced investigators, initial contact with some victims is made at fairs, carnivals, newspaper ads, and hand flyers. If the victim is in a vulnerable emotional state, the criminal fortune teller attempts to work a curse removal scheme or bujo (boo-joo). The following is a fictional example of how a bujo progresses.
Jane Doe is a middle-aged, well educated, professional. Her husband of 25 years dies; she has recently been diagnosed with a serious illness. Every day on her way home from the office, Jane passes "Mrs. XYZ's Psychic Readings." Jane decides to stop one afternoon for the $5 special. After an initial tarot (pronounced ta-roe) card reading or maybe a little palm reading, the "psychic" informs Jane there is indeed some "dark evil" surrounding her life, which needs to be removed.
After several visits, Jane is told the "dark evil" surrounding her life is being caused by her late husband's insurance money. The "psychic" rubs an egg around Jane's body to absorb some of the evil. When the egg is cracked open, an ugly, disgusting mass (usually made up of hair, bread, and maybe a small plastic devil's head) is discovered inside the egg.
The "psychic" tells Jane she must bury the insurance money in the graveyard. Jane is understandably reluctant to perform such an act. The "psychic," pretending to be a compassionate person, volunteers to bury the money for Jane (the psychic buries the money right into her own pocket).
Jane's curse removal therapy continues for the next year. After several thousand dollars of her money has been "cleansed," the "psychic" suddenly disappears, probably to another state. The bujo is now complete.
How do criminal fortune tellers convince their customers of their supernatural ability to predict the future? They rely on a technique called "cold reading." By using a series of generalized statements, vague enough to fit anyone, the victim is convinced the statements are specific to their life. When a "cold reader" combines a gimmick such as tarot cards, tea leaves, a crystal ball, or palm reading with generalized personality statements, the illusion of psychic ability is created.
Theft by deception is illegal. It is the responsibility of law enforcement to protect those who cannot protect themselves. Aggressive prosecution and public education are two key factors in reducing potential victims from these con artists.
Don't let embarrassment prevent you from reporting criminal activity. The con artist relies on their victims being reluctant to admit they have been scammed.
If you have been a victim or know someone who has been victimized by a criminal fortune teller, please report the incident to your nearest law enforcement agency.


text:
My weight loss journey so far. December 27, 2011
I am 28 y/o and 5ft 11in.
I weighed myself in August and I had finally crossed the 300lb mark (305lbs at 5ft 11in) for the first time in my life. I had flirted with that weight for several years, but never crossed it to my knowledge. But, I never was a fan of weighing myself because I didn't want to know the truth. This is what I changed since then and it seems to be working for me:
- I Started a well-defined exercise program in early September (Power90). I have tons more energy. I've dropped a chunk of weight. I am more flexible. And I've built a little muscle.
- I cut out ALL soda and calorie-dense drinks that provide no nutrients. I don't even drink vitamin water. I only drink orange juice, milk, green tea, and tons and tons of normal water. I decided that I would rather eat my calories and enjoy them that way rather than drink them. (This is also why Slim Fast didn't work for me).
- I count ALL my calories in a Google spreadsheet, but I don't deprive myself of foods that I enjoy. I need this to be a lifestyle change for me and not just a quick diet. So, I need to make realistic changes. I knew cutting out all the food I enjoy would be a surefire way for me to fail. I just control my portions better and make smarter decisions.
- I use boredom as an excuse to exercise, and I try not to avoid small opportunities to burn a few extra calories (like taking the stairs instead of the elevator).
- I started following a subReddit called /r/loseit
Also, I originally changed my eating schedule. I ate 3 to 5 times per day to help keep constant energy throughout the day and to keep my metabolism running. I would always eat breakfast, even if it's just a granola and nut bar. I use this opportunity to also take a multi-vitamin. And, I stop eating at least 3 hours before bed. For the past 10 years or so, I got into a bad habit of only eating 1 or 2 meals a day (never breakfast). That loaded all of my calories into a small timeframe. And it was usually late. This + the soda seem to be the big factors in what caused me to gain weight.
I finished my first round of Power90 on December 4th, 2011. I weighed in that morning at 274.2 for a loss of 30.8lbs in 3 months. And, I have gained muscle mass. I still have a long way to go, but I am happy with my progress so far (even though it isn't as visible as I would like).
I have to wear a belt with all of the pants I own or they will fall off (I can take off my pants without unbuttoning them). And, I had to poke a new hole in my belt. I don't dare buy new clothes right now because I plan to continue my journey. I can actually fit comfortably into my 10-year-old high school workout clothes. But, I don't see a huge difference in the mirror.
I started out following the P90 program exactly as it was written. After I got into the 3-4 exercises, I started to REALLY get bored with the routine. So, I started subbing in a stationary bike for the cardio. I bought one with pre-programmed exercise routines and adjustable difficulty. I have gotten to the point where I can do a 40 minute ride on the 12th (of 16) difficulty setting and an uphill circuit.
I have been taking the recommended multivitamin to help the recovery process. But, I have also been taking a fish-oil supplement for the past month or so because I do not eat a lot of fish or other sources of Omega 3/6/9 fatty acids.
I am also thinking about starting training for a 5k. There is a 5k race on my birthday in April. It would be nice to be able to do that.
I have been off Power90 for 22 days, but I have tried to create my own routine following many of the same workouts. It hasn't been nearly as effective without the pacing and the discipline the videos provide. So, I think I am going to restart the videos soon and stick with them strictly again. My last weigh-in was on December 22nd at 271.2 lbs. A total loss so far of 33.8 lbs.
[Google Spreadsheet Chart. Auto-updates]


text:
Ryan Clark won't play in Denver
When the Steelers open their season against the Broncos on Sunday night, Pittsburgh safety Ryan Clark will not play because of the health risks imposed by Denver's high altitude.
Steelers coach Mike Tomlin made the same decision last January when he chose to sit Clark, who carries the sickle cell trait, in Denver for what turned out to be a season-ending playoff loss for Pittsburgh.
AFC North blog
ESPN.com's Jamison Hensley writes about all things AFC North in his division blog.
"That has been our position in the past and will continue to be our position," Tomlin on Tuesday said of Clark not playing. "Ryan understands that and is supportive of that. I am sure he will be a big supporter of his teammates, not only in the stadium this week but in preparation. He always has been that guy and I expect that to continue."
Sickle cell trait is a genetic abnormality which can affect red blood cells. Clark was playing in Denver in October 2007 when he developed significant pain in his left side. He became gravely ill and ultimately lost his spleen and gall bladder, along with the remainder of that football season, as a result.
While Clark was eventually able to regain his health and return to football, the possibility of another episode in high altitude was not something the Steelers wanted to risk.
Clark will travel with the team and be on the sideline Sunday night. He will not dress for the game.
Clark is also offering his support to increasing awareness and improving treatment for sickle cell. On Tuesday, he will introduce Ryan Clark's Cure League in partnership with University of Pittsburgh Medical Center (UPMC), the University of Pittsburgh's Vascular Medicine Institute and the Institute for Transfusion Medicine, where former Pitt and Chicago Bears alumnus Jim Covert is CEO. The initiative aims to raise awareness, donations and support that will lead to better care and, ultimately, find a cure for this inherited blood disorder.
Clark lost a sister-in-law shortly afterward to the same condition, and one of his children also carries the sickle cell trait. Those who carry it are typically free of symptoms, but as Clark discovered, when under extreme circumstances such as dehydration or high elevation, the condition can result in severe pain or, in the worst cases, death.
Clark's personal history with the sickle cell gene and disease inspired him to establish the foundation which will bear his name. Ryan Clark's Cure League formally launches its website -- www.CureLeague.org -- on Tuesday.
"We're going to dedicate our efforts solely to sickle cell research and patient care," Clark said. "What we're hoping is we can be the pioneers here."
An estimated 2 million Americans carry one of the sickle cell genes.
- Senior writer for ESPN.com
- Certified orthopedic clinical specialist and strength and conditioning specialist
- Clinician, author and teacher
The NFL on ESPN.com
- Follow the NFL on ESPN on Facebook
- Fantasy Football on ESPN.com | Play
- NFL preview home | NFL Nation blog
- Fox: 49ers determined to reach goals
- Clayton: Packers, Patriots take it easy
- Schefter's 10 Spot: Rookie QBs ready?
- Story: Players' punishment lifted
- Bryant: Vilma's fight for his name
- Chadiha: Players' win a gut punch to Goodell
- Brandt: Ruling a blow to Goodell's power
- SportsNation: The right move?
- Ranks: Scouts top 150 | Kiper Big Board
- McShay: Top 150 numbers and trends
- McShay: Week 2 matchups to watch
- Kiper's top 5s: Seniors | Juniors
- Cheat Sheets: QBs | RBs | TEs | WRs | OL
- Defensive Cheat Sheets: DL | LBs | DBs
- Sprow: Packers have top WR/TE group
- Polian: Which rookie QBs can win now?
- Edwards: How Vontae Davis helps Colts
- Joyner: A rookie QB revolution is upon us
- Photo gallery: Art Modell
- Clayton: Modell was mostly a model owner
- Chadiha: Meet The Indispensables
- Double Coverage: Pats-Titans breakdown
- Yasinskas: New looks for NFC South QBs
- Fleming: Rodgers is the best franchise QB
- Jaworski: The old Peyton Manning?
- Outsiders: Week 1 Upset Watch
- Joyner: Packers' D will take huge leap
- Hensley: Big Ben aims for 'elite' club
- MVP Watch: Rodgers a shoo-in?
- Rookie Watch: Why Luck is special
- Hill: A less fun NFL kickoff
- Scouts Inc.: Week 1 previews
- Seifert: Packers focused on four key stats
- Kiper: Pass-rusher to WAS in Mock Draft 3.0
- Polian: Best available free agents | Team fits
- Dominik: Suh is best FA since Reggie White
- Free agency: Buyer's guides for every team
- McShay: Winston new No. 1 in Top 32 | Mock 3.0


text:
crinsom120 wrote:hello my name is Roberto Antonio'm Brazilian, and looked very grim tales and opened my imagination to give some ideas if you allow for my contact by EMAIL email@example.com orkut also just use this email to acessalo! to embrace .
Gato wrote:I hate to be the Pokénerd here...oh wait, no I don't. Anyway, are those "Sir Aaron's" aura gloves from movie 8?
On the topic of mons, Jr. will eventually have to be one, but nobody can be the 'mon like Agumon!
A Random Dewd wrote:Hey all. I just created an account here, but I've been reading the comics for a while. I thought I could shed some light on the sardine can:
In the paid version of Angry Birds for anything made by Steve Jobs, players can purchase an in-app extra called "The Mighty Eagle". This gives players an option to launch a can of sardines on a level at any given time, which summons the eagle and basically wipes out the sardine can & anything around it. It's basically a one-hit-annihilation, "pay to cheat" kind of thing.
When I saw Mimi holding a similar sardine can, I immediately thought of this. I also immediately knew Mandy was gonna need a bigger gun.
Source on info for those that might think I'm pulling this out of the air: http://www.angrybirdsnest.com/2010/12/a ... explained/
Side note, I basically made this account to answer this specific question. Not even gonna lie. However, I will probably comment from time to time just to stay active.
Extra side note: I saw this question was kind of already answered after I posted this. Who has 2 thumbs and has an I.Q. of Zero? This guy.
RandomwarriorX wrote:Bleedman PLZ Dont Tell Me Ur A Brony
Gato wrote:reaperrose101 wrote:I saw that sword thing from that Thunder Cats show.
You talk about Thundercats properly or you shut your whore mouth. There are few things in this world I have no tolerance for, and insulting of anything I grew up with is one of them.
floofcat wrote:Heh... I was trying not to spoiler too much, but now that it's been said... let's just say that the Mighty Eagle powerup hits EVERYTHING in its path for 100 percent damage. If you've destroyed enough of the level so everything's lined up, there could be not a brick left standing. Even if you're not going for 100 percent damage, as long as you put it close enough to your intended target, nothing can stop it.
That's one reason I'm hoping Bleed has it summon something else... or has an interesting way for Mandy to counter it. In any case, this should be enough Angry Birds to get it out of the way for future insane crossovers.
Imosa wrote:@A Random Dewd: Don't worry about it. It was a good post. Thank you for the explanation and hope to see you around.
Haissan wrote:An excellent addition to the story with a touch up upon the siblings. Nice distraction.
Changing color, so piss off.
I see Blood Lord is the commander of respect for this forum. Makes me wonder if he is one of the few people on Earth who could rank up with Outlander from my regular forum. It would be a battle to see.
A brony, well you should look it up on "Know your Meme" on YouTube.
My final order of business is this, don't feed the Gato, it's obviously a parasprite.
*Kicks over a bucket of Turnips*
Thank you and Good day.
shadowilinise wrote:So basically...since there is a roof...a "mighty eagle" will just make a hole in the roof make an entire mess and save the day??
scissors wrote:Well, Mandy isn't just going to get defeated THAT quickly.
Return to Comic Updates and News!
Users browsing this forum: No registered users and 5 guests


text:
One of Boston's first African-American TV newsmen, Charles K. Austin joined WBZ-TV 4 in April 1968 as a film processor. He went on to work as a film editor, booth announcer, sports reporter and news anchor. Austin studied voice at the New England Conservatory of Music, attended Boston University's School of Journalism and studied at the Pointer Institute. In 1984, Austin was the first television reporter from Boston to travel to Sudan and Ethiopia where he covered the famine crisis.
Among many awards, Austin received a 1970 Emmy Award for an in depth documentary focusing on the study of violence in Africa entitled, The Savage Root. He also received the Silver Circle Award from the New England National Academy of Television & Sciences for his significant contributions made over twenty-five years or more to television, to the Academy, to the community and to people training for careers in television.
In 1996, the Charles K. Austin Prostate Health and Cancer Education Outreach Program was named in Austin's honor by the Boston Medical Center. In 1997, Austin received the Gilda Radnor Award from the Greater Boston Wellness Community honoring individuals who engendered inspiration in cancer patients through their fight with this disease. Austin was also inducted into the Massachusetts Special Olympics Hall of Fame and was named the number one crime reporter in Boston by the Boston Police Detectives Benevolent Society.
In addition, Austin also is a recipient of the Boston University Dennis Kauff Award for excellence in Broadcast Journalism, The Criminal Justice Resource Institute Award for Civic Activities, The Massachusetts Cystic Fibrosis Community Service Award, The Massachusetts Association of Minority Law Enforcement Officers Award for Outstanding Reporter and The Hinton Award from the State Department of Public Health for improving prostate health care in communities of color.
In 1987 and 1988, Austin was awarded First Place in the annual newsmakers convention of the National Association of Black Journalists for his coverage of breaking news. He also received an Honorary Doctor of Humane Letters Degree from Fitchburg State College in May of 1996, and another from the Southern New England School of Law in 2006. Austin recently was awarded the President's Volunteer Service Award and therefore was invited to President Obama's Martin Luther King Service Award Presentation for 2011.
Charles Austin now serves on the director's boards for the Massachusetts Prostate Cancer Coalition as well as The Seven Hills Foundation.
He and his wife have three children and five grandchildren.


text:
Learn about new video content and online professional development for teachers.
Discover educational online video, and explore your favorite PBS Kids shows with learning activies and discussion points.
Learn new skills through online video such as Khan Academy, Workplace Essential Skills, and much more!
Join us for LIVE electronic field trips!
Find out more about APT Education's community initiatives including events and workshops.
These debates were sponsored by the League of Women Voters and the Student Government Associations of the University of Alabama and Auburn University.
Tag: Tuscaloosa, vote, voters
Length: 53:18
Length: 56:46
Length: 27 seconds


text:
@saraq90 - I have a family member that had trichotillomania as well and her eyelash growth luckily continued after she finally beat the habit. An interesting fact my family has learned about now is that obsessive compulsive disorder is connected of to trichotillomania or vice versa, so be aware of that.
Secondly in learning about the disorder to better understand my family member's eyelash pulling, I never read that it necessarily caused ingrown hair. I did read that ingrown hairs understandably tend to get picked at and made worse when someone with a hair pulling disorder gets one, because they are particularly aware of them.


text:
Miami Gets Its Very Own Eater
Categories: Blog Watch
But what does Eater mean for Miami? Who better to answer that question -- and more -- than Abravanel.
New Times: Why do you think Eater chose to expand to Miami? Do you think it reflects on Miami rapidly growing restaurant and food culture?
Lesley Abravanel: First off, it's about time! But really, think about it. It's a natural progression. Eater has been a presence in the usual suspects--NY, LA, San Fran. When they decided to launch nationally they couldn't ignore Miami, a place where people are willing to go into foreclosure to eat at the latest 'it' restaurant. Just kidding--sort of. But really. It seems as if a new bar or restaurant, big name or mom and pop, is opening on a weekly basis down here despite the economy. We've got edible stimulus going on and yes, Eater's entry into Miami is absolutely a reflection on our emerging restaurant and food culture. People are tired of always hearing about what we don't have down here. Eater is here as the cheerleader of what we actually do--and will--have.
NT: What's your role with the site?
LA: I am the editor and currently the sole writer of the site.
NT: Will there be more Miami Eaters joining the team soon?
LA: We are totally open to adding more correspondents and would love to hear from people.
NT: There are a lot of links to local food blogs. Is the local foodie community on the web an integral part of Eater Miami?
LA: Definitely. One of Eater's mission statements is to do the best job aggregating all the great food content being created by bloggers and media in each city they're in. So yes, yes, we'll keep linking everyone like crazy! Bring it!
We're definitely excited to see what Eater has to bring to the local foodie community. So let us be the first to welcome Eater to Miami.
Sponsor Content


text:
American Alexander Rossi and Chinas Ma Qing Hua have been confirmed as Caterhams reserve drivers for 2013, joining racers Charles Pic and Giedo van der Garde in the teams line-up for the new season.
Rossi, 11th in last years Formula Renault 3.5 championship, first drove for Caterham at the 2011 Abu Dhabi young driver test and served as the teams test driver in 2012. He made his F1 race weekend debut with a practice outing at last years Spanish Grand Prix and as part of his 2013 reserve role will be taking part in a number of further FP1 sessions this season.
"After many discussions this winter with Caterham F1 Team regarding my 2013 programme, todays announcement brings me even closer to my goal of racing in F1, said Rossi, 21. 2013 will be my third season with the Caterham family and Ive built solid relationships within the whole team.
My goals from the Friday practice sessions that I will drive this season is to fulfil the teams run plan for each session, work closely with everyone and learn as much as possible, always being ready for the next opportunity. As Caterham F1 Teams reserve driver I will attend all F1 events, allowing me to integrate fully within in the team technically, commercially and from a sporting perspective in F1, best preparing me for the next step.
Ma, meanwhile, is a newcomer to Caterham, but has F1 experience after four practice outings with HRT in 2012. The 25-year-old, a veteran of several single-seater series including Italian F3000 and British F3, will drive in this years opening practice session for his home race in Shanghai, as well as racing throughout the season in GP2 for Caterham Racing.
I am very excited about joining the Caterham family and would like to thank everyone at Caterham F1 Team and Caterham Racing for giving me the chance to race in GP2 and to extend my F1 experience, said Ma.
Both teams have everything they need to keep growing in the right direction and I am looking forward to playing an important role in helping them achieve what theyve set out to this year. I know the fans at home will be really excited to see me race in GP2 and with the F1 work I also have ahead of me, China can be proud that it continues to have a driver involved in motor racing at the very highest level.
Commenting on Caterhams latest signings, team principal Cyril Abiteboul said: Im very pleased to welcome Ma into our team. Alexander continues his development with us into 2013 and his promotion is a reflection of the investment we are making in him for the future.
Ma joins us with previous F1 experience from 2012, and will play a key role in helping our GP2 team achieve their 2013 goals. We are looking forward to helping him develop his talents, both in the F1 and GP2 environments, and giving Chinese fans a figurehead to support on track throughout the year ahead.
As reserve drivers, both Alexander and Ma will attend every race with us and will be driving in a number of FP1 sessions to continue their development. One of the main challenges facing young drivers moving up to F1 is the sheer number of people they have to interact with compared to any other level of their motorsport career. They go from a small number in Formula Renault 3.5 to more than 15 in F1, across engineering, performance, reliability, engine, KERS, strategy, communications and marketing.
The program we have devised for Alexander and Ma will allow them to immerse themselves completely in the F1 environment throughout 2013, preparing them for the day when they take the next step up to the ultimate level.
For tickets and travel to 2013 FORMULA 1 races, click here.
For FORMULA 1 and F1 team merchandise, click here.


text: On Sun, 09 Nov 2003 12:23:35 -0800, Dale Weber penned: > On Sunday 09 November 2003 8:58 am, S. Anthony Sequeira wrote: >> Do you have this, or similar in /etc/fstab? >> >> usbfs /proc/bus/usb usbfs defaults 0 0 > > Yes, I have had that and other mount points for usbfs in /etc/fstab but I > always get mount error when I try to mount it at /proc/bus/usb because it > says the mount point does not exist. So, I created a new mount point at > /fs/usb which does seem to work, but still doesn't help my USB mouse and > keyboard work. > >> You will also need some kind of bootup script, which I assume/hope you >> have created. > > I have just the boot scripts created while building LFS. The only > additional > software I have built and installed are the usbutils and hotplug packages, > which I had to build from the chroot environment. > > I've been trying to see how RedHat 9.0 gets the USB devices setup at boot > time, but have had no luck there either so far. I figure I must have to > do something similar for LFS. > > It's kind of maddening, since I know I can boot my LFS to a login prompt, > but > just can't type anything. So close, yet so far still. > > 8-Dale This is a link off the original URL I gave you. I am sure that this will help towards solving your problem. http://www.linux-usb.org/ Good luck. -- Tony


text:
I love this lipstick, it is one of my favourites. A nice neutral looking mauve shade. Looks a lot darker in the tube. A slight metallic finish but not too much, subtle, long lasting too. Great :)
Frosty beigey mauve nude lips for me! I wear this tons more than I thought I would.
It looks almost TOO frosty but it's just yummy!
This is a gorgeous plummy pink- another of UDs sensible rather than silly lip colours! No glitter here. D.xx
I love the color of Urban Decay's lipstick in Chronic. It looks like the perfect plummy mauve color that I constantly seek out in a lipstick. Unfortunately for me the color just does not look good on my actual lips. I end up with a purple looking frosty mess that I always end up wiping off as fast as I look in the mirror. I'm not sure why.
More reviews by AliceinWonderland
I think Urban Decay has really cute stuff. Chronic is a mauvey beigey frost. I like this one. If you like this one you would also Like "X" and "Fur" both in the rose brown and subtle rose genre.


text:
LORAC • Perfectly Lit Oil-Free Luminizing Powder in Luminous • Highlighters
(16 reviews)
Average Rating. | 4.6 |
Would buy this product again. | 87% |
Ingredients |
elvislover1 on 6/17/2013 6:18:00 PM more reviews by elvislover1
Age: 18 & Under Skin: Acne-prone, Fair Hair: Brown Eyes: Blue
Loved the color but broke me out badly on my cheekbones. :(
Was this review helpful to you? Yes No
shugee on 3/31/2013 6:28:00 PM more reviews by shugee
Age: Unknown Skin: Normal, Medium, Warm Hair: Silver, Straight, Medium Eyes: Green
I've paid much more for highlighters that I didn't like as well as Lorac's. I'm medium toned and bought the champagne color Luminous because I like a lighter highlighter on my cheekbones to "lift" them a bit. It took me a little while of using Perfectly Lit to appreciate its wonderfulness as it's a different kind of powder highlighter. It has a soft opaque base unlike the very sheer based highlighters I was used to, so it really stands out when I apply it in a line along the top of my cheekbones with an angled foundation brush. However, when I softly buff it to blend it in, I'm left with a beautiful pearly glow that is daytime perfect. Because I apply highlighter after blush, I like that the opaque base adds a slightly milky quality to my blush. The descriptors - soft, creamy, blends like a dream - all apply. I love it and wish it also came in a color like Benefit's High Beam - you know with that hint of pink.
2 out of 2 people found this review helpful. Was this review helpful to you? Yes No
CamR on 7/7/2012 7:57:00 PM more reviews by CamR
Age: 19-24 Skin: Acne-prone, Fair-Medium Hair: Blond, Relaxed, Fine Eyes: Hazel
This is the best highlighter I have ever found, and probably the only one I will ever use from now on. It can look subtle and natural, or you can build it up to create a stunning highlight on the brow bone. It is very finely milled and not sparkly at all. I absolutely love it,and would recommend it, and I will certainly be repurchasing it when I run out.
1 out of 1 people found this review helpful. Was this review helpful to you? Yes No
kaymit90 on 11/13/2011 12:43:00 AM more reviews by kaymit90
Age: 36-43 Skin: Combination, Fair-Medium Hair: Black Eyes: Brown
I absolutely love this highlighter. The powder is ultra fine. It gives a very nice glow to the skin. I sometimes put it all over the face (with a light hand), and sometimes just on the bridge of the nose, chin, and above the cheekbones. It is not sparkly at all, so it is very natural. For reference, I am NC 25. Just make sure to stay away from the areas with bigger pores, like the cheek area next to the nose, because the highlighter will accentuate the pores.
2 out of 2 people found this review helpful. Was this review helpful to you? Yes No
ninanina on 8/17/2011 10:08:00 PM more reviews by ninanina
Age: 44-55 Skin: Combination, Fair-Medium Hair: Blond Eyes: Blue
This review is for the color: Radiant and it is just that: radiant. It's a light/sheer brown color, not to be confused with a bronzer, although it could be used as that. I use it all over and it is simply the best face waker upper (new word but you get it I know). Just adds a glow but not in a shimmery, clowny way. I cannot live without this and have no idea what took me so long to review it. I got it dirt cheap ($9) at Sephora. It's worth the regular price as it lasts a long time. Give it a whirl you'll love it or you won't but it's worth a try! Oh and BTW I do NOT use a brush with this, it comes off too heavy, rather I use a puff and dab it on and it works like a dream...enjoy!
1 out of 1 people found this review helpful. Was this review helpful to you? Yes No
*TOP REVIEWER* lola88 on 8/26/2010 1:12:00 PM more reviews by lola88
Age: 30-35 Skin: Dry, Fair, Cool Hair: Black, Straight, Medium Eyes: Brown
Since I have fair skin this does not work well as a highlighter for me. For me this is a setting powder that has a bit of glow to it. I will not likely repurchase because I like MAC MSFN better for this purpose.
I feel bad for those who purchased this at $32 because it is $9 at Sephora right now.
2 out of 3 people found this review helpful. Was this review helpful to you? Yes No
*TOP REVIEWER* cadabeijos on 4/5/2010 9:09:00 PM more reviews by cadabeijos
Age: 25-29 Skin: Combination, Tan, Warm Hair: Brown, Wavy, Medium Eyes: Brown
I love this stuff! I tried my friend's and it works great as a highlighter and gives you that extra glow.
Was this review helpful to you? Yes No
emilia2784 on 1/20/2010 3:07:00 AM more reviews by emilia2784
Age: 25-29 Skin: Acne-prone, Fair Hair: Black Eyes: Brown
This stuff is great! I love that its oil free and and doesnt take too much to add a healthy glow--not shiny or like a "wax figure." They last forever and help to make my skin look more airbrushed and complete. Yes it is a little more on the costly side, but like I said it lasts a while. I buy one about every 3 months and use it EVERYDAY. I try other highlighter/luminizers out of sheer curiousity and perhaps a shopping addiction, but always come back to this one!!!
Was this review helpful to you? Yes No
*TOP REVIEWER* Pamann on 4/26/2009 11:40:00 AM more reviews by Pamann
Age: 36-43 Skin: Acne-prone, Fair-Medium Hair: Blond Eyes: Hazel
I adore this product!! I was hoping there was a product that could add a little glow to my skin without looking obvious and this is it!! Finding the right brush to apply it was my biggest challenge. It is easy to overapply and accent lines rather than minimize if you apply too much product! Eep!
I tried a fan brush and a small eyeshadow blending brush but I found the best was a bronzer brush that came w/ a Clinique GWP bronzer. The shape of the brush is similar to a full size loose powder brush but about 1/3 the size.
I just very gently glide the brush across the top of the product(the product itself though being a pressed powder, is very soft and easy to pick up onto a brush.) I gently graze the luminizer across my blush to blend my blush and and across my forehead and jawline. It makes my skin look flawless and glowy and perfectly lit from the inside!
My only minor complaint is the packaging. I never carry my makeup items with me so my products stay new looking. Somehow the company logo flaked right off with only a month of usage. And sadly I dropped the compact onto carpeting which broke the powder inside. I would only caution that the powder is very fragile and would not travel well.
Overall, I adore this product and would certainly purchase it again. I'm nearing a year of daily usage and I've not even used half.
3 out of 3 people found this review helpful. Was this review helpful to you? Yes No
*TOP REVIEWER* lelaelena on 11/24/2008 12:51:00 AM more reviews by lelaelena
Age: 19-24 Skin: Acne-prone, Tan Hair: Blond Eyes: Green
Lovely sheer champagne shimmer (but definitely not a shiny shimmer, the subtlest I've seen yet). Really does "uplight" whatever area you put it on and a GREAT bet for those that have feared highlighters before, application is foolproof, color is foolproof (they have two others two, for medium and dark skin tones).
3 out of 3 people found this review helpful. Was this review helpful to you? Yes No
Top Rated Highlighters
- 346 reviews
Smashbox Soft Lights - Shimmer
82 reviewsToo Faced Candlelight Glow duo
31 reviews


text:
Related links
Record breaking data centre for genome sequencing opened in Norwich
27 May 2011
Amplify the low hum from your computer thousands of times and you will have some idea of the noise created by cooling a supercomputer with six terabytes of RAM. The Genome Analysis Centre (TGAC), which receives strategic funding from BBSRC, has just established the largest RedHat Linux system on the planet, in a new data centre formally opened on Thursday 26th May.
The purpose-built facility will handle data created during genome sequencing and analysis. It provides a warehouse for key datasets and the facility to disseminate these nationally.
Guests to the opening were invited to don ear defenders to view the racks of computer equipment and the thick arteries of power cables that will fuel the next generation of genetic investigation.
The supercomputer provides 6 terabytes of RAM for processing - equivalent to the capability of about 200,000 first generation iPods - and 600 terabytes of fast disk storage. It will enable scientists to assemble large genomes, such as wheat, that would be extremely difficult to achieve on smaller systems. The system has already broken records for its speed of processing Java-based code.
The wheat genome represents the largest and most complex set of genetic instructions ever tackled by DNA sequencing. It is five times larger than the human genome and is actually made up of three closely related genomes.
"Bread wheat is one of the most important food crops in the world and the data centre will help us solve unanswered questions to help farmers increase yield and disease resistance," said Dr Jane Rogers, Director of TGAC.
Professor Douglas Kell, Chief Executive of the Biotechnology and Biological Sciences Research Council which provides strategic funding to The Genome Analysis Centre, said "So many of the research challenges facing society, not least that of providing enough sustainable, affordable and nutritious food for all, will need to be addressed by the effective manipulation of biological data. As sequencing gets faster, more affordable and a more commonplace technique, this need becomes ever more urgent. This data centre, and the amazing computing power and storage capacity that it will provide, will equip TGAC to exploit the potential, and the overcome the challenges that these mountains of data present."
Such a lot of power generates heat and the centre blows with a breeze from environmentally friendly "free cool" chillers.
Local businesses and suppliers were contracted on the build, from the design consultant to supplier of IT racks. The main construction contractor was Morgan Sindall, based in Norwich.
Guests at the opening included South Norfolk Council Chairman Sue Thomson and Simon Wright, MP for Norwich South.
TGAC has been established in Norwich by the Biotechnology and Biological Sciences Research Council (BBSRC) in partnership with regional economic development partners - The East of England Development Agency (EEDA), Norfolk County Council, South Norfolk Council, Norwich City Council and the Greater Norwich Development Partnership. The centre represents an investment by all the partners in the capital infrastructure of £13.5M.
BBSRC Media Office
tel: 01793 414694


text:
St. Gabriel residents speak out about Grace's possible detention
POSTED: Monday, March 5, 2012 - 4:28pm
UPDATED: Monday, March 5, 2012 - 4:29pm
BATON ROUGE,LA (NBC33) — George Grace was immediately handcuffed and taken into custody after getting convicted on Saturday on seven felony charges that included bribery, racketeering, wire and mail fraud. it's a decision that doesn't sit well with people that grew up with him, like Oscar Williams.
"Him not being able to come and do the things he needs to do to take care of before sentencing. I think the court ought to allow him the opportunity to get his business out here straight," says Williams.
But there are several things that are hurting Grace's chances to go home before his sentencing. He owns property and has a $20,000 in a bank account in the African country of Uganda. There's also a fear he could commit the same crimes again, but those aren't the only reasons says assistant U.S. attorney Corey Amundson.
"It was our conclusion that there was a significant risk of flight based not only on the evidence, but also the amount of prison time he's facing.
Some residents in the Iberville Parish community feel once you're convicted of a crime, you're no longer entitiled to your free time.
"Once you break the law and you're convicted your rights as a citizen as a far as being able to have free time are pretty much over 'cause you're going to jail," says Grene.
Grace is facing more than 100 years behind bars. Amundson headed the prosecution's case against Grace's legal team, which was led by Lewis Unglesby.
"I don't think that detention was necessary and I would hope come Tuesday they could put on some evidence and show that," says Unglesby.
An opinion shared by those who know him best.
"Knowing him the way I know him, I don't think he's a threat to do anything like that. I think he'll turn himself in when sentencing time comes," says Williams


text:
1 result for CDs & Vinyl :
Baby Love: Music From the Motion Picture Soundtrack "For Love of the Game" (Cd Single)
1999by joan osborne; joan osborne [Performer]
There's a problem loading this menu right now.
Your Shopping Cart is empty.
Give it purpose—fill it with books, DVDs, clothes, electronics, and more.
If you already have an account, sign in.
There's a problem previewing your cart right now.
Check your Internet connection and go to your cart, or try again.
Get to Know Us | Make Money with Us | Amazon Payment Products | Let Us Help You |


text:
Each day we will post an adorable picture or video of some of the world's cutest pets.
Kiwi sure is an adorable bird! Special thanks to the reader that submitted!
We want to see more of your adorable pet pictures and videos.
Submit them to: firstname.lastname@example.com and you might just see them on the


text:
Reds take tough Opening Day loss, fans look at hopeful season
The first loss of the season for the Reds on Opening Day sent fans out of Great American Ball Park with their heads to the ground.
To continue reading: Subscribe Now or Sign In
Log in or Subscribe now so you can share your opinion! It's only a penny for a month trial.


text: Hi guys and gal's, Just a quick hello again, I'm not dead but I've been really busy with family commitments (we now have a new addition to the family). With things settling down again at home I'll be hanging around here alot more from now on. Now ... better go read the mail archives. -- Jamie


text:
Butler alumni get special treatment from their alma mater. Your commitment to Butler's goals and traditions means you can look forward to many services and benefits offered only to Butler alumni.
All Butler graduates are automatically members of the Butler Alumni Association. As a member, you're entitled to some exciting benefits.
Your Butler Alumni benefits include a special discounted rate on Auto Insurance and Home Insurance from Liberty Mutual. We're proud to provide our members with a great benefit from a Fortune 100 company that protects millions of people across America. Find out more about Liberty Mutual Home & Auto Insurance or call 800-524-9400. (Discounts and savings are available where state laws and regulations allow, and may vary by state. To the extent permitted by law, applicants are individually underwritten; not all applicants may qualify.)
Your Credit Charges Can Support Butler's Legacy Scholarship
Through Butler University's new Visa® Platinum Rewards credit card, a portion of every dollar charged on the card will go to support the Alumni Association Legacy Scholarship. The Butler University Visa® Platinum Rewards card offers qualified cardholders exceptional benefits including competitive rates and terms*. Find out more about The Butler University Visa® Platinum Rewards card and apply online by visiting http://www.cardpartner.com/pro/app/butler.
*Please click here for the most updated pricing and fees disclosure.
Your card entitles you to special benefits on campus and beyond. Here's how to get your card:
Show your membership card and take advantage of these great offers.
Please contact the Office of Alumni and Parent Programs with any questions at (800) 368-6852, ext. 9946.
Special rates are available at select hotels (subject to availability) during our fiscal year (June 2014-May 2015). Most hotels require that reservations be made one month in advance. When you call to make reservations, please identify yourself as a member of the Butler family and ask for the Butler rate. If you have problems receiving this rate using the 800 number, please call the hotel directly. See Hotel List Here.


text:
Unsigned Houston based rock band, thelastplaceyoulook, is opening for 10 Years' national record release tour. Read more
Unsigned Houston based rock band, thelastplaceyoulook, is opening for 10 Years' national record release tour.
About this project
9/7/2012 UPDATE!!! So we hit the bare minimum target of $7k but the expenses have been a little higher than we expected for our van deposit. So we have some new rewards for you guys... FOR EVERY $3k OVER GOAL WE WILL RELEASE A PREVIOUSLY UNRELEASED NEW TRACK TO EVERYONE WHO DONATES!!!
16k: Rip it Out
If you have already donated you will recieve the links as well. Even if you only donate $1, when we hit these goals you all recieve a new track! So keep posting, tweeting, and spreading the word!
9/4/2012 UPDATE!!!We have successfully hit our bare minimum target of $7000! Thanks to everyone who has donated or promoted thus far! However our van deposit was much higher than originally expected and we still have lots of other tour expenses so we're gonna keep pushing for as much as possible with some stretch goals soon to be announced with extra rewards for previous and future backers! Please keep posting and spreading the word so we can make this a successful tour and thank you all so much. We are humbled and amazed to have recieved this much support so quickly!
Unsigned Houston band, thelastplaceyoulook, is embarking on their first national tour opening for national artists 10 Years and Red Jumpsuit Apparatus!
We have the opportunity we have been working all these years for: to go on a national tour with major artists and show our music to thousands of fans!!!!
We couldn't have gotten this far without the support of all of you wonderful fans. Who needs a record label? We got something better... WE'VE GOT YOU!!!!
Now we need just a little more help from you guys so we can make this amazing opportunity a success!
We're going to be gone for 6 weeks covering over 12,000 miles across America for 26+ shows! Although this is the chance of a lifetime operating expenses are going to be higher than we've ever seen.
Here is a breakdown of what we're budgeting for:
- Hotels:$2880 (however we plan to cut this way down considering we're gonna try and meet as many awesome new fans as possible that will let us crash on their floors)
- Gas:$2750 (but only with the new van we need to get, in our current van it will be $6000!!!)
- Food:$15/day for 5 band members each x 48 days = $3600
- Support Staff: Tour Manager/Sound Guy/Merch Guy= $20/day. Only cause he loves us lots. That and he's easy ;) $980
- Merch Supply: $3000 for CD's and T-shirts
- Emergency Fund: In case of breakdown or injury $1000
- Van Payment:$1600
- Trailer Rental:$300
- Extra Gear:$1000 scrims, cameras, promo beards, etc etc
- Van Buildout: BUNKS!!! and seats and storage compartments and what not $1000
- Practice Room: $600 so we don't lose our rehearsal space we've had for 7 years
Total Budget: $18,710
Now we have saved and of course we're gonna make money on the road but we still need help with the van down payment and the expenses of touring on a whole new level we've never attempted before.
So we're asking for you guys to help out with a portion of the budget of at least $7,000.
But if you break it down it's totally doable.
We have over 4000 fans on facebook, so if everyone donated $2 we'd be able to make our bare minimum to complete our project for a total of $8000! That's over 100%
Now if everyone gave us $5 we'd have our ENTIRE BUDGET!!!
And we'd be able to use what we have saved up for a cushion in case of emergencies. As always none of this is going in our pocket, our bellies maybe, but we don't profit off the band just yet. It's more about us being able to spread the music to everyone we can!
Almost as important as donating, we need you to spread the word once the site goes live. Facebook post it, Tweet it, share it, email your contact list, spread it around the workplace, tell all your friends AND enemies! We as a city and community of music lovers have the opportunity to help a band from our hometown break out in a big way!!!
It's been too long since Houston had a rock band out there nationally showing people why our city rocks and we hope to make you guys proud! So if you can spare a few dollars, or even a lot of dollars we will give you some super fun prizes as well as know that we all did this together!
Here are the tour dates below:
Sep 15 Capone's Johnson City, TN
Sep 18 Peabody's Cleveland, OH
Sep 19 Club Fever South Bend, IN
Sep 21 Elbo Room Lounge Rhinelander, WI
Sep 22 The Castle Theatre Bloomington, IL
Sep 23 The Rave Milwaukee, WI
Sep 25 Majestic Theatre Madison, WI
Sep 27 Sokol Auditorium Omaha, NE
Sep 28 Station 4 St Paul, MN
Sep 29 Wooly's Des Moines, IA
Sep 30 The Cotillion Ballroom Wichita, KS
Oct 02 Hurricane Harry's College Station, TX
Oct 04 Click's Tyler, TX
Oct 05 Geo's Mcallen, TX
Oct 06 BUZZFEST 29 Houston, TX
Oct 09 Juanitas Little Rock, AR
Oct 10 The Varsity Theatre Baton Rouge, LA
Oct 13 The State Theatre St Petersburg, FL
Oct 14 Revolution Fort Lauderdale, FL
Oct 16 The Orange Peel Asheville, NC
Oct 17 Hooligan's Jacksonville, NC
Oct 19 Chameleon Club Lancaster, PA
Oct 20 Mr. Smalls Pittsburgh, PA
Oct 21 The Trocadero Philadelphia, PA
Oct 27 New Daisy Theatre Memphis, TN
Oct 28 Soul Kitchen Mobile, AL
plus more dates are being added as we speak...
Have a question? If the info above doesn't help, you can ask the project creator directly.
Pledge $2 or more
2 backers
Personalized txt to your phone!!!!
Estimated delivery: -
Pledge $5 or more
11 backers
A personalized post on your facebook page by a band member thanking you for your help!
Estimated delivery: -
Pledge $10 or more
18 backers
We are creating a limited edition tour poster! For this donation level you will get a poster signed by all members of the band!
Estimated delivery: -
Pledge $15 or more
1 backer
We will send you a signed postcard from any city on the tour!
Estimated delivery: -
Pledge $25 or more
38 backers
For this donation level you will get a signed cd and signed tour poster with a personalized message.
Estimated delivery: -
Pledge $25 or more
22 backers
For this donation level you will receive a signed t-shirt your choice of any style and size that we carry!
Estimated delivery: -
Pledge $50 or more
17 backers Limited (8 left of 25)
a pair of tickets to an exclusive filmed acoustic show
Estimated delivery: -
Pledge $75 or more
2 backers
A framed hand written thank you letter from the band! Signed by all members!
Estimated delivery: -
Pledge $100 or more
20 backers All gone!
Signed Poster, A pair of tickets for an exclusive filmed acoustic show, a framed hand written thank you letter from the band signed by all members, a facebook thanks and a "Beard on a Stick"
Estimated delivery: -
Pledge $150 or more
9 backers Limited (1 left of 10)
We will cover a song of your choice and put it on youtube. A pair of tickets for an exclusive filmed acoustic show.
Estimated delivery: -
Pledge $250 or more
8 backers Limited (2 left of 10)
You can come to a rehearsal,We will order pizza, recieve a signed Poster, A pair of tickets for an exclusive filmed acoustic show, a framed hand written thank you letter from the band signed by all members, and a facebook thanks.
Estimated delivery: -
Pledge $500 or more
2 backers Limited (10 left of 12)
A guitar signed by all members, this can be picked up at a show!
Estimated delivery: -
Pledge $500 or more
1 backer Limited (2 left of 3)
We will host a bbq for you and 4 friends at one of our houses!
Estimated delivery: -
Pledge $1,000 or more
0 backers Limited (2 left of 2)
We will write and record a song for you!
Estimated delivery: -
Pledge $1,000 or more
0 backers Limited (1 left of 1)
You will get to name the van and we will put it on the side of the van. You will also receive a signed guitar.
Estimated delivery: -
Pledge $10,000
0 backers Limited (1 left of 1)
Navas beard... He will shave his beard off and mail it to you!
Estimated delivery:
Funding period
- (17 days)