text:
Garrigues Maurer: new crematorium for the Hörnli cemetery, Basel
Author: Architekturbüro Garrigues Maurer GmbH,
Photographer: Rasmus Norlander,
City: Basel,
Section: Churches & Cemeteries, Crematori,
The design by Bernhard Maurer and Frederic Garrigues won the competition for the new crematorium at the Hörnli cemetery, Basel. Rigorous geometry sculpted in concrete and with brick decoration fits appropriately into Switzerland's largest cemetery.
Architects Bernhard Maurer and Frederic Garrigues founded their studio after winning the competition for the new crematorium at the Hörnli cemetery, Basel, in 2012. They divide their time between Paris and Zurich and today they are working on a second winning design for a school in Romanshorm.
Designing a new building for the Hörnli cemetery in Basel means working on a monument that is known by the Swiss population, not only because it is the city's main cemetery, but also because it is the country's largest.
The general project for a central cemetery in Basel dates back to 1919, when it was approved by the Grand Council, the parliaments of the 26 Swiss Cantons. Built between 1926 and 1932 by the team of architects Bräuning, Burckhardt, Klingenfuss, Leu and Suter, it is on the outskirts of the city, at the foot of the mountain in the Riehen quarter and is home to around 40,000 graves, loculi and family tombs. It has 50 hectares, organised into a large park and gardens, designed so that the greenery recedes to make a little space for the loculi and not vice versa. As it is located on the Hörnli hill, it is also designed to offer a beautiful view of Basel and visitors can see the museum, which displays important funeral objects linked to Swiss culture.
The cemetery, created as a place of worship, reflection and silence, but also a microcosm combining artifice and nature, is a monument to the past, both that of man and of history, which he tries desperately to bring back to the present day by preserving it in a monument. Architects Bernhard Maurer and Frederic Garrigues were asked to design the new crematorium right in the centre of the cemetery, near the monumental staircase in the main avenue of the area. They took extreme care with their design and in the volumetric result of the whole.
Their design was based on the superior geometric order that guides the cemetery's Classicist design, offering an initially Rationalist interpretation of the relationship between life and death. The new crematorium is in the same style, becoming a further stage in the experience of passing away, which can be immediately recognised by people, shared by many religions and by all levels of society.
Along the main avenue, the building appears as an independent volume, but one that is in line with the existing mortuary. A large doorway gives access to a new inner courtyard, which is an intermediary space between the existing structures and the new ones. Beyond is an enclosed courtyard that provides an intimate, semi-public space open only to those taking part in the ceremony, which allows a slow approach to the final stage. The sequence of spaces ends in the cremation room, whose volume develops upwards, with a large window opening onto the sky. Apart, to one side is the bare, prismatic tower of the chimney.
The materials were chosen to create a strong contrast between the structure and the external covering of the building. The concrete structure gives stability, maps the boundaries and anchors the building to the ground. Brick was chosen to bring lightness and transparency and is used not as a wall or screen, but as a passageway, as a means of looking beyond.In fact there are many perforated bricks that offer a further perspective of nearby spaces, symbolising another dimension in which sorrow ends. Light and air contribute to this experience and enter and permeate the intermediary spaces in brick.
Mara Corradi
ARCHITECTS: Architekturbüro Garrigues Maurer GmbH, Zürich
COLLABORATORS: Bernhard Maurer, Frédéric Garrigues and Eleonora Bassi
CLIENT: Immobilien Basel Stadt
LOCATION: Hörnliallee 70, 4125 Riehen (Basel) – Switzerland
STRUCTURAL ENGINEER: Bollinger und Grohmann GmbH, Frankfurt am Main
LANDSCAPE ARCHITECT: August + Margrith Künzel Landschaftsarchitekten AG, Binningen
BUILDING SURFACE: 1800 mq
COMPETITION (YEAR): 2012
START of work: 2015
PHOTOGRAPHS: © Rasmus Norlander
bmea.ch
Trace Architecture Office: Tsingpu Tulou Retreat in Fujian, China
Serie Architects: Jameel Arts Centre in Dubai
Plan:b arquitectos: Hotel Click Clack in Medellín
Related Articles: Crematori
Zermani: cremation temple in Parma
Related Articles: Basel
Museum Jean Tinguely, Mario Botta
Related Articles: Churches & Cemeteries
Neri&Hu and Suzhou Chapel


Nearly 70 percent of Canadians own their own home. For the vast majority of those homeowners, their home is their largest single investment. That can be frustrating as people retire and see the value of their home increasing and their monthly income decreasing. One easy way to get access to some of that money in your house is with a reverse mortgage.
Just what is a reverse mortgage? You may have heard about this financial product. Maybe a friend or a friend of a friend has one. However, there's a lot of misinformation out in the world about these types of loans.
You may be wondering: what is a reverse mortgage? Simply put, a reverse mortgage is a financial product that allows Canadian homeowners age 55 and older, who either own their homes completely or who have a sizeable equity in their homes, to get up to 55 percent of that equity to use for things like medical expenses, home repairs, visits to see their grandkids or simply day-to-day living expenses. When you take out a reverse mortgage in Canada, you don't have to choose between staying in the home where you've created memories for decades and moving so you can live comfortably in your retirement.
The way a reverse mortgage works is that as long as you live in your home, you're not required to make any principal or interest payments to repay the amount of equity you've used. (Of course, you'll still be responsible for your property taxes, homeowners' insurance and maintaining the property in good standing.) The loan becomes due when you move or pass away. If you have heirs, they can pay the outstanding loans from their own funds, or use the funds from the sale of the property.
In order to qualify for a reverse mortgage, you or your spouse must be at least 55 years of age. (However, the older you are, the more money you are likely to qualify for.) The property also needs to be your primary residence, not a vacation home or a rental property. Some mobile homes may not not qualify for this type of loan – it is best to check with HomeEquity Bank, the only provider exclusively focused on reverse mortgages in Canada.
Reverse mortgages in Canada differ somewhat from similar products offered in the United States.
1. Reverse mortgages are a new product.
Reverse mortgages have been available in Canada for more than 25 years.
2. Many people are dissatisfied with their reverse mortgages.
According to a recent survey by HomeEquity Bank, 94 percent of reverse mortgage customers would recommend this type of loan to others.
3. Your children will lose the family home.
Your heirs have the opportunity to pay off your reverse mortgage after you pass away and keep the property. Plus, the program guarantees that they will never owe more than the fair market value of the home, should market conditions change.
4. You have to be "old" to get a reverse mortgage.
Reverse mortgages are available to Canadian homeowners age 55 and older. Of course, the older you are when you apply for the loan, the more money you are likely to qualify for.
5. You no longer will own your home.
You will continue to own your home after you receive funds from your reverse mortgage and you will remain on title until you pass away or move out of the house.
5. I'm guaranteed 55 percent of the equity in my home.
Unfortunately, this is not the case. The amount you receive from the reverse mortgage loan will depend on the market value of your home, the location and property type, and the age of the homeowners. The maximum you could receive is 55 percent of the equity in your home.
1. You have to stay current on property taxes and insurance.
Just as before, you are required to keep paying your taxes and insurance after you receive the money from your reverse mortgage loan.
2. There are no payments required.
As long as the homeowner(s) remain in the home, there are no payments required on either principal or interest of the loan.
3. You can stay in your home as long as you want.
No one is going to force you to move if you take out a reverse mortgage loan. That's true whether you take out the loan at age 55 or age 80.
So you see, most of the negative things that you may have heard about reverse mortgages in Canada are simply not true. Federal and government agencies do provide some income sources like Canadian Pension Plans, Old Age Security Pension Plans and other benefits to seniors. A reverse mortgage may not be the right solution for every senior homeowner, however, this financial product can help many older Canadians tap into the value they've accumulated in their homes and use those funds to boost their monthly income.


text:
Q: Create "BETWEEN/AND"-capable DATETIMEs from given DATETIME I want to create two DATETIME variables I can use to check with BETWEEN AND when given just one DATETIME in a stored procedure on SQL Server 2008.
So, when I get 2012/12/31 15:32:12 as input, I want to generate two new variables out of that, being @from = 2012/12/31 00:00:00 and @to = 2012/12/31 23:59:59.
These two variables are used to check if the records lie between them - that is, are on the same day as the input date.
I fooled around using CAST and CONVERT, but I don't really konw how to manipulate the dates in the way I want.
Should I do this another way? Or are there functions I'm not aware of?

A: Now it is version independedt
declare @from datetime, @to datetime

SET @from = convert(varchar, convert(datetime, '2012/12/31 15:32:12', 111), 112)
SET @to = DATEADD(day, 1, @from)

select * from yourtable where test date >= @from AND date < @to

A: You can;
declare @input datetime = '2012/12/31 15:32:12'
declare @from  datetime = dateadd(day, 0, datediff(day, 0, @input))
declare @to    datetime = dateadd(second, -1, dateadd(day, 1, @from))

>>>
2012-12-31 00:00:00.000 2012-12-31 23:59:59.000

A: Be careful of accuracy on your @to. 23:59:59.001 is a valid date but won't show up in your range if you subtract an entire second.
It is more common to set your @from and then use < @from + 1 instead of BETWEEN. (The plus adds whole days in SQL).

A: First convert your input date to a varchar using the appropriate date format(111 in this case), For the to date, append the midnight hour
Then cast your varchar back to datetime.
Example :
SELECT @from = CAST(CONVERT(VARCHAR(10), GETDATE(), 111) AS DATETIME)
      ,@to = CAST(CONVERT(VARCHAR(10), GETDATE(), 111)+' 23:59:59:997' AS DATETIME)

Here is a useful chart of datetime formats with brief explanations.
http://www.sql-server-helper.com/tips/date-formats.aspx

redpajama_set_name: RedPajamaStackExchange


