text:
About CRVS Systems
Library & Learning
FR Secondary navigation
The Centre of Excellence for CRVS Systems is a global knowledge hub on civil registration and vital statistics (CRVS) systems. We collaborate with organizations and experts to broker access to information and expertise, including global standards, tools, research evidence, and relevant good practice.
Our purpose is to make knowledge readily available for countries working to develop, strengthen, and scale-up their national civil registration systems and improve their vital statistics reporting.
We are committed to creating stronger links between civil registration, health information, and vital statistics systems so that government policies and programs can be informed by reliable, real-time evidence. This is critical for countries to meet the needs of the populations they serve.
We recognize the value of CRVS systems for
reaching the Sustainable Development Goals
ensuring good governance, including protecting rights and delivering public services
meeting commitments to gender equality
improving reproductive, maternal, newborn, child, and adolescent health
Find out more about the work we do around civil registration and vital statistics systems in our high level brochure.
Our founding partners
Located at the International Development Research Centre (IDRC) in Ottawa, Canada, the Centre of Excellence was established with seed funding from the Government of Canada, namely, Global Affairs Canada and the International Development Research Centre. We contribute directly to the work of the Global Financing Facility.
The Centre of Excellence for CRVS Systems is part of the global community of practice. We welcome partnerships with like-minded initiatives so we can combine our skills and resources for greater impact. Government agencies, development organizations, civil society groups, UN agencies, and others wishing to co-deliver activities with us are invited to contact us to explore the possibilities. Our staff make decisions on a case-by-case basis, and according to our work plan priorities and available resources.
Need CRVS support?
Find out how we can connect you with technical expertise, knowledge products, and online learning.
The data required to monitor 12 of 17 Sustainable Development Goals and 67 indicators depend on strong CRVS systems.
This manual provides an extensive examination of the role of population registers in the context of vital statistics and civil registration.
Learn how the Global Financing Facility supports efforts to strengthen civil registration and vital statistics systems from Maletela Tuoane-Nkhasi, Global Financing Facility Secretariat.
© 2019 Centre of Excellence for CRVS Systems
Global CRVS efforts
CRVS eLearning course
Expert Talks video series
Knowledge Briefs on Gender and CRVS
Directory of Experts
Knowledge Briefs Gender and CRVS

redpajama_set_name: RedPajamaCommonCrawl


Just a reminder that 2016 season series sets started this coming Sunday! The details for all of our events can be found HERE.
Please pre-register via MSReg and save yourself $5! Payment online is OPTIONAL.
TLMC memberships will NOT be available on-site. Please click HERE to get your membership...and check out our new site.
To much fun today. Thanks to everyone who put in the time today!
Can anyone say Miata? Low hp and light cars win in the snow.
Think I get to claim "Fastest car not on RE71Rs" though.
I'd also like to say that no one was injured due to Mustang exiting the event. Thank you.
Well done Glenn!!! Way to lead by example!
Thanks to all those that came out and dealt with the snow.
I wasn't running them either, but yes was a fun event weather aside. The snow made for some fun runs.
kinda like WOSCA's first event?
Fastest run of the day. More to come with pedal view when I have time to edit.
And cheater tires will make an appearance at Picton. If its not, y'know, feckin snowing again.


text:
The Term 'Graphic Novel' Has Had A Good Run. We Don't Need It Anymore Coined in an era when comics were considered junk culture, graphic novel is a hoary, meaningless, and often completely inaccurate term. Comics are comics; stop apologizing for them.
Pop culture in high spirits
The Term 'Graphic Novel' Has Had A Good Run. We Don't Need It Anymore
November 17, 20163:49 PM ET
Glen Weldon
morebyless via Flickr
Hey Glen, did you hear? Last night, March: Book Three by Rep. John Lewis, Andrew Aydin and Nate Powell — the final book in their graphic novel trilogy about young Lewis' experiences in the civil rights movement — won the National Book Award for young people's literature!
Book News & Features
Comedian Larry Wilmore Hosts 67th National Book Awards Ceremony
I heard! It's fantastic! Both the fact that it won, and the comic itself, which is a deeply moving, eye-level, feet-on-the-ground account of the era that shows just how much hard, punishing work it took to change America. Lewis and co-writer Aydin take time to dig into the kind of small, human moments of pain, anguish, doubt and fear that history books tend to breeze past. And Artist Nate Powell makes sure you feel all those emotions — as well as moments of joy and soaring triumph.
It ends up offering far more than a how-to on civil disobedience — ultimately, it's a why-to: a searingly hopeful testament to the power of protest, and a celebration of the young people who sacrificed their safety to make the country a more just place to live.
Yeah, I figured you'd be happy. I know you're a graphic novel guy, so.
The Two-Way
Colson Whitehead, Rep. John Lewis Among National Book Award Winners
... It's not a graphic novel.
That's the second time you called it a graphic novel. Stop calling it a graphic novel. It's not a graphic novel. For one thing, it's non-fiction.
... Oh. Right. Sorry. Graphic memoir, then.
See now, "graphic memoir" is even worse. Makes it sound smutty. It's not The Diary of Anais Nin, buddy.
... "Sequential art?"
Spare me. I mean, good on you for reading up, but you're not defending your thesis here. You're not defending anything, so you don't need a term like "sequential art," which sounds so wounded and defensive, like you're desperately trying to justify the medium itself. You don't need that nebbishy Poindexter of a term; put it away. Try this: comics.
Comics?
Comics. Just call them comics.
But wait. I thought you nerds wanted us to call them graphic novels. At least the ones like Maus and Persepolis and Jimmy Corrigan and, well, March.
You know ... the serious ones. The important ones.
Ah. There it is. Knew that was coming.
I just mean ... it's useful, isn't it? To, you know, distinguish them from, uh ...
No, go ahead, you can say it. It's OK.
... (whispers) Superheroes.
Uh-huh.
And all the other, sillier, less meaningful stuff. Science fiction, or whatever.
Monkey See
The War Over Comics For Kids Is Nearly Over, And Kids Are Winning
Oy. OK. Lots to unpack here, and, to be fair, at lot of it's our fault. Comics readers and creators, that is.
By the time the great cartoonist Will Eisner slapped the term "graphic novel" on his 1978 book, A Contract With God and Other Tenement Stories, the term had been percolating around comics fandom for years. Eisner, however, was a tireless advocate, and wanted people to appreciated that comics are a medium, not a genre. A medium dominated, then as now, by superheroes, but nevertheless a storytelling medium that could be used to tell an infinite number of stories in vastly different ways.
Which is why--
Um, OK. It looks like you're ramping up. I'm gonna ... I'm just gonna grab a seat then.
Fine, go ahead.
The reason Eisner latched onto the term "graphic novel" and ran with it is because ... well, it was 1978. He needed to. Comics were considered, if they were considered at all, junk culture. Kid stuff that was beneath serious notice, if not beneath contempt.
After 25 Years, A Comics Publisher Pauses To Collect And Reflect
And in that environment, he was putting out a book containing a series of interwoven comics stories about a Lower East Side tenement building and its hapless inhabitants. He wanted to draw a clear line between what he was doing and mainstream superhero smash-em-ups — as well as the head-shop alt-comics scene of R. Crumb and others.
"Graphic novel" was a serviceable term for what he was up to, but even then, at the very beginning, it wasn't a perfect fit. A Contract With God isn't truly a novel, after all, it's a story collection. But he sought legitimacy, or at least serious consideration, so he adopted the terms of art of the literary community.
Later still, in 1985, he published Comics and Sequential Art, a treatise in which he nailed his theses to the church door of the art world, right from the jump:
This work is intended to consider and examine the unique aesthetics of Sequential Art as a means of creative expression, a distinct discipline, an art and literary form that deals with the arrangement of pictures or images and words to narrate a story or dramatize an idea. ... For reasons having to do with usage and subject matter Sequential Art has been generally ignored as a form worthy of scholarly discussion.
In other words: it's not just about Little Orphan Friggin' Annie, jerks.
He makes a good case, and if the prose is a bit dry and academic (and it really, really is), that served his purpose.
In the meantime, the alt-comics scene was blowing up, fueled by anthologies like RAW, and in the 1990s many titles broke through to mainstream acceptance — and acclaim.
(You know the words, sing along with me:)
Oh, right. The usual suspects. Maus and Jimmy Corrigan and Black Hole and Ghost World and...
Right. Maus became the first comic to win a Pulitizer, in 1992. And although March is now the first comic to win a National Book Award, several others have been finalists in the young people's literature category:
The Curious Case of David Small's 'Stitches'
2006: American Born Chinese by Gene Luen Yang
2009: Stitches by David Small
2013: Boxers and Saints by Gene Luen Yang
2015: Nimona by Noelle Stevenson
In addition, Roz Chast's Can't We Talk About Something More Pleasant? was an NBA finalist in the fiction category last year.
'Boxers & Saints' & Compassion: Questions For Gene Luen Yang
No matter what metric you use, it's clear that the world Will Eisner envisioned, in which a wider audience comes to appreciate that artists can use the comics medium to tell any story they want, has arrived.
Comics aren't visual art, and they're not prose. They're a medium that exists in the tension between images and text. Talented creators can play with that tension in ways that are utterly unique to comics.
So with March's win, it's a perfect time to retire terms like "graphic novel" and "sequential art," which piggyback on the language of other, wholly separate mediums. What's more, both terms have their roots in the need to dissemble and justify, thus both exude a sense of desperation, a gnawing hunger to be accepted.
Forget that.
Comics. Say it.
... "Comics."
Just call them comics. And by doing so, you'll be joining the ranks of creators like Neil Gaiman, who have always been amused by the pernicious desire on the part of book marketers and awards panels to dress comics up in pretentious language.
I always loved, most of all with doing comics, the fact that I knew I was in the gutter. I kind of miss that, even these days, whenever people come up and inform me, oh, you do graphic novels. No. I wrote comic books, for heaven's sake. They're creepy and I was down in the gutter and you despised me. "No, no, we love you! We want to give you awards! You write graphic novels!"
We like it here in the gutter.


backyard garden ideas for small yards garden garden small yard landscape ideas backyard landscaping about in backyards shapely backyard garden ideas for small yards.
decorating a half wall room divider unique room dividers room partitions ideas unique 9 room dividers ideas studio apartment room divider ideas unique room dividers decorate half wall room divider.
exterior paint colors that go with red brick paint colors that go with brick exterior trim paint colors for red brick homes.
painting a deck grey backyard painted low wooden decks.
perennial shade garden layout perennial shade garden layout layouts shade opulent design shade garden designs creating a shade garden ca perennial shade garden layout perennial shade garden plan.
non yellowing polyurethane for floors remove the glossy polyurethane protective finish in seconds with the right stripper.
theater room designs home home theater room designs magnificent decor inspiration.
brown paint that looks like wood blog on how to make paint job look like wood.
hydroponic garden diy a frame hydroponic systems amazing hydroponic systems for indoor gardening build your own hydroponic vegetable garden.
building a retaining wall check for level as you install the blocks building retaining walls and steps.


