text:
Q: How to convert pivot a list to a data frame I have a list like this:
CODE    CONTENT
P   ABC
T   8/1/2008 0:00
Q   AAA
Q   BBB
P   XYZ
T   8/1/2008 0:00
Q   XXX
L   ASF

I need to convert the "list" to a table like using Python
P   T               Q        L
ABC 8/1/2008 0:00   AAABBB
XYZ 8/1/2008 0:00   XXX      ASF

Which means, each time it encounter a P, it shall start a new line.
I am really new on this, appreciate any help!


At least that's what the book I'm giving away tomorrow (Saturday) morning claims. The book is, "The Day Christians Changed America," with a subtitle of "How Christian Conservatives Put trump in the White House and Redirected America's Future." Bestselling author of more than 50 books, George Barna, is responsible for this tome, & it's up for grabs tomorrow morning at 7:30 on Puffman Sports Trivia. I already have a sports trivia question on NFL Monday Night Football for tomorrow morning's trivia question. Why not check the book out at: www.CultureFaith.com, & then listen to WIN at 7:30. Speaking of "WINNING," there's so much WINNING happening on Puffman Sports Trivia that I fear you'' get sick of WINNING, but with a nod to my hero, F. Scott Fitzgerald, "Tomorrow we will run faster, stretch out our arms farther, & then one fine Saturday morning, we'll beat on." No worries, the WINNING is only beginning on Puffman Sports Trivia, Saturday mornings at 7:30 on KSEN AM 1150 & K 96 FM..


text:
Gulfstream hands over first G500
By Kate Sarsfield2018-09-28T12:29:13+01:00
Gulfstream has delivered the first G500 to an unnamed US customer.
The handover, which took place on 27 September, came two months after the super-large-cabin business jet had secured US type certification.
Speaking at a dedicated ceremony in Savannah, Georgia to mark the milestone, Gulfstream president Mark Burns said: "We are proud of the work we and our suppliers have done to deliver a technologically advanced, all-new, clean-sheet aircraft that exceeds our customers' expectations and continues the longstanding Gulfstream tradition of excellence."
Thanks to a 5,000h certification effort, amassed by a five-strong flight-test fleet, the 5,200nm (9,620km)-range aircraft enters service "with proof of both its performance capabilities and cabin comfort", the airframer says.
The G500 and its 6,500nm-range, larger cabin stablemate, the G600, feature Pratt & Whitney Canada PW800 engines, fly-by-wire controls and active control sidesticks, Honeywell's Primus Epic-based Symmetry flightdeck with a synthetic vision primary flight display and head-up display, as well as a third-generation enhanced vision system.
The delivery event occurred four years after the clean-sheet G500 and G600 were unveiled. The latter model is in the final stage of its flight-test campaign, with certification and service entry expected in the fourth quarter of 2018 and early 2019, respectively.
Flybe Q400s to be converted into firefighters for Conair
Canadian aerial firefighting specialist Conair Group has emerged as the buyer of 11 Bombardier Q400 turboprops formerly operated by UK regional carrier Flybe. The aircraft had been the subject of a sale arranged through Skyworld Aviation, which had disclosed its appointment to market the "vintage" aircraft – dating from ...
US airlines begin tapping into government aid
The US government has begun disbursing $15 billion in payroll assistance to airlines, which have been eagerly awaiting the financial relief ever since an earlier programme expired in September.
Former KPMG CEO Doughtie joins Boeing's board as Kennedy steps down
Former KPMG chief executive Lynne Doughtie has joined Boeing's board of directors, filling a seat left vacant by the resignation of board member Caroline Kennedy.
More Business aviation
Volocopter working toward FAA approval of VoloCity eVTOL
German urban air mobility company Volocopter has received FAA permission to pursue certification of its autonomous, electric vertical take-off and landing (eVTOL) passenger drone design for flights in the USA.
Gama expands US maintenance footprint with Jet East acquisition
UK business aviation services group Gama Aviation has almost doubled the size of its US maintenance operation with the $11 million acquisition of Trenton, New Jersey-based Jet East
Signature Aviation agrees $4.6 billion takeover
UK-listed aviation services provider Signature Aviation is to be acquired by Global Infrastructure Partners (GIP) in a deal worth $4.6 billion.

redpajama_set_name: RedPajamaCommonCrawl


text:
Asda contract changes 'extremely difficult' for workers
Asda's headquarters in Leeds
Leeds-based supermarket giant Asda has been accused of short-changing 3,000 staff under proposed changes to employee contracts that will see the end of paid breaks.
The supermarket confirmed last week that consultations were taking place to simplify terms for hourly paid workers and increase the basic rate of pay to £9 per hour.
But Siobhain McDonagh, MP for Mitcham and Morden, has claimed in a letter to Asda chief executive Roger Burnley that staff involved in the process were likely to be up to £500 worse off per year. The loss of paid breaks, an end to premium pay and shortening of night shifts would hit staff wages, Ms McDonagh said.
Under the plan, the basic rate of pay would increase from £8.21 per hour for all retail employees, and include the benefits of an annual bonus, colleague discount, sharesave and pension. However staff will be asked to work more flexible times such as on bank holidays while breaks would no longer be paid.
Ms McDonagh said some staff who may have care considerations may find the changes "extremely difficult".
Asda said the changes would bring it in line with industry standards.
Senior vice president for operations, Anthony Hemmerdinger, said: "As our customers continue to change the way they shop with us, we also have to be prepared to change to meet their needs."
Rebecca Long Bailey: How Labour's plan for Post Banks will help to save our high streets
Roger Burnley stands down from Huddersfield role


The plot is set back in 1932-1935 during the occupation of India by Brits. It describes the events happened at Simla. The depraved, selfish and conceited British socialites, residing in Northern India at the foothills of the Himalayas, were twisted and this caused the clashes between them and the locals striving for independence. The series portrays the collapse of British Colonial Empire and the uprise of modern and independent India. Season 2 will show the last summer of viceroy and a political venture to suppress independence.
If you are interested in history of India, you should watch this quite interesting series. The Channel 4 is yet to announce the release date in UK and PBS station to schedule the air date in USA. Follow up on our updates to learn the upcoming details.
When does Indian Summers season 2 return on Channel 4? We have the new information on the status of Indian Summers season 2. Release date to be confirmed at the show's Channel 4 channel. Thank you for having taken part in the voting for Indian Summers season 2.
What can you learn about the TV series: Indian Summers season 2?
British drama is returning to the small screens for its 2nd season in 2016. The premier date in USA is still unknown. The new season will consist of 10 parts. The series was filmed in Malaysia, Penang since the original location – Simla – acquired a new look with modern buildings. Besides, the monsoon season would have affected the filming. A new character – Julie Walters – will join the cast of season 2 and the rest of actors will resume their roles.
Please let Art Malik have a significant role.
Indian Summers is an intriguing historical drama with a superb cast. I'm looking forward to the second season.
On what date will this superb production air in the US?
Indian Summers is riveting, as far as my husband and I are concerned, and we so hope is will return for season 2 and again and again until it's run its course. When in 2016 will it air on PBS?
Julie Walters' character, Cynthia Coffin, is central to the story -- from the beginning of the series. One wonders on what you based your review?
Loved the first season of Indian Summers. Can't wait for season 2.
I really like season 1 of Indian Summer, cant wait for season 2 !!
Subscribe to receive last news and updates status TV show Indian Summers season 2. You will receive an automatic email when the show renewed or cancelled.


text:
John Rhys-Davies Spotlight
Thursday September 5, 2019 2:00 pm to 3:00 pm
John Rhys-Davies began his acting career on stage, starring in hundreds of plays throughout the UK. It was his love of theatre that made him once vow that he'd never perform in front of a camera. Despite this declaration, he eventually relented and has since become one of the most recognizable and beloved character actors in both television and film.
Some of his most iconic characters are Sallah, Indiana Jones' comic sidekick, and Gimli the honorable, wise, and stalwart warrior dwarf in the Lord of the Rings movie franchise in which he also voiced the Ent, Treebeard. In addition, Rhys-Davies has lent his distinctive voice to many video games and animated television series, including the role of Hades in Justice League and Macbeth in Gargoyles. You will also recognize his voice talents as the Brine King in Aquaman.
John is truly an talent for the ages, and this is the perfect opportunity to get to know why he's so loved the world over.
Larry Curtis Moderator
John Rhys Davies


I love you, sweet girl. Always, always.
Rainbow is our second child and Calvin's baby sister. She was our spark, our hope. Though she was only with us for a few weeks before joining her big brother in heaven, she showed me the heart's limitless capacity to grow and love, even in grief. Our Rainbow is immensely loved, missed, and wanted. You can read my post about Rainbow's angelversary.


