It is an honour to get this recognition.
DEOC has been working for more than 10 years to promote disability inclusion and universal design in employment, higher education, accessibility and other development related areas.
People (even friends) have asked me at various times, regarding the work DEOC does.
That's when I realised that we have not talked much about our work and the challenges we have encountered along the way that have contributed so much to our learning.
I now feel that it is important to disseminate information about the nature of our work so that people may be made aware and so, can gain from our experiences and work with DEOC.
With this recognition conferred upon DEOC we have now gotten the opportunity to do so.
DEOC authored a book in 2007 on employment for the Confederation of Indian Industries called the CII manual which is in use even today.
Some of our clients have even gotten recognition, in terms of awards, for their work on disability inclusion.
In the field of disability, where there are very few professionals/subject matter specialists, DEOC's role has been crucial in addressing this lack.
We see ourselves as facilitators and as an extended arm of the client we work for.
DEOC is composed of an inclusive team with several years of education and experience in disability.
DEOC is perhaps the only organisation in India that has the capacity to work with a wide range of stakeholders across different disabilities and to bring universal design elements into every aspect of development. The story below will explain the role of DEOC more clearly.
One of the possible reasons that we got this award is for the role played by DEOC in the revision of the National Building Code (NBC) 2016 to include accessibility in all its relevant chapters.
I take this opportunity to share the story behind the revision of the NBC.
The story begins in September 2015 at the National Committee on the Rights of Persons with Disabilities (NCRPD) meeting in New Delhi where NCPEDP partners had gathered from all over the country (it was in this forum in 2008, where the idea of having a new law on disability had its genesis and which was finally enacted in 2016).
Here, we (DEOC) conducted a session on Accessibility for the partners where the prevalent standards and the way forward was extensively discussed.
Mr. Arman Ali (who is the ED of Shishu Sarothi) brought up an issue that most architects were just not aware of accessibility standards because these standards were given as an Annexure in the NBC (2005).
Immediately after the meeting, Ms. Rati Misra of NCPEDP did a quick search and found out that the NBC was under revision.
Late Mr. Javed Abidi, the then Honorary Director of NCPEDP, wrote to the Bureau of Indian Standards (BIS) seeking more information about the revision of NBC. BIS replied that the draft chapters were widely circulated for feedback and sent Annexure B, which focuses on accessibility standards, for our feedback.
We (DEOC) did not want to restrict ourselves to just to the Annexure. We went through a few draft chapters and immediately pointed out that the accessibility of persons with disabilities should be included in all relevant chapters and that the universal design approach should be followed in the NBC.
We backed our argument with concrete examples, from a few draft chapters, like Lifts and Plumbing, where accessibility was either not addressed or was addressed in an exclusionary manner.
Based on these concrete examples, Mr. Abidi initiated an advocacy campaign with BIS to include accessibility in an appropriate manner in all relevant parts of the NBC.
At the same time, a media campaign was also started.
This was also the time that the Accessible India Campaign was being launched by the Government of India.
NCPEDP pointed out to Mr. Mukesh Jain, the then Joint Secretary of the Department of Empowerment of People with Disabilities, that if NBC 2016 is not corrected, it would not be possible to ensure that new buildings, the architecture curriculum and the building bylaws incorporate accessibility.
Realising this, he provided his support to NCPEDP in advocacy with BIS (which falls under the Ministry of Consumer Affairs). Multiple meetings were organized with the top officials of BIS.
BIS was adamant stating that it was too late to include accessibility in other chapters and that modifying the Annexure is what we ought to focus on.
To counter this, we at DEOC, i.e. me and Ms. Ruchira Sarin (Principal Architect of DEOC), without wasting any time, started reviewing the chapters of the NBC.
There were 13 parts in the NBC with some parts having several chapters and some chapters were about 300 pages long.
The final deadline for sending in the recommendations was December 2016. Time was of the essence here. So, we requested Ms. Shivani Gupta of Accessibility to be in the team. We devised a strategy. We reviewed those chapters first for which the time was still there to submit the suggestions.
Parallely, NCPEDP was advocating with the BIS (with the support of Disability Department and PMO) to get a suitable extension. They succeeded. We got an extension of three months. We were given time till March 2016 to submit recommendations for all the chapters.
We gave specific recommendations for adding/deleting/modifying the text in a form which would be easy to incorporate in the document.
When NBC 2016 was released in March 2107, we were happy to see that about 80% of our recommendations were included. Most chapters included accessibility and provided suitable cross references to Annexure B of Part 3 which dealt with accessibility standards in detail.
Accessibility standards have been included in 11 out of the 13 Parts of NBC 2016 in Sections such as Integrated approach, administration, lifts, fire and life safety, lighting, electrical installation, air conditioning, acoustics, water supply, solid waste management, sanitation, gas supply, landscape, asset and facility management, glass and glazing, information and communication enabled installations, etc.
The most important recommendations, which are likely to be game changers in the long run, are listed below.
Inclusion of an 'accessibility and universal design specialist' in the construction business: In Part Zero, under 'Team Approach', where 20 specialists were listed in the working draft of NBC, i.e. architects, civil engineers, electrical engineers, interior designers, security system specialists, acoustics specialists, health, safety and environment specialists, sustainability specialists,etc., we had recommended that, 'accessibility and universal design specialist' should be added. This has been done.
Periodic Access Audits: Periodic access audits have been added in NBC in two places (Part Zero and Part 2) based on our recommendations.
The draft chapters of NBC either didn't have any accessibility standards or followed an exclusionary approach by including phrases such as"lift for the differently abled people" and so on. We got such phrases changed to appropriate ones such as "all lifts open to public shall adhere to accessibility provisions… ",etc. We also got cross references added so as to link the accessibility standards given in various chapters and in Annexure B of Part 3.
In the Facility and Asset management chapter, we ensured that several provisions such as Training and skilling, the Facility Handbook, user feedback and so on, mention people with disabilities.
Getting accessibility included in the National Building Code is a huge development.
Of course, for the next revision, we need to be involved in the process right from the beginning. Experts in the area of universal design should be part of all the committees that draft the various Parts of NBC so that a universal design approach is truly followed.
The work is not over yet in terms of policy change in the area of built environment… For instance, the building bylaws which govern construction work at the municipality level need to be modified. The Model Building By-Laws (MBBL) of 2016 formulated by Ministry of Urban Development seems to have taken a very different approach regarding accessibility.
One prominent example is that they have differentiated between buildings that need to be accessible for small wheelchairs and buildings that need to be accessible for big wheelchairs. Such an approach is clearly unacceptable.
DEOC has already reviewed the MBBL and made suitable recommendations. NCPEDP had already initiated the dialogue with the MoUD.
It is really sad that Mr. Abidi passed away so suddenly. We hope that NCPEDP and all those working in the area of accessibility take this agenda forward and advocate for changing the bylaws at the local levels so that they are in line with NBC 2016.
It is only then the mandate of The RPWD Act will be achieved.


Why Finding The Best Lawyer Is Possible You might find it quite challenging to find the perfect lawyer in times of need. Others may find it terrifying even just the thought of doing so. Get Informed With Referrals If you're looking for a lawyer to help you out, you can always ask someone you trust enough to give you tips. Asking will actually lessen the hassle and time in looking for the lawyer that reaches your standards. Most of the time, clients overstate the results the attorney was able to come up with. You have to remember that there are factors to be considered like the influence, contacts, how fast a case can be solved, and many more.
The first thing to do is to search using google and take advantage of the internet. You will not find the best lawyer if you will be nice and considerate. At times, you will have to raise your standards and be a little judgemental. You will only find the best attorney once you will be able to know the firm's rules and run a background check. Some firms may not have enough feedback to assure you that they can handle the case well. So you will have to make sure that they are able to do the job as they claim to do so. Lawful Fees It is not hard to find a cheap lawyer. They can be found everywhere. Good attorneys also offer other types of payments for clients who prefer to do installments. But before anything else, you will have to pay the flat fee first. There will also be some of them who will require payment if meet ups are only done for less than 3 hours. A flat fee can always be paid if only a small legal matter has to be solved. You can always make use of the internet to look for lawyers with flat fee. There are a lot of them that can be searched through the web. There is also this so called contingency form. This type of payment is offered if a case lasts for a long time. When this happens, a payment doesn't have to be paid directly to the lawyer. The exact cost for your case will be determined by the firm. There will also be lawyers that will offer hourly rates for meetings that don't last long. But if you choose to be with this type of lawyer, make sure you are well informed what the inclusions are in this set up. The best way to know about everything is to inquire first and ask all the questions you need answers with about the hourly setup. The charges that are not affordable by your very pockets will be billed aside. So to end this, it is never impossible to find the perfect lawyer within your reach in terms of location and budget.


text:
Planets, Computers, Generation 2
The Hub is a location in the Generation 2 portion of the Generation One continuity family
The Hub was the seat of power of the Cybertronian Empire. A powerful planet-spanning network of cyberformed structures, it housed the Decepticon progenitor known as the Liege Maximo. Inhabiting it were a wide variety of mechanical organisms, beings that might have once been Decepticons, but had been advanced to the point of having multiple forms and reduced to a hive mentality, little more than extensions of the Liege Maximo's will.
The Hub had long been performing a complex operation through successive iterations, its accuracy improving as planets were added to the network. The goal of this operation was to allow the Liege Maximo to ascend to the realm of the Dark Gods. At a critical moment this operation was disrupted on two fronts by a small group of Autobots led by Grimlock and an alliance of Decepticons and Autobots led by Ultra Magnus and a resurrected Megatron. Megatron actually managed to wound his ancestor before perishing, which caused the Liege Maximo to panic and attempt to enter the portal prematurely. It collapsed, destroying him. The resolution of this threat led to the signing of the Pax Cybertronia and the end of the Great War. Alignment
Note: Alignment is an unofficial, non-canon novella, but is considered enlightening in determining author intent regarding specific story elements left otherwise undeveloped in official materials.
Retrieved from "https://transformers.fandom.com/wiki/Hub?oldid=315346"