Who doesn't love pizza night? Celebrate the holiday season with fun-shaped holiday pizzas, like this cute snowman, Christmas tree and pepperoni candy cane!
Your kids will love these holiday pizzas as much as you love making them! Not only do they make great weeknight meals, they are perfect for kids' holiday parties and girls' night!
Roll the dough out to about 1/2-inch thickness. Cut the pizza dough into candy cane shapes and place on a greased pizza sheet.
Preheat oven to 400 degrees F. Using the pepperoni and the Parmesan cheese, make stripes on the candy cane.
Bake for about 12 to 14 minutes or until cheese is melted.
Preheat oven to 400 degrees F. Grease a pizza sheet with nonstick cooking spray.
Using a roller, roll out the dough to about 1/3-inch thickness. Using a pizza cutter or a sharp knife, cut out a Christmas tree.
Top the tree with white pizza dough and cheese. Sprinkle with fresh basil. Decorate with cranberries, walnuts and the yellow pepper star. Garnish with salt and pepper.
Bake for about 14 to 16 minutes, or until melted.
Claire is an aspiring nutritionist (and soon to be culinary student) with a serious addiction to bacon, wine, goat cheese and online shopping. She is recently married to a social media guru who loves *almost* everything she conjures up. In addition to writing for the Food section of SheKnows, she is a full-time recipe creator (and taste tester), a writer for FabulousFoods.com and a contributing writer for the Home and Gardening section of SheKnows. You can also follow her daily musings and find delicious healthy recipes on her food blog, The Realistic Nutritionist.


On Long Island, Monday isn't just the beginning of the week, it is a day devoted to the well-being for those who are undergoing chemotherapy and radiation treatment.
As more and more people are diagnosed with cancer, the need for resources and support to get them back to their everyday life and work environment has become increasingly important.
A decade ago, Racine Salon and Spa located on Main Street in Islip, began offering complimentary beauty treatments for those undergoing treatment for cancer on Monday's, a day that salons are traditionally closed.
As the need grew, they became a non-profit organization in order to expand their reach. The Mondays at Racine Cancer Care Foundation Since has provided wellness and beauty services to more than 8,000 Long Islanders undergoing cancer treatment, all at no cost to the patient.
Racine is operated by sisters, Rachel Demolfetto, Cynthia Sansone, Karla Waldron and Rosemary Berger.
Every client's health and beauty regimen is highly personal and critically important, and the Mondays at Racine staff understands the power and importance of their self-image.
While beauty might seem trivial at such a crucial time, "The mirror is a powerful tool," Cynthia says.
Five years ago, the Mondays at Racine pilot program was operating at full capacity so the sisters reached out to other Long Island salon owners and began expanding to other locations to better serve the burgeoning number of cancer patients.
"People with cancer need to have a sense of normalcy in their lives, and we provide those services," Rachel says.
To effectively recruit, educate and train the salon owners and their stylists on the proper treatment protocols, they needed to raise funds to expand the Mondays at Racine program, which is overseen by Karla, who serves as the foundation's Executive Director.
On October 29th, 2018, the 4th Annual Long Island Beauty Ball for Cancer Care will be held at the Crest Hollow Country Club from 6 to 10 pm. The evening is filled with unique experiences including the second annual Hair + Make Up Show, psychic readings, paint night, virtual reality, shopping, live entertainment, dancing, an open bar and buffet stations. Plus, the first 800 guests will receive an amazing swag bag filled with an assortment of beauty and wellness goodies.
"This is a not-to-be-missed event," Rosemary says.
This year, a new program called MARCH is being introduced at an exclusive pre-beauty ball awards ceremony and cocktail hour.
"This year we were determined to bring the Beauty Ball to a higher level and are so excited to announce that our guest of honor will be Mrs. Susan Imbert. Susan is a close friend, a survivor and an inspiration to all that know her. Her work in our community is of distinct excellence and we could not be happier to honor such an incredible woman," says Karla.


text:
Aviation Sports Magazine
Hang-glider
How high do you get parasailing?
How high do you go parasailing?
Has anyone died parasailing?
How high is parasailing in Florida?
Do you land in the water when parasailing?
Is parasailing dangerous?
How long do you stay in the air while parasailing?
How much does Parasailing usually cost?
What are the chances of dying while parasailing?
Can you see sharks while parasailing?
Is parasailing legal?
How much wind is too much for parasailing?
How much is parasailing in PCB?
Do you get weighed before parasailing?
Do you tip when you go parasailing?
Do you wear a lifejacket when parasailing?
The parasailing height limit sits at 800 feet. The FAA has set a height limit of no greater than 500 vertical feet from the water and no greater than 800 feet of rope.
250 to 500 feet
Parasailing accidents are not uncommon across the Mediterranean. In a similar incident in Turkey in 2011, a British holidaymaker plunged to his death when his harness snapped while parasailing. … Last year an 18-year-old Russian tourist also died in Turkey when his parasailing cable broke 200ft above the sea.
The FAA parasailing height limit is 500 vertical feet.
Do you take-off from or land in the water? No, you take-off and land directly on the boat! After we fit you with a special parasail harness, you are seated next to your partner(s) on the flight deck and then gently launched and retrieved using a hydraulic winch system.
ЭТО ИНТЕРЕСНО: How heavy can you be to parasail?
Parasailing often occurs in changing weather conditions with participants suspended 500 feet or more above the water's surface, and accidents often result in either serious injury or death, according to the agency's investigation, its first into parasailing safety.
How long are trip times and flight times? A trip will last no longer than one hour from the time the boat leaves the dock until it returns. Parasailing flights themselves are about 10 minutes.
Most parasailing packages on Florida's southern end range between $100 to $150, while basic lifts hover around $60. Northern Florida beaches are a bit cheaper at around $45.
More recent data from 2006 to 2012, 8 deaths and 36 injuries occured due to parasailing in the US, showing that parasailing is actually becoming more safe as the chance of dying is 8/(6*3 million), which is a chance of 4 in 10 million.
"You can tell when they see the sharks, they don't want to get their feet wet. Sometimes we drag their feet in the water," said Turgeon, owner of Dana Point Parasail. "All of a sudden, they have their feet lifted up." … With Dana Point Parasail, Turgeon said passengers would see sharks from above "just about every day."
Voluntary recreational activities do not violate public policy under admiralty law. … Under federal admiralty law, liability waivers for recreational sporting activities like parasailing are not contracts of adhesion because they are not essential services.
ЭТО ИНТЕРЕСНО: Has anyone landed a wingsuit without a parachute?
A good rule of thumb is to look at the beach umbrellas. If it's too windy to set one up, then it's not a good time to go parasailing. You shouldn't be parasailing if the winds are a sustained 20 mph or higher.16 мая 2018 г.
Yes, when space is available. The cost for non-flying observers is $20.00+tax. Dont miss out on a moment of your family vacation; come along for the ride and watch the others have a blast.
Do You Need to Be Physically Fit? In the one sense, you have to be physically fit enough that you don't weigh more than 425 pounds, which is one of the parasailing weight requirements, but parasailing doesn't have any physical fitness requirements that you might say are strenuous.
It is customary to tip the captain and crew 15-20% for good service. If you feel that your experience was not everything you had hoped, please let us know and we will make it right! As with any sport, there is risk involved in parasailing.
Items typically provided. Each company is a bit different, but the majority provides a life jacket (mandatory for over water activities). You'll also be provided a specially designed harness for parasailing.
Parachute 0
Can you do a parachute jump in the rain?
Skydiving in the rain is not allowed. The Federal Aviation Administration (FAA) requires that
Melhor resposta: How much do you earn in the parachute regiment?
Paratroopers are considered non-air crewmembers — they are not involved with flying the planes
What does the Parachute Regiment do?
Paratroopers are trained to conduct a range of missions, from prevention and pre-emption tasks,
Sua pergunta: HOW DO model rocket parachutes work?
The streamers/parachutes get deployed by the rocket engine. The engine has a stage that
Will a parachute work on Mars?
So, the short answer is, you're right, parachutes don't work on Mars like they
How much does it cost to pack a parachute?
So, the container these days is around $2000, the main parachute is between $2000
Hello, my name is Arthur. For many years I have been fond of flying sports and in my blog I share entertaining articles about all its varieties.
What is the best paramotor to buy?
Sua pergunta: Can you suffocate while skydiving?
Você perguntou: What size trainer kite should I get?
Questão: What is the fastest skydive speed?
Pergunta frequente: Do Royal Marines do parachutes?
Where do red kite birds live?
Do all airplanes have parachutes?
What Colour is Your Parachute 2019?
© 2020 Freefly
ATTENTION TO RIGHT HOLDERS! All materials are posted on the site strictly for informational and educational purposes! If you believe that the posting of any material infringes your copyright, be sure to contact us through the contact form and your material will be removed!


text:
Mezopauza je přechodná vrstva atmosféry, která odděluje mezosféru od termosféry. Její polohu určuje druhé minimum atmosférického teplotního profilu. V létě leží ve výšce asi 80 až 85 km nad povrchem Země, v zimě ve výšce od 100 km.

Podle definice NASA a US Air Force začíná vesmírný prostor asi 80 km (50 mil) nad zemí, což odpovídá mezopauze. Existují však i jiné definice.

Externí odkazy

Členění atmosféry

redpajama_set_name: RedPajamaWikipedia


text:
package info.jtrac.hibernate;

import info.jtrac.JtracDao;
import info.jtrac.domain.AlertLog;
import info.jtrac.domain.Attachment;
import info.jtrac.domain.Category;
import info.jtrac.domain.Config;
import info.jtrac.domain.Counts;
import info.jtrac.domain.CountsHolder;
import info.jtrac.domain.EscalationLog;
import info.jtrac.domain.Field;
import info.jtrac.domain.History;
import info.jtrac.domain.Item;
import info.jtrac.domain.ItemItem;
import info.jtrac.domain.ItemSearch;
import info.jtrac.domain.ItemUser;
import info.jtrac.domain.Level;
import info.jtrac.domain.Metadata;
import info.jtrac.domain.ReasonOutstanding;
import info.jtrac.domain.Reports;
import info.jtrac.domain.Role;
import info.jtrac.domain.ServerSettings;
import info.jtrac.domain.Severity;
import info.jtrac.domain.Space;
import info.jtrac.domain.SpaceCategory;
import info.jtrac.domain.SpaceSequence;
import info.jtrac.domain.SpaceSeverityPeriod;
import info.jtrac.domain.SpaceUserLevel;
import info.jtrac.domain.State;
import info.jtrac.domain.Status;
import info.jtrac.domain.User;
import info.jtrac.domain.UserSpaceRole;
import info.jtrac.domain.ZSpaceEmail;
import info.jtrac.wicket.SpaceEmailPage;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;

