text:
Show news feed
Russian citizen shot dead in Georgia
Region:Georgia, Russia
Theme: Incidents
An unknown man killed a 65-year-old Russian citizen in southern Georgia on Thursday, Georgia Sputnik reported referring to Channel One.
The information has been reportedly confirmed by the Interior Ministry.
It is not known whether the investigation has suspects at this stage.
A criminal case has been launched for premeditated murder", and the suspected can be imprisoned from seven to fifteen years.
Armenia News - NEWS.am
This text available in Հայերեն and Русский
Mexico crime photojournalist killed
Margarito Martinez, 49, worked for more than a decade in Tijuana for several national and international news outlets covering the gang crime and violence that has scarred the city...
6 people injured in shooting during concert in US state of Oregon
Investigators have not determined whether the shooting was random or targeted…
Millionaire Robert Durst dies aged 78
He was sentenced to life in prison in October for the brutal murder...
India investigating fake website that purportedly offered Muslim women for sale
The website was created on GitHub, an American coding platform which developers use to build and host software...
Armenians charged with murder of ex-serviceman sentenced to 5-20 years in Moscow
An international search has been...
Сitizen who threw a grenade near Shushi is in Artsakh Investigative Committee
"We urge you to refrain from baseless speculations and follow only official information...


text:
Q: Editing Django _form.as_p By default _form.as._p spits out:

Subject:
    <input id="id_subject" type="text" name="subject" maxlength="100" />

Whereas I need

Subject:

    <input id="id_subject" type="text" name="subject" maxlength="100" />

with a break between the label and the input. How can I modify my Django code to do so?

A: If you just need a break, then there's no need to change the Django code. Just use CSS to style label as display: block.

A: Override as_p on your form class.
class MyForm(forms.Form):
    def as_p(self):
        "Returns this form rendered as HTML
s."
        return self._html_output(
            normal_row = u'
%(label)s
 %(field)s%(help_text)s',
            error_row = u'%s',
            row_ender = '
',
            help_text_html = u' %s',
            errors_on_separate_row = True)

A: You simply just can't use form.as_p anymore. If the defaults don't work for you, then you must render the fields manually:
<form action="/contact/" method="post">
    {% for field in form %}

            {{ field.errors }}
            {{ field.label_tag }}: {{ field }}

    {% endfor %}

<input type="submit" value="Send message" />

</form>

See the docs: https://docs.djangoproject.com/en/dev/topics/forms/#looping-over-the-form-s-fields

A: Pretty much what Brian describes above. I would write a new method for your form like as_myp. I made this for myself. I took as_table method and made as_plain to remove the tr/th markups. Ex.
class MyForm(forms.Form):
    my_field1 = forms.CharField(...)
    my_field2 = forms.WhateverField(...)

    def as_myp(self):
        "Returns this form rendered as HTML
s."
        return self._html_output(
            normal_row = '
%(label)s

%(field)s%(help_text)s
',
            error_row = '%s',
            row_ender = '
',
            help_text_html = ' %s',
            errors_on_separate_row = True)

    def as_plain(self):
        "Returns this form rendered as HTML
s -- excluding the

."
        return self._html_output(
            normal_row = '%(label)s%(errors)s%(field)s%(help_text)s',
            error_row = '%s',
            row_ender = ' ',
            help_text_html = '
%s',
            errors_on_separate_row = False)

It just seemed easier to do that than write a template file and handle form field rendering with errors, tags, visible/hidden, etc.

A: Template:

    {{ form.as_p }}

CSS:
#my_form p label,
#my_form p input{
    float: left;
    clear: left;
}

So if you add fields you can still use form.as_p

redpajama_set_name: RedPajamaStackExchange


text:
Great policy challenge facing Australia: a land of plenty and not a leader in sight
In Australia, both at the Commonwealth and state levels economic policies do not address the problems the country faces. However, Australia isn't in a bad economic situation at all. Political leadership is what's lacking in a much more serious way.
It's always good to remember that economics never exists exclusively. In our world, economic challenges are commonly seeded from political and policy interests. For Australians, the most pressing economic issue currently facing the nation is the lack of policy direction and meaningful policy being created at the Commonwealth and State level.
From Canberra with self-interest
At the Commonwealth level, the knife-edge balance that keeps Prime Minister Gillard in office has led to weak economic policies that do not provide for what Australia needs. This is paralleled at the state level, with each Premier unprepared for their respective states' challenges.
Subsequently the nation stands unprepared to capitalise on its economic charms envied by many developed nations around the world. The current power sharing agreements at the Commonwealth level have dulled the Labor Party's ability to provide meaningful economic reform. The new carbon tax introduced this year highlights the dog fighting between Canberra's policy makers. From an economic point of view, the $23 per carbon tonne levy, which will in time evolve into a full emissions trading scheme, is ambitious and forward looking. Yet the recriminations between the parties concerning who this policy will affect and how much it will cost tell a different story. It articulates parties in election mode battling out for electoral fortunes in 2013.
This tit for tat has repeated itself on many vital economic reforms ranging from the Mineral Resource Rent Tax to key social issues such as asylum seeker policy and marriage equality.
Anything by statesmanlike
In the context of Victoria, we see a Premier unprepared for the policy challenges needed to improve its economy. The state's 2012 budget cuts to achieve a $126 million surplus point to a lack of creativity and unresponsiveness in addressing Canberra's policy inertia.
In facing the task of funding vital infrastructure works and having to collect tax dollars from its structurally challenged manufacturing and retail sectors, the government's current economic policies look unlikely to succeed. In these trying times, the state should be focused on creating incentives to attract and consolidate new business. Cuts to TAFE courses and delaying infrastructure improvements to fund the state's budget surplus will set the state back. Stagnantly skilled labour forces and infrastructure bottlenecks do not encourage productivity growth after all.
For Queenslanders, their leaders are following the same route of budget cuts. Supported by Campbell Newman, current Premier, a range of departmental expenditures were axed in order to improve the state's financial operations. In inheriting a state currently borrowing money to pay public servants' wages, his concern centres around "borrowing to pay wages, to keep the lights on, to put the fuel in the tanks of the police cars and the ambulances and the fire engines." Keen readers will know this was the financial plan followed by Greece pre-euro crisis. Little can be left to the imagination as to what will happen.
So while Premier Newman's fiscal plan is practical, it's his scrapping of the Premier's literary awards that has drawn most ire. Worth $230,000 prior to its discontinuation, the award motivated Queensland writers to improve works produced within the state. As Queensland was never the cultural capital of this country, much less a cultural petri dish by any measure, the scrapping is a step backward. As their capital city, Brisbane, wants to host the G20 summit in 2014, it is difficult to say how the summit will play out given the State's blatantly minor appreciation of the cultural arts and how its establishment is strongly linked to a vibrant service industry.
Nation as a whole
Currently Australians benefit from an unprecedented wealth generated from its mines in West Australia, whilst grappling with the effect of an appreciated Australian dollar on its tourism, manufacturing and retail sectors. Our tragedy is that this nation lacks the political leadership needed to guide it going forward.

redpajama_set_name: RedPajamaCommonCrawl


text:
Positive Stories in Black Pittsburgh
Managing Editor's Top Picks….
Rev. Walker's Instant Inspiration
Chicago Defender
Michigan Chronicle
Atlanta Daily World
More National News
Who's Who in Black
Diane's Local Business Stories
THE COURIER NIGHTLIFE
Debbie's Lifestyles Photos
Merecedes' Movie/TV Reviews
Around Town with Ricco
Brotha Ash's Out & About
Bree White's Restaurant Reviews
Teresa's Words of Inspiration
COVID-19 Local
Contact the Courier
Advertise with the Courier
The Courier's History/Awards
Fab 40 events
Women of Excellence events
Men of Excellence events
List of winners at 2014 Billboard Music Awards
Courier Newsroom
Ludacris speaks on stage at the Billboard Music Awards at the MGM Grand Garden Arena on Sunday, May 18, 2014, in Las Vegas. (Photo by Chris Pizzello/Invision/AP)
A list of winners at the 2014 Billboard Music Awards, held at the MGM Grand Garden Arena in Las Vegas on Sunday night:
TOP ARTIST: Justin Timberlake
TOP 100 HOT SONG: "Blurred Lines," Robin Thicke (featuring T.I. & Pharrell)
TOP BILLBOARD 200 ALBUM: "The 20/20 Experience," Justin Timberlake
TOP DUO/GROUP: Imagine Dragons
TOP NEW ARTIST: Lorde
TOP TOURING ARTIST: Bon Jovi
TOP MALE ARTIST: Justin Timberlake
TOP FEMALE ARTIST: Katy Perry
TOP HOT 100 ARTIST: Imagine Dragons
TOP BILLBOARD 200 ARTIST: Justin Timberlake
TOP DIGITAL SONGS ARTIST: Katy Perry
TOP RADIO SONGS ARTIST: Justin Timberlake
TOP SOCIAL ARTIST: Justin Bieber
TOP STREAMING ARTIST: Miley Cyrus
TOP R&B ARTIST: Justin Timberlake
TOP RAP ARTIST: Eminem
TOP COUNTRY ARTIST: Luke Bryan
TOP ROCK ARTIST: Imagine Dragons
TOP LATIN ARTIST: Marc Anthony
TOP DANCE/ELECTRONIC ARTIST: Daft Punk
TOP CHRISTIAN ARTIST: Chris Tomlin
TOP R&B ALBUM: "The 20/20 Experience," Justin Timberlake
TOP RAP ALBUM: "The Marshall Mathers LP2," Eminem
TOP COUNTRY ALBUM: "Crash My Party," Luke Bryan
TOP ROCK ALBUM: "Night Visions," Imagine Dragons
TOP LATIN ALBUM: "3.0," Marc Anthony
TOP DANCE/ELECTRONIC ALBUM: "Random Access Memories," Daft Punk
TOP CHRISTIAN ALBUM: "Precious Memories: Volume II," Alan Jackson
TOP DIGITAL SONG : "Blurred Lines," Robin Thicke (featuring T.I. & Pharrell)
TOP RADIO SONG: "Blurred Lines," Robin Thicke (featuring T.I. & Pharrell)
TOP STREAMING SONG (AUDIO): "Radioactive," Imagine Dragons
TOP STREAMING SONG (VIDEO): "Wrecking Ball," Miley Cyrus
TOP R&B SONG: "Blurred Lines," Robin Thicke (featuring T.I. & Pharrell)
TOP RAP SONG: "Can't Hold Us," Macklemore & Ryan Lewis (featuring Ray Dalton)
TOP COUNTRY SONG: "Cruise," Florida Georgia Line (featuring Nelly)
TOP ROCK SONG: "Royals," Lorde
TOP LATIN SONG: "Vivir Mi Vida," Marc Anthony
TOP DANCE/ELECTRONIC SONG: "Wake Me Up," Avicii
TOP CHRISTIAN SONG: "Hello, My Name is," Matthew West
ICON AWARD: Jennifer Lopez
Jennifer Lopez accepts the icon award at the Billboard Music Awards at the MGM Grand Garden Arena on Sunday, May 18, 2014, in Las Vegas. (Photo by Chris Pizzello/Invision/AP)
Tags: Award shows, Marc Anthony, Alan Jackson, Arts and entertainment, celebrity, Chris Tomlin, Contemporary Christian music, country music, Eminem, Entertainment, General news, hip hop and rap, jennifer lopez, Justin Bieber, justin timberlake, katy Perry, latin music, Lorde, Luke Bryan, Macklemore, Matthew West, Miley Cyrus, Music, music awards, Music radio, Nelly, pop music, Radio programs, rhythm and blues, Robin Thicke, Rock music, Ryan Lewis, T.I.
Tweets by NewPghCourier