redpajama_set_name: RedPajamaCommonCrawl


text:
New US Embassy Opens in Baghdad
The United States has opened its new embassy in Iraq - Washington's largest diplomatic outpost in the world.
The new compound is located on a 42-hectare site in Baghdad's heavily fortified Green Zone. It opened Monday during a ceremony attended by Iraqi President Jalai Talabani and Deputy U.S. Secretary of State John Negroponte. U.S. ambassador Ryan Crocker said the opening marks a new era in Iraq-U.S. relations.
U.S. Marines raised the American flag in the embassy courtyard as the U.S. national anthem was played.
The new embassy cost more than $600 million to build, and will house more than 1,000 employees. The facility has its own water supply, electricity generating plant and sewage treatment facility.
On January 1, the U.S. transferred control of Baghdad's Green Zone to the Iraqi army - the first step of a new security deal that calls for U.S. forces to withdraw from the country by 2011.
Some information for this report was provided by AP and Reuters.
Female Suicide Bomber Kills 35 in Baghdad
A female suicide bomber hiding among Iranian pilgrims has blown herself up in northern Baghdad, killing at least 35 people and wounding 72 others.Local authorities say the bomber set off her explosives near the Imam Moussa al-Kadhim shrine in the Kadhimiya neighborhood, as Shi'ites prepared for the upcoming Ashura holiday. The victims included women and children.In a joint statement Sunday, the U.S. ambassador to Iraq, Ryan Crocker, and the top U.S. general in…
Iraq Announces 2nd Oil Licensing Round
Iraq is opening up some of its most prized oil and gas fields to international developers in its second round of licensing since the U.S.-led invasion in 2003.Oil Minister Hussain al-Shahristani announced Wednesday that the 11 fields could increase production by 2.5 million barrels per day.Two of the fields - the Majnoon and West Qurna - are believed to hold huge reserves of untapped oil.Iraq announced its first bidding round for licensing six months ago.
US Troop Withdrawal from Iraq a Key Challenge for Obama
A major foreign policy challenge facing the Obama administration is Iraq according to several former senior U.S. government officials. Many analysts say that on Iraq, the key question facing Barack Obama after he becomes president January 20 is how quickly to withdraw U.S. troops from that country. The recently signed status-of-forces agreement between the United States and Iraq says all American combat troops must leave that country by December 2011. But…


text:
Anshumani Ruddra
Understated Hyperbole
Videos and Talks
Story Stack
The Unbearable Lightness of The Undoing
by Anshumani RuddraPosted on December 5, 2020 December 5, 2020
To say that I was stoked about The Undoing is an understatement. David E Kelley is a master storyteller whose work I have been enjoying since my teenage years (I am a sucker for a good legal drama). Nicole Kidman is on a tear when it comes to picking great TV shows and characters tailor-made for her strengths as an actor. And Hugh Grant – a staple of 90s British rom-coms and now a legitimate character actor (Florence Foster Jenkins and The Gentlemen). Let's also not forget – About a Boy.
The Undoing is a big hit for HBO (the season finale was the most watched episode on HBO since the season 2 finale of "Big Little Lies" last year). Its weekly episodic nature kept audiences hooked and it dominated pop-culture conversations over the last 6 weeks. I binge-watched it over two nights once the sixth and final episode aired last Sunday (29th November). I was thoroughly disappointed.
Here be spoilers. Tread at your own peril.
Nicole Kidman and Hugh Grant play a New York high-society power couple – Grace and Jonathan Fraser – she is a top-notch therapist and he is a pediatric oncologist.
Grace comes from money – a lot of money. Franklin Reinhardt – played by Donald Sutherland's eyebrows – is her incredibly wealthy and influential father.
Grace and Jonathan have a teenage son – Henry – who attends a private school on the upper East side (cue in Gossip Girl). Grace and Jonathan seem to have a solid marriage – they are deeply in love and Jonathan comes across as a doting father. They both seem to be very good at what they do (plot loophole #0).
A stranger – Elena Alves – comes into Grace's life. An artist and a mother of two, her 10-year-old son Miguel has somehow managed to get admission in the same school as Henry (plot loophole #1). Her second child is a very caucasian looking baby girl. Elena wants to help out with a charity auction event at the school and feels like a misfit around the other school moms. Grace is warm to her, but Elena comes across as hostile to the other mothers (some class-based commentary on display here, handled far more superbly in Little Fires Everywhere).
Elena – completely naked – bumps into Grace at her expensive gym's changing room (plot loophole #2). They have another run-in at the charity auction and a final one inside an elevator. At this point, Elena kisses Grace and then disappears.
Elena is bludgeoned to death that night.
Jonathan disappears the next day.
The police come calling on Grace asking about Jonathan.
All hell breaks loose.
The show then tries to portray multiple characters as potential suspects – Grace, her father Franklin, her best friend Sylvia, her son Henry, Elena's husband, Elena's son, the detective on the case …
In the end, it turns out it was indeed Jonathan who killed Elena mercilessly. The show is based on a book by Jean Hanff Korelitz titled – You Should Have Known.
Face, meet palm. We should have known.
The entire season is one giant red-herring made up of hundreds of tiny red-herrings. It could have been a masterpiece. Instead, it was a giant steaming pile of muck.
The Problem with the Ambiguous Narrator
The show is clearly being told from the perspective of Nicole Kidman's character Grace (the title song has a red-haired girl running around as Nicole Kidman sings a cover of "Dream a Little Dream of Me"). It is interspersed with snippets from her memory – in places real, in places imaginary. She seems to have a hard time remembering certain events and there is an overwhelming sense that she is blanking out parts of her memory. In the first two episodes, this really works. But then major plotholes start to emerge as the show hurtles forward – becoming a complete trainwreck by the finale.
Early in episode 1, it is established that Grace is a very perceptive therapist and is able to zero in on her client's fundamental problems incredibly fast.
She plays chess with her father and is adept at playing the piano. Clearly a well-rounded accomplished woman with an impeccable sense of fashion. So how did she not know that her husband and partner of 17 years was a high-functioning sociopath, who never felt remorse for his actions and suffered from extreme narcissistic tendencies (more on Jonathan later)?
Her personality seems to be splintered – the long walks that she often forgets, her relationship with her father, the ease with which she accepted her husband's guilt, the ease with which she believed the public defender's stance on her husband's innocence, the ease with which she accepted her mother-in-law's assessment of her husband's sociopathy.
Her yo-yo-ing between being a supportive wife and then turning into a hostile witness must have seemed like a great plot twist to the writer. Her ambiguity created suspense and worked as a narrative device – but in the end did a lot more damage to the storytelling.
We Need to Talk About the Sociopath
What do we learn about Jonathan over the course of the six episodes:
1.He has not stayed in touch with his parents back in England because they blamed him for a family dog's death
2. Turns out the family dog was his younger sister. She died while in his care (ran over by a vehicle when she ran out of the house) – he lied about this to Grace
3. He never shed a tear or had any remorse for his sister's death – his mother's version of the story
4. He is a celebrated pediatric oncologist. He seems to have a lot of empathy for his patients. This is established again and again through flashback scenes that Grace remembers. Sociopaths lack empathy. The show went out of its way to establish that Jonathan was extremely empathetic to his patients and to his own son. His narcissism is established through hearsay but never directly.
5. A colleague of his thinks he is a narcissist who had inappropriate relations with family members of patients
6. He lost his job three months ago as a result of a disciplinary hearing (there were three other incidents in the past). Why did this hearing take place three months ago? Elena had given birth to his daughter already. Their affair started over a year ago when Miguel was being treated by Jonathan. This timeline does not make sense.
7. After all this – Jonathan took a loan of 500K dollars from his father-in-law. It is not clear where or how he spent this money.
8. Miguel is admitted to the same school as Jonathan's son Henry. Looks like Jonathan helped out with this. This would mean that the principal and other school staff would be aware of this. Given that Grace's father Franklin is the biggest donor to the school – how did this news not reach him? Elena also joins the same high-end gym as grace. Who paid for this?
9. Jonathan – despite getting fired from his job – allegedly due to Elena – still supports Elena and her family? Does he pay for her studio which also doubles up as a rendezvous spot for them?
10. Does Elena's husband not know about the affair? If he does – is he ok with it? The infant girl is clearly not his daughter – he seems fine with this.
11. Jonathan seems to have a rock-solid relationship with his wife and son
12. Jonathan does not like to hobnob with the high society folks
13. Jonathan fights back in the prison. So he is capable of violence. But this can very easily be self-defence.
14. Jonathan had already planned the Cleveland trip before murdering Elena – this timeline is screwed up
15. So while there are hints of his narcissism, there is no established continuing behaviour of lack of remorse or lack of empathy or displays of callousness. This Time magazine interview with Craig Neumann, a psychology professor at the University of North Texas who studies psychopathy and other types of personality disorders, should be read in its entirety. This quote says a lot: "What we have to see are repeated red flags, repeated disturbances in identity, excessive grandiosity and using other people for your own game. And we need to see real, fundamental lapses in intimacy and empathy. If individuals don't recognize it, there's a blind eye they are casting on it. Why? There's some vulnerability, something they want to be true, but isn't." – the show does a really poor job of establishing any of this.
16. He murders someone. Comes home and has sex with his wife. Then runs away after saying goodbye to his son. Hides the murder weapon at the family beach house. Then decides he can prove he is innocent of murder and get his family back (as adultery and lying would be lesser crimes), then runs away with his son when the writing is on the wall – what's up with Jonathan?
In the end, The Undoing is a disappointing show. It could have been the show of the year, but it isn't (The Queen's Gambit has that honour). That is what perhaps led to this 1500 word analysis. The acting here is top-notch, the cinematography iridescent and the storytelling and direction for the first few episodes is masterful. But the show loses its way as it becomes tangled in its own cleverness and indulgence.
Posted in Pop CultureTagged pop culture, television, The Undoing
Published by Anshumani Ruddra
View all posts by Anshumani Ruddra
Prev Difficulty Curves in Games – Lessons for Product Builders
Next We Are Not Doing OK
How to be an Effective Product Manager
Product Roadmap Shapes
Shruti Singh on The Fire Born
Karan on Product Roadmap Shapes
Anshumani Ruddra on Product Roadmap Shapes
© Copyright 2022 – Anshumani Ruddra


