In this unique, information packed video, YOU get to be the fly on the wall. Watch over the shoulder of a leading fashion photographer. Experience multiple styles of lighting and modifier set ups. Learn how to create everything from a soft, dreamy look to a film noir inspired shot. Lindsey will teach you the most valuable lighting setups being used in studios today. All delivered in a clear and direct, jargon free style. Soft boxes, flags, reflectors, bounce-cards, grids, beauty dishes and much more are covered in detail.
You have a fashion shoot. How about the post production in Photoshop? There are many different styles of retouching. Fashion and advertising have unique retouching needs that differ from those in portrait photographs. High end, magazine quality retouching involves techniques and tricks that are needed for a professional look. Learn these techniques and closesly guarded secrets from Kristina Sherk (SharkPixel) who makes a living retouching for clients like Sports Illustrated, NPR and Hasselblad to name a few.
In this intensive video training, you�ll discover the techniques themselves, are easy to pick up. However the execution makes this video an invaluable part of your instructional library that will only grow in value the more times you watch it!
This fast loading video contains over 5 hours of brand new sharp video. The advanced interface allows the user to instantly jump to any of the lessons with complete control over the playback including Full Screen. All the lesson files are included, so you can follow along at your own pace!
If you want your fashion photographs to look their very best, don�t miss this training.
Removing blemishes and other imperfections.
Learn how to get nice smooth skin without losing texture!
Cleaning up hair around the models face.
Evening Tone: Reshape the models bone structure.
Clean up your models eyes; The natural way!
Smooth out lines and ridges with the liquify tool.
Retouching hands: Techniques that aren�t covered in regular DVDs.
Out of the (dialog) box sharpening techniques.


Welcome to the SVG Attic-SnapDragon Snippets Spring Has Sprung blog hop and to my blog!
We are so excited to have you join us today!
At each stop of the hop we hope you have been inspired by the creativity of the design teams of SVG Attic and Snapdragon Snippets.
You should be arriving from the busy talented Rhonda's blog. If you happened across this post out of order, please head to the SVG Attic blog to start at the beginning of the hop.
I have created two layouts for this hop. First up is this layout with a background I created using watercolors.
You have to trust me that the colors look much better in person, more subtle.
On this layout I used the "Dyeing to have some fun", "eggs and brush" files.
And it does not look this wrinkled in person either. Something about the sun and my camera made it look... mhhh too much light? Anyway, I really really like it!
I added gold thread behind the picture and stitched some messy stitches on the bottom left of the layout, and added a bunny and ducky paperclips.
I forgot to ink or add shading to my "dyeing to have some fun" sign and I was not liking it, so I added shading with a Prismacolor pencil and I liked it better. I used colored vellum on the dye container as my layer and behind the picture. I inked the brush with alcohol markers.
For my second layout I used a file that I have been wanting or meaning to use for a while now. The "On the hunt" is such file. I like it so much that I pretty much used the colors that you see on the store's ad.
For this layout I got a bit more creative and ambitious. I decided to do the weaving right on the layout instead of on a separate panel. Love it! and it was really not that hard.
A closer look at the weaving.
A closer look at the dimension. I added 3D foam adhesive to this photo and some of the flowers.
I also cut additional eggs from the sign layers in white and colored them with alcohol markers.
1. Become a follower of each blog in the hop, if you aren't already.
2. Comment on each blog.
3. If you do both of the above, check back at the SVG Attic blog and/or the SnapDragon Snippets blog for the winners on Monday, March 16th! You have all day today and tomorrow to hop.
We would also love it if you would stop by the SVG Attic and SnapDragon Snippets' Facebook pages and give us a "Like"!


text:
Q: Complex numbers, prove modulus isn't equal to 1 Let z, w $\in\mathbb{C}$ such that z$\ne\overline{w}$. Prove that if zw isn't purely imaginary, then $\lvert \frac{(z+\overline{w})}{(z-\overline{w})}\rvert \ne 1$.
I've written out z=a+bi and w=c+di, then w=c-di and expanded all of it. I've just been getting lost on how to make sure it's not actually equal to 1. Any help would be appreciated.

A: From the thesis, we have:
$$|z+\overline{w}|\neq|z-\overline{w}|$$
Now, let $z=a+ib \land w=c+id$, we obtain:
$$\sqrt{(a+c)^2+(b-d)^2}\neq\sqrt{(a-c)^2+(b-d)^2} \leftrightarrow 2ac-2bd\neq-2ac+2bd \leftrightarrow ac\neq bd \leftrightarrow ac-bd\neq 0$$
From the hypotesis, we have:
$$(a+ib)(c+id)\neq ik, k \in R \leftrightarrow (ac-bd)+i(bc+ad)\neq ik \leftrightarrow ac-bd \neq 0$$
The two condition are the same, so your thesis is correct.

A: Let $z, w \in \mathbb{C}$ be such that $z \neq \bar{w}$. As $\bar{z} \neq w$, we can multiply both sides of the fraction by $(\bar{z} -w)$. We get :
$$\frac{(z+\bar{w})}{(z-\bar{w})} = \frac{(z+\bar{w})(\bar{z} -w)}{(z-\bar{w})(\bar{z} -w)}$$
The denominator is :
$$(z-\bar{w})(\bar{z} -w) = z\bar{z} - w\bar{w}-zw - \underbrace{\bar{z}\bar{w}}_{= \overline{zw}} = |z|^2 - |w|^2 - 2 \mathcal{Re}(zw)$$
Let's develop the numerator:
$$(z+\bar{w})(\bar{z} -w) = z\bar{z} - w\bar{w}-zw + \underbrace{\bar{z}\bar{w}}_{= \overline{zw}} =
|z|^2 - |w|^2 - 2 \mathcal{Im}(zw) i$$
Suppose now that $zw$ isn't purely imaginary (ie $\mathcal{Re}(zw) \neq 0$). We have to check that the module of the numerator isn't equal to the module of the denominator, but this now amounts to show that $(\mathcal{Im}(zw)i)^2 \neq \mathcal{Re}(zw)^2$, which is obvious since $\mathcal{Re}(zw) \neq 0$ : the left hand side is negative, while the right hand side is strictly positive.

redpajama_set_name: RedPajamaStackExchange


Europe's IT distributors are a vital channel for all hardware and software vendors and service providers, providing coverage and penetration to all the markets across the region. If you are looking to extend your coverage across Europe, strengthen your presence countries or understand how your distributors compare to the competition, then the Distributors in Europe – The Top 500 is the market intelligence data you need.
Contact details – around 2,600 C-Level contacts with individual email address and company telephone number etc.


Citation: BOEHNERT, J., 2018. Design, ecology, politics towards the Ecocene. New York: Bloomsbury.
Abstract: Design, Ecology, Politics links social and ecological theory to design theory and practice, critiquing the ways in which the design industry perpetuates unsustainable development.


text:
Our Competencies
Information Security Policies
The future of healthcare: Information technology
Mobile digital devices, such as smartphones, tablets, and e-readers, have had a rapid and profound impact on our daily lives, affecting how we read, shop, play games, search for information, think and behave. This transformation was predicated on a mature Internet with highly developed wireless networks, ever-increasing bandwidth and pervasive connectivity. With this refined infrastructure that now supports our busy digital lives, we are uniquely positioned for a similar radical effect on the future of medicine.
http://www.modernhealthcare.com/article/20110725/SUPPLEMENT/110729989
We'd love to hear from you! Please let us know how we can help improve your business practices.
Your Message (*)
Address: 3rd Floor, QTSC Building 1, Street 14, Quang Trung Software City, Tan Chanh Hiep Ward, District 12, HCM City, Vietnam
Phone: (+84.28) 37 155 742
This website uses cookies to give you the best experience. If you accept our Cookie Policy or continue to browse on this website, we assume that you agreed with our Cookie Policy.
Find out more here, including how to change your cookie settings.

redpajama_set_name: RedPajamaCommonCrawl


