text:
Home MMO News Ultimate Justice: Riot Finds, Fixes League of Legends Exploit
Ultimate Justice: Riot Finds, Fixes League of Legends Exploit
So there was a bit of a kerfuffle in League of Legends last week. It seems that an exploit allowed players to activate their ultimate abilities way earlier in the game than should have been allowed, thanks to a third-party program. You can get a full description of the exploit/hack here.
Riot acted fairly swiftly, patching out the exploit and taking action to identify and ban the exploiters. As Riot Player Relations Specialist Aether said in a post on the LoL forums:
"Hey everyone! Wanted to let you know where we landed with this exploit – and to be clear, this was an exploit requiring game manipulation in violation of the Terms of Service, we are identifying abusers (fortunately a small number), and we are in the process of banning offending accounts. Regarding the exploit itself, we patched out a server-side fix this morning (no download necessary on your end) and based on initial monitoring, the issue is resolved."
So all's well that ends well, right, with a plethora of righteous bannings? Well, maybe not if you were one of the players who lost a match to one of the exploiters. And there's the usual "Riot didn't fix this fast enough!" QQ-ing going on, which is causing something of a… well, riot.
Did you encounter this over the weekend? And what do you think of Riot's response?
kestas24 October 29, 2014 at 3:38 pm
They did not fix a thing now the same hack is being used for normal skills. Just had a mach where Nasus was allways in his ulti and used slow without delays i mean slowing all team with his slow skill
RenTheRose October 29, 2014 at 10:12 am
how about we talk about the article not what game is better i think they handled it really well a week to find the exploit and kill it while banning the account not half bad and fairly fast seems they have to dig through forums to find out about it something that dota2 would also have to do. good job
BaDBlo0D October 29, 2014 at 5:30 am
Hey guys,If i don't like a game and I don't care of a game I just don't comment it (because this game is nothing to me),if you feel the same thing why are you posting here your things?Go play dota2 and heroes of the storm (where is the storm in this game anyway 😀 ).Correct me if I'm wrong,but when you don't care about something,why would you make comments like this: "league of losers" .I actually don't give a crap about what you are playing boys,just coment about the bug if you care about.
Mamson October 28, 2014 at 12:40 am
Heroes of the Storm – N1 !!!!!!!!!!!!!
Hans Ulrich Rudel October 28, 2014 at 12:10 am
So much bz and dota 2 fanboy here
exaccuss October 27, 2014 at 9:13 pm
People still play league of losers?
Lawful October 29, 2014 at 2:12 am
Your momma, is a loser.
WellF8c9 October 29, 2014 at 3:24 pm
Only 60 mil players per month.
Gala October 30, 2014 at 12:44 pm
Just so you know, those aren't actual users all at once, a shit ton of those accounts are just smurfs or even bots
"Shut up Dota 2 Fanboy" lol…I feel like these are the only lines of defense for LoL players. I stopped playing due to the insane amounts of (obviously) 10 year olds who don't work together as a team, complain all match, bitch about kill steals, you name it, they complain about it. If it's not little bitching kids, its cocky adults who (as an example) gave me shit for only having a couple hundred wins….excuse me sir, but I do work for a living. This game got so stressful to the point of uninstallation. I'd rather playing something where the people aren't just a radioactive shitpile. How the fuck is this a sport now? League of Toxicity, League of Middle School, League of Douchebags.
sotrue November 3, 2014 at 7:14 pm
I have to agree with you.I will be honest though and pay my respect to RIOT for creating a really good game and they were never greedy since it was totally free from the releash but its community will be the downfall of LoL.So much anger and frustration in there that really drives people away.
KainDarkfire October 27, 2014 at 8:51 pm
They were too busy doing things like hosting/cleaning up after massive E-sports tournaments that people actually cared about.
blabla October 27, 2014 at 8:46 pm
shut up dota2 fanboy
league of peasants October 27, 2014 at 4:02 pm
Oh look league of chimps manages to fix bug in a week. If this was dota2 the exploit would be fixed winthin 20 minutes.


text:
BLU-RAY-Kleiber: I am lost to the world
ΕΤΑΙΡΙΑ: C Major
ΚΑΛΛΙΤΕΧΝΗΣ: Ricardo Muti
ΚΑΤΗΓΟΡΙΑ: BLUERAY
Κωδικός: 814337011536
Carlos Kleiber, the eccentric and reclusive conductor has achieved cult status in music circles and has built a loyal fan base. The film uncovers some of the mysteries and tries to clear up preconceptions of one of the most elusive conductors: what were the real reasons he cancelled that often? It sheds light on the relationships with his family, including his father and mother, traces the developments of his career and covers the 'mythologizing' that started during the lifetime of the maestro. Carlos Kleiber has always been a major mystery to the world and probably even to himself too. He disposed to close the door to his closest family circle for any biographers and his children indeed respect his wish. This is why the filmmaker had to do his research amongst the conductor's musical companions, collaborators and friends. The film includes never seen before film footage, interviews with Ricardo Muti, Otto Schenk, Dr. Otto Staindl, friend and attending physician of Carlos Kleiber, members of the Wiener Philharmoniker, the Münchener Philharmoniker and the Berliner Philharmoniker. Many of them own letters or small notepads by Kleiber, documentary reproductions, photographs or private video copies of rehearsals and concerts. In addition to this, his rare records are milestones and extracts of them will certainly be included in the film.
This documentary is also available on DVD: C Major 705608
Picture: 16:9, colour/bw
Sound: PCM Stereo
Subtitles: Original language: German version and English spoken version, French, Spanish, Japanese and Korean.
Booklet: Eng/Ger/Fre
"Painstaking and rigorous, freewheeling and visionary, the legendary conductor's mixed characteristics clearly emerge in this gripping documentary. No complete performances included, but the rehearsal footage is electrifying." BBC Music Magazine
Άλλα προϊόντα από την κατηγορία BLUERAY
BLU RAY-EUGENE ONEGIN-TCHAIKOVSKY
BLU-RAY-STRAVINSKY/DEBUSSY (BD)
1 BD, 72 min 45 sec, RCO Live
BLU-RAY-BELLINI-NORMA (BD)
1 BD, Opus Arte
BLU-RAY - Weber - Der Freischutz
BLU RAY-GISELLE-ADAM-BOLSHOI
BLU-RAY-MONTEVERDI-TWO CLASSIC OPERAS (BD)
Blu-Ray - Puccini: Madama Butterfly
Blu-Ray, Opus Arte
Αρχική › Classical › Orchestral music ›

redpajama_set_name: RedPajamaCommonCrawl


text:
Rick Scott Distances Himself From Trump
Florida Gov. Rick Scott is keeping his distance from President Donald Trump in his bid to win the Senate, Politico is reporting.
Scott, a Republican, is looking to unseat Sen. Bill Nelson, D-Fla.
Scott had chaired the Super PAC backing Trump's 2016 presidential bid, Politico noted. And it reported Scott was frequently with Trump at the White House and at the president's resorts in South Florida and New Jersey in 2017.
But now Scott seldom speaks about Trump and will not commit to having an event with him.
"I want everybody that believes in what I'm going to do to come help me win," Scott told the Tampa Bay Times when asked about Trump.
Nelson has also commented on Scott's distancing himself from president.
"My opponent is acting as if Trump has the plague," Nelson said, according to the Orlando Sentinel.
Scott recently skipped a Trump rally for Republican Ron DeSantis' campaign for governor.
However, he is not entirely snubbing the president. The two flew on Air Force One together in July when he accompanied the president on a tour of Tampa Technical High School.
Politico noted Trump won Florida by 1.2 percent percentage points. And a recent Quinnipiac poll showed Scott and Nelson tied with 49 percent each.
One Republican familiar with the political operations of Trump and Scott said it's a "keep-away-from-Trump strategy. But Scott doesn't want to be in-your-face about it."
← Fine Arts Majors Have A Higher Unemployment Rate Than High School Dropouts
Nomura Analyst: Tesla Stock 'No Longer Investable' Due to Elon Musk →


text:
Q: Setting tint color for UIImageView on old iPad doesn't work when view did load This is how it looks like on iPad Pro:

and on iPad 4:

Why there is the difference?
The arrow is an UIImageView connected through @IBOutlet with image rendered as Template Image:

When viewDidLoad() is called all I do is:
downArrowImageView.tintColor = UIColor.easternBlue()

redpajama_set_name: RedPajamaStackExchange


CPD Solutions has a new range of Online Mini Series courses™ designed specifically for Advanced Practitioners and those at that level. Look out for the pink 'Advanced' icon just to let you know that the general content of the course will be more in depth and assume a certain level of experience, knowledge and competence.
These are a great addition to the ever expanding range of online course we offer. Click here to find out more!


A Tempest: A Storm that has never ended.
In seven days, my family and I will return to our home town, to spend the summer between the ending of one school year to another. As an expatriate American living abroad, it pains me to see my country so inflamed by institutional racism that has yet to be reconciled: Ferguson, Baltimore, South Carolina. It is a septic wound that prevents the underlying principles of our democracy from fulfilling the dreams of our founding fathers. Add to the flames the rampant attack on the poor, and what gels is a concoction of inequity, injustice and incomprehensible sadness that seeps into the vast majority of families living on the edge trying to survive.
In the essay, he proposes a the grotesque butchering of Irish children and to use them as a commodity to feed the masses. He sought to bring to light the plight of the exploited Irish people in this highly absurd proposal.
You see, the objectification of a group of "unwanted" people in a society allows institutions to be excused for inexcusable behavior. We have seen this narrative played out time again, in countless countries. It is a variation on a theme of death and destruction swept away under the guise of the one time occurrence or a single aberration of a mentally unstable person or group of people. After each incident people cry out and our officials promise that it will never happen again. Yet it does.
Despite all of our advances since emerging from caves, as species we have equally advanced our expertise of exploiting our fellow sisters and brothers in the most despicable and subtle ways.
For over twenty years, I have worked as an educator. I have intentionally sought to bring light on the issues that tear the fabric our communities at home and abroad. I would be remiss if I sat idle and did not add my voice to the dedicated people who fight for justice and equity. Do not lose hope even in the face of insurmountable odds. It is only through dialogue and a commitment towards change that anything good happens in the world. I head into a tempest, as my country loses it temper.