text:
Latin Complete Programs
Classical Academic Press Latin Programs
Song School Latin (Gr. K-3)
Song School Latin Book 2
Song School Latin 2 Package
# SSLTN2
SSLTN2
Download a File
Song School Latin Book 2 with Song CD
Song School Latin Book 2 Teacher's Edition
Latin Monkey Match 2 Flashcard Game
Continuing on a path that matches the energy, developmental level, and fun-loving nature of younger students, Song School Latin Book 2 (Student Edition) completes the engaging introduction to Latin started in Song School Latin Book 1. Weekly lessons include songs, chants, new and review vocabulary, a light introduction to grammar, and derivatives, all without leaving behind fun illustrations, stories, games, and activities. Song School Latin Book 2 will more than prepare students for their journey on to Latin for Children Primer A. They will surely continue their love of learning Latin with Song School Latin Book 2!
Full program includes:
Song School Latin Book 2 (consumable student edition) This interactive workbook text, accompanied by a CD featuring 30 songs and chants, is filled with fun activities; 32 weekly lessons, including 7 review chapters; and 175 everyday vocabulary words, including 75 words and grammar topics from Latin for Children Primer A.
Song School Latin Book 2 Teacher's Edition This edition includes the entire Song School Latin Book 2 student book content, along with answers and additional teacher's notes. The latter portion of the book consists of extra activity pages for each chapter, including the review chapters.
Latin Monkey Match 2 Flashcard Game A fun supplement, the Latin Monkey Match 2 Flashcard Game features all the vocabulary from Song School Latin Book 2. In groups or individually, students can play Memory or Go Fish by collecting Latin and English matches. The cards can also be used as flashcards for extra practice. Each card lists the corresponding chapter number from Song School Latin Book 2.
Q: Can I purchase a second student edition without the CD for my other students/children? A: Unfortunately, no. Because we print such large quantities of the student edition with the CD included, we would actually have to charge more for a version without a CD if we did a small print run.
Category Description for Song School Latin (Gr. K-3):
If you expect a program with this name to be a gentle auditory introduction to Latin, you've nailed it! But be sure to note that this program is also well-constructed, easy-to-use, and FUN. After all, you have a monkey illustrating each chapter, familiar tunes introducing the vocabulary, understandable explanations (i.e. Latin nouns are grouped into five families, or declensions), and just the right amount of practice. What more could you ask for as a painless way to infuse some Latin into your young child's day? Each chapter is a week's worth of instruction. New vocabulary words are introduced and featured in a song. These songs are primarily English with appropriate words in Latin and are often set to familiar tunes. (i.e. If you're happy and you know it, touch your nose – na-res!) The words to each song are printed both in the student text and the teacher's book along with the specific CD track where the song is found. Actually, I should say "tracks" because each song and its Latin words are presented in two tracks – one with classical pronunciation and one with ecclesiastical. A two-page guide found in both the teacher and student books delineates the distinctions between the two pronunciations and concludes "ultimately the decision (about which to use) is not a significant one."
Each chapter has a short lesson (grammar) which includes an historical linguistic tidbit as well as a famous Latin saying the student is to memorize. Some chapters include a story which intersperses Latin words with the English. Then it's up to the student to Practice Your Latin (writing the words), Show What You Know (brief vocabulary identification), Grow Your English (English words with Latin roots), and Review Words (past vocabulary words). Often a cut-and-paste (or some other sort of hands-on activity) is included for reinforcement. Review chapters are included regularly. The Student Book is a worktext which includes the song CD. The Teacher's Edition is identical to the Student book (but no CD) with answers filled in and teacher's notes inserted as shaded boxes. While most moms/teachers will be able to figure out the correct answers, the notes and additional activities in the Teacher's book flesh out the course. DVDs for each course contain 24 ten-minute episodes – one for each lesson in the book covering new material. Each episode features vocabulary practice (ecclesiastical and classical pronunciations), grammar lessons, and coverage of derivatives. Each DVD also features a bilingual story featuring Simeon the monkey, providing another opportunity to use the vocabulary from the lesson. The CD is now available separately and includes the same tracks as those found on the CD in the Student Book. For those who aren't ready to commit to a Latin curriculum, the CD introduces cute and kid-friendly songs that can be learned by all. There are no printed words with the CD; those are included in the student and teacher books.
For extra vocabulary practice, consider the Latin Monkey Match Flashcard Game. This flashcard set contains over 100 Latin words (with the English translation appearing in small upside down type); use this set to play the suggested games, or simply use them as traditional flashcards. This program is designed as an introduction to Latin for Children but could be used as a stand-alone, get-acquainted-with-Latin experience. ~ Janice
Classical Academic Press
Browse 3 questions Browse 3 questions and 16 answers
It seemed the easiest way to start Latin which we are doing with CC. This seems to be most inline with how language is learned. I have viewed their DVD's. I wish there were a sing song way to do latin and incorporate fun videos (real life people not cartoons) of what they are talking about. It would seem more natural way of learning a language
Paula on Jul 6, 2020
We had fun with Song School Latin 1 and wanted to continue a fun latin curriculum.
Renee C on Jul 14, 2019
We loved SSL1 so it was a simple decision. My son (8) asked when we could get SSL2 unprompted.
Amanda P on Feb 16, 2017
We loved Song School Latin 1 and my children have been asking to do book 2 all summer!
User on Aug 1, 2016
Rachelle B on Mar 25, 2020
We enjoyed Level 1 and this set looks like we'll be getting into the meat of Latin!
Hilbert W on Oct 16, 2018
Song School Latin has been the most user/child friendly Latin program we have used. Each chapter lays out the new words clearly and draws the student in with fun practice exercises. There is a chapter review after every few chapters. There are additional practice sheets in the teacher's edition. The songs on the CD help put the vocabulary to memory, and the gentle, fun DVD reinforces each lesson. In both the CD and DVD the student can choose between the Classical or Ecclesiastical pronunciation.
Felice F on Jan 26, 2017
Becausewe just finished Song School Latin 1 and your Latin 2 was the most affordable.
Nancy T on Jan 27, 2016
Is the DVD included?
Melinda on Mar 18, 2022
BEST ANSWER: https://www.rainbowresource.com/product/SSL2DV/Song-School-Latin-2-Package-with-DVD.html?
Here is a link to the set with DVD.
Sara C. Staff on Mar 21, 2022
Unfortunately no, it doesn't.
Abigail R on Mar 18, 2022
Does it come with a cd like a level 1 ?
User on Jul 14, 2016
BEST ANSWER: This came with the music cd but you have to by the DVD separately. I learned this the hard way and had to order twice.
Nancy T on Jul 14, 2016
Yes, with both ecclesiastical & classical pronunciations.
Amanda N on Jul 14, 2016
Yes. All new songs on the CD with the student book.
April J on Jul 14, 2016
Yes. It comes with 3 DVDs and a CD of music.
Heather B on Jul 14, 2016
Robin W on Jul 14, 2016
My kids loved this!! Great, fun, easy into to Latin! Get the DVD because it makes life so much easier.
Kathryn G
I fully recommend this product! We loved SSL 1 so much, when he realized he was almost finished with book, my son asked if we were going to get the next book. I said yes and he was excited! Our whole family is learning Latin! And it's fun.
Amanda P
Hats off to Classical Academic Press
Another job well done. Song School 2 is an excellent continuation of the Latin beginnings our children were introduced to in book 1.
Felice F
Item # SSLTN2

redpajama_set_name: RedPajamaCommonCrawl


Ibiza's underground giants Circoloco are continuing to increase their global footprint on the scene, with a debut stint in Southeast Asia set for 19th January 2019. The internationally respected brand saw another successful season on the White Isle this year, curating the best artists electronic music has to offer.
Their upcoming partnership with Thailand's Baba Beach Club will bring the Mediterranean party to the sun-drenched shores of Phuket, with a signature circo lineup in control of the festival-style event.
Seth Troxler, Nic Fanciulli, Peggy Gou, Serge Devant, wAFF, Bas Ibellini and more make up the lineup for the day, which will run from 2pm – 2am on the beachfront location with a Funktion-One soundsystem powering the day's audio.


Teresa and Alan welcome you to their home "The Countryman" in 4 newly renovated guest rooms.
1 bed 140 x 200, shower and handbasin in the room; clothes storage; dressing table; armchair; independent private toilet on the landing.
2 single beds 90; wardrobe; chest of drawers; private shower room with WC and handbasin.
Off-road parking and private terrace.
Nearby: 4 km from the city of Rochechouart, one of the many castles and fortified towns conquered by Richard the Lion Heart to regain his kingdom of Aquitaine after his return from the Crusades, and just a short drive from Chalus, where he was mortally wounded.
Rochechouart's church with a twisted spire and the Departmental Museum of Contemporary Art in the castle; a. library and media centre which is located in the old station.
The hamlet of Videix with a beach at the lake is a 20-minute drive offering watersports with pedal boats, canoes and surfboards to rent. Horse Riding at Pressignac also 10 minutes from Babaudus. In Saint-Junien (20 minute drive), there is a cinema and indoor and outdoor pool. Going in the direction of Chabanais you will find a golf course and an open-air swimming pool in the town of Chabanais itself.
Several porcelain workshops between Rochechouart and Limoges, some with shops and guided tours.
Bonjour, Merci encore pour votre description et avis - ils sont publiés !