text:
In May of 2010, a beautiful girl moved in next door to a 27 year old singer songwriter named Austin in Nashville, Tennessee. Her name was Sara and she was a Child Life Specialist at a local children's hospital. Quickly, Austin began finding every reason he could to "run into" Sara outside their respective houses. Finally, Sara encouraged Austin to take his guitar and volunteer at the hospital where she worked. In an attempt to impress the cute girl next door, Austin was signing up to volunteer the very next day.
In working with the kids on writing music, Austin would often ask for the children to simply tell him a story. From there, they would create stories and songs about everything from the monster under the bed, Dad saving the day, boys versus girls and of course, teenage love. In January of 2011, Austin decided he wanted to bring this opportunity to other songwriters and to kids all over the world who needed a boost. From those beginnings, The Sing Me a Story Foundation™ was born.
Austin had always had a love affair with music but never before had he witnessed the power of music to heal as he did in the rooms of that children's hospital. Furthermore, never had he known a love like the one he shared with the girl who moved in next door. On October 5th, 2013, the two were married in Nashville surrounded by friends and family. The Sing Me a Story Foundation now has hundreds of songwriters and is working with dozens of organizations serving children in need throughout the world. In short, that's the beginning of our story. We welcome you to Join Us.


What do Julius Erving, Larry Brown, Moses Malone, Bob Costas, the Indiana Pacers, the San Antonio Spurs and the Slam Dunk Contest have in common? They all got their professional starts in the American Basketball Association. The NBA may have won the financial battle, but the ABA won the artistic war. With its stress on wide-open individual play, the adoption of the 3-point shot and pressing defense, and the encouragement of flashy moves and flying dunks, today's NBA is still decades later just the ABA without the red, white and blue ball. Loose Balls is, after all these years, the definitive and most widely respected history of the ABA. It's a wild ride through some of the wackiest, funniest, strangest times ever to hit pro sports told entirely through the (often incredible) words of those who played, wrote and connived their way through the league's nine seasons.


text:
package com.github.rinfield.app.collect;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;

public interface Product {

    int arity();

    Object[] array();

    default List<Object> list() {
        return Arrays.asList(array());
    }

    default Stream<Object> stream() {
        return Stream.of(array());
    }
}

redpajama_set_name: RedPajamaGithub


The family court clerk just sent me a bill for $44.40 for my ex-wife's additions to the appellate record. The clerk said he got permission from the appellate court to do the addition without renumbering all the other pages.
The clerk also said that some transcripts were being added to the record, but that I am on my own to privately buy copies from the reporters.
The whole process is ridiculous. It may still be a few months before the appeals court hears the case.


There's a growing trend among cities in California — and perhaps in other states — to nickel-and-dime customers with increased cell phone taxes, "surcharges" and "fees." El Segundo and Sacramento are among several California cities that have amended local utilities taxes to cover "modern and emerging technologies in communication," and Chula Vista is following suit with a similar ballot measure this November.
Federal, state and local surcharges and fees are breaking the bank for wireless consumers. From June 2002 through June 2008, 22 California cities approved requests to extend their public utilities taxes to "modern forms of communication," i.e., wireless services such as cell phones, Internet access and text messaging services.
What caused this wave of new taxes at the state and local levels? Ironically, a federal tax cut.
In 2006, the IRS released Notice 2006-50 admitting that the previous 3.5 years of taxes it had collected on long-distance service were illegal. So-called bundled services — flat-fee plans offered by wireless carriers that provide both local and long distance service — were exempt from federal taxation.
The purpose of the public utilities tax is to compensate the government for building infrastructure to facilitate utilities such as water, gas and electricity. Cities do not subsidize wireless carriers or intervene in constructing cell phone towers and infrastructure. The important distinction to make is that wireless carriers like Verizon, Sprint and others are not public utilities, nor do they use public utilities. Therefore, local governments in California have no business placing a public utilities tax on a private good.


With nearly twenty years' experience in supplying temp agency staff and permanent recruitment services, we have learned a thing or two about the needs of hiring companies and job seekers in Ireland – we use this experience to be of service to our clients.
When we set up in 1999 we knew that one guiding value would drive all that we did – Quality. This commitment to deliver and enhance the quality of our service offering in the recruitment market is at the foreground of all we do. Being an award winning small recruitment agency in Dublin means both job seekers and clients get a very hands on experience with industry aware recruiters, HR professionals and marketers.
We always go that extra mile for candidates and clients. We are committed to delivering the best recruitment practices through our Three Q's – a Quality service, with Qualified candidates in the Quantity required. This is what sets us apart from every other recruitment agency.
You're only one click away from experiencing your quality recruitment service.
We are no ordinary company, and our people are no ordinary members of staff – they are the foundation upon which every aspect of our partnered culture and our industry-leading expertise is built and thrives. Their commitment to Three Q allows us to deliver on our commitment to our clients and candidates.
No matter what we've ever done at Three Q, we've always put our heart and soul into it. Seventeen years of hard graft, sleepless nights, early mornings, nervous pacing, jumps of happiness, proud back-claps, too much coffee (or even worse, too little coffee), plateaus, pits and peaks. From the mundane, to the very exceptional – we pour passion into every project we take on. For this reason, we only work with ideas and people that we believe in.
Partnership is at the heart of our philosophy and culture, and underpins every aspect of our business activity and every interaction with our stakeholders and the communities we serve. Our culture is about making a difference to our clients, challenging convention and bringing new ideas & initiative forward. Our objective as a company is to work in partnership with our clients, aiming to become a core part of their team. We deliver value whilst improving how they deliver critical services to their end user customers. Our collaborative approach means we hire exceptional people and invest in their growth, turning them into Three Q stars of the future.
To some, profit is a dirty word. One could say however, that wealth and prosperity are measured in more ways than purely financial capital. For Three Q, we consider profit to be whatever is beneficial to ourselves, to our employees, our candidates, clients, stakeholders and the wider community. For our candidates, this means finding the job that allows them to shine professionally, for our clients, the seamless integration of talented staff and for us, the deep satisfaction of a job well done. As a business, we value the kind of prosperity that trickles downhill. That's why we lend our staff to work at charity events, free promotion to charities, donate our wages and support those who suffer from dementia and Alzheimer's disease. If you come to work for us as an employee, you'll even be asked for the name of your favourite charity so that we can look into making it our charity of the month – everyone should get to feel as though they are making a difference!
Three Q PERMS & TEMPS believe that by using the right processes that are grounded in our core values will profit all involved.
Our awards are a testament to our quality process.