ISLAMABAD: Former all-rounder Abdul Razzaq hopes that easing tensions between Pakistan and India would help restore international cricket between the two rivals at the earliest.
According to firstpost.com, Razzaq- recently appointed as the Assistant/Bowling Coach by Quetta Gladiators for the second season of the Pakistan Super League (PSL) said, "Sports have always enhanced friendship between the two nations and I believe it can do it again."
"The tension on the border needs to end and the two countries need to live side by side in a friendly and cordial environment."
"Given the continued tension on the border it makes it very difficult to play cricket in such an atmosphere but I hope the tensions ease and India versus Pakistan cricket resumes."
Speaking about the Pakistan-Australia upcoming Test series, he said that Australia isn't the team it used to be.
"Despite the setback in New Zealand, Pakistan is not a bad Test team. I think the wickets in Australia will be truer than the ones Pakistan encountered in New Zealand and the wickets should be more to the liking of the Pakistanis," he said.
"The ball comes onto the bat nicely in Australia and that should encourage the Pakistan batsmen to play more positively. I am hopeful that Pakistan can challenge Australia and win at least one Test there."
Responding to a question regarding Pakistan not producing pace-bowling all-rounders, he said that Pakistan Cricket Board (PCB) needs to seek out former cricketers like myself to help in this regard.
"If we were allowed to work with players at the Under-14, Under-16 and Under-18 levels then there is no reason why we cannot produce genuine pace-bowling all-rounders," he said.
He said he believes that whoever is entrusted in a coaching role should leave his ego behind and ensure that his focus is solely on helping the players.
"It doesn't matter how big a star you were in your playing days or how many matches you won for your country, your aim should be to help and pass your experience to the players," he said.


text:
Q: SpriteKit Physics not working I made a sprite according to apple's programming guide, but when the game starts, the sprite should fall (according to the guide), but it doesn't.
Here is how I did it:
- (void) createContents {
    self.backgroundColor = [SKColor colorWithRed:0.1 green:0.6 blue:0.8 alpha:1];
    self.scaleMode = SKSceneScaleModeAspectFill;

    SKSpriteNode *player = [self newPlayer];
    player.name = @"player";
    player.position = CGPointMake(CGRectGetMidX(self.frame), player.size.width/1.5);

    [self addChild:player];
}
- (SKSpriteNode *) newPlayer {
    SKSpriteNode *aPlayer = [[SKSpriteNode alloc]initWithColor:[SKColor whiteColor] size:CGSizeMake(40,40)];
    aPlayer.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:aPlayer.size];

    return aPlayer;
}

the createContent method is called by didMoveToView
Why doesn't it, like apple stated in the guide, plummet through the bottom of the screen

A: I believe the player did drop to the bottom screen, but it is too fast that you missed it. Since, there is no physical body on the bottom of the screen to stop it and your player is created straight after the scene is shown on the screen.
There are two simple ways to prove it:

*

*if you set aPlayer.physicsBody.affectedByGravity = NO; you will see aPlayer node floating around.

*if you change [self addChild:player]; to [self performSelector:@selector(addChild:) withObject:player afterDelay:4.0];, you will surely observe after 4 seconds, aPlayer suddenly appear and drop to bottom of the screen
and you should set the Y position of aPlayer to higher value to see more of the falling process. In SpriteKit coordinate system, (0,0) coordinate is on bottom left corner

A: Use the Cmd+Shift+F find to search for a few things.

*

*Make sure you haven't accidentally set .dynamic = NO;

*Make sure you haven't accidentally set the physics world gravity to something undesirable. (Like 0, 0)

*Very important one... make sure you are initing self.physicsBody such as...

self.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame];

A: Likely because you aren't setting the scene's gravity property.
In your SKScene:
self.physicsWorld.gravity = CGVectorMake(0,x) // replace x with your desired gravity magnitude and direction (I suggest -9.8)


Tina Brichacek joined Skidmore in 1990, developing strong relationships with customers and suppliers. Her cross-functional expertise has enabled her to support multiple business functions, including Sales Support, Purchasing and Inside Sales.
In her current role as Sales & Marketing Administrative Manager, she leads our Sales Assistants and Documentation Administrators. Tina provides support to key customers and suppliers.
Her passions include baking, gardening, and physical activities like biking, hiking and aerobics.


text:
Computer Programming Tutorial
Computer Programming - Home
Computer Programming - Overview
Computer Programming - Basics
Programming - Environment
Programming - Basic Syntax
Programming - Data Types
Computer Programming - Variables
Computer Programming - Keywords
Computer Programming - Operators
Computer Programming - Decisions
Computer Programming - Loops
Computer Programming - Numbers
Programming - Characters
Computer Programming - Arrays
Computer Programming - Strings
Computer Programming - Functions
Computer Programming - File I/O
Computer Programming - Summary
Computer Programming Resources
Programming - Quick Guide
Computer Programming - Resources
Programming - Discussion
Computer Programming - Data Types
Let's discuss about a very simple but very important concept available in almost all the programming languages which is called data types. As its name indicates, a data type represents a type of the data which you can process using your computer program. It can be numeric, alphanumeric, decimal, etc.
Let's keep Computer Programming aside for a while and take an easy example of adding two whole numbers 10 & 20, which can be done simply as follows −
Let's take another problem where we want to add two decimal numbers 10.50 & 20.50, which will be written as follows −
10.50 + 20.50
The two examples are straightforward. Now let's take another example where we want to record student information in a notebook. Here we would like to record the following information −
Now, let's put one student record as per the given requirement −
Name: Zara Ali
Class: 6th
Section: J
The first example dealt with whole numbers, the second example added two decimal numbers, whereas the third example is dealing with a mix of different data. Let's put it as follows −
Student name "Zara Ali" is a sequence of characters which is also called a string.
Student class "6th" has been represented by a mix of whole number and a string of two characters. Such a mix is called alphanumeric.
Student section has been represented by a single character which is 'J'.
Student age has been represented by a whole number which is 13.
Student sex has been represented by a single character which is 'F'.
This way, we realized that in our day-to-day life, we deal with different types of data such as strings, characters, whole numbers (integers), and decimal numbers (floating point numbers).
Similarly, when we write a computer program to process different types of data, we need to specify its type clearly; otherwise the computer does not understand how different operations can be performed on that given data. Different programming languages use different keywords to specify different data types. For example, C and Java programming languages use int to specify integer data, whereas char specifies a character data type.
Subsequent chapters will show you how to use different data types in different situations. For now, let's check the important data types available in C, Java, and Python and the keywords we will use to specify those data types.
C and Java Data Types
C and Java support almost the same set of data types, though Java supports additional data types. For now, we are taking a few common data types supported by both the programming languages −
Value range which can be represented by this data type
Character char -128 to 127 or 0 to 255
Number int -32,768 to 32,767 or -2,147,483,648 to 2,147,483,647
Small Number short -32,768 to 32,767
Long Number long -2,147,483,648 to 2,147,483,647
Decimal Number float 1.2E-38 to 3.4E+38 till 6 decimal places
These data types are called primitive data types and you can use these data types to build more complex data types, which are called user-defined data type, for example a string will be a sequence of characters.
Python has five standard data types but this programming language does not make use of any keyword to specify a particular data type, rather Python is intelligent enough to understand a given data type automatically.
Here, Number specifies all types of numbers including decimal numbers and string represents a sequence of characters with a length of 1 or more characters. For now, let's proceed with these two data types and skip List, Tuple, and Dictionary, which are advanced data types in Python.


text:
Coachella 2015: Why weekend 2 was better
Things To DoMusic + Concerts
Matthew Koma performs during the Coachella Valley Music and Arts Festival in Indio, CA, Saturday, April 18, 2015. (Micah Escamilla/Inland Valley Daily Bulletin)
Festival goers were greeted by both the caterpillar and butterfly on the final day of the 2015 Coachella Valley Music and Arts Festival in Indio, CA Sunday, April 19, 2015.(Andy Holzman/Inland Valley Daily Bulletin)
By Liset Márquez | lmarquez@scng.com, Mariecar Mendoza | mariecar.mendoza@langnews.com and Wes Woods II | wwoods@scng.com | Inland Valley Daily Bulletin
PUBLISHED: April 19, 2015 at 10:58 p.m. | UPDATED: August 29, 2017 at 5:07 a.m.
INDIO >> The debate on which weekend of the Coachella Valley Music & Arts Festival was better is on.
The two weekend-long festival wrapped up late Sunday, sending an estimated 90,000 fans home with memorable moments from a DJ set by hip-hop legend Sir Mix-a-Lot to Jack White's electrifying send-off and Kanye West's surprise appearance with The Weeknd. The highlights, even before Drake hit the stage Sunday night, are enough fodder for fans to brag about on social media for days.
"It seems like there's more surprises in the second week," said Bakersfield resident Jana Haney, who has come to Coachella for 10 years now, attending both weekends over the past three years with Jonathon Williamson. "And the energy was definitely brought."
Williamson particularly noticed acts came back with more confidence during round two, seemingly working out the kinks from their first set.
"Everybody is relaxed in the second weekend," he said. "It's like, 'OK, we've done this before.' "
Coachella performers like Angus and Julia Stone, singer-songwriter Andrew McMahon and Flying Lotus seem to agree.
McMahon, who performed a stunning set Saturday complete with confetti, typically comes to Coachella whether he's on the bill or not and observed weekend two tends to be a bit more relaxed.
"I came the first year it was two weekends and I was super skeptical… I have to tell you that it was one of the best weekends of my life," McMahon said of 2012.
Why weekend two was better
"Coachella pro tip: weekend two is always better. Less hype. Better sets," tweeted Los Angeles producer and rapper, Flying Lotus, on Sunday afternoon.
People on Twitter even joked that Saturday night's minor earthquake, a 3.2 magnitude shaker in Desert Hot Springs less than 30 miles west of the festival, was an indication of a more rockin' second weekend.
Second weekend's victory, however, wasn't a foregone conclusion.
The criticism began early as Friday's temperatures were nearly 20 degrees hotter than the previous weekend and performers like AC/DC delivered similar sets from the weekend before. While still great performances, it lacked that Coachella oomph festivalgoers now expect from the cultural phenomenon produced by L.A.-based Goldenvoice.
But Coachella quickly redeemed itself, bringing back-to-back guest appearances by Ciara, DMX and Tove Lo to the Sahara tent on Friday night and a return of Travis Barker, again during Run The Jewels plus a guest drumming session during Deorro's set on Saturday.
White fans were also treated to the rocker's last full band show, which took on a personal note when White dedicated the set to his late keyboardist from Long Beach. Isaiah "Ikey" Owens died in October from a heart attack while on the road with White in Mexico.
"We are going to play for him," White told the crowd just before performing "Hotel Yorba" on Saturday.
Record Store Day also fell during the second weekend of Coachella, allowing music collectors at the festival a chance to snag rare vinyls that could not be purchased last weekend. Records, the record store on site at Coachella, offered more than 2,000 exclusive items as part of the eighth annual Record Store Day, while White's Third Man Rolling Record , a record store that operates out of a truck, featured releases from White as well as a free three-month subscriptions the online streaming site Tidal, spearheaded by music mogul and Coachella veteran Jay Z.
As if going big musically wasn't enough, Goldenvoice went even bigger with the art this year, bringing out both the beloved giant moving caterpillar and butterfly on Sunday, stating it was "going all out" for the last day of the festival.
Traffic improvements
Traffic wasn't too bad either, considering the funneling of thousands of fans that the Indio Police Department had to deal with during the late night hours. While it helped that Goldenvoice opened up after hours activities in the campgrounds to all festival attendees, from a water balloon toss, team relay races, Silent Disco and more, Indio police spokesman Sgt. Dan Marshall attributed the better flow of traffic to the feedback from last week.
"We readjust every day to fine-tune things," he said.
The verdict is still out, however, for many fans like Taylor Whelchel.
"It's hard to say," said the Los Angeles resident who attended both weekends this year. "It's the best of both worlds."
Liset Márquez | Reporter
Liset Márquez covers the cities of Pomona, Claremont, La Verne and San Dimas for the Inland Valley Daily Bulletin. A beat reporter for the Bulletin since 2006, she previously wrote for the Chattanooga Times Free Press. She keeps a watchful eye on city councils and the Dodgers.
lmarquez@scng.com
Follow Liset Márquez @Journaliset
Mariecar Mendoza
Wes Woods II | reporter
Wes Woods covers breaking news for the Los Angeles Daily News.
wwoods@scng.com
Follow Wes Woods II @JournoWes
Madonna adds two Celebration Tour dates at Kia Forum in 2024