import java.util.Map;
import org.apache.commons.collections.ComparatorUtils;
import org.apache.commons.lang.WordUtils;
import org.hibernate.CacheMode;
import org.hibernate.Criteria;
import org.hibernate.FetchMode;
import org.hibernate.Session;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.MatchMode;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import org.springframework.orm.hibernate3.HibernateCallback;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;

/**
 * DAO Implementation using Spring Hibernate template
 * note usage of the Spring "init-method" and "destroy-method" options
 */
public class HibernateJtracDao extends HibernateDaoSupport implements JtracDao {

    private SchemaHelper schemaHelper;

    public void setSchemaHelper(SchemaHelper schemaHelper) {
        this.schemaHelper = schemaHelper;
    }

    @SuppressWarnings("unchecked")
	public List<Item> findItemBySpaceSeverityPeriod(
			SpaceSeverityPeriod spaceSeverityPeriod) {
		return getHibernateTemplate().find("from Item where spaceSeverityPeriod.id = ?", spaceSeverityPeriod.getId());
	}

    public void storeItem(Item item) {
        getHibernateTemplate().merge(item);
    }

    public Item loadItem(long id) {
        return (Item) getHibernateTemplate().get(Item.class, id);
    }

    public void storeHistory(History history) {
        getHibernateTemplate().merge(history);
    }

    public History loadHistory(long id) {
        return (History) getHibernateTemplate().get(History.class, id);
    }

    @SuppressWarnings("unchecked")
	public List<Item> findItems(long sequenceNum, String prefixCode) {
        Object[] params = new Object[] {sequenceNum, prefixCode};
        return getHibernateTemplate().find("from Item item where item.sequenceNum = ? and item.space.prefixCode = ?", params);
    }

    @SuppressWarnings("unchecked")
	public List<Item> findItems(ItemSearch itemSearch) {
        int pageSize = itemSearch.getPageSize();
        // TODO: if we are ordering by a custom column, we must load the whole
        // list to do an in-memory sort. we need to find a better way
        Field.Name sortFieldName = Field.isValidName(itemSearch.getSortFieldName()) ? Field.convertToName(itemSearch.getSortFieldName()) : null;
        // only trigger the in-memory sort for drop-down fields and when querying within a space
        // UI currently does not allow you to sort by custom field when querying across spaces, but check again
        boolean doInMemorySort = sortFieldName != null && sortFieldName.isDropDownType() && itemSearch.getSpace() != null;
        if (pageSize == -1 || doInMemorySort) {
            List<Item> list = getHibernateTemplate().findByCriteria(itemSearch.getCriteria());
            if(!list.isEmpty() && doInMemorySort) {
                doInMemorySort(list, itemSearch);
            }
            itemSearch.setResultCount(list.size());
            if (pageSize != -1) {
                // order-by was requested on custom field, so we loaded all results, but only need one page
                int start = pageSize * itemSearch.getCurrentPage();
                int end = Math.min(start + itemSearch.getPageSize(), list.size());
                return list.subList(start, end);
            }
            return list;
        } else {
            // pagination
            if(itemSearch.isBatchMode()) {
                getHibernateTemplate().execute(new HibernateCallback() {
                    public Object doInHibernate(Session session) {
                        session.clear();
                        return null;
                    }
                });
            }
            int firstResult = pageSize * itemSearch.getCurrentPage();
            List<Item> list = getHibernateTemplate().findByCriteria(itemSearch.getCriteria(), firstResult, pageSize);
            if(!itemSearch.isBatchMode()) {
                DetachedCriteria criteria = itemSearch.getCriteriaForCount();
                criteria.setProjection(Projections.rowCount());
                Integer count = (Integer) getHibernateTemplate().findByCriteria(criteria).get(0);
                itemSearch.setResultCount(count);
            }
            return list;
        }
    }

    @SuppressWarnings("unchecked")
	private void doInMemorySort(List<Item> list, ItemSearch itemSearch) {
        // we should never come here if search is across multiple spaces
        final Field field = itemSearch.getSpace().getMetadata().getField(itemSearch.getSortFieldName());
        final ArrayList<String> valueList = new ArrayList<String>(field.getOptions().keySet());
        Comparator<Item> comp = new Comparator<Item>() {
            public int compare(Item left, Item right) {
                Object leftVal = left.getValue(field.getName());
                String leftValString = leftVal == null ? null : leftVal.toString();
                int leftInd = valueList.indexOf(leftValString);
                Object rightVal = right.getValue(field.getName());
                String rightValString = rightVal == null ? null : rightVal.toString();
                int rightInd = valueList.indexOf(rightValString);
                return leftInd - rightInd;
            }
        };
        Collections.sort(list, itemSearch.isSortDescending() ? ComparatorUtils.reversedComparator(comp) : comp);
    }

    public int loadCountOfAllItems() {
        return (Integer) getHibernateTemplate().execute(new HibernateCallback() {
            public Object doInHibernate(Session session) {
                Criteria criteria = session.createCriteria(Item.class);
                criteria.setProjection(Projections.rowCount());
                return criteria.list().get(0);
            }
        });
    }

    @SuppressWarnings("unchecked")
	public List<Item> findAllItems(final int firstResult, final int batchSize) {
        return getHibernateTemplate().executeFind(new HibernateCallback() {
            public Object doInHibernate(Session session) {
                session.clear();
                Criteria criteria = session.createCriteria(Item.class);
                criteria.setCacheMode(CacheMode.IGNORE);
                criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
                criteria.setFetchMode("history", FetchMode.JOIN);
                criteria.add(Restrictions.ge("id", (long) firstResult));
                criteria.add(Restrictions.lt("id", (long) firstResult + batchSize));
                return criteria.list();
            }
        });
    }

    public void removeItem(Item item) {
        getHibernateTemplate().delete(item);
    }

    public void removeItemItem(ItemItem itemItem) {
        getHibernateTemplate().delete(itemItem);
    }

    @SuppressWarnings("unchecked")
	public List<ItemUser> findItemUsersByUser(User user) {
        return getHibernateTemplate().find("from ItemUser iu where iu.user = ?", user);
    }

    public void removeItemUser(ItemUser itemUser) {
        getHibernateTemplate().delete(itemUser);
    }

    public void storeAttachment(Attachment attachment) {
        getHibernateTemplate().merge(attachment);
    }

    public void storeMetadata(Metadata metadata) {
        getHibernateTemplate().merge(metadata);
    }
    public void storeSpaceUserLevel(SpaceUserLevel spaceUserLevel){
    	getHibernateTemplate().merge(spaceUserLevel);
    }
    public Metadata loadMetadata(long id) {
        return (Metadata) getHibernateTemplate().get(Metadata.class, id);
    }

    public void storeSpace(Space space) {
        getHibernateTemplate().merge(space);
    }

    public void storeSeverity(Severity severity) {
    	getHibernateTemplate().merge(severity);
    }

    public void storeSpaceUselevel(SpaceUserLevel spaceUserLevel) {
    	getHibernateTemplate().merge(spaceUserLevel);
    }
    public Space loadSpace(long id) {
        return (Space) getHibernateTemplate().get(Space.class, id);
    }

    public UserSpaceRole loadUserSpaceRole(long id) {
        return (UserSpaceRole) getHibernateTemplate().get(UserSpaceRole.class, id);
    }

    public long loadNextSequenceNum(final long spaceSequenceId) {
        return (Long) getHibernateTemplate().execute(new HibernateCallback() {
            public Object doInHibernate(Session session) {
                session.flush();
                session.setCacheMode(CacheMode.IGNORE);
                SpaceSequence ss = (SpaceSequence) session.get(SpaceSequence.class, spaceSequenceId);
                long next = ss.getAndIncrement();
                session.update(ss);
                session.flush();
                return next;
            }
        });
    }

    public void storeSpaceSequence(SpaceSequence spaceSequence) {
        getHibernateTemplate().save(spaceSequence);
    }

    @SuppressWarnings("unchecked")
	public List<Space> findSpacesByPrefixCode(String prefixCode) {
        return getHibernateTemplate().find("from Space space where space.prefixCode = ?", prefixCode);
    }

    @SuppressWarnings("unchecked")
	public List<Space> findAllSpaces() {
        return getHibernateTemplate().find("from Space space order by space.prefixCode");
    }

    @SuppressWarnings("unchecked")
	public List<Space> findSpacesNotAllocatedToUser(long userId) {
        return getHibernateTemplate().find("from Space space where space not in"
                + " (select usr.space from UserSpaceRole usr where usr.user.id = ?) order by space.name", userId);
    }

    @SuppressWarnings("unchecked")
	public List<Space> findSpacesWhereIdIn(List<Long> ids) {
        return getHibernateTemplate().findByNamedParam("from Space space where space.id in (:ids)", "ids", ids);
    }

    @SuppressWarnings("unchecked")
	public List<Space> findSpacesWhereGuestAllowed() {
        return getHibernateTemplate().find("from Space space join fetch space.metadata where space.guestAllowed = true");
    }

    public void removeSpace(Space space) {
        getHibernateTemplate().delete(space);
    }

    public void storeUser(User user) {
        getHibernateTemplate().merge(user);
    }

    public void storeLevel(Level level) {
    	getHibernateTemplate().merge(level);
    }
    public void removeLevel(Level level) {
        getHibernateTemplate().delete(level);
    }

    public void removeAllLevels() {

	}

    public void storeCategory(Category category) {
    	getHibernateTemplate().merge(category);
    }

    public User loadUser(long id) {
        return (User) getHibernateTemplate().get(User.class, id);
    }

    public void removeUser(User user) {
        getHibernateTemplate().delete(user);
    }

    @SuppressWarnings("unchecked")
	public List<User> findAllUsers() {
        return getHibernateTemplate().find("from User user order by user.name");
    }

    @SuppressWarnings("unchecked")
	public List<User> findUsersWhereIdIn(List<Long> ids) {
        return getHibernateTemplate().findByNamedParam("from User user where user.id in (:ids)", "ids", ids);
    }

    @SuppressWarnings("unchecked")
	public List<User> findUsersMatching(final String searchText, final String searchOn) {
        return (List<User>) getHibernateTemplate().execute(new HibernateCallback() {
            public Object doInHibernate(Session session) {
                Criteria criteria = session.createCriteria(User.class);
                criteria.add(Restrictions.ilike(searchOn, searchText, MatchMode.ANYWHERE));
                criteria.addOrder(Order.asc("name"));
                return criteria.list();
            }
        });
    }

    @SuppressWarnings("unchecked")
	public List<User> findUsersByLoginName(String loginName) {
        return getHibernateTemplate().find("from User user where user.loginName = ?", loginName);
    }

    @SuppressWarnings("unchecked")
	public List<User> findUsersByEmail(String email) {
        return getHibernateTemplate().find("from User user where user.email = ?", email);
    }

    @SuppressWarnings("unchecked")
	public List<User> findUsersNotAllocatedToSpace(long spaceId) {
        return getHibernateTemplate().find("from User user where user not in"
                + " (select usr.user from UserSpaceRole usr where usr.space.id = ?) order by user.name", spaceId);
    }