text:
(function (global, factory) {
  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
  typeof define === 'function' && define.amd ? define(factory) :
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Carousel = factory());
}(this, (function () { 'use strict';

  const addEventListener = 'addEventListener';

  const removeEventListener = 'removeEventListener';

  const supportPassive = (() => {
    let result = false;
    try {
      const opts = Object.defineProperty({}, 'passive', {
        get() {
          result = true;
          return result;
        },
      });
      document[addEventListener]('DOMContentLoaded', function wrap() {
        document[removeEventListener]('DOMContentLoaded', wrap, opts);
      }, opts);
    } catch (e) {
      throw Error('Passive events are not supported');
    }

    return result;
  })();

  // general event options

  var passiveHandler = supportPassive ? { passive: true } : false;

  const supportTransition = 'webkitTransition' in document.head.style || 'transition' in document.head.style;

  const transitionDuration = 'webkitTransition' in document.head.style ? 'webkitTransitionDuration' : 'transitionDuration';

  const transitionProperty = 'webkitTransition' in document.head.style ? 'webkitTransitionProperty' : 'transitionProperty';

  function getElementTransitionDuration(element) {
    const computedStyle = getComputedStyle(element);
    const propertyValue = computedStyle[transitionProperty];
    const durationValue = computedStyle[transitionDuration];
    const durationScale = durationValue.includes('ms') ? 1 : 1000;
    const duration = supportTransition && propertyValue && propertyValue !== 'none'
      ? parseFloat(durationValue) * durationScale : 0;

    return !Number.isNaN(duration) ? duration : 0;
  }

  function reflow(element) {
    return element.offsetHeight;
  }

  const transitionEndEvent = 'webkitTransition' in document.head.style ? 'webkitTransitionEnd' : 'transitionend';

  function emulateTransitionEnd(element, handler) {
    let called = 0;
    const endEvent = new Event(transitionEndEvent);
    const duration = getElementTransitionDuration(element);

    if (duration) {
      element.addEventListener(transitionEndEvent, function transitionEndWrapper(e) {
        if (e.target === element) {
          handler.apply(element, [e]);
          element.removeEventListener(transitionEndEvent, transitionEndWrapper);
          called = 1;
        }
      });
      setTimeout(() => {
        if (!called) element.dispatchEvent(endEvent);
      }, duration + 17);
    } else {
      handler.apply(element, [endEvent]);
    }
  }

  function isElementInScrollRange(element) {
    const bcr = element.getBoundingClientRect();
    const viewportHeight = window.innerHeight || document.documentElement.clientHeight;
    return bcr.top <= viewportHeight && bcr.bottom >= 0; // bottom && top
  }

  function queryElement(selector, parent) {
    const lookUp = parent && parent instanceof Element ? parent : document;
    return selector instanceof Element ? selector : lookUp.querySelector(selector);
  }

  function addClass(element, classNAME) {
    element.classList.add(classNAME);
  }

  function hasClass(element, classNAME) {
    return element.classList.contains(classNAME);
  }

  function removeClass(element, classNAME) {
    element.classList.remove(classNAME);
  }

  function bootstrapCustomEvent(namespacedEventType, eventProperties) {
    const OriginalCustomEvent = new CustomEvent(namespacedEventType, { cancelable: true });

    if (eventProperties instanceof Object) {
      Object.keys(eventProperties).forEach((key) => {
        Object.defineProperty(OriginalCustomEvent, key, {
          value: eventProperties[key],
        });
      });
    }
    return OriginalCustomEvent;
  }

  const activeClass = 'active';

  function normalizeValue(value) {
    if (value === 'true') {
      return true;
    }

    if (value === 'false') {
      return false;
    }

    if (!Number.isNaN(+value)) {
      return +value;
    }

    if (value === '' || value === 'null') {
      return null;
    }

    // string / function / Element / Object
    return value;
  }

  function normalizeOptions(element, defaultOps, inputOps, ns) {
    const normalOps = {};
    const dataOps = {};
    const data = { ...element.dataset };

    Object.keys(data)
      .forEach((k) => {
        const key = k.includes(ns)
          ? k.replace(ns, '').replace(/[A-Z]/, (match) => match.toLowerCase())
          : k;

        dataOps[key] = normalizeValue(data[k]);
      });

    Object.keys(inputOps)
      .forEach((k) => {
        inputOps[k] = normalizeValue(inputOps[k]);
      });

    Object.keys(defaultOps)
      .forEach((k) => {
        if (k in inputOps) {
          normalOps[k] = inputOps[k];
        } else if (k in dataOps) {
          normalOps[k] = dataOps[k];
        } else {
          normalOps[k] = defaultOps[k];
        }
      });

    return normalOps;
  }

  /* Native JavaScript for Bootstrap 5 | Base Component
  ----------------------------------------------------- */

  class BaseComponent {
    constructor(name, target, defaults, config) {
      const self = this;
      const element = queryElement(target);

      if (element[name]) element[name].dispose();
      self.element = element;

      if (defaults && Object.keys(defaults).length) {
        self.options = normalizeOptions(element, defaults, (config || {}), 'bs');
      }
      element[name] = self;
    }

    dispose(name) {
      const self = this;
      self.element[name] = null;
      Object.keys(self).forEach((prop) => { self[prop] = null; });
    }
  }

  /* Native JavaScript for Bootstrap 5 | Carousel
  ----------------------------------------------- */

  // CAROUSEL PRIVATE GC
  // ===================
  const carouselString = 'carousel';
  const carouselComponent = 'Carousel';
  const carouselSelector = `[data-bs-ride="${carouselString}"]`;
  const carouselControl = `${carouselString}-control`;
  const carouselItem = `${carouselString}-item`;
  const dataBsSlideTo = 'data-bs-slide-to';
  const pausedClass = 'paused';
  const defaultCarouselOptions = {
    pause: 'hover', // 'boolean|string'
    keyboard: false, // 'boolean'
    touch: true, // 'boolean'
    interval: 5000, // 'boolean|number'
  };
  let startX = 0;
  let currentX = 0;
  let endX = 0;

  // CAROUSEL CUSTOM EVENTS
  // ======================
  const carouselSlideEvent = bootstrapCustomEvent(`slide.bs.${carouselString}`);
  const carouselSlidEvent = bootstrapCustomEvent(`slid.bs.${carouselString}`);

  // CAROUSEL EVENT HANDLERS
  // =======================
  function carouselTransitionEndHandler(self) {
    const {
      index, direction, element, slides, options, isAnimating,
    } = self;

    // discontinue disposed instances
    if (isAnimating && element[carouselComponent]) {
      const activeItem = getActiveIndex(self);
      const orientation = direction === 'left' ? 'next' : 'prev';
      const directionClass = direction === 'left' ? 'start' : 'end';
      self.isAnimating = false;

      addClass(slides[index], activeClass);
      removeClass(slides[activeItem], activeClass);

      removeClass(slides[index], `${carouselItem}-${orientation}`);
      removeClass(slides[index], `${carouselItem}-${directionClass}`);
      removeClass(slides[activeItem], `${carouselItem}-${directionClass}`);

      element.dispatchEvent(carouselSlidEvent);

      // check for element, might have been disposed
      if (!document.hidden && options.interval
        && !hasClass(element, pausedClass)) {
        self.cycle();
      }
    }
  }

  function carouselPauseHandler(e) {
    const eventTarget = e.target;
    const self = eventTarget.closest(carouselSelector)[carouselComponent];
    const { element, isAnimating } = self;

    if (!hasClass(element, pausedClass)) {
      addClass(element, pausedClass);
      if (!isAnimating) {
        clearInterval(self.timer);
        self.timer = null;
      }
    }
  }

  function carouselResumeHandler(e) {
    const eventTarget = e.target;
    const self = eventTarget.closest(carouselSelector)[carouselComponent];
    const { isPaused, isAnimating, element } = self;

    if (!isPaused && hasClass(element, pausedClass)) {
      removeClass(element, pausedClass);

      if (!isAnimating) {
        clearInterval(self.timer);
        self.timer = null;
        self.cycle();
      }
    }
  }

  function carouselIndicatorHandler(e) {
    e.preventDefault();
    const { target } = e;
    const self = target.closest(carouselSelector)[carouselComponent];

    if (self.isAnimating) return;

    const newIndex = target.getAttribute(dataBsSlideTo);

    if (target && !hasClass(target, activeClass) // event target is not active
      && newIndex) { // AND has the specific attribute
      self.to(+newIndex); // do the slide
    }
  }

  function carouselControlsHandler(e) {
    e.preventDefault();
    const that = this;
    const self = that.closest(carouselSelector)[carouselComponent];
    const { controls } = self;

    if (controls[1] && that === controls[1]) {
      self.next();
    } else if (controls[1] && that === controls[0]) {
      self.prev();
    }
  }

  function carouselKeyHandler({ which }) {
    const [element] = Array.from(document.querySelectorAll(carouselSelector))
      .filter((x) => isElementInScrollRange(x));

    if (!element) return;
    const self = element[carouselComponent];

    switch (which) {
      case 39:
        self.next();
        break;
      case 37:
        self.prev();
        break;
    }
  }

  // CAROUSEL TOUCH HANDLERS
  // =======================
  function carouselTouchDownHandler(e) {
    const element = this;
    const self = element[carouselComponent];

    if (!self || self.isTouch) { return; }

    startX = e.changedTouches[0].pageX;

    if (element.contains(e.target)) {
      self.isTouch = true;
      toggleCarouselTouchHandlers(self, 1);
    }
  }

  function carouselTouchMoveHandler(e) {
    const { changedTouches, type } = e;
    const self = this[carouselComponent];

    if (!self || !self.isTouch) { return; }

    currentX = changedTouches[0].pageX;

    // cancel touch if more than one changedTouches detected
    if (type === 'touchmove' && changedTouches.length > 1) {
      e.preventDefault();
    }
  }

  function carouselTouchEndHandler(e) {
    const element = this;
    const self = element[carouselComponent];

    if (!self || !self.isTouch) { return; }

    endX = currentX || e.changedTouches[0].pageX;

    if (self.isTouch) {
      // the event target is outside the carousel OR carousel doens't include the related target
      if ((!element.contains(e.target) || !element.contains(e.relatedTarget))
        && Math.abs(startX - endX) < 75) { // AND swipe distance is less than 75px
        // when the above conditions are satisfied, no need to continue
        return;
      } // OR determine next index to slide to
      if (currentX < startX) {
        self.index += 1;
      } else if (currentX > startX) {
        self.index -= 1;
      }

      self.isTouch = false;
      self.to(self.index); // do the slide

      toggleCarouselTouchHandlers(self); // remove touch events handlers
    }
  }

  // CAROUSEL PRIVATE METHODS
  // ========================
  function activateCarouselIndicator(self, pageIndex) { // indicators
    const { indicators } = self;
    Array.from(indicators).forEach((x) => removeClass(x, activeClass));
    if (self.indicators[pageIndex]) addClass(indicators[pageIndex], activeClass);
  }

  function toggleCarouselTouchHandlers(self, add) {
    const { element } = self;
    const action = add ? addEventListener : removeEventListener;
    element[action]('touchmove', carouselTouchMoveHandler, passiveHandler);
    element[action]('touchend', carouselTouchEndHandler, passiveHandler);
  }

  function toggleCarouselHandlers(self, add) {
    const {
      element, options, slides, controls, indicator,
    } = self;
    const {
      touch, pause, interval, keyboard,
    } = options;
    const action = add ? addEventListener : removeEventListener;

    if (pause && interval) {
      element[action]('mouseenter', carouselPauseHandler);
      element[action]('mouseleave', carouselResumeHandler);
      element[action]('touchstart', carouselPauseHandler, passiveHandler);
      element[action]('touchend', carouselResumeHandler, passiveHandler);
    }

    if (touch && slides.length > 1) {
      element[action]('touchstart', carouselTouchDownHandler, passiveHandler);
    }

    controls.forEach((arrow) => {
      if (arrow) arrow[action]('click', carouselControlsHandler);
    });

    if (indicator) indicator[action]('click', carouselIndicatorHandler);
    if (keyboard) window[action]('keydown', carouselKeyHandler);
  }

  function getActiveIndex(self) {
    const { slides, element } = self;
    return Array.from(slides)
      .indexOf(element.getElementsByClassName(`${carouselItem} ${activeClass}`)[0]) || 0;
  }

  // CAROUSEL DEFINITION
  // ===================
  class Carousel extends BaseComponent {
    constructor(target, config) {
      super(carouselComponent, target, defaultCarouselOptions, config);
      // bind
      const self = this;

      // additional properties
      self.timer = null;
      self.direction = 'left';
      self.isPaused = false;
      self.isAnimating = false;
      self.index = 0;
      self.timer = null;
      self.isTouch = false;

      // initialization element
      const { element } = self;
      // carousel elements
      // a LIVE collection is prefferable
      self.slides = element.getElementsByClassName(carouselItem);
      const { slides } = self;

      // invalidate when not enough items
      // no need to go further
      if (slides.length < 2) { return; }

      self.controls = [
        queryElement(`.${carouselControl}-prev`, element),
        queryElement(`.${carouselControl}-next`, element),
      ];

      // a LIVE collection is prefferable
      self.indicator = queryElement('.carousel-indicators', element);
      self.indicators = (self.indicator && self.indicator.querySelectorAll(`[${dataBsSlideTo}]`)) || [];

      // set JavaScript and DATA API options
      const { options } = self;

      // don't use TRUE as interval, it's actually 0, use the default 5000ms better
      self.options.interval = options.interval === true
        ? defaultCarouselOptions.interval
        : options.interval;

      // set first slide active if none
      if (getActiveIndex(self) < 0) {
        if (slides.length) addClass(slides[0], activeClass);
        if (self.indicators.length) activateCarouselIndicator(self, 0);
      }

      // attach event handlers
      toggleCarouselHandlers(self, 1);

      // start to cycle if interval is set
      if (options.interval) self.cycle();
    }

    // CAROUSEL PUBLIC METHODS
    // =======================
    cycle() {
      const self = this;
      const { isPaused, element, options } = self;
      if (self.timer) {
        clearInterval(self.timer);
        self.timer = null;
      }

      if (isPaused) {
        removeClass(element, pausedClass);
        self.isPaused = !isPaused;
      }

      self.timer = setInterval(() => {
        if (isElementInScrollRange(element)) {
          self.index += 1;
          self.to(self.index);
        }
      }, options.interval);
    }

    pause() {
      const self = this;
      const { element, options, isPaused } = self;
      if (options.interval && !isPaused) {
        clearInterval(self.timer);
        self.timer = null;
        addClass(element, pausedClass);
        self.isPaused = !isPaused;
      }
    }

    next() {
      const self = this;
      if (!self.isAnimating) { self.index += 1; self.to(self.index); }
    }

    prev() {
      const self = this;
      if (!self.isAnimating) { self.index -= 1; self.to(self.index); }
    }

    to(idx) {
      const self = this;
      const {
        element, isAnimating, slides, options,
      } = self;
      const activeItem = getActiveIndex(self);
      let next = idx;

      // when controled via methods, make sure to check again
      // first return if we're on the same item #227
      if (isAnimating || activeItem === next) return;

      // determine transition direction
      if ((activeItem < next) || (activeItem === 0 && next === slides.length - 1)) {
        self.direction = 'left'; // next
      } else if ((activeItem > next) || (activeItem === slides.length - 1 && next === 0)) {
        self.direction = 'right'; // prev
      }
      const { direction } = self;

      // find the right next index
      if (next < 0) { next = slides.length - 1; } else if (next >= slides.length) { next = 0; }

      // orientation, class name, eventProperties
      const orientation = direction === 'left' ? 'next' : 'prev';
      const directionClass = direction === 'left' ? 'start' : 'end';
      const eventProperties = {
        relatedTarget: slides[next], direction, from: activeItem, to: next,
      };

      // update event properties
      Object.keys(eventProperties).forEach((k) => {
        carouselSlideEvent[k] = eventProperties[k];
        carouselSlidEvent[k] = eventProperties[k];
      });

      // discontinue when prevented
      element.dispatchEvent(carouselSlideEvent);
      if (carouselSlideEvent.defaultPrevented) return;

      // update index
      self.index = next;

      clearInterval(self.timer);
      self.timer = null;

      self.isAnimating = true;
      activateCarouselIndicator(self, next);

      if (getElementTransitionDuration(slides[next]) && hasClass(element, 'slide')) {
        addClass(slides[next], `${carouselItem}-${orientation}`);
        reflow(slides[next]);
        addClass(slides[next], `${carouselItem}-${directionClass}`);
        addClass(slides[activeItem], `${carouselItem}-${directionClass}`);

        emulateTransitionEnd(slides[next], () => carouselTransitionEndHandler(self));
      } else {
        addClass(slides[next], activeClass);
        removeClass(slides[activeItem], activeClass);

        setTimeout(() => {
          self.isAnimating = false;

          // check for element, might have been disposed
          if (element && options.interval && !hasClass(element, pausedClass)) {
            self.cycle();
          }

          element.dispatchEvent(carouselSlidEvent);
        }, 100);
      }
    }

    dispose() {
      const self = this;
      const { slides } = self;
      const itemClasses = ['start', 'end', 'prev', 'next'];

      Array.from(slides).forEach((slide, idx) => {
        if (hasClass(slide, activeClass)) activateCarouselIndicator(self, idx);
        itemClasses.forEach((c) => removeClass(slide, `${carouselItem}-${c}`));
      });

      toggleCarouselHandlers(self);
      clearInterval(self.timer);
      super.dispose(carouselComponent);
    }
  }

  Carousel.init = {
    component: carouselComponent,
    selector: carouselSelector,
    constructor: Carousel,
  };

  return Carousel;

})));