There are whispers around the league that neither Jimmy Butler nor Kawhi Leonard wants to play with LeBron, and sources I've talked to would be shocked if Klay Thompson left Golden State. That might leave the Lakers with Walker or Middleton as their top remaining free-agent targets. If I'm the Hornets, that possibility would have me worried.
The idea that two of next summer's biggest free agents don't want to play with the King isn't altogether a new idea. Butler's disinterest in the Lakers was included when reports said the Clippers were in the running for his services following his trade demand. The same could be said about Kawhi this summer after LeBron signed with the Lakers. Leonard—who went to high school in Riverside, California, just an hour east of L.A.—allegedly switched his interest to LA's other team, the Clippers, after Bron signed with the purple and gold. It's not so hard to envision why.
James' fame is a sarlacc for the spotlight, gobbling it up wherever he goes. Credit and superstar endorsements were, perhaps ostensibly, the whole reason Kawhi Leonard's camp—i.e. Cousin Dennis—wanted out of San Antonio. Jimmy Butler claims winning is all that matters, but if that was really the case, why would he be anathema to the prospect of teaming with LeBron on the Lakers? As Cleveland's sad-sack run to the Finals showed last year, which marked James' eighth straight trip to the big stage, he's still the best player in the Association.
This is still speculative mumbo-jumbo, but the best chance Leonard and Butler have of dethroning the Warriors is by teaming with the last guy to do it. However, if they'd rather be the metaphorical man wherever they play next, than alongside LeBron won't work. And they know it. James' star power blots out the sun for the rest of his teammates, and it seems like both Jimmy and Kawhi are more dependent on the media's photosynthesis than previously thought.
Is Kawhi Leonard More Interested in the Clippers Than Lakers Now?


text:
Laxmii (2020)
Aasif's belief in logic and science shatters when he gets possessed by a transgender's ghost.
Director: Balakrishnan Thevar(co-director), Lawrence Raghavendra
Actors: Akshay Kumar, Ashwini Kalsekar, Ayesha Raza, Kiara Advani, Manu Rishi Chadha, Rajesh Sharma, Sharad Kelkar
Keywords:Hindi Movies
Hindi HD.720p Download Hindi HD.1080p Download
Lady and the Tramp (2019)
The love story between a pampered Cocker Spaniel named Lady and a streetwise mongrel named Tramp. Lady finds herself out on the street after her owners have a baby and…
3 Idiots (2009)
In the tradition of "Ferris Bueller's Day Off" comes this refreshing comedy about a rebellious prankster with a crafty mind and a heart of gold. Rascal. Joker. Dreamer. Genius… You've…
Spin Me Round (2022)
When the manager of an Italian restaurant chain wins the opportunity to attend the franchise's educational immersion program in Italy, what she thought would be a romantic getaway devolves into…
Country: Italy, United States
Bhool Bhulaiyaa 2 (2022)
When strangers Reet and Ruhan cross paths, their journey leads to an abandoned mansion and a dreaded spirit who has been trapped for 18 years.
Love Today (2022)
A young couple is made to exchange their phones for a day. What follows is a hilarious and emotional sequence of events that puts their lives in misery.
The Misfits (2021)
After being recruited by a group of unconventional thieves, renowned criminal Richard Pace finds himself caught up in an elaborate gold heist that promises to have far-reaching implications on his…


text:
Q: Resetting the row number for when a value changes I'm fairly new to using ROW_NUMBER() in SQL and I'm in the situation where I want the row number to start from 1 whenever the margin gets changed.
The situation is slightly convoluted since I want the row number to reset irrespective if the margin was the same value before. Below is what I'm trying to achieve:

Any help on the above would be greatly appreciated!

A: This is a gaps and islands problem, and one approach uses the difference in row numbers method:
WITH cte AS (
    SELECT *, ROW_NUMBER() OVER (PARTITION BY CAMPAIGN_NAME ORDER BY DATE DESC) rn1,
              ROW_NUMBER() OVER (PARTITION BY CAMPAIGN_NAME, MARGIN ORDER BY DATE DESC) rn2
    FROM yourTable
)

SELECT CAMPAIGN_NAME, DATE, MARGIN, REVENUE,
       ROW_NUMBER() OVER (PARTITION BY CAMPAIGN_NAME, MARGIN, r1 - r2
                          ORDER BY DATE DESC) AS RN
FROM cte
ORDER BY
    CAMPAIGN_NAME,
    DATE DESC;


text:
package org.squbs.testkit.japi.junit;

import akka.http.javadsl.marshallers.jackson.Jackson;
import akka.http.javadsl.model.HttpRequest;
import akka.http.javadsl.testkit.TestRoute;
import org.junit.Test;
import org.squbs.testkit.japi.InfoRouteWithActor;
import org.squbs.testkit.japi.RouteResultInfo;
import org.squbs.testkit.japi.JUnitCustomRouteTestKit;

import java.util.Arrays;
import java.util.List;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;

public class CustomRouteTestKitResourcesTest extends JUnitCustomRouteTestKit {

    static List<String> resources = Arrays.asList(CustomRouteTestKitResourcesTest.class.getClassLoader()
            .getResource("").getPath() + "/CustomTestKitDefaultSpec/META-INF/squbs-meta.conf");

    public CustomRouteTestKitResourcesTest() {
        super(resources, false);
    }

    @Test
    public void testSimpleRoute() {
        TestRoute simpleRoute = testRoute(InfoRouteWithActor.class);
        RouteResultInfo routeInfo = simpleRoute.run(HttpRequest.GET("/decrement/10"))
                .assertStatusCode(200)
                .entity(Jackson.unmarshaller(RouteResultInfo.class));
        assertEquals("", routeInfo.getWebContext());
        assertTrue("ActorPath: " + routeInfo.getActorPath() + " does not start with akka://",
                routeInfo.getActorPath().startsWith("akka://"));
        assertEquals(9, routeInfo.getResult());
    }

    @Test
    public void testSimpleRouteWithContext() {
        TestRoute simpleRoute = testRoute("my-context", InfoRouteWithActor.class);
        RouteResultInfo routeInfo = simpleRoute.run(HttpRequest.GET("/my-context/decrement/20"))
                .assertStatusCode(200)
                .entity(Jackson.unmarshaller(RouteResultInfo.class));
        assertEquals("my-context", routeInfo.getWebContext());
        assertTrue("ActorPath: " + routeInfo.getActorPath() + " does not start with akka://",
                routeInfo.getActorPath().startsWith("akka://"));
        assertEquals(19, routeInfo.getResult());
    }
}

redpajama_set_name: RedPajamaGithub


TODAY, Greg Bright, 56, sits on the cement porch of his yellow clapboard house in New Orleans' 7th Ward and rests his hand on the head of his yellow dog, Q. It is 2012, and he often finds himself musing over the notion of time—time past, time lost, time wasted. "It feels like a minute since I been out here," he says. It took some time to adjust to life on the outside, he admits, and once, on a dark rainy morning as he found himself biking seven miles in the rain to his miserable job working the line in a chicken plant in Mississippi, he felt real despair—just recognizing that he was 47 years old and had never owned a car. He tried hard to dismiss the sobering thought that, arrested at age 20 and doing 27 years of time, he'd been "seven more years in prison than I was on the streets." Sometimes, he says, "it's little things like that" that really threaten to drag him down into sorrow.
So he chose to do something that both keeps those wasted years fresh in his memory yet also mitigates the sense of powerlessness he sometimes feels. He helps to educate others in the hopes that his story will spur reforms. He is not an educated man—his formal schooling stopped in sixth grade—but he is one of dozens and dozens of ex-cons who form a vital link in the post-Katrina criminal justice reform efforts through various organizations such as Resurrection After Exoneration, a holistic reentry program for ex-offenders, and Innocence Project New Orleans. Greg tells his story to students, activists, politicians, church groups, friends, strangers—anybody with time to spare and an inclination to listen—doggedly putting a face on an abstract idea, injustice.


text:
Lambda handler for the AWS IoT Button