Mortgages. Securing one can be a daunting challenge at the best of times. But for self-employed professionals, it can seem so daunting that many are actually put off the idea altogether, choosing instead to rent for the foreseeable future. But is it really that difficult for contractors and the self-employed to get a mortgage?
1: Know your contract, and make sure it's up-to-date.
2: Avoid big breaks between your contracts.
Working as a contractor has many perks, not least being able to take a break between your contracts. For many, it's the perfect opportunity for holidays and globe-trotting. But make sure your breaks aren't too big: do your best to avoid breaks of more than 6-8 weeks. And if you are going to take big breaks, make sure you don't make a regular habit of it. Lenders want to see consistent income and contracts stretching back 12-24 months, so they don't tend to look favourably on significant gaps.
3: Be realistic and keep things affordable.
One mistake many contractors make when looking at mortgages is that they're unrealistic about their repayments. All too often, they overestimate what they can afford to pay. Lenders see right through this: when you're putting your mortgage application together, make sure the repayments you're proposing are actually affordable.
4: Pay at least a 10% deposit.
When you're applying for a contractor mortgage, you need to be ready to pay a fairly sizeable deposit. Nowadays, most lenders will ask for at least 10%.
5: Avoid high street lenders.
For many contractors, high street mortgage lenders are where the difficulties start. Although you might find that your first-stage application to a high street lender is accepted in principle, this is most likely because their initial credit checks are very light and superficial. It's at a later stage, when you've placed an offer on a property that they'll generally do the more thorough checks and withdraw the mortgage offer.
6: Find mortgages that allow additional payments.
For many contractors, fluctuating income is just par for the course. You're sometimes much busier, or just have particularly high-value contracts. The up-shot is that at certain times you'll have a lot of extra cash, so if possible, find a mortgage that will allow you to pay off extra chunks of the overall amount on top of your monthly repayments. It will help you make the most of your income and pay off your mortgage much more quickly.
There's no doubt that contracting makes finding a mortgage that extra bit more complicated. But there's plenty you can do to improve your chances and make things easier for yourself. For even more tips and advice, visit our website.