I live in Western Massachusetts and I bought two mandevilla plants. How do I care for the plants in winter season? Do I bring them inside?
Yes, you will need to move them to a location out of the winter temperatures.


text:
require 'spec_helper'

describe 'Maintainer views tags' do
  let(:user) { create(:user) }

  before do
    project.add_maintainer(user)
    sign_in(user)
  end

  context 'when project has no tags' do
    let(:project) { create(:project_empty_repo) }

    before do
      visit project_path(project)
      click_on 'Add README'
      fill_in :commit_message, with: 'Add a README file', visible: true
      click_button 'Commit changes'
      visit project_tags_path(project)
    end

    it 'displays a specific message' do
      expect(page).to have_content 'Repository has no tags yet.'
    end
  end

  context 'when project has tags' do
    let(:project) { create(:project, :repository, namespace: user.namespace) }
    let(:repository) { project.repository }

    before do
      visit project_tags_path(project)
    end

    it 'avoids a N+1 query in branches index' do
      control_count = ActiveRecord::QueryRecorder.new { visit project_tags_path(project) }.count

      %w(one two three four five).each { |tag| repository.add_tag(user, tag, 'master', 'foo') }

      expect { visit project_tags_path(project) }.not_to exceed_query_limit(control_count)
    end

    it 'views the tags list page' do
      expect(page).to have_content 'v1.0.0'
    end

    it 'views a specific tag page' do
      click_on 'v1.0.0'

      expect(current_path).to eq(
        project_tag_path(project, 'v1.0.0'))
      expect(page).to have_content 'v1.0.0'
      expect(page).to have_content 'This tag has no release notes.'
    end

    describe 'links on the tag page' do
      it 'has a button to browse files' do
        click_on 'v1.0.0'

        expect(current_path).to eq(
          project_tag_path(project, 'v1.0.0'))

        click_on 'Browse files'

        expect(current_path).to eq(
          project_tree_path(project, 'v1.0.0'))
      end

      it 'has a button to browse commits' do
        click_on 'v1.0.0'

        expect(current_path).to eq(
          project_tag_path(project, 'v1.0.0'))

        click_on 'Browse commits'

        expect(current_path).to eq(
          project_commits_path(project, 'v1.0.0'))
      end
    end
  end
end


THE 'EQUAL' TRIATHLON – GIMMICK OR GAME CHANGER?
A new triathlon is starting next year that hopes to test triathletes' abilities in each discipline EQUALLY.
According to the organisers of Isoman Triathlon, long distance triathletes spend around 10% of the total race time swimming, 54% of the time cycling and 36% running. The aim of Isoman, they say is to 'address this imbalance and create a triathlon for which all disciplines demand an equal level of excellence'.
The huge distance differences are definitely one of the things that onlookers find puzzling about the relatively young sport of triathlon. 'Why is the swim so short?' people say or 'how come the bike leg is so long?'. For anyone who's raced a triathlon, these questions are easy to answer as the format is widely regarded to be share out the exertion equally. But this new event will put that to test.
On Saturday 18th July 2015 the inaugural Isoman triathlon event will take place in Worcestershire at the Arrow Valley Countryside Centre. Participants will be able to do a full 'iron distance' equivalent (see graph) or a half or a quarter. Tri Revew will be there to try out the half and see for ourselves what an 'equal tri' feels like!
← CUSTOM TRI KIT – THE NEW RACE BOOSTER?


Finished size: 43.5" x 46.5"
Cool down with Summer Sorbet Quilt Pattern by Pretty by Hand. It is Layer Cake friendly, making it perfect for your fabric collection. The pattern includes a paper template to complete the quilt.


Gold slips from records and shed Rs 10 to Rs 29,740 per 10 grams due to demand at prevailing higher levels, while silver spurted by Rs 350 to Rs 56,250 per kg on speculative buying.
Gold on Saturday slipped from records and shed Rs 10 to Rs 29,740 per 10 grams due to demand at prevailing higher levels, while silver spurted by Rs 350 to Rs 56,250 (USD 556) per kg on speculative buying.
Traders said fall in demand at existing higher levels mainly pulled down gold prices from record highs.
Speculative buying and increased offtake by industrial units and coin makers pushed up silver prices, they said.
On the domestic front, gold of 99.9 and 99.5 per cent purity declined by Rs 10 each to Rs 29,740 and Rs 29,600 per 10 grams, respectively. The yellow metal had climbed to an all-time high level of Rs 29,750 on Friday.
However, sovereigns found selective buying and rose by Rs 50 to Rs 23,850 per piece of eight grams.
Silver ready surged by Rs 350 to Rs 56,250 per kg and weekly-based delivery by Rs 200 to Rs 56,600 per kg, while silver coins rose by Rs 1000 to Rs 66,000 for buying and Rs 67,000 for selling of 100 pieces.