text:
Christ Mocked by Cimabue, painting found in northern France
Cimabue [Public domain]
Culture art
'Christ Mocked' painting sells for AU$39 million
After decades spent hanging above a kitchen stove
Kylie Beach | October 28th, 2019 03:23 PM	| Add a Comment
An artwork depicting Christ being mocked has fetched a huge €24m (AU $39 million) at auction over the weekend, after spending decades hanging over the hotplate in a French kitchen.
The painting is by pre-Renaissance artist Cimabue and dates to 1280. It narrowly escaped the local dump when its 90-year-old owner began clearing out her family home in Compiegne, northeast of Paris.
Thankfully, the elderly owner contacted an expert at an auctioneers in Senlis to assess whether any of the home's contents, furniture and furnishings could be sold.
"I had a week to give an expert view on the house contents and empty it," Philomène Wolf of Senlis told Le Parisien newspaper. "I had to make room in my schedule … if I didn't, then everything was due to go to the dump."
Ms Wolf says she knew it was a piece of rare quality as soon as she saw it.
"I immediately thought it was the work of a primitive Italian painter. But I did not imagine it was Cimabue!"
Christ Mocked by Cimabue, painting found in northern France Cimabue [Public domain]
The owner then sought an appraisal from auctioneers at Acteon who found the tiny work – measuring just 20 by 26cm – to be in excellent shape, albeit covered in grime from having been hung right above a cooking hotplate.
"The style, the ornamentation of the gold background, the matchings of the backs of the panels and the overall conditions of the three confirms that they were part of the left side of the same diptych," Acteon said.
Stephane Pinta, an art specialist with the Turquin (who specialise in Old Master artworks), pointed to likenesses in facial expressions and buildings, as well as the painter's techniques for conveying light and distance.
The team of art experts at the Turquin in Paris also used infrared reflectography to confirm that Christ Mocked was part of a bigger polyptych – a larger work of painted scenes divided into several panels – depicting scenes from Christ's passion and crucifixion. Two other scenes from the polyptych – The Virgin and Child with Two Angels and The Flagellation of Christ – currently hang in the National Gallery in London and the Frick Collection in New York house.
Christ Mocked work was bought by the London-based dealer Fabrizio Moretti against competition from at least six other bidders, including a foreign museum. The price is believed to be the highest for a European old master painting at auction since Leonardo's "Salvator Mundi" sold for a record-shattering $450.3 million at Christie's in 2017.
The Virgin and Child with Two Angels
Cimabue, a 13th century Florentine painter and mosaicist, was born Bencivieni di Pepo in 1240. He is remembered as the last of the great Italian artists in the Byzantine style, or alternatively, as the forefather of the Italian renaissance. He is recognised as having broken away from the popular style of his time and incorporating new elements into his work that brought a naturalness to the movement in his paintings.
Cimabue is also credited with influencing and likely teaching both the Italian master Giotto and Duccio, both of whose fame superseded within his own in his lifetime. The great poet Dante, a contemporary of Cimabue, described as much in Canto XI of his Purgatario:
O vanity of human powers,
how briefly lasts the crowning green of glory,
unless an age of darkness follows!
In painting Cimabue thought he held the field
but now it's Giotto has the cry,
so that the other's fame is dimmed.
Like most of Cimabue's contemporaries, his work was generally concerned with Christian themes. His surviving works include the frescoes of New Testament scenes in the upper church of S. Francesco, Assisi; the Sta. Trinità Madonna (c. 1290); and the Madonna Enthroned with St. Francis (c. 1290–95).
An anonymous commentator in a work on Dante written in 1333–34 reportedly described Cimabue as so proud and demanding that if others found fault with his work – or even if he himself did – he would destroy the work, no matter how valuable it was.
Given that Christ Mocked has survived, we can assume Cimabue was satisfied with his efforts in this work. Others clearly concur.
Why not send this to a friend?
People across the world recreate Bible scenes as 'iso art'
22 Apr 2020 9:25AM
"We challenge you to recreate a work of art with objects (and people) in your…
Kylie Beach
Aboriginal artists share light of the cross
4 May 2019 3:59PM
A unique exhibition reveals the gospel story through First Nation eyes
Guy Freeman
Mako Fujimura tells Christian artists 'this is a critical moment'
"If you're an artist, musician, writer, poet, this is a critical moment," world-renowned artist Mako…
Caring for my daughter who does not want to live
21 Feb 2020 4:45PM
It was an ordinary day. My 16 year old daughter was in the front passenger…
Penny Mulvey
Adventures in COVID homeschooling
When work and school collide
Eternity News staff writers
How rubbish is killing the world's poor
15 Aug 2019 12:18PM
TEAR Aus and David Attenborough say multinationals must take responsibility
The Government's Plans for Freedom of Religion Legislation
11 Jul 2019 12:39PM
A briefing paper from Freedom For Faith's Patrick Parkinson
Patrick Parkinson
Free meals and Bibles – here's how to show community love
The Crusaders (CRU) campsite at Lake Macquarie is usually brimming with energetic school kids, engaged…
Rebecca Abbott
This tiny house builder is a big believer
… with an even bigger heart!
Machine Gun Preacher still fighting for the lost
23 Aug 2019 9:53AM
The evangelist they call The Machine Gun Preacher grew up in a solidly Christian home…


Madeleine McCann's parents face hefty legal fees nearly a decade after the start of a bitter court battle against the ex-police chief who has attacked them again in a new documentary.
And the disgraced cop, who has repeated the accusation that the couple put their daughter's life at risk in a new Netflix series about Madeleine's 2007 disappearance, is set to increase their heartbreak by hitting them with a fresh four-figure demand for cash.
Another bill totalling £5,346 to cover left-over court costs – half what they were being asked for before a successful appeal a judge has just ruled on – is about to be sent to their lawyer Isabel Duarte.
Thirteen volumes of court files charting the ongoing battle the McCanns started after Amaral published in July 2008 – just three days after they were told they were no longer suspects – detail the cash settlements they have been forced into after their initial 2015 libel win was overturned by two higher Portuguese courts.
The figure – which does not include costs they have incurred taking the case to Europe – will rise to nearly £35,000 once the McCanns are sent their new bill and Amaral demands they compensate him for his final payment linked to the Portuguese court fight.
In appendix to the files – kept on a shelf in a seventh-floor office at the same Lisbon Civil Court which ordered Amaral to pay the McCanns £430,000 in 2015 before its first-round libel decision was overturned on appeal – also lays bare the ex-cop's dire financial position when he penned his controversial book.
It also showed an Algarve home – registered in his then-wife Sofia's name – had loans totalling nearly £400,000 after the bank moved to repossess it following missed mortgage payments and Portuguese tax chiefs tried to recover a five-figure debt.


Thermography is the use of an infrared imaging and measurement camera to "see" and "measure" thermal energy emitted from an object. It's like X-Ray Eyes.
Our FLIR Infrared Thermal Imagers figuratively let you look inside of structures to 'see' what the human eye can't see.
Infrared testing saves you money because our infrared cameras pinpoint heat loss so reducing the scope of repairs. You save by fixing only what is absolutely necessary.


Meal Kits? What the heck is a meal kit?
Yesterday I ran across an item over at Mother Jone's website talking about meal kits, which are supposed to be the hot new thing in the food service industry. These things started up a fairly short time ago, offered by companies like Blue Apron, HelloFresh and many others, and according to the press (some of it anyway, not all) meal kits are the best thing ever.
So what exactly is a 'meal kit'? The idea is this: Every day a box arrives on your doorstep. Inside of it are all the raw ingredients to make a dinner. Everything you need from the entree, to side dishes, to seasonings,to condiments are pre-portioned and individually packaged. And a recipe telling you how to make it.
And that's it. You get a box full of raw ingredients and a recipe.
You still have to cook it. You still have to use a stove, oven, etc. You still have to mix and stir. You still have all of the dirty dishes to deal with.
Well, they at least deliver it to your door so you don't have to shop, right? Uh, well, no, because these are only dinners. Unless you're eating breakfast and lunch at a restaurant every day, you still have to go shopping for food.
So you still have to shop. You still have to mix, stir and actually cook. You still have to clean up afterwards and deal with the dishes. So this is useful for, well, who, exactly? People who can't plan a meal, I suppose?
Then there is the cost. These things seem to be just a wee bit on the pricey side. We're looking at anywhere from $9 to $50 or more per meal, per person depending on the service you're talking about. Now I don't know what restaurant prices are like where you live, but around here that basically means you'd be paying more for a box full of raw ingredients that you have to cook yourself, than you would pay for a comparable meal at a restaurant, even at the low end of the meal kit price structure. I took a look at some of the menus from these places and figured that one chicken based meal they were sending out for $9 per person could be made for about $3.75 per person.
So just what is the point of all of this? Apparently the only thing this service does is relieve you of the horrible responsibility of — of planning what to have for dinner?
The ads for these places tout the 'freshness' of their ingredients. They wax poetic about 'sustainable' this and 'environmental' that, about how their "chefs" partner with "trusted farmers". And all of that means pretty much nothing because all of those terms could be applied to just about anything.
The Mother Jones article linked to at the start of this turned up some rather troubling information about these meal kit companies. It seems that I'm not the only one who looks at meal kits with a skeptical eye. Apparently their own customers do as well.
According to independent marketing data that MJ dug up, half or more of the people who sign up for these things cancel the service within the first week. And only 10% or less kept the service after six months. Despite massive injections of venture capital, none of these companies have managed to achieve a positive cash flow from the scanty data I've tracked down. They're continuing to exist only by burning through hundreds of millions of dollars of venture capital as they desperately try to attract new customers to replace the customers who almost immediately cancel the service once they've tried it.
The companies themselves vehemently deny that their customers abandon them in droves after trying the service for only a brief time, but refuse to show any data that supports their claims.
Still, the hype goes on. Celebrity chefs are hooking up with these places, the food service press waxes poetic about the 'potential' of meal kits. There are services that offer specialty kits, like strictly vegan, or "all organic" or vegetarian or, hell, places that only ship their product in 'free range' cardboard boxes, I suppose.
I don't know, is it just me? Am I the only one who thinks this whole concept is, frankly, ridiculously silly?
Well, as a girl who really does fall apart on the meal planning and shopping stage, there is something attractive to me about having both the plan and the ingredients arrive together.
However, not having an excessive amount of money, there isn't any chance in hell that I am going to sign up for it. Its essentially a convenience for people with a lot of income.
I think if you have 2 working professionals, having this arrive makes life simpler.
And if you enough money to spend on this sort of thing – you eat out for lunch everyday.
And Breakfast is an utterly unnecessary meal. So.
Yeah. If I had a lot of money, I would do it. Although probably not daily. Because I rarely have the energy to cook a meal everyday. Maybe I would get one with 4 portions and cook every 4 days or so… hehehe.
And since they offer a free trial – its not all that surprising that they have such a high cancellation rate in the first week. I just don't see how the free trial is sustainable.
I suppose there are some people who would find this kind of thing helpful, but I don't know… It just seems silly to me. Maybe it's just my upbringing. Growing up on a farm, raised by parents who lived through the Great Depression and were only a generation or two away from being immigrants themselves, has probably had an indelible influence on me when it comes to spending money, and this whole idea of paying premium prices for food simply for the convenience of someone planning a menu for me and shopping for a single meal doesn't make any sense to me.
If you look at meal kits as an overall business model, it doesn't make any sense either. These companies have razor thin profit margins because of the enormous amount of overhead involved, even at the premium prices they charge. There is a huge amount of labor involved in prepping, measuring, etc. Then there is the cost of packaging and shipping… Their actual net income per meal is probably going to be in the range of cents, not dollars. Then add into that the fact that it costs them an estimated $100 to $300 to attract a new customer, and that 50% of those new customers cancel within a week, and only 10% are still with them after six months, well, it just doesn't make sense from the business end of the deal either.
OH. It is definitely not a frugal thing. But I think a huge part of their problem is they are marketing it wrong. They need to target their consumer.
You don't give it away free to the world and hope for customers. You have to nail a market – a very niche and fairly narrow market. Its power couples without kids.
Any single person is not going to figure its worth it. People with kids have to make too many specialty things for kids anyway.
Nope. You market it as a bonding experience. A path to joy in marriage. A way to personal fulfillment and well being. To people who are too busy with their careers to have those things and want it delivered without much fuss with instructions.
I'm sure however its a contributor to food wastage the world over. And I doubt if these companies will flourish. They feel like they trying to market like Target and they should be marketing like a 5 star restaurant. Charge a fortune, make it feel elite and always get it right. Make the cool couples want them. Instead of begging people to try them.
Then you get the right customer and they stick with it.
I had a discussion with my wife about this yesterday and she made very similar arguments, that this isn't something for the average person or family, but a rather limited market made up of mostly youngish, urban professionals, no children, fairly affluent. The kind of people who ware working 60 – 70 hours a week, and don't eat at home much in the first place. And I think she mentioned the term pretentious in there somewhere too . Her arguments were very similar to yours, that they should be marketing this not to families but what once a upon a time were called DINKS (dual income no kids).
I have to admit that I wasn't thinking along those lines. I was only thinking how illogical this was for the kind of lifestyle I'm most familiar with, and much of the marketing I've seen indicates that's the market they're going for.
You, and my wife, are right, though. They should be marketing this to a different demographic and in that market it could be pretty successful.
As for the waste issue, oh yeah. There's no doubt about that. Especially when you consider all of the special packaging, all of the ingredients being packed separately, the special packaging that's needed.
It's not just you. Terrible idea, horribly executed.