    @SuppressWarnings("unchecked")
	public List<UserSpaceRole> findUserRolesForSpace(long spaceId) {
        // join fetch for user object
        return getHibernateTemplate().find("select usr from UserSpaceRole usr join fetch usr.user"
                 + " where usr.space.id = ? order by usr.user.name", spaceId);
    }

    @SuppressWarnings("unchecked")
	public List<User> findUsersWithRoleForSpace(long spaceId, String roleKey) {
        return getHibernateTemplate().find("from User user"
                + " join user.userSpaceRoles as usr where usr.space.id = ?"
                + " and usr.roleKey = ? order by user.name", new Object[] {spaceId, roleKey});
    }

    @SuppressWarnings("unchecked")
    public List<Severity> findAllSeverities() {
		return getHibernateTemplate().find("from Severity");
	}

    public void removeSeverity(Severity severity) {
		getHibernateTemplate().delete(severity);
	}

    @SuppressWarnings("unchecked")
	public List<SpaceSeverityPeriod> findSpaceSeverityPeriodBySpaceId(long spaceId) {
    	return getHibernateTemplate().find("from SpaceSeverityPeriod where space.id = ?", spaceId);
    }

    @SuppressWarnings("unchecked")
	public List<SpaceSeverityPeriod> findSpaceSeverityPeriodBySpaceAndSeverity(
			Space space, Severity severity) {
    	List<Object> params = new ArrayList<Object>();
    	params.add(space.getId());
    	params.add(severity.getId());

		return getHibernateTemplate().find("from SpaceSeverityPeriod where space.id = ? and severity.id = ?", params.toArray());
	}

    @SuppressWarnings("unchecked")
    public void removeSpaceSeverityPeriodBySeverity(Severity severity) {

    	List<SpaceSeverityPeriod> spaceSeverityPeriods = getHibernateTemplate().find("from SpaceSeverityPeriod where severity.id = ?", severity.getId());

    	for(int i=0; i<spaceSeverityPeriods.size(); i++) {
    		getHibernateTemplate().delete(spaceSeverityPeriods.get(i));
    	}
	}

    public void storeSpaceSeverityPeriod(SpaceSeverityPeriod spaceSeverityPeriod) {
    	getHibernateTemplate().merge(spaceSeverityPeriod);
	}

    @SuppressWarnings("unchecked")
    public List<Level> findAllLevels() {
		return getHibernateTemplate().find("from Level");
	}
    @SuppressWarnings("unchecked")
	public List<UserSpaceRole> findSpaceRolesForUser(long userId) {
        return getHibernateTemplate().find("select usr from UserSpaceRole usr"
                + " left join fetch usr.space as space"
                + " left join fetch space.metadata"
                + " where usr.user.id = ? order by usr.space.name", userId);
    }

    @SuppressWarnings("unchecked")
	public List<User> findSuperUsers() {
        return getHibernateTemplate().find("select usr.user from UserSpaceRole usr"
                + " where usr.space is null and usr.roleKey = ?", Role.ROLE_ADMIN);
    }

    public int loadCountOfHistoryInvolvingUser(User user) {
        Long count = (Long) getHibernateTemplate().find("select count(history) from History history where "
                + " history.loggedBy = ? or history.assignedTo = ?", new Object[] {user, user}).get(0);
        return count.intValue();
    }

    //==========================================================================

    @SuppressWarnings("unchecked")
	public CountsHolder loadCountsForUser(User user) {
        Collection<Space> spaces = user.getSpaces();
        if (spaces.size() == 0) {
            return null;
        }
        CountsHolder ch = new CountsHolder();
        HibernateTemplate ht = getHibernateTemplate();
        List<Object[]> loggedByList = ht.find("select item.space.id, count(item) from Item item"
                + " where item.loggedBy.id = ? group by item.space.id", user.getId());
        List<Object[]> assignedToList = ht.find("select item.space.id, count(item) from Item item"
                + " where item.assignedTo.id = ? group by item.space.id", user.getId());
        List<Object[]> statusList = ht.findByNamedParam("select item.space.id, count(item) from Item item"
                + " where item.space in (:spaces) group by item.space.id", "spaces", spaces);
        for(Object[] oa : loggedByList) {
            ch.addLoggedByMe((Long) oa[0], (Long) oa[1]);
        }
        for(Object[] oa : assignedToList) {
            ch.addAssignedToMe((Long) oa[0], (Long) oa[1]);
        }
        for(Object[] oa : statusList) {
            ch.addTotal((Long) oa[0], (Long) oa[1]);
        }
        return ch;
    }

    @SuppressWarnings("unchecked")
	public Counts loadCountsForUserSpace(User user, Space space) {
        HibernateTemplate ht = getHibernateTemplate();
        List<Object[]> loggedByList = ht.find("select status, count(item) from Item item"
                + " where item.loggedBy.id = ? and item.space.id = ? group by item.status", new Object[] {user.getId(), space.getId()});
        List<Object[]> assignedToList = ht.find("select status, count(item) from Item item"
                + " where item.assignedTo.id = ? and item.space.id = ? group by item.status", new Object[] {user.getId(), space.getId()});
        List<Object[]> statusList = ht.find("select status, count(item) from Item item"
                + " where item.space.id = ? group by item.status", space.getId());
        Counts c = new Counts(true);
        for(Object[] oa : loggedByList) {
            c.addLoggedByMe((Integer) oa[0], (Long) oa[1]);
        }
        for(Object[] oa : assignedToList) {
            c.addAssignedToMe((Integer) oa[0], (Long) oa[1]);
        }
        for(Object[] oa : statusList) {
            c.addTotal((Integer) oa[0], (Long) oa[1]);
        }
        return c;
    }

    //==========================================================================

    @SuppressWarnings("unchecked")
	public List<User> findUsersForSpace(long spaceId) {
        return getHibernateTemplate().find("select distinct u from User u join u.userSpaceRoles usr"
                + " where usr.space.id = ? order by u.name", spaceId);
    }

    @SuppressWarnings("unchecked")
	public List<User> findUsersForSpaceSet(Collection<Space> spaces) {
        return getHibernateTemplate().findByNamedParam("select u from User u join u.userSpaceRoles usr"
                + " where usr.space in (:spaces) order by u.name", "spaces", spaces);
    }

    public void removeUserSpaceRole(UserSpaceRole userSpaceRole) {
        getHibernateTemplate().delete(userSpaceRole);
    }

    @SuppressWarnings("unchecked")
	public List<Config> findAllConfig() {
        return getHibernateTemplate().loadAll(Config.class);
    }

    public void storeConfig(Config config) {
        getHibernateTemplate().merge(config);
    }

    public Config loadConfig(String param) {
        return (Config) getHibernateTemplate().get(Config.class, param);
    }

    public int loadCountOfRecordsHavingFieldNotNull(Space space, Field field) {
        Criteria criteria = getSession().createCriteria(Item.class);
        criteria.add(Restrictions.eq("space", space));
        criteria.add(Restrictions.isNotNull(field.getName().toString()));
        criteria.setProjection(Projections.rowCount());
        int itemCount = (Integer) criteria.list().get(0);
        // even when no item has this field not null currently, items may have history with this field not null
        // because of the "parent" difference, cannot use AbstractItem and have to do a separate Criteria query
        criteria = getSession().createCriteria(History.class);
        criteria.createCriteria("parent").add(Restrictions.eq("space", space));
        criteria.add(Restrictions.isNotNull(field.getName().toString()));
        criteria.setProjection(Projections.rowCount());
        return itemCount + (Integer) criteria.list().get(0);
    }

    public int bulkUpdateFieldToNull(Space space, Field field) {
        int itemCount = getHibernateTemplate().bulkUpdate("update Item item set item." + field.getName() + " = null"
                + " where item.space.id = ?", space.getId());
        logger.info("no of Item rows where " + field.getName() + " set to null = " + itemCount);
        int historyCount = getHibernateTemplate().bulkUpdate("update History history set history." + field.getName() + " = null"
                + " where history.parent in ( from Item item where item.space.id = ? )", space.getId());
        logger.info("no of History rows where " + field.getName() + " set to null = " + historyCount);
        return itemCount;
    }

    public int loadCountOfRecordsHavingFieldWithValue(Space space, Field field, int optionKey) {
        Criteria criteria = getSession().createCriteria(Item.class);
        criteria.add(Restrictions.eq("space", space));
        criteria.add(Restrictions.eq(field.getName().toString(), optionKey));
        criteria.setProjection(Projections.rowCount());
        int itemCount = (Integer) criteria.list().get(0);
        // even when no item has this field value currently, items may have history with this field value
        // because of the "parent" difference, cannot use AbstractItem and have to do a separate Criteria query
        criteria = getSession().createCriteria(History.class);
        criteria.createCriteria("parent").add(Restrictions.eq("space", space));
        criteria.add(Restrictions.eq(field.getName().toString(), optionKey));
        criteria.setProjection(Projections.rowCount());
        return itemCount + (Integer) criteria.list().get(0);
    }

    public int bulkUpdateFieldToNullForValue(Space space, Field field, int optionKey) {
        int itemCount = getHibernateTemplate().bulkUpdate("update Item item set item." + field.getName() + " = null"
                + " where item.space.id = ?"
                + " and item." + field.getName() + " = ?", new Object[] {space.getId(), optionKey});
        logger.info("no of Item rows where " + field.getName() + " value '" + optionKey + "' replaced with null = " + itemCount);
        int historyCount = getHibernateTemplate().bulkUpdate("update History history set history." + field.getName() + " = null"
                + " where history." + field.getName() + " = ?"
                + " and history.parent in ( from Item item where item.space.id = ? )", new Object[] {optionKey, space.getId()});
        logger.info("no of History rows where " + field.getName() + " value '" + optionKey + "' replaced with null = " + historyCount);
        return itemCount;
    }

    public int loadCountOfRecordsHavingStatus(Space space, int status) {
        Criteria criteria = getSession().createCriteria(Item.class);
        criteria.add(Restrictions.eq("space", space));
        criteria.add(Restrictions.eq("status", status));
        criteria.setProjection(Projections.rowCount());
        int itemCount = (Integer) criteria.list().get(0);
        // even when no item has this status currently, items may have history with this status
        // because of the "parent" difference, cannot use AbstractItem and have to do a separate Criteria query
        criteria = getSession().createCriteria(History.class);
        criteria.createCriteria("parent").add(Restrictions.eq("space", space));
        criteria.add(Restrictions.eq("status", status));
        criteria.setProjection(Projections.rowCount());
        return itemCount + (Integer) criteria.list().get(0);
    }