A couple of weeks ago I did a review of Klorane's wonderful Abyssinia Oil Shampoo and Conditioner and their Dry Shampoo. Today I am going to review a couple of their skincare products, Smoothing and Relaxing Patches and BB Eye Cream. I love Klorane and every product I have ever tried from this brand. I think you will too.
Klorane Smoothing and Relaxing Patches with Cornflower are used on the eye area to soothe and soften skin around the eye. They refresh, moisturize and brighten the eye area. The patches also help to reduce puffiness and smooth away lines in the eye area. They are hypoallergenic, ophthalmologist and dermatologist tested. The patches do not contain sodium chloride, silicone or sulfates.
The main ingredient is cornflower, which for centuries has been known for its soothing, softening and anti-inflammatory qualities. Grown exclusively in France, the cornflower is harvested during full blossom. The patches can be placed in the refrigerator to enhance the refreshing effects. They also contain decongesting arnica and soothing chamomile. They reduce the signs of fatigue and instantly soothe and refresh the eyes. They also lighten the area under the eyes, as well as reduce dark circles and bags around the eyes.
To use, apply directly to eye area and leave on for 20 minutes. Can be used as a 7-day treatment for a long-term smoothing effect.
I find these patches to be wonderful. They instantly refresh, cool and soothe the eye area. I love how they brighten the eyes, lighten up dark circles and moisturize the under eye area too. I think the combination of the cornflower, arnica and chamomile is a winning combination.
ophthalmological and dermatological control. It has been formulated to minimize the risks of allergy. This product is paraben-free and phenoxyethanol-free.
To use: apply in the morning or evening on the eye contour, following the Klorane massage.
I use this in the mornings instead of a concealer, since my dark circles are not that bad. I find that it works well as a concealer, since it lightens and brightens the under eye area. It illuminates the eye and makes it look bright and beautiful. Dark circles actually start to fade away with use. Puffiness is minimized and if you use the Klorane massage, puffiness will stay away.
Both of these products can be purchased online at www.kloraneusa.com. It's also available online at SEPHORA, Birchbox, Beautyhabit, Net-A-Porter.com, www.soap.com and www.skinstore.com and Lovely Skin. Like Klorane on Facebook: https://www.facebook.com/kloraneusa; Follow Klorane on Twitter:@kloraneusa; Follow Klorane on Pinterest:https://www.pinterest.com/kloraneusa/; Folllow Klorane on Instagram:https://www.instagram.com/kloraneusa/ and Subscribe to Klorane on YouTube:https://www.youtube.com/user/kloraneusa.