text:
//October 16, 2018
U.K jails Nigerian lawyer cum prince for £1.8m fraud…
Barrister Olanrewaju Bolaji Otukoya, the 53 years old son of King J.B. Otukoya, Fiwagbade I, the Oligun of Ilugun , Ogun State, has bagged 5 years in jail over his involvement in a £1.8 million scam.
The convict, who skipped bail and fled the UK to Nigeria, was sentenced at the Old Bailey, on Friday, October 12, following an operation led by the Dedicated Card and Payment Crime Unit (DCPCU).
Otukoya headed up the Luton-based gang that committed £1.8 million of fraud by intercepting cheques in the post that were intended for local businesses. He failed to answer his police bail in July 2014 and absconded to Nigeria.
He was, however, traced and extradite him back to the UK after an approval by a Nigerian court in April, 2018. Otukoya, who has several previous convictions for fraud, pleaded guilty to conspiracy to defraud users of Royal Mail Postal Services.
Two other members of the gang, Moshin Abbas and Anjam Shah, were recruited by Otukoya to abuse their positions as workers at a Royal Mail sorting office by stealing post containing cheques destined for local companies.
The intercepted cheques, worth over £1.8 million in total, were then paid into business bank accounts that were set up and controlled by Otukoya, using similar names as the target company.
Abbas and Shah were sentenced in 2016 to four years and five year and three months imprisonment respectively.
BEN TV LAGOS
, By BEN News Team
Adeleke to be docked for exam fraud on October 31 …
Senator Ademola Adeleke will be docked at a Federal High Court Abuja on 31 October, 2018, for alleged examination malpractice.
He will face, along with four others, a four-count charge for personation and registering as students of Ojo-Aro Community Grammar School, Ojo-Aro Osun State to enable him sit for the June/July 2017 NECO.
Charged with Adeleke are: Sikiru Adeleke, Alhaji Aregbesola Mufutau, principal of the school, Gbadamosi Thomas Ojo, school Registrar and Dare Samuel Olutope, a teacher. They will be arraigned before Justice I. E. Ekwo.
The police four weeks ago had declared Adeleke, the defeated governorship candidate of PDP in Osun, wanted over the offence and had asked him to report in the office of the Special Investigation Panel for prosecution.
Microsoft co-founder, Paul Allen, dies of cancer…
Paul Allen died of non-Hodgkin's lymphoma Monday in Seattle. He was 65.
Allen co-founder Microsoft with Bill Gates at age 22. He had tweeted two Mondays ago, announcing that the disease, which he battled in 2009 had returned.
"Some personal news: Recently, I learned the non-Hodgkin's lymphoma I battled in 2009 has returned. .
I've begun treatment & my doctors are optimistic that I will see a good result. Appreciate the support I've received & count on it as I fight this challenge," he wrote
Prioritise Maintenance, Repair and Operations (MRO) strategy to manage costs for your company


text:
212 S. 4th St.
Before you go, subscribe to Lauer Funeral Home to get new obituaries delivered to your inbox!
(NOTE: You MUST verify your email before you receive obituaries, so be on the lookout for an email in your inbox!)
Click for full sized image
JoAnn E. Lierz
Seneca,, Kansas
With shout of acclamation, Christ came and carried JoAnn Elizabeth Lierz, 88, home on Thursday, October 18, 2018 while surrounded by her children at Nemaha Valley Community Hospital in Seneca.
The first of nine children to Frank T. and Josephine Buessing Heiman, JoAnn was born at 10:45pm on Saturday, August 23, 1930. Growing up in a farmhouse 3 miles northeast of St. Benedict, JoAnn eventually became big sister to 6 sisters and 2 brothers.
In her late teens, JoAnn spent many days with her widowed grandmother and would later describe how long and lonely those days would be in an era of no television and little radio. It was during this time, however, that JoAnn learned to crochet and thus began a lifetime of creating beautiful doilies, tablecloths, scarfs, afghans and Christmas ornaments, just to name a few.
JoAnn had a love of horses and often spoke of Goldie and Monty, the two her father had trained to perform tricks and that JoAnn would often ride. Eager to spend time with her best friend, JoAnn would ask her father's permission to ride one of the horses to Alice Tangeman's house. The short trip would become an adventure each time they secretly rode their horses into St. Benedict, being careful not to get caught and into trouble with JoAnn's father.
At the tender age of 19, JoAnn's dancing talent caught the eye of the handsome 21-year old Elmer Lierz. While at a dance, when JoAnn's 'ride' wanted to leave early, Elmer offered to take her home and took the chance to sweep her off her feet. Elmer proposed on Christmas Eve in the car outside of church and JoAnn became his bride on February 9, 1952 at St. Mary's Catholic Church in St. Benedict, Kansas. Elmer and JoAnn made their home on a 240-acre farm just west of Oneida, only a 5-mile drive from Seneca. They worked hard milking cows, growing crops, raising chickens, hogs and eventually 8 children in the 4- bedroom, 1-bath 2-story farmhouse on the hill.
JoAnn had her hands full with so many little ones to feed and clothe and little help within the walls of the old drafty farmhouse. She did all she could to make ends meet from planting and tending the garden to canning and freezing multiple meats, fruits and vegetables; making everything from homemade breads, rolls and desserts to homemade dresses, pants and shirts; mending what she could from broken dolls and toys to scraped knees and elbows.
JoAnn was an incredible cook and even more impressive baker. Her children remember the days of running off the school bus into the house to grab a warm, freshly baked cookie from the dozens piled high on newspapers. JoAnn spoke of the need to make a 9×13" cake every other day to keep up with her growing family. She made the most delectable homemade cinnamon rolls, long johns and desserts and enjoyed the times she baked her sons their favorite pie for their birthdays.
A talented seamstress, JoAnn sewed clothes for herself, her daughters and their dolls, and always had jeans to patch for the 6 boys. She mended clothing for her children's families, dresses for weddings, and Halloween costumes for grandchildren.
With a childhood dream of one day singing at the Grand Ole Opry, JoAnn delighted in her time spent as a soprano in the Sts. Peter and Paul Catholic Church choir, and for many years could be seen singing for holiday masses, funerals and on Seneca's Main Street every year at the start of Christmas season.
Elmer and JoAnn enjoyed socializing and having company over, playing cards, square dancing, and traveling to Kansas City, Iowa, Washington state and California. JoAnn enjoyed seeing her family grow
as well as attending the baptisms, birthday parties, graduations, games and weddings of her children and grandchildren. She always enjoyed the visits from her grandchildren and great-grandchildren as JoAnn delighted in the time spent with kids, something that made babysitting requests difficult to turn down.
As the farmhouse emptied, JoAnn continued to serve by donating blood, assisting at elections, funeral lunches and the church picnics by volunteering her time and donating food. She did weekly adoration on Mondays at 8am for over 20 years, and was a member of the Country Homemakers Extension Unit of Nemaha County for over 25 years.
In March, 2000, after 48 years on the farm, Elmer and JoAnn moved into their 4-bedroom, 3-bath ranch home in Seneca. JoAnn was incredibly proud of her new home and eventually surrounded it with multiple red geraniums and colorful beds of petunias that always seemed to bloom more beautiful just for her.
Taking every opportunity to celebrate life, Elmer and JoAnn brought family together for their 25th, 40th, 50th, 60th and 65th wedding anniversaries as well as their 80th and 85th birthdays.
After Elmer left the earthly dance floor on July 2, 2017, JoAnn moved into a room with a courtyard view at Crestview Manor on August 17, 2017. Knowing many that lived there, she settled in well, continued to enjoy her daily Topeka Capital Journal, weekly Woman's World magazine, visits from Crestview's cat, Blue and all the visits from her family.
JoAnn was a prayerful woman of strong faith with a desire to serve others. She found solace in her prayer book, her daily praying of the rosary and weekly mass. JoAnn loved to sing and dance and read; she loved being happy and making others happy, finding every excuse to laugh. She loved babies, puppies and kittens, birds, flowers and dolls. JoAnn loved Elmer, her family and the simple things in life. Above all else and no matter what, Mom enjoyed having her children and families together.
After 472 days apart, JoAnn rejoined her dance partner and adoring and devoted husband of 65 years, Elmer (2017); her parents, Josephine (2003) and Frank (1975); brother Frank (2013); son Gerard (1963); and granddaughter Heather (1986).
JoAnn leaves behind 6 sons, Lynn (Gail), Gene (Joan), Alan (Julie) and Russel (Amy), all of Seneca; Linus, Baileyville; Gary (Brenda), Sabetha; 2 daughters, Donna (Leland), Dexter and Sandra (Mike), Wichita; 12 grandsons, Ryan, Randy, Matt, Jeff and Philip Lierz, Bradley Berkley, Chris, Logan, Colin, Jason and Nicholas Lierz, and Jacob Berkley; 9 granddaughters, Laurie Osterhaus, Wendy Fleagle, Nikki Ronnebaum, Krista Morgan, Michelle Keim, Lindsey Lierz, Kaylie Berkley, Bridget and Kaitlyn Lierz; 10 great-grandsons, Ethan and Mason Ronnebaum, Aiden Lierz, Hunter Fleagle, Fenton Keim, Jeffrey Lierz, Brycen Ronnebaum, Leo Lierz, Tucker Keim and Jaxon Lierz; and 3 great-granddaughters, Josie and Addison Osterhaus and Charli Fleagle; 6 sisters, Henrietta (Joe) Quaney, Loyola Sudbeck, Rosemary (Bud) McKay, Grace (Leroy) Rottinghaus, Carol (Richard) Lohmann and Ellen (Jim) Westerhaus; 1 brother, Lambert (Sharon) Heiman; and 1 sister-in-law, Anita Heiman.
JoAnn will be laid to rest next to her husband, Elmer, son, Gerard and granddaughter, Heather in the Sts. Peter and Paul Cemetery in Seneca, KS. Pallbearers for the funeral service are her grandsons.
The rosary will be prayed in the Lauer Funeral Home at 2pm and 7pm on Sunday, October 21st.
The mass of Christian burial will be on Monday, October 22nd at 11am, at Sts. Peter and Paul Catholic Church in Seneca, KS.
Memorials are for Sts. Peter and Paul Catholic Church's window project and/or Crestview Nursing and Residential Living sent in care of the family.
Rosaries are 2 & 7 P.M. Sunday, October 21, 2018 at the Lauer Funeral Home;
Mass of Christian Burial will be at 11:00 A.M. at Sts. Peter and Paul Catholic Church in Seneca on Monday, October 22nd. Memorials to Sts. Peter and Paul Church or Crestview
Sylvia koch on October 19, 2018 at 12:51 pm
JoAnn was such a loving caring person. She was always willing to help anyone without them even asking her to. She always put a smile on my face as I know she did with many other people as well. She will be dearly missed by many. Thoughts and prayers to the family in this time of heartache.
Via Christi Villages on Georgetown on October 19, 2018 at 2:35 pm
Our hearts go out to her daughter, Sandra and all of her family for their loss. Many prayers for comfort and peace.
Elaine on October 20, 2018 at 7:38 am
My deepest condolences to the Family on the lost of your dear loved one may you find comfort in God's promise that He will do away with death forever and wipe away the tears from all faces (Isa 25:8)
Arminda Feldkamp on October 21, 2018 at 6:40 pm
Sorry to hear of J Joann's loss. I have fond mememories of the Lierz family as they grew and grew. Many times your family sat in front or behind us in St. Peter and Paul's church. She was proud of her family and enjoyed life, and worked hard. She will be missed by all. Continued prayers for everyone.
Kim Streeter on October 21, 2018 at 8:29 pm
JoAnn will be deeply missed!! Will our conversations, when visiting with her in her room she'd always ask "have you seen my pictures of my family," she would always get up and walk over to a picture frame or point to her big family frame. The smile on her face when she would talk about her kids, or see any one of her kids walk into see her. She would always brag on them!! Definitely know that all of you boys and girls were definitely JoAnn's pride and joy, and Elmer was her sweetheart!! Remember each story she told me about every day of a few of the boys… When Elmer would mow the yard for Crestview, JoAnn would be sitting on a bench outside watching him!!
Lauer Funeral Home is family-owned and operated, serving all faiths in northeast Kansas since 1901. Our mission and dedication is to create a service that is both individual and meaningful for the families we serve. Be certain that in your time of deepest need you can rely on our continued dedication to tradition, respect and understanding. We recognize that funeral service is a calling with great responsibilities, demanding the highest professional standards. This trust and confidence makes us both proud and humble.
© 2018 Lauer Funeral Home. All Rights Reserved. Site by Midwest Media Group | Site Admin