text:
"We continue to take little baby steps": Pirates of the Caribbean Producer Promises Johnny Depp's Return as Jack Sparrow After Amber Heard Trial
in Celebrities, Disney, Movies, News
Subham Mandal December 17, 2022, 11:49 am
Johnny Depp's role as Captain Jack Sparrow can be considered one of the most iconic characters in pop culture. The fans were widely sad when the Pirates of the Caribbean franchise decided to remove the actor due to the controversies attached to him. But now as the actor came out victorious in the defamation trial against his ex-wife Amber Heard, fans worldwide demanded for his return to the franchise. It seems like we might witness it very soon as the producer Jerry Bruckheimer hinted at the return of the actor in the sixth installment of the franchise.
Johnny Depp as Captain Jack Sparrow
The 59-year-old actor played the role of the witty pirate for 5 movies in the franchise. But after the allegations made against the actor by his ex-wife, he was removed from the franchise. Now it looks like the actor might have been brought back to the Pirates of the Caribbean bandwagon after the producer of the franchise suggested that the works are in progress for upcoming installments.
Also Read: 'I just try to do as much stupid stuff as I can to make them laugh': Johnny Depp Stays in Jack Sparrow Character Because He Wants the Sick Kids' Parents to Stay Strong
Is Johnny Depp to return in Pirates of the Caribbean 6?
Recently the producer Jerry Bruckheimer during an interview with AP Entertainment revealed that the studio is working on future installments and bringing back Depp to the team.
"We're still working on it" – producer Jerry Bruckheimer discusses Johnny Depp's potential return to "Pirates of the Caribbean" pic.twitter.com/GrIre7W4bm
— AP Entertainment (@APEntertainment) December 13, 2022
In the interview, Bruckheimer cleverly hinted at the return of the Edward Scissorhands actor to the franchise. Without giving any major or confirmed information, he made the fans hope for a brighter future for Depp in the future of Pirates of the Caribbean:
"We're still working on it. Nothing's definitive yet, but we continue to take little baby steps getting towards a screenplay."
Johnny Depp with Jerry Bruckheimer
Now, despite the news raising quite a buzz on the internet, Johnny Depp's comments on his role as Jack Sparrow during the defamation trial still make his return debatable. The actor openly admitted that he would not return to the role no matter how much he is convinced. So more details are expected about the franchise to get a clear outlook on the possible return of Depp in the sixth installment. On the other hand, Jerry Bruckheimer also presented another surprise by revealing that the spin-off which was planned with Margot Robbie is also under development.
Also Read: 'I'll be doing this until I'm like 150': Johnny Depp Left Stunned After Knowing He May Return as Jack Sparrow in 5 More 'Pirates of the Caribbean' Movies
Margot Robbie's Pirates of the Caribbean spin-off is not dead yet
In June 2020, it was announced that a female-centric Pirates of the Caribbean movie will be released by Disney with The Suicide Squad fame in the lead. But not many details were revealed after that which led everyone and even Margot Robbie to believe that the project is dead.
Also Read: Margot Robbie Starring Barbie Drops First Trailer, Fans Draw Parallel With Stanley Kubrick's Legendary 2001: A Space Odyssey
Margot Robbie told Variety in an interview that she doesn't think Disney is interested in further working on the project.
"We had an idea and we were developing it for a while, ages ago, to have more of a female-led — not totally female-led, but just a different kind of story — which we thought would've been really cool. But I guess they don't want to do it."
But Jerry Bruckheimer contradicted Robbie's statement in the recent talk with AP Entertainment. He presented a light of hope for the spin-off project by suggesting that they are actively working on both the projects of the franchise.
"I think that that script will come forward at a certain point. We developed two different stories for Pirates, and the other one's going forward first, so that's what we're working on, to try to get that one made."
An announcement on a brand-new Pirates of the Caribbean movie will surely raise a storm on the internet. Even a small glimpse of Captain Jack Sparrow would be enough to drive the audience mad. But as the projects are still in their early stages, waiting is only the best alternative for everyone looking forward.
All the Pirates of the Caribbean movies can be streamed on Disney+.
Source: AP Entertainment
Captain Jack SparrowJerry BruckheimerJohnny DeppMargot RobbiePirates Of The Caribbean
Written by Subham Mandal
Subham Mandal is currently working as a writer for FandomWire with an ardent interest in the world of pop culture. Subham has written more than 400 articles on different spheres of modern pop culture and is currently pursuing a Bachelor of Arts degree in English based in Kolkata. He's also an experienced student journalist having demonstrated work experience with the Times of India. He aspires to be a column writer in the future.


text: Q: How can I create a limit that something can happen in a specific time period I am making a mod for minecraft and it uses an api. The rule with the api is you can not make more than 120 requests in 1 minute or your api will be banned. I was wondering what I can do to make it so that every time you reach 110 requests in 50 seconds it stops everything and when that minute is over, it continues again. Thanks. Sorry if you don't understand. If you don't I can explain better.

redpajama_set_name: RedPajamaStackExchange


Showjumping, CSI5* Global Champions League Finals Prague - One Striker Change for 6.4million euro, Final 16.12. 2018, 14.30 pm - Team 'Madrid in Motion' on of best 6 Teams from total 19 teams qualified !
After thrilling quarter and semifinals, where the 6 top teams out of a total of 19 teams qualified past nights in Prague, we now turn to the epic finale of the GCL Super Cup this afternoon here in the spectacular O2 Area, where 6.4million euros in prize money is on offer !
A single and very important change has occurred in this afternoon's line-up for the GCL Super Cup final. The championship winners, London Knights, will hand the reins to team manager Ben Maher and Explosion W. Explosion W needs no introduction, his name is etched into Global Champions history after winning multiple LGCT Grand Prix this season and being a vital member of the Champion GCL team.
Looking at this season performances we can see an inverse relationship between performance and today's starting order. On average London Knights have two faults per round compared to the semi-final leading team Madrid in Motion who average 4.3 faults per round. When it comes to speed, London Knights are again leading as the fastest team on average all season whereas Madrid in Motion are the slowest of the six teams. Crucially, 3.5 seconds separate London Knights and Madrid in Motion which is lifetime in our nail-biting sport.
It seems Madrid in Motion, Scandinavian Vikings and Paris Panthers have found a winning formula, maintaining the same teams from the quarter, semis and now final.
All the action live on GC TV at 14.30 hours CET, 13.30 hours GMT (Greenwich Mean Time), 08.30 hours EST (Eastern Standard Time) and 21.30 CST (China Standard Time).
Semifinals, It was a night of unprecedented high drama as six teams faced down extrodinary pressure in the cliffhanger GC Playoffs to win through to Sunday's GCL Super Cup Final at the O2 Arena in Prague.
There was no let up throughout the nerve racking GCL Super Cup semi finals which ended with Madrid In Motion, Scandinavian Vikings, Paris Panthers, Valkenswaard United, London Knights and Montreal Diamonds winning their ticket to the €6.4 million final.
Madrid In Motion were the only team on the night to deliver clear rounds from all three riders with the Vikings and Panthers coming home with only 4 faults and United, Knights and Diamonds all on 8 faults.
The adrenaline was running high all night with the passionate crowd holding a collective breath as the 12 teams in the semi final teetered on the brink of agony or ecstasy with only six able to qualify.
The GCL Champions of the 2018 season, London Knights, came close to dropping out but managed to finish 5th and survive to the Final. London Knights Team Manager Ben Maher said: "We are in the final and that is all that counts." There was bitter disappointment for Miami Celtics and Rome Gladiators as the ruthless new format took its toll.
Earlier in the evening the O2 Arena was lit up as flaming torches and special effects accompanied the Walk of Champions as GCL team riders waved to the crowds in the Opening Ceremony.
Tension was high as the first team entered the ring with pressure showing on the faces of even the most experienced riders in the world today. With huge prize money at stake it was a night when fortunes would rise and fall on the slightest error as riders and horses faced the formidably difficult course set by Uliano Vezzani in the indoor sand arena.
A solid looking Longines wall early on in the course posed less problems than it did in the quarter-finals, despite its intimidating presence. A delicate Rolls Royce vertical tumbled at the lightest of touches and a Czech Equestrian Team plank caught out a few combinations.
There was heartbreak for U25 rider Jos Verlooy and Igor as the final fence fell, with World Number 1 Harrie Smolders taking up the mantle for the team. With the cool headed Don V.H.P Z Harrie pulled a clear out of the bag, keeping the Diamonds on a score of four with the rest of the field yet to come.
There was disappointment for Monaco Aces, with a combined score of 24 from Simon Delestre, Jerome Guery and Julien Epaillard, knocking them right down the order and out of the running for the final.
Leopold van Asten and VDL Groep Miss Untouchable pulled a magnificent clear for the Scandinavian Vikings, speeding around the course in the fastest time so far. U25 rider Evelina Tovek clipped the wide white oxer set across the diagonal with Dalila de la Pomme, putting the pressure on the final rider Christian Alhmann. The German maestro kept ice cool, piloting Caribis Z to a strong clear keeping the team on a score of four.
Berlin Eagles made the most strategic changes from the quarter-final to today's round, with two horse changes. Eight faults for Christian Kukuk and Colestus meant the Eagles would be on the backfoot. Philipp Weishaupt delivered a brilliant clear to keep the team in the running. But disappointment would come for anchor Ludger Beerbaum as two early poles fell, putting the team on 16 overall.
Madrid in Motion fielded Marc Houtzager and the exuberant Sterrehof's Calimero pulled out all the stops to jump clear, with the duo swiftly backed up by Maikel van der Vleuten and star stallion Verdi TN. Enormous pressure would fall on the shoulders of final team rider Eduardo Alvarez Aznar and experienced horse Rockfeller de Pleville Bois Margot were the epitome of grace under pressure, providing a remarkable triple clear and ensuring the team would earn a place in Sunday's showdown.
Doha Fursan Qatar's trio of Sheikh Ali Bin Khalid Al Thani, Michael Whitaker and Bassem Hassan Mohammad ran out of luck, after Michael had to retire following a burst blood vessel in his horse Strides Hilanasterne's nose. Michael confirmed shortly afterwards that his bay mare was completely fine, the equivalent of a 'nose bleed'.
First of the top four teams who had fast-tracked their way to the semi finals were the Rome Gladiators – the green team throwing down the gauntlet with a gutsy clear from Laura Kraut and Zeremonie. A pole down at the Liverpool for both Marlon Zanotelli and Lorenzo de Luca would drop the score to eight. But as Lorenzo put his foot on the gas another pole fell, putting the Gladiators on 12, right on the edge of the missing out on the final.
Miami Celtics' Jessica Springsteen and RMF Zecilie collected eight faults, putting the team into the danger zone. Shane Breen knew he had to jump clear but it all came undone at the last line, the final fence falling and dropping the team to 12. U25 rider Michael Duffy had enormous pressure on his shoulders, knowing a fast clear would be the only chance the team would have of making the final. But the young Irishman finished clear, riding his 9 year Quinatno 35 beautifully to keep the team on the knife edge.
Just two teams remained, and they were the two greatest rivals of the 2018 Championship. London Knights and Valkenswaard United.
Marcus Ehning and the pocket-rocket Comme Il Faut were first to go for Valkenswaard United, setting off at a gallop. The fiery stallion flew around the arena to jump clear, passing the baton to Bertram Allen and Molly Malone. The vertical fell in the middle of the combination, but another fast round would keep them at the sharper end of the grid. Final rider Alberto Zorzi and Contanga 3 faced down monumental pressure, clocking up four faults but making it into Sunday's final.
Final team to go London Knights, winners of the 2018 GCL Championship, played Nicola Philippaerts up front with H&M Chilli Willi. Spectators held their breath as they rocketed around the track, putting in a clear to buoy the team's chances. Silence fell as Martin Fuchs and the experienced Clooney powered to the last with a stunning clear.
The atmosphere could be cut with a knife as Olivier Philippaerts and H&M Legend of Love took an early pole. This heaped pressure on the rest of the round, and there was agony as the Rolls Royce fence fell putting the team on a total of eight. But their time was good meaning the 2018 Champions would qualify.
Sunday's GCL Super Cup Final are set to play out in front of full grandstands each day. You can watch live on GC TV with expert commentary and analysis, innovative new graphics and featuring rider interviews throughout the coverage.


