text:
Aikya is a Sanskrit word meaning Unity or Oneness. It was the spiritual name given to Ann by her yoga teachers. A spiritual name can be given for two reasons: one, because the person embodies that description or two, because they are striving to achieve that quality. In Ann's case, it is definitely the second as she has used yoga (also meaning to unite) to connect mind, body and spirit. For many years, Ann used yoga throughout her life to balance her business career with her work as a yogi & labor doula... prior to leaving the corporate world to pursue her dreams! She has a passion to bring the peace and unity she has found in yoga to the tired & stressed-out workforce; vacationers at Tybee Island, women who want to get pregnant, working moms; stay at home moms, moms-to-be and just the average Jane (or Joe!)
Ann Carroll is based in Savannah Georgia. She started practicing Integral Hatha Yoga® in the early 90's as a way to combat stress in her job and personal life. After realizing the astounding benefits relating to stress and the workplace, she chose to attend a four week live-in teacher training at the Satchidanada Ashram near Buckingham Virginia in 2000. Once that program was completed, she began to teach classes in a variety of settings, with the goal of sharing the gift of yoga.
In 2001 she attended another two week teacher training at the same facility specifically addressing bringing yoga into an office or boardroom setting as stress management.
Subsequent trainings at The Kripalu Institute, the Asheville Yoga Center and again at Satchidananda Ashram prepared her to teach Pregnancy Yoga. She later trained and was certified through CAPPA (Childbirth and Postpartum Association) as a childbirth Educator and a Labor Doula. She is honored to work with pregnant moms because of the incredible benefits her students have experienced before and after delivery.
In 2011 Ann recognized the need in Savannah for Fertility yoga and has enjoyed expanding her practice to support those seeking parenthood.
Ann attends on-going continuing education and is a 500-Level Experienced Registered Yoga Teacher through Yoga Alliance, a Registered Pregnancy Yoga Teacher, a member of the Integral Yoga Teachers Association, founder and member of The Savannah Area Teachers of Yoga Association (SATYA) and has been on the staff of the Yoga Teacher Training Program at Savannah Yoga Center since its 2007 inception, in addition to staffing programs at Satchidananda Ashram.
All of the Aikya Yoga classes are suitable for people of all ages, physical abilities and walks of life. Plan to bring Peace into your life by attending one of the Aikya Yoga sessions or make arrangements for a private or group lesson by contacting her to discuss a format that would work with your group.


text:
Garda whistleblower Maurice McCabe's first contact with a TD came about because he saw Clare Daly TD on 'Tonight with Vincent Browne' talking about policing of Corrib Gas protests, writes William Hederman
The repercussions for Garda whistleblowers Maurice McCabe and John Wilson will be familiar to others who have publicly embarrassed An Garda Síochána. They were clearly acting in the public interest, but their revelations brought the force into disrepute, and the two men suffered as a result. Revenge was exacted – not only by colleagues, but also by way of public denunciation by the Garda Commissioner ("disgusting"), the Minister for Justice ("not co-operating") and by various other parties loyal to the force.
Tweets by @ShellToSea
"About 120 protesters outside Mullingar station Ming Flanagan, Maura Harrington, etc. Supporting McCabe. M" - Ex-Garda Commissioner Callinan
"You can judge a man by his friends" Brian Purcell - SG of Dept of Justice
"Some shower Brian" Callinan
If you wish to subscribe to receive the Shell to Sea News Updates then click on the link below and enter your email.
The email list is a low volume list of usually one or two emails a month.

subset: commoncrawl


text:
Skelly vs Mischief Rap Battle [KOTD Canada Edition]
*♫*♪*♫*Toronto Division Vol.10 *♫*♪*♫* Skelly -vs- Mischief Judged By:Friday, Mayhem Morearty, Hail Up, NoahPVP Hosted By: Organik
Please click the "Report" button below if the video on this page is not working properly.
Comments will only be displayed by verified emails. No Spamming or Racism.


text:
It should only take a few minutes to answer five quick questions. Just click the Launch survey button at the end of your visit to begin.
Recycling - Overview
Responsible product take-back and recycling is very important to us – we take responsibility for our own products by offering our own take-back solutions as well as working with the rest of the electronics industry to support recycling solutions. By providing locations and information about recycling, we want to make it easy for everyone to make good choices which will benefit the environment. For information about your closest collection point, please visit our How to Recycle page
Our products are collected and recycled by numerous systems throughout the world.
Products collected by us are handled by our recycling partners in a process co-designed by Sony Mobile to meet or exceed today's environmental practices and expectations. To protect the environment and ensure fair working conditions for all recycling staff, we check to ensure that our recycling partners work according to industry, national and our own high standards. Likewise, we finance and support industry-organized and privately run Waste Electrical and Electronic Equipment (WEEE) and battery recycling compliance systems.
Our Environmental Warranty
We guarantee that all phones returned to our collection points will be recycled in a responsible and environmentally sound way:
1. The vast majority of the material from recycling is used again as recovered parts, secondary raw material or energy.
2. Remaining materials will be disposed of in an environmentally conscious manner in accordance with applicable laws and regulations.
3. Landfill waste from our recycling process is kept to a minimum


text:
Do you use a Wacom tablet? Last year in September I picked up one of the Intuos small tablets based on suggestions from many digital artists, photographers & retouchers like Genia Larionova. I was a little unsure of its usefulness as I had never used one and had always used a mouse for all of my edits.
When I finally decided to take the plunge, I ordered it online. After placing my order I eagerly waited the several days for it's arrival. I was excited to try it out and hopefully boost my editing technique with it. As with any other gadget that I've ordered, when it arrived, I quickly opened up the box, installed all the hardware and software and started to play with it.
Well, let me first be honest about my initial reaction to using it. *This sucks!!!* and is so hard to use. I fiddled with the settings as best I could for sensitivity and what the buttons all do. Still, it was really hard to use. After using a mouse for almost 20 years the pen, which to paper is so natural now, was a pain the butt.
So I dabbled with it here and there for the first week not working on anything super important as I didn't have the feel for it just yet. After about a week or so, I decided that, after reading a lot of opinions on it use, that I'd put the mouse away for a week and struggle only using the tablet; *For everything!*
I used it from photo editing, browsing the web and checking email and even work and excel documents. The first couple days was a nightmare. Now, if you own or have checked out the Intuos, it comes with several different pen tips, or nibs, as they call them. I found one that seemed a bit easier to use and felt more natural.
Just a couple days before the week was up I started to get the hang of it and could see why so many professionals use and rely upon it.
Well 7 months into using it I can safely say it's so awesome! The ability to adjust pressure on the fly when using a brush in Photoshop is so fantastic.This past week I was working on a photo to prep it for working in Photoshop and I didn't have the tablet with me at the time. I got to the point of using Photoshop and was stopped in my tracks. I've now myself become reliant on the use of the tablet. The mouse is not natural anymore for using the tools in my work. The pressure sensitivity and other great features of the tablet have proven to be such useful tools. I use the pressure all the time to do different amounts of opacity when brushing with a clone stamp tool or standard brush. You *can't* do that with a mouse.
So, to finish up with my experience with the tablet so far I can't stress how much this has helped in editing photos. Are you on the fence about whether to pick one up? Do you have one that either you bought for yourself or someone gave you? Is it still sitting in it's box waiting for you to have the *time* to set it up and learn it?
Well, let me tell you go for it! If you have one already and haven't used it yet then your kicking yourself in the heels. If you haven't purchased on and have thought of it then it's a must.
No joke, there is a bit a of a learning curve, but if you give it a little persistence then I promise you'll be amazed at how much better your editing will become. I still use a mouse for most things not related to editing photos like email, text document and browsing the web, but for photo editing or digital painting, there is no other way to go. I just can't believe it's taken me so long to get to this point.
Don't wait as long as I did!
If your interested in following me on Twitter you can either click on the link below or go to twitter and click on follow. I'm now also on Google Plus which is a great new platform. Are you on Facebook? If so please 'like' the Maugiart Photography Page.Follow @wordpressdotcom


text:
Proba-2: technology demonstrations
Proba-2 is demonstrating a large number of new technologies in orbit. These can be split into two groups: those that are an integral part of the satellite platform and those that are for demonstration purposes and are not mission-critical.
Proba-2 uses a platform similar in size to that of Proba-1 to demonstrate yet more advanced technologies:
- a new type of lithium-ion battery, developed by SAFT (FR)
- an advanced data and power management system, containing many new component technologies including the LEON processor developed by QinetiQ Space nv (formerly Verhaert Space, BE)
- combined carbon-fibre and aluminium structural panels, developed by Apco Technologies SA (CH)
- new models of reaction wheels from Dynacon (CA), startrackers from DTU (DK) and GPS receivers from DLR (DE)
- an upgraded telecommand system with a decoder largely implemented in software by STT-SystemTechnik GmbH (DE)
- a digital Sun-sensor, developed by TNO (NL)
- a dual-frequency GPS receiver, developed by Alcatel Espace (FR)
- a fibre-sensor system for monitoring temperatures and pressures around the spacecraft, developed by MPB Communications Inc. (CA)
- a new startracker development being test-flown before use on the BepiColombo mission, developed by Galileo Avionica (IT)
- a very high precision flux-gate magnetometer, developed by DTU (DK) and magnetometer technology experiments from Lusospace (P) and ZARM Technik AG (DE)
- an experimental solar panel with a solar flux concentrator, developed by CSL (BE)
- a xenon gas propulsion system using resistojet thrusters and a solid-state nitrogen gas generator to pressurise the propellant tanks, developed by SSTL (GB) and Bradford (NL)
- an exploration micro-camera (X-CAM), developed by Micro-cameras & Space Exploration (CH)
- new GNC algorithms developed by NGC (CA)