Can't take my eyes off the beautiful photography of Alexandra Valenti. Through her lens she contradicts strength + vulnerability or perhaps she proves that a strong woman can be a vulnerable woman.
...to see more of her work click on over here.
There is brilliance at every turn, all we have to do is look for it...Accidental Brilliance 2010. Powered by Blogger.


Spoken English Classes in Kalyanpuri Delhi, English speaking course in Kalyanpuri Delhi, English speaking institute in Kalyanpuri, Best English speaking course in Kalyanpuri, Best english speaking institute in Kalyanpuri delhi.
Talking familiar English is so critical these days. Great relational abilities are the way to progress. At inlingua you will figure out how to communicate in English smoothly and unhesitatingly.
To be fruitful in your social life and profession, you have to communicate in English well. At inlingua New Delhi, individuals of any age have learnt to communicate in English accurately in only half a month.
You contemplate in little and well disposed gatherings where everybody buckles down and has a considerable measure of fun. Our amicable and patient educators urge you to communicate in English from the day you begin. An inlingua dialect course causes you enhance your communicated in English. inlingua is a standout amongst the most experienced dialect schools in the NCR having prepared more than 100k understudies till date.
Situated over the capital district, our focuses are simple meeting places for understudies constantly of day.
inlingua International was established in Switzerland in 1968. It has developed to wind up plainly a global system of more than 345 dialect focuses in 44 nations including England, France, Germany, Thailand, USA and India.
You may pick a course to suit your calendar and the time you can save.
Enroll for Spoken English Classes and Learn to Speak English Fluently within Few Days. Trained & Experienced Faculties ✓Corporate Training ✓Professional Courses ✓Public Speaking Skills ✓Interview Techniques ✓Call Center Training etc.


Wow, main card is STACKED!!!!!!
And they are really getting behind and pushing Rivera!!
bruins2012 wrote: Wow, main card is STACKED!!!!!!
Where's the "double KO" option for the main event?
That main card is covered in barf!
I was really looking forward to that title fight and zabit but they filled that sweet fight sandwich with watery barf! Won't be watching this one live, shame.
Andrade and esparza on the main card, diego and Dodson buried. On what planet is a Diego Sanchez fight less fun to watch than a wmma fight?
JACKnoneREACHER wrote: That main card is covered in barf!
Personally I would have switched the Al-Hassan vs Price or the Dodson Rivera fight with the Suarez Esparza fight.
The UFC is trying to make Suarez into its next star though. She has a very fun and dominant grappling style where she smashes people with elbows until they give up a choke, plus she is Latina (obviously) and survived cancer that should have killed her. So I think the UFC is trying to market her hard.
I have no issues with the Andrade Karolina fight on the main card. Andrade is incredibly entertaining to watch, if you (not saying you in particular) do not like her fight you really are not an mma fan quite honestly.
I would have to see Al Hassan and his 100% KO rate fight Price and his hammerfists from the bottom TKO prowess on the main card. The UFC seems to be banking on Suarez as a new star though and Esparza is a former champ who is grappling centered but also not nearly as good a grappler as Suarez.
Oh Diego is done, no question but always fun to watch.
That should be a fight night card, it's garbage.
5 fights on the main card of a ppv and 3 of those fights are filled people no one is trying to pay to see. Five really but two of those are for a belt.
Woodley doesn't sell, till is only a name for us nerds. Same with zabit, as great as he is he's only known to us nerds. Till and zabit aren't going to make this sell, either will andrade, esparza, shevchenko, or Woodley. None of these fights have mass appeal and the card is filled with them. There's no draws on that main card outside of the main event and given woodley's history of poor buy rates I think this is going to be a stinker.
In the two free cards following this they have hunt, oleinik, arlokski, alves, manuwa, Santos, magney, cowboy o, lil nog , alvey, barao, Lombard, Muhammad, and ol' Ben Saunders. And a sleeper fight in rusty and Kajan and walking pert plus commercial Elias theodorororo.
Those fights are free, and this watered down barf card is a ppv. They easily could have swapped some fights from those cards and this one to try and build some interest.
This will have an awful buy rate, likely more people watching reruns of cops that night than buying this card. Seems like they filled the card after till and Woodley just to have it filled, there's nothing else there to draw people in.
Watching cards with casuals the wmma fights are the new job fitch fights, smoke breaks. Three of them in a row and no one is making it to the main event except die hard fight nerds.
Dude I could not agree with ya much more mr sir. I think in terms of us mma fight nerds, the main 5 fights are pretty solid. In terms of mainstream recognition it is horseshit Like you said none of these fighters have been proven to be a draw in any sense of the word. Till I am sure does well in Europe but in America his name is as unrecognizable as just about anyone else on the roster.
Especially with some of the names you pointed out which are booked next month, this main card seems very poorly constructed for anything but the die hard fan who already knows who someone like Zabit is.
I like the idea of adding a fight to the main card if they start them one hour earlier. Just bump someone else up from the prelims, I'd like to see the numbers on those fights. Seems like a lot of fighters fighting in fights that few ppl watch.
It's always fun to have more fights but Till beating down TWood should be enough for anyone. It will be epic for so many reasons. War Till!!!!!!!!!!!!!!
hopefully dana can add BJ Penn in the card. .. maybe a nice contest against CM Punk..?
i think that CM Punk would be the slight favorite, at this point..
its like a D class amateur fighter vs a bald fat bum..
the D class fighter will propably win.
Darren Till KO RD 2 VIA elbows. Tyron's days as the "GOAT" are numbered. Woodly thinks it's a good idea to get inside on Till, going to find out quick that's a mistake with those gorilla arms reigning down from above.
Im_Not_Surprised wrote: Darren Till KO RD 2 VIA elbows. Tyron's days as the "GOAT" are numbered. Woodly thinks it's a good idea to get inside on Till, going to find out quick that's a mistake with those gorilla arms reigning down from above.
hello mr Till. good luck for your upcoming title fight.
EvilGorilla69+1 wrote: hopefully dana can add BJ Penn in the card. .. maybe a nice contest against CM Punk..?
You mean the same Penn that knocked Siver out in round 1?


AFTER spending last season finding their feet in the Senior League, FC Dynamo are gearing up for a top two finish this year.
The side based on the back pitch at the NSG finished in mid-table after stepping up to SL Division One from the North Leicestershire League.
This year's division has 16 teams and promises to be a tougher proposition but after an 8-0 friendly win over Loughborough Town and a 7-1 hammering of a Lydney Town side from a higher level in pre-season confidence is sky high.
"We're looking good to be honest," said manager Andy Noble. "We are a lot stronger than we were this time last year.
"Stepping out of the North Leicestershire League and into Senior football was a big learning curve for us.
Noble says that he's kept all of the squad from last year that he wanted to keep while adding players from the NFL or Charnwood Sunday League including goalkeeper Danny Buchanan, Joe Hetterley, Rob Woodcock and Adam Malloy. Also James Samwell and Joe Henton have arrived from Oadby Town.
"We've strengthened the defence and midfield," Newbold continued. "If we can keep clean sheets then I know that we have enough firepower to hurt teams.
First up tomorrow is a big local derby against Hathern.
"They finished just above us in the league last season," Newbold noted. "And they beat us 4-1 last season so we'll be out for a bit of revenge.


text:
Indian women's hockey team lose 1-3 to Netherlands
CricketCrime News WorldHockey
Cape Town: After a strong outing against home team South Africa in a four-match series which the Indian women's hockey team won 3-0, the Savita-led side lost 1-3 to World No.1 Netherlands in a hard-fought match here.
The Indian team are scheduled to play three matches against the Netherlands as part of their Tour of South Africa. Riding on good form, the Indian side got off to a strong, attacking start with young sensation Beauty Dungdung scoring a brilliant field goal in the 24th minute of the match.
While the 1-0 lead gave India a head start, the lead didn't last long enough with Netherlands scoring an equaliser in the 29th minute. It was a PC converted by Felice Albers.
While both teams played on par with each other in the third quarter, no goals were scored but Netherlands went into top gear in the final quarter scoring two important goals to end the match with 3-1 on board.
It was Yibby Janssen and Freeke Moes who scored in Netherlands' victory. On January 26, India will play Netherlands again in the second match.
HockeyHockey PlayerIndiaIndia Womens Hockey TeamNetherlandsSports News
ILT20 : Naveen-ul-Haq's 5-38 wrecks table toppers Gulf Giants as Sharjah Warriors win
Smriti Mandhana, Harmanpreet Kaur shine as India thrash West Indies