    public int bulkUpdateStatusToOpen(Space space, int status) {
        int itemCount = getHibernateTemplate().bulkUpdate("update Item item set item.status = " + State.OPEN
                + " where item.status = ? and item.space.id = ?", new Object[] {status, space.getId()});
        logger.info("no of Item rows where status changed from " + status + " to " + State.OPEN + " = " + itemCount);
        int historyCount = getHibernateTemplate().bulkUpdate("update History history set history.status = " + State.OPEN
                + " where history.status = ?"
                + " and history.parent in ( from Item item where item.space.id = ? )", new Object[] {status, space.getId()});
        logger.info("no of History rows where status changed from " + status + " to " + State.OPEN + " = " + historyCount);
        return itemCount;
    }

    public int bulkUpdateRenameSpaceRole(Space space, String oldRoleKey, String newRoleKey) {
        return getHibernateTemplate().bulkUpdate("update UserSpaceRole usr set usr.roleKey = ?"
                + " where usr.roleKey = ? and usr.space.id = ?", new Object[] {newRoleKey, oldRoleKey, space.getId()});
    }

    public int bulkUpdateDeleteSpaceRole(Space space, String roleKey) {
        if (roleKey == null) {
            return getHibernateTemplate().bulkUpdate("delete UserSpaceRole usr where usr.space.id = ?", space.getId());
        } else {
            return getHibernateTemplate().bulkUpdate("delete UserSpaceRole usr"
                    + " where usr.space.id = ? and usr.roleKey = ?", new Object[] {space.getId(), roleKey});
        }
    }

    public int bulkUpdateDeleteItemsForSpace(Space space) {
        int historyCount = getHibernateTemplate().bulkUpdate("delete History history where history.parent in"
                + " ( from Item item where item.space.id = ? )", space.getId());
        logger.debug("deleted " + historyCount + " records from history");
        int itemItemCount = getHibernateTemplate().bulkUpdate("delete ItemItem itemItem where itemItem.item in"
                + " ( from Item item where item.space.id = ? )", space.getId());
        logger.debug("deleted " + itemItemCount + " records from item_items");

        int itemUserCount = getHibernateTemplate().bulkUpdate("delete ItemUser itemUser where itemUser.item in"
                + " ( from Item item where item.space.id = ? )", space.getId());

        logger.debug("deleted " + itemUserCount + " records from item user");

        int itemCount = getHibernateTemplate().bulkUpdate("delete Item item where item.space.id = ?", space.getId());
        logger.debug("deleted " + itemCount + " records from items");
        return historyCount + itemItemCount + itemCount;
    }

    //==========================================================================

    /**
     * note that this is automatically configured to run on startup
     * as a spring bean "init-method"
     */
    @SuppressWarnings("unchecked")
	public void createSchema() {
        try {
            getHibernateTemplate().find("from Item item where item.id = 1");
            logger.info("database schema exists, normal startup");
        } catch (Exception e) {
            logger.warn("expected database schema does not exist, will create. Error is: " + e.getMessage());
            schemaHelper.createSchema();
            User admin = new User();
            admin.setLoginName("admin");
            admin.setName("Admin");
            admin.setEmail("admin");
            admin.setPassword("21232f297a57a5a743894a0e4a801fc3");
            admin.addSpaceWithRole(null, Role.ROLE_ADMIN);
            logger.info("inserting default admin user into database");
            storeUser(admin);

            /*
             * Create and store priority Levels high, medium, and low
             *
             */
            String[] descriptioins = {"High", "Medium", "Low"};
            for(String desc : descriptioins) {
            	Severity severity = new Severity();
            	severity.setDescription(desc);
            	storeSeverity(severity);
            }

            /*
             * Create and store 10 user levels
             */
            int[] levels = {1,2,3,4,5,6,7,8,9,10};
            for(int l : levels) {
            	Level level = new Level();
            	level.setLevel(l);
            	storeLevel(level);
            }

            String[] categories = {"Support", "Development", "Training", "Upgrade", "Installation"};
            for(String s : categories) {
            	Category category = new Category();

            	category.setDescription(s);
            	if(s.equals("Development"))
            		category.setAlert_escalate_yn(false);
            	else
            		category.setAlert_escalate_yn(true);

            	storeCategory(category);
            }

            logger.info("schema creation complete");
        }
        List<SpaceSequence> ssList = getHibernateTemplate().loadAll(SpaceSequence.class);
        Map<Long, SpaceSequence> ssMap = new HashMap<Long, SpaceSequence>(ssList.size());
        for(SpaceSequence ss : ssList) {
            ssMap.put(ss.getId(), ss);
        }
        List<Object[]> list = getHibernateTemplate().find("select item.space.id, max(item.sequenceNum) from Item item group by item.space.id");
        for(Object[] oa : list) {
            Long spaceId = (Long) oa[0];
            Long maxSeqNum = (Long) oa[1];
            SpaceSequence ss = ssMap.get(spaceId);
            logger.info("checking space sequence id: " + spaceId + ", max: " + maxSeqNum + ", next: " + ss.getNextSeqNum());
            if(ss.getNextSeqNum() <= maxSeqNum) {
                logger.warn("fixing sequence number for space id: " + spaceId
                        + ", was: " + ss.getNextSeqNum() + ", should be: " + (maxSeqNum + 1));
                ss.setNextSeqNum(maxSeqNum + 1);
                getHibernateTemplate().update(ss);
            }
        }
    }

	@SuppressWarnings("unchecked")
	public void removeSpaceSeverityPeriodBySpace(Space space) {
		List<SpaceSeverityPeriod> spaceSeverityPeriods = new ArrayList<SpaceSeverityPeriod>();
		spaceSeverityPeriods = getHibernateTemplate().find("from SpaceSeverityPeriod where space.id = ?", space.getId());
		for(SpaceSeverityPeriod s : spaceSeverityPeriods) {
			getHibernateTemplate().delete(s);
		}
	}

	@SuppressWarnings("unchecked")
	public void removeSpaceUserLevelBySpace(Space space) {

		List<SpaceUserLevel> spaceUserLevels = new ArrayList<SpaceUserLevel>();
		spaceUserLevels = getHibernateTemplate().find("from SpaceUserLevel where space.id = ?", space.getId());

		for(SpaceUserLevel spaceUserLevel : spaceUserLevels) {
			getHibernateTemplate().delete(spaceUserLevel);
		}
	}

	@SuppressWarnings("unchecked")
	public List<Reports> getAllReports() {
		return getHibernateTemplate().find("from Reports");
	}

	@SuppressWarnings("unchecked")
	public List<ServerSettings> getServerSettings() {
		return getHibernateTemplate().find("from ServerSettings");
	}

	@SuppressWarnings("unchecked")
	public List<Status> getAllStatus() {
		return getHibernateTemplate().find("from Status");
	}

	@SuppressWarnings("unchecked")
	public List<Category> findAllCategories() {
		return getHibernateTemplate().find("from Category");
	}

	@SuppressWarnings("unchecked")
	public List<ReasonOutstanding> findAllReasons() {
		return getHibernateTemplate().find("from ReasonOutstanding");
	}

	@SuppressWarnings("unchecked")
	public List<Severity> findSeverityByName(String name) {
		return getHibernateTemplate().find("from Severity where description = ?", WordUtils.capitalize(name));
	}

	@SuppressWarnings("unchecked")
	public List<Space> findDefaultSpace() {
		return getHibernateTemplate().find("from Space where prefix_code = 'DEFAULT'");
	}

	@SuppressWarnings("unchecked")
	public List<User> findUserByEmailAddress(String email) {
		return getHibernateTemplate().find("from users where emal = ?", email);
	}

	@SuppressWarnings("unchecked")
	public List<User> findDefaultUserForEmailAssignmentByEmail(String email) {
		return getHibernateTemplate().find("from users where emal = ?", email);
	}

	@SuppressWarnings("unchecked")
	public List<Space> findNISSpace() {
		return getHibernateTemplate().find("from spaces where prefix_code = 'DEV'");
	}

	@SuppressWarnings("unchecked")
	public List<SpaceCategory> findSpaceCategoriesBySpace(Space space) {
		return getHibernateTemplate().find("from SpaceCategory where space_id = ?", space.getId());
	}
	@SuppressWarnings("unchecked")
	public List<ZSpaceEmail> findAllMails() {
		return getHibernateTemplate().find("from ZSpaceEmail");
	}

	@SuppressWarnings("unchecked")
	public List<Category> findCategoryByDescription(String description) {
		return getHibernateTemplate().find("from Category where description = ?", description);
	}

	public void storeSpaceCategory(SpaceCategory spaceCategory) {
		getHibernateTemplate().merge(spaceCategory);
	}

	@SuppressWarnings("unchecked")
	public List<Level> findLevels(int level) {
		return getHibernateTemplate().find("from Level where level=?", level);
	}

	@SuppressWarnings("unchecked")
	public List<UserSpaceRole> loadUserSpaceRole(User user, Space space) {
        return getHibernateTemplate().find("from UserSpaceRole where user_id=? AND space_id=?", new Object[] {user.getId(), space.getId()});
    }

	@SuppressWarnings("unchecked")
	public List<SpaceUserLevel> getSpaceUserLevel(Space space, User user) {
		return getHibernateTemplate().find("from SpaceUserLevel where space_id=? and user_id=?", new Object[] {space.getId(), user.getId()});
	}

	public void removeSpaceUserLevel(Space space, User user) {
		List<SpaceUserLevel> spaceUserLevels = getSpaceUserLevel(space, user);
		if(!spaceUserLevels.isEmpty() && spaceUserLevels != null) {
			getHibernateTemplate().delete(spaceUserLevels.get(0));
		}
	}

	public void removeSpaceCategory(Space space) {
		List<SpaceCategory> spaceCategories = new ArrayList<SpaceCategory>();
		spaceCategories = findSpaceCategoriesBySpace(space);
		getHibernateTemplate().deleteAll(spaceCategories);
	}

	public void deleteCategory(Category category) {
		removeItems(category);
		removeSpaceCategories(category);
		getHibernateTemplate().delete(category);
	}

	public void saveCategory(Category category) {
		getHibernateTemplate().merge(category);
	}

	@SuppressWarnings("unchecked")
	public void removeItems(Category category) {
		List<Item> items = new ArrayList<Item>();
		List<History> histories = new ArrayList<History>();
		List<Long> ids = new ArrayList<Long>();

		items = getHibernateTemplate().find("from Item where category.id = ?", category.getId());

		for(Item item : items) {
			ids.add(item.getId());
		}

		if(!ids.isEmpty() && ids != null) {
			histories = getHibernateTemplate().findByNamedParam("from History where parent.id in (:ids)", "ids", ids);
			getHibernateTemplate().deleteAll(histories);
		}

		removeAlertLogs(items);
		removeEscalationLogs(items);
		removeItemUsers(items);

		getHibernateTemplate().deleteAll(items);
	}

	public void removeSpaceCategories(Category category) {
		List<SpaceCategory> spaceCategories = new ArrayList<SpaceCategory>();
		spaceCategories = findSpaceCategories(category);
		getHibernateTemplate().deleteAll(spaceCategories);
	}