text:
Q: PostgreSql Querying Array Values I have the following JSON format stored as JSONB column in postgresql.
{DisplayName":"Bob marley","FName":"Bob","Title":null,"LName":"Marley","State":null,"EmailAddresses":["bob.marley@hotmail.com","bobmarley@gmail.com"]},
{DisplayName":"Bob martin","FName":"Bob ","Title":null,"LName":"Martin","State":null,"EmailAddresses":["bob.martin@hotmail.com","bobmartin@gmail.com"]}

I want to query for EmailAddresses Array where it starts with Bob. I am able to query for normal string type keys using the LIKE and ILIKE operators, however for searching inside ARRAY types, is posing a problem.
Please advise.

A: If you want to check if any element of array in jsonb field match to your mask:
SELECT *
  FROM jtable
 WHERE EXISTS (
        SELECT 1
          FROM jsonb_array_elements_text(jfield->'EmailAddresses') AS j
         WHERE j  ~ 'bob'
      )

                                                                                jfield
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
 {"FName": "Bob", "LName": "Marley", "State": null, "Title": null, "DisplayName": "Bob marley", "EmailAddresses": ["bob.marley@hotmail.com", "bobmarley@gmail.com"]}
 {"FName": "Bob ", "LName": "Martin", "State": null, "Title": null, "DisplayName": "Bob martin", "EmailAddresses": ["bob.martin@hotmail.com", "bobmartin@gmail.com"]}
(2 rows)

Or if you want list of email that match to mask:
WITH w AS (
    SELECT jsonb_array_elements_text(jfield->'EmailAddresses') AS emails,
           *
      FROM jtable
)
SELECT * FROM w WHERE emails ~ 'bobm'

       emails        |                                                                                jfield
---------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------
 bobmarley@gmail.com | {"FName": "Bob", "LName": "Marley", "State": null, "Title": null, "DisplayName": "Bob marley", "EmailAddresses": ["bob.marley@hotmail.com", "bobmarley@gmail.com"]}
 bobmartin@gmail.com | {"FName": "Bob ", "LName": "Martin", "State": null, "Title": null, "DisplayName": "Bob martin", "EmailAddresses": ["bob.martin@hotmail.com", "bobmartin@gmail.com"]}
(2 rows)


Sometimes, I'm tempted to give up when I can't see progress.
In ministry, it's disheartening when someone who once followed Jesus wholeheartedly, has abandoned those ways, choosing to chase the world instead.
Especially after you've invested time and energy into that relationship.
remembering that what I can see isn't the whole story.
Jesus tells the story of a farmer who sowed wheat in his field. In the night, an enemy came and contaminated the field with weeds.  As they both grew, it became apparent there were both weeds and wheat in the field so the servants asked the farmer if they should pull the weeds.  The farmer told them to let both grow together.
At harvest, the reapers would bind and burn the weeds, while storing the wheat safely in the barn.
Unlike most parables, we get the benefit of Jesus' interpretation of this one.
Since He took the time to give its meaning, we should listen closely!
and the good seed – these are the children of the kingdom.
The weeds are the children of the evil one, and the enemy who sowed them is the devil.
The harvest is the end of the age and the harvesters are angels.
Therefore, just as the weeds are gathered and burned in the fire, so it will be at the end of the age. The Son of Man will send out his angels, and they will gather from his kingdom all who cause sin and those guilty of lawlessness.  They will throw them into the blazing furnace where there will be weeping and gnashing of teeth.
Then the righteous will shine like the sun in their Father's kingdom.
God is the one responsible for planting the seed.
He alone is responsible for salvation and already knows the eternally fate of every person He created. Regardless of our desire to see the ones we love and serve begin a relationship with Jesus, we do not have the power to save them.
Certainly, we have a responsibility to share the gospel and pray for them.
Remain faithfully obedient in that task, no matter how long it takes!
But only Jesus has the power to save.
Evil exists in this world.
God has allowed Satan certain liberties on earth for a time, and the Enemy has not wasted his opportunities to sow weeds of Death and Destruction.
In the book of Job, Satan, intent on stealing, killing and destroying (John 10:10), is busying himself with God and His people.  After a time of roaming the earth, Satan appears before the Lord, which makes it clear that he answers to God's authority, not the other way around.
He concluded by saying that, without all the blessings from God, Job would not be a faithful follower.  God then gives Satan permission to do whatever he desires with Job's possessions, but not to touch Job himself.
Nothing can come into our lives that hasn't passed through the loving thought of our Heavenly Father.
but we are not abandoned by our Heavenly Father!
We also must remember our Savior is not immune to our suffering.
Hebrews 4:15, teaches that Jesus knows and understands our pain for He was tempted and tried in every way as we are.
Because He has experienced our suffering, He invites us to come boldly to Him in our need!
I have a friend with a challenging parenting situation.
She and her husband have made some tough decisions concerning their child and much pain has been involved. It's hard to understand why they've had to endure such difficult circumstances and I'm sure they've asked "why" many times.
Just as each of us have at various points in life as well.
My friends both serve and love God, having purposed to parent according to godly principles.  And yet, for a season, their difficulties make it appear the enemy has prevailed.
But, as my friend continually reminds, "the story is not over".
but in the One who has full authority over what is allowed to enter our lives.
She views the pain of her present situation through the lens of God's final authority and goodness, choosing to remain faithfully committed to Him, despite the weeds growing around her.
Jesus concludes His parable by reminding us that in the end, God wins.
Evil will be bound and burned.
God's children will "shine like the sun in their Father's kingdom".
What a beautiful hope we have!
Thanks for joining us today as we journeyed into Screenshot Week Three! Don't miss out on the discussion below – we'd love to hear your thoughts!
Here's a link to all past studies in Screenshot!


Apple could be launching the iPad in the Nordic countries soon, according to information from telecom operators, the WSJ reports.
Tre, TeliaSonera, Tele2,and Telenor all said Friday that they will offer data subscription packages exclusively for the iPad, giving iPad users internet connectivity through their respective networks.
Bengt Olsson, head of communications at TeliaSonera, told Dow Jones Newswires that they will not sell the iPad and only offer subscriptions.
"As things look right now, we will only offer subscription packages for the iPad," he said. "The iPad launch is imminent and we plan to release our subscription offer in Sweden, Norway, Finland and Demark simultaneously," he said.


text:
Home U.S.A GOSSIP Taylor Swift Reveals What Is Important for Her as an Artist with...
Taylor Swift Reveals What Is Important for Her as an Artist with Regard to Her Future
Taylor Swift has been named on of People's People of the Year and she's opening up in a brand new cover story for the mag!
Here's what the 29-year-old entertainer is sharing with the mag…
On this year being special to her: "This year feels more special to me than any year before it. Fifteen years into doing this, being able to look around and acknowledge that it's special, I'm really stoked this moment can happen when I'm 29. That's one of the benefits of starting when you're 12!"
On why she signed with UMG and what she felt like was important for her as an artist: "I'm in a position to speak out, thankfully, so if somebody who's younger who's signing a record deal can learn from that, then that's a good day. When I signed my record deal with Universal Music Group, they agreed to pay their artists a significant portion when they sell their Spotify shares. It's a hugely important thing to me as an artist because I think that's our pension plan, and that's our thing we get to leave to our kids."
On her year: "This is the first time I've been able to put out music that I feel is connecting with people, yet look back on everything I've made and feel a quiet sense of pride. I'm proud of the things I've withstood, and I've been able to carve out a life for myself."
For more from Taylor Swift, visit People.com.
Previous articleFAST MOVE! RRS Saves Man From Suicide On Third Mainland Bridge
Next articleJUST IN!!! Police Arrest 6 Suspected Kidnappers, 4 Armed Robbers In Kano
Truett Foster McKeehan's Cause of Death Revealed
Tom Hanks Reacts to False Ad Showing Him Endorsing CBD Company: 'Come On, Man!'


text:
Q: How to use actionlistener in Scala Swing I would like to make click counter in Scala Swing. I used for this ActionListener interface. But I don't know if I did it correctly. The program works, but I want to find out how to do this according to best practies. I will be very thankful for the answer how to do it correctly.
import javax.swing._
import java.awt._
import java.awt.event._

class UI extends JFrame {

  var title_ : String = "Hello, Swing in Scala"
  setTitle(title_)

  val textArea = new JTextArea
  var text : String = "Hello, Swing world in Scala!"
  textArea.setText(text)
  val scrollPane = new JScrollPane(textArea)

  val panel = new JPanel
  var text2 : String = "Click Here"
  val button =new JButton(text2)
  panel.add(button)

  var clicks:Int = 0

  def onClick(): Unit = {
    clicks += 1
    text = "Number of button clicks: " + clicks.toString
    textArea.setText(text)
  }

  button.addActionListener(new ActionListener {
    override def actionPerformed(e: ActionEvent): Unit = onClick() })

  getContentPane.add(scrollPane, BorderLayout.CENTER)
  getContentPane.add(panel, BorderLayout.SOUTH)
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
  setSize(new Dimension(600, 400))
  setLocationRelativeTo(null)

  def display() {
    setVisible(true)
  }
}

object SwingExample extends App {
    val ui = new UI
    ui.display()
    println("End of main function")
}

A: there are simple things, which improve code quality and maintainability.
it seems that text, text2 and title_ can remove and put that value directly into.
to shorten it, try this statement for the onClick
def onClick(): Unit = {
    clicks += 1
    textArea.setText(s"Number of button clicks: $clicks")
  }

see String Interpolation.
you can shorten your ActionListener by
button.addActionListener(e => onClick())


VatorNews | Did Fidelity's Workday investment grow at 1600%?
Did Fidelity's Workday investment grow at 1600%?
This article, along with a brief video, attempts to explain how Fidelity's October 2011 investment in Workday grew at a 1600% CAGR while Workday's common stock appreciated at a compounded annual rate of just 93% during the same period.
While both 93% CAGR and a 1600% CAGR are profound returns, the big issue here is the magnitude of the differences in valuation between what Fidelity's SEC filings suggest as of the end of 2011 and what Workday's 409A valuation implies for the same period.
Limited partners in venture funds, like New Enterprise Associates, the 350 or so of Workday's 1450 employees that hold vested stock options, tons of retail investors in Fidelity's Contrafund and, ultimately, retail investors that purchase shares of Workday in the aftermarket following its IPO would all be impacted by such a large difference in valuations this close to a public offering.
Because of that, it's important to clarify that this huge difference in valuation "appears" to exist, based solely on my interpretation of information filed with the SEC by Fidelity's Contrafund and information filed by Workday in its registration statement. In this article, I'll walk you through the disclosures and calculations leading to that interpretation with sufficient detail to allow you to draw your own conclusion. In two articles that follow I'll walk you through how Workday made its valuation calculations and how Fidelity could have used similar valuation methods and still reached very different conclusions.
The starting point for the analysis is actually the Fidelity Investment's Contrafund annually report for the year that ended December 31, 2011. In that report, Fidelity reports holding 1,223,783 shares of Workday valued at $29.98 million (or around $24.50 per share). This compares to the acquisition price reported in the audited financial statements from the same filing, which states a cost basis of $16.23 million for the Workday shares the mutual fund acquired on October 13, 2011.
Since October 13, 2011 matches the press reports for Workday's Series F financing closing, and dividing the acquisition price reported by Fidelity by the year end shares equals the Series F original issue price recorded in Workday's charter ($13.26) to the penny. Dividing the December 2011 value by the October value (then subtracting 1) suggests unrealized appreciation of 84.77% for Fidelity's Workday investment over the 79 day period. An 84.77% gain over 79 days suggests a 1600% return as a compounded annual growth rate.
This compares to the valuation that Workday used to grant stock options, $4.25 per share in October of 2011 and $4.90 per share for shares granted in January 2012, based on their estimated December 2011 value. A difference almost always exist between the common stock fair market value determined for IRS' 409A rules, and the fair value funds report their investors for the same companies.
Many times these differences reflect superior claims to the company under poor or mediocre sale scenarios, differences in valuation standards and, according to some, differences in objectives (higher value desired versus lower value desired). However, the issue here is not really that there was a huge difference in the values concluded, but rather the huge difference in the change in value over the exact same time period.
So what plausible factors help explain this huge difference?
In the next post, I'll illustrate a few simple explanations, beginning with differences in assumptions concerning growth, differences in assumptions concerning the rate of return investors would requires and, as a result of those prior assumptions, differences in the expected volatility between what Workday's board and 409A valuation firm relied upon and the variables Fidelity may have relied upon in reaching their value conclusion.


text:
This website uses cookies to help us understand the way visitors use our website. We can't identify you with them and we don't share the data with anyone else. If you click Reject we will set a single cookie to remember your preference. Find out more in our privacy policy.
Working with Practice
Evidence Store
Announcing our new evaluation groups
We are excited to announce the appointment of members to both our Evaluation Advisory Group and our Panel of Evaluators. Both groups will be central to shaping our approach to evaluation and the production of high-quality evidence on what works in children's social care.
Evaluation Advisory Group
Members of our Evaluation Advisory Group (EAG) are highly accomplished individuals with a wide range of expertise, reflecting the diversity of research methodologies that the Centre is likely to make use of in the coming years, and the experience to understand the realities and complexities of research in children's social care:
Danielle Mason (Director of Education, Royal Society of Arts)
Kelsey Beninger (Associate Director, Kantar Public)
Nick Axford (PenCLAHRC Associate Professor, University of Plymouth; Senior Associate, Dartington Service Design Lab)
Paul Montgomery (Professor Social Intervention, University of Birmingham; Affiliate Professor, University of Malta)
Riikka Hofmann (Lecturer in Education, University of Cambridge)
Stephen Morris (Professor of Evaluation & Deputy Director Centre for Research in the Applied Social Sciences, Manchester Metropolitan University)
Triin Edovald (Head of International Programmes, Education Endowment Foundation; Principal Researcher, Innovation Growth Lab, Nesta)
The EAG will offer independent expert advice and reflections on the Centre's current and prospective evaluations, methodologies and procedures, and help develop the Centre's evaluation guidance.
As a first order of business, a number of the members of the EAG have provided their expert recommendations regarding the selection of organisations to join the Panel of Evaluators, which we are also delighted to be able to announce below.
Panel of Evaluators
The Panel of Evaluators consists of organisations with a proven track record of delivering high-quality evaluations. We are proud to announce that the following esteemed organisations have just been appointed to our Panel:
Anna Freud National Centre for Children and Families
CASCADE, Cardiff University
Centre for Evidence and Implementation
Community and Primary Care Research Group, University of Plymouth
Health and Social Care Workforce Unit (HSCWRU), King's College London
Institute of Applied Social Research, University of Bedfordshire
Institute of Employment Studies
NatCen
National Institute for Economic and Social Research (NIESR)
Nottingham Centre for Children, Young People and Families
Policy Evaluation Research Unit at Manchester Metropolitan University
Rees Centre, University of Oxford
The Right To Know (The RTK)
Panel members will be invited to apply to conduct independent evaluations of promising projects funded by the Centre, or which have been identified in partnership with other organisations.
We are very much looking forward to collaborating with members of each of these groups and we will be announcing our first project very soon!
Sign up to keep updated
Get news about the Centre's development, blogs, jobs, events and how to get involved.
wwccsc@nesta.org.uk
© Nesta, 2018
Reading referrals and forecasting the future - in his blog @david82wilkins of @CASCADEresearch reflects on our new study on social worker forecasting and what it could mean for research and practicehttps://t.co/VlBxlZcdcK
— What Works CSC (@whatworksCSC) January 17, 2020


Its not my first time to pay a quick visit this site, i am browsing this site dailly and get good facts from here every day.
Thanks for your personal marvelous posting! I definitely enjoyed reading it, you happen to be a great author. I will be sure to bookmark your blog and will often come back in the foreseeable future. I want to encourage you to definitely continue your great work, have a nice day!
This is the right web site for everyone who wishes to find out about this topic. You realize so much its almost tough to argue with you (not that I actually will need to_HaHa). You certainly put a new spin on a subject that has been discussed for ages. Excellent stuff, just great!


Bush Flying – A Pilots Dream Or Dangerous Nightmare? | Above and Beyond…..
Bush Flying – A Pilots Dream Or Dangerous Nightmare?
This year has been marred by many tragic plane and helicopter crashes in remoter areas of Canada, the most notable being First Air's 737 in Resolute which killed twelve and injured three, and Arctic Sunwest's Twin Otter Float-plane that crashed in the centre of Yellowknife killing its crew of two and injuring seven passengers.
These are just two of several fatal accidents that reached national headlines but of course there have been others, some less serious, including my own, which occurred as I was flying workers and supplies into a remote mining strip. Although my passengers and I were badly shaken, there were no serious injuries and we were all able to walk away from the crumpled and partially submerged wreck of the small, fixed-wing plane. It was a humbling and life changing experience.
Later, my employer calmly told me that my accident was actually "the fourteenth wreck at that particular airstrip." He knew exactly what conflicting emotions I was feeling, but "stuff happens" and like many well seasoned bush pilots (and I consider him one of the very best) he had "been there – done that." Given the fact that this rather nasty airstrip is currently in the epicentre of a rather frantic new gold rush, it may be only a matter of time before wreck number fifteen occurs and its victims may not be as lucky.
What drives pilots to work in such dangerous environments? In the bush plane world it is definitely not the high salary since this type of flying often pays no more than an average blue-collar trade in Canada (although helicopter pilots usually fare better).
In the very long days of the very short northern summer, pilots can find themselves on duty for 14 hours a day, often in far less than ideal conditions. Much of a pilot's time is not spent in the air – they are usually loading and unloading aircraft, cleaning and refuelling them and at the end of the day they will spend what can be several hours completing what seems like volumes of mandatory paperwork. Fitting in a healthy meal and getting 8 hours sleep are real challenges.
Yet, there are career bush pilots who thrive in these conditions. They find the challenges, the risk management, the camaraderie and self-sufficiency are exciting and enjoyable. These people are the true professionals and the backbone of the industry, but even so, few of them are immune to lapses in judgement when subjected to strong commercial pressures. They are only human after all.
Young, aspiring airline pilots are often lured into the bush with memories of heroic bush pilot adventures they have read and the promise of those invaluable flying hours they will need to land a job in the more lucrative and safer right seat of a 737. They find themselves on a very steep learning curve requiring close mentorship and many leave to fly more complex aircraft as soon as the opportunity arises. I know that, when I fly as a commercial passenger, I would much rather be sitting in that 737 knowing that the pilot at the controls had served his time in the bush, rather than someone straight out of aviation college.
I enjoy working in the bush. It allows me to experience parts of the world others seldom see. Wilderness flying is pure adventure and I do it because I love it. The fact that, in the course of this work I also meet some wonderful, interesting people, is a bonus.
Unfortunately, there are operational realities that make this one of the most hazardous occupations in North America. To start with, bush strips are often miles from the nearest road. It takes little more than a chain saw and a bulldozer and then you are open for business. There is no safety net of air-traffic controllers or emergency vehicles with crews waiting to roar down the runway and cover crashed air planes with fire suppressing foam. Often, in the mad rush to stake claims and mobilise crews, these small airstrips gradually become surrounded by oceans of fuel drums, supplies and make-shift camps, as well as the usual inquisitive and unwelcome wildlife – all creating serious hazards to arriving and departing aircraft.
Weather is frequently a factor in accidents. In Northern Canada, weather reporting facilities are scarce and, in truth, many experienced pilots quite rightly pay less attention to forecasts and rely more on personal observations and interpretations.
As long as we continue to extract resources from remote areas, bush pilots will be needed. Wilderness flying will never be as safe as scheduled air transportation. Most people willing to go into the bush, whether as pilot or passenger, know that it is an adventure and as such has risks and benefits. Everyone involved should be well aware of those risks and weigh them carefully.
Bush operations could, and should, be made safer. Satellite tracking technology – which effectively narrows a search for a missing aircraft down to a small area – is now affordable even for small charter companies and it seems just common sense that aircraft operating in remote areas should be fitted with these devices. Perhaps it's time to make them mandatory. Canadian pilots are allowed to work much longer hours than pilots in the US or Europe and fatigue undoubtedly contributes to some accidents. So why do we allow such long hours? Why are dangerous environmental conditions allowed to develop at busy bush airstrips?
Flight safety is a collective responsibility with the pilot at the "sharp end." Only when all stakeholders – pilots, operators, clients, passengers and regulators stop to consider why we do things the way we do and start tackling some of the issues will these risks diminish.
So remember, the next time you hear the term "pilot error" quoted as the "cause" of an aviation accident, be aware that the pilot was probably just the final link in a very long and over-stretched chain of decisions, over-expectations, necessities and under-regulated work environments.
Barrels and parked aircraft line the edge of this busy mountain strip, creating a serious hazard.
This entry was posted in Aviation, Flight Safety and tagged air charter, air crashes, air taxi, air transport, Arctic, aviation, bush flying, flight charter, flight safety, gold mining, gold rush, human factors, mountain flying, Northern Canada, pilot error, plane crashes, safety, Yukon by David Skelhon. Bookmark the permalink.
David, I enjoyed this post very much. Seems as if things haven't changed much since my dad, Don McVicar, flew all types of aircraft in all types of conditions, all across the northerly reaches of Canada, beginning in the late 1930s. In 1941, as a civilian pilot in the RAF Ferry Command, he flew a Norseman up into Baffinland and across to Greenland, trying out the brand-new airbases. In the 1950s, his World-Wide Airways helped build the DEWLine.
That sure is unforgiving territory, and you are right about the need for using satellite technology to make things a bit safer for the pilots and everyone else. When Dad flew up there, only the coastlines were marked on the maps! Only blank white space inland.
You write well. Please keep writing and I'll keep reading!
Thank you Donna. My brief encounter with arctic aviation leaves me in awe of the pioneers like your father. No GPS, uncharted territory, no weather forecasts and primitive equipment – yet somehow they opened up a frontier!


Italian distributor Digiland is increasing its stock of PMC monitors to offer customers an improved demo experience and faster delivery times.
The Padua-based company is the official Italian distributor for manufacturers including Empirical Labs, Chandler Limited, BURL, Grace Design and Slate Media Technology. It has been a PMC distributor since 2001.
In recent months, Digiland has appointed Massimo Biasibetti as managing director and is supported by technical director Roberto Spolao (pictured left and right).
Biasibetti says that Digiland is expanding rapidly thanks to a decision to invest in more marketing. "We are launching a new website and increasing all of our marketing and sales activities," he explains. "In the short term our focus is on awareness and making sure our brands are available to our usual pro customers and to professional project studio owners who understand the benefits offered by high-end products. PMC is, of course, a cornerstone in this context.
Digiland's demo facilities are currently equipped with a range of PMC products, including IB1SA Mk III, TwoTwo.8, TwoTwo.6, TwoTwo.5 and TwoTwo Sub2 monitors.
New community centre is a mini La Scala thanks to Yamaha sound system.


text:
You are here: Home > Military Science Fiction
Star Trek Universe Star Wars Universe Avatar Universe
Alien and Predator Ship Collection Battlestar Galactica Universe The Orville Series
Diecast Military Science Fiction
Military science fiction is a sub genre of science fiction where interstellar or interplanetary conflict and its armed solution (war) make up the main or partial backdrop of the story. Such war is usually shown from the point of view of a soldier. In general, a detailed depiction of conflict forms the basis of most works of military science fiction. The main characters are often part of the military chain of command.
Frequently, the conflict is assumed to be inevitable (humans vs. aliens, democracies vs. dictatorships, aliens vs. aliens, etc.), and the military approach is not questioned. However, in a significant number of such works, the problem of ending an intractable conflict is dealt with, and in such works the conflict is often shown to have been pointless originally. Examples include David Drake's Counting the Cost, Joe Haldeman's The Forever War and Alan Moore's The Ballad of Halo Jones. Traditional military values (discipline, courage, etc.) are usually stressed, and the action is often described from the point of view of either a soldier or officer. Technology is generally advanced and often described in detail; however, in some stories technology is fairly static, in some cases using weapons that would be familiar to present-day soldiers, and wars are not primarily won by R&D or even logistics, but by willpower and military virtues. In other stories technological changes are central to plot development.
Another common characteristic is the use of actual historical battles or conflicts as more or less direct models for fictional situations. A few such events have been re-used often enough to become cliched, such as the battle of Rorke's Drift or the Nika riots. Often starships are classified as in the Washington Naval Treaty of 1922: heavy and light cruisers, etc.
Thus, while the original Star Wars movies have an armed conflict as backdrop, they would not usually be considered military SF. Most Star Trek series are not part of this genre, though Deep Space Nine borrows some of the genre conventions in later seasons. Similarly, Babylon 5 is a borderline case. Space: Above and Beyond is clear military SF, but the Lensman cycle by E.E. Doc Smith is not considered so, being instead seen as Space Opera.
Perhaps the first works of modern military SF were H. Beam Piper's Uller Uprising (1952) (based on the events of the Sepoy Mutiny) and the same author's Lord Kalvan of Otherwhen (1965). Robert A. Heinlein's Starship Troopers (1959) is another pivotal early work of military SF, and mostly responsible for spreading this sub-genre's popularity to young readers of the time.
The start of military SF as a recognized sub-genre might be placed at the publication of Combat SF in 1975. This anthology includes one of the first Hammer's Slammers stories by David Drake as well as one of the BOLO stories by Keith Laumer, and one of the Berserker stories by Fred Saberhagen. This anthology seems to have been the first time SF-stories specifically dealing with war as a subject were collected and marketed as such. Shortly afterwards, the book publication of Jerry Pournelle's The Mercenary (1977, first section published in Analog Science Fiction in 1972) and of Drake's "Slammers" series (1979) established the sub-genre as an active marketing category.
The series of anthologies under the group title There Will be War edited by Pournelle and John F. Carr (nine volumes from 1983 through 1990) helped keep the category active, and encouraged new writers to enter it.
While military science fiction, like science fiction in general, is primarily for entertainment purposes, a number of authors have presented stories with political messages of varying types as major or minor themes of their works.
A growing tendency in some quarters of military SF is to portray democratic government with a certain level of contempt, as bloated, inefficient or even openly antagonistic to its military protectors (who as the protagonists are typically portrayed as good and noble in this type of story) and liberals as out-of-touch ivory tower academics and idealists who must invariably be protected from themselves. Some works in the genre openly admit they have been written to transport certain present-world political messages. For example, Tom Kratman's and John Ringo's "Watch on the Rhine", infamous for its plot where rejuvenated Waffen-SS personnel are used to defend Germany against an alien invasion, includes an epilogue explaining that this serves as a metaphor for the "ruthlessness" that, according to the authors, must be brought out in today's Western civilization to successfully win an ongoing global conflict.
Military SF has also been and continues to be written from liberal viewpoints and works like Joe Haldeman's The Forever War, which indirectly criticizes the military, are not unknown.
David Drake, not in any way an anti-military author, has often written of the horrors and futility of war. He has said, in the afterwords of several of his "Slammers" books, that one of his reasons for writing is to educate those people who have not experienced war, but who might have to make the decision to start or support a war (as policy makers or as voters) about what war is really like, and what the powers and limits of the military as a tool of policy are.
In more recent books, David Weber's Honor Harrington series, while previously featuring righteous heroes triumphing over despicable villains, now centers on an unnecessary war between two groups of positive characters.
While much military SF is purely entertainment, and caters to a similar audience as historical and modern military novels, some authors manage to work within the genre conventions while posing interesting new questions. An example is Orson Scott Card's Ender's Game, where children are trained from a young age to fight for humanity. (courtesy: Wikipedia)


Building upon her insatiable childhood curiosity of the outdoors, and carrying that forward through achieving a BA in Recreation and Leisure Studies from the University of Alberta, Darcie-Lyn spends life immersed in the natural world as a Nature Lover, Program Coordinator, Addictions Support Worker, Consultant, Outdoor Education Instructor, Corporate Event Co-Facilitator, & Mountain Wanderer.
During shoulder seasons, it's ideal for her to travel and share her enthusiasm for people, adventure, and curiosity of culture, space, and time . . . especially mountain, ancient, and indigenous cultures. During her time outside within different landscapes and cultures she lovingly explores the worlds of Self, Awareness, Spirituality, and Connection with others and the Earth through physical activity, adventure, the unknown, ceremony, mediation, growing & harvesting food, and whatever else grabs her attention . . .
If she had to pick a 'top three' in the outdoor adventure world, they would be mountain biking, back-country skiing, and rock climbing.
Darcie-Lyn is originally connected with some of the Essential Life Crew from her hometown of Spruce Grove as well as through living, working, and volunteering at the Centre for Outdoor Education since 2001. A strong foundation upon which to build!
In her words, "I am really excited about the Essential Life Series and the opportunity to Co-Create with so many inspiring people in an absolutely beautiful natural environment! I am so looking forward to sharing my knowledge and experience, as well as sharing skills and tools others have gathered. We have explored this type of programming through the years; it's a great compliment to the existing outdoor adventure programming & qualified 'technical' mountain staff, as well as a natural progression and development of Community. Nordegg is truly a magical place. It's also been great confirmation we are on the right track, as existing clientele and our individual networks have been asking us about this type of programming as well. The reception we are receiving is super encouraging!
We aren't proclaiming to have all the answers, however, we are consciously choosing to Co-Create a Community, while being aware of living as harmoniously as possible within our natural environment of a beautiful Rocky Mountain refuge, where we can safely explore all the options. It's exciting and empowering!
Looking forward to having you out to explore and experience it your way as well!"


text:
<?php

use Behat\Behat\Context\Context;
use Behat\Behat\Hook\Scope\BeforeScenarioScope;
use Behat\Gherkin\Node\TableNode;
use PHPUnit\Framework\Assert;

require_once 'bootstrap.php';

/**
 * Occ context for test steps that test occ commands
 */
class OccAppManagementContext implements Context {

	/**
	 *
	 * @var FeatureContext
	 */
	private $featureContext;

	/**
	 *
	 * @var OccContext
	 */
	private $occContext;

	/**
	 * @When the administrator disables app :appName using the occ command
	 *
	 * @param string $appName
	 *
	 * @return void
	 */
	public function theAdministratorDisablesAppUsingTheOccCommand($appName) {
		$this->occContext->invokingTheCommand(
			"app:disable $appName"
		);
	}

	/**
	 * @When the administrator enables app :appName using the occ command
	 *
	 * @param string $appName
	 *
	 * @return void
	 */
	public function theAdministratorEnablesAppUsingTheOccCommand($appName) {
		$this->occContext->invokingTheCommand(
			"app:enable $appName"
		);
	}

	/**
	 * @When the administrator gets the app info of app :appName
	 *
	 * @param string $appName
	 *
	 * @return void
	 */
	public function administratorGetsTheAppInfoOfApp($appName) {
		$this->occContext->invokingTheCommand(
			"config:list $appName"
		);
	}

	/**
	 * @When the administrator gets the list of apps using the occ command
	 *
	 * @return void
	 */
	public function theAdministratorGetsTheListOfAppsUsingTheOccCommand() {
		$this->occContext->invokingTheCommand(
			"config:list"
		);
	}

	/**
	 * @When the administrator checks the location of the :appName app using the occ command
	 *
	 * @param string $appName
	 *
	 * @return void
	 */
	public function theAdministratorChecksTheLocationOfTheAppUsingTheOccCommand($appName) {
		$this->occContext->invokingTheCommand(
			"app:getpath $appName"
		);
	}

	/**
	 * @Then the app name returned by the occ command should be :appName
	 *
	 * @param string $appName
	 *
	 * @return void
	 */
	public function theAppNameReturnedByTheOccCommandShouldBe($appName) {
		$lastOutput = $this->featureContext->getStdOutOfOccCommand();
		$lastOutputArray = \json_decode($lastOutput, true);
		Assert::assertEquals(
			$appName,
			\key($lastOutputArray['apps']),
			"The app name expected to be returned by the occ command is {$appName} but got "
			. \key($lastOutputArray['apps'])
		);
	}

	/**
	 * @Then the path returned by the occ command should be inside one of the apps paths in the config for the :appName app
	 *
	 * @param string $appName
	 *
	 * @return void
	 * @throws \Exception
	 */
	public function thePathReturnedByTheOccCommandShouldBeInsideOneOfTheAppsPathInTheConfig($appName) {
		$appPath = $this->featureContext->getStdOutOfOccCommand();

		$this->occContext->invokingTheCommand("config:list");
		$lastOutput = $this->featureContext->getStdOutOfOccCommand();
		$configOutputArray = \json_decode($lastOutput, true);

		// Default apps location is '${INSTALLED_LOCATION}/apps/${appName}
		if (\substr_compare($appPath, '/apps/${appName}', 0)) {
			return;
		}

		// We can also set it in the `apps_paths` in the `config`
		if (isset($configOutputArray['system']['apps_paths'])) {
			$appPaths = $configOutputArray['system']['apps_paths'];

			foreach ($appPaths as $path) {
				if (\substr_compare($appPath, $path['path'], 0)) {
					return;
				}
			}
		}

		// if it's neither in the default location, nor in `apps_paths`, where it could be?
		throw new Exception(__METHOD__ . " App path $appPath was not found in the config.");
	}

	/**
	 * @Then the app enabled status of app :appName should be :appStatus
	 *
	 * @param string $appName
	 * @param string $appStatus
	 *
	 * @return void
	 */
	public function theAppEnabledStatusShouldBe($appName, $appStatus) {
		$lastOutput = $this->featureContext->getStdOutOfOccCommand();
		$lastOutputArray = \json_decode($lastOutput, true);
		$actualAppEnabledStatus = $lastOutputArray['apps'][$appName]['enabled'];
		Assert::assertEquals(
			$appStatus,
			$actualAppEnabledStatus,
			"The app enabled status of app {$appName} was expected to be {$appStatus}, but the actual status is {$actualAppEnabledStatus}"
		);
	}

	/**
	 * @Then the apps returned by the occ command should include
	 *
	 * @param TableNode $appListTable table with apps name with no header
	 *
	 * @return void
	 */
	public function theAppsReturnedByTheOccCommandShouldInclude(TableNode $appListTable) {
		$this->featureContext->verifyTableNodeColumnsCount($appListTable, 1);
		$lastOutput = $this->featureContext->getStdOutOfOccCommand();
		$lastOutputApps = \array_keys(\json_decode($lastOutput, true)['apps']);

		$apps = $appListTable->getRows();
		$appsSimplified = $this->featureContext->simplifyArray($apps);

		foreach ($appsSimplified as $app) {
			Assert::assertContains(
				$app,
				$lastOutputApps,
				"The apps: '"
				. \implode(', ', $lastOutputApps)
				. "' returned by the occ command were expected to include '$app', but does not"
			);
		}
	}

	/**
	 * This will run before EVERY scenario.
	 * It will set the properties for this object.
	 *
	 * @BeforeScenario
	 *
	 * @param BeforeScenarioScope $scope
	 *
	 * @return void
	 */
	public function before(BeforeScenarioScope $scope) {
		// Get the environment
		$environment = $scope->getEnvironment();
		// Get all the contexts you need in this context
		$this->featureContext = $environment->getContext('FeatureContext');
		$this->occContext = $environment->getContext('OccContext');
	}
}

redpajama_set_name: RedPajamaGithub


text:
#pragma once

#include <pcl/pcl_macros.h>
#include <pcl/point_cloud.h>

#include <vector>
#include <limits>
#include <cassert>

namespace pcl
{
  namespace io
  {

    template<typename PointT> struct CompressionPointTraits
    {
        static const bool hasColor = false;
        static const unsigned int channels = 1;
        static const size_t bytesPerPoint = 3 * sizeof(float);
    };

    template<>
    struct CompressionPointTraits<PointXYZRGB>
    {
        static const bool hasColor = true;
        static const unsigned int channels = 4;
        static const size_t bytesPerPoint = 3 * sizeof(float) + 3 * sizeof(uint8_t);
    };

    template<>
    struct CompressionPointTraits<PointXYZRGBA>
    {
        static const bool hasColor = true;
        static const unsigned int channels = 4;
        static const size_t bytesPerPoint = 3 * sizeof(float) + 3 * sizeof(uint8_t);
    };

    //////////////////////////////////////////////////////////////////////////////////////////////
    template <typename PointT, bool enableColor = CompressionPointTraits<PointT>::hasColor >
    struct OrganizedConversion;

    //////////////////////////////////////////////////////////////////////////////////////////////
    // Uncolored point cloud specialization
    //////////////////////////////////////////////////////////////////////////////////////////////
    template<typename PointT>
    struct OrganizedConversion<PointT, false>
    {
      /** \brief Convert point cloud to disparity image
        * \param[in] cloud_arg input point cloud
        * \param[in] focalLength_arg focal length
        * \param[in] disparityShift_arg disparity shift
        * \param[in] disparityScale_arg disparity scaling
        * \param[out] disparityData_arg output disparity image
        * \ingroup io
        */
      static void convert(const pcl::PointCloud<PointT>& cloud_arg,
                          float focalLength_arg,
                          float disparityShift_arg,
                          float disparityScale_arg,
                          bool ,
                          typename std::vector<uint16_t>& disparityData_arg,
                          typename std::vector<uint8_t>&)
      {
        size_t cloud_size = cloud_arg.points.size ();

        // Clear image data
        disparityData_arg.clear ();

        disparityData_arg.reserve (cloud_size);

        for (size_t i = 0; i < cloud_size; ++i)
        {
          // Get point from cloud
          const PointT& point = cloud_arg.points[i];

          if (pcl::isFinite (point))
          {
            // Inverse depth quantization
            uint16_t disparity = static_cast<uint16_t> ( focalLength_arg / (disparityScale_arg * point.z) + disparityShift_arg / disparityScale_arg);
            disparityData_arg.push_back (disparity);
          }
          else
          {
            // Non-valid points are encoded with zeros
            disparityData_arg.push_back (0);
          }
        }
      }

      /** \brief Convert disparity image to point cloud
        * \param[in] disparityData_arg input depth image
        * \param[in] width_arg width of disparity image
        * \param[in] height_arg height of disparity image
        * \param[in] focalLength_arg focal length
        * \param[in] disparityShift_arg disparity shift
        * \param[in] disparityScale_arg disparity scaling
        * \param[out] cloud_arg output point cloud
        * \ingroup io
        */
      static void convert(typename std::vector<uint16_t>& disparityData_arg,
                          typename std::vector<uint8_t>&,
                          bool,
                          size_t width_arg,
                          size_t height_arg,
                          float focalLength_arg,
                          float disparityShift_arg,
                          float disparityScale_arg,
                          pcl::PointCloud<PointT>& cloud_arg)
      {
        size_t cloud_size = width_arg * height_arg;

        assert(disparityData_arg.size()==cloud_size);

        // Reset point cloud
        cloud_arg.points.clear ();
        cloud_arg.points.reserve (cloud_size);

        // Define point cloud parameters
        cloud_arg.width = static_cast<uint32_t> (width_arg);
        cloud_arg.height = static_cast<uint32_t> (height_arg);
        cloud_arg.is_dense = false;

        // Calculate center of disparity image
        int centerX = static_cast<int> (width_arg / 2);
        int centerY = static_cast<int> (height_arg / 2);

        const float fl_const = 1.0f / focalLength_arg;
        static const float bad_point = std::numeric_limits<float>::quiet_NaN ();

        size_t i = 0;
        for (int y = -centerY; y < centerY; ++y )
          for (int x = -centerX; x < centerX; ++x )
          {
            PointT newPoint;
            const uint16_t& pixel_disparity = disparityData_arg[i];
            ++i;

            if (pixel_disparity)
            {
              // Inverse depth decoding
              float depth = focalLength_arg / (static_cast<float> (pixel_disparity) * disparityScale_arg + disparityShift_arg);

              // Generate new points
              newPoint.x = static_cast<float> (x) * depth * fl_const;
              newPoint.y = static_cast<float> (y) * depth * fl_const;
              newPoint.z = depth;

            }
            else
            {
              // Generate bad point
              newPoint.x = newPoint.y = newPoint.z = bad_point;
            }

            cloud_arg.points.push_back (newPoint);
          }

      }

      /** \brief Convert disparity image to point cloud
        * \param[in] depthData_arg input depth image
        * \param[in] width_arg width of disparity image
        * \param[in] height_arg height of disparity image
        * \param[in] focalLength_arg focal length
        * \param[out] cloud_arg output point cloud
        * \ingroup io
        */
      static void convert(typename std::vector<float>& depthData_arg,
                          typename std::vector<uint8_t>&,
                          bool,
                          size_t width_arg,
                          size_t height_arg,
                          float focalLength_arg,
                          pcl::PointCloud<PointT>& cloud_arg)
      {
        size_t cloud_size = width_arg * height_arg;

        assert(depthData_arg.size()==cloud_size);

        // Reset point cloud
        cloud_arg.points.clear ();
        cloud_arg.points.reserve (cloud_size);

        // Define point cloud parameters
        cloud_arg.width = static_cast<uint32_t> (width_arg);
        cloud_arg.height = static_cast<uint32_t> (height_arg);
        cloud_arg.is_dense = false;

        // Calculate center of disparity image
        int centerX = static_cast<int> (width_arg / 2);
        int centerY = static_cast<int> (height_arg / 2);

        const float fl_const = 1.0f / focalLength_arg;
        static const float bad_point = std::numeric_limits<float>::quiet_NaN ();

        size_t i = 0;
        for (int y = -centerY; y < centerY; ++y )
          for (int x = -centerX; x < centerX; ++x )
          {
            PointT newPoint;
            const float& pixel_depth = depthData_arg[i];
            ++i;

            if (pixel_depth)
            {
              // Inverse depth decoding
              float depth = focalLength_arg / pixel_depth;

              // Generate new points
              newPoint.x = static_cast<float> (x) * depth * fl_const;
              newPoint.y = static_cast<float> (y) * depth * fl_const;
              newPoint.z = depth;

            }
            else
            {
              // Generate bad point
              newPoint.x = newPoint.y = newPoint.z = bad_point;
            }

            cloud_arg.points.push_back (newPoint);
          }

      }

    };

    //////////////////////////////////////////////////////////////////////////////////////////////
    // Colored point cloud specialization
    //////////////////////////////////////////////////////////////////////////////////////////////
    template <typename PointT>
    struct OrganizedConversion<PointT, true>
    {
      /** \brief Convert point cloud to disparity image and rgb image
        * \param[in] cloud_arg input point cloud
        * \param[in] focalLength_arg focal length
        * \param[in] disparityShift_arg disparity shift
        * \param[in] disparityScale_arg disparity scaling
        * \param[in] convertToMono convert color to mono/grayscale
        * \param[out] disparityData_arg output disparity image
        * \param[out] rgbData_arg output rgb image
        * \ingroup io
        */
      static void convert(const pcl::PointCloud<PointT>& cloud_arg,
                          float focalLength_arg,
                          float disparityShift_arg,
                          float disparityScale_arg,
                          bool convertToMono,
                          typename std::vector<uint16_t>& disparityData_arg,
                          typename std::vector<uint8_t>& rgbData_arg)
      {
        size_t cloud_size = cloud_arg.points.size ();

        // Reset output vectors
        disparityData_arg.clear ();
        rgbData_arg.clear ();

        // Allocate memory
        disparityData_arg.reserve (cloud_size);
        if (convertToMono)
        {
          rgbData_arg.reserve (cloud_size);
        } else
        {
          rgbData_arg.reserve (cloud_size * 3);
        }

        for (size_t i = 0; i < cloud_size; ++i)
        {
          const PointT& point = cloud_arg.points[i];

          if (pcl::isFinite (point))
          {
            if (convertToMono)
            {
              // Encode point color
              uint8_t grayvalue = static_cast<uint8_t>(0.2989 * point.r
                                                        + 0.5870 * point.g
                                                        + 0.1140 * point.b);

              rgbData_arg.push_back (grayvalue);
            } else
            {
              // Encode point color
              rgbData_arg.push_back (point.r);
              rgbData_arg.push_back (point.g);
              rgbData_arg.push_back (point.b);
            }

            // Inverse depth quantization
            uint16_t disparity = static_cast<uint16_t> (focalLength_arg / (disparityScale_arg * point.z) + disparityShift_arg / disparityScale_arg);

            // Encode disparity
            disparityData_arg.push_back (disparity);
          }
          else
          {

            // Encode black point
            if (convertToMono)
            {
              rgbData_arg.push_back (0);
            } else
            {
              rgbData_arg.push_back (0);
              rgbData_arg.push_back (0);
              rgbData_arg.push_back (0);
            }

            // Encode bad point
            disparityData_arg.push_back (0);
          }
        }

      }

      /** \brief Convert disparity image to point cloud
        * \param[in] disparityData_arg output disparity image
        * \param[in] rgbData_arg output rgb image
        * \param[in] monoImage_arg input image is a single-channel mono image
        * \param[in] width_arg width of disparity image
        * \param[in] height_arg height of disparity image
        * \param[in] focalLength_arg focal length
        * \param[in] disparityShift_arg disparity shift
        * \param[in] disparityScale_arg disparity scaling
        * \param[out] cloud_arg output point cloud
        * \ingroup io
        */
      static void convert(typename std::vector<uint16_t>& disparityData_arg,
                          typename std::vector<uint8_t>& rgbData_arg,
                          bool monoImage_arg,
                          size_t width_arg,
                          size_t height_arg,
                          float focalLength_arg,
                          float disparityShift_arg,
                          float disparityScale_arg,
                          pcl::PointCloud<PointT>& cloud_arg)
      {
        size_t cloud_size = width_arg*height_arg;
        bool hasColor = (!rgbData_arg.empty ());

        // Check size of input data
        assert (disparityData_arg.size()==cloud_size);
        if (hasColor)
        {
          if (monoImage_arg)
          {
            assert (rgbData_arg.size()==cloud_size);
          } else
          {
            assert (rgbData_arg.size()==cloud_size*3);
          }
        }

        // Reset point cloud
        cloud_arg.points.clear();
        cloud_arg.points.reserve(cloud_size);

        // Define point cloud parameters
        cloud_arg.width = static_cast<uint32_t>(width_arg);
        cloud_arg.height = static_cast<uint32_t>(height_arg);
        cloud_arg.is_dense = false;

        // Calculate center of disparity image
        int centerX = static_cast<int>(width_arg/2);
        int centerY = static_cast<int>(height_arg/2);

        const float fl_const = 1.0f/focalLength_arg;
        static const float bad_point = std::numeric_limits<float>::quiet_NaN ();

        size_t i = 0;
        for (int y = -centerY; y < centerY; ++y )
          for (int x = -centerX; x < centerX; ++x )
          {
            PointT newPoint;

            const uint16_t& pixel_disparity = disparityData_arg[i];

            if (pixel_disparity && (pixel_disparity!=0x7FF))
            {
              float depth = focalLength_arg / (static_cast<float> (pixel_disparity) * disparityScale_arg + disparityShift_arg);

              // Define point location
              newPoint.z = depth;
              newPoint.x = static_cast<float> (x) * depth * fl_const;
              newPoint.y = static_cast<float> (y) * depth * fl_const;

              if (hasColor)
              {
                if (monoImage_arg)
                {
                  // Define point color
                  newPoint.r = rgbData_arg[i];
                  newPoint.g = rgbData_arg[i];
                  newPoint.b = rgbData_arg[i];
                } else
                {
                  // Define point color
                  newPoint.r = rgbData_arg[i*3+0];
                  newPoint.g = rgbData_arg[i*3+1];
                  newPoint.b = rgbData_arg[i*3+2];
                }

              } else
              {
                // Set white point color
                newPoint.rgba = 0xffffffffu;
              }
            } else
            {
              // Define bad point
              newPoint.x = newPoint.y = newPoint.z = bad_point;
              newPoint.rgb = 0.0f;
            }

            // Add point to cloud
            cloud_arg.points.push_back(newPoint);
            // Increment point iterator
            ++i;
        }
      }

      /** \brief Convert disparity image to point cloud
        * \param[in] depthData_arg output disparity image
        * \param[in] rgbData_arg output rgb image
        * \param[in] monoImage_arg input image is a single-channel mono image
        * \param[in] width_arg width of disparity image
        * \param[in] height_arg height of disparity image
        * \param[in] focalLength_arg focal length
        * \param[out] cloud_arg output point cloud
        * \ingroup io
        */
      static void convert(typename std::vector<float>& depthData_arg,
                          typename std::vector<uint8_t>& rgbData_arg,
                          bool monoImage_arg,
                          size_t width_arg,
                          size_t height_arg,
                          float focalLength_arg,
                          pcl::PointCloud<PointT>& cloud_arg)
      {
        size_t cloud_size = width_arg*height_arg;
        bool hasColor = (!rgbData_arg.empty ());

        // Check size of input data
        assert (depthData_arg.size()==cloud_size);
        if (hasColor)
        {
          if (monoImage_arg)
          {
            assert (rgbData_arg.size()==cloud_size);
          } else
          {
            assert (rgbData_arg.size()==cloud_size*3);
          }
        }

        // Reset point cloud
        cloud_arg.points.clear();
        cloud_arg.points.reserve(cloud_size);

        // Define point cloud parameters
        cloud_arg.width = static_cast<uint32_t>(width_arg);
        cloud_arg.height = static_cast<uint32_t>(height_arg);
        cloud_arg.is_dense = false;

        // Calculate center of disparity image
        int centerX = static_cast<int>(width_arg/2);
        int centerY = static_cast<int>(height_arg/2);

        const float fl_const = 1.0f/focalLength_arg;
        static const float bad_point = std::numeric_limits<float>::quiet_NaN ();

        size_t i = 0;
        for (int y = -centerY; y < centerY; ++y )
          for (int x = -centerX; x < centerX; ++x )
          {
            PointT newPoint;

            const float& pixel_depth = depthData_arg[i];

            if (pixel_depth==pixel_depth)
            {
              float depth = focalLength_arg / pixel_depth;

              // Define point location
              newPoint.z = depth;
              newPoint.x = static_cast<float> (x) * depth * fl_const;
              newPoint.y = static_cast<float> (y) * depth * fl_const;

              if (hasColor)
              {
                if (monoImage_arg)
                {
                  // Define point color
                  newPoint.r = rgbData_arg[i];
                  newPoint.g = rgbData_arg[i];
                  newPoint.b = rgbData_arg[i];
                } else
                {
                  // Define point color
                  newPoint.r = rgbData_arg[i*3+0];
                  newPoint.g = rgbData_arg[i*3+1];
                  newPoint.b = rgbData_arg[i*3+2];
                }

              } else
              {
                // Set white point color
                newPoint.rgba = 0xffffffffu;
              }
            } else
            {
              // Define bad point
              newPoint.x = newPoint.y = newPoint.z = bad_point;
              newPoint.rgb = 0.0f;
            }

            // Add point to cloud
            cloud_arg.points.push_back(newPoint);
            // Increment point iterator
            ++i;
        }
      }
    };

  }
}


The Picture Word Inductive Model (PWIM) is my favorite, and central, instructional strategy for teaching Beginning English Language Learners.
The PWIM uses an inductive process (in which students seek patterns and use them to identify their broader meanings and significance), as opposed to a deductive process (where meanings or rules are given, and students have to then apply them). In the PWIM, an enlarged photo with white space around it (ideally laminated so it can be used again) is first placed in the classroom; students and the teacher together label objects in the picture; students categorize and add words to their categories; students use the words in sentences that are provided as clozes (fill-in-the-blank exercises), which are then categorized and combined into paragraphs; and, finally, a title is chosen.
For example, I might use the image titled Waiting For The Plane (see below) in a unit on transportation. I'd first call up to students to the board and ask them to identify what English words they know in response to my question, "What's in the picture?" I'd write the letters out for each word while asking students to say each letter out loud and then would add new word labels. We might learn "backpack, sign, light, window, bag, shoes, vent, tile, ceiling." In addition, we could talk about what the people are doing ("waiting") and where they are ("airport") and identify clues that would lead us to those words.
Students would then return to their sites and copy the words on to reproduced copies of the image. Then, on that day or the next, they would identify categories for the words (parts of a building, having the "i" vowel, etc.) and, using a dictionary, add several new words to each category.
A gray ___________ is just below the _________________.
Students would then categorize the sentences and add new ones to those categorize that would accurately describe the photo.
On the next day, students would turn sentences in each category into paragraphs. Depending on the English level of students, they could add topic sentences, introductions and conclusions.
Finally, the class would brainstorm potential titles for their essays.
The PWIM process can easily be used as the centerpiece for many classroom activities during the year. Each week, a different photo can be connected to an appropriate theme (food, sports, house, and so on), and the instructional process can be made increasingly sophisticated and challenging for students—for example, later the cloze sentences can have multiple blanks in each and not have words written below them for students to choose. The pictures themselves can be personalized. Local images and ones featuring students could be used. For example, in addition to using a house as the central photo for the class, each student can bring a picture of their own house that they can use for supplementary vocabulary instruction. Students can snap the photos with their cell phone for the teacher to print out, or, with advanced planning, an inexpensive disposable camera can be used by the entire class. Photos can also easily be found on the Web. The best pictures to use in this activity contain one scene with many different objects and generally include people.
Of course, some themes will take more than one week and/or will require more than one picture. A unit on food, for example, could include separate subunits on healthy eating, eating at a restaurant, shopping at a store, farm life (both as a grower and as a laborer), fruit, vegetables, meat, and dairy.
The PWIM is a literacy instructional strategy that was designed for early literacy instruction and has also been found to be exceptionally effective with both younger and older second-language learners. It was developed by Emily Calhoun, and some studies have found its use resulting in literacy gains of twice the average student, and as great as eight times the average gain for previously low-performing students. It takes advantage of student prior knowledge and visual clues and builds on the key strength of inductive learning—the brain's natural desire to seek out and remember patterns.
In addition, a related reinforcing lesson to the PWIM is having students create "Picture Data Sets" online. Using the categories they have chosen for that week's classroom picture, students can grab images off the Web or upload their own photos of items that fit into those same categories (for example, "words that begin with r,""vegetables," "transportation," etc.) . These photos can either illustrate words they have already identified in class or new ones, and then can label them with words or sentences. They could also mix-up their images, list the names of categories, and challenge other students to organize them correctly. There are several easy and free online tools that allow students to easily "mix and match" images for these kinds of activities and you can find a list of them here.
For other ideas on how to use the PWIM online, and for other ideas on how to use photos with English Language Learners, you might want to visit The Best Ways To Use Photos In Lessons.
Larry Ferlazzo teaches English and Social Studies at Luther Burbank High School in Sacramento, California. He has written six books on education, writes a teacher advice blog for Education Week Teacher, and has his own popular resource-sharing blog. He writes a weekly post for the New York Times on teaching English Language Learners. Portions of this post were adapted from the book, The ESL/ELL Teacher's Survival Guide, co-written by Katie Hull Sypnieski and Larry.


2 Story, 4 Bedroom, 3 1/2 Bath, 3 Car Garage, Study, Game Room, Media Room, Built in Tech Center, Formal Dining Room, Butler's Pantry, Granite Countertops in Kitchen and Baths, Stainless Steel Appliances, Island Kitchen, Wood Floors in Dining and Study, Tile Floors in Family Room, Fireplace, Wrought Iron Spindles, Upgraded Lighting and Plumbing Packages, 8' Doors on First Floor, Built in Utility Cabinets with Sink, Sod in Back Yard, Sprinkler System, Stone Accented Elevation, Large Covered Patio, Large Backyard, Garage Door Opener, Environments for Living Home, plus more...AVAILABLE MARCH.
Directions: From 1-45 North, travel East on S. Loop 336 (Exit 84) for 3/4 of a mile to Stewart's Forest Road and turn right. Then turn left on Duer Lane and right on Brookmont. Our sales office is at 402 Oak Stream Dr., located in the Woodhaven Forest community.


The first law of behavioural genetics is that all behavioural dimensions and disorders show significant and substantial genetic influence. The most exciting advance is that it is now possible to predict individual differences in behaviour from DNA alone. Prof. Plomin will describe this new approach, called polygenic scores, using examples from his recent research on cognitive and educational traits. Polygenic scores are a game-changer for behavioural research and are ripe for application.
Robert Plomin has been MRC Research Professor of Behavioural Genetics at the Institute of Psychiatry, Psychology and Neuroscience, King's College London since he moved to the UK from the US in 1994. For 40 years, his research in the US and the UK has consistently shown that genetics is the biggest factor by far in why people differ in learning abilities and disabilities and mental health and illness. The most exciting advance in the past few years is the ability to harness the power of the DNA revolution to predict these individual differences in behaviour from DNA alone.
Plomin has published more than 600 scientific papers and 10 books, including the major textbook in behavioural genetics, now in its 7th edition. He has received lifetime research achievement awards from six international scientific associations.
One of the most inspirational speakers and subjects that I have had the privilege to listen to.
Very impressive, and one of the most significant CSAR lectures in recent times.