text:
<?php

namespace CRUDlex;

use Silex\Application;
use Silex\ControllerProviderInterface;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\StreamedResponse;

/**
 * This is the ControllerProvider offering all CRUD pages.
 *
 * It offers this routes:
 *
 * "/resource/static" serving static resources
 *
 * "/{entity}/create" creation page of the entity
 *
 * "/{entity}" list page of the entity
 *
 * "/{entity}/{id}" details page of a single entity instance
 *
 * "/{entity}/{id}/edit" edit page of a single entity instance
 *
 * "/{entity}/{id}/delete" POST only deletion route for an entity instance
 *
 * "/{entity}/{id}/{field}/file" renders a file field of an entity instance
 *
 * "/{entity}/{id}/{field}/delete" POST only deletion of a file field of an entity instance
 */
class CRUDControllerProvider implements ControllerProviderInterface {

    /**
     * Generates the not found page.
     *
     * @param Application $app
     * the Silex application
     * @param string $error
     * the cause of the not found error
     *
     * @return Response
     * the rendered not found page with the status code 404
     */
    protected function getNotFoundPage(Application $app, $error) {
        return new Response($app['twig']->render('@crud/notFound.twig', array(
            'error' => $error,
            'crudEntity' => '',
            'layout' => $app['crud.layout']
        )), 404);
    }

    /**
     * Implements ControllerProviderInterface::connect() connecting this
     * controller.
     *
     * @param Application $app
     * the Application instance of the Silex application
     *
     * @return SilexController\Collection
     * this method is expected to return the used ControllerCollection instance
     */
    public function connect(Application $app) {
        if ($app->offsetExists('twig.loader.filesystem')) {
            $app['twig.loader.filesystem']->addPath(__DIR__ . '/../views/', 'crud');
        }

        if (!$app->offsetExists('crud.layout')) {
            $app['crud.layout'] = '@crud/layout.twig';
        }

        $class = get_class($this);
        $factory = $app['controllers_factory'];
        $factory->get('/resource/static', $class.'::staticFile')
                ->bind('static');
        $factory->match('/{entity}/create', $class.'::create')
                ->bind('crudCreate');
        $factory->match('/{entity}', $class.'::showList')
                ->bind('crudList');
        $factory->match('/{entity}/{id}', $class.'::show')
                ->bind('crudShow');
        $factory->match('/{entity}/{id}/edit', $class.'::edit')
                ->bind('crudEdit');
        $factory->post('/{entity}/{id}/delete', $class.'::delete')
                ->bind('crudDelete');
        $factory->match('/{entity}/{id}/{field}/file', $class.'::renderFile')
                ->bind('crudRenderFile');
        $factory->post('/{entity}/{id}/{field}/delete', $class.'::deleteFile')
                ->bind('crudDeleteFile');
        $factory->get('/setting/locale/{locale}', $class.'::setLocale')
                ->bind('crudSetLocale');

        $app->before(function(Request $request, Application $app) {
            if ($app['crud']->getManageI18n()) {
                $locale = $app['session']->get('locale', 'en');
                $app['translator']->setLocale($locale);
            }
            $locale = $app['translator']->getLocale();
            $app['crud']->setLocale($locale);
        });

        return $factory;
    }

    /**
     * The controller for the "create" action.
     *
     * @param Application $app
     * the Silex application
     * @param string $entity
     * the current entity
     *
     * @return Response
     * the HTTP response of this action
     */
    public function create(Application $app, $entity) {
        $crudData = $app['crud']->getData($entity);
        if (!$crudData) {
            return $this->getNotFoundPage($app, $app['translator']->trans('crudlex.entityNotFound'));
        }

        $errors = array();
        $instance = $crudData->createEmpty();
        $definition = $crudData->getDefinition();
        $fields = $definition->getEditableFieldNames();

        foreach ($fields as $field) {
            if ($definition->getType($field) == 'file') {
                $file = $app['request']->files->get($field);
                if ($file) {
                    $instance->set($field, $file->getClientOriginalName());
                }
            } else {
                $instance->set($field, $app['request']->get($field));
            }
        }
        if ($app['request']->getMethod() == 'POST') {
            $validation = $instance->validate($crudData);
            if (!$validation['valid']) {
                $errors = $validation['errors'];
                $app['session']->getFlashBag()->add('danger', $app['translator']->trans('crudlex.create.error'));
            } else {
                $created = $crudData->create($instance);
                if ($created) {
                    $id = $instance->get('id');
                    $crudData->createFiles($app['request'], $instance, $entity);

                    $app['session']->getFlashBag()->add('success', $app['translator']->trans('crudlex.create.success', array(
                        '%label%' => $crudData->getDefinition()->getLabel(),
                        '%id%' => $id
                    )));
                    return $app->redirect($app['url_generator']->generate('crudShow', array('entity' => $entity, 'id' => $id)));
                }
                $errors = $validation['errors'];
                $app['session']->getFlashBag()->add('danger', $app['translator']->trans('crudlex.create.failed'));
            }
        }

        $definition = $crudData->getDefinition();

        return $app['twig']->render($app['crud']->getTemplate($app, 'template', 'form', $entity), array(
            'crudEntity' => $entity,
            'crudData' => $crudData,
            'entity' => $instance,
            'mode' => 'create',
            'errors' => $errors,
            'layout' => $app['crud']->getTemplate($app, 'layout', 'create', $entity)
        ));
    }

    /**
     * The controller for the "show list" action.
     *
     * @param Application $app
     * the Silex application
     * @param string $entity
     * the current entity
     *
     * @return Response
     * the HTTP response of this action or 404 on invalid input
     */
    public function showList(Application $app, $entity) {
        $crudData = $app['crud']->getData($entity);
        if (!$crudData) {
            return $this->getNotFoundPage($app, $app['translator']->trans('crudlex.entityNotFound'));
        }
        $definition = $crudData->getDefinition();

        $filter = array();
        $filterActive = false;
        $filterToUse = array();
        $filterOperators = array();
        foreach ($definition->getFilter() as $filterField) {
            $filter[$filterField] = $app['request']->get('crudFilter'.$filterField);
            if ($filter[$filterField]) {
                $filterActive = true;
                if ($definition->getType($filterField) == 'bool') {
                    $filterToUse[$filterField] = $filter[$filterField] == 'true' ? 1 : 0;
                    $filterOperators[$filterField] = '=';
                } else {
                    $filterToUse[$filterField] = '%'.$filter[$filterField].'%';
                    $filterOperators[$filterField] = 'LIKE';
                }
            }
        }

        $pageSize = $definition->getPageSize();
        $total = $crudData->countBy($definition->getTable(), $filterToUse, $filterOperators, true);
        $page = abs(intval($app['request']->get('crudPage', 0)));
        $maxPage = intval($total / $pageSize);
        if ($total % $pageSize == 0) {
            $maxPage--;
        }
        if ($page > $maxPage) {
            $page = $maxPage;
        }
        $skip = $page * $pageSize;

        $entities = $crudData->listEntries($filterToUse, $filterOperators, $skip, $pageSize);
        $crudData->fetchReferences($entities);

        return $app['twig']->render($app['crud']->getTemplate($app, 'template', 'list', $entity), array(
            'crudEntity' => $entity,
            'crudData' => $crudData,
            'definition' => $definition,
            'entities' => $entities,
            'pageSize' => $pageSize,
            'maxPage' => $maxPage,
            'page' => $page,
            'total' => $total,
            'filter' => $filter,
            'filterActive' => $filterActive,
            'layout' => $app['crud']->getTemplate($app, 'layout', 'list', $entity)
        ));
    }

    /**
     * The controller for the "show" action.
     *
     * @param Application $app
     * the Silex application
     * @param string $entity
     * the current entity
     * @param string $id
     * the instance id to show
     *
     * @return Response
     * the HTTP response of this action or 404 on invalid input
     */
    public function show(Application $app, $entity, $id) {
        $crudData = $app['crud']->getData($entity);
        if (!$crudData) {
            return $this->getNotFoundPage($app, $app['translator']->trans('crudlex.entityNotFound'));
        }
        $instance = $crudData->get($id);
        if (!$instance) {
            return $this->getNotFoundPage($app, $app['translator']->trans('crudlex.instanceNotFound'));
        }
        $instance = array($instance);
        $crudData->fetchReferences($instance);
        $instance = $instance[0];
        $definition = $crudData->getDefinition();

        $childrenLabelFields = $definition->getChildrenLabelFields();
        $children = array();
        if (count($childrenLabelFields) > 0) {
            foreach ($definition->getChildren() as $child) {
                $childField = $child[1];
                $childEntity = $child[2];
                $childLabelField = key_exists($childEntity, $childrenLabelFields) ? $childrenLabelFields[$childEntity] : 'id';
                $childCrud = $app['crud']->getData($childEntity);
                $children[] = array(
                    $childCrud->getDefinition()->getLabel(),
                    $childEntity,
                    $childLabelField,
                    $childCrud->listEntries(array($childField => $instance->get('id')))
                );
            }
        }

        return $app['twig']->render($app['crud']->getTemplate($app, 'template', 'show', $entity), array(
            'crudEntity' => $entity,
            'entity' => $instance,
            'children' => $children,
            'layout' => $app['crud']->getTemplate($app, 'layout', 'show', $entity)
        ));
    }