	@SuppressWarnings("unchecked")
	public List<Item> findItems(Category category) {
		return getHibernateTemplate().find("from Item where category.id = ?", category.getId());
	}

	@SuppressWarnings("unchecked")
	public List<SpaceCategory> findSpaceCategories(Category category) {
		return getHibernateTemplate().find("from SpaceCategory where category.id = ?", category.getId());
	}

	@SuppressWarnings("unchecked")
	public void removeAlertLogs(List<Item> items) {
		List<AlertLog> alertLogs = new ArrayList<AlertLog>();
		List<Long> ids = new ArrayList<Long>();

		for(Item item : items) {
			ids.add(item.getId());
		}

		if(!ids.isEmpty() && ids != null) {
			alertLogs = getHibernateTemplate().findByNamedParam("from AlertLog where item.id in (:ids)", "ids", ids);
			getHibernateTemplate().deleteAll(alertLogs);
		}
	}

	@SuppressWarnings("unchecked")
	public void removeEscalationLogs(List<Item> items) {
		List<EscalationLog> escalationLogs = new ArrayList<EscalationLog>();
		List<Long> ids = new ArrayList<Long>();

		for(Item item : items) {
			ids.add(item.getId());
		}

		if(!ids.isEmpty() && ids != null) {
			escalationLogs = getHibernateTemplate().findByNamedParam("from EscalationLog where item.id in (:ids)", "ids", ids);
			getHibernateTemplate().deleteAll(escalationLogs);
		}
	}

	@SuppressWarnings("unchecked")
	public List<Space> findSpaces(User user) {
		List<UserSpaceRole> userSpaceRoles = new ArrayList<UserSpaceRole>();
		userSpaceRoles = getHibernateTemplate().find("from UserSpaceRole where user.id = ? order by space.name ASC", user.getId());

		Map<Long, Space> spaceMap = new HashMap<Long, Space>();

		for(UserSpaceRole userSpaceRole : userSpaceRoles) {
			spaceMap.put(userSpaceRole.getSpace().getId(), userSpaceRole.getSpace());
		}

		return new ArrayList<Space>(spaceMap.values());
	}

	@SuppressWarnings("unchecked")
	public List<ZSpaceEmail> findSpaceEmail(Space space) {
		return getHibernateTemplate().find("from ZSpaceEmail where space_id = ?", space.getId());
	}

	public void storeSpaceEmail(ZSpaceEmail spaceEmail) {
		getHibernateTemplate().merge(spaceEmail);
	}

	@SuppressWarnings("unchecked")
	public List<User> findUsers(long id) {
		return getHibernateTemplate().find("from User where id = ?", id);
	}

	@SuppressWarnings("unchecked")
	public List<Item> findAllItems() {
		return getHibernateTemplate().find("from Item");
	}

	public void removeSpaceEmail(Space space) {
		List<ZSpaceEmail> spaceEmails = new ArrayList<ZSpaceEmail>();
		spaceEmails = findSpaceEmail(space);

		getHibernateTemplate().deleteAll(spaceEmails);
	}

	@SuppressWarnings("unchecked")
	public List<Item> findItems(Space space) {
		return getHibernateTemplate().find("from Item where space.id = ?", space.getId());
	}

	@SuppressWarnings("unchecked")
	public void removeItemUsers(List<Item> items) {
		List<Long> ids = new ArrayList<Long>();

		for(Item item : items) {
			ids.add(item.getId());
		}

		if(!ids.isEmpty() && ids != null) {
			List<ItemUser> itemUsers = new ArrayList<ItemUser>();
			itemUsers = getHibernateTemplate().findByNamedParam("from ItemUser where item.id in (:ids)", "ids", ids);

			getHibernateTemplate().deleteAll(itemUsers);
		}
	}

}

redpajama_set_name: RedPajamaGithub


Please note colour printing not available at present. This item can be engraved to your specification.
Perfect for letting prospective customers or company delegates exactly who you are.
Smart functional crystal really stands out on any executives desk.


Aren't happy with this searching result? - Try to look at these searches: 2007 Honda Accord Engine, Clear Plastic Squeeze Bottles, and Georgia Tech T-Shirt. Specify your shopping searches with Neoprene Neck Shield sale, best Neoprene Neck Shield offers, compare prices for Neoprene Neck Shield Amazon.
© HotShopca.com - Top 10 Price Comparison Neoprene Neck Shield.


The main aim of this minor thesis is to evaluate if we can accurately predict the mean wave overtopping discharge in rubble mound breakwaters with the tools we currently have. In first place, the available methods (Eurotop formulas and improvements proposed by some authors, Lykke Andersen and Burcharth formula and Neural Networks), are critically assessed focussing on how the berm influence is described. In second place, a new numerical tool called SWASH will be tested.
Projecte realitzat en el marc d'un programa de mobilitat amb la Faculteit Civiele Techniek en Geowetenschappen de la Technische Universiteit Delft.


People in the arts feel the pinch, too, but they can draw on their talent to stay afloat.
In today's economy, Kevin Derrick is lucky to have a job as an interior designer. Not leaving anything to chance, Derrick also moonlights as a studio director, creative consultant, and furniture designer.
Sure, he's feeling the pinch of the economic downturn. The marketing, advertising, and retail worlds that employ creatives like him are suffering.
But artists like Derrick also have built-in mechanisms for survival: their own creativity.
"We are moving into the economy of the free agent," says Richard Florida, the author of Who's Your City and director of the Martin Prosperity Institute at the University of Toronto. "Whether you have a government grant or you work for a company occasionally, you have to take control of your life."
To weather the layoffs and canceled contracts, diverse income sources make sense.


Irreversible changes for the worse?
The new Human Development Report will point to rich nations' responsibility in fighting climate change this week. The climate crisis will usher in large-scale, irreversible changes in human development, unless decisive action will emerge from Bali, says Kevin Watkins, lead author of the report, titled "Fighting Climate Change: Human Solidarity in a Divided World". Ramesh Jaura interviews Kevin Watkins.
This is the first time that a Human Development Report has chosen to focus on climate change. It is also the first time jointly with UNEP. What motivated you to focus this time on climate change especially as the problem exists for years and years?
I think two things. First of all the problem has existed for years and years and I think it is legitimate criticism to make why we have taken so long to take up climate change as a central theme. Of course we have covered it in previous reports but not in detail. What we have seen in the last few years is a number of major developments in climate change debate.
We had the fourth assessment of IPCC (Intergovernmental Panel on Climate Change) which has established a clear and a very strong scientific base for understanding climate change and the processes that are driving it. We have had the Stern Review commissioned by the British government which has looked in detail at the economics of climate change, the cost of action and of the benefits of action.
What we wanted to initiate with the (new) Human Development Report is to ask a very basic question on the basis of the science and economics. What does climate change mean for the worlds marginalised people, the 2.6 billion who survive on less than two dollars a day. We wanted to bring a distinctive human development analytical framework to the problem, and what came out of the analysis is that we are dealing with a systemic threat to development to which there is no obvious historical precedent and no parallel.
What is the central message of the report, 18th in the series since 1990?
The central message of the report (to be launched just a week ahead of the global climate change conference in Bali) is that we are heading rapidly towards the point at which large-scale, irreversible changes in human development will become inevitable. When I say irreversible changes I mean changes for the worse. There is a very real danger that in the second half of the 21st century the big development challenge will not be accelerated human progress as part of the Millennium Development Goals (MDGs) that defined a new ambition for 2015. The big development challenge will be international action to slow the rate of decline.
For the past 150 years we have had a pretty concerted linear progress in human development, in health and education, in poverty reduction in many other dimensions. Of course the progress has been uneven. In some parts of the world it has been far too slow. Of course there have been setbacks because of HIV/Aids and so on. But this is really the first time that the world as a whole, the human community has faced the real prospect of a systemic reversal in human development in our lifetimes. It is a reversal that will be followed by potentially catastrophic ecological risks for future generations.
And I think this twin concern about social justice between countries, the opportunities for human development today and social justice for future generations, for the people who are not born, our children make this a very real human development issue. And I think climate change asks us very fundamental questions about what it means to be part of a human community, what is our ethical responsibility, what are our obligations.
What does it mean in terms of population? I am thinking of Malthus population theory according to which among others only natural causes and misery could check excessive population growth.
I think Malthus was motivated by very different concerns. And I think the theory about population or the theory about contradictions between growth of population and food supply has historically been proven not to hold. Because across most of the world humanity has been able to raise productivity more rapidly than the population growth. And it is an example of how human ingenuity has tackled head on what was perceived as a great problem until more 200 years ago.
Now in terms of climate change of course population growth is an issue, particularly in high growth countries. So we shouldn't sidetrack the fact that in some of the world's poorest countries where there is a high rate of population growth the average per capita carbon footprint is one tonne per person or less whereas in the United States and Canada it is 20 tonnes or more. In other words, an American leaves a carbon footprint 20 times deeper than an average person in a country like India.
But there is, as the report says, an inverse relationship between responsibility and the problem and the suffering that will come. It's not the small-scale farmer in Gujarat that carries the responsibility for global warming, its not people living in the drought-prone areas of the Mekong delta, or in rain-fed agricultural areas of the eastern highlands in Ethiopia. Historic responsibility for this problem rests overwhelmingly with rich countries. And the rich world has accounted for 70% of cumulative greenhouse gas emissions now on the earth. The rich world also has the financial and technological capabilities to demonstrate leadership and initiate deepest and the earliest cuts for climate change mitigation. In our report we call for that leadership.
What do you suggest the rich and the poor should do to tackle the problem of climate change?
The underlying goal that we suggest in the report has to be to keep climate change to a threshold of less than 2° C above pre-industrial levels. Were already at 7° C and time is running out. There is a window of opportunity but that window is closing. Rich countries will need to cut their emissions by at least 80% by 2050 in relation to 1990 emissions, with cuts of 30% by 2020. Even with those cuts the emissions from developing countries would peak around 2020, with cuts of 20% by 2050.
Of course it is very deep cuts we are calling for on the rich world but they have the financial and technological resources to achieve those cuts. For developing countries it will only be possible to mitigate on the scale that is required if rich countries create the financial and technological incentives for that to happen.
How much money do you think this will involve?
Well, we call in the report for a Climate Change Mitigation Facility which will be an annual financing mechanism which will have between $15 and $20bn per annum for the transfer of low-carbon technologies or finance to support the deployment of low-carbon technologies. The mechanism would also in some cases provide with guarantees and leverage for private capital investment in low-carbon technologies. But the critical point is that this really has to be viewed as the entry price, if you like, for developing countries into a multilateral agreement. The rich world having created the problem, cannot start making demands on countries like India and other developing countries that are not commensurate with the very huge human development priorities of countries like India.
But the rich world does.
Well, some parts of the rich world historically have made unrealistic demands on the developing countries. You can't go to a country like India from the European Union: in India where we have 400 million people without access to electricity, where we have a per capita carbon footprint which is one-twelfth of that in the European Union. The European Union cannot demand from India that it deprives people of access to energy amidst such high levels of poverty. And I think basic equity demands that the entry of any country like India has to be contingent on northern government financing for the global public good that India has been asked to provide, the global public good mitigation commitment that will help the world achieve climate security over time.
But as things stand, what do you expect the Bali conference to do in this regard? Do you expect your report to be taken seriously by the leaders of the developed countries?
Well, the danger with the Bali conference, as with any international summit on climate change is that it will produce a communiqué which reminds us that we have a problem. We already know we have a problem. We have enough communiqués, we have enough speeches telling us how urgent the challenge is, how grave the threat. We need to see coming out of the Bali conference a decisive action . . . not just setting a timetable, what comes after the current commitment period, the Kyoto protocol, it has to include a commitment to agree what the shared global goal is – and we are suggesting a global goal should be a commitment to staying below 2° C – and making cuts that are commensurate with that.
Critically, governments need to come away from Bali and really accelerate efforts to put in place national strategies, regional strategies and the international mechanism that will first deliver the mitigation and secondly provide financing to enable the world's most vulnerable people to cope with the climate change that is now inevitable. That is the twin challenge.
Do you think they really will face up to the challenge? Will the rich world really stop what you have called elsewhere political maneuvering of deckchairs-on-the-Titanic variety?
Well I think there are encouraging signs, the debate on climate change is moving and I think we are starting to see real political leadership and some countries and that is positive. The big hurdle that we face of course is that no country acting on its own -- however strong its political leadership -- can solve this problem. This is a collective action problem. And it will only be resolved by countries coming together.
Of course the countries in question are at very different levels of development, they have very different political systems, and they face very different constraints. But somehow we have to find a way of forging a common response to what is after all shared threat.
* Human Development Report 2007/2008, Fighting climate change: Human solidarity in a divided worldRFefer, 213 pp, UNDP: November 2007 (www.undp.org).