text:
Q: How to set default archive image without overriding first attached image? I have hit a wall. I have archive pages with some posts that have featured images which display fine.
Some posts don't have featured images but the first attached image displays.
Some posts have no images and there is a blank space. I have been trying all day to find a way to display a fallback image for the posts with no images. The closest I have come is a filter that displays a default image if no featured image is set. That would be great but it overrides the posts that normally display the first attached image. My last attempt was to only display the default image if there was no featured image or attached image. It still overrides attached images. Any ideas will be greatly appreciated. This is the last filter I have tried.
add_filter( 'genesis_pre_get_image', 'default_featured_image_when_not_set', 10, 3          );
function default_featured_image_when_not_set( $post ) {
if ( '' != get_the_post_thumbnail() || ( '' != $args['fallback']) ) {
return $post;
}
else
{
echo '<img src="' . get_bloginfo( 'stylesheet_directory' ) . '/images/default-image.jpg" />';
}
}

A: You could use get_attached_media() function to check if the post has any attached images to it. Also, you use wrong logic operator. Your code would look like this:
$attached_images = get_attached_media('image', $post->ID);
if ( (get_the_post_thumbnail() == NULL) && empty($attached_images) ) {
 // show your default image
}
else
{
 // do nothing, I guess?
}

redpajama_set_name: RedPajamaStackExchange


This day trip takes visitors from Vienna to Wachau, a picturesque valley along the Danube known for its excellent wine. The area is a UNESCO World Heritage Site and is home to medieval castles, impressive monasteries and the breathtaking landscape of Austria.
Tour the area on comfortable buses, traveling from Vienna to Krems, a pretty town on the banks of the Danube River. In the winter months you'll take a short break in Krems, and in the summertime you'll drive through the historical city center.
You'll continue on to Durnstein to see the hillside ruins of Durnstein castle on this tour. This is where the English King Richard the Lionheart was held captive.
Enjoy the beautiful scenery as you travel through the countryside to Melk. Lush vineyards shape the landscape of the Danube Valley and reach right down to the banks of the Danube River. Small hidden villages come into view between the gentle hills and green woods.
Arrive at Melk where the bus takes you to the nearby Benedictine Abbey. This impressive baroque building was awarded the prize "Best Historic Destination of the World" together with Wachau in 2008. See the magnificent marble hall, the precious abbey library and the church with its unique frescoes on a guided tour.
Book now for an enjoyable visit to the gorgeous Wachau Valley and the impressive Melk Abbey on this tour!
All guests must bring a valid passport. Wheelchair users must always be accompanied by an adult capable of providing help and handling the chair during the tour. Guests must be able to walk on paved and cobblestone surfaces, some of which may be uneven or at an incline.


Whether you're in mining, civil works or another industry that uses poly fittings, Advanced Piping's custom made forged reducing tees can be fabricated to your exact specifications.
Our Advanced Custom manufacturing team are fully trained and accredited in poly welding and their experience and skills are second to none. This ensures we can meet your custom requirements with a fast turnaround whilst maintaining the highest level of quality assurance.
Our expert staff are on hand to help tailor a customised solution to meet your needs. Or talk to us about our superior range of moulded poly fittings, specific to your project.
Call us on 1300 362 229 or view more of our fabricated fittings here.


text:
INEOS Completes Dollar 80m Investment to Extend the Life of Clipper South its Southern North Sea Gas Field
INEOS Oil and Gas UK has completed a project to re-route production from its Clipper South field via the Shell operated Clipper field into the Bacton processing terminal.
The $80m investment into a new pipeline and sub-sea equipment will extend the life of the Clipper South field, following closure in October of the existing facilities at the Theddlethorpe Gas Terminal, previously operated by ConocoPhillips.
David Brooks, CEO INEOS Oil & Gas UK commented "The completion of the project is another example of INEOS' commitment to our Oil & Gas business and supports the Government's strategy to maximise economic recovery of gas from the North Sea. It is a great achievement for our business and has been made possible through our project team's hard work and dedication."
"We would like to thank Spirit Energy, our JV partner, for their support throughout the project and the operational, technical and commercial collaboration with Shell as the owner of the facilities."
Eric Marston, Area Manager, Southern North Sea at the Oil and Gas Authority said: "The re-development and re-routing of the gas pipeline showed great adaptability and resolve to extend the life of the Clipper Field. It's a great example of collaboration between operators
INEOS, Shell and Spirit Energy in working together to deliver this project."


Giovanni Macapobre, business development manager of North Wind Power Development Corp., said the amount was based on the estimated spending of about $2.6 million to $3 million to produce a megawatt of power from wind resources. NorthPoint is a subsidiary of NorthWind Power, operator of the 33-MW Bangui Bay wind farm.
Towering on a strip of shoreline along Bangui Bay are wind turbines that have started generating clean power for the province of Ilocos Norte under the Philippines' first wind farm.
The wind farm will feed an initial 7 megawatts (MW) to the Ilocos Norte Electric Cooperative (Inec), equivalent to 40 percent of the province's power requirement.
A first in Southeast Asia, the wind power plant is composed of 15 wind turbines, each standing 70 meters or equal to the height of a 23-story building. The wind farm can generate a maximum capacity of 25 MW.
"Tapping abundant wind resources in the country's vast coastlines is a significant stride in an environment-sensitive, clean-and-green energy program for the Philippines," said Niels Jacobsen, a Danish investor and president of Northwind Power Development Corp. (NWPDC).
The firm's officials led Philippine energy officials and national and local leaders in a ceremonial switch-on on Saturday of the Northwind Bangui Bay Project along a 3-km shoreline in Barangay Baruyen facing the South China Sea.
The wind turbines, all connected to the Luzon power grid, began delivering power to the Inec last month. "As stated in our energy sales agreement, we will extend a 7-percent discount (lower than National Transmission Corp. rates) to Inec. This will reduce the power charges being paid by Ilocos residents," said lawyer Ferdinand Dumlao, NWPDC chair.
Dumlao said the firm would put up five wind turbines next year to generate 8 MW of electricity and meet 50 percent of Ilocos Norte's power requirement.
Inec, which has a total power requirement of 26MW, will continue buying its remaining energy demand from Transco.
Gov. Ferdinand Marcos Jr. said the country's first wind power plant would serve as a model for more renewable energy sources around the Philippines.
"Ilocos Norte has always been at the end of the supply line (when it comes to power delivery). With the operation of this plant, we look forward to being at the other end of the supply line and avoid the difficulties we have had in the past," he said.
Marcos' mother, former first lady Imelda Marcos, attended the affair to support her son.
"I congratulate my son. He always surprises me. He continues to impress me, I think he is following the great footsteps of his father," Mrs. Marcos said.
"What we need now is energy that is environmentally friendly. The Philippines has no reason to be poor. We've got it all," she said.
The wind farm should have started commercial operations early this year but bad weather prevented the firm's technical staff from landing their equipment at Bangui Bay. Most of the turbine materials were shipped from Denmark.
This windswept town was found to be one of three areas in Northern Luzon and of nine other islands and inner corridors across the country that can produce up to 70,000MW or power.
"The wind is [normally] too strong out here. You don't see it today, but this is one of the very rare days when there is virtually no wind," said Jacobsen, as the rotor blades made a sluggish swirl on Saturday.
The wind in the Bangui coast blows at a speed of 7 meters per second (mps). A wind mapping study conducted by the United States National Renewable Energy Laboratory has found Bangui Bay to be one of the areas across the country where 10,000 sq. km. of windy land exists with good to excellent wind resource potential.
The NWPDC, composed of Filipino and Danish businessmen and engineers, led the way in setting up the environmentally friendly and economical source of power in response to the government's call to establish new and renewable sources of energy.
Former Energy Secretary Vicente Perez Jr. said the Bangui wind farm is a big step toward energy independence while the Philippines is targeting to reach a 60-percent self sufficiency in energy generation by 2010 by promoting wind power.
"We are on our ay to making the Philippines as a leader in wind power [in Asia]. Let it not be forgotten that the epicenter of that goal started on the sandy shores of Ilocos [Norte]," Perez said.
After the wind farm in Bangui, 16 other areas will be offered up for investment with a total capacity of 345 MW.
The Philippines has been found to have potential wind energy of 76,600 MW, leading other wind power-producing countries like Germany, Spain and Denmark.
The NorthWind Power Development Corporation (NorthWind) was organized to develop wind energy as a renewable, environment-friendly, and economically feasible source of energy in the Philippines.
Located in the northernmost part of the Luzon Island in the Philippines in the town of Bangui, Ilocos Norte, the wind turbines project sells electricity to the Ilocos Norte Electric Cooperative (INEC) and provides 40% of the power requirements of the province of Ilocos Norte.
Phase I of the NorthWind wind power project in Bangui Bay consists of 15 wind turbines, each capable of producing electricity up to a maximum capacity of 1.65 MW, for a total of 24.75 MW.
Phase II, to be completed by June 2008, will add 5 more wind turbines with the same capacity, and will bring the total capacity to 33 MW. All 20 wind turbines will describe a graceful arc reflecting the shoreline of Bangui Bay.
In 2006, the Northwind Bangui Bay Project generated savings in the amount of approximately US$ 1.4 million (PHP 70 million) for the electricity consumers of INEC.