    /**
     * The controller for the "edit" action.
     *
     * @param Application $app
     * the Silex application
     * @param string $entity
     * the current entity
     * @param string $id
     * the instance id to edit
     *
     * @return Response
     * the HTTP response of this action or 404 on invalid input
     */
    public function edit(Application $app, $entity, $id) {
        $crudData = $app['crud']->getData($entity);
        if (!$crudData) {
            return $this->getNotFoundPage($app, $app['translator']->trans('crudlex.entityNotFound'));
        }
        $instance = $crudData->get($id);
        if (!$instance) {
            return $this->getNotFoundPage($app, $app['translator']->trans('crudlex.instanceNotFound'));
        }

        $definition = $crudData->getDefinition();

        $errors = array();
        $fields = $definition->getEditableFieldNames();

        if ($app['request']->getMethod() == 'POST') {
            foreach ($fields as $field) {
                if ($definition->getType($field) == 'file') {
                    $file = $app['request']->files->get($field);
                    if ($file) {
                        $instance->set($field, $file->getClientOriginalName());
                    }
                } else {
                    $instance->set($field, $app['request']->get($field));
                }
            }
            $validation = $instance->validate($crudData);
            if (!$validation['valid']) {
                $app['session']->getFlashBag()->add('danger', $app['translator']->trans('crudlex.edit.error'));
                $errors = $validation['errors'];
            } else {
                $updated = $crudData->update($instance);
                if ($updated) {
                    $crudData->updateFiles($app['request'], $instance, $entity);
                    $app['session']->getFlashBag()->add('success', $app['translator']->trans('crudlex.edit.success', array(
                        '%label%' => $crudData->getDefinition()->getLabel(),
                        '%id%' => $id
                    )));
                    return $app->redirect($app['url_generator']->generate('crudShow', array('entity' => $entity, 'id' => $id)));
                }
                $errors = $validation['errors'];
                $app['session']->getFlashBag()->add('danger', $app['translator']->trans('crudlex.edit.failed'));
            }
        }

        return $app['twig']->render($app['crud']->getTemplate($app, 'template', 'form', $entity), array(
            'crudEntity' => $entity,
            'crudData' => $crudData,
            'entity' => $instance,
            'mode' => 'edit',
            'errors' => $errors,
            'layout' => $app['crud']->getTemplate($app, 'layout', 'edit', $entity)
        ));
    }

    /**
     * The controller for the "delete" action.
     *
     * @param Application $app
     * the Silex application
     * @param string $entity
     * the current entity
     * @param string $id
     * the instance id to delete
     *
     * @return Response
     * redirects to the entity list page or 404 on invalid input
     */
    public function delete(Application $app, $entity, $id) {
        $crudData = $app['crud']->getData($entity);
        if (!$crudData) {
            return $this->getNotFoundPage($app, $app['translator']->trans('crudlex.entityNotFound'));
        }
        $instance = $crudData->get($id);
        if (!$instance) {
            return $this->getNotFoundPage($app, $app['translator']->trans('crudlex.instanceNotFound'));
        }

        $crudData->deleteFiles($instance, $entity);
        $deleted = $crudData->delete($instance);

        switch ($deleted) {
            case CRUDData::DELETION_FAILED_EVENT:
                $app['session']->getFlashBag()->add('danger', $app['translator']->trans('crudlex.delete.failed'));
                return $app->redirect($app['url_generator']->generate('crudShow', array('entity' => $entity, 'id' => $id)));
            case CRUDData::DELETION_FAILED_STILL_REFERENCED:
                $app['session']->getFlashBag()->add('danger', $app['translator']->trans('crudlex.delete.error', array(
                    '%label%' => $crudData->getDefinition()->getLabel()
                )));
                return $app->redirect($app['url_generator']->generate('crudShow', array('entity' => $entity, 'id' => $id)));
        }

        $redirectPage = 'crudList';
        $redirectParameters = array(
            'entity' => $entity
        );
        $redirectEntity = $app['request']->get('redirectEntity');
        $redirectId = $app['request']->get('redirectId');
        if ($redirectEntity && $redirectId) {
            $redirectPage = 'crudShow';
            $redirectParameters = array(
                'entity' => $redirectEntity,
                'id' => $redirectId
            );
        }

        $app['session']->getFlashBag()->add('success', $app['translator']->trans('crudlex.delete.success', array(
            '%label%' => $crudData->getDefinition()->getLabel()
        )));
        return $app->redirect($app['url_generator']->generate($redirectPage, $redirectParameters));
    }

    /**
     * The controller for the "render file" action.
     *
     * @param Application $app
     * the Silex application
     * @param string $entity
     * the current entity
     * @param string $id
     * the instance id
     * @param string $field
     * the field of the file to render of the instance
     *
     * @return Response
     * the rendered file
     */
    public function renderFile(Application $app, $entity, $id, $field) {
        $crudData = $app['crud']->getData($entity);
        if (!$crudData) {
            return $this->getNotFoundPage($app, $app['translator']->trans('crudlex.entityNotFound'));
        }
        $instance = $crudData->get($id);
        $definition = $crudData->getDefinition();
        if (!$instance) {
            return $this->getNotFoundPage($app, $app['translator']->trans('crudlex.instanceNotFound'));
        }
        if ($definition->getType($field) != 'file' || !$instance->get($field)) {
            return $this->getNotFoundPage($app, $app['translator']->trans('crudlex.instanceNotFound'));
        }
        return $crudData->renderFile($instance, $entity, $field);
    }

    /**
     * The controller for the "delete file" action.
     *
     * @param Application $app
     * the Silex application
     * @param string $entity
     * the current entity
     * @param string $id
     * the instance id
     * @param string $field
     * the field of the file to delete of the instance
     *
     * @return Response
     * redirects to the instance details page or 404 on invalid input
     */
    public function deleteFile(Application $app, $entity, $id, $field) {
        $crudData = $app['crud']->getData($entity);
        if (!$crudData) {
            return $this->getNotFoundPage($app, $app['translator']->trans('crudlex.entityNotFound'));
        }
        $instance = $crudData->get($id);
        if (!$instance) {
            return $this->getNotFoundPage($app, $app['translator']->trans('crudlex.instanceNotFound'));
        }
        if (!$crudData->getDefinition()->isRequired($field)) {
            $crudData->deleteFile($instance, $entity, $field);
            $instance->set($field, '');
            $crudData->update($instance);
            $app['session']->getFlashBag()->add('success', $app['translator']->trans('crudlex.file.deleted'));
        } else {
            $app['session']->getFlashBag()->add('danger', $app['translator']->trans('crudlex.file.notDeleted'));
        }
        return $app->redirect($app['url_generator']->generate('crudShow', array('entity' => $entity, 'id' => $id)));
    }

    /**
     * The controller for serving static files.
     *
     * @param Application $app
     * the Silex application
     *
     * @return Response
     * redirects to the instance details page or 404 on invalid input
     */
    public function staticFile(Application $app) {
        $fileParam = $app['request']->get('file');
        if (!$fileParam) {
            return $this->getNotFoundPage($app, $app['translator']->trans('crudlex.resourceNotFound'));
        }

        $file = __DIR__.'/../static/'.$fileParam;
        if (!file_exists($file)) {
            return $this->getNotFoundPage($app, $app['translator']->trans('crudlex.resourceNotFound'));
        }

        $extension = pathinfo($file, PATHINFO_EXTENSION);
        $mimeType = '';
        if (strtolower($extension) === 'css') {
            $mimeType = 'text/css';
        } else {
            $finfo = finfo_open(FILEINFO_MIME_TYPE);
            $mimeType = finfo_file($finfo, $file);
            finfo_close($finfo);
        }

        $size = filesize($file);

        $response = new StreamedResponse(function () use ($file) {
            set_time_limit(0);
            $handle = fopen($file,"rb");
            if ($handle !== false) {
                $chunkSize = 1024 * 1024;
                while (!feof($handle)) {
                    $buffer = fread($handle, $chunkSize);
                    echo $buffer;
                    flush();
                }
                fclose($handle);
            }
        }, 200, array(
            'Content-Type' => $mimeType,
            'Content-Disposition' => 'attachment; filename="'.basename($file).'"',
            'Content-length' => $size
        ));
        $response->send();

        return $response;
    }

    /**
     * The controller for setting the locale.
     *
     * @param Application $app
     * the Silex application
     * @param string $locale
     * the new locale
     *
     * @return Response
     * redirects to the instance details page or 404 on invalid input
     */
    public function setLocale(Application $app, $locale) {
        $foundLocale = false;
        $localeDir = __DIR__.'/../locales';
        $langFiles = scandir($localeDir);
        foreach ($langFiles as $langFile) {
            if ($langFile == '.' || $langFile == '..') {
                continue;
            }
            if ($langFile === $locale.'.yml') {
                $foundLocale = true;
            }
        }

        if (!$foundLocale) {
            return $this->getNotFoundPage($app, 'Locale '.$locale.' not found.');
        }

        if ($app['crud']->getManageI18n()) {
            $app['session']->set('locale', $locale);
        }
        $redirect = $app['request']->get('redirect');
        return $app->redirect($redirect);
    }
}

redpajama_set_name: RedPajamaGithub


text:
Q: overloaded method value apply with alternatives with ActionFunction andThen I am following the action composition documentation of play framework and I am trying to mimic the user authentication and permissions through action composition. I get a compilation error when I am trying to use andThen to pipeline authentication and permission check as described in the documentation.
My wrapped request:
type UserRequest[A] = AuthenticatedRequest[A,User]

Request to UserRequest transformation:
  case object AuthAction extends ActionBuilder[UserRequest] with ActionRefiner[Request,UserRequest]{
    override def refine[A](request: Request[A]): Future[Either[Result,UserRequest[A]]] = {
      getUser(request) match {
        case Some(user) => Future.successful(Right(new UserRequest(user,request)))
        case _ => Future.successful(Left(oauthLogin(request)))
      }
    }
  }

ActionFilter to manage permissions:
  object PermissionHandler extends ActionFilter[UserRequest]{
    override def filter[A](req:UserRequest[A]) = Future.successful{
      if (!req.user.hasPermission(Employee)) {
         Some(Unauthorized(views.html.defaultpages.unauthorized()))
      } else None
    }
  }

My Index page:
  def index = (AuthAction andThen PermissionHandler) {
    Future.successful(Redirect(routes.Application.requestLeave))
  }