When you're little, you formulate ideas in your head about what you want to do, who you want to become and where you want it to happen. As you grow up, reality begins to make you think that maybe your dreams were a little far-fetched, so you make adjustments to what you think will be more "probable" for your success. I've watched other people do it and I have done it myself. We don't want to set ourselves up for failure on purpose, so we like to set goals that are more in reach and if our original plan works out, it's just an added bonus.
I've recently made my biggest dream come true. I was accepted to The University of Michigan – Ann Arbor as a transfer.
I had planned to apply to Ann Arbor for Fall 2015, but as time went on, I started to lose hope in myself. I didn't want to apply again to hear once again that I failed. I told myself my dream had to change; I was wrong.
After coming to Dearborn, I learned that I had a valuable talent: writing. Without the encouragement and help of my professors, family, friends and The Michigan Journal, I honestly don't know when or if I would have ever discovered my love for writing.
I want you to know, from me to you, that you can always make your dreams happen. When they seem out of reach, try anyway. Don't change them. And if you fail twice, you're a hell of a lot stronger that the ones who never tried.
You don't have to let fear make decisions for you. You've got to look in the mirror and see that you are someone who is as capable as anyone of being great. If no one ever failed, no one would ever succeed. It is only through failures that we learn how to succeed; not trying is essentially denying yourself the opportunity for success. You deserve more than that.
Had I been too afraid to try again, I would never have had the chance to succeed. And while making an attempt is only half the battle, the other half being hard work and dedication, it is often the most difficult decision to make.
Ryan Danko, the Valedictorian of my high school graduating class, shared those words with us on Graduation Day. I think they're important to hear. It doesn't matter how academically high you rank, where you come from, or what you believe in, we all have fears of the future. The only sure way to face them is to try.


text:
Yulong Xueshan Berg
- Schneeberg des Jade Drachens in Yunnan
Lying in the southeast of the Hengduan Shan Range in the area of longitu-dinal valley of west Yunan, Yulong Xuweshan is at the south end of Yunling Shan Range in the Lijiang Naxi Autonomous County of Yunnan Province. Run-ning from the north to the south, it is some 34 kilometers long and about 13 kolometers wide. Eighteen peaks of over 5000 meters above sea level tower side by side in the area of more than 440 square kilometers on the east bank of the Jinshajiang River and, therefore, is reputed in the common saying as " the 18 peaks of jade-dragons". This refers to the peaks which are covered by white snow and wrapped in the clouds winding around their waist, looking as if there were 18 pieces of jade. At the mountain foot, the Jinshajiang River surges for-ward and roars on with thunder. For this season, the Yulong Xueshan and the Jinshajiang River are simutaneously honored as a "jade wall and golden river".
As the Jinshajiang River roars westward to Shigu on the west side of Yu-long Xueshan in Yunnan Province, Hailuo Shan suddenly stands in its way and force the turbulant water to turn abruptly 100 degrees northeastward and thus gives birth to the "First Bend of the Changjiang River". Here, the river, with its imposing momentum, gallopes between Yulong Xueshan and Haba Xueshan of 5396 meters above sea level as if nothing can stop it, breaking its way into a narrow passage of only 30-60 meters wide and rushing eastward. The precipices on both banks of the river tower against the sky and present a height difference of 4000 meters from the surface of the river while a giant rock, Hutiaoshi of 300 cubic meters or so is entrenched in the middle of the river. This is the world-famous Hutiao Xia, which sees the churn of the turbulent swashing against it and the breakers sending waves up to the sky.
Rising 5596 meters above sea level, Shanyidou, the main peak of Yulong Xue Feng lies at 100.1 0E and 27.0 0N. Being high and steep, the snowy peak reaches the sky while the snowlines range from 4400 to 4500 meters. With an average slope of over 400, the bedrocks are uncovered above the neve basin of the east mountain ridge. The north mountain ridge meets a peak of 5391 meters with its sadde at 5000 meters. Viewed form afar along the ridge line, the knife ridge looks lofty and steep. At the lower reaches of the south mountain ridge are crags and break walls.
Scanty as the valleys of the Yulong Xueshan are, a multitude of Cirque and hanging glaciers scatter far and wide. Under the neve snowline is luxiant vegetation, affording an attractive view of the vegatation of alpine frigid zone with rare birds and animals moveing and flying about in it. Therfore, Yulong Xueshan is admired as " a kingdom of forests" or " a treasure house of vegetation", which belongs to one of the natural preservation centers in Yunnan Province.
In the history of geological development, Yulong Xueshan was part of the West Dian Big Trough, the stratum of which consists mainly of the limestones in the Devonian Period and the Carboniferous Period (Strata) with a thickness of about 3000 meters. In the Palaeozoi Era, the Yulong Xueshan area was a vast expanse of sea; in the Mesozoic Era, inland lakes were formed. But it was not until the movement of the Yanshan Mountain and the Himalayas that it be-gan to tise up, and the rising movement is still going on. Under the glacial ac-tion in the Quaternary Period, a multitude of ancient glaciers, ice moraine ridges and ice-soured Lakes remain here. The Lijiang Ba (Dike) on the east side of the piedmont, for example, is a fault basin shaped in the Pliocene Epoch Pe-riod, the depression of which had once some lakes for accumulated water. Af-terwards, the Yanggong He Piver ran through the lake basins and resulted in the dry-up of the lakes, which are called Haizi (the son of sea) and consequently produced an expanse of green and a natural pastureland as they are today.
With the sub-tropical-tropical alpine humid climate, it is dry in winter and rainy in summer. As the precipitation is concentrated in summer, the rainy season generally from the end of May and lasts to the end of Sepember. The annual precipitation is 5000 mm or so while the months of June and August see the heaviest rainfull. The windy season is mainly in the months of February and March. As a result, the most agreeable season for mountain-climbing activ-ities is in April-May of spring or in October-November of Autumn.
With its charming natural scenes, rich natural resources and the vertical climatic distribution of various kinds, Yulong Xueshan attracts a multitude of tourists, explorers and scholars at home and abroad to climb it which commands a broad to climb it which commands a broad view. A 502-kilometer drive will bring the alpinists from Kunming to Lijiang. Then go 30 kilometers northward from Lijiang up the highway to the mountaineering base camp site on the north side of the main peak.


Add 1 inch of oil to a large pot and heat over medium-high heat. While oil is heating, stir together flour, cornstarch, and seasoned salt. Coat shrimp in flour mixture.
Fry shrimp for 2-3 minutes or until golden brown and cooked through. Drain on a paper towel lined plate.
To make sauce, whisk together mayonnaise, chili sauce, and sriracha. Add 1 tablespoon of water to thin sauce.
Dunk shrimp in sauce to coat and place on plate to drain.
Line bowl with lettuce leaves, place shrimp on top, and sprinkle with green onions before serving.
Let's talk about date night. Or girls' night. Or whatever night it is that you tend to hit up a favorite restaurant and order up a mess of appetizers. Sooooo, every night? Are we talking about every night? It's cool. Well, I have been busy perfecting this Bonefish Grill Bang Bang Shrimp copycat recipe so that you can skip the restaurant, save a few bucks, and eat dinner in your jammies. You're welcome. This Bang Bang Shrimp is beyond easy to make. It sounds intimidating, but the sauce is just a few ingredients that you've probably got hanging out in the fridge. Grab yourself some shrimpies from the freezer and you're ready to do this. Place the saucy little guys in a lettuce-lined bowl to be all fancy and authentic. Sprinkle with green onions and dive in!


text:
Q: Files built with a makefile are disapearing (including the binary) I am building a program on a TS-7800(SBC), and when I run make (show below), it appears to go through all of the steps normally, but in the end i do not get a binary file. Why is this, and how can I get my file.
makefile
CC= /home/eclipse/ReidTest/cc/cross-toolchains/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc

# compiler options

#CFLAGS= -O2
CFLAGS= -mcpu=arm9
#CFLAGS= -pg -Wall

# linker

LN= $(CC)

# linker options

LNFLAGS=
#LNFLAGS= -pg

# extra libraries used in linking (use -l command)

LDLIBS= -lpthread

# source files

SOURCES= HMITelem.c Cpacket.c GPS.c ADC.c Wireless.c Receivers.c CSVReader.c RPM.c RS485.c

# include files

INCLUDES= Cpacket.h HMITelem.h CSVReader.h RS485.h

# object files

OBJECTS= HMITelem.o Cpacket.o GPS.o ADC.o Wireless.o Receivers.o CSVReader.o RPM.o RS485.o

HMITelem: $(OBJECTS)
    $(LN) $(LNFLAGS) -o $@ $(OBJECTS) $(LDLIBS)

.c.o:   $*.c
    $(CC) $(CFLAGS) -c $*.c

RUN : ./HMITelem

#clean:
#   rm -f *.o
#   rm -f *~