(https://aws.amazon.com/iot/button/)

The IoT button sends 3 different events corresponding to the type of click. Single, Double or Long click. Right now I
don't do anything special with these events other than sending a Slack notification.

## Installation
Installation is somewhat manual at this point:

1. edit makefile to use proper AWS account number

2. copy config.json.example to config.json and edit (see below for encrypted Slack URL)

3. Make and deploy:
```shell
  make init
  make deploy-new
```

4. configure IoT button (see below)

5. set event source on lambda to the proper IoT button

### Configure config.json

```shell
  cp config.json.example config.json
```

configure the Slack channel, emoji, username etc to your liking

make a KMS key in the proper region, I called mine 'DefaultKey'

```shell
  aws kms encrypt --key-id alias/DefaultKey --plaintext "hooks.slack.com/services/....... (whatever your Slack webhook URL is)"
```

take that CiphertextBlob and drop it in config.json

### Configure IoT Button (pointing it at this lambda)

TODO: need to fill this section in

## Future ideas
* Logging to Dynamo
* Home Automation system integration
* SMS notifications


text:
Acid-catalyzed reactions in carbon dioxide-enriched high-temperature liquid water
Shawn E. Hunter, Phillip E. Savage
We report, for the first time, the acceleration of acid-catalyzed reactions in high-temperature liquid water by the addition of carbon dioxide to the reaction medium. The reactions examined are the dehydration of cyclohexanol to form cyclohexene and the alkylation of p-cresol with tertbutyl alcohol to form 2-tert-butyl-4-methylphenol. In some cases, the mean product yield more than doubled when carbon dioxide was added to the aqueous medium. The basis of this rate enhancement is reaction between carbon dioxide and water to yield carbonic acid, which subsequently dissociates to increase the hydronium ion concentration above that of water alone. We also use the thermodynamics of the CO2-H2O system to estimate the pH of carbon dioxide-enriched high-temperature water. This analysis demonstrates that it is possible to lower the pH of high-temperature water by several units through the addition of carbon dioxide to the reaction medium. These results demonstrate the feasibility of using CO2-H2O mixtures as an environmentally benign reaction medium for acid catalysis.
Industrial and Engineering Chemistry Research
https://doi.org/10.1021/ie020565z
10.1021/ie020565z
Fingerprint Dive into the research topics of 'Acid-catalyzed reactions in carbon dioxide-enriched high-temperature liquid water'. Together they form a unique fingerprint.
Water Chemical Compounds
2-tert-butyl-4-methylphenol Chemical Compounds
hydronium ion Chemical Compounds
Hunter, S. E., & Savage, P. E. (2003). Acid-catalyzed reactions in carbon dioxide-enriched high-temperature liquid water. Industrial and Engineering Chemistry Research, 42(2), 290-294. https://doi.org/10.1021/ie020565z
Hunter, Shawn E. ; Savage, Phillip E. / Acid-catalyzed reactions in carbon dioxide-enriched high-temperature liquid water. In: Industrial and Engineering Chemistry Research. 2003 ; Vol. 42, No. 2. pp. 290-294.
@article{23ab8508e93d4dfa97549355e3da5709,
title = "Acid-catalyzed reactions in carbon dioxide-enriched high-temperature liquid water",
abstract = "We report, for the first time, the acceleration of acid-catalyzed reactions in high-temperature liquid water by the addition of carbon dioxide to the reaction medium. The reactions examined are the dehydration of cyclohexanol to form cyclohexene and the alkylation of p-cresol with tertbutyl alcohol to form 2-tert-butyl-4-methylphenol. In some cases, the mean product yield more than doubled when carbon dioxide was added to the aqueous medium. The basis of this rate enhancement is reaction between carbon dioxide and water to yield carbonic acid, which subsequently dissociates to increase the hydronium ion concentration above that of water alone. We also use the thermodynamics of the CO2-H2O system to estimate the pH of carbon dioxide-enriched high-temperature water. This analysis demonstrates that it is possible to lower the pH of high-temperature water by several units through the addition of carbon dioxide to the reaction medium. These results demonstrate the feasibility of using CO2-H2O mixtures as an environmentally benign reaction medium for acid catalysis.",
author = "Hunter, {Shawn E.} and Savage, {Phillip E.}",
doi = "10.1021/ie020565z",
journal = "Industrial and Engineering Chemistry Research",
Hunter, SE & Savage, PE 2003, 'Acid-catalyzed reactions in carbon dioxide-enriched high-temperature liquid water', Industrial and Engineering Chemistry Research, vol. 42, no. 2, pp. 290-294. https://doi.org/10.1021/ie020565z
Acid-catalyzed reactions in carbon dioxide-enriched high-temperature liquid water. / Hunter, Shawn E.; Savage, Phillip E.
In: Industrial and Engineering Chemistry Research, Vol. 42, No. 2, 01.2003, p. 290-294.
T1 - Acid-catalyzed reactions in carbon dioxide-enriched high-temperature liquid water
AU - Hunter, Shawn E.
AU - Savage, Phillip E.
N2 - We report, for the first time, the acceleration of acid-catalyzed reactions in high-temperature liquid water by the addition of carbon dioxide to the reaction medium. The reactions examined are the dehydration of cyclohexanol to form cyclohexene and the alkylation of p-cresol with tertbutyl alcohol to form 2-tert-butyl-4-methylphenol. In some cases, the mean product yield more than doubled when carbon dioxide was added to the aqueous medium. The basis of this rate enhancement is reaction between carbon dioxide and water to yield carbonic acid, which subsequently dissociates to increase the hydronium ion concentration above that of water alone. We also use the thermodynamics of the CO2-H2O system to estimate the pH of carbon dioxide-enriched high-temperature water. This analysis demonstrates that it is possible to lower the pH of high-temperature water by several units through the addition of carbon dioxide to the reaction medium. These results demonstrate the feasibility of using CO2-H2O mixtures as an environmentally benign reaction medium for acid catalysis.
AB - We report, for the first time, the acceleration of acid-catalyzed reactions in high-temperature liquid water by the addition of carbon dioxide to the reaction medium. The reactions examined are the dehydration of cyclohexanol to form cyclohexene and the alkylation of p-cresol with tertbutyl alcohol to form 2-tert-butyl-4-methylphenol. In some cases, the mean product yield more than doubled when carbon dioxide was added to the aqueous medium. The basis of this rate enhancement is reaction between carbon dioxide and water to yield carbonic acid, which subsequently dissociates to increase the hydronium ion concentration above that of water alone. We also use the thermodynamics of the CO2-H2O system to estimate the pH of carbon dioxide-enriched high-temperature water. This analysis demonstrates that it is possible to lower the pH of high-temperature water by several units through the addition of carbon dioxide to the reaction medium. These results demonstrate the feasibility of using CO2-H2O mixtures as an environmentally benign reaction medium for acid catalysis.
U2 - 10.1021/ie020565z
DO - 10.1021/ie020565z
JO - Industrial and Engineering Chemistry Research
JF - Industrial and Engineering Chemistry Research
Hunter SE, Savage PE. Acid-catalyzed reactions in carbon dioxide-enriched high-temperature liquid water. Industrial and Engineering Chemistry Research. 2003 Jan;42(2):290-294. https://doi.org/10.1021/ie020565z


Click HERE to hear Karryn Olson-Ramanujan discuss the article on Scott Mann's The Permaculture Podcast.
"China is the most populous and possibly one of the most diverse nations on the planet, with a population of over 1.3 billion people and 56 ethnic groups. What each one of those people shares with the rest of the world, regardless of political, linguistic, economic, and existential differences, is the complete and utter dependence on the ability to find food. In China's Loess Plateau, sustained generational farming had depleted the soil, leaving in its wake a textured landscape of dust.
"When winds came, the dust blew into cities, compromising air quality. In the rains, it washed down the valley, depositing more of the silt that gives the Yellow River its name. In 1995, scientists and engineers surveyed the land of the Loess Plateau in an attempt to determine what was causing the once fertile belt to be a thorn in the country's. The results of their study led to an experiment in permaculture in China that offers hope to the world."


Pyramid Ash Tower – Stainless Steel , separate lift out internal ash collector, locking facility, fixing holes in the base for permanent ground fixing.
Wall Mounted/Shelter Ashtray – Stainless steel, either wall mounted or mounted onto an IAE shelter.
Tubular Ash Tower – Stainless steel, fixing holes in the base for permanent ground fixing.


Signing stream does not honor their payment agreement. They did not pay my signing agent fee. I delivered and executed 3 (160 page) documents. They were compensated by Chase bank but 100 days later, I have yet to be paid the compensation that was negotiated.
I don't recommend doing business with this company.
Glad you got paid. They are ghosting me and 4 moths and still waiting on payment.
Review: This company is working with LoanDepot in order to close my home loan. On August 1st, they were notified by Loan Depot that I needed to move my signing location from Washington DC to Charlottesville, VA. I was informed by Loan Depot that they would take care of it. Over an 8 hour period I made NUMEROUS calls to this company in order to get a straight answer on what was the "progress" on my "signing"... They game me NUMEROUS conflicting answers, did not honor any promises to return my calls and continued to change their story as to why the setting up of my "signing" was taking so long.
Eventually, the "manager" just told me that they had "tried their best" and attempted to get me off the phone. When I requested to talk with her manager she told me that he wasn't in. I requested to be transferred to his Voicemail and she instead transferred me to a "former employee" whom had only worked there for 3 weeks. The "former employee" gave me the name of [redacted]. I called Signing Stream back and they refused to send me to Mr [redacted]'s email, but instead sent me to a "mailbox" (with no message attached) that stated it was full. When I called back to inform them of the issue with the "voicemail" I was informed that it was "either full or it wasn't set up yet". TOTALLY UNACCEPTABLE!!!!Desired Settlement: I will not accept being charged for this "service" when it is FINALLY accomplished.
Thank you for contacting us about this issue. We never charged or collected any fee from Mr. [redacted] and we have no agreement with him to provide service. We may have attempted at our expense to help locate a notary for this individual on behalf of his mortgage lender, but we were unable to do so. It's likely that another signing company assisted with his loan signing.
*IF RESPONDING PLEASE "REPLY TO ALL"
We would love to hear about your experience with us. Send an email to ClientRelations@SigningStream.com.
89 people are currently seeking Signing Stream Inc contact information.


Pushkar is famously recognized as the' City of Brahma', is a sister city of Ajmer. This holiest city of Rajasthan is enclosed by desert and Snake Mountain. It is only 14 kilometers away from Ajmer is considered every bit unitary of the sacred hams' for Hindu devotees. Pushkar, one of the oldest urban centers of India, lies on the bank of Pushkar Lake. Pushkar is mainly celebrated for its ancient synagogues and the Holy Lake.
By Road: Pushkar is 11 km far from Ajmer Bus stand There are numerous private transports and state transport organization transports that join Pushkar with other major and minor urban areas and towns of Rajasthan and rest of India. The street system in this locale is smooth and all around kept up for an euphoric ride.
By Train: Pushkar has a railroad station and is joined with the closest substantial station, Ajmer. The local as well as outside visitor can recruit a taxi to reach Pushkar. These two specific railroad stations have great availability towards different parts of Rajasthan and rest of the nation.
By Air: The closest air terminal to Pushkar is Sanganer Airport at Jaipur and is around 146 kms far from Pushkar. This specific air terminal has great availability of flights to real airplane terminals of Rajasthan and rest of the nation. The travelers who are dropping by flights can select getting a taxi keeping in mind the end goal to reach Pushkar.
The climate of Pushkar is of an extreme desert type. Pushkar weather observes wide differences in the day and night warmths. In the summer time, the days are hot, with the blazing with its entire force. The night is a complete difference. The nights in Pushkar are pretty cold, even in summers.
As the city comes a very high temperature you should set up carefully before imposing the most sacred city of India. To love the tour during the summer months, you should pack outfits that help you adjust the extreme high temperature. Granting to the experienced visitors, Pushkar tourists should pack cotton shirts, pants, sunglasses, sunscreen lotion to protect your hide from the sunbeam, a pair of sandals and so along.


Yesterday and today are Chinese New Year holiday here in Singapore. I hope those who celebrate it are having good new years. I guess many of you are travelling, too. We are used to having Chinese New Year since we started living in Hong Kong but as there are many people who don't celebrate Chinese New Year, in Singapore it's not as big a celebration as it is in Hong Kong. However, the city seems quieter somehow – because many people who celebrate it gather at home with their families and I guess many of them go away.
Hope it's going to be a good year for everyone.


text:
African American schools -- Virginia -- Prince Edward County -- History -- Pictorial works (x) ›
Farmville Elementary School (former), Farmville, Va., 2003
Peeples, Edward H. (Edward Harden), 1935-2019
Levi Elementary School, Prince Edward County, Va., 1999
Mercy Seat Elementary School (former), Prince Edward County, Va, 1999
Levi Elementary School, Prince Edward County, Va., 1962-1963
Levi Elementary School, Prince Edward County, Va., classroom, 1962-1963
Mercy Seat Elementary School, Prince Edward County, Va., 1962-1963
High Rock Elementary School, Prince Edward County, Va., 1962-1963
Epps Elementary School, Prince Edward County, Va., side view, 1962-1963
Epps Elementary School, Prince Edward County, Va., 1962-1963
Epps Elementary School, Prince Edward County, Va., front and side view, 1962-1963
Robert R. Moton High School, Prince Edward County, Va., view of chains, 1962-1963
Robert R. Moton High School, Prince Edward County, Va., no trespassing sign, 1962-1963
African American elementary schools -- Virginia -- Prince Edward County -- History -- Pictorial works (57) + -
High schools -- Virginia -- Prince Edward County -- History -- Pictorial works (3) + -
Historic buildings -- Virginia -- Prince Edward County -- Pictorial works (3) + -
color negative (9) + -


+ "I miss her terribly..."
+ "Jamie's death won't be in vain."
It may seem pretty sad, and it IS supposed to give him that look.
As I complained before , I wanted Hasegawa to have some taunts, but I didn't want to bother Samer, so I tried doing it myself.
For now, only two taunts, but I might add more if I find any more cool taunts for him from the Lab cutscene voice files.
This is just something I made quickly (and I was lucky it actually worked) and I'm still updating Edictum Team System simultaneously.
I hope Samer won't mind if I provide his full package along with the modifications, but it needs to replace an important file from his package (ONCC) in order to work, and I fear Samer's package could override this file if AE installs it in the wrong order.
I might give it a shot as soon as I get Oni installed sometime again. Also it seems like we can credit you for the first official sound modification?


text:
Q: Como localizar e selecionar option com label específico de select com jQuery Com jQuery, como altero o label de um option, e não o value, exemplo:
<select id="meuSelect">
    <option>[nao_selecionar_esse label]</option>
    <option>[SELECIONAR_esse label]</option>
    <option>[nao_selecionar_esse label]</option>
</select>

A: Use text

$(document).ready(function(){
      $('select option:nth-child(2)').text('alterado').attr('selected', 'true');
    })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <select id="meuSelect">
        <option value='10'>[ALTERAR_ESSE_LABEL]</option>
        <option value='10'>[ALTERAR_ESSE_LABEL]</option>
        <option value='10'>[ALTERAR_ESSE_LABEL]</option>
    </select>

Obs: esse nth-child no seletor é para pegar o primeiro select, não afetando os outros caso venha a ter mais de um.

A: Você pode fazer da seguinte forma:
$("select").find("option").html("SEU_TEXTO");

Ou se caso você queira este específico option pode fazer assim
$("select").find("option[value=10]").html("SEU_TEXTO");


Here's a unique promotional option that can drum up some new attention for your business! This is the transparent version of our electric lighters. You can personalise it with your logo or slogan and add them to your goodie bags. Helloprint's Lighters help promote your event!
Are the lighters sufficient according to the requirements regarding to child safety?
1 What colour lighter do you want?
For the delivery of your transparant lighters: electric we use multiple carriers. Because of the highest reliability, in most cases we use UPS or DPD.
The transparant lighters: electric that is chosen in most cases can be selected via our website.
In 2016 the Europe cal commitee took the descision to implement safety measures to prevent children accidents with lighters. All lighters have to meet the requirements of the Europe cal momission as specified in EN13869. All lighters within the Helloprint product range are produced according to the Europe cal committee.
Why should I choose the number of colours?
The lighters are printed with the pad printing technique. It is only possible to print per colour with this printing technique. After printing one colour the printer has to be set over again to print the second colour. This is why the price is changing when if you want to print the lighters with more colours.
How should I formalize the file for a lighter?
The colors used are known as Pantone colors. Pantone is a standardized color scheme and is used worldwide. It is, therefore, important to deliver your logo in Pantone colors so that we can start directly with the printing of the lighters. If the logo consists of Pantone colors, it must be stored as a vector. Vector is to say that the image does not consist pixels, but is build up out of lines.


text:
{{heading}}

        :
{{?captionTracks.valid}}

  {{#captionTracks.values}}

            {{name}}:
    {{?valid}}
            {{src}}
    {{:}}
            {{reason}}
    {{/}}

  {{/}}

{{:captionTracks.valid}}
        {{captionTracks.reason}}
{{/captionTracks.valid}}

        :
{{?descriptionTracks.valid}}

  {{#descriptionTracks.values}}

            {{name}}:
    {{?valid}}
            {{src}}
    {{:}}
            {{reason}}
    {{/}}

  {{/}}

{{:descriptionTracks.valid}}
        {{descriptionTracks.reason}}
{{/descriptionTracks.valid}}

        :
{{?chapterTracks.valid}}

  {{#chapterTracks.values}}

            {{name}}:
    {{?valid}}
            {{src}}
    {{:}}
            {{reason}}
    {{/}}

  {{/}}

{{:chapterTracks.valid}}
        {{chapterTracks.reason}}
{{/chapterTracks.valid}}


Sep 14 Event detox tips.
Do a quick edit. As you pack up and double check that you're leaving with all the essential items, get rid of anything that no longer serves you. Swag is all well and good until you're stuck lugging it through the airport (only to turn around and throw it out a month later). Channel Marie Kondo and just keep the items that spark joy.
Go home. Don't attempt to unwind onsite (unless you've got a few extra days to spare). Otherwise, it's like staying too long at a party. Sure, a massage at the hotel spa sounds wonderful, however, there's a decent chance you'll run into other attendees, colleagues, etc. Nothing says relaxation like having to remain "on" and "engaged." What happens at the event, stays at the event.
Get the right flight. Is the red-eye crazy? Of course. Was there a reason I took it? You bet. Going to Vegas, I flew out Monday afternoon, which meant I was able to ease into the trip and still get some work done ahead of time. Taking a late night flight home did the same, just in reverse. I have my Friday free to read email and wrap up my week.
Save the debrief. Give yourself a few days to reflect on what you experienced. Capture notes, scribble things down, read and revise before discussing with anyone formally. After all that work, it helps to take some space and let the energy and excitement subside. Taking time to process will also help inform any next steps.
Recognize your role. Industry events tend to be more than a little competitive so, at this week's conference, I was pleased to see one vendor ran around fulfilling the attendees' dreams. This made the experience more personal and gave everyone the opportunity to feel important. Big or small, don't lose sight of yourself and the work you put in.
Treat yourself (right). Being around tons of people is awesome, but it also means exposure to lots of germs plus the change in routine, sleeping and eating habits. I often joke that there's an HR Tech plague because I usually spend the week sniffling and come home fighting something. So get back to basics - water, vegetables, vitamins.
And when in doubt, sleep it off.
Image via Bekah Russom on Unsplash.
Sep 15 Weekend coffee #37.
Sep 10 (Some) recent work.


Mindtree Seattle, WA (US) employees haven't posted any photos yet.
I applied online. I interviewed at Mindtree (Seattle, WA (US)) in August 2016.
This is an overview of the Mindtree Seattle campus or office location. This office is the major Mindtree Seattle, WA, US area location. Find the Mindtree Seattle address. Browse jobs and read about the Mindtree Seattle location with content posted anonymously by Mindtree employees in Seattle, WA.


Spacious and clean 1 bedroom/plus huge extra room - Victorian Townhouse that has been newly renovated. Living room and Dining room have plenty of sun light; huge additional office space; 1 full bathroom; Kitchen has newer range, oak cabinets with lots of storage. Bedroom has built in closets. Walking distance to T station, Grocery stores, Laundromat, Schools. Easy on street parking - no permit needed.


Located a half mile from Roosevelt Field Mall on Old Country Road, with a powerful retailer lineup.
The Gallery At Westbury Plaza is part of the local community. Its retailers and culture reflect the lifestyle needs of the neighborhoods that surround the center.
Email info@regencycenters.com for information about The Gallery At Westbury Plaza and the community.


text:
Q: can MSIL be converted to Java Native Code? Dotnet CLR converts the language code to MSIL. While Java Code be converted to Native Code that is platform independent. Can we convert this MSIL to Native Code ? So the Dotnet will automatically become platform independent.

A: This reply may be a bit offtopic, but worth mentioning. MSIL to Java byte code may tough as detailed by others answering the question. But you can handle conversion from one framework to another at a source code level.
If you have a Java library that you would like to use in a .NET application - use IKVM. It compiles Java code into .NET assemblies using IKVMC,a Java bytecode to .NET IL translator. Do check the licensing terms before you jump into using this!
Also I am curious to know if the reverse is possible i.e. .NET source code to Java?

A: Be careful about your terminology here:

*

*The CLR doesn't convert "language code" to MSIL - it converts MSIL to native code on the fly.

*Java code isn't converted to "native code that is platform independent"; that's an oxymoron. Java source code is converted into platform independent Java bytecode. The JVM converts bytecode into native code in the same way as the CLR does with MSIL (well, to some extent)

Note that both MSIL and bytecode can be interpreted; HotSpot will sometimes interpret, sometimes JIT compile, and often JIT compile multiple times. The .NET desktop CLR always JIT compiles a single time at the moment.
It's also worth understanding that bytecode is only platform independent to the extent that there is a JVM available for the platform you're interested in. The same is true for MSIL. You can compile a C# program on Windows and then run it on Linux under Mono if there's a build of Mono for your platform and if it doesn't use any libraries which aren't available on Mono.
Now as for converting MSIL to Java bytecode... the reverse is more feasible, as MSIL is generally more powerful than Java bytecode. For example, custom value types and generics in MSIL wouldn't translate easily into bytecode. You'd probably need something closer to a CLR written in Java. I dare say there are some clever possibilities, but there are fundamental difficulties there. Even the reverse is unlikely to be easy - especially if Java 7 introduces dynamic invocation to bytecode (whereas dynamic typing in .NET is performed by the DLR just as a library).

A: I can answer your question only partially.
Yes, MSIL can be converted to native code using ngen.exe. In that case, however, you lose the ability to run efficiently on different target architectures, e.g. 32 bit vs 64 bit. Also, you would need to create multiple versions, one for each target platform.
Apart from that I suggest using Kurt's answer.


text:
Q: Extract only first occurrence of character and all the numbers before and after hyphen I got into this situation to write a generic function which can extract only first occurrence of the character and all the number from a string.
Input String (Say): ABC123-45DEF-GH67IJ9
Output String: A123-45D-G679
I have finalized an approach but the complexity of the program is high. There are two bad situations for me here:

*

*I am getting incorrect output from my program.
Output: A123-45D-G679- (This extra hyphen is the issue in the below code).

*I need a better approach to get this done in a less complex way.

Here is my code snippet:
package Test;

import java.util.LinkedList;

public class FirstLetterAndNumerics {

    static void firstLetterAndNumber(String string) {

        StringBuffer sb = new StringBuffer();
        LinkedList<String> ll = new LinkedList<String>();
        String[] str = string.split("-");
        boolean flag = true;

        for (int i = 0; i < str.length; i++) {

            ll.add(str[i]);
        }
        for (int j = 0; j < ll.size(); j++) {

            if (Character.isAlphabetic(ll.get(j).charAt(0))) {
                if (flag == false) {
                    sb.append("-");
                }
                sb.append(ll.get(j).charAt(0));

                for (int k = 1; k < ll.get(j).length(); k++) {
                    if (Character.isAlphabetic(ll.get(j).charAt(k))) {
                        flag = false;
                    } else if (Character.isDigit(ll.get(j).charAt(k))) {
                        sb.append(ll.get(j).charAt(k));
                    }
                }
                sb.append("-");
                flag = true;
            } else if (Character.isDigit(ll.get(j).charAt(0))) {
                sb.append(ll.get(j).charAt(0));

                for (int l = 1; l < ll.get(j).length(); l++) {

                    if (Character.isDigit(ll.get(j).charAt(l))) {
                        sb.append(ll.get(j).charAt(l));
                    } else if (Character.isAlphabetic(ll.get(j).charAt(l)) && flag == true) {
                        sb.append(ll.get(j).charAt(l));
                        flag = false;
                    }

                }
            }

        }
        System.out.println(sb);

    }

    public static void main(String[] args) {

        firstLetterAndNumber("ABC123-45DEF-GH67IJ9");
    }
}

A: You can use this (\d*)([A-Za-z]{1})[A-Z]*(\d*)[A-Z]*(\d*) regex for a much simpler method. It captures the correct parts in groups so you need to concatenate the groups.
Here is how the regex works.
This code snippet appends the matches.
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexMatching {

    public static void main(String a[])
    {
        String testStr="ABC123-45DEF-GH67IJ9";
        String regEx = "(\\d*)([A-Za-z]{1})[A-Z]*(\\d*)[A-Z]*(\\d*)";

        Pattern pattern = Pattern.compile(regEx);
        Matcher matcher = pattern.matcher(testStr);

        StringBuilder outStr = new StringBuilder();

        while (matcher.find()) {
            for (int i = 1; i <= matcher.groupCount(); i++) {
                outStr.append(matcher.group(i));
            }
            outStr.append("-");
        }

        outStr.deleteCharAt( outStr.length() - 1 ); // delete the extra "-"
        System.out.println(outStr.toString());
    }
}

prints:
A123-45D-G679

Lastly I'm not sure if what you want can be captured in a single group. This is the solution I found.

A: You are splitting the string at the start on a hyphen. To make sure that the string contains characters uppercase chars and digits divided by hyphens, you could first use:
if(string.matches("[A-Z0-9]+(?:-[A-Z0-9]+)+")) {

Regex demo
Then you might use 2 capturing groups and make use of the \G pattern.
(?:(\b[0-9]*[A-Z])|\G(?!^))[A-Z]*([0-9]*)

That will match

*

*(?: Non capturing group

*

*( Capture group 1

*

*\b[0-9]*[A-Z] Word boundary, match 0+ digits and a single char A-Z

*) Close group 1

*| Or

*\G(?!^) Assert position at the end of previous match, not at the start

*) Close non capturing group

*[A-Z]* Match 0+ chars A-Z

*([0-9]*) Capture group 2, match 0+ digits

In the replacement use the 2 capturing groups $1$2
Regex demo | Java demo
For example
static void firstLetterAndNumber(String string) {
    if(string.matches("[A-Z0-9]+(?:-[A-Z0-9]+)+")) {
        Pattern pattern = Pattern.compile("(?:(\\b\\d*[A-Z])|\\G(?!^))[A-Z]*(\\d*)");
        Matcher matcher = pattern.matcher(string);
        System.out.println(matcher.replaceAll("$1$2");

    }
}

Running firstLetterAndNumber("ABC123-45DEF-GH67IJ9"); will output
A123-45D-G679


Sustainability is an issue that all businesses need to address, regardless of the nature of their business or size.1 All human activity has an impact on the environment and consumes finite resources. Demographers predict a population of 9.3 billion people will be reached by 2050, and this increasing population coupled with rapidly developing global economies has resulted in resource consumption that at current rates is wholly unsustainable.2 The conflict of land used for food production together with other activities has already resulted in a reduction of biodiversity and a degradation of the quality of the land itself.
It is only when this balance is thoughtfully addressed in a business strategy that a company or corporation can truly be described as having a sustainable business model.
When it comes to beauty and cosmetics, consumers will express similar concerns to those they show for their food choices. They understand that the products they apply externally to their bodies or hair can impact their long-term health in the same way that that the food they ingest can have positive and negative health impacts. They show a keen interest in the safety, allergenic and of course the efficacy messages described on the labels and want these presented in a simple and clear manner. They are also concerned with factors such as sustainable origin and production methods of the ingredients and are increasingly buying products which are certified natural or organic.
There are, of course, many examples of brands and companies that have incorporated a positive approach to sustainability within the beauty and personal care industry, and Oat Services, which markets the brand Oat Cosmetics, is one such company.
Sustainability involves a balance between environmental, economic and social parameters. The need to produce a profitable, high-quality crop in a sustainable and socially responsible way led Oat Services to make the decision to grow its crops using modern Western world production methods in Finland. For some people, the adoption of Western world production methods seems counterintuitive to a sustainable approach as it is not generally recognized as such; in fact, many would considered modern farming a polluter. In practice, the more advanced farmers have already recognized the benefits of sustainable production either to ensure they meet current legislative requirements or for their own long-term agricultural sustainability.
There is a common perception that adopting practices such as fair trade and localized traditional farming is necessarily more sustainable; however, this also produces challenges in the degree that modern farming techniques can be applied to manage the crop effectively, which, in turn, should maximize quality and consistency of the crop output.
Agriculture is a key driver in maintaining the sustainability of rural populations in Finland. The national policy is to produce quality crops in a healthy environment at the lowest possible cost. Family farms are the backbone of Finnish agriculture, but as with many western countries economic pressures have resulted in the number of traditional farms decreasing over the years, and those that survive are larger and by necessity need to be more efficient, especially since Finland has a very short growing season.12 The crops that enable these farms to remain viable have to be carefully chosen. Of the cereal species, oats, along with barley, wheat and rye together with a number of specialized crops grow well.
Oat Services' partners ensure farmers are continually being made aware of the latest agricultural practice, including the enhancement and protection of soil quality. Soils are regularly sampled and tested and best practice is adopted to ensure there is minimum nutrient run-off to water courses. Finnish farmers are showing growing interest in environmental issues, with over 90% of farms having drawn up environmental management plans which has reduced water pollution from farming and protected biological diversity.
Another important factor is that there is no commercial cultivation of genetically modified crops within Finland. In fact, oats provide an excellent example of how understanding genetics can help breeders select traits very effectively without genetically engineering the genome.
There is now global collaboration to map the oat genome and technology in this area is moving at increasing speed. Breeders are able to breed by phenotype rather than by the traditional genotypic method allowing them select for characteristics such as high beta-glucan, lipid and avenanthramide content. Understanding the genome also allows the planned selection of new varieties that are best adapted to specific conditions, ensuring that farmers get the best yields of high quality grain from the land they farm.
For over a thousand years, oats have been used as a natural ingredient for the beauty and personal care industry. Innovations in breeding, growing and processing have created highly effective, active and functional ingredients, which add value and desirability to a wide range of hair and skin care products. These ingredients prove that innovative products can be developed in a truly sustainable manner by taking into account the three principles of sustainability and working with the metier of a crop.
Oats are relatively easy to justify as a sustainable crop, but the challenge for the beauty ingredient industry will be to apply these same principles to other natural materials that currently have a greater potential for a negative environmental and sustainable impact. However, sustainability is no longer something industry can ignore as an optional extra but something that truly adds value to business as it becomes increasingly important to the end-consumer.
Report of the World Commission on Environment and Development: Our Common Future.
S Bertels, et al, "Embedding sustainability in organizational culture"


text:
CSF Supports New Mexico Department of Game and Fish in Efforts to Remove Unnecessary Barriers to Youth Hunting Participation
Posted on Monday, December 07, 2020
Contact: Ellary TuckerWilliams, Inter-Mountain Western States Coordinator
On December 1, the Congressional Sportsmen's Foundation (CSF) submitted a letter in support of several proposed rule changes made by the New Mexico Department of Game and Fish (NMDGF) to reduce the minimum age to participate in the Mentored-Youth Hunting Program from 10 to 8, to increase the diversity of huntable species, and to require mentors to obtain basic certification before taking children afield.
"We must make every effort to remove all unnecessary barriers limiting our ability to recruit new hunters to the outdoor sporting community," said New Mexico State Representative and National Assembly of Sportsmen's Caucuses Executive Council Member Bill Rehm. "Without the participation of our youth, the very future of conservation in our state and nation is in jeopardy."
Hunting license sales provide essential funding for wildlife conservation and habitat restoration, while hunter expenditures generate billions of dollars annually for the national economy and support hundreds of thousands of jobs. The decline in hunter participation poses an ever-increasing threat to wildlife conservation and state wildlife management.
CSF commends the New Mexico Department of Game and Fish's effort to further remove barriers to hunter recruitment by allowing children at a younger age to hunt safely and responsibly while under the watchful eye of a dedicated mentor and increase the diversity of species they are able to pursue. By doing so, children will have more opportunities for formative hunting experiences that will serve as the necessary stepping stones in the journey to becoming a lifelong conservationist that contributes to natural resource stewardship through the American System of Conservation Funding.
On December 3, after a lengthy discussion, the New Mexico State Game Commission voted (4 - yes, 3 - no) to approve the proposed changes to the Hunter Education rule which will go into effect January 1, 2021. This vote is a win for hunter recruitment in the Land of Enchantment State.
States Involved
Sportsmen and women have been on the receiving end of increased attention from the non-hunting public, criticizing the traditional "grip and grin" photos on various social media platforms. As a sportsman or sportswoman, what strategies have you utilized to address this negative feedback?
I don't post "grip and grin" photos for that reason (40.00%)
My social media is private to avoid unwanted comments (20.00%)
I engage the individual in the comment section or in direct messages (0.00%)
I post more "grip and grin" photos to prove a point (0.00%)
When posting hunting or fishing photos I tell a narrative that focuses on aspects of hunting that the general public widely supports, such as the procurement of meat for family and friends (10.00%)
I don't engage those individuals (30.00%)
View Poll
American System of Conservation Funding
Anti-Hunting
Congressional Shoot-Out and Industry Challenge
Congressional Sportsmen's Caucus
Game Ranches
Governor's Sportsmen's Caucus
Governor's Sportsmen's Caucus Reception
H.R. 4089
High Fence
Hunting Fishing and Recreational Shooting Sports Protection Act
Idle Iron Policy
Interior Appropriations Bill
Land and Water Conservation Fund
Lead Ammunition Ban
Lead Sinker Ban
Making Public Lands Public Act
National Assembly of Sportsmen's Caucuses
Polar Bear and Conservation Fairness Act
Recreational Fishing and Hunting Heritage and Opportunities Act
Recreational Shooting Protection Act
Rigs to Reef Habitat Protection Act
Sport Fish Restoration and Boating Trust Fund
Sportsmen's Act of 2012
Sportsmen's Heritage Act
Sportsmen's Package
The Billfish Conservation Act
The Fishery Science Improvement Act
Welcome Back to Congress Reception
Wildlife and Sport Fish Restoration Programs


text:
<?php

/**
 *
 * @package CRM
 * @copyright CiviCRM LLC (c) 2004-2015
 * $Id$
 *
 */

/**
 * This class provides the functionality to record voter's interview.
 */
class CRM_Campaign_Form_Task_Interview extends CRM_Campaign_Form_Task {

  /**
   * The title of the group
   *
   * @var string
   */
  protected $_title;

  /**
   * Variable to store redirect path
   */
  private $_userContext;

  private $_groupTree;

  private $_surveyFields;

  private $_surveyTypeId;

  private $_interviewerId;

  private $_surveyActivityIds;

  private $_votingTab = FALSE;

  private $_surveyValues;

  private $_resultOptions;

  private $_allowAjaxReleaseButton;

  /**
   * Build all the data structures needed to build the form.
   *
   * @return void
   */
  public function preProcess() {
    $this->_votingTab = $this->get('votingTab');
    $this->_reserveToInterview = $this->get('reserveToInterview');
    if ($this->_reserveToInterview || $this->_votingTab) {
      //user came from voting tab / reserve form.
      foreach (array(
                 'surveyId',
                 'contactIds',
                 'interviewerId',
               ) as $fld) {
        $this->{"_$fld"} = $this->get($fld);
      }
      //get the target voter ids.
      if ($this->_votingTab) {
        $this->getVoterIds();
      }
    }
    else {
      parent::preProcess();
      //get the survey id from user submitted values.
      $this->_surveyId = CRM_Utils_Array::value('campaign_survey_id', $this->get('formValues'));
      $this->_interviewerId = CRM_Utils_Array::value('survey_interviewer_id', $this->get('formValues'));
    }

    if ($this->_surveyId) {
      $params = array('id' => $this->_surveyId);
      CRM_Campaign_BAO_Survey::retrieve($params, $this->_surveyDetails);
    }

    $orderClause = FALSE;
    $buttonName = $this->controller->getButtonName();
    if ($buttonName == '_qf_Interview_submit_orderBy' && !empty($_POST['order_bys'])) {
      $orderByParams = CRM_Utils_Array::value('order_bys', $_POST);
    }
    elseif (CRM_Core_OptionGroup::getValue('activity_type', 'WalkList') == $this->_surveyDetails['activity_type_id']) {
      $orderByParams
        = array(
          1 => array(
            'column' => 'civicrm_address.street_name',
            'order' => 'ASC',
          ),
          2 => array(
            'column' => 'civicrm_address.street_number%2',
            'order' => 'ASC',
          ),
          3 => array(
            'column' => 'civicrm_address.street_number',
            'order' => 'ASC',
          ),
          4 => array(
            'column' => 'contact_a.sort_name',
            'order' => 'ASC',
          ),
        );
    }

    $orderBy = array();
    if (!empty($orderByParams)) {
      foreach ($orderByParams as $key => $val) {
        if (!empty($val['column'])) {
          $orderBy[] = "{$val['column']} {$val['order']}";
        }
      }
      if (!empty($orderBy)) {
        $orderClause = "ORDER BY " . implode(', ', $orderBy);
      }
    }

    $this->_contactIds = array_unique($this->_contactIds);
    if (!empty($this->_contactIds) && $orderClause) {
      $clause = 'contact_a.id IN ( ' . implode(',', $this->_contactIds) . ' ) ';
      $sql = "
SELECT contact_a.id
FROM civicrm_contact contact_a
LEFT JOIN civicrm_address ON contact_a.id = civicrm_address.contact_id
WHERE {$clause}
{$orderClause}";

      $this->_contactIds = array();
      $dao = CRM_Core_DAO::executeQuery($sql);
      while ($dao->fetch()) {
        $this->_contactIds[] = $dao->id;
      }
    }

    //get the contact read only fields to display.
    $readOnlyFields = array_merge(array(
      'contact_type' => '',
      'sort_name' => ts('Name'),
    ));

    //get the read only field data.
    $returnProperties = array_fill_keys(array_keys($readOnlyFields), 1);
    $returnProperties['contact_sub_type'] = TRUE;

    //validate all voters for required activity.
    //get the survey activities for given voters.
    $this->_surveyActivityIds = CRM_Campaign_BAO_Survey::voterActivityDetails($this->_surveyId,
      $this->_contactIds,
      $this->_interviewerId
    );
    $activityStatus = CRM_Core_PseudoConstant::activityStatus('name');
    $scheduledStatusId = array_search('Scheduled', $activityStatus);

    $activityIds = array();
    foreach ($this->_contactIds as $key => $voterId) {
      $actVals = CRM_Utils_Array::value($voterId, $this->_surveyActivityIds);
      $statusId = CRM_Utils_Array::value('status_id', $actVals);
      $activityId = CRM_Utils_Array::value('activity_id', $actVals);
      if ($activityId &&
        $statusId &&
        $scheduledStatusId == $statusId
      ) {
        $activityIds["activity_id_{$voterId}"] = $activityId;
      }
      else {
        unset($this->_contactIds[$key]);
      }
    }

    //retrieve the contact details.
    $voterDetails = CRM_Campaign_BAO_Survey::voterDetails($this->_contactIds, $returnProperties);

    $this->_allowAjaxReleaseButton = FALSE;
    if ($this->_votingTab &&
      (CRM_Core_Permission::check('manage campaign') ||
        CRM_Core_Permission::check('administer CiviCampaign') ||
        CRM_Core_Permission::check('release campaign contacts')
      )
    ) {
      $this->_allowAjaxReleaseButton = TRUE;
    }

    //validate voter ids across profile.
    $this->filterVoterIds();
    $this->assign('votingTab', $this->_votingTab);
    $this->assign('componentIds', $this->_contactIds);
    $this->assign('componentIdsJson', json_encode($this->_contactIds));
    $this->assign('voterDetails', $voterDetails);
    $this->assign('readOnlyFields', $readOnlyFields);
    $this->assign('interviewerId', $this->_interviewerId);
    $this->assign('surveyActivityIds', json_encode($activityIds));
    $this->assign('allowAjaxReleaseButton', $this->_allowAjaxReleaseButton);

    //get the survey values.
    $this->_surveyValues = $this->get('surveyValues');
    if (!is_array($this->_surveyValues)) {
      $this->_surveyValues = array();
      if ($this->_surveyId) {
        $surveyParams = array('id' => $this->_surveyId);
        CRM_Campaign_BAO_Survey::retrieve($surveyParams, $this->_surveyValues);
      }
      $this->set('surveyValues', $this->_surveyValues);
    }
    $this->assign('surveyValues', $this->_surveyValues);

    $result = CRM_Campaign_BAO_Survey::getReportID($this->_surveyId);
    $this->assign("instanceId", $result);

    //get the survey result options.
    $this->_resultOptions = $this->get('resultOptions');
    if (!is_array($this->_resultOptions)) {
      $this->_resultOptions = array();
      if ($resultOptionId = CRM_Utils_Array::value('result_id', $this->_surveyValues)) {
        $this->_resultOptions = CRM_Core_OptionGroup::valuesByID($resultOptionId);
      }
      $this->set('resultOptions', $this->_resultOptions);
    }

    //validate the required ids.
    $this->validateIds();

    //append breadcrumb to survey dashboard.
    if (CRM_Campaign_BAO_Campaign::accessCampaign()) {
      $url = CRM_Utils_System::url('civicrm/campaign', 'reset=1&subPage=survey');
      CRM_Utils_System::appendBreadCrumb(array(array('title' => ts('Survey(s)'), 'url' => $url)));
    }

    //set the title.
    $activityTypes = CRM_Core_PseudoConstant::activityType(FALSE, TRUE, FALSE, 'label', TRUE);
    $this->_surveyTypeId = CRM_Utils_Array::value('activity_type_id', $this->_surveyValues);
    CRM_Utils_System::setTitle(ts('Record %1 Responses', array(1 => $activityTypes[$this->_surveyTypeId])));
  }

  public function validateIds() {
    $required = array(
      'surveyId' => ts('Could not find Survey.'),
      'interviewerId' => ts('Could not find Interviewer.'),
      'contactIds' => ts('No respondents are currently reserved for you to interview.'),
      'resultOptions' => ts('Oops. It looks like there is no response option configured.'),
    );

    $errorMessages = array();
    foreach ($required as $fld => $msg) {
      if (empty($this->{"_$fld"})) {
        if (!$this->_votingTab) {
          CRM_Core_Error::statusBounce($msg);
          break;
        }
        $errorMessages[] = $msg;
      }
    }

    $this->assign('errorMessages', empty($errorMessages) ? FALSE : $errorMessages);
  }

  /**
   * Build the form object.
   *
   *
   * @return void
   */
  public function buildQuickForm() {
    $this->assign('surveyTypeId', $this->_surveyTypeId);

    $options
      = array(
        '' => ' - none - ',
        'civicrm_address.street_name' => 'Street Name',
        'civicrm_address.street_number%2' => 'Odd / Even Street Number',
        'civicrm_address.street_number' => 'Street Number',
        'contact_a.sort_name' => 'Respondent Name',
      );
    for ($i = 1; $i < count($options); $i++) {
      $this->addElement('select', "order_bys[{$i}][column]", ts('Order by Column'), $options);
      $this->addElement('select', "order_bys[{$i}][order]", ts('Order by Order'), array(
          'ASC' => 'Ascending',
          'DESC' => 'Descending',
        ));
    }

    //pickup the uf fields.
    $this->_surveyFields = CRM_Campaign_BAO_Survey::getSurveyResponseFields($this->_surveyId,
      $this->_surveyTypeId
    );

    foreach ($this->_contactIds as $contactId) {
      //build the profile fields.
      foreach ($this->_surveyFields as $name => $field) {
        if ($field) {
          CRM_Core_BAO_UFGroup::buildProfile($this, $field, NULL, $contactId);
        }
      }

      //build the result field.
      if (!empty($this->_resultOptions)) {
        $this->add('select', "field[$contactId][result]", ts('Result'),
          array(
            '' => ts('- select -'),
          ) +
          array_combine($this->_resultOptions, $this->_resultOptions)
        );
      }

      $this->add('text', "field[{$contactId}][note]", ts('Note'));

      //need to keep control for release/reserve.
      if ($this->_allowAjaxReleaseButton) {
        $this->addElement('hidden',
          "field[{$contactId}][is_release_or_reserve]", 0,
          array('id' => "field_{$contactId}_is_release_or_reserve")
        );
      }
    }
    $this->assign('surveyFields', empty($this->_surveyFields) ? FALSE : $this->_surveyFields);

    //no need to get qf buttons.
    if ($this->_votingTab) {
      return;
    }

    $buttons = array(
      array(
        'type' => 'cancel',
        'name' => ts('Done'),
        'subName' => 'interview',
        'isDefault' => TRUE,
      ),
    );

    $buttons[] = array(
      'type' => 'submit',
      'name' => ts('Order By >>'),
      'subName' => 'orderBy',
    );

    $manageCampaign = CRM_Core_Permission::check('manage campaign');
    $adminCampaign = CRM_Core_Permission::check('administer CiviCampaign');
    if ($manageCampaign ||
      $adminCampaign ||
      CRM_Core_Permission::check('release campaign contacts')
    ) {
      $buttons[] = array(
        'type' => 'next',
        'name' => ts('Release Respondents >>'),
        'subName' => 'interviewToRelease',
      );
    }
    if ($manageCampaign ||
      $adminCampaign ||
      CRM_Core_Permission::check('reserve campaign contacts')
    ) {
      $buttons[] = array(
        'type' => 'done',
        'name' => ts('Reserve More Respondents >>'),
        'subName' => 'interviewToReserve',
      );
    }

    $this->addButtons($buttons);
  }

  /**
   * Set default values for the form.
   *
   *
   * @return void
   */
  public function setDefaultValues() {
    //load default data for only contact fields.
    $contactFields = $defaults = array();
    foreach ($this->_surveyFields as $name => $field) {
      $acceptable_types = CRM_Contact_BAO_ContactType::basicTypes();
      $acceptable_types[] = 'Contact';
      if (in_array($field['field_type'], $acceptable_types)) {
        $contactFields[$name] = $field;
      }
    }
    if (!empty($contactFields)) {
      foreach ($this->_contactIds as $contactId) {
        CRM_Core_BAO_UFGroup::setProfileDefaults($contactId, $contactFields, $defaults, FALSE);
      }
    }

    if (CRM_Core_OptionGroup::getValue('activity_type', 'WalkList') == $this->_surveyDetails['activity_type_id']) {
      $defaults['order_bys']
        = array(
          1 => array(
            'column' => 'civicrm_address.street_name',
            'order' => 'ASC',
          ),
          2 => array(
            'column' => 'civicrm_address.street_number%2',
            'order' => 'ASC',
          ),
          3 => array(
            'column' => 'civicrm_address.street_number',
            'order' => 'ASC',
          ),
          4 => array(
            'column' => 'contact_a.sort_name',
            'order' => 'ASC',
          ),
        );
    }
    else {
      $defaults['order_bys']
        = array(
          1 => array(
            'column' => 'contact_a.sort_name',
            'order' => 'ASC',
          ),
        );
    }
    return $defaults;
  }

  /**
   * Process the form after the input has been submitted and validated.
   *
   *
   * @return void
   */
  public function postProcess() {
    $buttonName = $this->controller->getButtonName();
    if ($buttonName == '_qf_Interview_done_interviewToReserve') {
      //hey its time to stop cycle.
      CRM_Utils_System::redirect(CRM_Utils_System::url('civicrm/survey/search', 'reset=1&op=reserve'));
    }
    elseif ($buttonName == '_qf_Interview_next_interviewToRelease') {
      //get ready to jump to release form.
      foreach (array(
                 'surveyId',
                 'contactIds',
                 'interviewerId',
               ) as $fld) {
        $this->controller->set($fld, $this->{"_$fld"});
      }
      $this->controller->set('interviewToRelease', TRUE);
    }

    // vote is done through ajax
  }

  /**
   * @param array $params
   *
   * @return mixed
   */
  public static function registerInterview($params) {
    $activityId = CRM_Utils_Array::value('activity_id', $params);
    $surveyTypeId = CRM_Utils_Array::value('activity_type_id', $params);
    if (!is_array($params) || !$surveyTypeId || !$activityId) {
      return FALSE;
    }

    static $surveyFields;
    if (!is_array($surveyFields)) {
      $surveyFields = CRM_Core_BAO_CustomField::getFields('Activity',
        FALSE,
        FALSE,
        $surveyTypeId,
        NULL,
        FALSE,
        TRUE
      );
    }

    static $statusId;
    if (!$statusId) {
      $statusId = array_search('Completed', CRM_Core_PseudoConstant::activityStatus('name'));
    }

    //format custom fields.
    $customParams = CRM_Core_BAO_CustomField::postProcess($params,
      $surveyFields,
      $activityId,
      'Activity'
    );

    CRM_Core_BAO_CustomValueTable::store($customParams, 'civicrm_activity', $activityId);

    //process contact data.
    $contactParams = $fields = array();

    $contactFieldTypes = array_merge(array('Contact'), CRM_Contact_BAO_ContactType::basicTypes());
    $responseFields = CRM_Campaign_BAO_Survey::getSurveyResponseFields($params['survey_id']);
    if (!empty($responseFields)) {
      foreach ($params as $key => $value) {
        if (array_key_exists($key, $responseFields)) {
          if (in_array($responseFields[$key]['field_type'], $contactFieldTypes)) {
            $fields[$key] = $responseFields[$key];
            $contactParams[$key] = $value;
            if (isset($params["{$key}_id"])) {
              $contactParams["{$key}_id"] = $params["{$key}_id"];
            }
          }
        }
      }
    }

    $contactId = CRM_Utils_Array::value('voter_id', $params);
    if ($contactId && !empty($contactParams)) {
      CRM_Contact_BAO_Contact::createProfileContact($contactParams, $fields, $contactId);
    }

    //update activity record.
    $activity = new CRM_Activity_DAO_Activity();
    $activity->id = $activityId;

    $activity->selectAdd();
    $activity->selectAdd('activity_date_time, status_id, result, subject');
    $activity->find(TRUE);
    $activity->activity_date_time = date('YmdHis');
    $activity->status_id = $statusId;

    if (!empty($params['activity_date_time'])) {
      $activity->activity_date_time = CRM_Utils_Date::processDate($params['activity_date_time'], $params['activity_date_time_time']);
    }

    $subject = '';
    $surveyTitle = CRM_Utils_Array::value('surveyTitle', $params);
    if ($surveyTitle) {
      $subject = $surveyTitle . ' - ';
    }
    $subject .= ts('Respondent Interview');

    $activity->subject = $subject;
    $activityParams = array(
      'details' => 'details',
      'result' => 'result',
      'engagement_level' => 'activity_engagement_level',
      'subject' => 'activity_subject',
      'status_id' => 'activity_status_id',
      'source_contact_id' => 'source_contact',
      'location' => 'activity_location',
      'campaign_id' => 'activity_campaign_id',
      'duration' => 'activity_duration',
    );
    foreach ($activityParams as $key => $field) {
      if (!empty($params[$field])) {
        $activity->$key = $params[$field];
      }
    }

    $activity->save();
    //really this should use Activity BAO& not be here but refactoring will have to be later
    //actually the whole ajax call could be done as an api ajax call & post hook would be sorted
    CRM_Utils_Hook::post('edit', 'Activity', $activity->id, $activity);
    $activity->free();

    return $activityId;
  }

  public function getVoterIds() {
    if (!$this->_interviewerId) {
      $session = CRM_Core_Session::singleton();
      $this->_interviewerId = $session->get('userID');
    }
    if (!$this->_surveyId) {
      // use default survey id
      $dao = new CRM_Campaign_DAO_Survey();
      $dao->is_active = 1;
      $dao->is_default = 1;
      $dao->find(TRUE);
      $this->_surveyId = $dao->id;
    }

    $this->_contactIds = $this->get('contactIds');
    if (!is_array($this->_contactIds)) {
      //get the survey activities.
      $activityStatus = CRM_Core_PseudoConstant::activityStatus('name');
      $statusIds = array();
      if ($statusId = array_search('Scheduled', $activityStatus)) {
        $statusIds[] = $statusId;
      }
      $surveyActivities = CRM_Campaign_BAO_Survey::getSurveyVoterInfo($this->_surveyId,
        $this->_interviewerId,
        $statusIds
      );
      $this->_contactIds = array();
      foreach ($surveyActivities as $val) {
        $this->_contactIds[$val['voter_id']] = $val['voter_id'];
      }
      $this->set('contactIds', $this->_contactIds);
    }
  }

  public function filterVoterIds() {
    //do the cleanup later on.
    if (!is_array($this->_contactIds)) {
      return;
    }

    $profileId = CRM_Campaign_BAO_Survey::getSurveyProfileId($this->_surveyId);
    if ($profileId) {
      $profileType = CRM_Core_BAO_UFField::getProfileType($profileId);
      if (in_array($profileType, CRM_Contact_BAO_ContactType::basicTypes())) {
        $voterIdCount = count($this->_contactIds);

        //create temporary table to store voter ids.
        $tempTableName = CRM_Core_DAO::createTempTableName('civicrm_survey_respondent');
        CRM_Core_DAO::executeQuery("DROP TEMPORARY TABLE IF EXISTS {$tempTableName}");
        $query = "
     CREATE TEMPORARY TABLE {$tempTableName} (
            id int unsigned NOT NULL AUTO_INCREMENT,
            survey_contact_id int unsigned NOT NULL,
  PRIMARY KEY ( id )
);
";
        CRM_Core_DAO::executeQuery($query);
        $batch = 100;
        $insertedCount = 0;
        do {
          $processIds = $this->_contactIds;
          $insertIds = array_splice($processIds, $insertedCount, $batch);
          if (!empty($insertIds)) {
            $insertSQL = "INSERT IGNORE INTO {$tempTableName}( survey_contact_id )
                     VALUES (" . implode('),(', $insertIds) . ');';
            CRM_Core_DAO::executeQuery($insertSQL);
          }
          $insertedCount += $batch;
        } while ($insertedCount < $voterIdCount);

        $query = "
    SELECT  contact.id as id
      FROM  civicrm_contact contact
INNER JOIN  {$tempTableName} ON ( {$tempTableName}.survey_contact_id = contact.id )
     WHERE  contact.contact_type != %1";
        $removeContact = CRM_Core_DAO::executeQuery($query,
          array(1 => array($profileType, 'String'))
        );
        while ($removeContact->fetch()) {
          unset($this->_contactIds[$removeContact->id]);
        }
      }
    }
  }

}


This 'Lazy Girl' dry shampoo will give you an extra day between washes as well as that signature 'undone' look.
Take control with "100 hair pins in a can" Get yourself grip that doesn't slip with Hair by Sam McKnight's Easy-Up Do Texture Spray, a fine but powerful mist.
The perfect multi-tasker. This formula can be used with heat products to set straight or curly locks, sprayed directly onto roots for volume and body, or spritzed through the end of tresses for a lived-in look.
and created some of the world's most iconic hairstyles, his styles gracing countless magazine covers, catwalks and celebrity clients. (From Kate Moss and the late Princess Diana).
a refreshing, chic and transformational take on haircare. Hair by Sam McKnight condenses decades of experience into four effortlessly convenient cans. These four styling products are the secret behind how his team create looks for models backstage at runway shows. They're scented with elegant notes of Water Lily and Cedar.