compilation error:
[error] /home/venki/play/lrs/app/controllers/Application.scala:119: overloaded method value apply with alternatives:
[error]   (block: => play.api.mvc.Result)play.api.mvc.Action[play.api.mvc.AnyContent] <and>
[error]   (block: controllers.Application.UserRequest[play.api.mvc.AnyContent] => play.api.mvc.Result)play.api.mvc.Action[play.api.mvc.AnyContent] <and>
[error]   [A](bodyParser: play.api.mvc.BodyParser[A])(block: controllers.Application.UserRequest[A] => play.api.mvc.Result)play.api.mvc.Action[A]
[error]  cannot be applied to (scala.concurrent.Future[play.api.mvc.Result])
[error]   def index = (AuthAction andThen PermissionHandler) {
[error]                           ^
[error] one error found
[error] (compile:compile) Compilation failed

Documentation used: https://www.playframework.com/documentation/2.3.x/ScalaActionsComposition

A: Just posting to SO helped me solve this problem. modifying my index page like shown below fixed the problem, I should not wrap the result with Future.succesful while using normal version of the actions.
  def index = (AuthAction andThen PermissionHandler) {
   Redirect(routes.Application.requestLeave)
  }

If I want to use the async version of the actions, I should mention it like below
  def index = (AuthAction andThen PermissionHandler).async {
   Future.successful(Redirect(routes.Application.requestLeave))
  }


text:
Portland • October 28-30
Area Conference on Science Education
Registration is now closed and no on-site registration is planned.
To attend the NSTA area conferences, attendees are required to register with CLEAR Health pass and provide proof of a COVID vaccination and/or a negative COVID test.
Housing & Transportation | For Exhibitors | Health & Safety Guidelines | For Presenters | Graduate Credit | FAQ
WE ARE BACK!
Our very first face-to-face conference this Fall will be in the beautiful city of Portland, Oregon. Join us to network with your colleagues, catch up with friends, and take advantage of great NSTA professional learning.
The professional learning offered in Portland will include everything you remember from pre-pandemic conferences, including our famous Exhibit Hall and exhibitor workshops as well as hundreds of presentations and sessions.
Come to reconnect with your friends and colleagues and check out the latest and greatest science education resources available. Learn about creating inclusive classrooms, supporting students post COVID-19, developing authentic assessment strategies, linking literacy and science, and so much more.
Customize your conference experience!
Browse our full selection of sessions that you can attend.
Browse Sessions
What's Happening in Portland
Thursday, October 28 • 3:45–5:00 PM
Curiosity, Creativity, and Courage: Exploring at the Confluence of Science, Art, and Justice
Erin Pettit
Associate Professor of Glaciology, Oregon State University, Corvallis
We all live within the land, the ocean, the rains, the winds. Changes in these due to our climate crisis are everywhere and impact us all. These changes are often slow and subtle, punctuated by intense activity: storms, landslides, fires. If we only notice these catastrophes, then we are missing a critical part of the story. Erin will share two passions of hers. One is the value of spending more time observing and being curious about the slow and subtle changes happening in our own communities, because slow and subtle changes matter. The other is to expand who is doing the observing, because who does the science defines how the science gets done, who benefits from the science, and, ultimately, what science matters.
Speaker Bio
Erin Pettit explores glaciers to better understand and predict changing climate and rising seas. She is an associate professor of glaciology at Oregon State University and creator of Inspiring Girls Expeditions, wilderness science experiences for teenage girls. As a field glaciologist, Erin listens, watches, and measures the flow and fracture, advance and retreat of glaciers and ice sheets. She has traveled from the North Slope of Alaska to the interior of Antarctica for research expeditions. The action at the boundary where glacier ice flows into the ocean is her current favorite place to explore.
Erin has pioneered the use of underwater microphones to listen to the glacier's activity from a safe distance because glaciers meet oceans in an explosion of sound. Calving ice slams into waves, water gushes out from below, and air bubbles pop as icebergs melt. She's especially interested in the freshwater that rushes out from underneath the glacier, because it directly contributes to sea level rise and can signals major changes in the system. Her work on Dawes Glacier in Alaska was highlighted in the IMAX film Extreme Weather.
Erin's passion reaches beyond the ice itself. She wants to share the beauty and challenges of working in these extreme environments with others by linking the science with art and exploration, especially with young women through Inspiring Girls Expeditions. "I think it's important for all of us, kids and adults, to push outside our comfort zone," Pettit says. "That's how you discover the most interesting things about yourself, other people, and the world around you. Curiosity and risk-taking drive many of the best scientific breakthroughs. You may feel scared, be questioned, or get cold before you learn how to keep warm, but the more you push yourself, the more discoveries you will make throughout life."
Friday, October 29 • 11:00 AM–12 Noon
Engaging Authentic Science Learning in Diverse Environments
Adam Johnston
Professor of Physics, Weber State University
"To learn" is a complicated and varied verb, especially in science. Learning takes place in multiple modes along multiple dimensions and with lots of different results; and many of us have experienced some of our best learning experiences outside of traditional classrooms or labs. How do we take experiences that might occur on a performance stage or in a city park, a small kitchen, or a vast desert and incorporate them into science learning for all? Especially as we emerge from the pandemic and its trauma, how do we take stock of where we've been and what we envision for the future of science learning? Adam will bring examples and experiences for us to reconsider the meanings of science teaching and learning in our classes and beyond.
Adam Johnston is a professor of physics and director of the Center for Science and Mathematics Education at Weber State University in Ogden, UT. He teaches courses in both physics and science education in a wide array of settings. His work in science learning led him to co-organize a national conference in science education reform, Science Education at the Crossroads, and he established a local outreach program, Science in the Parks, hosted each summer as a traveling program to Ogden City parks. Recently, Adam has been investigating learning in other contexts and modes, including dance workshops and performances investigating parallel practices of science and art, experiential learning in remote landscapes, and the fascinating habitats and ecosystems of local classrooms—the most innovative and interesting context of all.
Some of Adam's work has been published in Educational Leadership and Science Education. He completed a PhD in science education and an MS in physics from the University of Utah, and a BS in physics from Lewis & Clark College in Portland, OR. Through his career, he's earned multiple honors, including Weber State's Brady Presidential Distinguished Professor award and the Utah Science Teachers Association's Outstanding University Science Educator award.
Saturday, October 30 • 3:15–4:15 PM
Teaching Environmental Justice Theory and Applications in STEM
Melissa Haeffner, PhD
Assistant Professor, Department of Environmental Science and Management, Portland State University
This presentation will focus on how social, political, and biophysical factors structure access to water, using the concept of environmental justice to draw attention to issues of fairness and equality in the ways different social groups gain access to natural resources. It is essential for anyone working in the environmental sciences to acknowledge the human communities that impact and are impacted by those systems. The history of spatial segregation in the U.S. has had real consequences for how water is distributed, diverted, stored, and managed across urban and rural landscapes. This has resulted in uneven access to clean, reliable water and differential access to water-related decision-making. In this talk, Melissa will introduce a theoretical framework based on current research in environmental justice that considers distributive, procedural, and recognition justice. Looking at case studies in the Pacific Northwest, she will demonstrate how water managers and researchers can use this framework to ask questions that will illuminate opportunities to support diversity, equity, and inclusion approaches in their work.
Melissa Haeffner is an assistant professor in the Environmental Science and Management department at Portland State University. Her research unifies several research domains that contribute to the knowledge of local politics in watersheds and how they shape urban water infrastructure development in the past and present, and under future predictions. Her ongoing research and teaching commitments investigate water insecurity and justice within municipal water systems and the links between multi-scale policies, infrastructural and environmental conditions, and household behavior. Her work focuses on "just water" and how social, political, and biophysical factors structure access to water, using the concept of environmental justice to draw attention to issues of fairness and equality in the ways different social groups gain access to natural resources.
Melissa received a BA/MA in Sociology from DePaul University and a MS through the Department of Urban Studies and Planning from the Massachusetts Institute of Technology. She received her PhD from Colorado State University in the Graduate Degree Program of Ecology, with a specialization in human-environment interactions.
Exhibitor Registration and Conference Services
8:00–9:00 AM
9:30–10:30 AM
11:00 AM–12 Noon
12 Noon–1:00 PM
1:00–2:00 PM
Keynote Presentation Speaker:
Erin Pettit • Associate Professor of Glaciology, Oregon State University
Exhibitor Workshops
10:45 AM–3:00 PM
Exhibits Open
NSTA Community Hub/Store
Featured Presentation Speaker
Adam Johnston • Professor of Physics, Weber State University
12:30–1:30 PM
Exclusive exhibit hours
9:00 AM–12 Noon
Melissa Haeffner • Assistant Professor, Department of Environmental Science and Management, Portland State University
Strand Topics
Supporting the Social and Emotional Needs of Students Post-COVID-19
This past year has reinforced the need to incorporate social-emotional learning in the classroom. The Next Generation Science Standards provide guidance on how students can investigate forces, matter, and living things. They also emphasize skills that are significant to students' social and emotional learning (SEL). For instance, communicating effectively, negotiating conflict, collaborating with others, teamwork, respecting and appreciating others' creativity, engaging in argument from evidence, and discussing successes and disappointments are all social and emotional skills that can lead to healthier students with better academic and life outcomes. Share some creative ways you bring these skills into science-connected learning.
Developing More Inclusive Classrooms
Sociocultural factors (especially ethnicity and culture) have a direct and significant impact on learning and participation in science-connected learning. The inclusion of special needs students must also become a priority. This strand will include explicit discussions about past and current inequities in science and engineering education and share best practices for more deliberate and effective work to provide equitable access for student groups who have been excluded or marginalized in the past. Consideration should be given to educators and administrators who have noted differential student outcomes, especially in areas where inequities have been documented, and how they have used that data to address those disparities.
Innovating the Future of Education: Technology and Science Education
As we move forward with new tools and ideas for teaching with technology, this strand was developed to share innovations that we want to carry forward into the future of science education. There are so many options for incorporating technology and varied learning platforms. How do we ensure all students are given maximum opportunities for equitable learning? What worked and what didn't? What increased learning, equity, and access? What do we still need? What students thrived and what problem-solving helped those who did not?
Successful Collaborations Between Informal and Formal Educators
When educators work together, they create greater learning opportunities and successes for students. Forming collaborations also provides opportunities for educators to support, encourage, and empathize with one another—thus forging important professional and personal relationships. We most often look to those within our own communities for such collaborations. However, extending ourselves beyond our "usual" communities can further enhance positive growth for students and educators. Consider sharing some of the more unusual and successful partnerships and collaborations that you have developed.
Sharing Authentic Assessment Strategies
We understand the significance of measuring a student's success. But how do we use authentic assessment as a tool and means to create learning experiences that focus attention on identifying and solving real problems, that apply to specific grade-level science-connected concepts, and that use engineering design processes to guide thinking and problem solving? How do we develop skills that are relevant to students after they leave the science classroom?
Literacy/Science Connections in the Classroom
Research shows that science supports elementary literacy programs, and resources and programs that successfully integrate science and literacy for our youngest learners are key to ensuring that these students have access to science. This strand will focus on how teachers can provide meaningful literacy/science connections in the classroom.
Integrating Multiple Learning Experiences and Connecting to Move Forward
As a society, we've experienced a time like no other. Changes to our goals, plans, daily lives, and even learning opportunities asked us to pivot in ways no one expected. This is also a time to recognize our resiliency; desire to make a difference; and diverse, sometimes unplanned, learning experiences. How can we bring all of these experiences together to create a solid foundation that connects educators and students with the possibility of learning? This strand celebrates our diverse experiences and the professionalism of teachers as we share innovative new plans and strategies that you are implementing and/or creating to support your learning in your communities.