So as we speak The Wife—my wonderful, charming wife—is watching the first season of the reboot of Doctor Who.
I think she's four or so episodes in.
I'm afraid to go watch with her and disturb the vibe. I think she's enjoying it.
It'll get to the Daleks at some point and she'll skip the episode because the voices hurt her ears, but the boys in the house are hopeful the watching continues.
I'm pretty sure if she gets through Eccleston and into Tennant we'll have her!
And then she will never escape!
She's a geek girl, mind you so Doctor Who was an inevitability but she fought it because—well it can be awfully goofy. And the Dalek voices are grating.
But she got talked into the Battlestar Galactica reboot, Shaun of the Dead and Torchwood, loves both the book and television versions of Game of Thrones, reads Harry Dresden books and bought me all three movie posters of the Lord of the Rings flicks—then framed them. She's a huge Firefly fan.
It was only a matter of time before the Big Blue Box sucked her in.
ps – THE NEW DOCTOR IS BEING ANNOUNCED SUNDAY! ALL HAIL THE BBC!
pps- I hope they go in a whole new direction – a female or non-white Doctor. Would be fun.
I have a lot of ambition.
Some of it has been realized—attending and covering the Senior Bowl in Mobile, Alabama and covering the NFL Draft live at Radio City Music Hall. I've done both for about five years now.
Some of it has not—I want to cover the Super Bowl, I want to publish a book and I want to sky dive.
I'll get to them at some point of course.
I have a new ambition now, one which may not be easy, but I'm putting it out into the universe anyway.
My newest ambition is to to get on The Talking Dead.
For those of you unfamiliar, The Talking Dead is a talk show, hosted by Chris Hardwick of Nerdist fame, which airs right after each episode of The Walking Dead, the awesome zombie television show on AMC.
You might also recognize his voice from Back to the Barnyard.
Basically, the show gathers Hardwick and three other people (sometimes cast members, sometimes celebrity fans) who then talk about the show in general as well as the episode we just saw.
Man, I so need to be on this show.
I would be an awesome guest. I know the show and comic backwards and forwards. I'm funny (RIGHT?) and well spoken.
I'm even semi-famous thanks to the videos I do at Bleacher Report.
Hey, I even have a post planned for sometime in the next few weeks (one of the Pops in Pop Culture pieces) about Rick Grimes as a dad.
Honestly, there's no harder job than parenting during the apocalypse. You can't even fob them off on the public school system to get a break from the little monsters.
Yeah, I've got takes for days about this show.
So there it is. I'm not sure how to make it happen yet, but it will happen.
Then I just have to get the kids on The Walking Dead itself as zombies and all will be well.


At RCS, we are always on the look out for future projects.
If you are interested in being involved in a project similar to the Grassroots Project and Project Pioneer in the future, please complete the Expression of Interest form to the right.
As soon as a project arises that you may qualify for, we will contact you with further information.
If you have a project in mind that we can be of assistance with, we would love to hear from you.
Previously, RCS has conducted many localised projects including benchmarking, training, follow up support, reviews and R&D at a regional level.
Please contact us for quotations, email project information to: info@rcsaustralia.com.au or fill in the form through the button on the right.


In this document we describe how communities located near mines will be networked across the region.
Using this network, community activists will keep each other informed on their experiences. This will help communities to learn from each other as well as give each other support.
Step 1: Observe and document problems and events in local communities.
The activists will document any problem they observe arising from mining as well as any event such as a meeting or protest action that takes place in their community.
Why did it happen (what was the cause)?
They may add any other comment.
The action of observing, documenting will assist stay aware , reflect and analyse their problems and actions.
Each country or area will set up a WhatsApp group. The activist will post her report on this group.
This sharing of reports will assist the activists learn from each other and as well as give each other support.
The post from the WhatsApp chat group will be reposted by an appointed website administrator on to a blog for each country.
The website will then enable the local communities to share their stories and reports across the reigon and the world.
All the writings and pictures created by the local activists can be easily downloaded from the website blog. These posts can be put in a newsletter for distribution in the local community among organisations and leaders.
When a community observes, documents and speaks out about their problems, they have taken the first action towards change. From this first action, they are in a position to engage in further action with mining corporation and government authorities towards resolving their problems.


26 beautifully painted flashcards full of nature's delights. Bring the alphabet to life in you own hands and teach your little ones. All the artwork was inspired by a child's sense to learn and love of nature. Each card has 3 amazing facts on the back about the animal/plant. So not only are you teaching letter recognition and the alphabet but explaining about mammals, herbivores, hibernation and much, much more.
The cards are kept in a drawstring bag (may not be same as pictured).
The cards are 350gsm card stock with a matte laminate finish, to help with those sticky fingers.
These are a learning tool and young children must be supervised with them.


Waconzy: The name waconzy was given to me by a friend from Ghana . Waconzy is a blend of two English words "Wacko" and "zany" …which means crazy and funny… The name waconzy reasonably explains my personality and my style of lyrical delivery.
Waconzy: Music is an avenue for me to express myself same time share my life experiences with my fans. Like the popular saying goes," where you work is where you eat" So I also see music business as a source of livelihood, Music has blessed me in so many ways, all Glory to God.
Waconzy: Apart from music, I also run a chain of companies under the dv8 innovations umbrella. We import cars, sell inverters, hiring of event's equipment, real estate, oil and gas and project management.
Waconzy: I like people to know that I am single and waiting for my bride… lol, am a child of God, am a native of Abia state (not rivers state), I am the founder of dv8 innovations, and am number 1.
Waconzy : 5 million dollars (about 750 million Naira), I will invest 60% in real estates, 20percent in charity, a 10percent tithe, 10percent for massive grooving!!!
Waconzy – Sweet like tombo video was recently shot in the Makoko slum [under the 3rd mainland bridge] of Ebutemata, Lagos State. In this Video, Waconzy represents his fans in the ghetto as he plays a ghetto boy. The video features fast rising actress/Vixen Susan and his producer Chimaga. The Video Was shot and directed by The Award Winning Aje Films.
Check out the video shoot pictures of his latest song Sweet Like Tombo, in case you missed it DOWNLOAD here.


MNFC offers a unique and ever-changing variety of craft beer, wine, cider and mead. Wine selections range from great Italian Chiantis to outstanding Sauvignon Blancs from California. We also stock organically produced and fair trade wines, Saké, and sparkling wines. Case prices are available. Additionally, we offer a fabulous selection of both domestic and imported beers. We are proud of our talented Vermont beer, cider and mead producers and are committed to supporting them.
Have Questions About Beer & Wine?


Here at King's we place a very high value on prayer and see it as essential to the effectiveness of all aspects of the church. What can we achieve and how can we move forward without seeking God?
Just as on a ship all the forward propulsion comes from the engine, we want our interactions with God to direct and propel us into all he has planned for us as a church family. To that end we meet monthly on Sunday nights to worship, pray and seek God together, confident that he will direct us in the way we should go and empower us to face the challenges along the way.
Engine rooms are places that are hot, noisy, sometimes dirty and potentially dangerous. We don't view prayer as something that is safe and boring, but rather something that can involve hard work as we look to God to further his Kingdom in our local community.
We also meet up for prayer every Thursday morning 7-8am, at The Source.


text:
With Glory Partnership, ONE FC Emerges as Asia's Dominant MMA Player
In a monumental maneuver to capture "90%+ market share in Asia," ONE FC has entered into an exclusive partnership with Glory where the two fight promotions will share athletes.
"ONE FC and Glory have joined forces with an exclusive partnership, further enhancing the power of the ONE FC Network," the Singapore-based mixed martial arts promotion announced on Twitter. "ONE FC fighters will now be able to compete in Glory and DREAM events.
"Through the combination of the ONE FC Network and exclusive contracts with ONE FC fighters, ONE FC has a 90%+ market share in Asia."
The organizations will begin their partnership immediately, with ONE FC fighters performing in Glory and DREAM's New Year's Eve extravaganza. Former DREAM champions Shinya Aoki (Pictured) and Bibiano Fernandes are expected to appear in the show.
Glory will take care of the kickboxing side of the hybrid event, as they will be hosting their 16-man heavyweight tournament on December 31st inside Saitama Super Arena in Japan.


The materials in FOIA 2014-0274-F are a selective, not necessarily all inclusive, body of documents responsive to the topic of the FOIA. Researchers should consult the archivist about related materials.
FOIA 2014-0274-F contains materials related to correspondence and other materials created among and between Henry Paulson, Timothy Geithner, Sheila Bair, and the White House regarding Bear Stearns, Lehman Brothers, and the Troubled Assets Relief Program (TARP).
This FOIA primarily consists of certification letters from President George W. Bush to Vice President Richard B. Cheney and Speaker Nancy Pelosi and a determination from Treasury Secretary Henry M. Paulson, both related to TARP. Electronic records consist of emails regarding press for a proposal and the text of an amendment to H.R. 1424.


Bhagavad Gita Chapter 01, Text 15 | Listen to Bhagavad Gita As It Is Online in MP3 Audio Format.
pancajanyam — the conchshell named Pancajanya; hrsika-isah — Hrsikesa (Krishna, the Lord who directs the senses of the devotees); devadattam — the conchshell named Devadatta; dhanam-jayah — Dhananjaya (Arjuna, the winner of wealth); paundram — the conch named Paundra; dadhmau — blew; maha-sankham — the terrific conchshell; bhima-karma — one who performs herculean tasks; vrka-udarah — the voracious eater (Bhima).
Lord Krishna blew His conchshell, called Pancajanya; Arjuna blew his, the Devadatta; and Bhima, the voracious eater and performer of herculean tasks, blew his terrific conchshell, called Paundra.
Lord Krishna is referred to as Hrsikesa in this verse because He is the owner of all senses. The living entities are part and parcel of Him, and therefore the senses of the living entities are also part and parcel of His senses. The impersonalists cannot account for the senses of the living entities, and therefore they are always anxious to describe all living entities as senseless, or impersonal. The Lord, situated in the hearts of all living entities, directs their senses. But He directs in terms of the surrender of the living entity, and in the case of a pure devotee He directly controls the senses. Here on the Battlefield of Kuruksetra the Lord directly controls the transcendental senses of Arjuna, and thus His particular name of Hrsikesa. The Lord has different names according to His different activities. For example, His name is Madhusudana because He killed the demon of the name Madhu; His name is Govinda because He gives pleasure to the cows and to the senses; His name is Vasudeva because He appeared as the son of Vasudeva; His name is Devaki-nandana because He accepted Devaki as His mother; His name is Yasoda-nandana because He awarded His childhood pastimes to Yasoda at Vrndavana; His name is Partha-sarathi because He worked as charioteer of His friend Arjuna. Similarly, His name is Hrsikesa because He gave direction to Arjuna on the Battlefield of Kuruksetra.
Arjuna is referred to as Dhananjaya in this verse because he helped his elder brother in fetching wealth when it was required by the king to make expenditures for different sacrifices. Similarly, Bhima is known as Vrkodara because he could eat as voraciously as he could perform herculean tasks, such as killing the demon Hidimba. So the particular types of conchshell blown by the different personalities on the side of the Pandavas, beginning with the Lord's, were all very encouraging to the fighting soldiers. On the other side there were no such credits, nor the presence of Lord Krishna, the supreme director, nor that of the goddess of fortune. So they were predestined to lose the battle – and that was the message announced by the sounds of the conchshells.