text:
Help a dog today by donating, helping or adopting from Schnauzer Rescue of the Carolinas
"Saving just one dog won't change the world....but surely the world will change for that one dog." - Author Unknown
Welcome to the website for Schnauzer Rescue of the Carolinas! (SRC)
Schnauzer Rescue of the Carolinas is a 501(c)(3) non-profit organization -- all of our tax deductible adoption donations go back into helping care for other rescues. We are a group of volunteers within North Carolina, South Carolina, Virginia, and Eastern Tennessee whose sole purpose is to rescue and secure loving, permanent homes for displaced Miniature, Standard, Giant Schnauzers, and occasionally "Endangered Honorary Schnauzers".
SRC's worthy mission is to assure that each rescued canine in our care will have a happy and healthy life. Ours is the first step to assuring this happens! As soon as this needy canine comes into our custody this rescued dog will be examined by one of our professional SRC veterinarians who will give administer a medical examination of this dog which includes but is not necessarily limited to heart-worm and fecal testing, de-worming, updating of necessary vaccinations, spay/neuter if not already done, micro-chipping and any other medical procedure which our approved vet feels is required to assure this rescue's health at that time. Once this dog is cleared by our SRC approved vet, then it is placed in a loving SRC foster home for a minimum of two weeks so that their foster parent will be able to adequately evaluate the demeanor and needs of this dog now in their care. This way the foster parent is able to give very valuable information to the approved adoptive parent about their future family companion in order to assure the upcoming adoption day will be a happy and successful one! Adoption is a life-time commitment. We at SRC strive to match our rescued canines and adoptive parents as closely as possible so both SRC rescued dog and its permanent family will be very happy together for the remainder of their lives together.
If you would like to request an Adoption Application, visit our Application Download page. FIRST PLEASE DONATE $5.00 to have your Adoption Application processed. See the DONATE BUTTON BELOW. It is tax deductible and will be used for the medical needs of incoming rescues.
Donations are no longer accepted via PayPal. PayPal has decided they no longer want to be friendly to 501c3 charities.
We have found a new company that is 501c3 friendly. We are now accepting donations via Authorize.Net!
Donate to SRC while you shop


text:
If I ever shopped there, I wouldn't again. I think MILLIONS will make that choice. THIS is the sort of news item I was talking about for a newsletter to distribute in your local area. I doubt the masses whho get their news from the MSM know anything about this. I think I may work on a flyer this evening to put on some local bulletin boards.
It's happening. I think conservatives, (including myself), are realizing that a live and let live attitude is a losing proposition.We have to engage and fight........even though it goes against our core beliefs.http://radio.foxnews.com/toddstarnes/top-stories/dicks-sporting-goods-faces-customer-outrage-over-gun-ban.html
I'm not sure a boycott is needed. The free market should end up killing them..
A boycott may help move that process much faster.
Here's how I was thinking about it: we all saw what a somewhat united statement is made with Chick-Fil-A last year. With Dick's, we don't even need anywhere that turnout. Just a small percentage of Dick's customers of the Chick-Fil-A customers last year decide to stop shopping at Dick's, they will really feel it. Just a modest tweak will really get their attention I think.
I am curious as to where Dicks has their shops. We have one here near the mall. If they are in more rural states they are shooting themselves in the left foot...


text:
Grains settled mixed to stronger today with bear spreads in control of corn and soybeans. March corn finished 3 ¼ cents higher, March beans 2 cents lower, and March wheat up 21 cents. To put it in perspective of what the spreads did - Dec corn up 11 ¼, Nov beans up 6 ½, and July wheat up 13 ½.
Exports were strong today, at least stronger than anticipated. The following is the actual vs the expected range in 1000 MT's:
Expected Actual
Soybeans 450-750 915.4
Corn 500-900 1029.8
Wheat 400-750 1147.8
On top of these strong exports, we also had a sharply lower US dollar and strong equities. Also today, Informa came out with its 2nd acreage estimate for 2011. They are projecting corn acres at 90.9, bean acres at 76.7, and total wheat at 57.6.
On top of all this fresh data today, the EPA also announced the approval for E-15 ethanol blend for cars made between 2001 and 2007. This adds to the decision in October for approving E-15 for cars made after 2007. All this was seen as friendly corn today.
Cattle on feed report estimates vs actual today:
Average Range
of estimates of estimates Actual
On-feed on Jan 1 104.2 103.0-104.9 105
Placed in Dec 113.7 102.8-120.6 116
Marketed in Dec 105.2 102.9-106.9 105
More placed than expected and slightly more on feed than expected, this is slightly bullish grains.
Lastly I want to talk about the funds. The latest Commitment of Traders report shows an increase in net long corn positions by 38,094 contracts by the large speculator. They increased their net long soybean positions by 12,706 and reduced their net long ALL-wheat positions by 929 contracts. Basically it means the big guys are still buying this market.
We are still feeling the aftershocks of the report with a bullish bias to these markets. For now, we will likely see the market supported on further breaks. This doesn't rule out the possibility of a large break from unforeseen events, so I recommend staying well hedged in the cash market and keeping your upside potential in the call spreads.
Stop Guessing & Start Marketing
Click icon above for a Free Trial of EHedger Premium Research package and watch the AMMO Demo video.
Trading commodity futures and options involves substantial risk of loss and may not be suitable for all investors. The market information contained in this message has been obtained from sources believed to be reliable, but is not guaranteed as to its accuracy or completeness. Market information may not be consistent with current or future market positions of E Hedger, its affiliates, officers, directors, employees, or agents. Recipients assume the risk of reliance on and indemnify and hold E Hedger harmless for any and all losses, costs, or tax consequences incurred as a result of their use of market information.


text:
Window Weatherman
幸运飞艇彩票站是哪里的outside gathers local weather data and presents them to you through a stylized window in your iphone or ipod touch. watch the current weather or swipe to see tomorrow's forecast all from the cosy windowsill of this little universe.
Free Push Notifications
setup custom notifications for various weather conditions and get alerts when the weather matches your criteria, even when the app isn't running!
have outside wake you up in the morning and tell you if you're going to need an umbrella for work today. outside monitors the local weather and tells you when it's going to rain.
let outside monitor the uv index and give you an alert when it goes above a certain level. don't leave for the beach without sunscreen.
brrr. it can be freezing out. what's your limit? when do you slip on the big overcoat? why not have outside alert you if the temperature goes under your desired level.
幸运飞艇彩票站是哪里的decide when you feel it's t-shirt weather and let outside remind you when it's hot enough to wear that favorite tee.
"Nice graphics and a fresh approach to weather information."
- tuaw
"Outside Puts The iPhone Weather App To Shame."
- techcrunch
"Even if it's raining it's beautiful!"
幸运飞艇彩票站是哪里的 - macstories
"Outside Is a Super-Stylish Weather Notifying App"
- lifehacker
"Outside is visually stunning. it's weather with a modern twist!"
- 148apps.com
"Outside successfully manages to combine simplicity and utility"
幸运飞艇彩票站是哪里的 - iphoneappreview


text:
Two miles north of Tenby, Monkstone Point marks the end of Tenby Roads and the beginning of Saundersfoot Bay.
Looking down on them from the coastal footpath at low tide, Monkstone Sands look very inviting - the bathing is safe, the rockpools abundant and the space ample for recreation.
Access to Monkstone Sands is easy off the coastal footpath, and it is not too far from both Tenby and Saundersfoot. Motorists will find limited parking at Trevayne Farm near New Hedges, where the coastal path passes through.
The footpath at this location descends into the woodland near Trevayne Farm and Caravan Park and take the walker through Swallow Tree Woods to the southern end of Saundersfoot beach. But it is tempting to make the diversion onto Monkstone Point to be rewarded by magnificent panoramic views of Saundersfoot and Amroth and, in the other direction, Tenby and Caldey Island, or out across Carmarthen Bay to Gower and beyond. Some claim it is even better than beautiful Barafundle near Stackpole, which last year was voted one of the Top 12 Best Beaches in the World.
At the southern end of the beach is an interesting expanse of wave-cut platform beneath black shales and terracotta sandstones, the shales reminding the viewer that this is one of the boundaries of the south Pembrokeshire coal field, which was extensively mined for centuries to the north-west near Saundersfoot, Kilgetty and Stepaside.
On the clifftop at Monkstone Point are the walled remains of what might have been a monk's cell linked to Caldey Island's monastic settlement, although there seems to be a lack of information in the records of the Royal Commission on Ancient Monuments for Wales. The name of the headland certainly suggests a monastic connection.
The beach is a good place for a family picnic and a paddle and the golden sand makes good building material for sand castles. The rockpools are also worth exlporing and at low tide there is plenty of space for family games of cricket, baseball or football, kite-flying or just walking the dog.
There are many opportunities for exploring the coast in organised parties, with facilities at Tenby for the increasingly popular sport of coasteering, a mixture of rock climbing, scrambling, swimming. diving and jumping, all taking place a few meters above or below sea level. It is a development of orienteering only wetter and much more exciting, but it is not recommended without expert tuition, advice and supervision. Suggested best way to approach it is through one of the local providers at the resorts and main beaches around the Pembrokeshire coast.