2016 Chevrolet Camaro SS review: A true sports car at last?
It still has the attitude of supersized Hot Wheels car, and you still can't see out of the back of it. But compared to what came before, the 2016 Camaro is a wholly different beast -- even if it looks, at first glance, like a fifth-gen that's benefitted from a personal trainer and a style consultant.
Strip away the familiar (if evolved) sheet metal, though, and you'll find a new platform lurking beneath. Gone is the Holden-developed Zeta, displaced by the Alpha underpinnings it shares with rear-drive Cadillacs. With the new platform comes substantial weight loss (the last 2015 Camaro SS we drove weighed 3,908 lbs; this one is just 3,685) and an interior design and material quality upgrade.
Only the good stuff has been carried over, like the available magnetic ride control (vital on the post-apocalyptic streets of Detroit) and, of course, the stellar 6.2-liter V8, if you opt for it. The new styling is about as much of a departure as the new Mustang's is from its predecessor, but here, as there, you can tell that it's been redrawn and reworked after a quick glance. And it looks good -- good enough to draw people to it wherever I parked.
None of this is a revelation, exactly. We knew much of it before the Camaro's launch last year, and figured the rest out soon after. But this is the first time I've actually spent any real time in one of the 2016 models. The verdict? It's genuinely impressive inside and out.
I'm even willing to overlook the lack of rear visibility.
I say this despite getting the keys in the middle of winter, which is generally a bad time to get to know any rear-wheel drive coupe. Pirelli Sottozero winter tires were a nice gesture, but ice and snow meant I wasn't going to explore the car's limits or be a quarter-mile hero this time around.
That forced me to focus on the interior, which was always the one of the weakest parts of the previous Camaro. The plastic-heavy "retro" gauge cluster on the center console is gone, restoring the six-speed gear selector to its rightful place as the center of attention. Nothing comes off of accidental or cheap; the detail stretches from door panel to door panel. The only awkward part is the central touchscreen, which is canted downward at an awkward angle.
Chevy should be commended for not trying to fix the stuff that didn't need fixing. Once you stop admiring the door panels and push the starter button, the motor sounds predictably great -- a growl building to a roar as the tach climbs, enhanced by the performance exhaust -- and goes even better. Its 455 hp is easy to modulate thanks to a snug, satisfying shifter and a springy, but never aggressive or tiring, clutch pedal.
And regarding the crappy weather conditions: The snow/ice drive mode works wonders. The drop into second gear tends to send the car a little sideways (which, don't get me wrong, is a lot of fun) but if you want things a little more civilized, change up the mode and focus on obstacle avoidance. The car somehow figures it all out and moves you in whatever direction you're holding the steering wheel with minimal drama. I'd hesitate to call the Camaro an all-season car, even with proper tires, but you certainly don't need to stash it in the garage once the snow starts falling.
And even under the less-than-ideal driving conditions, it's easy to tell that the Zeta to Alpha change is an important one. If you're comparing the '16 Camaro to the Challenger (which I have an irrational soft spot for, especially in the higher-powered trims), the previous Camaro or even the new Mustang, it's not even close -- the 2016 Camaro feels more balanced, more mature and more refined all around. Less like some weird muscle/pony car, more like an outright sports car.
You might be wondering if there are ways to trim a little off the $46,095 sticker, which is getting awfully close to Shelby GT350 territory. If you live in a place where they actually pave the roads, you could ditch the fancy suspension, and the ceramic white interior accent trim package could probably go…but I'd probably take it more or less like this, price tag and all.
And all in all, is the price really that high? If you reflexively turn up your nose at any sports car not built in Germany, then yes, $46,095 for a Chevy will seem spendy. Until you compare it to anything from Germany, that is; a BMW M235i starts at close to $45,000, to name one example, and it skyrockets from there.
But if you've actually driven the thing, and experienced its combination of C7-esque confidence and old-school American brawn -- classic V8-motivated goodness all wrapped up in modern finery -- then it really doesn't seem unreasonable at all.
The key with the new Camaro is the weight loss. Everything gets better when you lose 300 pounds. The steering gets quicker, changes of direction are easier, it stops—and sprints to 60 mph—in a shorter distance. Oh, and it gets better gas mileage. I wish Chevy would let other automakers in on this little secret: less weight makes cars better.
The new Camaro surely looks better than the outgoing model. It's less square, has more aggressive looking head and tail treatments and even the profile looks lower and meaner.
And then there's the V8 engine, a full-blown, Corvette-equal 6.2-liter lump. I think this is the first time that happened. Power comes on smooth and pedal modulation is just right. Clutch weight too, it has some spring, but it's not hard to push either. I need to feel like pieces are moving underneath and that it's not some electronic-feeling thing that decides how fast to engage when I snap my foot off.
I've been a Mustang-over-Camaro guy my whole life, but being objective, I think this Chevy holds the crown, at least for this generation. Like Graham said, both feel more like straight-up sports cars than old school muscle, and I think we're okay with that.
The price is insane though. Get the cheapest one with a V8 that you can find. Even better, wait a year and chop 10 grand off that sticker, then you'll really have a deal.


text:
Man charged with burglarizing Hyatt hotel in Lisle
LISLE (Sun-Times Media Wire) - A man is accused of stealing power tools during a burglary Sunday morning at the Hyatt Regency hotel in west suburban Lisle.
Julian L. Matino, 23, was charged Tuesday with felony burglary and theft, according to a statement from Lisle police.
Hotel staff reported to police that power tools worth about $1,300 were stolen from the property early Sunday morning, police said.
Matino, a resident of west suburban Glen Ellyn, was identified as a possible suspect, police said. Officers have recovered the stolen items and were holding them for investigation.
Matino's bond was set Tuesday at $2,000, according to the DuPage County Sheriff's Office.
Mokena hair care company receives backlash for wanting to help biracial families


text:
The Hospital - Ahmed Bouanani
All readers should rejoice at the sudden burst of writing newly available from Moroccan master Ahmed Bouanani, a long-neglected (and long-reclusive) late writer and filmmaker with a beautiful ear for the active mind's poetic streams. In The Hospital, a man finds himself in a hospital ward with other male invalids of all ages and backgrounds. While it might sound like a sad place, and while it does inspire many surreal nightmare visions, it's also revivifying in other ways—a perfect spot for imagination and self-creation, and full of wonderful characters with equally wonderful names: the Guzzler, the Rover, and many more. And it's all brought into lovely English by phenomenal DC-based translator Lara Vergnaud.
The Hospital (Paperback)
By Ahmed Bouanani, Lara Vergnaud (Translated by), Anna Della Subin (Introduction by)
Published: New Directions - June 26th, 2018
Fox - Dubravka Ugresic
Like a mirror version of Patti Smith's M Train, no description of Fox will contain it all, not with an author as wily as her titular character. Over six chapters, you meet Russian radical authors, Croatian landmine removers, Vladimir Nabokov's butterflies, late-in-life first-time writers, amusingly callow kids, and Ugresic herself. And Ugresic is an amazing character: a Croatian exile as approachable and funny as she is erudite and politically reflective. Every episode in this book is unforgettable, and while they all stand alone as perfect mini-novellas, it's the force of them together (and the moments of revelation that span stories) that makes this book so moving. Read now and tell all of your friends: Dubravka Ugresic is one of the world's best writers.
Fox (Paperback)
By Dubravka Ugresic, Ellen Elias-Bursac (Translator), David Williams (Translator)
Published: Open Letter - April 17th, 2018
The Italian Teacher - Tom Rachman
Growing up in 1950s Rome with a renowned American painter as your father gives you a skewed perspective of the world. But times change, and tastes change and maybe no one likes or understands your father's art anymore, at least not in the way you once knew everyone should. And what is your life's work in comparison? (And that's not to mention your mother and her pottery -- what about her?) That's Pinch Bavinsky's struggle. The sad truth of The Italian Teacher's world is that "relatives are judged relatively," a truth no one buys into more than the relatives themselves. It's devastating to witness Pinch's decades-long scramble to free himself from his father's achievement, with Tom Rachman using each jump forward in time to gently insert new layers of unsteady emotion.
The Italian Teacher (Hardcover)
By Tom Rachman
Availability: Hard to Find
Published: Viking - March 20th, 2018


This new collection utilises concrete neutrals with subtle injections of colour to create a playful yet professional new look for the everyday woman.
Each garment was hand cut to provide quality control and a unique sense of individuality, particularly in today's fast-fashion market.
Pure merino wool has been woven throughout the collection to offer both warmth and elegance. In addition, the collection has incorporated eco-friendly materials, particularly with their blending of wool fibres and yarn, appealing to the sustainability-conscious consumer.
The end result is a collection which speaks to the modern woman, providing her with a level of comfort and sophistication which is appropriate for day and evening.
Iran bans import goods including footwear and leather items.


This entry was posted in HOT LUXE news and tagged philippe mihailovich interview on July 28, 2012 by Philippe Mihailovich.
So who are the true High Jewelry talents of today?
John Rubel: A new 'heritage' High Jewellery line, or is it?
Maltier le Malletier – A challenge for Vuitton?


text:
Five Indie Beauty Brands Launching in Walmart
James Manso
July 24, 2021, 10:00 AM ·6 min read
Uoma by Sharon C.
Available at Walmart. Prices range from $6 to $24.
More from WWD
Men's Spring 2022 Trend: Fluid Tailoring
Sharon Chuter is no stranger to forward thinking, having founded Uoma Beauty and the Pull Up for Change campaign. Her next frontier? Accessibility, which she's aiming to address with a mass-market sister line to her first beauty brand. "My brand is currently hailed as inclusive, but anyone who knows me knows I'm gonna call even my own bulls–t," Chuter said. "No beauty brand comes in every color, every lifestyle or any budget….I really wanted to create a space where everybody could actually feel welcome."
Chuter launched Uoma by Sharon C with six stock keeping units last month in a whopping 3,365 Walmart doors. "They service 90 percent of America. It's extremely democratic, and people go there for many different reasons. Wide distribution was important to me," Chuter said.
The six debut skus units include the Go Awf! 2 In 1 Water-Activated Cleansing Wipes, Go Awf! Au Natural Cleansing Oil, Supa'Natural Glow Vitamin C Serum, It's Complicated Glossy Lip Tint & Oil, Flawless IRL Foundation and Badder Boom Volumizing Mascara. Industry sources estimate the brand will reach $40 million in retail sales for its first year on the market.
Bubble, the skin care brand for Gen Z, has gone into Walmart. - Credit: Photo courtesy of Walmart
Photo courtesy of Walmart
Available at Walmart. Prices range from $12 to $19.
When Shai Eisenman founded Bubble as a d-to-c skin care brand that catered to teenage and Gen Z skin concerns, her first move was to turn to her consumer. "We've worked with over 6,000 teens to create Bubble," Eisenman said.
To that end, as part of the brand's robust data collection among cohorts of young consumers, she discovered 82 percent of teenagers prefer to purchase products in store, and 41 percent of them go to Walmart at least several times monthly. When selecting Bubble's retail partner, the decision was obvious, Eisenman said.
The brand debuted last week at Walmart with seven products, from cleansers and toners to moisturizers and a mask. Eisenman prioritized keeping prices below $20, and the gender-inclusive skus have piqued Gen Z's interest. Industry sources estimate the Bubble will hit $20 million in retail sales in 2022.
"This is specifically skin care for young skin. There's always been a category for antiaging, but teens aren't looking for antiaging features, they need products that will clear and balance their skin," Eisenman said.
Monday Haircare has launched at Walmart. - Credit: Photo courtesy of Monday Haircare
Photo courtesy of Monday Haircare
Available at Walmart for $6.
When Monday Haircare launched in its native New Zealand, it was given the nickname "liquid gold" for its precious appeal and scarcity driven by constant sell-outs. The brand, which came Stateside at the beginning of 2021, has scaled up its business to enter the world's largest retailer to keep up with the craze.
Although Monday Haircare initially launched at Target and Ulta Beauty, Walmart helped the brand democratize premium hair care, said founder Jaimee Lupton. "A lot of brands have an idea of an ideal customer, and they put them in a bit of a box," Lupton said. "Because we're available so widely and so affordably, our brand is for absolutely everyone.
"We've proven that affordable hair care isn't what it used to be — ours is an award-winning, premium-quality product that just happens to be stocked at walmart.com," Lupton continued.
Consumers are responding well, and industry sources expect the brand to hit $100 million at retail by year's end.
Lupton, herself a p.r. veteran, also lauded the evolving assortment at Walmart. "Along with more premium, traditional names such as Nars and Estée Lauder, Walmart has really great positioning in carrying those more affordable but just-as-loved beauty brands," she said.
Health by Habit - Credit: Photo courtesy of Health By Habit
Photo courtesy of Health By Habit
Health by Habit
Available at Walmart for $8.88.
Bringing wellness to the masses may have been Health by Habit's goal when it launched its ingestibles last year in New Zealand, but when coming into Walmart as it expands into the U.S., the brand is eyeing Gen Z consumers.
"We thought if we target a niche — given the scale of Walmart and the U.S. as a whole — and double down to own that space, there's no other brand that's going to be able to do that," said Liam Whittaker, product and operations director at Health by Habit.
The brand, which entered Walmart last month, has centered its nine products on solutions for younger consumers, as opposed to the single-ingredient supplements of the past.
"There's a trend nowadays toward people moving away from individual vitamins and toward herbalist wellness solutions. We saw an opportunity to go and create a range of products, which basically provided solutions to modern-day problems, whether it's lacking energy, wanting an increase in immunity, or better skin and nails," Whittaker said.
If early projections are any indication, the brand's play at younger consumers is a success. Industry sources think Health by Habit could hit $20 million in retail sales in its first year.
Luna Magic - Credit: Photo courtesy of Luna Magic/Kurzydlak Natalia
Photo courtesy of Luna Magic/Kurzydlak Natalia
Luna Magic
Luna Magic might have only launched two years ago, but after an appearance on "Shark Tank" and receiving the Glossier grant for Black-owned businesses, cofounders and sisters Mabel and Shaira Frías have proven the brand's staying power.
Luna Magic's full assortment, 21 products spanning lashes, eye shadows and pencils, was made available last week in 405 Walmart doors. It is also merchandised on the retailer's first bilingual endcap, the sisters said.
"When we look at our brand and the content we put out, it's all about this dual world my sister and I live in," Mabel Frías said. "We are Latina, but we are American because we have this flair, and we identify with the Black diaspora. We are our consumer, and we wanted to figure out a way to connect with her in two languages."
Given Mabel Frías' time as a director of digital merchandising at Savage x Fenty prior to cofounding the line, she's no stranger to driving decisions with data. "The 405 doors were a strategic bet on our end to make sure we're looking at the data to see which stores are multicultural, where Latina and African American women spend a lot of money on cosmetics," she said.
Industry sources estimate the brand's retail sales will hit between $5 million and $10 million in 2022.
FOR MORE FROM WWD.COM, SEE:
Launch Pad: Five European Solid Shampoo Brands
Alina Cho Launches Newsletter on Facebook Bulletin
EXCLUSIVE: Thirteen Lune to Launch In-store at J.C. Penney
Sign up for WWD's Newsletter. For the latest news, follow us on Twitter, Facebook, and Instagram.
Counsel Portfolio Services Launches IPC High Interest Savings Fund
Counsel Portfolio Services Inc. ("Counsel") today announced the launch of the IPC High Interest Savings Fund (the "Fund"), a Canadian-dollar investment solution designed to provide investors with a potentially higher rate of interest than a typical savings account. The Fund currently invests in cash deposits which provides it an attractive current gross rate of 4.75%* and is subject to changes in prevailing interest rates.
Future of rugby union in Wales at stake over recent claims – Nigel Walker warns
Allegations of a 'toxic culture' at the WRU were aired in a television documentary.
Pacolet Milliken Completes First Renewable Natural Gas Investment
Pacolet Milliken, LLC ("Pacolet"), a sustainability-focused, family-owned investment firm, announced the consummation of a joint venture investment with Evensol LLC ("Evensol"), a leading developer of renewable biogas assets, on January 18, 2023. In partnership with Duke Energy, Pacolet and Evensol's joint venture will own and operate two renewable natural gas ("RNG") projects at landfills in North Carolina, specifically the Upper Piedmont Renewables and Foothills Renewables projects ("UP&F"). U
Apex's Portfolio with Meta Tops One Gigawatt of Clean Energy
CHARLOTTESVILLE, Va., January 30, 2023--Apex and Meta signed an environmental attribute purchase agreement for Angelo Solar—part of more than 1 GW of renewable projects advanced together.
More Than Half of Canadian Companies Anticipate Increased Hiring in the First Half of 2023 Amid Economic Uncertainty
Despite market volatility, more than half of companies across the country have plans to hire early this year, research from talent solutions and business consulting firm Robert Half shows. According to the company's State of Canadian Hiring Survey of nearly 1,450 managers, 51 per cent of respondents anticipate adding new permanent roles during the first half of the year, up from 40 per cent six months ago; another 42 per cent expect to fill vacated positions. Managers in administration and custo
$15.38+ Billion Worldwide Chronic Disease Management Industry to 2031 - Rise in the Geriatric Population is Significantly Driving Growth
Global Chronic Disease Management Market Global Chronic Disease Management Market Dublin, Jan. 30, 2023 (GLOBE NEWSWIRE) -- The "Chronic Disease Management Global Market Report 2022" report has been added to ResearchAndMarkets.com's offering. This report provides strategists, marketers and senior management with the critical information they need to assess the global chronic disease management market.The global chronic disease management market is expected to grow from $5.87 billion in 2021 to $
Higher Education Institutions Continue to Select BIO-key's PortalGuard IDaaS Cloud-based Cybersecurity Solution
WALL, N.J., Jan. 30, 2023 (GLOBE NEWSWIRE) -- BIO-key International, Inc. (NASDAQ: BKYI), an innovative provider of workforce and customer identity and access management (IAM) solutions featuring Identity-Bound Biometrics (IBB), today announced four new Higher Education customer migrations to its PortalGuard IDaaS® cloud platform from existing on-premises PortalGuard deployments. The institutions include: Cerritos College - Norwalk, CACoastal Carolina Community College - Jacksonville, NCCollege
Petco Unifies Customer Memberships Under 'Vital Care' Program for an Integrated Omnichannel Experience
Petco Health and Wellness Company, Inc. (Nasdaq: WOOF) today announced it will unify over 24 million subscribers within a two-tiered offering under its Vital Care program.
Innovative Approach to Concussions: How Ketones in Tecton™ May Help With Traumatic Brain Injuries (TBI)
ATLANTA, January 30, 2023--More than 135 concussions were documented in the NFL this season. Extrapolate concussions to other contact sports — boxing, ice hockey, lacrosse, rugby, and even soccer — at all levels from the pros to youth leagues, and it's easy to see why brain health can be so significantly impacted by sports. According to the University of Pittsburgh Medical Center, 20% of high school athletes playing contact sports will suffer a concussion this year.
Annual Assembly of Hospice and Palliative Care slated for Mar. 22-25, 2023, in Montréal, QC
The American Academy of Hospice and Palliative Medicine (AAHPM) and Hospice and Palliative Nurses Association (HPNA) are pleased to announce the 2023 Annual Assembly of Hospice and Palliative Care. The event will be held at the Palais des congress de Montréal (Montréal Convention Centre) in Montreal, Canada, from March 22-25, 2023. This event provides a unique experience allowing hospice and palliative care professionals to make connections, ask burning questions, and share best practices to adv
Ovarian Cancer Drugs Global Market Opportunities and Strategies To 2031
Ovarian Cancer Drugs Global Market Opportunities and Strategies to 2031 provides the strategists; marketers and senior management with the critical information they need to assess the global ovarian cancer drugs market as it emerges from the COVID-19 shut down.New York, Jan. 30, 2023 (GLOBE NEWSWIRE) -- Reportlinker.com announces the release of the report "Ovarian Cancer Drugs Global Market Opportunities and Strategies To 2031" - https://www.reportlinker.com/p06414093/?utm_source=GNW Description
Dolphins Wire
How the reported hiring of Vic Fangio changes the Dolphins' defense
There will be a difference between the old and new schemes.
Maricopa County Medical Examiner's Office report shows constable shot Marcus Mungeam
Constables omitted the fact that they shot Marcus Mungeam when evicting him from his apartment. A medical examiner's report shows one of their bullets entered his neck.


Capellan Confederation raids Spica and is repulsed by the Fifth Davion Guards.
Lt. Justin Allard unknowingly battles Duchess Candace Liao in 'Mechs during a Liao raid on Spica, resulting in injuries that end Candace Liao's military career.
Fianna massacre: Redjack Ryan devastates Fianna and breaks away from the Oberon Confederation to set up on Butte Hold.
Dame Paula "Lady Death" Trevaline raids Mararn, almost wiping the planetary population out by stealing the only water purification plant on the planet.
Thomas Calderon is named Protector of the Taurian homeworlds.
Badicus O'Shea is born on Nestor.
Elric von Steffelbus V is born.
Ty Wu Non is born.
Blackwell Corporation introduces the Kestrel SL variant VTOL.
This page was last edited on 22 April 2019, at 17:30.


Juniors will start Monday, April 23, 2018 at 6pm. Parents please stay for a 15 minute info session! Junior practice is scheduled to run until 8pm but please be at the track by 7:30 to pick up your child(ren) as we may end early due to weather.
Due to the amount of snow still on the field, we will have to postpone our start date for the Seniors a little further. We will start on Saturday April 21st. We will update the website as we know more, so hopefully it starts to warm up and the snow can melt.
Just a reminder that the indoor training session for Sunday March 4th is cancelled due to the coaching clinic that is being run this weekend.
Early registration cost is $135 until February 16th.
Regular registration cost is $150 from February 17th until the 26th.
After February 26th, late registration is $165.
YOU MUST HAVE AN NCCP # to register for this course. Go to the BC Athletics webpage (http://www.bcathletics.org/) , click on coaches in the header bar. Down the page on the right you'll see NCCP# lookup. Click that and it will take you to the Coach Canada page to login; just under the login you can click "create a #" Once you have a number you can register.
Any parent or athlete volunteers need to be certified and have criminal record checks completed to coach at the track. The PGTF Club will refund participants who will coach for the club this season.
Registration is open on the Trackie website.
Please note: A maximum of 48 Track Rascals will be allowed this year.


text:
The Bridge to Nowhere: A National Embarrassment
Ronald Utt
Visiting Fellow in Welfare Policy
Ronald Utt is the Herbert and Joyce Morgan Senior Research Fellow.
Today, Senator Tom Coburn (R-OK) will offer an amendment to the Senate's appropriation bill to transfer the $223 million that Congress had previously approved for a bridge in Ketchikan, Alaska, to fund reconstruction of a hurricane-damaged bridge in Louisiana. Dubbed the "Bridge to Nowhere," the bridge in Alaska would connect the town of Ketchikan (population 8,900) with its airport on the Island of Gravina (population 50) at a cost to federal taxpayers of $320 million, by way of three separate earmarks in the recent highway bill. At present, a ferry service runs to the island, but some in the town complain about its wait (15 to 30 minutes) and fee ($6 per car). The Gravina Island bridge project is an embarrassment to the people of Alaska and the U.S. Congress. Fiscally responsible Members of Congress should be eager to zero out its funding.
The bridge has become an object of national ridicule and a symbol of the fiscal irresponsibility of many in Congress toward the money entrusted to them by the taxpayers. It has also become an embarrassment to the people of Alaska and to responsible members of Congress who now find themselves tarred by the same brush dipped in the muck of the highway bill.
In response to this national humiliation, many in Alaska have vented their anger in the state's newspapers, and the papers' editors have also objected to the bridge on their editorial pages.
In the Anchorage Daily News, Diane Mucha of Eagle River wrote, "Of course, Alaska should and, hopefully, will volunteer to reject the money for the bridges to nowhere and Congress will apply the money for the hurricane relief efforts."
David Raskin of Homer, Alaska, wrote, "Alaskans owe an apology to the people of New Orleans, to Alaska Native people and to the Nation for their selfish shortsightedness in sending these scoundrels to Washington and voting to keep them there."
In the Ketchikan News, Dave Person wrote, "Thinking about the immense disaster in the Gulf States, it occurred to me that the most effective thing that the residents of Ketchikan could do to help would be to return the money earmarked for our Gravina Bridge."
Back in Anchorage, Art Weiner wrote, "In a collective act of passion, the people of Alaska should request that the funds appropriated for our bridges be used for infrastructure reconstruction in the hurricane-affected area."
Despite the willingness of many in Alaska to give back the bridge to pay for disaster relief, Alaska's congressional delegation has dug in its heels, and many of the delegation's colleagues, including all of congressional leadership, support its resistance. If Alaska loses some of its pork, they fear, so might they.
In opposing Senator Coburn's amendment to defund the bridge, one prominent Senator told a closed-door meeting of conservatives that the plan was simply impractical. Many of the earmarks, he claimed, are counted towards a state's equity bonus and thus are part of the state-by-state allocation formula. Defunding the bridge, he said, would direct at most $75 million to Louisiana, with the remaining $148 million returning to Alaska as money the state could use at its discretion for road projects.
Never mind that the Senator seems to view $75 million in taxpayers' dollars as a sum of little consequence; what the Senator sees as a problem in fact would be a considerable benefit to Alaska. Assuming the Senator's numbers are right, Alaska's Department of Transportation would gain $148 million in money it could spend on the state's transportation priorities instead of a useless bridge that would serve a tiny fraction of the state's citizens.
Perhaps recognizing that the citizens of Alaska, including many in Ketchikan, do not value the Gravina Island bridge project, its defenders have been forced to resort to threats. One House "Leadership staffer suggested that retribution could be levied for the removal of the project in a technical corrections bill or other measure," BNA reported. This is the sort of challenge that fiscally responsible senators should relish and, through their votes, show the House leadership exactly what they think of this childish threat. Most importantly, pushing back would show the nation that their august institution of democracy still maintains the moral authority to be trusted with hard-earned tax dollars.
Ronald D. Utt, Ph.D., is Herbert and Joyce Morgan Senior Research Fellow in the Thomas A. Roe Institute for Economic Policy Studies at The Heritage Foundation.


FirePlotter is a real-time firewall connection or session table monitor. It provides the ability to track usage of bandwidth and traffic for Cisco PIX ASA and FortiNet FortiGate firewalls. Installed and operational in less than a minute. FirePlotter provides tabular listings and summary of sessions by Service (HTTP, FTP etc), Destination IP, Source IP and more along with graphical bandwidth usage.
Free fast FTP client supports secure transfers and multiple connections. The file manager like interface is intuitive to get you started quickly. Transfer multiple files simultaneously to use your bandwidth efficiently and at the fastest possible speeds. Now supports PC to Mobile device connections! Download this free feature packed FTP client now!
GlassWire free firewall software helps protect your computer, privacy, and data by monitoring your network activity. Block unknown network connections with GlassWire's built in firewall tool. GlassWire also helps you monitor and protect remote servers. Are you always worried about going over your ISP bandwidth limit? GlassWire can warn you before you hit your limit and also show you what applications are hogging all your bandwidth.
Broadcast any streaming audio from your PC. Broadcast Pre-recorded audio or stream audio recordings that are in wav, mp3, wma, aiff and many other formats. Listeners do not need to install any special software to listen to a BroadWave webcast. BroadWave handles the complex audio stream compression, bandwidth adjustments, and serving over the internet to play from the default web brouser on any modern Windows or Mac computer.
FaMeBench is a benchmark tool to measure the speed of the processor and the various caches and memory in your PC. It shows bandwidths and latencies for all caches in one screen, but also offers advanced options to benchmark particular details. Testing is quick, but accurate and is up-to-date for all current processors including 6th generation Intel Core (Skylake) processors.
Quorum is software which runs as a phone conference server on any Windows PC. Callers dial into the server to join telephone conferences. Callers can connect to a conference call using either standard or VoIP lines on external telephone numbers or through an office phone system. The number of people who can join a conference call is limited only by your bandwidth.
Batch Image Resizer is the software that can resize batch of pictures to any size.The resized picture can be used as mobile wallpapers.It can also be used to reduce size of images to send them via email or upload on website.This saves cost and bandwidth.using the software is very simple.Just select the directory where images reside and the directory where resized images are to be places.It will resize all images and put them in target directory.
Why use an audio spectrum analyzer? For those of you that have done video installations, would you install a camera and lens without a monitor to see what you are doing? Why would you do an audio installation without seeing what you are doing? The analyzer gives you an inexpensive method to install audio systems (microphones, amplifiers, equalizers, concealments, etc) using a laptop computer, internal or external sound card, and the software. For those that want to evaluate products in a general way, the software can tell you some of the characteristics such as bandwidth, dynamic range, and frequency response curve.
Yet Another uTorrent is a small and powerful BitTorrent client for Windows that uses torrents to download movies, TV shows, music, software, etc. Program is little and consumes no resources from your computer. In less than a minute you can download and install it. Interface is so simple that downloading torrents becomes easy for everyone. Application is programmed for rapid downloads, runs silently in the back and adapts bandwidth consumption.
Antamedia Internet Cafe controls, secures, and enhances the running of your Internet cafe, gaming center, library, school or hotel public computers. The software restricts access to the system, desktop, drivers, folders and programs, helps you bill your customers for limited browsing, playing games, using Office applications, WiFi HotSpot usage, VOIP calling, printing, point of sale products.
BWMeter is a powerful bandwidth meter, monitor, traffic controller and firewall, which measures, displays and controls all traffic of your computer or on your network. Unlike other products, it can analyze the data packets (where they come from, where they go, which port and protocol they use). BWMeter creates statistics for all computers in your network, measuring and displaying all LAN traffic as well as download and upload from the internet.
Titan FTP Server is a powerful secure multi-threaded FTP/SFTP Server for Windows. Since Titan FTP is a fully multi-threaded Windows application, you can setup multiple servers all running simultaneously on different IP address/port combinations. Features secure file transfers using SSL; SFTP; Virtual Folders; user based access; file & directory permissions, disk quotas, UL/DL ratios, bandwidth throttling, local and remote administration.
Axence NetTools is a FREE set of very handy and useful network administration tools: NetWatch - network monitoring with alerting, real-time & historical charts; WinTools lists exhaustive system information from Windows computers; port scanner; network scanner; NetStat lists local inbound & outbound connections; TCP/IP workshop for low level service testing; ping; fast traceroute; DNS lookup; bandwidth test tool; SNMP browser and more.
Softmine Accelerator for Ares Galaxy is simple and useful. Once installed on your computer it will save you much time since it optimizes your bandwidth and lessens the period of time needed to complete your downloads. Its technology also tackles the upload speed limitation delivering uploads a lot faster.
Adguard is a powerful Internet filter that is compatible with all popular browsers and protects you against obtrusive and unpleasant advertisements, speeds up page loading and reduces bandwidth usage. It guarantees a solid protection from phishing and malware sites!


text:
Who Have Been the Best 55th Picks in the Last Five Years? A look at 2009
By James Dator Apr 23, 2012, 8:01am EDT
Share All sharing options for: Who Have Been the Best 55th Picks in the Last Five Years? A look at 2009
As we continue our look at the 55th pick in the NFL draft, moving towards Friday night we arrive at a player who should be familiar to Falcons' fans. Unlike 2008's Ray Rice this player hasn't broken out yet, but in each of the least two years he's seemed poise to make an impact.
"With the fifty-fifth pick in the 2009 NFL draft the Atlanta Falcons select- William Moore, Safety, Missouri"
What kind of player was William Moore going to be at the next level? Standing 6'0", and weighing over 220lbs he could easily be characterized with that deadly 'tweener' moniker; not quite spy enough to play safety, and not quite heavy enough to become a rush linebacker. To do this, however, would be a discredit to William Moore. While he's still growing into the NFL you can definitely see he has the potential to be a difference maker, and now in a division with large QBs like Josh Freeman and Cam Newton it's a huge benefit to have a large, hard-hitting safety.
In many ways 2011 was Moore's coming out party. Starting eleven games he finished with 54 tackles and 9 passes defended to couple with two interceptions and forced fumbles. Dave Choate over at 'The Falcoholic' believes 2012 will be the year William Moore will break out.
The real question is: "Would the Falcons be happy with another William Moore?" and to this end I have to say no. That's not a knock on him as a player, but Atlanta need a more immediate impact out of the 55th pick. They can't stand to have another three year project to develop. As injuries dictated in 2011 there were players getting thrust into starting roles with a 'next man up' mentality. If the selection is a CB or OL the player taken will need to be ready to step in immediately if needed.
On Wednesday we'll look at the 2010 draft as we get closer to Friday night.
NFL Draft 2012: Falcons Grab Dwayne Allen, Nick Foles In NFL.com's 7-Round Mock
2012 NFL Draft: TV Schedule, Start Time And More
2012 NFL Draft: Falcons Have Few Pieces To Trade In This Years Draft


text:
Q: How to get all records from multiple API calls? I'm currently writing a Java program to obtain some lists from the LTA DataMall API. The problem is that each call to the LTA DataMall API returns a maximum of 50 records, and I want to get all records (which could only be done 50 at a time) and write it to a CSV file instead of just the first 50 records only.
For this example, I'm going to use the BusStops API.
A typical API call from LTA DataMall
According to this userguide, API responses typically return a maximum of 50 records per call.
Say that I'm calling for the BusStops API, of which the GET request will be something like http://datamall2.mytransport.sg/ltaodataservice/BusStops. The resulting response will look something like this:
{
    "odata.metadata": "http://datamall2.mytransport.sg/ltaodataservice/$metadata#BusStops",
    "value": [
        {
            "BusStopCode": "01012",
            "RoadName": "Victoria St",
            "Description": "Hotel Grand Pacific",
            "Latitude": 1.29684825487647,
            "Longitude": 103.85253591654006
        },
        {
            "BusStopCode": "01013",
            "RoadName": "Victoria St",
            "Description": "St. Joseph's Ch",
            "Latitude": 1.29770970610083,
            "Longitude": 103.8532247463225
        },
        {
            "BusStopCode": "01019",
            "RoadName": "Victoria St",
            "Description": "Bras Basah Cplx",
            "Latitude": 1.29698951191332,
            "Longitude": 103.85302201172507
        },
        {
            "BusStopCode": "01029",
            "RoadName": "Nth Bridge Rd",
            "Description": "Cosmic Insurance Bldg",
            "Latitude": 1.2966729849642,
            "Longitude": 103.85441422464267
        }
        // and so on, up till ...
        {
            "BusStopCode": "02099",
            "RoadName": "Raffles Blvd",
            "Description": "Marina Ctr Ter",
            "Latitude": 1.29101661693418,
            "Longitude": 103.86255772172497
        },
        {
            "BusStopCode": "02101",
            "RoadName": "Raffles Ave",
            "Description": "Bef Temasek Ave",
            "Latitude": 1.28939197625331,
            "Longitude": 103.8618029276249
        }
    ]
}

Keep in mind that each request returns 50 records, so to get another 50 records, I have to append $skip to the URL, so to retrieve the 51st to 100th record, the URL will be like this: http://datamall2.mytransport.sg/ltaodataservice/BusStops?$skip=49.
FYI, there are 5296 BusStop records in total.
The Problem
With that in mind, I'm trying to write the above response to a CSV file. The method below is created for this purpose:
public static void writeBusStops() {
        String file = "./csv/bus_stops.csv";
        // mainQueryItems is to get the JsonObjects. They will also be written to the CSV file as headers.
        String[] mainQueryItems = new String[]{"BusStopCode", "RoadName",
            "Description", "Latitude", "Longitude"};
        Iterator<JsonElement> jIter;
        int count = 0;

        try (CSVWriter writer = new CSVWriter(new FileWriter(file))) {
            writer.writeNext(mainQueryItems); // write the header

            // ApiLTA.getBusStops(0) just gets the raw JSON from LTA's DataMall API from the 1st to 50th record.
            // To get the 51st to 100th record, change '0' to '49', i.e. ApiLTA.getBusStops(49).
            // "value" is the JsonArray I want to get, all others like "odata.metadata" are redundant.
            jIter = jsonIterator(ApiLTA.getBusStops(0),"value");

            while (jIter.hasNext()) { // each bus stop
                JsonObject jObject = jIter.next().getAsJsonObject();

                // Get the individual items
                String[] svcItems = new String[mainQueryItems.length];
                for (int i = 0; i < mainQueryItems.length; i++) {
                    svcItems[i] = getStringItem(jObject, mainQueryItems[i]);
                }

                // Write the items to the CSV file
                writer.writeNext(svcItems);

                count++;

                if ((count + 1) % 50 == 0) {
                    System.out.println("new " + count); // for debug
                    jIter = jsonIterator(ApiLTA.getBusStops(count), "value");
                }
            }
            System.out.println("done"); // for debug
        } catch (IOException ex) {
            Logger.getLogger(ApiLTADeserialiser.class.getName()).log(Level.SEVERE, null, ex);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

EDIT: For those interested in the jsonIterator method...
private static Iterator<JsonElement> jsonIterator(String jsonToParse, String k)
        throws JsonSyntaxException, IllegalStateException {
    // Parse the raw JSON
    JsonParser parser = new JsonParser();
    JsonElement raw = parser.parse(jsonToParse); // The jsonToParse is simply, the URL of the GET request

    // Get the array we need directly and pass it to an iterator
    JsonArray jArray = raw.getAsJsonObject().getAsJsonArray(k);

    return jArray.iterator();
}

I am using gson-2.7 and opencsv.3.8 as my external packages.
The intended output in the CSV file was to be:
"BusStopCode","RoadName","Description","Latitude","Longitude"
"01012","Victoria St","Hotel Grand Pacific","1.29684825487647","103.85253591654006"
"01013","Victoria St","St. Joseph's Ch","1.29770970610083","103.8532247463225"
"01019","Victoria St","Bras Basah Cplx","1.29698951191332","103.85302201172507"
"01029","Nth Bridge Rd","Cosmic Insurance Bldg","1.2966729849642","103.85441422464267"
// and so on
"99009","Changi Village Rd","Changi Village Ter","1.38969812175274","103.98762553601895"
"99011","Loyang Ave","Bef Sch Of Commando","1.38328110134472","103.97812168830427"
// and so on

However, the output became:
"BusStopCode","RoadName","Description","Latitude","Longitude"
"01012","Victoria St","Hotel Grand Pacific","1.29684825487647","103.85253591654006"
"01013","Victoria St","St. Joseph's Ch","1.29770970610083","103.8532247463225"
"01019","Victoria St","Bras Basah Cplx","1.29698951191332","103.85302201172507"
"01029","Nth Bridge Rd","Cosmic Insurance Bldg","1.2966729849642","103.85441422464267"
// and so on
"02089","Raffles Blvd","Pan Pacific Hotel","1.29152694444975","103.8592061110504"
"02099","Raffles Blvd","Marina Ctr Ter","1.29101661693418","103.86255772172497"
"01012","Victoria St","Hotel Grand Pacific","1.29684825487647","103.85253591654006"
"01013","Victoria St","St. Joseph's Ch","1.29770970610083","103.8532247463225"
// and so on

Which is basically, repeating the first 50 records itself.
What do you all feel would be a better way of making multiple API calls to populate all the records instead of repeating the first 50 records itself? How then can I accommodate this method to get less than 50 records?

A: I don't have access to that API and didn't take a look into how to obtain the API key, but I made a simple Spring-based mock which, I hope, works exactly the way your API works.
First off, $skip=49 looks a bit weird to me. Having no experience in the API, I believe it should be $skip=50.
Second, you might want to redesign your reading and writing routines separating their responsibilities. What if you redesign your data producing and consuming methods to make them a bit more flexible?
produce()
The following method creates a special iterable that generates an iterator over any objects and checks the out-of-bounds state itself encapsulating the iteration state. It accepts three parameters: slice size (50 in your case), a mapper that accepts the "skipped" state and must produce a new value for the upcoming iterator next(), and a predicate that checks whether the producing iterator can be considered finished.
private static <T> Iterable<T> produce(final int slice, final IntFunction<T> mapper, final Predicate<? super T> predicate) {
    return () -> new Iterator<T>() {
        private boolean hasMore = true;
        private int i;

        @Override
        public boolean hasNext() {
            return hasMore;
        }

        @Override
        public T next()
                throws NoSuchElementException {
            if ( !hasMore ) {
                throw new NoSuchElementException();
            }
            final T next = mapper.apply(i * slice);
            hasMore = predicate.test(next);
            i++;
            return next;
        }
    };
}

getValuesFrom() and hasNotEmptyValues()
These two methods are really simple and just allow to examine the incoming JSON objects.
private static JsonArray getValuesFrom(final JsonElement root) {
    final JsonObject rootObject = root.getAsJsonObject();
    return rootObject.get("values").getAsJsonArray();
}

private static boolean hasNotEmptyValues(final JsonElement root) {
    return getValuesFrom(root).size() != 0;
}

consumeJsonValues()
This is a special, not really generic, method that accepts the produced/generated content and delegates its product to the consumer upon some special rules:

*

*The given iterable is converted to a stream in order to use Java 8 Stream API facilities. (Using Google Guava alternatives is fine as well and can be used in non-Java 8 environments).

*The stream is filtered against empty values since the produce() method returns empty value as the "finished" marker.

*The filtered out stuff now is flatMapped to flatten the values stored in the root object of responses.

*Then it's mapped to JsonObject

*And finally forEach JsonObject is delegated to the given consumer passed as the second parameter

private static void consumeJsonValues(final Iterable<? extends JsonElement> jsonElements, final Consumer<? super JsonObject> consumer) {
    stream(jsonElements.spliterator(), false)
            .filter(LtaMockControllerClient::hasNotEmptyValues)
            .flatMap(root -> stream(getValuesFrom(root).spliterator(), false))
            .map(JsonElement::getAsJsonObject)
            .forEach(consumer);
}

readBusStops()
private static JsonElement readBusStops(final Gson gson, final int skip) {
    try ( final InputStream inputStream = new URL("http://127.0.0.1:9000/ltaodataservice/BusStops?$skip=" + skip).openStream();
          final Reader reader = new InputStreamReader(inputStream) ) {
        return gson.fromJson(reader, JsonElement.class);
    } catch ( final IOException ex ) {
        throw new RuntimeException(ex);
    }
}

How does it look like after all?
As you might notice earlier, all the stuff is located in LtaMockControllerClient. Consider the following main() method:
private static final Gson gson = new Gson();

public static void main(final String... args)
        throws IOException {
    try ( final CSVWriter writer = new CSVWriter(new PrintWriter(new OutputStreamWriter(out))) ) {
        writer.writeNext(new String[]{ "BusStopCode", "RoadName", "Description", "Latitude", "Longitude" });
        consumeJsonValues(
                produce(50, skip -> readBusStops(gson, skip), LtaMockControllerClient::hasNotEmptyValues),
                v -> writer.writeNext(new String[]{
                        v.getAsJsonPrimitive("BusStopCode").getAsString(),
                        v.getAsJsonPrimitive("RoadName").getAsString(),
                        v.getAsJsonPrimitive("Description").getAsString(),
                        v.getAsJsonPrimitive("Latitude").getAsString(),
                        v.getAsJsonPrimitive("Longitude").getAsString()
                })
        );
    }
}

The code above is pretty easy, literally:

*

*Open a CSV writer (for example, to System.out).

*Write the header line.

*Make a producer/consumer pipeline to read from the remote service (see what the produce() method accepts) and delegating the parsed result to a consumer that just writes the parsed properties to the result CSV file.

In the code above there is localhost:9000, as this is just a local mock server to behave like the LTA service. It's just a regular REST controller written in Spring MVC:
@RestController
@RequestMapping("/ltaodataservice")
public class LtaMockController {

    private static final Gson gson = new Gson();

    private static final List<BusStopDto> busStops = generateBusStops(5296);

    @RequestMapping(method = GET, value = "/BusStops", produces = "application/json")
    public String get(
            @RequestParam(value = "$skip", defaultValue = "0") final int from
    ) {
        final int size = busStops.size();
        final List<BusStopDto> values = from <= size
                ? busStops.subList(from, min(from + 50, size))
                : emptyList();
        return gson.toJson(new ResponseDto("http://datamall2.mytransport.sg/ltaodataservice/$metadata#BusStops", values));
    }

    private static List<BusStopDto> generateBusStops(final int count) {
        final List<BusStopDto> busStops = new ArrayList<>();
        for ( int i = 1; i <= count; i++ ) {
            busStops.add(new BusStopDto("code:" + i, "road:" + i, "description:" + i, i, i));
        }
        return unmodifiableList(busStops);
    }

    private static final class ResponseDto {

        @SerializedName("odata.metadata")
        @SuppressWarnings("unused")
        private final String odataMetadata;

        @SerializedName("values")
        @SuppressWarnings("unused")
        private final List<BusStopDto> values;

        private ResponseDto(final String odataMetadata, final List<BusStopDto> values) {
            this.odataMetadata = odataMetadata;
            this.values = values;
        }

    }

    private static final class BusStopDto {

        @SerializedName("BusStopCode")
        @SuppressWarnings("unused")
        private final String busStopCode;

        @SerializedName("RoadName")
        @SuppressWarnings("unused")
        private final String roadName;

        @SerializedName("Description")
        @SuppressWarnings("unused")
        private final String description;

        @SerializedName("Latitude")
        @SuppressWarnings("unused")
        private final double latitude;

        @SerializedName("Longitude")
        @SuppressWarnings("unused")
        private final double longitude;

        private BusStopDto(final String busStopCode, final String roadName, final String description, final double latitude, final double longitude) {
            this.busStopCode = busStopCode;
            this.roadName = roadName;
            this.description = description;
            this.latitude = latitude;
            this.longitude = longitude;
        }

    }

}

Both client and server components produce the following output (5296 fake bus stops and 5297 lines in total):
"BusStopCode","RoadName","Description","Latitude","Longitude"
"code:1","road:1","description:1","1.0","1.0"
"code:2","road:2","description:2","2.0","2.0"
"code:3","road:3","description:3","3.0","3.0"
"code:4","road:4","description:4","4.0","4.0"
"code:5","road:5","description:5","5.0","5.0"
"code:6","road:6","description:6","6.0","6.0"
"code:7","road:7","description:7","7.0","7.0"
...
"code:5291","road:5291","description:5291","5291.0","5291.0"
"code:5292","road:5292","description:5292","5292.0","5292.0"
"code:5293","road:5293","description:5293","5293.0","5293.0"
"code:5294","road:5294","description:5294","5294.0","5294.0"
"code:5295","road:5295","description:5295","5295.0","5295.0"
"code:5296","road:5296","description:5296","5296.0","5296.0"


1. the condition of being physically fit and healthy.
Fitness is not a hobby it's a lifestyle. Your body is meant to move everyday and be physically challenged so it can continually adapt to become healthier and stronger.
The body works as a system and can only be as strong as its weakest link, so it's important to have a fitness regimen providing different types of exercise variables training the body as a whole.
Mixing up types of training as well as performing exercises correctly are also key ingredients to achieve desired fitness goals. Doing so is possible by working with a highly knowledgeable certified personal trainer, one-on-one or by joining one of our small group FIT (Functional Integrated Training) classes which are offered multiple days and times per week.
Personal training gives you individualized attention and a personalized program designed specifically for your needs and goals. FIT classes are a small group environment that provides motivation and camaraderie from others, which can help keep up the momentum on working towards a fitness goal.
Our one-on-one Personal training gives you individualized attention and a personalized program designed specifically for your needs and goals.
Alternatively, Komplex FIT classes offer small group training, providing individuals the extra motivation and camaraderie from their peers. Program design is scaled to meet all those participating while form is still closely monitored. With our FIT classes, individuals benefit from the added element of the group atmosphere while still crushing Individual goals.


text:
We believe that everyone should have access to live music. We are a charity and run our own early years classes (for children aged 0-5 and their parents/carers), intergenerational singing sessions (for all ages, particularly older people and under 5s) and our award-winning Mini-Gigs for families. We also work in partnership with organisations such as children's centres, hospitals, festivals and schools to create family-friendly and fully-accessible music workshops, events and music training for staff. Access and inclusion are extremely important to us and we work with families with a disabled family member and specialist support groups to ensure that everything we produce is inclusive for all.
"Thanks for a brilliant afternoon of live music and for effortlessly making it accessible to all."
We are part of Arts Together because as a small charity, we know how useful it is to collaborate, be part of something bigger and to learn from others.
People you may meet
Kathryn Sturman
I'm a co-founder and co-director of Made with Music, which means I sing, run music sessions, produce gigs and do all the admin, applications, marketing etc that a charity needs! Live music has been a massive part of my life and I want to pass my love of it on to others. First Album: Jive Bunny!!
Hannah Dilworth
I'm also a co-founder and co-director of Made with Music; there are only two of us so we share everything from running the charity to session plans and meetings. I play the flute, sing, dabble at the piano and am currently learning the ukulele. I love seeing the faces of my own young children and others when they hear live music. Fun fact: I learnt to talk in Newcastle and can still put on a Geordie accent!
Made With Music website


text:
Q: Rails4: How to permit a hash with dynamic keys in params? I make a http put request with following parameters:

{"post"=>{"files"=>{"file1"=>"file_content_1",
  "file2"=>"file_content_2"}}, "id"=>"4"}

and i need to permit hash array in my code.
based on manuals I've tried like these:
> params.require(:post).permit(:files) # does not work
> params.require(:post).permit(:files => {}) # does not work, empty hash as result
> params.require(:post).permit! # works, but all params are enabled

How to make it correctly?
UPD1: file1, file2 - are dynamic keys

A: Rails 5.1+
params.require(:post).permit(:files => {})

Rails 5
params.require(:post).tap do |whitelisted|
  whitelisted[:files] = params[:post][:files].permit!
end

Rails 4 and below
params.require(:post).tap do |whitelisted|
  whitelisted[:files] = params[:post][:files]
end

A: Orlando's answer works, but the resulting parameter set returns false from the permitted? method. Also it's not clear how you would proceed if you were to later have other parameters in the post hash that you want included in the result.
Here's another way
permitted_params = params.require(:post).permit(:other, :parameters)
permitted_params.merge(params[:post][:files])

A: Here's what we had to do in Rails 5.0.0, hope this helps someone.
files = params[:post].delete(:files) if params[:post][:files]
params.require(:post).permit(:id).tap do |whitelisted|
  whitelisted[:files] = files.permit!
end

A: In rails 5.1.2, this works now:
params.require(:post).permit(:files => {})

See https://github.com/rails/rails/commit/e86524c0c5a26ceec92895c830d1355ae47a7034

A: In my case, there was just one attribute which had dynamic keys,
def post_params
  marking_keys = Set.new
  params[:post][:marking].keys.collect {|ii| marking_keys.add(ii)}
  params.require(:post).permit(:name, marking: marking_keys.to_a)
end

A: I understand that this is an old post. However, a Google search brought me to this result, and I wanted to share my findings:
Here is an alternative solution that I have found that works (Rails 4):
params = ActionController::Parameters.new({"post"=>{"files"=>{"file1"=>"file_content_1", "file2"=>"file_content_2"}}, "id"=>"4"})
params.require(:post).permit(files: params[:post][:files].keys)
# Returns: {"files"=>{"file1"=>"file_content_1", "file2"=>"file_content_2"}}

The difference between this answer and the accepted answer, is that this solution restricts the parameter to only 1 level of dynamic keys. The accepted answer permits multiple depths.
[Edit] Useful tip from comment
"Oh, and you need to verify that params[:post][.files] exists otherwise keys will fail"

A: Here is another way to get around this:
  def post_params
    permit_key_params(params[:post]) do
      params.require(:post)
    end
  end

  def permit_key_params(hash)
    permitted_params = yield
    dynamic_keys = hash.keys
    dynamic_keys.each do |key|
      values = hash.delete(key)
      permitted_params[key] = values if values
    end
    permitted_params
  end

This should work for post: { something: {...}, something_else: {...} }

A: You can use a temporary variable to build your permitted list like so:
permitted = params.require(:post).permit(:id)
permitted[:post][:files] = params[:post][:files].permit!

A: Here's a simple way to do it (works for rails 5):
  def my_params
    data_params = preset_data_params

    params.require(:my_stuff).permit(
      :some,
      :stuff,
      data: data_params
    )
  end

  def preset_data_params
    return {} unless params[:my_stuff]
    return {} unless params[:my_stuff][:data]

    params[:my_stuff][:data].keys
  end

A:     Send params as array type like name=date[]**strong text**
      def user_post
        dates = params[:date]
        #render json: { 'response' => params }
        i = 0
        dates.each do |date|
          locations = params['location_'+"#{i}"]
          user_names = params['user_'+"#{i}"]
          currency_rates = params['currency_'+"#{i}"]
          flags = params['flag_'+"#{i}"]
          j = 0
          locations.each do |location|
             User.new(user_name: user_names[j], currency_name: flags[j],
             currency_rate: currency_rates[j], currency_flag: flags[j], location: location).save
            j =+ 1
          end
          i =+ 1
        end
   def

A: I could not get any of the many proposed answers to work (Rails 5) without either:

*

*knowing all the hash keys in advance, or

*virtually negating the value of strong parameters by allowing arbitrary params.

I'm using this solution.
It uses the standard strong parameters rig to clean up most of the params,
and the Hash attribute is added back in explicitly.
# Assuming:
class MyObject < ApplicationRecord
  serialize :hash_attr as: Hash
  #...
end

# MyObjectsController method to filter params:
def my_object_params
  # capture the hashed attribute value, as a Hash
  hash_attr = params[:my_object] && params[:my_object][:hash_attr] ?
      params[my_object][:hash_attr].to_unsafe_h : {}
  # clean up the params
  safe_params = params.require(:my_object).permit(:attr1, :attr2) # ... etc
  # and add the hashed value back in
  safe_params.to_unsafe_h.merge hash_attr: hash_attr
end

A: Let's use a more complicated subset of data:
task: {
  code: "Some Task",
  enabled: '1',
  subtask_attributes: {
    '1' => { field: 'something', rules: {length_10: true, phone: false, presence: false }} ,
    '2' => { field: 'another', rules: {length_10: true, phone: false, presence: false }}
  }
}

So we send it to Strong Parameters for processing:
params = ActionController::Parameters.new({
  task: {
    code: "Some Task",
    enabled: '1',
    subtask_attributes: {
     '1' => { field: 'something', rules: {length_10: true, phone: false, presence: false }} ,
     '2' => { field: 'another', rules: {length_10: true, phone: false, presence: false }}
    }
  }
})

We will not be able to specify :rules in Strong Params in Rails 4 because it is a hash of data:
permitted = params.require(:task).permit(:code, :enabled, subtask_attributes: [:field, :rules])
Unpermitted parameter: rules
Unpermitted parameter: rules

So what if you want to whitelist specific attributes AND a COLLECTION of hashes of data. The accepted answer does not whitelist specified attributes. You have to do this:
params.require(:task).permit(
    :code, :enabled,
    subtask_attributes: [:field, :rules],
)

# whitelist the validation rules hash
params.require(:task).tap do |whitelisted|
  params[:task][:subtask_attributes].each do |k,v|
    whitelisted[:subtask_attributes][k] = params[:task][:subtask_attributes][k]
    whitelisted.permit!
  end
end

After trying several of the solutions here, none worked. Only aboved worked for nested attributes in a has_many association which contains arbitrary hash data.

A: I know this is an old post, one of many with different ways to update a serialize hash field. I thought I give my version that I accidently found by piecing together some methods. I'll just use my application. This is Rails 7.0.4 and Ruby 3.0. I also use slim templates.
I have a Taxable model that contains semi-persistent tax rates for different Departments.  All items are Sales Tax taxable, but in my case, Liquor adds an additional tax. The Taxable table only has two fields with tax being a serialized JSON field.
create_table "taxables", force: :cascade do |t|
  t.date "date"
  t.string "tax"
  ...
end

If a Tax is changed or added, the I would add a new record to reflect the change that took place on some date. Any ticket that had a tax in the past would use the record that is the earliest record before the ticket date. Anything new will the new changed record
The Taxable model has a constant that names all taxes that may be used:
TaxesUsed = %w(sales county federal city liquor)

The records would be something like:
[#<Taxable:0x0000000111c7bfc0
  id: 2,
  date: Sun, 01 Jan 2023,
  tax: {"sales"=>"8.0", "county"=>"2.0", "federal"=>"0.0", "city"=>"0.0", "liquor"=>"3.0"} ...
 #<Taxable:0x0000000111c7b980
  id: 3,
  date: Fri, 01 Jan 2021,
  tax: {"sales"=>"8.0", "county"=>"2.0", "federal"=>"0.0", "city"=>"0.0", "liquor"=>"4.0"}...
]

I initially had a kludge that worked, which was creating the hash from some un-permitted parameter and updating the record.  I then found mention of using form_with to describe the Tax field and to my surprise it worked!  The form:
= form_with(model: @taxable) do |form|

  div
    = form.label :date, style: "display: block"
    = form.date_field :date

  div
    = form.label :tax, style: "display: block", class:"font-bold"
    = form.fields_for :tax do |tax|
      # @taxable.tax is the existing serialize tax hash or a new default hash
      - @taxable.tax.each do |k,v|
        div.flex.gap-2
          div.w-36.font-bold.text-right = k
          div
            = tax.text_field k, value:v

  div[class="#{btn_submit}"]
    = form.submit

I had to define a new taxable_parmam that states that :tax is a Hash
def taxable_params
  params.require(:taxable).permit(:date, :tax => {})
end

Submitting the form give me params:
Parameters: {"authenticity_token"=>"[FILTERED]",
 "taxable"=>{"date"=>"2021-01-01", "tax"=>{"sales"=>"8.0",
 "county"=>"2.0", "federal"=>"0.0", "city"=>"0.0",
 "liquor"=>"4.0"}}, "commit"=>"Update Taxable", "id"=>"3"}

and it works!  I forgot about form_with but this is about a simple as you can get just using plain ol Rails.
Update: I forgot that stuff coming from form fields is text. I had to get the params to a new hash, change the float values (percents) and update using the new hash


* This job has been viewed 823 times.
Our client based in Pretoria iscurrently looking to employ a Data Protection Officer. Management of the organizational dataprotection and oversee the POPI and GDPR compliance of the company.


I wanted to share a resource in which I have gained extensive mental and spiritual growth over the last 6 months. A website, hosted by Focus on the Family, called That The World May Know. It is a collection of series produced in Israel, Turkey, Greece and Egypt…the homeland and footprint of ancient Hebrews to the journeys of Paul in the New Testament. These series cover archaeological, historical, and of course biblical perspectives of actual locations and events and people. If you are interested in much of what I blog about, I would recommend you give this resource a chance. There is a cost involved, you can either rent each episode by episode, or you can purchase entire series at a time. Enjoy!


MediaCoder x64 is one of the best video encoders/decoders in the software market, and it's now offering special versions for popular devices such as the PSP.
MediaCoder PSP Edition x64 enables you to convert your favorite movies and shows to the video formats used in Playstation Portable, so that you can take them anywhere with you. The interface, just like the iPhone version, feels a bit overwhelming at the beginning, but the program in itself is quite easy to use. There's also an embedded PSP player that allows you to preview the video exactly as it will be viewed on your device.
On the downside, I found the program to be a bit slow at some points, for example when launching it or when opening the configuration menu. Other than that, MediaCoder PSP Edition works fine, just like its older brothers.


This annual competition between Lancashire and Yorkshire, which dates back to the 1980s, sees black puddings hurled at a pile of Yorkshire puddings on a 20 foot high plinth.
Anyone can have a go at this unique and highly entertaining competition which involves plenty of eating too! Visitors can relax and enjoy the spectacle of black pudding throwing or take part and compete against others in this battle of the roses. Expect a lively atmosphere and lots of fun.
The Oaks Pub is ideally located for spectators or competitors to quench their thirst with its collection of cask ales and friendly hospitality. There's also hot food available and families are welcome.
Visitors staying in the local area also have the option of taking a steam train on the East Lancashire Railway to Ramsbottom where the event is held. Traditionally, the black pudding used in the competition is transported from Bury to Ramsbottom via steam train.
This year's event takes place on 9 September, so get your practice in and you could become a world champion!
Explore the spectacular staterooms and corridors of the Victorian gothic-style Manchester Town Hall.
Find out how Manchester's famous inventions helped shape the modern world, from the world's first steam-powered mill to the splitting of the atom.


text:
Won't spare anyone using religion for extremist acts: PM
ISLAMABAD: Prime Minister Imran Khan on Tuesday expressed his government's determination not to spare anyone found involved in cruelty by using religion, especially, in the name of Holy Prophet Muhammad (Peace Be Upon Him).
"The message of Holy Prophet Muhammad (PBUH), who was declared by Allah Almighty as Rehmatul-Lil-Alameen, is based on humanity and justice," he said while addressing a condolence reference held here at the PM's Office to express solidarity with the family of the late Priyantha Kumara, who was killed by a mob in Sialkot last Friday, as well as the government and people of Sri Lanka.
The prime minister said those leveling allegations have become judge, jury and executioner themselves. The message of humanity and justice given by the Holy Prophet Muhammad (PBUH) was the characteristics of a human society as against the inhumane world where the rules like "might is right" and "survival of the fittest" were applied.
PM Khan, on the occasion, also awarded Malik Adnan, the person who tried to save the Sri Lankan factory manager from the mob attack during the shameful Sialkot incident, with a certificate of appreciation and said that Adnan, by showing valour and humanity, had made the whole country and the nation proud. Imran paid tributes to Malik Adnan and said his brave action and effort to save Priyantha Kumara had strengthened the confidence of people in humanity. "You (Malik Adnan) will Insha Allah be rewarded with Tamgha-e-Shujaat on March 23," he added.
The prime minister, while mentioning an English quotation that "one moral man is an army", said the moral strength was more powerful that the physical strength. He said that Malik Adnan, who stood before the mob to save the Sri Lankan citizen and even risked his own life, had made the nation proud and was a role model for others.
The condolence was attended among others by the Sri Lankan High Commissioner to Pakistan, federal ministers, members of Parliament, Ulema, artistes and civil society representatives. Prime Minister Imran Khan said Holy Prophet Muhammad (PBUH), who united the people, including the warring Arab tribes, spread the message of Islam through love and peace and not through sword. "With only 1,400 deaths, the Holy Prophet (PBUH) dominated the whole Arab world in 10 years. Prophet Muhammad (PBUH) brought the message of love, which was based on humanity and justice," he remarked.
The prime minister said that a human being was valued in the society of humans and the weaker segments were taken care of, adding, Holy Prophet Muhammad (PBUH) established the world's first welfare state in Madina and upheld justice. "People here are killed in the name of religion and use the name of Prophet Muhammad (PBUH)", he mentioned and regretted that when someone was accused of something [like the Sialkot incident], even lawyers and judges hesitated to plead or hear such a case.
The prime minister, however, maintained that after the tragic Peshawar Army Public School (APS) incident in December 2014 in which 150 students were martyred, the whole country got united against extremism and terrorism and the war against terrorism was won. "Now the whole of Pakistan has decided that the Sialkot-like incidents should not be repeated," he stressed.
The prime minister told the gathering that the traders community of Sialkot had collected US$100,000 for the family of late Priyantha Kumara and salary of the late Sri Lankan citizen would also be regularly paid to his family. Imran Khan mentioned his decision of establishing the Rehmatul-lil-Alameen Authority and said its objective was to gather religious scholars at one platform and make the country's youth fully aware of the life and achievements of Holy Prophet Muhammad (PBUH). "All of us are the lovers of Holy Prophet (PBUH). But we have to prove it by following and adopting his way of life. For that purpose, we have to read history, his life and Seerat and hold debates in colleges," he added.
The prime minister said people, especially the youth, were required to know why Allah Almighty declared Holy Prophet (PBUH) as His "Beloved" and why Michael Hart, an American author, kept Holy Prophet Muhammad (PBUH) at number one in the list of 100 most influential persons in history. Regretting that how people in Pakistan were used to giving "edicts of infidelity," Imran Khan mentioned that once Holy Prophet Muhammad (PBUH) showed his anger and did not talk with a Sahabi, who killed an infidel in a holy war even after he (the infidel) had recited Kalma Tayyaba. Describing the Sialkot incident as "shameful", he said that Pakistan was the only country in the world which was created in the name of Islam. "I am receiving a lot of messages from the overseas Pakistanis, who feel ashamed of the Sialkot incident," he remarked.
The prime minister said that nine million overseas Pakistanis had to face embarrassment after such incidents in their homeland, which was created in the name of Islam. He said that despite the fact that the incidents of mob lynching were continuously happening in India during the BJP rule, which hurt the Pakistanis as well, the Indian television channels were in the forefront to highlight the Sialkot incident. "And I will not let such incident happen in the country," he stressed.


text:
Robert Aron Emilsson (20 de fevereiro de 1990) é um político sueco e membro do Riksdag pelo Partido Democrata sueco.

Emilsson estudou filosofia e política na Universidade de Gotemburgo. Ele foi eleito para o Riksdag durante as eleições gerais suecas de 2014. No parlamento, fez parte da Comissão dos Assuntos Sociais e da Comissão da Cultura.

Alunos da Universidade de Gotemburgo
Pessoas vivas
Nascidos em 1990
Políticos da Suécia

redpajama_set_name: RedPajamaWikipedia