Output
root@ts7800:ReidTest# make
/home/eclipse/ReidTest/cc/cross-toolchains/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc  -mcpu=arm9  -c HMITelem.c
/home/eclipse/ReidTest/cc/cross-toolchains/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc  -mcpu=arm9  -c Cpacket.c
/home/eclipse/ReidTest/cc/cross-toolchains/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc  -mcpu=arm9  -c GPS.c
/home/eclipse/ReidTest/cc/cross-toolchains/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc  -mcpu=arm9  -c ADC.c
/home/eclipse/ReidTest/cc/cross-toolchains/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc  -mcpu=arm9  -c Wireless.c
/home/eclipse/ReidTest/cc/cross-toolchains/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc  -mcpu=arm9  -c Receivers.c
/home/eclipse/ReidTest/cc/cross-toolchains/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc  -mcpu=arm9  -c CSVReader.c
/home/eclipse/ReidTest/cc/cross-toolchains/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc  -mcpu=arm9  -c RPM.c
/home/eclipse/ReidTest/cc/cross-toolchains/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc  -mcpu=arm9  -c RS485.c
/home/eclipse/ReidTest/cc/cross-toolchains/arm-none-linux-gnueabi/bin/arm-none-linux-gnueabi-gcc   -o HMITelem HMITelem.o Cpacket.o GPS.o ADC.o Wireless.o Receivers.o CSVReader.o RPM.o RS485.o -lpthread

Thank you.

A: The implicit make rule for compiling a source into an object file seems broken. There's no output specification "-o x.o" to go with the "cc -c x.c". Are there any object files after running the make?
.c.o:   $*.c

Also, the above target specification, ".c.o", looks strange to me; perhaps make does not recognize this either, and that would explain why the implicit rule for making an object file is not being applied.
This might be a better target specification and prerequisites for the objects rule (straight from the GNU 'make' manual):
$(OBJECTS): %.o: %.c
        $(CC) -c $(CFLAGS) $< -o $@

A: .c.o is only special (a suffix rule) if it has no prerequisites, in which case each .c file is an implicit prerequisite of the corresponding .o file. If it has a prerequisite, make tries to build a file named .c.o! See http://www.gnu.org/software/make/manual/html_node/Suffix-Rules.html

redpajama_set_name: RedPajamaStackExchange


Most business magnates would want their children to marry children of other business magnates. In India, that has been the story, and will be the story. While some business scions opt for an arranged marriage, many are finding their own life partners– like Shamit and Nayantara who have known each other since some years. Shamit is the son of Shobhana Bhartia (Chairperson of the Hindustan Times Group) and Nayantara's parents are Chennai industrialists Bhadrashyam and Nina Kothari. Her uncles are Mukesh and Anil Ambani (Nina Kothari's brothers). With two of India Inc's most eligible singles tying the knot, political and business big-wigs are looking forward to attend the wedding in Chennai in January 2013. And India's top wedding planners & event managers are pitching to win the most prestigious account, with several of them from Mumbai, Chennai & Delhi presenting their credentials to the decision-maker Nina Kothari. The traditional wedding ceremony we hear is at the Kothari mansion at Nungambakkam High Road which will be followed by a grand reception. Shobana Bhartia according to friends, may host a post-wedding celebration in Delhi or Rajasthan.
Nina Kothari (left) and Nayantara. Photo courtesy– The Economic Times.
Shamit Bhartia studied at Dartmouth College, USA, worked in the Corporate Finance and M&A Group, Lazard Frere, New York and is now a Director in Hindustan Times Group where he takes care of the media and lifestyle vertical. Nayantara is born and brought up in Chennai and later studied at Stanford University.
This entry was posted on Friday, September 21st, 2012 at 1:50 am	and is filed under Celebrity News. You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.


There's a lot of confusion around feng shui, with much of the confusion centering around directions. The most common type of feng shui practiced in America, and much of the west, is called Black Hat Sect. It's also sometimes called Western feng shui. The type practiced in Asia is called traditional or classical Chinese feng shui.
Both forms use the same bagua and five elements, with the only difference is that the classical Chinese tradition aligns the bagua by the actual compass direction of the front door, whether that is east, northwest, or south. By contrast, Black Hat aligns the bagua by the front and rear of the house, with the front always being north and the south directly opposite.
Here in the US, Black Hat is the preferred method because of how easy it is to apply – the front is always north, and the back left is always the wealth corner and the rear right is always the romance direction irrespective of the actual compass directions. Black Hat feng shui is often considered more spiritually-oriented versus classical feng shui. It's disadvantage is that it doesn't take into account unique compass directions or time and its influence.
Classical Chinese feng shui is beginning to catch on in the US, particularly as more Asians immigrate to America, and from the increasing interest and investment that comes from Chinese companies. Asian families are looking for certain home features that are considered good feng shui in classical terms, making their popularity rise and more homes being built with feng shui considerations taken into account. Black Hat also recommends water fountains and plants in bedrooms, where this is completely taboo in classical Chinese feng shui, as is using a bagua mirror anywhere.
Let's look at six critical differences in feng shui.
1. Front is always north, rear is always south. Really?
This is probably the biggest difference. When you're just starting out with feng shui, you often want to use this method because it's so simple to apply. In classical Chinese feng shui, you take into account actual directions by using a compass to determine your home's unique directions..
So, if your house faces southwest, then you move the southwest to the front center and then the south is on the left and west is on the right (as you are the house). While Black Hat essentially uses the same map for every house, the classical Chinese feng shui includes the nuances that come with arranging the bagua according your home's individual directions – whether that's southeast, southwest, north, or east — and the way that impacts your energies.
2. Mirror, mirror on the wall — except here.
Both forms of feng shui like mirrors, but don't always agree on how to use them. Black Hat recommends using mirrors behind a stove to "double" the amount of food being prepared. This can be problematic from a classical feng shui standpoint because this doubles the fire energy. A little fire is a good thing, but too much can burn the house down. Fire can easily go out of control and can cause arguments, injuries and inability to hold on to money, not to mention simply being dangerous.
3. Sometimes, there is no cure.
This, too, is a significant difference between Black Hat and classical Chinese feng shui. In Black Hat, you can "cure" problems, where as in classical, you can usually only remedy them and try to hold them at bay.
When there is a problem, you do your best to address it, but like a rabid animal, there's usually not a cure – you just try to handle the best you can and avoid stimulating the energy so it doesn't impact you. Classical feng shui also has a much wider array of enhancers – from conch shells to mystic knots, coins and wealth vases.
Red envelopes are auspicious to be sure. They are called hong bao, and are most commonly seen at the lunar New Year to be given freely with money inside, especially for children. Often practitioners of Black Hat will ask for payment to be given in three red envelopes, which can be construed as having a mystical element. A classical feng shui consultant will not ask for this type of payment, and will take payment in whatever way is easiest for the client.
5. Bathrooms are not shrines.
In classical feng shui, bathrooms are looked at as something that presses down luck. As such, they should not be made into feng shui shrines with flowers, plants, candles and lots of decorating. In Black Hat, bathrooms are often enhanced with all manner of activators, such as fountains and flowers.
In classical feng shui, bathrooms are typically viewed as the place where waste is eliminated, so plants should not be placed here to symbolically "grow in waste," and that the water here is draining water that has no prosperity value. Drains are recommended to be plugged at all times in Black Hat, which is always practical, whereas classical feng shui simply recommends that the bathroom door should be closed at all times.
6. Time, the one element no one can escape.
Feng shui is a dynamic living energy that shifts and changes with the months and year. That's why there is so much emphasis on the annual feng shui, that details about each year – whether it's a rooster, dog, or boar – play a role in the energies that occur during the year and that act differently upon your home, you and everyone in your home.
When I started as a feng shui practitioner, I began with Black Hat because that was the only information available in 1988 that I could find. While easy to apply, it helped me to get some results, yet other results eluded me. Not only that, but I actually had some very bad outcomes from some of the recommendations of Black Hat. I used the mirror behind my stove technique and my husband and I argued like there was no tomorrow. I also hung up a bagua mirror that pointed toward an annoying neighbor.
That was the moment I left Black Hat forever.
That neighbor's dog attacked me, mauled my leg, and bit my husband's hands and wrists, making us both lose a lot of blood in our driveway — the same place the bagua was pointed toward. It was a gruesome and traumatic scene that involved news helicopters, ambulances and many months to heal and get back to normal. I've since learned a bagua mirror sends out as much negative energy to you and it does to whomever it is aimed toward, and for that reason, should never be used except in the most dire of circumstances. As soon as I limped back in the house from the hospital, I tore that bagua down and have never used one since.
That's when I decided to learn classical feng shui and go overseas for training, and once I did, the results were astounding — and rather than placed in harm's way — I was removed from it.
Will you get results from Black Hat feng shui? Very possibly. You have about a 30% chance of getting it right.
Could you be hurt by it? Unquestionably. If you put the wrong enhancements in the wrong places, you could end up with severe problems — like adding fire in the northwest corner because it's opposite the front of the house. This could cause the breadwinner be seriously harmed through illness, job loss or because he just up and leaves. And that's just the beginning.
I loved Black Hat feng shui; it was how I got started. You could say it was my "gateway drug" to the more nuanced classical feng shui.
The problem was I found I outgrew Black Hat and needed more in depth understanding versus a cookie cutter approach that everyone used on every house, all the time, no matter who they were, what direction their house faced, etc.
It's a lot like being prescribed aspirin by your doctor no matter what your ailment is — great for a headache or mild muscle strain — but not going to do squat for a broken bone or ingrown toenail. You need a specific treatment for a specific problem. That's what classical feng shui gave me: an arsenal of understanding and tools to address a myriad of problems for a myriad of houses, directions, people, and all taking time into account. We don't live in a vacuum, so I saw no reason why feng shui should either.


Oklahoma Watch held a public forum on the future of mass transit in the greater Tulsa area on March 8, less than a month before Tulsans will vote on a sales tax extension to pay for transit expansion and operations.
The forum, held at the Central Center just east of downtown, featured Debbie Ruggles, assistant general manager of Tulsa Transit, and James Wagner, principal transportation planner for the Indian Nations Council of Governments (INCOG). The discussion touched on everything from details of THE transit proposal, whose main feature is Bus Rapid Transit, to whether enough money would be directed toward improving local bus frequency for low-income and disadvantaged residents, many of whom are transit-dependent.


If anyone had told me that I would ever run a 21km, I would have told them they were crazy. I have now been running at Stella for nearly 3 years, and loving every minute of it. (Well most of the time). When I started I could not run more than 2km without stopping. I trained hard and ran my first Hillcrest 21km that year. I did the South Coast 42km last year, which I was extremely under prepared for, but determined to do the run and finished!! I entered the Comrades this year but due to an injury never quailfied for it. I have been injured for a large part of this year.
Eventually I'm back on the road and recently did the South Coast 21km and did a PB. Last week I ran the DHS Oldies 10km and did a PB again.
So my advice to all new runners is not to try and do too much too soon, as this can only cause injuries.
I would like to thank Sandy, Amanda and Louise for all their encouragement they have given me along the way.