(Jeffery Giorgi) Living with your best friend is one of those things in life that most people (at least guys) think is the greatest thing in the world. Nerf wars, gaming sessions, always got someone to split the cost of take-out with; it really doesn't get too much better.
That's why most people, after their freshman year at least, opt to share a dorm with whoever they're closest with. And then you graduate and you hopefully get your dream apartment. You'll celebrate the joint purchase of a television and couch as you both sleep on your futon or air mattress because who needs a real bed when you have a couch and big t.v. It's pretty exciting and I guarantee some incredible memories will be made, perks of living with a BFF.
Of course, some problems will arise, toothpaste in the sink, last of the milk gone, someone didn't replace the toilet paper. But in the grand scheme of things, it's really nothing to worry about.
But, there is one thing, completely out of your control that will determine the fun factor of your sweet pad—your roommate's boyfriend or girlfriend.
It goes without saying that everyone wants their best friend and their significant other to get along. And usually that's the case. When you live with someone who's dating though, things can become complicated.
Perhaps an example is in order.
I recently had a Christmas party with lots of guests. Twas a grand ole time and by the end of the night a few select people were all just sitting around listening to music and having great conversation.
One of those people was my BFF (I'm going to keep using this term, I don't care about the connotation that comes with it) and another of those people was a girl who showed up that he was hitting it off with smashingly well.
I quite approved of this girl too, until she found my guitar.
Come on, when has anyone liked the person who plays guitar at a party? It's like saying you enjoy it when a guy plays guitar at a party.
Then, while still playing guitar, she started singing—loud.
Even after the guitar was put down, and while some songs I really enjoyed were playing, she continued to sing—loud.
As I sat there with my back to her (she'd moved to get the guitar) I surveyed the room. One person was laughing hysterically, though he was really intoxicated so he got away with it, another was texting me question marks and wtf's. But the one reaction I could not have predicted, that of my bff.
And like that, the glass shattered. From then on out everything she did annoyed the piss out of me.
Same night, watching Netflix with the last few remaining people, I try to find something to make everyone happy.
The next day when I asked my bff if it was worth it, I may have asked it differently, he let me know that he was planning on seeing her again.
And despite how much I desperately didn't want that to be his response, I was still really happy for him.
He's a really great guy who's had some seriously bad luck with the ladies and this one digs him.
And in the end that means she unanimously gets my seal of approval.
For all of the pro's that come from living with your best friend, there's always going to be a bunch of con's. And if the worst one is that their significant other annoys you, then you made out ok.
I still told him about all the things that really bugged me, cause that's what best friends do. I just won't let her near my guitar again—ever.
John Belushi did not approve of guitar playing in "Animal House" .. unfortunately he destroyed the guitar. Can't say that he was much on words. His reaction was priceless and did more than words could express. Awesome Article !!!
That Jason Gif had me rolling.
The development in the education system is the requirement of every time and instance because it is a process of continued modification and update of knowledge. New information as well as technological advancements keep adding in value to the system.
The study of education, its history and evolution has gained a lot of popularity with more and more students specializing in the subject every year. This has led to award the world with more educationists that work for the betterment of education system.
Lovely writing & very well explained, very informative it will help students in academic field. I'll follow your post it is very helpful.
Great post, You have done here I am very happy to see this nice post. keep it up and share more post like this. Me and my friends are waiting for your next post.
Much obliged truly helpful. Will surely impart site to my companions.
Bewildering! This online journal looks over a to some baffling degree central level like my old one! It's with a totally unmistakable subject paying little personality with it sports a really essential level exactly the same page system and structure. Amazing decision of tones!
Despite You still have a cerebrum site. We are amped up for also interfacing subjects. i educate you've got certainly strikingly idol subjects, i am unendingly checking internet diary. Its necessarily shockingly horse and buggy day anything something human and i also correspondingly will in a examination disclose key gratefulness for giving this staggering disclosure to us.
While working on planning for any national project we have to be very honest. Getting suggestions from experts and loyal people is the best way to plan anything. Visiting our site superior papers com will be helpful to know about few important steps while planning your projects.
This site is full of valuable ideas and significant information which we can share to our family and friends, thanks to the site administrator you really did a great job.
SBS 101 solutions is an R&D platform that provides you access to all digital tools on everything from development of your website to online marketing, content marketing, digital advertising, monitoring and beyond. Access the best available tools online placed under different seasons by a simple FREE sign up and get hold to the world of best digital tools.
"The TAQ Organization" is Pakistan's Leading Group Engaged in Intl. Transportation, Forwarding and Logistics. We are a Different Organization in Pakistan.
The secret to a finish that's free of lap and brush marks is mixing a paint extender (also called a paint conditioner), such as Floetrol, into the paint.
Nobody like that person at a party.
Lap imprints are those appalling stripes caused by uneven layers of paint development. They happen when you move over paint that is as of now incompletely dry. (In warm, dry conditions, latex paint can start to harden in under a moment!) The way to keeping away from lap imprints is to keep up a "wet edge," so each stroke of your roller covers the past stroke before the paint can start to dry.
nice post and so informative contains nice content for users and thanks for posting such a nice article and blog surely going to share it with friends.
Dhdubaiservice provide all kind of services related to painting, indoor outdoor painting services, we are team of very experts and expert in painting services, wall painting services and all villa painting services in all around dubai.
An intriguing discussion is worth comment. I think that you ought to publish more on this subject matter, it might not be a taboo matter but generally people don't discuss these issues.


text:
filed: April 26, 2014 • Ontario
NextEra forms community group; Wind company seeks residents to sit on Community Liaison Community
Credit: by Kevin Bernard | April 25, 2014 | www.bayshorebroadcasting.ca ~~
(Durham ) – NextEra Energy is looking for volunteers to join a Community Liaison Committee that will gather feedback on the multi-million dollar project.
It's expected the group will hold four public meetings over the next two years, and report back to NextEra on issues involving construction, installation, operation and retirement of the East Durham Wind Energy centre.
The first meeting is likely in late July.
Communications specialist with NextEra Energy, Josie Bird, says the Liaison committee will operate as a go-between, as concerns expressed by the public will be gathered and given to company officials.
Development of the East Durham Wind Energy Centre began in 2006.
The 14 turbine wind energy project is expected to have a maximum generating capacity of up to 23-megawatts.
That would produce enough energy for approximately 6,000 homes in Ontario.
Bird says they need about 14 people to join the committee, so they have a broad and balanced perspective to the project.
Anyone interested in volunteering, can call the Facilitator, Avril Fisken at 519-840-2260 or email here at avril.fisken@aecom.com.
Source: by Kevin Bernard | April 25, 2014 | www.bayshorebroadcasting.ca


text:
/// <reference path="../types/nodeunit.d.ts" />
import expressions = require('../src/expression');

import test_utils  = require('./test_utils');
import firebase_io = require('./firebase_io');
import compiler = require('../src/compiler');
import async = require('async');

export function testString(test:nodeunit.Test):void{
    async.series([
        firebase_io.assertSetValidationRules.bind(null, compiler.compile("test/cases/string.yaml", true).code, test),
        test_utils.assert_can_write.bind (null, "any", "/", "correct", test),
        test_utils.assert_cant_write.bind(null, "any", "/", "incorrect", test), //not in enum
        test_utils.assert_cant_write.bind(null, "any", "/", {"child":"correct"}, test),
        test_utils.assert_can_read.bind  (null, "any", "/", "correct", test)
    ], test.done.bind(null));
}

export function testNumber(test:nodeunit.Test):void{
    async.series([
        firebase_io.assertSetValidationRules.bind(null, compiler.compile("test/cases/number.yaml", true).code, test),

        test_utils.assert_can_write.bind (null, "any", "/plain_number", 4, test),
        test_utils.assert_can_write.bind (null, "any", "/plain_number", 4.2, test),
        test_utils.assert_can_write.bind (null, "any", "/plain_number", -5, test),
        test_utils.assert_cant_write.bind (null, "any", "/plain_number", "str", test),
        test_utils.assert_cant_write.bind (null, "any", "/plain_number", {"a":5}, test),

        test_utils.assert_can_write.bind (null, "any",  "/min_number", 5, test),
        test_utils.assert_cant_write.bind (null, "any", "/min_number", 4.9, test),

        test_utils.assert_can_write.bind (null, "any",  "/exclusive_min_number", 5.1, test),
        test_utils.assert_cant_write.bind (null, "any", "/exclusive_min_number", 5, test),

        test_utils.assert_can_write.bind (null, "any",  "/max_number", 0, test),
        test_utils.assert_cant_write.bind (null, "any", "/max_number", 0.1, test),

        test_utils.assert_can_write.bind (null, "any",  "/exclusive_max_number", -.1, test),
        test_utils.assert_cant_write.bind (null, "any", "/exclusive_max_number", 0, test),

    ], test.done.bind(null));
}

export function testFunction_access(test:nodeunit.Test):void{
    async.series([
        firebase_io.assertSetValidationRules.bind(null, compiler.compile("test/cases/function_access.yaml", true).code, test),
        test_utils.assert_cant_write.bind(null,  "tom", "/", "string", test),
        test_utils.assert_can_write.bind (null,  "not", "/", "string", test),
        test_utils.assert_cant_read.bind (null,  "not", "/", test),
        test_utils.assert_can_read.bind  (null,  "tom", "/", "string", test)
    ], test.done.bind(null));
}

export function testAccess(test:nodeunit.Test):void{
    async.series([
        firebase_io.assertSetValidationRules.bind(null, compiler.compile("test/cases/access.yaml", true).code, test),

        test_utils.assert_admin_can_write.bind(null, "/",
            {chld1:{grnd1:"1", grnd2:"2"}, chld2:{grnd3:"3", grnd4:"4"}}, test),

        test_utils.assert_cant_write.bind(null, "red",  "/chld2",       {}, test),
        test_utils.assert_cant_write.bind(null, "red",  "/chld2",       {}, test),
        test_utils.assert_cant_write.bind(null, "black","/",            {}, test),
        test_utils.assert_cant_write.bind(null, "black","/chld1/grnd1", "string", test),
        test_utils.assert_cant_write.bind(null, "black","/chld1/grnd2", "string", test),

        test_utils.assert_can_write_mock.bind(null, "red","/chld1/grnd1",   "string", test),
        test_utils.assert_can_write_mock.bind(null, "red","/chld1/grnd2",   "string", test),
        test_utils.assert_can_write_mock.bind(null, "black","/chld2/grnd3", "string", test),
        test_utils.assert_can_write_mock.bind(null, "black","/chld2/grnd4", "string", test),

        test_utils.assert_can_write_mock.bind(null, "red",  "/chld1", {}, test),
        test_utils.assert_can_write_mock.bind(null, "black","/chld2", {}, test),
        test_utils.assert_cant_write.bind(null,     "black","/chld1", {}, test),
        test_utils.assert_cant_write.bind(null,      "red", "/chld2", {}, test),

        test_utils.assert_cant_write.bind(null,      "red", "/", {}, test),
        test_utils.assert_cant_write.bind(null,      "red", "/", {}, test)

    ], test.done.bind(null));
}

export function testCascade(test:nodeunit.Test):void{
    async.series([
        firebase_io.assertSetValidationRules.bind(null, compiler.compile("test/cases/cascade.yaml", true).code, test),

        test_utils.assert_admin_can_write.bind(null, "/",{}, test),

        test_utils.assert_cant_write.bind(null, "any","/chld1/grnd1", "string", test),
        test_utils.assert_cant_write.bind(null, "any","/chld1/grnd2", "string", test),
        test_utils.assert_cant_write.bind(null, "any","/chld2/grnd3", "string", test),
        test_utils.assert_cant_write.bind(null, "any","/chld2/grnd4", "string", test),

        test_utils.assert_can_write.bind(null, "any","/",
            {chld1:{grnd1:"1", grnd2:"2"}, chld2:{grnd3:"3", grnd4:"4"}}, test)

    ], test.done.bind(null));
}

export function testRequired(test:nodeunit.Test):void{
    async.series([
        firebase_io.assertSetValidationRules.bind(null, compiler.compile("test/cases/required.yaml", true).code, test),

        test_utils.assert_admin_can_write.bind(null, "/",{}, test),

        //should be able to write full try
        test_utils.assert_can_write_mock.bind(null, "any","/",
            {chld1:{grnd1:"1", grnd2:"2"}, chld2:{grnd3:"3", grnd4:"4"}},
            test),
        //or the subtree with both required grandchildren
        test_utils.assert_can_write_mock.bind(null, "any","/chld1",
            {grnd1:"1", grnd2:"2"},
            test),
        test_utils.assert_can_write_mock.bind(null, "any","/chld2",
            {grnd3:"3", grnd4:"4"},
            test),
        //or jsut one grandchild of the unrequired tree
        test_utils.assert_can_write_mock.bind(null, "any","/chld2/grnd3", "3", test),

        //but not one grandchild of the required subtree
        test_utils.assert_cant_write.bind(null, "any","/chld1/grnd1", "1", test)

    ], test.done.bind(null));
}

export function testTypes(test:nodeunit.Test):void{
    async.series([
        firebase_io.assertSetValidationRules.bind(null, compiler.compile("test/cases/types.yaml", true).code, test),

        test_utils.assert_admin_can_write.bind(null, "/",{}, test),

        test_utils.assert_can_write_mock.bind(null, "any","/object",  {a:5}   , test),
        test_utils.assert_can_write_mock.bind(null, "any","/string",  "string", test),
        test_utils.assert_can_write_mock.bind(null, "any","/number",  1, test),
        test_utils.assert_can_write_mock.bind(null, "any","/boolean", true    , test),

        test_utils.assert_cant_write.bind(null, "any","/object",  "string" , test),
        test_utils.assert_cant_write.bind(null, "any","/string",  1        , test),
        test_utils.assert_cant_write.bind(null, "any","/number",  true     , test),
        test_utils.assert_cant_write.bind(null, "any","/boolean", {a:5}    , test),
        test_utils.assert_cant_write.bind(null, "any","/boolean", "true"   , test),

        test_utils.assert_cant_write.bind(null, "any","/extra", true    , test),

    ], test.done.bind(null));
}

export function testDefinitions(test:nodeunit.Test): void{
    async.series([
        firebase_io.assertSetValidationRules.bind(null, compiler.compile("test/cases/definitions.yaml", true).code, test),

        test_utils.assert_admin_can_write.bind(null, "/", {}, test),

        test_utils.assert_can_write.bind(null, "any","/object",  {"boolean":true}   , test),
        test_utils.assert_can_write_mock.bind(null, "any","/object/boolean",  true   , test),
        test_utils.assert_can_write_mock.bind(null, "any","/string",  "string", test),
        test_utils.assert_can_write_mock.bind(null, "any","/number",  1, test),
        test_utils.assert_can_write_mock.bind(null, "any","/boolean", true    , test),

        test_utils.assert_cant_write.bind(null, "any","/object",  "string" , test),
        test_utils.assert_cant_write.bind(null, "any","/string",  1        , test),
        test_utils.assert_cant_write.bind(null, "any","/number",  true     , test),
        test_utils.assert_cant_write.bind(null, "any","/boolean", {a:5}    , test),
        test_utils.assert_cant_write.bind(null, "any","/boolean", "true"   , test),

        test_utils.assert_cant_write.bind(null, "any","/extra", true    , test),

        test_utils.assert_can_write_mock.bind(null, "any","/object/string",  "string", test),
        test_utils.assert_can_write_mock.bind(null, "any","/object/number",  1, test),
        test_utils.assert_can_write_mock.bind(null, "any","/object/boolean", true    , test),

        test_utils.assert_cant_write.bind(null, "any","/object/extra", true    , test),

    ], test.done.bind(null));
}

export function testAny(test: nodeunit.Test):void{
    async.series([
        firebase_io.assertSetValidationRules.bind(null, compiler.compile("test/cases/any.yaml", true).code, test),

        test_utils.assert_admin_can_write.bind(null, "/",{}, test),

        test_utils.assert_can_write_mock.bind(null, "any","/",  true   , test),
        test_utils.assert_can_write_mock.bind(null, "any","/",  "string"   , test),
        test_utils.assert_can_write_mock.bind(null, "any","/",  {chld_str: "a", chld_bool: true}, test),

        test_utils.assert_cant_write.bind(null, "any","/", {chld_str: false, chld_bool: true}    , test),

    ], test.done.bind(null));
}
export function testWildchild(test:nodeunit.Test):void{
    async.series([
        firebase_io.assertSetValidationRules.bind(null, compiler.compile("test/cases/wildchild.yaml", true).code, test),

        test_utils.assert_admin_can_write.bind(null, "/wildchild/",{}, test),

        test_utils.assert_can_write_mock.bind(null, "any","/wildchild/chld1", "Y", test),
        test_utils.assert_can_write_mock.bind(null, "any","/wildchild/chld2", "Y", test),
        test_utils.assert_cant_write.bind(null,     "any","/wildchild/chld1", "N", test),
        test_utils.assert_cant_write.bind(null,     "any","/wildchild/chld2", "N", test),

        test_utils.assert_cant_write.bind(null, "any","/wildchild/", {chld1:"Y", chld2:"Y"}, test),

        test_utils.assert_can_write.bind(null, "any","/wildchild/extra", "N", test),

        test_utils.assert_can_write.bind(null, "any", "/wildchild/real", "Y", test),
        test_utils.assert_cant_write.bind(null, "any", "/wildchild/real", null, test),

    ], test.done.bind(null));
}

export function testWilderchild(test:nodeunit.Test):void{
    async.series([
        firebase_io.assertSetValidationRules.bind(null, compiler.compile("test/cases/wildchild.yaml", true).code, test),

        test_utils.assert_admin_can_write.bind(null, "/wilderchild/",{}, test),

        test_utils.assert_can_write_mock.bind(null, "any","/wilderchild/chld1", "Y", test),
        test_utils.assert_can_write_mock.bind(null, "any","/wilderchild/chld2", "Y", test),
        test_utils.assert_cant_write.bind(null,     "any","/wilderchild/chld1", "N", test),
        test_utils.assert_cant_write.bind(null,     "any","/wilderchild/chld2", "N", test),

        test_utils.assert_can_write.bind (null, "any","/wilderchild/", {chld1:"Y", chld2:"Y"}, test),
        test_utils.assert_cant_write.bind(null, "any","/wilderchild/", {chld1:"N", chld2:"Y"}, test),

        test_utils.assert_can_write.bind(null, "any","/wilderchild/extra", "N", test),

        test_utils.assert_can_write.bind(null, "any", "/wilderchild/real", "Y", test),
        test_utils.assert_can_write.bind(null, "any", "/wilderchild/real", null, test), //danger introduced by wilder childs

    ], test.done.bind(null));
}

export function testSanitize(test:nodeunit.Test):void{
    async.series([
        firebase_io.assertSetValidationRules.bind(null, compiler.compile("test/cases/sanitize.yaml", true).code, test)
    ], test.done.bind(null));
}

export function testNestedWildchilds(test:nodeunit.Test):void{
    async.series([
        firebase_io.assertSetValidationRules.bind(null, compiler.compile("test/cases/wildchild.yaml", true).code, test),

        test_utils.assert_admin_can_write.bind(null, "/nested/",{}, test),

        //anyone can write to grandchildren
        test_utils.assert_can_write.bind(null, null,"/nested/a/a/data", "a", test),
        //no-one can delete because of constraint
        test_utils.assert_cant_write.bind(null, null,"/nested/a/a/data", null, test),

        //authenticated have greater permissions (can't do at the moment)
        //test_utils.assert_can_write.bind(null, "auth", "/nested/a", null, test),
    ], test.done.bind(null));
}

/*TODO
export function testWilderChildMixedAccess(test:nodeunit.Test):void{
    async.series([
        firebase_io.assertSetValidationRules.bind(null, compiler.compile("test/cases/wilderchildHierarchicalAccess.yaml", true).code, test),

        test_utils.assert_admin_can_write.bind(null, "/",{}, test),

        //root can write anywhere
        test_utils.assert_can_write.bind(null, "root","/",       "payload", test),
        test_utils.assert_can_write.bind(null, "root","/a",     "payload", test),
        test_utils.assert_can_write.bind(null, "root","/a/a",   "payload", test),

        //child can write first two level
        test_utils.assert_cant_write.bind(null, "child","/",       "payload", test),
        test_utils.assert_can_write.bind(null, "child","/a",     "payload", test),
        test_utils.assert_can_write.bind(null,  "child","/a/a",   "payload", test),

        //grandchild can write only last level
        test_utils.assert_cant_write.bind(null, "grandchild","/",      "payload", test),
        test_utils.assert_cant_write.bind(null, "grandchild","/a",     "payload", test),
        test_utils.assert_can_write.bind(null, "grandchild","/a/a",   "payload", test),
    ], test.done.bind(null));
}*/

redpajama_set_name: RedPajamaGithub


Some welcome changes have been made to the latest traffic forecasts from the Government, but their models still urgently need to be updated and opened up.
The Department for Transport's new Road Traffic Forecasts  have been published, and we're pleased to see a few steps towards the 'scenario' approach we have been advocating for a long time, alongside many academics and experts.
"There is inevitable uncertainty in any projection. A useful approach is to adopt scenarios, rather than a central case with sensitivities. One scenario might correspond to the Department's central case. Another might reflect the peak car perspective."
The DfT hasn't wholeheartedly embraced the concept. Instead of looking at the way a range of factors might interact (including Government policies) to cause different traffic levels in future, the changes made are more like a simple 'sensitivity test' of a couple of variables.
However, it is good to see any changes at all filtering through the notoriously conservative world of modelling, and to see influences outside economics being considered, especially in the light of past forecasts being so inaccurate and the 'peak car' debate .
You can see what they have done in the table below. Instead of a simple set of high and low bounds, controlled only by macroeconomic factors like GDP, population and the price of oil, the five separate scenarios have also factored in a reduced dependence of driving behaviour on income, and one scenario also looks at what happens when the number of trips made per person continues to follow the current falling trend.
The resulting forecasts from the new scenarios are shown below – plotted as a continuation of the excellent analysis done on previous forecasts by Prof Phil Goodwin (read about this here ).
What's especially interesting about Scenario 3 (the one which includes continued falling trip rates) is the effect on car travel after 2025. In this scenario, the trend for car traffic is more or less flat after 2025, opening up all kinds of possibilities for policy initiatives that might actually reduce traffic and congestion.
This is a much more optimistic future than the decades old 'predict and provide' philosophy, which warns about imminent gridlock and builds new road capacity that will – at best – only make the future situation a little less bad. It's certainly the first time I've ever seen a traffic prediction from the government that acknowledges the possibility of any kind of equilibrium!
Many flaws clearly still remain in the methodology. The inputs to the model continue to assume fuel prices will level off and carbon emissions from road transport will rise after 2030, even though we know most of the remaining oil reserves have to be left in the ground if we're to avoid catastrophic climate change .
And nothing has been changed to reduce old problems such as the lack of land-use planning variables and assumptions about increasing driving rates as people get older.
The treatment of other modes is also very simplistic. For example, no account is taken of increases in rail capacity, and the tables of results by vehicle type show a big decline in the number of buses by 2040 (around 20 per cent). I suspect the same is again true of cycling, although this mode isn't even reported and we'll have to ask for the details as CTC did last year .
Finally, the changes made have only been applied to car trips, leaving forecasts for vans and HGVs to remain as more or less simple extrapolated trends. This is despite huge investment being made to switch freight from heavy lorries onto rail , and the inherent lack of logic in assuming increased van deliveries (again it seems largely due to internet shopping) will continue to increase indefinitely.
This prediction makes no sense at all: even if cities fail to act with measures such as consolidation centres, any logistics companies worthy of the name would start combining van deliveries long before we got to the situation predicted by the forecasts, even if purely for reasons of business common sense!
Finally, we know the DfT's current model of the transport network and demand for motor travel is creaking in its methodology, but it's also increasingly outdated in terms of technology too. A full run of the model takes weeks as it uses a wide range of different software programs, cobbled together into something that cannot be rapidly tweaked or run repeatedly to experiment on the effects of different factors.
It will need renewing soon and, when it is, we hope that the DfT will make it much more open to scrutiny, examination and testing by academics and other researchers.
Alongside London Cycling Campaign, Open Rights Group and Involve, we asked for the same thing recently from Transport for London, whose models have held up schemes to increase road space for cycling and buses in recent years.
In our joint response to TfL's consultation on transparency  our groups ask for much more data to be made available to researchers, campaigners and the general public, and for a register of research to be kept up to date, with plans and results available for all to see. Our letter also asks for TfL's transport model of London to be opened up to scrutiny as soon as possible.
One example we give of when a more open approach would have been helpful is when the TfL model calculated a £200 million cost disbenefit for the new segregated cycle routes through central London, resulting from very large predicted delays to long car journeys through central London .
"The modelling has often been too pessimistic in the past and you can see that by what it predicted compared to what has actually happened. It predicted, for instance, that the abolition of the Western Extension to the Congestion Charge Zone would cause between 8% and 12% more traffic in the Zone and a rise of 15% to 21% in congestion. The actual rise was 6%. It predicted a drop in traffic speeds of 6% to 12%. The actual drop was 3%."
Along with the small steps taken by the DfT this month, we hope that we're finally making progress on this crucial issue towards better and more open transport models, which could soon be the foundation of a much better future transport policy.


As per a recent update, with the past spring's software conference, Microsoft finally revealed a few key details about the new SharePoint 2016. This was the first official opportunity to share information with the public about the upcoming changes, some of which are simply technical bits of information regarding the cloud storage changes of SharePoint. Unfortunately, the leader of the SharePoint development team – Bill Baer, decided not to release too many of the upcoming fancy upgrades.
As of now, SharePoint 2013 is what is being run globally through Office 365. During the continuing development of the 2013 version, the production team for SharePoint has in the past been responsible for rolling out new features, fixing bugs, and fixing other functionality issues whilst running the software live for hundreds of thousands of users. This has ultimately led to the development of the current system they use for the 2016 version.
The 2016 version will be constructed in a manner that will consist of multiple servers with each deployment. This effectively does away with the stand-alone model that was previously employed. Along with other benefits, this will significantly change the way SharePoint will patch in the future as it can be done seamlessly and without taking the service down during business hours.
This adaption is occurring most likely because of the migration of information further onto a cloud-based location have clear and direct benefits to the end user. Additionally, the search function in SharePoint will be updated to cross-index with Office 365, thus revealing more accurate, and more populated results.
In order to migrate to this new version of SharePoint, the process has been optimized to be as easy and smooth as possible. According to the conference, with a little help, the migration should be doable in-house and without much added labor. All that is required from the data migration is that the user attach the SharePoint 2013 database file to the 2016 version. Of course, if the 2010 version is the one that is being utilized, that data must first be moved to 2013, and so on.
When looking solely at statistics though, it seems that many companies are still operating on the 2010 version of SharePoint and sometimes even as far back at 2007. This data migration process is not quite as simple. Utilization of online tools or services would be the best way to go about moving your data if this sounds like something your company would need to tackle. Notably, if your company is using the 2007 version, it is highly recommended to move to 2016 because of all its advantages.
This kind of cloud service is commonly referred to as "On premises software", which is a very valuable thing for Microsoft to offer as it is basically your own collection of servers. This represents a firm dedication to the on-premise software technology that we hope to be seeing more of in the future.
However, on-premise software is a rather expensive endeavor for Microsoft to delve into. As an example of this, Microsoft actually mentioned that they saved $400,000 in hosting cost in one year when they outsourced some of their own employee data houses. Microsoft has not mentioned as of yet whether they are going to continue the on premises hosting or if they will move back into the old system after SharePoint 2016.
If you're a modern SharePoint 2013 user and you've heard about these changes, it should all add up to everything that 2013 is currently missing. We've all yet to form a full opinion on the performance of SharePoint 2016 on-premises cloud storage, but as for now, it is looking quite optimistic. No one knows yet if Microsoft will be continuing this trend, but we're excited to see in the coming years where technology decides to take us.


text:
On December 7, 2017, the UK government published a Statement of Changes to the Immigration Rules.
The most notable changes are as follows:
Tier 1 (Exceptional Talent)
The number of visas available under the Tier 1 (Exceptional Talent) route will increase from 1000 per year to 2000 per year. Internationally recognized global leaders in science, digital technology, the arts and creative sectors, endorsed under the Tier 1 (Exceptional Talent) route, will be permitted to apply for settlement after three years. This brings the Tier 1 (Exceptional Talent) category in line with the Tier 1 categories of Entrepreneur and Investor.
Tier 2 (General)
Flexibility is being introduced to enable students to apply to switch to Tier 2 as soon as they have completed their courses of study. Currently non-PhD students cannot apply to switch within the UK until they have received their final results.
Additionally, there will be exemptions from the Resident Labour Market Test for posts to be held by certain researcher applicants and established research team members.
Indefinite Leave to Remain
Applications for settlement made by partners of points-based system migrants will be required to show that they have not been absent from the UK for more than 180 days per year, just as main applicants are required to do. This change will apply to absences from the UK during leave to remain granted under the rules in place from January 11, 2018.
An amendment is being made so that Tier 2 migrants are no longer required to have been continuously employed throughout the qualifying period to be eligible for settlement. This is because a Tier 2 migrant who is no longer working for their sponsor is subject to curtailment.
Entry Clearance
The Government proposes to begin issuing entry clearance electronically, with an initial trial with specified groups before general roll out at a later date.
Currently, entry clearance is endorsed most usually in a passport. The change will allow entry clearance to be issued both electronically and by endorsement; migrants with electronic entry clearance will not have to present entry clearance upon arrival in the UK as it will be checked electronically.
There are additional minor changes in the categories of Tier 1 (Entrepreneur) and (Investor); Tier 2 (Intra-company Transfer); Short-term Study; Tier 4; and Tier 5.


In nowadays writing in ES6, typescript is standard practice. Using sass & less is a requirement for a project and even a small sandbox. However, building an application using the latest and greatest does not come for free. Unfortunately, not all browsers are able to understand modern technologies and that's a reason why we compile and bundle our code. When the project is growing up and ready for deployment the other must have options are minification and cachebusting. To do all of that we used to use grunt, gulp in conjunction with babel, browserfy and other packages. Lately, webpack and its plugins were able to handle all of that alone. Nevertheless, in both cases, we really need to dedicate more or less time to configure the workflow. On the other hand, we want to start coding immediately, focus all effort on the app itself and showing some progress right away, without spending too much time on the configuration.
It compiled ES6 down to ES5 and bundled all imports/exports.
It moved everything into newly created dist folder.
It created source maps for debugging.
It started static web-server which is served out of dist and watches for files changes to the process. Hot Module Replacement helps to reflect changes of the fly in the browser without refreshing it.
How many lines of config did we write? Yes, zero. This is pretty impressive.
See the Pen Parcel-adding-css by Sergey Kryvets (skryvets) on CodePen.
I was under the big impression how easy and powerful Parcel is. It requires around ~70 lines of code to achieve the same result with webpack. As was mentioned, it's also possible to use typescript and different css preprocessors like less, postcss or others.
Looking forward to having this, as it eliminates a lot of use cases with configuration. Please see GitHub issue to find out about the progress.
Even though Parcel branded itself as "zero configuration" tool, It's also possible to implement custom build process with Bundler API as a part of node.js program.
In the modern world of web development, most of us use latest technology stack that isn't supported natively by many browsers. Parcel easily solves this problem by helping to focus on writing code and spending zero time on the configuration. However, each tool has its own use case. I wouldn't go and switch my existing webpack config in production to parcel since webpack have been here for a while and was a de-facto standard of writing an app with Reach of Vue or even a part of framework like Angular. It shines in a case of a new project, where all your effort needed to be focused on writing the code.
Speaking of Vue and React, Parcel has his own recipes for these types of projects. You can also find in-depth explanation of some internal implementation on the official website. Many many thanks to the creators!


text:
Q: Javascript for loop conditional iterations and resetting variable With the following code, I'm looping through an array of colors (favorites), creating rectangles for a jsPDF document.
After 5 iterations, I want to reset the x variable back to startX and then add 1.875 with each iteration. Likewise for the next 5 iterations: reset x to startX adding 1.875 until 10, then again until 15.
I'm just not having any luck resetting x in these conditionals. I'm sure it's something obvious but what am I missing here?
Or should I structure the loop in a different way?
What I'm trying to accomplish is create up to 3 rows of 5 rectangles. Once I hit 5, start a new row, hence the reset of x which is a page location coordinate.
let startX = 1
let startY = 1

let secondY = 4
let thirdY = 6.5

let n = favorites.length

for (let i = 0, x = startX, y = startY; i < n; x += 1.875, i++) {
    if (i < 5) {
        doc.setFillColor(favorites[i].h)
        doc.rect(x, y, 1.5, 1, 'F')
        doc.text(favorites[i].h.toString(), x, y + 1.5)
    } else if (i >= 5 && i < 10) {
        x = 1 // resets but then doesn't increment
        y = secondY
        doc.setFillColor(favorites[i].h)
        doc.rect(x, y, 1.5, 1, 'F')
        doc.text(favorites[i].h.toString(), x, y + 1.5)
    } else if (i >= 10 && i < 15) {
        x = 1 // resets but then doesn't increment
        y = thirdY
        doc.setFillColor(favorites[i].h)
        doc.rect(x, y, 1.5, 1, 'F')
        doc.text(favorites[i].h.toString(), x, y + 1.5)
    }
}

A: You can use the modulo operator (%), and set x and y outside the loop declaration:

const yValues = [1, 4, 6.5];

for (let i = 0 ; i < 15; i++) {
  const x = 1 + ((i%5) * 1.875);
  const y = yValues[Math.floor(i/5)];
  // commented lines to make this example run
  // doc.setFillColor(favorites[i].h)
  // doc.rect(x, y, 1.5, 1, 'F')
  // doc.text(favorites[i].h.toString(), x, y + 1.5)
  console.log({x,y});
}

A: Incrementation in a for loop occur before any commands in the loop. Right now, every iteration in your second and third if blocks resets x to 1, and always does so after x's incrementation in the for loop, thus overwriting it. That's why x isn't changing.
A better approach might be to increment only i, and set x to depend on i's value, something like this:
x = 1 + ((i - 5) * 1.875)
x = 1 + ((i - 10) * 1.875)

And actually, it would be even better to use startX instead of 1:
x = startX + ((i - 5) * 1.875)
x = startX + ((i - 10) * 1.875)


Microsoft's platform is stronger now that Windows RT is out of the picture.
Microsoft has confirmed that both of the tablets that run Windows RT -- the Windows version specifically designed for tablets -- will not be getting Windows 10.
Microsoft Surface 2: A Better Tablet, But Is It Good Enough?
Microsoft asked members of the press to save the date for the launch of its next-generation Surface tablets.


text:
Q: reset uncontrolled component content after submitting the form + react + jsx I have a already built React form, which works fine expect reset functionality. It has used uncontrolled components bit different way. I am looking for what I need to follow, change the code to achieve my goal.

import * as React from "react";
import WidgetComponent from './../../lib/WidgetComponent';
import jQuery from 'jquery';

import InputListComponent from './components/InputListComponent';
import FormInputComponent from './components/FormInputComponent';
import formTextInputComponent from './components/formTextInputComponent';

import FormInputPasswordComponent from './components/FormInputPasswordComponent';
import FormSelectComponent from './components/FormSelectComponent';
import SubmitBtnListComponent from './components/SubmitBtnListComponent';
import SubmitBtnComponent from './components/SubmitBtnComponent';
import ErrorListBox from './components/ErrorListBox';
import EmailPromptModal from './components/EmailPromptModal';

import formHandlerInterfaceFactory from './lib/formHandlerInterface';
import formValidator from './lib/formValidators';
import {generateJQueryAjaxConfigFromPlaceholders} from './../../lib/GenerateJQueryAjaxConfig';

import './styles/registration-form.scss';

export default class ControlPanelCreateAccounts extends WidgetComponent {
    constructor(props) {
        super(props);

        this.state = {
            form: {
                firstName: "",
                lastName: "",
                username: "",
                password: "",
                confirmPassword: "",
                email: "",
                phone: "",
                accessLevel: -1,

            },
            userRoles: [],

            validInputs: {
                firstName: false,
                lastName: false,
                username: false,
                password: false,
                confirmPassword: false,
                email: false,
                phone: false,
                accessLevel: false,

            },
            defaultValue: {
                firstName: "",
                lastName: "",
                username: "",
                password: "",
                confirmPassword: "",
                email: "",
                phone: "",
                accessLevel: -1,
            },
            errors: [],
            submitService: null,
            userRoleService: null,
            newUserId: null,
        };

        this.onFormInputChange = this.onFormInputChange.bind(this);
        this.onServicesCalled = this.onServicesCalled.bind(this);
        this.onFormSubmit = this.onFormSubmit.bind(this);
        this.formElementInvalid = this.formElementInvalid.bind(this);
        this.formElementValid = this.formElementValid.bind(this);
        this.postWidgetLoad = this.postWidgetLoad.bind(this);
        this.createUserRequest = this.createUserRequest.bind(this);
        this.createUserRoleRequest = this.createUserRoleRequest.bind(this);
        this.onResetReceived = this.onResetReceived.bind(this);
        this.onFormInputReset = this.onFormInputReset.bind(this);

    }

    onResetReceived(){
        console.log('onResetReceived');
        let newState = Object.assign(this.state.form, {
            firstName : "",
        });

        this.setState(newState);
        console.log(this.state.form);

    }

    postWidgetLoad(widget) {
        EmailPromptModal.service = widget.services[2];//??
        let submitService = widget.services[1];//1
        let userRoleService = widget.services[2];//2
        //this.storeState({ submitService });
        let newState = Object.assign(this.state, {
            submitService: submitService,
            userRoleService: userRoleService
        });

        this.setState(newState);
    }

    validate() {
        console.log('validating pre-submit');
        let errors = Object.keys(this.state.validInputs).reduce((accum, current) => {
            console.log('state of accumulator is: ');
            console.log(accum);
            console.log('current iteration is: ' + current);

            //console.log('password and reType passwords are : ');
            //console.log(this.state.form.password + " :: " + this.state.confirmPassword );

            if (this.state.validInputs[current] === false) {
                console.log('current input is invalid');
                this.validate = this.validate.bind(this);
                if (current === 'firstName') {
                    accum.push('The first name field is either empty or contains invalid characters');
                }

                if (current === 'lastName') {
                    accum.push('The last name field is either empty or contains invalid characters');
                }

                if (current === 'email') {
                    accum.push('The email field is empty or is not a valid email address');
                }

                if (current === 'phone') {
                    accum.push('The phone field is empty or is not a valid phone number');
                }

                if (current === 'password') {
                    accum.push('The password field is empty or contain less than 5 characters or contain invalid character');
                }

                if (current === 'confirmPassword') {
                    accum.push('The passwords mismatched');
                }

                if (current === 'accessLevel') {
                    accum.push('You must select a accessLevel from the drop-down menu.');
                }
            }

            return accum;
        }, []);

        console.log('final error list looks like: ');
        console.log(errors);

        this.storeState({
            errors: errors
        });

        return errors.length === 0;
    }

    onServicesCalled() {
        let response = arguments[0][0].data;
        let roleList = [];

        if (response) {
            response.map(element => {
                roleList.push({val: element.id, text: element.role_name});
            });
        }

        let newState = Object.assign(this.state, {
            userRoles: roleList
        });

        this.setState(newState);
    }

    onFormInputChange(ev, legend) {
        let value = ev.target.value;
        let form = this.state.form;
        form[legend] = value;
        this.storeState({
            form
        });

    formElementInvalid(elem) {
        let name = elem.name;
        let stateUpdateObj = this.state.validInputs;
        stateUpdateObj[name] = false;
        this.storeState({validInputs: stateUpdateObj});

        if (name !== 'status') {
            elem.classList.add('input-error');
        } else {
            document.getElementById('status-error-field').classList.add('visible');
        }
    }

    formElementValid(elem) {
        let name = elem.name;
        let stateUpdateObj = this.state.validInputs;
        stateUpdateObj[name] = true;
        this.storeState({validInputs: stateUpdateObj});

        if (name !== 'status') {
            elem.classList.remove('input-error');
        } else {
            document.getElementById('status-error-field').classList.remove('visible');
        }
    }

    onFormSubmit() {

        if (this.validate()) {
            console.log("validate got passed");
            console.log(this.state.form);
            var id;

            // match password fields
            if (this.state.form.password !== this.state.form.confirmPassword) {
                let stateUpdateObj = this.state.validInputs;
                stateUpdateObj['confirmPassword'] = false;
                this.storeState({validInputs: stateUpdateObj});
                this.onFormSubmit();

            } else {
                jQuery.when(this.createUserRequest()).done((r) => {

                    console.log("submit for createUser is success reload!");
                    console.log(r);

                    id = r.data.id;

                    jQuery.when(this.createUserRoleRequest(id)).done((r) => {

                        console.log("submit for createUserRole is success reload!");
                        console.log(r);

                        if(r.data.wasSuccessful){
                            console.log("create UserRole is successful, So reload the table ");
                            // do page refresh here
                            window.pubsub.publish('isp.reload-control-users', {});

                            //reset the form
                            console.log("reset the form contents");
                            this.onResetReceived();

                        }

                    }).fail((xhr, status, error) => {
                        console.log(status);
                        console.error(error);
                        alert('An error occured while submitting this request, if this issue persists please contact support.');
                    });

                    let newState = Object.assign(this.state, {
                        newUserId: r.data.id
                    });

                    this.setState(newState);

                }).fail((xhr, status, error) => {
                    console.log(status);
                    console.error(error);
                    alert('An error occured while submitting this request, if this issue persists please contact support.');
                });

            }

        }
    }

    //create a record in is_auth_roles table
    createUserRoleRequest(id) {

        let config = generateJQueryAjaxConfigFromPlaceholders(this.state.userRoleService, {'userId': id});

        config.headers['Content-Type'] = 'application/json';
        config.headers['Accept'] = '*/*';
        config.data = JSON.stringify({
            'roleId': this.state.form.accessLevel,
            'type': 'add'
        });
        console.log("submit config of createUserRoleRequest() is: ");
        console.log(config);

        return jQuery.ajax(config);

    }

    createUserRequest() {
        let config = generateJQueryAjaxConfigFromPlaceholders(this.state.submitService, {});

        config.headers['Content-Type'] = 'application/json';
        config.headers['Accept'] = '*/*';
        config.data = JSON.stringify({
            firstName: this.state.form.firstName,
            lastName: this.state.form.lastName,
            username: this.state.form.username,
            phone: this.state.form.phone,
            password: this.state.form.password,
            confirmPassword: this.state.form.confirmPassword,
            email: this.state.form.email,
            accessLevel: this.state.accessLevel

        });

        console.log("submit config is: ");
        console.log(config);

        return jQuery.ajax(config);
    }

    render() {
            return (

 User  Registration

                <InputListComponent>
                                        {/*onValid={this.formElementValid} />*/}
                    <formTextInputComponent legend="firstName" label="First Name" placeholder="First Name" onChange={this.onFormInputChange} validator={formValidator.nameValidator} onInvalid={this.formElementInvalid} default = {this.state.defaultValue.firstName} value={ this.state.value}
                                        onValid={this.formElementValid} />

                    <FormInputComponent legend="lastName" label="Last Name" placeholder="Last Name" onChange={this.onFormInputChange} validator={formValidator.nameValidator} onInvalid={this.formElementInvalid} default = {this.state.defaultValue.lastName}
                                        onValid={this.formElementValid}/>
                    <FormInputComponent legend="username" label="User Name" placeholder="User Name" onChange={this.onFormInputChange} validator={formValidator.nameValidator} onInvalid={this.formElementInvalid} default = {this.state.defaultValue.username}
                                        onValid={this.formElementValid}/>
                    <FormInputPasswordComponent legend="password" label="Password" placeholder="Password" onChange={this.onFormInputChange} validator={formValidator.passwordValidator} onInvalid={this.formElementInvalid} default = {this.state.defaultValue.password}
                                                onValid={this.formElementValid}/>
                    <FormInputPasswordComponent legend="confirmPassword" label="Confirm Password" placeholder="Confirm Password" onChange={this.onFormInputChange} validator={formValidator.passwordValidator} default = {this.state.defaultValue.confirmPassword}
                                                onInvalid={this.formElementInvalid} onValid={this.formElementValid}/>
                    <FormInputComponent legend="email" label="Email Address" placeholder="Email" onChange={this.onFormInputChange} validator={formValidator.emailValidator} onInvalid={this.formElementInvalid} default = {this.state.defaultValue.email}
                                        onValid={this.formElementValid}/>
                    <FormInputComponent legend="phone" label="Phone Number" placeholder="Phone Number" onChange={this.onFormInputChange} validator={formValidator.phoneValidator} onInvalid={this.formElementInvalid} default = {this.state.defaultValue.phone}
                                        onValid={this.formElementValid}/>
                    <FormSelectComponent legend="accessLevel" data={this.state.userRoles} onChange={this.onFormInputChange} validator={formValidator.statusValidator} onInvalid={this.formElementInvalid} default = {this.state.defaultValue.accessLevel}
                                         onValid={this.formElementValid}/>
                </InputListComponent>

                <ErrorListBox errorList={this.state.errors}/>
                <button className="dataTable-modal-btn click-btn" onClick={this.onFormSubmit}>CREATE USER</button>

        );
    }
}
window.ControlPanelCreateAccounts = ControlPanelCreateAccounts;
window.CurrentWidget = window.ControlPanelCreateAccounts;

this is formInputComponent code

const FormInputComponent = (props) => {

    const onChangeHandler = (ev) => {
        if(props.validator(ev.target.value)) {
            props.onChange(ev, props.legend);
            props.onValid(ev.target);
        } else {
            props.onInvalid(ev.target);
        }
    };

    console.log('props.defaultValue');
    console.log(props.legend);
    console.log(props.default);
    console.log(props.value);
    return (

            {props.label}

            <input name={props.legend} type="text" placeholder={props.placeholder} onChange={onChangeHandler} defaultValue={props.default || ''} value={props.value}/>

    );
};

FormInputComponent.propTypes = {
    legend: React.PropTypes.string,
    label: React.PropTypes.string,
    placeholder: React.PropTypes.string,
    onChange: React.PropTypes.func,
    validator: React.PropTypes.func,
    onInvalid: React.PropTypes.func,
    onValid: React.PropTypes.func,
    default: React.PropTypes.string,
};

export default FormInputComponent;

A: If you want setState inside of onResetReceived to reset the form, you'll need to set the value prop of each form field. The default prop gets sent to FormInputComponent as the defaultValue of the input, but you can also see it accepts a value={props.value} as well (even though value is not defined in its PropTypes. From the parent set
<FormInputComponent value={this.state.form.firstName} ... />

This will ensure changing this.state.form via setState will update each form field.


The sage Suka adjusted himself in his seat and began: "The Supreme Sovereign Lord manifesting Himself as Brahma, Vishnu and Maheswara, through the prompting of Primal Desire (Moha) is engaged in creating, fostering and destroying the worlds. In what is thus created, there is always the principle of Dualism. There is difference and disparity between one and another. If these differences and disparities are harmonized wisely, the world will have happiness and peace. If, on the other hand, living beings behave wrongly, the world will be sunk in anxiety, misery, and confusion. When these arise, the Lord assumes appropriate Forms and affords necessary protection and correction. He sets right the damaged world, removes the evil forces that caused the damage, and instructs mankind in the science of fostering the right and the good.
It is not possible to limit the freedom of God in assuming Forms. He adopts endless Forms, to manifest Himself in the World and saves it. His incarnation is in conformity with the need of the crisis at the time. When the Earth moaned under the injustice of Hiranyaksha, He had to appear as a Boar, taking Form and equipped with attributes, though, in essence, He is without Form and Attribute. (See also Srimad Bhagavatam, Canto 3, Chapter 17: Victory of Hiranyâksa over All the Directions of the Universe). The will of God is mysterious; it cannot be explained by categories or as consequences. It is above and beyond human reasoning and imagination. It can be comprehended only by those who have known Him, and not by those who have acquired scholarship or sharp intellect. The cause and the consequence are integrally related.
Meanwhile, a cry was heard from behind, "You wretched swine! Where are you fleeing to? Stop where you are." The Boar paid no heed to that cry; He moved on, as if He had not heard it. Then, Hiranyaksha, the Evil-minded Ogre-chief confronted It like a terrible monster, and challenged It to overcome his might. A mortal combat ensued between the two. Witnessing the frightful thrusts and counter thrusts, Goddess Earth shivered in fear but, the Boar consoled Her saying, "0 Goddess, do not be frightened. I shall end this orge's life immediately. I shall ensure safety and peace for you, in a moment." Soon, the Boar became terrible to behold, the Goddess was greatly agitated about the encounter; the Boar fell upon Hiranyâksha with overwhelming might and the Goddess closed Her eyes in sheer terror, unable to bear the sight of the devastating Form of the Boar. The duel was fought with indescribable fury, but, in the end, Hiranyâksha was torn to pieces and cast upon the ground. (See also Srimad Bhagavatam, Canto 3, Chapter 19: The Killing of the Demon Hiranyâksa).
Thus, the Lord assumed various Forms according to the needs of the situation, the Forms best suited for the destruction of the wicked Danavas (the Race of Evil-minded Ogres), and for the protection of the good and godly, and the preservation of the Scriptures that reveal the Truth, the Vedas. In this manner, the Lord incarnated as the Fish, the Tortoise, the Man-lion, and the Short-statured (Matsya, Kurma, Narasimha, and Vamana). (see also Srimad Bhagavatam Canto 2, Chapter 7: Brief Description of the Past and Coming Avatara's, verses 12, 13, 14 and 17) Of all the Incarnations, the supremest and the most blissful is the Krishna-form. Still, you must realize that the chief purpose of all incarnations is the preservation of Dharma (Justice, Righteousness, Morality, Virtue).
He who instructs must gauge the qualifications of the learner to receive the lesson. It will be vain effort, to try to communicate the highest knowledge to a person belonging to the lowest level. For, he cannot comprehend it. So too, if the instructions that have to be given to the lower levels are given to those of the higher levels, they will derive no satisfaction from that teaching. To make this clear, I shall tell you about a discussion that ensued once between Brahma and Nârada. Listen, carefully." Suka began to narrate the story of Nârada.
Brahma once addressed Nârada, "0 My Mind-projected Son! Creation is My task, the way, in which I fulfil My Mission, My Thapas. I will, and Creation happens. But, I lay down certain rules and modes for each species and, if they are properly adhered to, the Wheel will turn aright in Dharma. Instead, if the modes and rules are neglected and they toil for the satisfaction of their own wishes, along crooked and misleading paths, they will have to suffer various miseries.
Day and Night are willed by Me; The Rulers of Living Beings are parts of Me. The urge that people have to increase and multiply is the reflection of My Will. Sometimes, when the created world has to be sustained, I myself assume Name and Form and initiate Manvantharas (The Eras of Manu), and provide the Earth with appropriate Divine Personalities and Sages, who set examples to be followed and indicate the paths for progress.
I end also the unlimited increase of beings, when it happens. For this, I take on the Form of Rudra too. I create the bad, in order to high-light and promote the good; and in order to protect the good, I set certain limits, both to the good and the bad, for, they would otherwise, stray into wrong ways and inflict great harm.
I am immanent in every being. People forget Me, who is within and without them; I am the inner core of every being, but, they are not aware of this. So, they are tempted to believe the objective world to be real and true, and they pursue objective pleasures, and fall into grief and pain. On the other hand, if they concentrate all attention on Me alone, believing that the Lord has willed everything and everyone, I bless them and reveal to them the Truth that they are I and I am they. Thousands have been blessed thus. They are the seekers, the aspirants, the Mahatmas, the Sages, the Divinely Inspired, the Manifestations of the Divine, the Guides who show the Path. They have acquired the experience that Truth is Dharma.
I am the Cause of all Causes. I am Eternal. I am Sath-Chith- Ananda (I am Existence, Knowledge, Bliss). I am Hari and Hara, too; for, I transform Myself into these Manifestations as occasion arises. Creation, the Universe, is but the projection of My Will; it has no basic reality. My son, I declared this truth to you, as a result of My deep love towards you. Others will not be able to grasp the mystery of this Creation. What I have just revealed to you is known as concise Bhagavatha.
Bhagavatha connotes three sections of knowledge: (1) The Glory and Majesty of the Incarnations of God, (2) The Names of those who are fully devoted to God and (3) The intimate relationship between God and the Godly. Where these three are found together, there we have the Bhagavatha. All that is visible is not beyond or outside God. Therefore, to put it succinctly, everything is Bhagavatha! Everything is worthy of being honoured so.
While Brahma was thus teaching Nârada, with great joy, Nârada interrogated Him, in amazement and anxious yearning, thus: "Lord! As directed by you, I am engaged without intermission in singing the glory of God and enabling the world to derive bliss therefrom. But, this insidious and powerful Maya (Delusion) may over-power me any moment, plunge me into wrong, and create obstacles in the path of my mission. Is there any measure by which I can escape this calamity? Kindly instruct me in that and show me this additional sign of your parental affection."
Brahma laughed at this question. He replied, "Son! Your words seem childish. The clouds of Delusion (Maya) cannot darken the inner consciousness of those who revel in the glory and majesty of God, those who know and make known that God is the Master of Maya, the Wielder of the Operative Forces that both delude and destroy delusion, those who are engaged in good deeds executed with faith and devotion, and those who endeavour ever to maintain Truth and Righteousness. Therefore, move fearlessly all over the three worlds with the Veena [Indian string instrument] in your hands, singing in adoration of God. Listening to the recital and elaboration of the mystery of God and the Godly, the inhabitants of the Worlds will save themselves from the cycle of birth and death.
Karma (activity and deeds resulting therefrom) are binding, because they have consequences that must be suffered or enjoyed. But, deeds of service, are free from this handicap. Be ever fixed in the thought of God; there is no other means than this to turn the mind away from sensory pursuits and objective activities."
Suka told the King, "0 Parikshith! Since this supreme wisdom cannot be communicated to all except those who have reached a high level of purity and understanding, Brahma taught only Nârada. And Nârada too, continued as advised, to sing and adore God through his songs the Lord who is immanent as well as transcendent. He did not ignore or discard the teaching that Brahma favoured him with. You too are qualified to receive this sacred lesson; that is the reason why, I, who am inaccessible, have spontaneously come direct to you, to describe to you the Bhagavatha. I am no ordinary minstrel. I never approach a person who has not earned the right to listen to me. Imagine the height that Nârada must have reached, to acquire the qualification needed for instruction in the attributes of the Attributeless God!"
When Suka was thus gravely assessing him, Parikshith interceded, "Master! The Ancient Four-faced Sovereign Brahma directed Nârada to sing the Bhagavatha, you said. To whom did Nârada narrate the same? Who are those highly favoured personages? Tell me about them in detail." Suka replied, "0 King, why do you yield to hurry? Be courageous and controlled. I shall relate to you everything in its own time. Be calm and collected."
The King explained, "Master! Pardon me. I am not excited at all. I am only yearning to fix my mind at the last moment of my life on the charming smile that dances on the lips of Lord Krishna, to drink deep, at that moment, the nectar of the Lotus Feet of the Lord. I have no other desire. If I am unable to establish in my mind the captivating picture of the Lord at the moment of death, I will have to be born again as one of the 84,000 [8.400.000 according to the Srîmad Bhâgavatam, edit.] species of living beings, isn't it? Since that calamity should not happen and since I must remember with my last breath, the Dispenser of Life-breath, make my life worthwhile by relating to me the Divine characteristics and the Divine activities of the Lord."
Suka laughed at this. He said, "King! How can the mind be established at the Lotus Feet of the Lord, if the ears listen to the characteristics and activities of the Lord? What is your opinion on this point? Tell me." Parikshith said, "Master! I believe that there is no distinction between God, His name and His Attributes; is that correct? When the story of the Lord is narrated and listened to, the Name of the Lord and the attributes enter the heart, through the ears and disperse the darkness of ignorance, isn't it? When the lion enters the forest, the timid jackals flee with their tails between their legs, don't they? The sincere listener will certainly fix his mind on what he heard through the ear. While listening rapturously to the ravishing attributes of the Lord with the captivating smile, the mind will be so attached to the sweetness derived thereby that it can no more be attracted by low and vulgar objects, isn't it? The ear and the mind will both act in unison, then. That alone will yield Ananda."
The King was thus enthusiastically extolling the benefits of listening intently to the activities and majesty of the Lord. Suka interrupted his exultation and said, "0 King! The mind has inconstancy as its very nature. How can it give up its nature and attach itself to the feet of the Lord? Is it not an impossible feat?" Suka was attempting to gauge the feelings that filled the mind of Parikshith. Parikshith smiled and replied, "Master! I shall answer, if you kindly permit me, and direct me to do so. The bee will hover around the flower, humming and droning, until it settles down to drink the nectar from it. Once it has entered the flower and tasted the nectar, it will hover, hum and drone no more. It will have no extraneous thought, to disturb its bliss. It will become so intoxicated with the bliss that it will not heed its own safety; for, when the petals close and the flower folds, it allows itself to be imprisoned inside it. Similarly, when once the mind settles on the Lotus Feet of that embodiment of Beauty and Goodness it can never more crave for anything except the Nectar of the Lotus Feet."


text:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.victor.vscan"
    android:versionCode="1"
    android:versionName="1.2.1">

    <uses-sdk
        android:minSdkVersion="9"
        android:targetSdkVersion="20"></uses-sdk>

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:logo="@drawable/icon"
        android:theme="@style/AppTheme">
        <activity
            android:name=".splash"
            android:label="@string/title_activity_splash"
            android:theme="@android:style/Theme.Holo.NoActionBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:launchMode="singleTask">
            <intent-filter>
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="http"
                    android:host="vscan.sinaapp.com"
                    android:pathPrefix="/qrcode"/>
            </intent-filter>
        </activity>
        <activity
            android:name=".historyActivity"
            android:label="@string/title_activity_history">

            </activity>
        <activity
            android:name=".AddActivity"
            android:label="@string/title_activity_add"></activity>
        <activity android:name="cn.hugo.android.scanner.CaptureActivity"></activity>
        <activity
            android:name=".FreeActivity"
            android:label="@string/title_activity_free">

        </activity>

        <!-- 微信回调 -->
        <activity
            android:name=".wxapi.WXEntryActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:exported="true"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />

        <!-- ############ QQ空间和QQ SSO授权的Activity注册 ############ -->
        <activity
            android:name="com.tencent.tauth.AuthActivity"
            android:launchMode="singleTask"
            android:noHistory="true">
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <!-- 100424468,如果你使用的公用账号,则不需要修改;否则修改成你在QQ开放平台申请的 APP ID-->
                <data android:scheme="tencent1104203942" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.tencent.connect.common.AssistActivity"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"></activity>

        <meta-data
            android:name="UMENG_APPKEY"
            android:value="54d97c11fd98c554030000d1" />
        <activity
            android:name="com.umeng.socialize.view.ShareActivity"
            android:configChanges="orientation|keyboard"
            android:launchMode="singleTask"
            android:noHistory="true"
            android:theme="@style/Theme.UMDialog"
            android:windowSoftInputMode="stateVisible|adjustResize" />
    </application>

</manifest>