Non Traditional Wedding Rings is free HD wallpaper. This wallpaper was upload at May 24, 2018 upload by avvv in Wedding.
Description: Non Traditional Wedding Rings from the above 450x550 resolutions which is part of the Wedding. Download this image for free in HD resolution the choice "download button" below. If you do not find the exact resolution you are looking for, then go for a native or higher resolution.
Snapshot non metal list Archives Soldes2016 the most beautiful specifically for you from non traditional wedding rings , non traditional christmas movie, non traditional exercise, non traditional wedding dress, source: soldes2016.club.
Images Non Traditional Wedding Bands Inspirational astonishing Wedding the latest for you from non traditional wedding rings , non traditional, source: rmtprocessing.com.
Snapshot Chic Rose Gold and Ruby Engagement Ring Non Diamond Engagement noblest for you from non traditional wedding rings , source: themepirate.me.
Photo Non Diamond Engagement Rings Etsy Beautiful 40 Beautiful Unique the latest specifically for you from non traditional wedding rings , source: yanagaseportal.com.
Snapshot How to Turn Your Non Diamond Wedding Rings From Zero to Hero the latest for you from non traditional wedding rings , non traditional, source: monogramnecklacegold.com.
Picture Non Traditional Engagement Ring Nature Designs 12 noblest specifically for you from non traditional wedding rings , non traditional christmas movie, non traditional wedding dress, non traditional exercise, source: pinterest.com.
Photo Rose Gold Engagement Rings for a Non Traditional Bride special for you from non traditional wedding rings , non traditional christmas movie, non traditional wedding dress, non traditional exercise, source: pinterest.com.
Portrait 25 Alternative Engagement Rings for the Unconventional Bride special specifically for you from non traditional wedding rings , source: pinterest.com.
Photograph Unique Non Traditional Engagement Rings Lovely Wedding Non most popular just for you from non traditional wedding rings , non traditional, source: miabambina.co.uk.
Photograph 100 Best Non Traditional Engagement Rings the latest for you from non traditional wedding rings , source: in.pinterest.com.
Photo Non Traditional Wedding Bands Xinghui best just for you from non traditional wedding rings , non traditional wedding dress, non traditional exercise, non traditional christmas movie, source: xinghui.me.
Illustration 47 Lovely and Inspiring Purple Diamond Wedding Ring Concept the latest for you from non traditional wedding rings , source: kellymeekerdesigns.com.
Photograph Alternative Engagement Rings for the Non Traditional Bride–at Every noblest just for you from non traditional wedding rings , non traditional, source: pinterest.com.
Picture How much to spend on an engagement ring the latest specifically for you from non traditional wedding rings , source: iwillteachyoutoberich.com.
Photograph Bespoke Engagement Rings the most beautiful for you from non traditional wedding rings , source: hkjewellery.co.uk.
Photo Engagement Ring with Wedding Band New Engagement Ring and Wedding most popular specifically for you from non traditional wedding rings , source: miabambina.co.uk.
Photo Unique Stacking Bands for Non Traditional Brides the most beautiful specifically for you from non traditional wedding rings , source: pinterest.com.
Figure Non Traditional Engagement Rings Etsy Arsun best specifically for you from non traditional wedding rings , non traditional, source: arsun.me.
Images Adorable Vintage Engagement Rings for Women and Vintage Non Diamond leading just for you from non traditional wedding rings , source: rubyholic.com.
Photograph Era Design Vancouver Custom Engagement Rings and Unique Wedding Bands most popular specifically for you from non traditional wedding rings , non traditional wedding dress, non traditional exercise, non traditional christmas movie, source: eradesign.ca.
Portrait Non Diamond Wedding Ring Wonderfully Marlena 14k White Gold Round the most beautiful for you from non traditional wedding rings , non traditional, source: lux-wedding.com.
Photograph No Stone Wedding Rings Lovely the Ultimate Engagement Ring Settings superior for you from non traditional wedding rings , non traditional wedding dress, non traditional exercise, non traditional christmas movie, source: urbanstylzweddings.com.
Illustration 66 Unique Non Diamond Wedding Rings noblest just for you from non traditional wedding rings , source: thesebrokenvases.com.
So, if you like to obtain the incredible pictures regarding (Awesome non traditional wedding rings), simply click save link to store the images to your computer. They're all set for download, if you want and wish to have it, click save logo on the post, and it will be directly downloaded to your computer.
non traditional exercise, non traditional wedding dress, non traditional christmas movie, suggested.
As a final point if you want to gain new and recent graphic related to (New non traditional wedding rings), please follow us on google plus or book mark this site, we try our best to present you regular up-date with all new and fresh photos.
Hope you love staying here. For many updates and recent news about (Fresh non traditional wedding rings) images, please kindly follow us on twitter, path, Instagram and google plus, or you mark this page on book mark area, We try to present you up grade regularly with all new and fresh graphics, like your surfing, and find the ideal for you.
Here you are at our website, articleabove (Luxury non traditional wedding rings) published by at . Today we're delighted to declare that we have found an incredibly interesting topicto be pointed out, that is (Best of non traditional wedding rings) Some people looking for info about (Lovely non traditional wedding rings) and definitely one of these is you, is not it?
Download Non Traditional Wedding Rings with original resolution Click Here!
23 Photos of "Non Traditional Wedding Rings"
Related Posts of "Non Traditional Wedding Rings"


text:
Q: Handling Grammar / Spelling Issues in Translation Strings We are currently implementing a Zend Framework Project, that needs to be translated in 6 different languages. We already have a pretty sophisticated translation system, based on Zend_Translate, which also handles variables in translation keys.
Our project has a new Turkish translator, and we are facing a new issue: Grammar, especially Turkish one. I noticed that this problem might be evident in every translation system and in most languages, so I posted a question here.
Question: Any ideas how to handle translations like:
Key: I have a[n] {fruit}
Variables: apple, banana
Result: I have an apple. I have a banana.
Key: Stimme für {user}[s] Einsendung
Variables: Paul, Markus
Result: Stimme für Pauls Einsendung,
Result: Stimme für Markus Einsendung

Anybody has a solution or idea for this? My only guess would be to avoid this by not using translations where these issues occur.
How do other platforms handle this?
Of course the translation system has no idea which type of word it is placing where in which type of Sentence. It only does some string replacements...
PS: Turkish is even more complicated:
For example, on a profile page, we have "Annie's Network". This should translate as "Annie'nin Aği".
If the first name ends in a vowel, the suffix will start with an n and look like "Annie'nin"
If the first name ends in a consonant, it will not have the first n, and look like "Kris'in"
If the last vowel is an a or ı, it will look like "Dan'ın"; or Seyma'nın"
If the last vowel is an o or u, it will look like "Davud'un"; or "Burcu'nun"
If the last vowel is an e or i, it will look like "Erin'in"; or "Efe'nin"
If the last vowel is an ö or ü, it will look like "Göz'ün'; or "Iminönü'nün"
If the last letter is a k (like the name "Basak"), it will look like "Basağın"; or "Eriğin"

A: It is actually very hard problem, as grammar rules are different even among languages from the same family. I don't think you could easily do anything for let's say Slavic languages...
However, if you want to solve this problem (because this is extra challenging) and you are looking for creative (cross inspiring) ways to do that, you might want to look into something called ChoiceFormat (example would be one from ICU Project) or you can look up GNU Gettext's solution for plural forms problem.

A: ICU (mentioned above) has a SelectFormat http://site.icu-project.org/design/formatting/select that may be of help- it's like a choice format but with arbitrary keywords.  Also, it does have a PluralFormat which already has rules for many language's plural rules.


By now, anyone that does a song with Lil Wayne should expect it to leak prematurely. Which is the case with the first release from B.o.B's upcoming Sophomore album. So get your stream on for now and be sure to support and cop off iTunes on October 3rd!


Determining the proper dose of insulin for each patient is complex, particularly in the hospital setting where insulin requirements are often a moving target due to stress and other health factors.
You're not alone. Achieving recommended blood glucose control targets remains a challenge for many hospitals.
The Precision Insulin Dosing Software, EndoTool Glucose Management System, Makes Complex Insulin Protocols, Straightforward.
With safe and personalized insulin dosing recommendations based on physiological patient-specific factors and individual patient's response to treatment, EndoTool helps patients achieve glycemic control and optimize patient outcomes.
Diabetes and hyperglycemia are present in every unit within a hospital. As an FDA-cleared clinical decision support software platform, the EndoTool Glucose Management System can aid clinicians throughout your organization and across the continuum of care.
Providing clinical decision support for intravenous (IV) insulin dosing, EndoTool IV is designed to safely and effectively address hyperglycemia and hypoglycemia with dosing recommendations for all patient types, even the most challenging patient cases, including diabetic ketoacidosis (DKA), hyperosmolar hyperglycemic nonketotic syndrome (HHS) and gestational diabetes.
Providing clinical decision support for basal-bolus subcutaneous insulin therapy, EndoTool SubQ, recommends a personalized insulin therapy regime to manage blood glucose with less variability, and leave the hospital with blood glucose in control.
In order to improve the safety and effectiveness of your inpatient glucose management program, you must know how your organization is performing. With EndoTool Analytics, you have the ability to identify and analyze trends across the organization, track safety and clinical effectiveness, and enhance productivity.