text:
Tune into your local Talk Radio Network affiliate today to hear me guest host the nationally syndicatedSam Sorbo Show!
Sam and I met at Education Policy Conference last year as speakers, I was scheduled to speak just after her! She brought the house down standing ovation style as only a international model and TV/movie star can do.
After our panel finished, Sam and I connected and it was instant friendship. It's truly an honor to hold the mic her in stead on her number 7 in the nation rated talk radio show!
Today we will talk Loretta Lynch, Obama wants the DNA of 1 million Americans and Mitt Romneys upcoming 2016 announcement (that's happening today!) We have fantastic audio and all of the top news the dead tree media refused to cover!


text:
Magic Champion Men's NBA Replica Jersey
Show you're a true fan with the official NBA replica jersey by Champion. Jersey and shorts look like what the players wear. All screenprinted team graphics, player names and player numbers. 100% nylon mesh. Imported. ***Please Note: We cannot sell or ship Champion brand products outside of the United States.***


text:
The victory is the fifth straight for the Blackbirds and their 31st consecutive triumph at the WRAC spanning over two years.
Defense and rebounding were key to LIU's impressive victory, as the Blackbirds held Manhattan to 30.2 percent from the floor (26.9 percent in the second half) and outrebounded the Jaspers by a 50-25 margin.
After the break, Thompson began the half with his third three-pointer of the contest to give LIU an eight-point cushion just over a minute into the second stanza. Another three-pointer on the following offensive possession pushed the lead to nine, and kickstarted a 32-6 run over the next eleven minutes that blew the contest open.
Thompson closed the spurt by connecting on three straight trifectas in a span of 2:37 to put LIU Brooklyn on top 66-34 with 7:29 to play. From there, the Blackbirds cruised to their second consecutive 27-point victory and moved their record in the month of December to a perfect 4-0.
LIU Brooklyn was looking to make it six straight as it takes the short trip to Jersey City to take on Saint Peter's on Wednesday, Dec. 19, at 7 p.m.
Boyd out for the year
LIU Brooklyn senior men's basketball player Julian Boyd will miss the remainder of the 2012-13 season due to a torn ACL in his right knee he sustained in the Blackbirds' win over Rice on Dec. 12.
LIU Brooklyn will apply for a medical redshirt for Boyd at the conclusion of the 2012-13 men's basketball season, as Boyd has appeared in fewer than 30 percent of LIU's scheduled games this season.
The reigning Northeast Conference Player of the Year, Boyd was averaging 18.5 points and 6.1 rebounds per games through the team's first eight games. The 6-7 forward ranks 10th on LIU's all-time scoring list with 1,467 points.


text:
Build a web-based notification tool with XMPP
Write real-time web applications with XMPP, PHP, and JavaScript
Before you start
This tutorial introduces you to the real-time web and takes you through some of the reasons for building real-time web applications. You'll learn techniques that allow you to create responsive, continually updated web applications that conserve server resources while providing a slick user experience.
About this tutorial
Real-time web applications allow users to receive notifications as soon as information is published, without needing to check the original source manually for updates. They have been popularized by social-notification tools like Twitter and Friendfeed, web-based collaboration tools like Google Wave, and web-based chat clients like Meebo.
The Extensible Messaging and Presence Protocol (XMPP) is an XML-based set of technologies for real-time applications, defined as networked applications that continually update in response to new or changed data. It was originally developed as a framework to support instant messaging and presence applications within enterprise environments.
In this tutorial you will build Pingstream, a simple tool that continually updates itself with RSS feed updates as they are published (Pingstream source code: pingstream.zip). Along the way you will:
- Learn why XMPP is particularly suited to web applications
- Learn about the components of XMPP communication
- Install and configure the Openfire XMPP server
- Connect to the XMPP server using PHP and the XMPPHP library
- Check for new items in an RSS feed and transmit them over XMPP
- Use Strophe and jQuery to connect to an XMPP server over HTTP using Bidirectional-streams Over Synchronous HTTP (BOSH)
- Display XMPP notifications in a web page
To follow along with this tutorial, you must have the following server software installed and running:
- PHP 5.2 or higher
- Apache HTTP Server
- MySQL
As you progress through the tutorial, you will also download and install the following software and libraries:
- Openfire
- jQuery
- Strophe
- Last RSS
You might also find the MySQL server tool phpMyAdmin useful. If you are using a desktop machine to test your real-time web application software locally, you might find XAMPP useful for managing the installation and running of a test web server infrastructure.
See Related topics for links to all the tool downloads.
Introducing the real-time web
In this section, you'll learn what real-time web applications are, why you might want to build one, and how they differ from the typical model for modern web applications.
Taking input and providing feedback
Applications are pieces of specialized software that help users perform tasks. Characteristically, they take input from the user or other sources and provide human-readable output. They might also respond dynamically — in a visual or programmatic way — to changes in input data that's received automatically. For example, a news-monitoring application might notify the user if a news story containing a particular keyword appears in a newswire that the application connects to.
Because of its origins as a document-serving platform, the web is not optimized for applications. HTML is great for representing and hyperlinking text content, but not for creating dynamic interfaces. Web applications can accept and respond to user input, thanks to the combination of server-side scripting languages such as PHP and simple web-input technologies such as forms and JavaScript. But you must overcome some hurdles to create interfaces that update automatically. This is a more difficult problem because no front-end web technology has been developed with this functionality in mind. In contrast (taking the news-monitoring example), desktop software doesn't need to refresh its interface for notifications to be delivered to the user; it can continually update itself. The web, on the other hand, is bound to a page-based model.
Nonetheless, real-time web-based applications are possible, and their benefits are clear. Such applications include enterprise chat, networked real-time document collaboration, and search interfaces that reveal new content as soon as it's published.
Web technologies for robust application development
Typically, web applications simulate continually updated interfaces by using Asynchronous JavaScript and XML (Ajax) to poll a server frequently. In this model, the application's web page contains JavaScript, which makes repeated requests to a server callback in the background. Although the responsiveness of Ajax applications is adequate in many situations, this technique has drawbacks.
Ajax does not fare well with unreliable Internet connectivity: a temporarily dropped connection can cause the whole interface to fail. It is also inefficient in terms of server load. Suppose your background Ajax polling function checks the server every 10 seconds. Each time, a new HTTP connection is established, including initialization of the resources needed to service the request, even if there's no new data to present to the user. The result is an application that uses considerably more processor time and bandwidth than it needs to.
XML-based technologies provide significant advantages to web-scale applications. XML parsers are now a standard part of most environments; no extra software is required to support the reading and writing of data in a suitable format. XML is self-describing; documents that use it do not require an external schema. Finally, just as the web is platform-independent, XML as a technology is interoperable among platforms. As a result, developers can concentrate on the logic specific to their applications.
The web is built on free, interoperable, open standards such as HTML, Cascading Style Sheets (CSS), and JavaScript. If a standard is to emerge for real-time communication on the web, it too should be open, interoperable, and free. XMPP, which is based on XML, meets these criteria. In this tutorial, you will use it to build a client library that accepts input through standard methods (for example, a web hook) and relays the appropriate data to the user in real time.
Introducing XMPP
In this section, you'll look at XMPP, its origins, and why it is a suitable protocol for real-time web communications. You will examine the components of an XMPP communication setting, and review some examples of how these can be used.
Web standards and XMPP
XMPP is an XML-based set of technologies for real-time applications. It was originally developed as a framework to support instant messaging and presence applications within enterprise environments. At the time, the existing instant-messaging networks were proprietary and largely inappropriate for enterprise use. AOL Instant Messenger, for example, could not be adapted for secure communications inside a company. Although commercial solutions existed, their fixed feature sets typically could not be adapted to meet an organization's needs. XMPP, then called Jabber, allowed organizations to build their own custom tools to facilitate real-time communication, as well as install ready-made third-party solutions.
XMPP is a decentralized communication network, which means that any XMPP user can message any other XMPP user, network infrastructure permitting. XMPP servers can also talk to one another with a specialized server-to-server protocol, providing interesting potential for decentralized social networks and collaboration frameworks, although that is beyond the scope of this tutorial.
As its name suggests, XMPP can be used to meet a wide variety of time-sensitive feature requirements. Indeed, Google Wave, a large multiuser collaboration environment, uses XMPP as the basis for its federation protocol. Although XMPP emerged from a requirement for person-to-person instant messaging, it is by no means limited to that task.
The structure of XMPP communication
To facilitate message delivery, each XMPP client user must have a universally unique identifier. For legacy reasons, these are referred to as Jabber IDs, or JIDs. Because of the protocol's distributed nature, it's important that a JID contain all the information required to contact a user: no central repository links users to the servers they connect to. The structure of a JID is similar to an email address (although there is no requirement for a JID to double as a valid email recipient).
Both client and server nodes, which I refer to collectively as XMPP entities, have JIDs. John Doe, an employee at SomeCorp, might have the JID
firstname.lastname@example.com. Here,
somecorp.com is the address of the XMPP server for SomeCorp, and
John.Doe is the username for John Doe.
JIDs can also have a resource attached to them. These allow for further addressing granularity beyond an identifier for an XMPP entity; for example, whereas the preceding example can represent John Doe in totality,
email@example.com/Work might be used to send data to his work-related tools.
These resources can take any user-defined name, and an XMPP entity can have any number of resources. As well as being context-dependent, they can be bound to a device, tool, or workstation. For your Pingstream example, each visitor to the website will log into the XMPP server as the same user but have different resources.
Categories of communication
A real-time messaging system using XMPP comprises three broad categories of communication:
- Messaging, wherein data is transferred between parties
- Presence, which allows users to broadcast their online status and availability
- Info/query requests, which allow an XMPP entity to make a request and receive a reply from another entity
These are complementary. For example, there's often no point sending data to a user, or making an info/query request of an entity, if the user or entity is offline (although in many use cases it is desirable for the server to hold messages for users until they return). Each of them is delivered through a complete XML stanza — a discrete item of information expressed in XML.
XMPP stanzas of all three types have the following attributes in common:
from: The JID of the source XMPP entity'
to: The JID of the intended recipient
id: An optional identifier for the conversation
type: Optional subtype of the stanza
xml:lang: If the content is human-readable, description of the message's language
Data transfer over XMPP takes place over XML streams, operating on port 5222 by default. These are effectively two complete XML documents, each corresponding to a direction of communication. Once a session is established, the
stream element is opened. It will envelop the entire communication document. The stanzas are then injected into the second level of the document. Finally, once communication ends, the
stream element is closed, forming a complete document.
For example, Listing 1 shows a
stream element establishing communication from the client to the server:
Listing 1. Stream tag establishing communication from client to server
<stream:stream from="[server]" id="[unique ID over conversation]"
xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" version="1.0">
Once communication is established, the client can send a message to another user with the
message element, which can contain any of the following child elements:
subject: A human-readable string representing the message topic.
body: A human-readable string representing the message body. Multiple body tags can be included, if each one has a different
xml:langvalue. (
xml:langis the only possible attribute.)
thread: A unique identifier representing a message thread. Client software can then use this to string together related messages.
However, messages can be as simple as the one in Listing 2:
Listing 2. Sample message
<message from="sendinguser@somedomain" to="recipient@somedomain" xml:lang='en'>
Body of message
Message stanzas are the most useful stanzas for providing real-time web interfaces. The publish-subscribe model — an alternative to using messages to transmit data in real-time web applications — is described next.
Info/query stanzas can have a wide variety of functionality. One example is the publish-subscribe model, wherein a publisher notifies the server of updates to a particular resource, and the server in turn notifies all XMPP users who have opted to subscribe to these notifications and are authorized to do so.
A series of items from the publisher are encoded as stanzas in the Atom XML-based publishing format. Each item is contained within an
item element, then collectively within a
pubsub element, and finally as an info/query stanza. In Listing 3 (taken from the XMPP publish-subscribe specification) Shakespeare's Hamlet (with JID
email@example.com/blogbot) is publishing an update to the
pubsub.shakespeare.lit pubsub update node with his famous soliloquy:
Listing 3. Update to the
pubsub.shakespeare.lit pubsub update node
<iq type="set"
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<publish node="princely_musings">
<entry xmlns="http://www.w3.org/2005/Atom">
To be, or not to be: that is the question:
Whether 'tis nobler in the mind to suffer
The slings and arrows of outrageous fortune,
Or to take arms against a sea of troubles,
And by opposing end them?
<link rel="alternate" type="text/html"
Info/query stanzas are also used to request information about a particular XMPP entity. For example, in the stanza in Listing 4,
boreduser@somewhere is looking for public items owned by
Listing 4. User looking for public items owned by
<iq type="get"
<query xmlns="http://jabber.org/protocol/disco#items"/>
In turn,
friendlyuser@somewhereelse responds with a list of items that can be subscribed to using publish-subscribe, as in Listing 5:
Listing 5. Response with a list of items
<iq type="result"
<query xmlns="http://jabber.org/protocol/disco#items">
<item jid="stuff.to.do"
name="Things to do"/>
<item jid="stuff.to.not.do"
name="Things to avoid doing"/>
Each item returned in the result info/query stanza in Listing 5 has a JID that can be subscribed to. Info/query stanzas also allow for a wide variety of server information requests that are outside the scope of this tutorial. Many of them are useful in a web application context for multiserver environments, or as the basis of sophisticated decentralized collaboration frameworks.
Presence information is contained within a presence stanza. If the
type attribute isn't present, the XMPP client application assumes that the user is online and available. Otherwise,
type can be set to
unavailable, or to the pubsub-specific values
unsubscribe, and
unsubscribed. It can also be an error or a probe for the presence information of another user.
A presence stanza can contain the following child elements:
show: A machine-readable value indicating the overall category of online status to display. This can be
away(temporarily away),
chat(available and interested in communication),
dnd(do not disturb), or
xa(away for an extended time).
status: A human-readable counterpart to show. The value is a user-definable string.
priority: A numeric value between -128 and 127 that defines the priority by which messages should be routed to the user. If the value is negative, messages for the user are held.
For example, the
boreduser@somewhere might use the stanza in Listing 6 to indicate a willingness to chat:
Listing 6. Sample presence notification
<presence xml:lang="en">
<status>Bored out of my mind</status>
Note the absence of a
from attribute.
Another user,
friendlyuser@somewhereelse, might probe the status of
boreduser@somewhere by sending the stanza in Listing 7:
Listing 7. Probing a user's status
<presence type="probe" from="friendlyuser@somewhereelse" to="boreduser@somewhere"/>
Boreduser@somewhere's server would then respond with a tailored presence response:
<presence xml:lang="en" from="boreduser@somewhere" to="friendlyuser@somewhereelse">
<status>Bored out of my mind</status>
These presence values derive from person-to-person messaging software. It isn't clear how the value of the
show element — normally used to determine a status icon to display to other users — is used apart from a literal chat application. Status values might find use in microblogging tools; for example, changes to the status field of a user in Google Talk (an XMPP chat service) can optionally be imported as microblog entries in Google Buzz.
Another possibility is to use status values as carriers for per-user application state data. Although the specification defines status as being human-readable, nothing stops you from storing any string there to suit your purposes. For some applications, it might not be human-readable, or it might carry a data payload in the form of microformats.
You can set presence information independently for each resource owned by an XMPP entity, so only one user account is required to access and receive data for all the tools and contexts connected to a single user within an application. Each resource can be assigned an independent priority level; the XMPP server will try to deliver messages to resources with higher priorities first.
XMPP over HTTP using BOSH
application.mydomain.com, any XMPP communication must also take place at
Firewalls are an additional complication. Ideally, if you use XMPP as the basis of the real-time element of your web interface, you want it to work for users behind a firewall. But corporate firewalls usually leave open only a few ports for a small number of protocols, to allow web data, email, and similar communications to get through. By default, XMPP uses port 5222, which a corporate firewall might well block.
Suppose you know that the firewall your users might sit behind will allow HTTP on port 80 (the default protocol and port for accessing the web). It is optimal if your XMPP communications can tunnel over HTTP on that port. However, HTTP isn't designed for continuous connections. The architecture of the web is different from the communications architecture required for real-time data.
Enter the standard for Bidirectional-streams Over Synchronous HTTP (BOSH). It provides an emulation layer for bidirectional, synchronous data. A long HTTP connection (with a duration of a minute or two) is established with an XMPP server. If new data arrives during that time, the HTTP request returns data and closes; otherwise, it simply expires. Either way, once a request has closed, another one is reestablished. Although the result is a series of repeated connections to a web server, it is an order of magnitude more efficient than Ajax polling, particularly because the connections are made to a specialized server rather than directly to the web application.
XMPP over BOSH allows the web application to continue to communicate with the XMPP server through a native connection. The client connects through a standard URL over HTTP on port 80. This is then proxied by the web server to an HTTP URL on a different port — often 7070 — operated by the XMPP server. As a result, the web application only needs to use resources whenever data is sent to the XMPP server, while the web client can operate from behind a firewall using commonly supported web standards. The overhead of maintaining the long HTTP polls of BOSH is mostly handled by the XMPP server rather than the web server or the web application. Neither the web server nor the XMPP server is subject to the same domain restrictions as JavaScript for their communications, and it is at this point that messages can be sent to other XMPP servers and clients.
Now that you understand how XMPP fits into the real-time web, you're ready to download and set it up so that you can begin to create the Pingstream application.
Obtaining and installing an XMPP server
In this section, you'll install the Openfire XMPP server and configure it to support your real-time web application.
Choosing an XMPP server
Two leading open source XMPP servers are available for free download. Both are widely used and available under the GNU Public License version 2, and each has its own strengths and weaknesses:
- ejabberd: The e in ejabberd refers to Erlang, the soft-real-time programming language. This technical foundation makes ejabberd very fast. It also has a high level of compliance with the XMPP core and related standards. ejabberd can be installed in most environments.
- Openfire: Openfire is written in the Java™ language, and is both user friendly and easy to install.
You'll use Openfire for this tutorial.
Creating the Openfire database
Create a new MySQL database for your Openfire users and configuration. By using MySQL, you can programmatically add, edit, delete, and query your XMPP server users from your PHP web application, as well as scale your XMPP infrastructure in line with your web infrastructure.
If you have phpMyAdmin installed, for example as part of your XAMPP installation, you can follow these steps to create the database:
- Select Privileges from the home screen.
- Select Add a new user.
- Add user details (ensuring the host is localhost; for the duration of this tutorial, it will be assumed that you're testing on localhost), and select Create database with same name and grant all privileges, as in Figure 1. Don't give your new Openfire database user any global database privileges.
Figure 1. Adding an Openfire database in phpMyAdmin
Once you add your user and database, you're ready to install the Openfire server.
Installing Openfire
Download the Openfire installer and run it to install Openfire into the location of your choice (see Related topics). (You can instead choose to check out a recent Openfire version from its Subversion source code repository and build it locally, but that's beyond the scope of this tutorial.) When prompted, tell the Openfire installer to launch the server upon completion.
After the server launches, you should see the server status window in Figure 2:
Figure 2. Status window for Openfire
Click Launch Admin to open a web-based wizard, in Figure 3, that takes you through the configuration of your Openfire server:
Figure 3. Configuration wizard
The configuration wizard gives you the option to use either an embedded database or a standard database connection. Choose a standard database connection so that you can use your MySQL database.
Select MySQL from the Database Driver Presets list. Insert the name of your server and database into the Database URL field. For example, for a MySQL database named openfire set up on localhost, you'd enter:
On the next screen of the wizard, opt to store user accounts in the database. Enter the username and password for the database user you created earlier, and continue to the end of the configuration wizard. By this point you should have created a server administrator and set up the domain location for your XMPP server.
Log into the admin screen using the administrator credentials you established. Click Edit Properties (below Server ports), and make a note of the listed server name. This will form the domain portion of your JIDs. It is not interchangeable; for example, you cannot use
localhost in place of
127.0.0.1, or vice versa.
Click on Users/Groups in the top navigation menu and create two new users. These will be your test users during development.
Click on Server settings and then Offline messages. Because you are using XMPP for interface notifications, set the Offline Message Policy to Drop, as in Figure 4. You don't want to keep messages that are sent when users aren't logged in; otherwise they might be inundated with thousands of notifications when they return.
Figure 4. Dropping offline messages
In Server settings, click on Server to Server. For your purposes, you needn't be concerned with external servers, because you will not operate as a connected part of the wider XMPP network. Therefore, set Service Enabled to Disabled, and Allowed to Connect to White List. These settings will prevent unauthorized connections from causing havoc.
Configuring Apache to forward XMPP over BOSH
Openfire maintains an HTTP binding URL for access over BOSH at http://localhost:7070/http-bind. To use this on port 80, you must configure the Apache HTTP Server to forward a URL to this location. For this, you need to enable the proxy module.
Open your http.conf Apache configuration file and find the
LoadModule entries for
mod_proxy.so and
mod_proxy_http.so, which are commented out by default. Uncomment them by removing the leading number sign (
#) character. The appropriate lines in the Dynamic Shared Object (DSO) Support section of the configuration file (which aren't necessary adjacent to each other) should now resemble those Listing 8:
Listing 8. Enabling proxy support in Apache HTTP Server
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_module modules/mod_proxy.so
At the bottom of the configuration file, add the lines in Listing 9 (substituting your server IP address for 127.0.0.1 if you're not using localhost as your test server environment):
Listing 9. XMPP proxy rule in httpd.conf
# XMPP proxy rule
ProxyRequests Off
ProxyPass /xmpp-httpbind http://127.0.0.1:7070/http-bind/
ProxyPassReverse /xmpp-httpbind http://127.0.0.1:7070/http-bind/
Notice in Listing 9 that you use a slightly different URL,
/xmpp-httpbind, on port 80. This URL is the value that strophe.js, the client-side JavaScript framework you'll use later, assigns to a variable that sets the BOSH endpoint.
Restart the server. You're finally ready to begin programming web applications using XMPP.
Creating the server application using XMPPHP
In the previous sections, you set up the server and the plug-ins. In this section you will create the server-side portion of your real-time application.
Server-side functionality
The PHP side of your application will perform two main tasks:
- A PHP script will fetch an RSS feed and notify you if the first entry has changed since the last time you checked.
- A front-end script will initialize your JavaScript XMPP client.
Start by creating a new PHP project space called pingstream within the web root of your testing server. If you use the PHP Development Tools project extensions for the Eclipse development environment, take care to create the project within the web root rather than the default workspace for Eclipse (see Figure 5):
Figure 5. Creating a new Eclipse PHP project
Figure 5 shows the following values for the Pingstream project:
- Project name field: Pingstream
- Contents radio button: Create project from existing source
- Directory field: c:\xampp\htdocs\pingsstream
- PHP Version radio button: Use default PHP settings
XMPPHP is the most widely used XMPP library for PHP. Like ejabberd and Openfire, it's free and open source, so it serves as a good starting point for first-time XMPP developers.
Download XMPPHP (see Related topics). Unpack the archive and insert it into the lib/xmpphp subfolder of your new project.
Finally, to save time parsing your RSS feed, download and install the Last RSS PHP parser (see Related topics).
Storing server-side settings
You'll use one of the test users you created earlier as your sending party for notifications. Create a file called config.inc.php in the root of your /pingstream folder and add the contents of Listing 10:
Listing 10. Server-side configuration settings
// Pingstream configuration file
// Define global $CONFIG array - don't change this!
global $CONFIG;
$CONFIG = array();
$CONFIG['send'] = new stdClass();
// Set account details for sending party
$CONFIG['send']->user = 'testuser'; // User portion of JID
$CONFIG['send']->host = '127.0.0.1'; // Host portion of JID
$CONFIG['send']->resc = 'pingstream';// Resource portion of JID
$CONFIG['send']->pass = 'mypass'; // Password for user
The config.inc.php file also must include details about your receiving party, as in Listing 11:
Listing 11. Details about receiving party
// Set the receiving account details
$CONFIG['receive'] = 'firstname.lastname@example.com';
You will cache a small amount of data in a file, so config.inc.php needs to include a writeable file path, as in Listing 12:
Listing 12. Setting the location to store temporary files
// Full path to your cache directory, with trailing slash
$CONFIG['cachedir'] = '/tmp/';
If you're on a Microsoft® Windows® machine, you can set this to be a blank string. Otherwise, make sure the directory that you specify has a full path and a trailing slash, and is set to world-writeable.
Defining the data source
Your Pingstream application will check the IBM Developer Web development zone feed for updates, so add the contents of Listing 13 to config.inc.php:
Listing 13. Checking a developerWorks feed for updates
// Set the RSS feed you're going to check
$CONFIG['rss'] = 'http://www.ibm.com/developerworks/views/web/rss/libraryview.jsp';
Now, create another new file, /lib.inc.php. This will be your library file, included in the main controller page and user interface page of your application.
The top of lib.inc.php must reference
config.inc.php, the main XMPPHP library, and
lastRSS, as in Listing 14:
Listing 14. Loading required libraries
// Load libraries
Next, you'll create a function to send a message to the client through XMPP. Doing this through XMPPHP is easy. You establish a connection using the credentials you saved in your configuration file, send the message, and close the connection.
In the first part of the function you create a new
XMPPHP_XMPP object, as in Listing 15:
Listing 15. Creating a new XMPP connection object
// Load configuration
global $CONFIG;
$conn = new XMPPHP_XMPP(
Note that XMPPHP connects to your XMPP server over port 5222, the default port for XMPP communications. Although you need to use BOSH for your client-side communications, there is no requirement for you to do so on the server side.
To connect, you send an initial connection request, wait until you receive notification that your XMPP session has started, and send a presence stanza to announce that you are online (see Listing 16):
Listing 16. Establishing an XMPP connection
Next you send the message itself, which you have prefilled in a variable called
$message (see Listing 17):
Listing 17. Sending the message
$conn->message($CONFIG['receive'], $message);
Then you disconnect using
During this process you might encounter errors. Listing 18 puts the code in Listings Listing 15, Listing 16, and Listing 17 into a function to insert into lib.inc.php. In the process it wraps the business of sending a message in a
try /
catch statement that writes any exception messages to the error log.
Listing 18. The complete
send_notification function, including
try /
catch statement for logging errors
* Updates everyone's user interface with a message
function send_notification($message) {
// Load configuration
global $CONFIG;
$conn = new XMPPHP_XMPP(
try {
$conn->message($CONFIG['receive'], $message);
} catch(XMPPHP_Exception $e) {
You can use this simple mechanism for any number of public-notification applications. Here, you give all users who visit the site the same notifications, but it is a trivial matter to tailor notifications by the following mechanism:
- Each user is given a unique session string, or a shared string specific to a particular interest or search.
- This string is added to the JID of the receiving party as the resource segment
- Messages are then sent to the
Obtaining external data
Next, you need a function, in Listing 19, to retrieve the last RSS item from your designated feed:
Listing 19. Getting the most recent item in an RSS feed
function get_last_feed_item() {
global $CONFIG; // Load configuration
$rss = new lastRSS; // Initialize lastRSS
$rss->CDATA = 'content';
if ($rs = $rss->get($CONFIG['rss'])) {
if (isset($rs['items'][0]))
return $rs['items'][0];
return false;
This function initializes
lastRSS, loads the RSS feed that you configured (in your case, the latest article feed for the IBM Developer Web development zone), and returns the topmost entry as an array. Once you have the latest feed item, you need to know if it changed since last time you checked. You'll use a small text file for this purpose. For secure applications, it is better to use the database or another method, but for your testing purposes, it's safe to use a small file cache. The cache stores the URL of the latest feed item each time you check; if the URL changed, you have a new item and should notify the user. Another function,
feed_has_changed, returns
true or
false, accordingly. Either way, it also saves the new latest URL in the cache file, ready for the next time it checks. Listing 20 shows the
feed_has_changed function:
Listing 20. Returning any new feed data
function feed_has_changed($url) {
global $CONFIG;
$changed = false;
// Check to see if the file exists, and if it does, if
// the URL has changed
if (!file_exists($CONFIG['cachedir'] . 'cache.txt')) {
$changed = true;
} else if (file_get_contents($CONFIG['cachedir'] . 'cache.txt') != $url) {
$changed = true;
// If the URL has indeed changed, update the version in the cache
// and return true
if ($changed) {
file_put_contents($CONFIG['cachedir'] . 'cache.txt', $url);
return true;
// Otherwise return false
return false;
Listing 21. Encapsulating a feed item in simple HTML
function last_item_html($item) {
return <<< END
<div class="item">
<div class="item_title">
<h2><a href="{$item['link']}"
<div class="item_body">
Finally, create a new PHP file in your /pingstream directory called backend.php. Use the simple PHP script in Listing 22 as the file's contents. The script retrieves the RSS feed and sends a JSON-encoded version of the most recent feed item through XMPP to your receiving party.
Listing 22. Sending the encapsulated feed item over XMPP
if ($lastitem = get_last_feed_item()) {
if (feed_has_changed($lastitem['link'])) {
This is all you need to send dynamic notifications to public users of the application. Ideally, you should run the backend.php script on a regular cron job. However, for testing purposes you can execute the script manually through a web browser.
The browser application: Strophe.js and jQuery
In this section, you will write JavaScript functions in order to receive messages through XMPP over BOSH, and build an HTML user interface to display received notifications.
Creating the user interface
You now need to create the user interface to receive the notifications. Strophe.js is a commonly used JavaScript library for sending and receiving XMPP data over BOSH. For your purposes in Pingstream, you will simply be receiving data, although it's easy to see that two-way communication allows you to build rich collaborative environments quickly.
The jQuery JavaScript framework makes both event handling and DOM manipulation considerably simpler. The supplied Strophe.js examples use it extensively, and the two are a natural fit together. Download jQuery (see Related topics for a link) and place the minified version in a jquery directory in pingstream.
Create a new index.html file. Include references to the Strophe and jQuery libraries you just downloaded, as well as a pingstream.js library that you'll define in a moment. In the
body element, add a
div element with ID notifications, as in Listing 23:
Listing 23. Client HTML page
<!DOCTYPE html>
<title>Latest content</title>
<script type="text/javascript"
<script type="text/javascript"
<script type="text/javascript"
<h1>Latest content:</h1>
<div id="notifications"></div>
Create the JavaScript file — pingstream.js — you just referenced in Listing 23. At the top of pingstream.js, define the BOSH proxy endpoint that you configured in Apache earlier, as in Listing 24:
Listing 24. Setting the BOSH endpoint
var BOSH_SERVICE = '/xmpp-httpbind';
var connection = null;
When the page fully loads, you want to connect automatically to the XMPP server. You can do this using jQuery's
$(document).ready call; inside, you create a new
strophe.js Strophe.Connection object and use it to connect to the server, as in Listing 25:
Listing 25. Establishing a connection over BOSH
$(document).ready(function () {
connection = new Strophe.Connection(BOSH_SERVICE);
connection.connect( "firstname.lastname@example.com",
In Listing 25, the
Strophe.Connection.connect method contains a reference to an
onConnect function as one of its parameters.
onConnect is launched once a connection is established. This is your opportunity to add a notification handler for incoming messages; here you register a function called
notifyUser. Following this, you send a simple presence stanza.
To confirm that you can connect and receive new messages, also send a friendly notification to the user.
Add the code in Listing 26 above the
$(document)ready call in your JavaScript file:
Listing 26. Handling incoming XMPP messages
function onConnect(status)
$('#notifications').html('<p class="welcome">Hello!
Any new posts will appear below.</p>');
connection.addHandler(notifyUser, null, 'message', null, null, null);
Finally, because you registered the notification handler, Strophe.js calls the
notifyUser(msg) function whenever the XMPP client receives message stanza. The
msg parameter is a representation of the XML stanza itself, which can be queried as in Listing 27:
Listing 27. Querying the
msg parameter
var elems = msg.getElementsByTagName('body');
var body = elems[0];
Ideally, you want to limit messages so they only display if they were sent from your server-side sending user. You can wrap it all in an
if statement that forms the body of the
notifyUser function, in Listing 28.
notifyUser function:
Listing 28.
notifyUser function
function notifyUser(msg)
if (msg.getAttribute('from') == "email@example.com/pingstream") {
var elems = msg.getElementsByTagName('body');
var body = elems[0];
return true;
This needs to sit above the
onConnect function defined in Listing 26.
Putting it all together
Open your index.html file in a web browser. You should see a simple heading and a message saying that updates will appear below (which you might recall was your test notification to yourself that the XMPP connection was working successfully).
Now load backend.php. As if by magic, the latest update from the IBM Developer Web development zone is showing up on your page. Other example sources with RSS feeds include Twitter accounts, news agencies, and update feeds from automatic server-monitoring software.
This is a simple start to developing with a powerful platform. Strophe.js can facilitate two-way communication with the application, although it might be simpler to use standard jQuery HTTP callbacks to get user input into the system, to obviate the necessity for programming an XMPP monitoring daemon for your application. More excitingly, when you use the web server as a BOSH proxy, two or more web clients can speak to one another over XMPP without much input from the server-side web application at all. The implications for everything from office collaboration software to games are huge.
This tutorial discussed the need for real-time web applications and how XMPP overcomes the shortcomings of existing technologies. To demonstrate the effectiveness of this approach, you developed a simple RSS update notification application using XMPPHP, Last RSS, Strophe.js, Openfire, and PHP.


text:
The tiger hits an eagle.
If you don't like football, you won't play Madden. If you could
care less about Allen Iverson's crossover, forget buying NBA Live.
It goes without saying that if you don't like a sport, you probably won't give
a damn about playing it as a video game.
The one exception is golf. Even if you've never endured a full day of frustration
on the links, you probably could sit down and have a good time with a golf game.
It's just a relaxing genre, the mellow gamer's ultimate hangover cure.
sadly, there just don't seem to be many of them left. Aside from arcadey games
like Hot Shots and Outlaw
Golf, there has been exactly one golf simulation game for console drunks
over the past few years: Tiger Woods PGA Tour. Much like the
man-child whose steely-eyed gaze adorns the cover of the boxes, the series has
no peers, which creates a bit of a problem. How do you make a great game better?
Madden 2004 managed to do it by virtue of a fantastic
new single-player mode. Can Tiger match the fat man stroke for stroke?
It turns out he can, hardly breaking a sweat in the process. Tiger
Woods PGA Tour 2004 for the PS2, Xbox and Gamecube is as thorough a
golf game as you'll find anywhere, sticking to all its past successes while
still adding a couple more clubs to the bag.
For the most part, Tiger Woods 2004 is just like the other
ones. You use the analog sticks to hit, which still works great. Putting is
solid thanks to a smart system that emphasizes aim and control rather than awkward
touch and feel, and helpful Caddy tips can get you out of a jam. You can still
add power by slamming on the L1 button during a backswing or correct swing mistakes
by tapping L2 while the ball is in the air to add spin. Vets of the series will
hop on and whack balls without skipping a beat.
There are a few big additions, not the least of which is the astoundingly
robust Game Face player creator. You can tweak every part of your player, from
basics like hair style and eye color to the size of your cheeks, the slope of
your nose, even the whiteness of your teeth. I managed to make a guy that looked
so much like me, it was almost hard to play without laughing every time I was
onscreen. Big props to EA for a great job here.
That's just the beginning, though. Tiger Woods 2004 features
a mind-blowing assortment of things to buy and unlock as you earn cash. Clubs,
shafts, grips, clothing, accessories like hats, watches and jewelry " we're
talking about the kind of variety you'd expect to find in an RPG. Most items have
an impact on your skills, too, so that you're not just buying a new watch because
it looks cool, you're buying it because it adds and extra "Luck' skill modifier
point. You can even purchase new animations for your golfer. My guy should be
arrested for excessive
pop-locking on the green.
You'll certainly see a lot of yourself, because Tiger Woods 2004
has more single-player goodness than you'd believe. Most modes make a return,
including Traditional matches like Stroke, Match or Skins games, Scenario mode
for earning extra cash while hitting tough shots and a gang of fun multiplayer
types. One new addition here is Battle Golf, in which you and a friend play
for clubs. If you win a hole, you remove a club from your buddy's bag. Tough.
of your time will be spent fleshing out your created player's Career. Like before,
you can play through the PGA Tour by entering four-round events. You can also
try out the World Tour, which pits you up against some of the players included
in the game (there are almost 30, including about a dozen real PGA Tour vets).
A cool new mode called Real-time Events lets you actually play events that synch
up with your console's internal clock. You'll only be able to access certain
events on certain days (special holidays are covered, as are days dear to the
EA staff, like the boss' birthday), so every time you turn on the game you wind
up checking to see if it happens to be an event day. It's a great way to keep
you playing over time.
Seven new courses have been added, upping the total to a whopping nineteen. Ten of these are actual real-world courses like Pebble Beach, Spyglass Hill or new ones like Kapalua and Beth Page. You won't get bored quickly.
But if by some odd chance you do, you can always hop online'maybe. Continuing
EA's bizarre boycott of Xbox Live, Tiger Woods 2004
is only playable online in the PS2 version. That's great news for PS2 owners;
as a golf game, the pacing is fairly slow, so lag isn't an issue. It's just
custom made for online play and extends the life of the product.
So what about Xbox and GC owners? Well, Xbox people can customize their own
soundtrack, which is a very good thing because the soundtrack that comes with
the game is marginal at best. Gamecube fans will have to settle for link possibilities
with the GBA version to unlock some extra goodies.
Regardless of the system, the game looks good. The player animations are excellent, the load times are negligible and the courses adequately resemble their real-life counterparts. Things get a little jagged in the PS2 version, but otherwise all three versions feature similar graphics.
The commentary is mildly helpful but usually spot-on, even humorous at times. The ambient sounds are fine and do a nice job setting the mood.
More than anything, Tiger Woods is an addictive game. The
immense single-player experience will have you staring at the set for hours,
just trying to win more money, unlock more gear and establish yourself as a
However, I have one or two niggling issues. I'm still miffed that you can't
manually set hit location on the ball itself, which would come in handy when
trying to get extra air on a shot. You can choose to punch the ball to keep
it low, but you can't really do anything if you need to pop it over a tree.
Likewise, the game will sometimes lock you into certain clubs when you're around
the green for chipping or flopping, limiting your creativity with weird shots.
But again, these are hardly significant. There's simply not much wrong with
Tiger Woods PGA Tour 2004, and while the PS2 version gets the
nod for its online play, the other two are just as worthy of a spot in your
collection thanks to the outrageous amount of single-player fun. Looks like
Tiger wins again.


text:
When Village School principal Donnie LeClerc and other administrators decided to enter a Red Sox spirit contest hosted by Channel 5 in Boston last week, they had no idea it would eventually lead to folks in the Boston Red Sox front office calling to say how much they appreciated the school's effort.
When Village School principal Donnie LeClerc and other administrators decided to enter a Red Sox spirit contest hosted by Channel 5 in Boston last week, they had no idea it would eventually lead to folks in the Boston Red Sox front office calling to say how much they appreciated the school's effort.
"It was more an effort by all of us to get the kids involved in the playoffs and show what positive team spirit and teamwork could do," LeClerc said Tuesday. "I never thought it would evolve into something big."
Last week, more than 700 students and some 100 faculty gathered in the school's auditorium to sing "Sweet Caroline," the famous Neil Diamond song played before the bottom of the eighth inning at every Red Sox home game. The school produced a video, sent it in to a now defunct Channel 5 contest, and posted it on YouTube.
Ever since, it's spread like crabgrass.
At press time, the video had been viewed more than 2,600 times. A couple of those viewers happened to be Red Sox players and administrators.
"I got a call from someone in the Red Sox front office today telling me that they viewed the video and loved it," LeClerc said of the 3 minute, 39 second clip, which shows the 800-plus group singing the entirety of "Sweet Caroline."
"I guess they passed the video on to some players and some executives and it was a big hit."
Such a hit, in fact, that LeClerc said the team representative he spoke to suggested the Red Sox might bring up the World Series trophy and championship rings to the school sometime in the future.
"Nothing was set in stone, but there was some talk of them maybe coming up here," LeClerc said. "I'm sure they'll wait for things to settle down, but it's great that they'd even consider it."
Tuesday afternoon, LeClerc made an announcement over the loud speaker at the Village School telling the kids that the Red Sox had viewed the video and wanted to say thanks for their team spirit. LeClerc rewarded students and faculty by grilling 700 Fenway Franks for everyone at school that day.
"We're big in building team spirit and showing what teamwork can do," LeClerc said. "On the mornings the Red Sox play, we'll play Sweet Caroline or Dirty Water or that Irish song that Papelbon dances to ["Ship it up to Boston" by the Dropkick Murphys]. So we heard Channel 5 was having a contest, having schools put together videos where the kids would do the Papelbon dance, or kids showing their team spirit. We decided to get together and sing. We didn't expect anything out of it, just that the kids have fun and work together."
As for the kids' reaction to hearing a few Red Sox players enjoyed the school's rendition?
"The kids are absolutely pumped," LeClerc said. "That's why I like this age group. They get so enthralled with team spirit things like this. Their energy and smiles make the video what it is. It gives the kids some great memories. That's why this is so special. Down the line, when these kids have kids of their own, they can tell them about the special memories they have from this World Series. It's really a great lesson in how teamwork and a positive spirit can help you accomplish almost anything."
- email@example.com


text:
On August 6, 2013, Chinese securities companies received 'the notice of preparing the initiating stock options full simulating trading works' sent by the Shanghai Stock Exchange. This information implies that SHSE is already fully prepared for the launching of stock options. Although there is no clear timetable for launching the stock options, it is likely that they will appear in Chinese capital markets in 2013 or 2014.
Exchange traded stock options are new to Chinese capital markets and these derivatives provide a number of benefits. For one, both long and short-term trading are accessible and, similar to other derivatives such as futures, t+0 is allowed. Another benefit, which is an advantage over futures, is that leverage is provided but buyers can only lose the amount that they paid for the option. Options traders can also execute more complicated strategies through the combination of buying and selling call and put options, including straddles and spreads. Moreover, stock options are perfect hedging tools for individual stocks. Currently, Chinese stock index futures can only hedge the risks of the CSI 300 index and can not directly hedge non-systematic risks from individual stock options. And, despite providing leverage, security companies charge high transaction fees and interest rates for customers interested in selling short and buying long. Furthermore, the introduction of stock options comes with a high minimum threshold, which may largely change the structure of investors in the stock market by increasing the proportion of institutional investors. Thus the introduction of stock options may largely change the landscape of Chinese stock markets and may stimulate trading volumes.
However, there are also potential problems and doubts from the public that my come with the introduction of Chinese stock options. One issue regards the minimum threshold for investors of stock options. Some market analysts estimate that this threshold could be as high as one million yuan, which is higher than thresholds for index futures and securities lending services from securities companies. Currently, only 1% of accounts in the stock market can meet this requirement. Critics argue that stock options may serve as a tool to short the market by institutional investors and rich individuals, who may be in a disadvantaged position. But there are also analysts stating that the threshold may be lower, which would give normal individual investors a better opportunity to participate. The minimum threshold will depend on the final decision from CSRC.
Another problem has to do with the underlying stock that stock options are based upon. Currently, it seems as though only very large blue chip listed companies can enjoy stock options, so not all stocks can be optioned. Because large-cap stocks fluctuate less dramatically than small-cap and medium-cap stocks, the meaning of stock options may not be as transparent as in the fully opened western markets. But for institutional investors like mutual funds, as large-cap stocks take larger proportions of their shares, stock options may be an ideal hedging tool for stabilizing the performance of their portfolios. As current stock markets have adopted t+0 and t+1 trading, short-term day trade for hedging is not feasible. Thus traders may either choose longer-term hedging strategies or speculate through high-frequency intra-day trading.
Furthermore, large amounts of speculation in stock options may lead to dramatic fluctuations in stock prices. Similar to trades within A-share markets, the cost of short-selling is much higher than longing the stocks. So under the current unbalanced system, both hedgers and speculators may choose short in the stock options and the performance of A-share markets in the future may weaken. This has already been proven from the stock index future's impact on A-share stock markets.
In conclusion, despite the risks, the launching of stock options is important for the development of Chinese capital markets.
Source: KapronAsia, 20.08.2013
Filed under: Asia, China, Exchanges, News, Risk Management, China 中国, CSI China Securities Index, CSRC China Securities Regulatory Commision, Derivatives, Exchange, Futures and Options, KapronAsia, SSE Shanghai Stock Exchange


text:
Script F Logo Hoodie - Maroon (White)
This variant is currently sold out
Script F Logo Hoodie - Maroon/White
This item is "Made to Order". Please allow 4-6 business days from the date of your order, for this item to be made. See "Made to Order" Details
- Premium 10 oz heavy-weight hoodie, S - XXL
- 80% Cotton / 20% Polyester
- Standard fit, Side seam construction
- Athletic ribbed waistband and cuffs
- Shoulder to shoulder taping, Tonal drawcord
- Full design on left chest, Detail design on left sleeve
- Tagless care tag printed inside (Finished in USA)
Fit Tip: The fit is relaxed and is true to size. For a fitted look, we recommend going down a size.


text:
So, Publisher Lady reckons that as a title, Bête de Jour might not be the best option going into paperback. As far as I can tell, she is of the opinion that the book-buying British public might not recognise the allusion. Or indeed the language. I know, I know, how dare she? How dare she imply that the same people who lap up Dan Brown and Katie Price and Jeffrey Archer and Martine McCutcheon in their hundreds of millions might be a bit thick? If it weren't for the fact that I absolutely agree with her, I would be furious.
So she asked me to come up with a different title. Essentially something more commercial. And in this I wholeheartedly support her. l want some money. And I want an iPhone. And some new boots.
So I came up with a few alternatives, none of which really bit my balls off.
Therefore, I thought I'd ask you, my unremittingly wonderful and imaginative readers. They say everyone has a book in them. Unfortunately, Katie Price has repeatedly shown this to be nonsense. However, I'm pretty sure everyone has at least a title in them. Maybe a subtitle too.
So if you fancy having a crack, please leave your ideas in the comments. Remember: nothing too clever, nothing pretentious or foreign, preferably something slightly titillating, but obviously pertaining to the thrust of the content of the book, i.e. a beastly bloke trying to track down true love. Or whatever.
As well as having the life-long pleasure of having your very own title on the cover of the best-selling book of 2010, you will also receive a signed copy of the soon-to-be-eminently-collectible hardback, and Publisher Lady might throw in something from Harper Collin if I threaten to publicly shame her if she doesn't.
So there you go.
I'm hoping that with your help, one day I can reach these kind of dizzy heights:
Now. Have an excellent weekend. I'm stopping smoking tomorrow. I met a wonderful woman today who works for the NHS. She was really lovely. I kind of loved her a bit. She prescribed some patches and pills. I start tomorrow. Which is to say, I stop tomorrow. And which, by extension, means that tonight I drink binge and smoke like a pregnant teen. What are you up to? Anything as nice as that?
Friday, 6 November 2009
Emperor Ming and the Mystical Muff Hunt
So, Publisher Lady reckons that as a title, Bête de Jour might not be the best option going into paperback. As far as I can tell, she is of the opinion that the book-buying British public might not recognise the allusion. Or indeed the language. I know, I know, how dare she? How dare she imply that the same people who lap up Dan Brown and Katie Price and Jeffrey Archer and Martine McCutcheon in their hundreds of millions might be a bit thick? If it weren't for the fact that I absolutely agree with her, I would be furious.
Posted by La Bête at 16:57
Labels: eternity, The Book, the internet
32 comments:
- Jimbobthomas said...
'Like it or Lump It?;
An Ugly Mans Adventures in Love, Life and Lurid Detail'
And I don't think you are ugly at all but you wanted catchy...
- 6 November 2009 at 17:36
What about "Bag full of elbows"?
Or does that cross over too much into the serial killer market? (And is that a bad thing?)
- 6 November 2009 at 18:01
Pregnant teen *snort*.
Well, since you asked Stan I'm going on a knitting workshop. Yep, me, a couple of grannies and a pile of hobnobs. No, actually knitting is the new black apparently. Do you want to come?
As for a title for the book, I'll give it deeper thought once I've cooked my sausages.
- 6 November 2009 at 18:39
'Bag of Elbows'. That's what it should be called.
- 6 November 2009 at 18:42
- Innocent Loverboy said...
Pffft. Stick with Bête de Jour. People who are intelligent enough to "get" the title are the sort of people who will be intelligent enough to appreciate your writing.
- 6 November 2009 at 18:59
- shimacat said...
To be honest, I was surprised when Publisher Lady published your book in hardback. I know Amazon's been selling it cheap, like, but at bottom, the publishers are expecting people to blow £12.99 on a brand-new new author. Worse; a brand-new, untested author who has published a book which promises love, laughter, true life events - and was first published as a blog.
There's no criticism of your writing achievements there - I think your writing is accomplished and getting a book deal from a blog is fantastic - but I suspect that any weakness on the sales front has a lot more to do with publishing in hardback.
£12.99 is a lot to spend on what is essentially light reading - again, no insult there. But while I will buy hardbacks, I save my hardback spend for 'heavy' reading - books on black holes, or books by John Updike (RIP), or Adam Thorpe - you get my drift. There's lots like me. And we're in a recession.
Anyway, I found the hardback decision surprising. I think your sales would have been far higher if your book had been first published as a well-produced trade paperback at round about the £9 mark. Below that crucial £10 threshold, see?
Anyway, I think in your last entry, you may have inadvertantly summed up the essence of your story when you wrote "true love. Or whatever." There's your title. Has a certain balance of optimism and despair that might appeal to potential readers crushed by poverty, ekeing out their last few pennies until they can afford something, anything which may lighten their mood even if only for an evening - yes! It's Stan's book in paperback, which they can afford at last!
- 6 November 2009 at 18:59
- Valerie said...
"if you fancy having a crack..."
It's extremely hard not to say, "I do have a crack. It's right here on my bottom."
Oops, I seem to have said it.
I'm not sure you would go far wrong using the subtitle as the title...
- 6 November 2009 at 19:10
"Beauty, and The Beast's Tail"
(I'm on my 3rd glass of wine - this could get worse as the evening progresses - sorry, in advance!)
- 6 November 2009 at 19:17
I've got it!
Whinge, minge and things that make you cringe
Minge is such a funny word.
A Twitter friend.
- 6 November 2009 at 19:50
- Mike Booth said...
I know it might be painful and probably not something you'd want to see on the cover of your book, but I can't help thinking that "A Bag of Elbows" would make a good title. Plus you'd be turning that dickhead's abuse into money, which would perhaps be some form of revenge.
- 6 November 2009 at 21:28
Coincidentally, I'll be drinking and smoking myself silly this week-end, because I plan to stop smoking on Monday.Patches give me nightmares, so I'm opting for the white plastic pretend ciggie instead.Not in public though, obviously, one has one's dignity to think of.
Good luck Stan.I wish I could think of a witty title for your paperback, but I'm a bit short on brain cells just now.
- 6 November 2009 at 22:14
- Unknown said...
I don't think I know you and your blog well enough to make a suggestion but good luck
- 6 November 2009 at 23:12
'Buy this book and win a fortune'
Should sell lots of copies?
- 6 November 2009 at 23:49
- X said...
My two rubbish suggestions are:
The Beauty of The Beast
The Beast With Two Paperbacks (for your second book)
- 6 November 2009 at 23:54
- Beleaguered Squirrel said...
Beastly Beauty
The beauty of beastliness
How the beast found beauty
Beauty and Beastly Me
I was the Beast Until Beauty Found Me
Oh God, please shoot me.
- 7 November 2009 at 01:17
I don't understand. Belle de Jour sold so well that it was turned into a TV series. Nothing to do with language. Is your publishing lady desperately hanging on to her job?
- 7 November 2009 at 03:29
- Coastal Aussie said...
I don't think your looks would be beastly, but for a play on the title "Beauty and the Beast" .... "Love and the Beast" or "Love Beast" might be even better.
Good luck with the ciggies.
- 7 November 2009 at 05:41
- Rose said...
I thought these up under the assumption of trying to grab a bookstore customer's eye:
"Ugly Love in a Beautiful World"
"The Doomed Romantic: in Search of Love"
"In the Life of an Ugly Man"
"I'm Not Ugly, I'm Just Romantic"
"My Heart is Not Ugly"
I hate to stick on the 'ugly' bandwagon, but I was trying to keep the titles among the same vein of your previous title.
- 7 November 2009 at 05:52
- Nick Tann said...
"Having a crack"
Good morning...
- 7 November 2009 at 09:22
- justrestingmyeyes said...
Let's acronyminise! I'd say Ungainly Gentleman's Lustful Yearnings, but a) you'd run into all sorts of missing indefinite article hysteria and b) it sounds like a Victorian jazz mag. Or maybe Uggos Get Laid? Yes!
I agree with Valerie - they'll just lop off the Bete bit and leave the "Intimate adventures...", surely. Sex sells, innit?
Good luck with the paperback edition, and the quitting. Are you on those pills that make your dreams psychologically terrifying? Blog 'em!
- 7 November 2009 at 09:56
- Antipo Déesse said...
'Pertaining to the Thrust'
- 7 November 2009 at 10:43
- redsaid said...
Long time lurker, lured out of silence by promise of free books.
"Ugly Bête" (with your old subtitle). I can already see it being turned into a top notch TV series, can't you?
- 7 November 2009 at 17:37
- Swineshead said...
It's not out in paperback yet? Nobody buys hardbacks apart from posh people and perverts!
I can't believe you've been moaning about it not selling whilst scrimping on the minor detail about it so far being available in hardback only...
Order a golden toilet and meet Mr Coin!
- 8 November 2009 at 02:05
You should call the book 'Don't call me elbows', 'Elbows need love too' or even 'I'm Stan, They call me elbows' - I'm rather obsessed with elbows.....elbows are a great selling point...i would buy a book with elbows in the title for the sheer fact that you got elbows into the title without it being a boring medical book... USP...thats what they call it....unique selling point...yep defintely need to use elbows.....
- 8 November 2009 at 03:58
Lessons in Futility
- 8 November 2009 at 19:03
Batty Betty? Beastly Brightness? What rot to have to change your name. Really.
- 9 November 2009 at 06:58
Bonjour La Bête,
Bag of Elbows
Paper Bag Love
Love on the Beast
The Girl, the Bag and the Ugly
I still prefer 'Bête de jour'.
Uncle Did
- 9 November 2009 at 10:59
- Queen of Cuts said...
"It's in the bag"
- 9 November 2009 at 13:56
- Wisewebwoman said...
Love Under The Elbows
- 9 November 2009 at 19:36
- Wisewebwoman said...
With Elbows to Spare
- 9 November 2009 at 19:40
True love, or whatever!
Good luck on the quitting smoking. I've done it several times. Gets harder the older I get. I've reached the point that I think I'd have to have a hospital-induced coma and detox in order to do it!
Maria in Oregon
- 9 November 2009 at 21:19
- redsaid said...
Hey, you said your new title during your GMTV interview: "Ugly is only skin deep."
Or something like: "My personality is devastatingly handsome, I swear!"
I still like Bête de Jour the best.
- 13 November 2009 at 16:06


text:
New: ON MENTAL ILLNESS: An Invisible Disability
Most persons who have a mental illness are in treatment of some kind. This allows most of us to live with some amount of normality, and to do many of the things that so-called "normal" people do. Because of this, it can be hard for others to understand that we have a psychiatric condition when, for the most part, we are acting normally as well as appropriately.
When someone uses the word, "schizophrenic" or "bipolar" it immediately conjures up images of a "crazy person" or a "psycho." However, most of the time persons with psychiatric disabilities are behaving quite normally. This seemingly normal behavior, which is unlike most people's perceptions of us, is a challenge to some non-afflicted people's comprehension.
People who are seen on the street, who may be homeless and who may be behaving in uncouth ways are not representative of the whole population of persons with mental illness.
The stereotypes concerning persons with mental illness are not usually accurate, and they are upsetting. People are entertained by movies that sensationalize mental illness and that portray us as freaks.
Despite many people's misconceptions, you can't categorize a person as mentally ill or as not mentally ill by how they look. We do not necessarily exhibit any external characteristic that would indicate our illness. Some persons with mental illness (when in recovery) aren't fantastically dressed and groomed, and may seem to have sort of a dull edge. However, this applies to only some persons with mental illness and not all. (I have also seen psychiatrists who don't pay much attention to how they dress.)
It is the deep desire of many persons with mental illness to perceive ourselves as normal, as capable, and as being just as worthy of self-respect as an ordinary man or woman of our age. When we are categorized as disabled by the mental health system, it generates anger and it can cause low self-esteem.
People who are dealing with us, if honest, should acknowledge that in fact we are different, but should not assume that we are something less. In a work situation we may require reasonable accommodation of some kind, such as adjustments to reduce stress, more sick days and perhaps a lower quota of productivity. That type of adjustment acknowledges the reality of our condition, but it doesn't necessarily insult our intelligence. Acknowledging a difference is not the same thing as discrimination.
I know a woman who is probably in her eighties and works as a cashier at a drug store. Her accommodation (for being mature, not mentally ill) is partly that she has a chair behind the register to sit on when tired. She also gets my help when negotiating a heavy bag. This does not negate her value as a human being; it only makes her work possible. (In most ways, this woman is a better worker than the other employees who are mostly in their twenties.) Accommodation of that kind, and in that light, is what I'm talking about-there is no judgment attached.
Can people be accommodated for psychiatric disabilities without the baggage of being perceived as "special people"? What would it take to make mainstream people regard persons with mental illness as normal and essentially the same as them?
Disabilities created by mental illness are often invisible, but perfectly real. We aren't freaks and we have the same right to dignity as anyone. Being the butt of people's jokes, viewing us through a stereotype, or perhaps the assumption that we aren't essentially the same as "normal" people, is an insult and it is hurtful.


text:
Third Grade Common Core Workbook Download
This Third Grade Common Core Workbook is the largest collection of resources for teaching the Common Core State Standards. This workbook download includes over 840 pages of Worksheets, Activity Centers, and Posters that teach all the Third Grade English and Math Common Core Standards! Answer Key also included. This Workbook download will be emailed to you shortly after you place your order.
Download a Free Sample – Click Here
Get This Workbook on a USB Flash Drive
3 reviews for Third Grade Common Core Workbook Download
This 3rd grade common core workbook is a huge blessing! I can't believe there are over 800 pages of high quality and engaging centers, worksheets, and posters included in this workbook. The clickable table of contents makes it super easy to find what I need in a flash! This is a BIG timesaver! Thanks!
My school is fully integrating the Common Core Standards this year and this workbook is PERFECT! It has everything I need to effectively teach the standards. The activity centers are really cute!
I am so excited to have a resource like this one! My Dstrict is already implementing Common Core, and I could really use some help aligning standards to activities….especially centers!


text:
Jacques Ebner (1935 - 1999) was a French voice actor who dubbed Kermit the Frog on 1, Rue Sésame, Pa Gorg and Cantus the Minstrel in the French co-production of Fraggle Rock, and Dog and episodic characters in Monstres et Merveilles (The StoryTeller).
A performer in French TV and films, Ebner also appeared on Broadway in 1965, in the cosmopolitan musical La Grosse Valise. His dub credits include Dr. Watson in the Jeremy Brett Sherlock Holmes series, Michael McKean in Clue, and John Hillerman on Magnum, P.I., as well as cartoon characters like Captain Simian in Captain Simian and the Space Monkeys.


text:
Salaam and Greetings of Peace:
We have indeed revealed this (Message) in the Night of Power:
And what will explain to thee what the night of power is?
The Night of Power is better than a thousand months.
Therein come down the angels and the Spirit (Jibril, or Gabriel) by Allah's permission, on every errand: Peace!…This until the rise of morn. – Qur'an, 97:1-5
Laylat al-Qadr, (also known as Shab-e-Qadr), the Night of Destiny, Night of Power, Night of Value, the Night of Decree or Night of Measures, is the anniversary of the night the first verses of the Qur'an were revealed to the Prophet Muhammad, peace and blessings be upon him.
The Night of Power will be, inshAllah, on Sunday, August 4th this year for those countries that started fasting on July 9th, and Saturday, August 3rd for those countries that started Ramadan on July 8th.
Muslims believe that revelation of the Qur'an occurred in two phases, with the first phase being the revelation in its entirety on Laylat Al-Qadr by Allah to the Archangel Gabriel in the lowest heaven, and then the subsequent verse-by-verse revelation to Prophet (pbuh) by Gabriel (Jibril in Arabic). The revelation started in 610 CE at the Hira cave on Mount Nur in Mecca.
Because of the revealed importance of this night, Muslims strive harder in the last ten days of Ramadan since the Laylat al-Qadr could be one of the odd-numbered days in the last ten (the first, third, fifth, seventh or ninth)
The Prophet Muhammad (Allah bless him and give him peace) said, "Whoever prays on Laylat al-Qadr out of faith and sincerity, shall have all their past sins forgiven." – Bukhari and Muslim, from Abu Hurayra (Allah be pleased with them).
if you stay awake
for an entire night
watch out for a treasure
trying to arrive
you can keep warm
by the secret sun of the night
keeping your eyes open
for the softness of dawn
try it for tonight
challenge your sleepy eyes
do not lay your head down
wait for heavenly alms
night is the bringer of gifts
Moses went on a ten-year journey
during a single night
invited by a tree
to watch the fire and light
Mohammed too made his passage
during that holy night
when he heard the glorious voice
when he ascended to the sky
day is to make a living
night is only for love
commoners sleep fast
lovers whisper to God all night
all night long
a voice calls upon you
to wake up
in the precious hours
if you miss your chance now
when your body is left behind
your soul will lament
death is a life of no return
– Jalaluddin Rumi – translation by Nader Khalili from Rumi, Fountain of Fire.
Ya Haqq!