Joe Blevis is a mentor, naturalist, survivalist, and tracker, and is a certified Wilderness First Responder (WFR). For the last 5 years, he has been working with children, adults, and families helping them reconnect with the natural world. Originally from New Jersey, Joe discovered his passion for earth living skills while living in Montana, and eventually pursued that passion by becoming a student of Tom Brown Jr. and the Tracker School in 2009. After finishing a full-time internship at the Tracker School, he began to work with other primitive skills programs across the country, such as Twin Eagles Wilderness School, The Children of the Earth Foundation, and the Whidbey Institute.
Over the last several years, Joe has lead classes with homeschoolers, private and public schools, and summer camps. He has created programs such as "The Primitive Living Skills" series at the Nature Place Day Camp in NY, and "Forest Fridays" in NJ, to encourage children and adults to develop life long skills and a relationship to the earth. Joe's style of teaching encourages people of all ages and backgrounds to step out of their comfort zone and explore new things, while maintaining a healthy awareness in their everyday lives. As a teacher, his goal is to pass down these ancient skills, accompanied by a sense of wonder, curiosity, reverence, and connection to the Earth.
If you are interested in scheduling a private program with Joe Blevis at The New Weis Center for your school, homeschool group, Scout troop, private party, family or friends, please Contact Us.
Primitive Skills Classes with Joe Blevis - "reconnecting with ancient ways"
If you are interested in scheduling one of these classes for your family, friends or group, please let us know!
Join us as we learn how to move silently through the forest, while at the same time, deepening our connection and awareness to the natural world! When we move through a town or city, we move at a certain pace, we pay attention to certain things, and we dress to match our environment. However, when we move in the forest, we need to make some serious adjustments - especially if we want to observe or study wildlife. By learning how to move silently through the landscape, you will feel more at home and relaxed anytime you venture outdoors. This class will also focus on slowing down our body and mind, and opening up our other senses to connect with things that are usually overlooked.
Knowing how to make strong, durable rope was an essential skill for our ancestors. Take a moment and think about all the uses of ropes, strings, and threads in our modern, everyday use; your clothing, the dog's leash, shoelaces, and bags are only a few examples. When dealing with a primitive living situation, the list of practical uses for good cordage is virtually endless. In this program, we'll be working with a simple reverse-wrap cordage making method. Once everyone is up to speed with that, we will get some hands-on experience processing local plants into usable fibers. All materials included.
Shelter is your top priority in a survival situation, and one of the most empowering skills to possess. In this program we'll cover the basics of shelter, ranging from the clothes on your back to the hands-on experience of building a primitive shelter. The debris hut, if built correctly, will keep you warm and dry even on the coldest nights, and cool and protected on the hottest days. Together we'll build a one-person debris hut without any man-made materials. After we are done enjoying it, we'll return the materials back to the Earth, and leave our work area better than we found it.
The bow drill is one of the most reliable ways to create fire by friction. In this program, participants who have worked with the bow drill fire making method in the past, will now be making their own personal bow drill kits, from start to finish. We will be going into detailed description of each individual part, which materials to work with/avoid, as well as perfecting the technical aspects of the bow drill technique. Includes the use of knives/tools; all materials will be included, and the kits will be yours to take home and continue working with.
Coal burning is the art of using fire to create vessels of all shapes and sizes. Perhaps you'd like to coal burn a spoon or ladle to serve your food with. Or maybe you and your family are burning out a canoe for a lifetime of fishing and exploration. In this class, we'll be focusing on simple, coal burned bowls. If done correctly, these vessels can last a lifetime, and easily be used to transport and treat water, as well as serve food. No prior experience necessary. All tools, materials and supplies will be provided.
Saturday, May 18, 5:00-7:00pm: Introduction to Bird Languages - REGISTER NOW!
Imagine what it would be like to have such a deep knowledge of that natural world, that even the slightest flutter of a bird's wing, or the softest bird call in the distance could tell you a world of information. Or maybe you're someone who is tired of only catching a fleeting glimpse of animals scurrying away from you, long before you notice them. Birds are like the security systems of the forest, and they will always alert you to a sneaking fox, or a nearby roosting owl. Deciphering Bird Language is the gateway to this special world that is right under our noses. Come embark on a long-term, life changing journey as we dive in to learn the language of the birds.
Saturday, June 8, 9:00-11:00am: Meet Our Local Plants - REGISTER NOW!
Come join us as we explore The New Weis Center's property and surrounding lands, and get first hand experience meeting and interacting with the local plants. We will be studying, drawing, photographing, and eating plants, as well as learning about some medicinal qualities and utilitarian purposes - such as which plant fibers work best for rope making, or which trees have good bark for baskets. We will also identify some poisonous plants, and talk about their hazards. Suggested to bring a notebook, pencil and a camera/cell phone (for pictures only).
Basketry is the art of working with flexible organic materials - bark, sapling, fibers, splints, etc. - and interweaving them into usable containers of various sizes. Baskets were an essential tool for our ancestors, and still are highly valued today. Whether your looking to make a collection basket, a long-term pack basket, or a simple container for household goods, this technique is for you! In this program, we'll dive into one of the most basic styles of basic weaving: splintwork. We will spend our time weaving a small, model-sized basket to teach you the basic principles. After that, there is no limit to what is possible with this simple technique!
Registration: Please register by clicking the class link above, and complete your registration through Eventbrite.
Payment: Payment is due upon registration and is non-refundable. If you are unable to attend, you may come a the class on another date.
Age: Children under 18 must be accompanied by an adult. If the adult is not registering, they may wait in our main building or picnic grove during class.
For a list of other classes that Joe teaches, please scroll down.
If you'd like to request one of those classes, or schedule a program for a private party or event, please let us know!


text:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/openDriver"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="51dp"
        android:onClick="openDriver"
        android:text="@string/drive_label" />

    <Button
        android:id="@+id/openArmCtrl"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/openDriver"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp"
        android:text="@string/arm_ctrl_label"
        android:onClick="openArmCtrl" />

</RelativeLayout>

redpajama_set_name: RedPajamaGithub


John Nguyen, Morsani College of Medicine Physician Assistant Program class of 2019.
John Nguyen, second-year Morsani College of Medicine (MCOM) Physician Assistant Program student, recently earned a $1,000 Physician Assistant Foundation scholarship. John was the first MCOM PA program student to receive the scholarship. He one of 37 students chosen from more than 630 applicants nationwide to receive a PA Foundation scholarship for the 2018 cycle. PA Foundation scholarships support students who demonstrate a passion for the profession and health care-related community service. Recipients are selected based on several criteria, including their understanding of the PA role within the health care team.


Connecticut's Foxtails present their most refined and polished release to date. This album consists of a mix of new unheard material and a handful of refined and reworked older songs from their days as a four piece.
The jazz and math influences are clear - The guitars range from twinkly tapping to the kind of chords that have numbers in their names. The bass is consistent, going from spidery walking lines in instrumental sections to pulsing runs accentuating the action. The drums are technical without being overbearing, and go from gentle to violent at the drop of a pin as the songs call for it.
Vocalist Megan's voice rises to the forefront; she ranges from a gentle croon to an impressive scream that when pushed (and it gets pushed) becomes a soul piercing shriek that will change your outlook on life.
The production on this album is excellent (Will Killingsworth, Dead Air Studios) and the gentle instrumental moments of the album retain the intimate live feeling as if the band were playing for you in an attic.
The lyrics are dark and personal and sometimes stand in contrast to the prettiness of some of the sections. A clearly intentional choice that serves to drive home the gravity of the topical matter of some of the songs.
We would be reluctant to outright compare them to other musicians, but after listening to this album several times our observations are: there were a few moments where instrumentally we were reminded of Saetia. Some of the quieter jazzy sections exude dusty feelings of nostalgia reminiscent of some forgotten Grizzly Bear b-side. Although their singing voices aren't the most similar, Megan's ability to strongly emote while singing made us think of Dolores O'Riordan of The Cranberries.
Recorded, mixed and mastered by Will Killingsworth at Dead Air Studios.


Find out what is on offer to Citizens of Saskatoon digitally.
To access Citizen Services and Information use the Contact Us Online form or find Citizen Service phone numbers, hours of operation and emergency service options.
Find out how to engage with the city through Social Media.
We know finding the right person to talk to isn't always so easy, that's why we've committed to making access to City services more convenient for you. Have a look at our new Citizen Service Numbers Directory it's organized and it's easy to read.


While breathing may seem like nothing more than a physical necessity, in truth, the power of breath is great and, when harnessed, can produce beneficial effects. By engaging in breathing exercises during your pregnancy, you can make the potentially physically exhausting period more palatable and help yourself prepare for the arrival of your new bundle of joy.
Pregnancy can be a stressful time. By engaging in deep breathing exercises during this period, you may be able to alleviate some of this stress. Simple things, such as taking deep breaths in through the mouth and exhaling them through the nose, can help oxygenate your body and may aid you in washing away some of that pregnancy-related stress.
As the uterus grows, some women experience shortness of breath. If you suffer from that challenge, breathing exercises may help. As you engage in breathing exercises, you stretch your lungs and exercise the muscles necessary to take deep breaths in spite of the pressure created by your growing baby. Some doctors even prescribe breathing exercises as a course of treatment for patients who experience shortness of breath, particularly during late-stage pregnancy as the ability to breathe well is vital to childbirth success.
Breathing exercises range from simple to highly orchestrated. Some exercises include only an easy inhale and exhale, while others are a complicated pattern of panting or patterned breathing. Many women do most of their breathing exercise practice in child birthing classes, as many childbirth methods include a breathing component.
The regularity of your pregnancy breathing exercises will depend in large part upon your desired goal. If your exercises are designed to cut down on your stress, you may exercise daily as stress levels spike. If your exercises are intended to prepare you for the birth of your child, you may practice once or twice a week at first, then with increasing regularity as your due date approaches. If you are being guided in your breathing exercise efforts by a health care practitioner, follow this individual's guidance when creating your breathing exercise schedule.
If you plan to use breathing as a tool for pain control and focusing as you deliver, engage in careful practice of your planned techniques frequently prior to this busy day. The day that your child enters the world will likely be a hectic one, so the more practice you manage to do, the more likely you will be to remember these useful techniques and successfully put them into use to minimize your labor pain.


A few weeks ago Yahoo sports posted a story that caught my attention (but I am only now getting around to posting it, sorry) about a former world-class speedskater now on a journey to the vowed life as a Franciscan Sister of the Renewal.
Kirstin Holum, now Sister Catherine, stands out because she was once a high-profile athlete with promise now (she was at the 1998 Olympics in Japan) she's devoting her life to Christ and the Church in a new race outlined by Jesus, Saint Paul, Saint Francis and the Church.
Prayers for Sister Catherine's perseverance and for the Sisters of the Renewal.
Pope Benedict to Visit Cyprus: what are the preparations?
next October in the Vatican. This is yet another example of the Pope reaching out to the local Catholic churches and to the Orthodox Christians, Muslims and political leaders. It is hard for me to say this is a strategic visit but it certainly opens the mind that there are significant reasons in the pope's mind as to why Cyprus and not another mixed culture. A good reason may be that he's been to the Holy Land already and that neither Lebanon, Egypt nor Syria are willing to host the pope. At any rate, Cyprus is a logical choice because of the confluence of faith and reason.
Latin Patriarchate follows in brief.
invitations from many governments and episcopates but cannot accept them all.
impulse to relations between the two sides.
dialogue at a European, or even global, level. What do you think about this?
with the Turkish Muslim minority?
It's natural that people think like that.
the contrary, we have no relations.
continues to fascinate very many people of every age and every religion.
gradually the worldly lifestyle he had practiced until then.
implied a decomposition of unity, with the birth of heretical movements.
Christ itself, with his radical faith and his enthusiastic love for Christ.
On the other hand, however, it is important to note that St.
must wait patiently for the times of the Holy Spirit.
Apostles, is obedience to the Word of God also renewed.
experience destined to bear outstanding fruits of sanctity in the Church.
magnificent way the life of Francis.
in the words of St. Francis.
(Francis of Assisi, Scritti, Editrici Francescane, Padua, 2002, 401).
Blood of our Lord Jesus Christ" (Francis of Assisi, Scritti, 399).
asks us to be pure, to live in a consistent way with the mystery we celebrate.
which reality becomes transparent and we can speak of God and with God.
the secret of true happiness: to become saints, close to God!
and Master" (Francis of Assisi, Scritti, 163).
life which this anniversary year has helped to foster.
brothers and sisters with everyone and with all of creation.
brothers, and the other brothers must also serve and obey their minister.
reconciliation and peace, preaching primarily by deeds.
those who will come after us in the future!
OFM, is a professor of Franciscan Studies at the Franciscan Institute, of St.
article was published in the the Winter 2009 issue of The Antonian.
At the beginning of the new year, we look at the history of Christianity, to see how a history develops and how it can be renewed. In it we can see that it is the saints, guided by the light of God, who are the genuine reformers of the life of the Church and of society. Teachers by their word and witnesses with their example, they know how to promote a stable and profound ecclesial renewal, because they themselves are profoundly renewed, they are in contact with the true novelty: the presence of God in the world.
Such a consoling reality — that in every generation saints are born and bear the creativity of renewal — constantly accompanies the history of the Church in the midst of the sorrows and the negative aspects of her journey. We also see come forth, century by century, the forces of reform and of renewal, because the novelty of God is inexorable and always gives new strength to go forward.
This was what happened in the 13th century, with the birth and the extraordinary development of the Mendicant Orders: a model of great renewal in a new historic period. They were called thus because of their characteristic of "begging," namely, of going to the people humbly for economic support to live the vow of poverty and to carry out their evangelizing mission. Of the Mendicant Orders that arose in that period, the most notable and most important are the Friars Minor and the Preaching Friars, known as Franciscans and Dominicans. They have these names because of their founders, Francis of Assisi and Dominic de Guzmán, respectively. These two great saints had the capacity to wisely read "the signs of the times," intuiting the challenges that the Church of their time had to face.
A first challenge was represented by the spread of several groups and movements of faithful that, although inspired in a legitimate desire for authentic Christian life, often placed themselves outside of ecclesial communion. They were in profound opposition to the rich and beautiful Church that developed precisely with the flourishing of monasticism. In recent catecheses I reflected on the monastic community of Cluny, which had always attracted young men and, therefore, vital forces, as well as goods and riches. Thus logically developed, initially, a Church rich in property and also immobile. Opposed to this Church was the idea that Christ came on earth poor and that the true Church should be, in fact, the Church of the poor; a desire for true Christian authenticity was thus opposed to the reality of the empirical Church.
This brought about the so-called pauper movements of the Medieval Age. They harshly contested the lifestyles of priests and monks of the time, accused of having betrayed the Gospel and of not practicing poverty as the first Christians, and these movements counterpoised to the ministry of the bishops their own "parallel hierarchy." Moreover, to justify their choices, they spread doctrines that were incompatible with the Catholic faith. For example, the movement of the Cathars or Albigensians proposed again old heresies, such as depreciation and contempt of the material world — opposition to wealth quickly became opposition to material reality as such — the negation of free will, and then dualism, the existence of a second principle of evil equated with God. These movements had success, especially in France and Italy, not only because of their solid organization, but also because they denounced a real disorder in the Church, caused by the less than exemplary behavior of several representatives of the clergy. On the other hand, the Franciscans and Dominicans, in the footsteps of their founders, showed that it was possible to live evangelical poverty, the truth of the Gospel, without separating from the Church; they showed that the Church continued to be the true, authentic place of the Gospel and Scripture. Thus, Dominic and Francis drew, precisely from profound communion with the Church and the papacy, the strength of their witness.
With an altogether original choice in the history of consecrated life, the members of these orders not only gave up possession of personal goods, as monks had since antiquity, but even wanted real estate and goods put in the name of the community. In this way they intended to give witness of an extremely sober life, to be in solidarity with the poor and trust only in Providence, to live every day by Providence, in trust, putting themselves in God's hands. This personal and community style of the Mendicant Orders, joined to total adherence to the teaching of the Church and her authority, was greatly appreciated by the Pontiffs of the time, such as Innocent III and Honorius III, who gave their full support to these new ecclesial experiences, recognizing in them the voice of the Spirit.
And fruits were not lacking: The poor groups that had separated from the Church returned to ecclesial communion or, gradually, were re-dimensioned until they disappeared. Also today, though living in a society in which "having" often prevails over "being," there is great sensitivity to examples of poverty and solidarity, which believers give with courageous choices. Also today, similar initiatives are not lacking: movements, which really begin from the novelty of the Gospel and live it radically today, putting themselves in God's hands, to serve their neighbor. The world, as Paul VI recalled in Evangelii Nuntiandi, willingly listens to teachers when they are also witnesses. This is a lesson that must never be forgotten in the endeavor of spreading the Gospel: to live first of all what is proclaimed, to be a mirror of divine charity.
Franciscans and Dominicans were witnesses, but also teachers. In fact, another widespread need in their time was that of religious instruction. Not a few lay faithful, who lived in greatly expanding cities, wished to practice a spiritually intense Christian life. Hence they sought to deepen their knowledge of the faith and to be guided in the arduous but exciting path of holiness. Happily, the Mendicant Orders were also able to meet this need: the proclamation of the Gospel in simplicity and in its depth and greatness was one objective, perhaps the main objective of this movement. In fact, with great zeal they dedicated themselves to preaching. The faithful were very numerous, often real and veritable crowds, which gathered to hear the preachers in the churches and in places outdoors — let us think of St. Anthony, for example. They dealt with themes close to the life of the people, especially the practice of the theological and moral virtues, with concrete examples, easily understood. Moreover, they taught ways to nourish the life of prayer and piety. For example, the Franciscans greatly spread devotion to the humanity of Christ, with the commitment of imitating the Lord. Hence it is not surprising that the faithful were numerous, women and men, who chose to be supported in their Christian journey by the Franciscan and Dominican friars, sought after and appreciated spiritual directors and confessors.
Thus were born associations of lay faithful that were inspired by the spirituality of Sts. Francis and Dominic, adapted to their state of life. It was the Third Order, whether Franciscan or Dominican. In other words, the proposal of a "lay sanctity" won many people. As the Second Vatican Council recalled, the call to holiness is not reserved to some, but is universal (cf. Lumen Gentium, 40). In every state of life, according to the needs of each, there is the possibility of living the Gospel. Also today every Christian must tend to the "lofty measure of Christian life," no matter what state of life he belongs to!
The importance of the Mendicant Orders grew so much in the Middle Ages that lay institutions, such as labor organizations, ancient corporations and even civil authorities, often took recourse to the spiritual consultation of members of such orders for the writing of their regulations and, at times, for the solution of internal and external opposition. The Franciscans and Dominicans became the spiritual leaders of the Medieval city. With great intuition, they put into practice a pastoral strategy adapted to the transformation of society. Because many people were moving from the countryside to the cities, they placed their monasteries no longer in rural but in urban areas. Moreover, to carry out their activity for the benefit of souls, it was necessary to move in keeping with pastoral needs.
With another altogether innovative choice, the Mendicant Orders abandoned the principle of stability, a classic of ancient monasticism, to choose another way. Friars and Preachers traveled from one place to another, with missionary zeal. As a consequence, they gave themselves an organization that was different from that of the majority of monastic orders. In place of the traditional autonomy that every monastery enjoyed, they gave greater importance to the order as such and to the superior-general, as well as to the structure of the provinces. Thus the mendicants were in general available for the needs of the universal Church. This flexibility made it possible to send friars more adapted to specific missions and the Mendicant Orders reached North Africa, the Middle East and Northern Europe. With this flexibility, missionary dynamism was renewed.
Another great challenge was represented by the cultural transformations taking place at that time. New questions made for lively discussions in the universities, which arose at the end of the 12th century. Friars and Preachers did not hesitate to assume this commitment as well and, as students and professors, they entered the most famous universities of the time, founded centers of study, produced texts of great value, gave life to true and proper schools of thought, were protagonists of scholastic theology in its greatest period, and significantly influenced the development of thought.
The greatest thinkers, Sts. Thomas Aquinas and Bonaventure, were mendicants, operating in fact with this dynamism of the new evangelization, which also renewed the courage of thought, of dialogue between reason and faith. Today also there is a "charity of and in truth," an "intellectual charity" to exercise, to enlighten intelligences and combine faith with culture. The widespread commitment of the Franciscans and Dominicans in the Medieval universities is an invitation, dear faithful, to make oneself present in places of the elaboration of learning, to propose, with respect and conviction, the light of the Gospel on the fundamental questions that concern man, his dignity, and his eternal destiny. Thinking of the role of the Franciscans and Dominicans in the Middle Ages, of the spiritual renewal they aroused, of the breath of new life that they communicated in the world, a monk says: "At that time the world was growing old. Two orders arose in the Church, from which it renewed its youth, like that of an eagle" (Burchard d'Ursperg, Chronicon).
Dear brothers and sisters, let us indeed invoke at the beginning of this year the Holy Spirit, eternal youth of the Church: May he make each one of us feel the urgency of giving a consistent and courageous witness of the Gospel, so that saints will never be lacking, who make the Church shine as a Bride always pure and beautiful, without stain and without wrinkle, able to attract the world irresistibly to Christ, to his salvation.


text:
Governor Abbott Appoints Weatherford To Commission On Jail Standards
January 7, 2021 | Austin, Texas | Appointment
Governor Greg Abbott has appointed Bryan Weatherford to the Commission on Jail Standards for a term set to expire January 31, 2021. The commission establishes standards for the care and treatment of county prisoners, and the construction, maintenance and operation of county jails.
Bryan Weatherford of Woodville serves as the Tyler County Sheriff. He has served as a police officer for the City of Woodville and a Justice of the Peace for Tyler County before being elected as Sheriff in 2012. He is a member of the National Sheriff's Association, Texas Sheriff's Association, and the East Texas Police Officers Association. Currently, he volunteers as a member of the Rural East Texas Health Network, and is a former president of the Tyler County Chamber of Commerce and the Woodville Lions Club. Additionally, he is a former member of the Tyler County Child Welfare Board and the Tyler County Child Fatality Review Team. Weatherford graduated from Woodville High School and holds a Master Peace Officer License.

redpajama_set_name: RedPajamaCommonCrawl


text:
Arnold Schwarzenegger's Latest TV Commercial: The Director's Cut
Let me set the scene.
There's currently a TV commercial running on California TV. It's a political commercial that stars Arnold Schwarzenegger. He's sitting at a lunch table along with a bunch of different ethnic citizens, bags of chips in the background at a lunch counter, and he's dressed in a tie. And he's talking…
"Do you know that for every dollar that the state takes in, the legislators spend one-dollar ten? And they can't fix the problem, because they created it."
We see a shot of an Asian woman, a red-headed caucasian woman and a white guy in a button down shirt all looking and listening like they're really concentrating.
"It's important that we put our financial house in order, to control our spending and to keep our taxes in check."
And of course, that's right when the commercial ends. Leaving me to continually imagine what came after his little lunchtime speech. I imagine people say things like:
"So, how was working with Richard Dawson on "The Running Man?"
"You gonna eat those Sun Chips?"
"It's important that we put our finapple what in border? Can you say that all again, I didn't quite understand you."
"What'd he say?"
Seriously, it's just so amusing to me to think about how this whole commercial went down. Arnold's people had a casting session for all these unique looking citizens, then they were told to sit there and pretend like they were concerned and listening to what he had to say, and really, it's hilarious to me.
Had Arnold just walked into some Californian lunch room and sat down with people to talk to them about this issue, the outcome would have been much more….let's just call it – "unique".


text:
United Protestant Church of New Virginia
From MicroWiki, the micronational encyclopædia
United Protestant Church
of New Virginia
United and Uniting
Connexional
3 Connexions
New Virginia
UPC-NVA
The United Protestant Church of New Virginia (UPC-NVA) is Protestant Christian denomination in the Commonwealth of New Virginia. The Church is a united and uniting denomination which encompasses a variety of theological traditions, principally Anglican, Baptist, and Reformed.
1 Theology
2.1 National Church
2.2 Congregations
2.3 Connexions
The Charter of the United Protestant Church is its foundational document. As a united denomination, the Church encompasses a wide variety of traditions and theological understanding, included those considered both Liberal and Conservative. The Church adopts an approach which could be described as "mere Protestantism" or "constrained difference", allowing for generous liberty of opinion beyond matters considered absolutely essential to the faith. Contentious issues such as human sexuality, life issues, and the status of the sacraments and are left to the consciences of individual members and the policies of congregations and Connexions.
The Charter outlines the foundational uniting beliefs of the denomination. The UPC-NVA is a trinitarian, chalcedonian church as expressed within the various theological traditions emerging from the Protestant Reformation. The UPC Charter commits the denomination broadly to the beliefs in one triune God; the incarnation, atonement, and resurrection of Jesus Christ; salvation by grace through faith; and the ultimate authority of scripture in faith and life. The Church recognises baptism and the Lord's Supper as the only two sacraments (or ordinances).
National Church
The General Synod is the supreme decision making body of the United Protestant Church of New Virginia. The General Synod convenes no less frequently than once per calendar year. Its composition always ensures the representation of the congregations and connexions within the membership of the Church. The General Synod has the reserved authority to adopt Church Law in the form of Articles of the General Synod. Articles are permitted to adjudicate upon all matters of doctrine, government, worship, discipline, and membership of the Church.
The President of the General Synod is elected by the General Synod. The President serves as the Presiding Officer of the General Synod, the Chairperson of the General Council, and the principal public representative of the Church at National level. Alongside the President, the General Synod elects a further 2 to 6 of its members to form the General Council. The General Council administers the affairs of the Church at National level beyond the assemblies of the General Synod.
Members of the United Protestant Church can form congregations as local assemblies of worship. Congregations do not currently form a significant element of church life, with all activity currently concentrated within Connexions at local level in addition to the National Church.
Recognising the diversity in theology, worship, and mission throughout the Church membership, the Church gives individuals and congregations the right to form Connexions between those of similar traditions and understanding within the broader body of the Church. Connextions within the UPC-NVA are associations of members within particular theological traditions. Members choose whether or not to join a particular connexion, and connexions in turn determine the beliefs and worship style appropriate to their membership.
The Charter establishes three permanent Connexions; Anglican, Reformed, and Baptist. Members can form new connections by registering them with the General Council. Each connection chooses how it governs itself. Every connexion selects a nominal head, known as a Superintendent, who serves as the principal public representative of the connexion as well as ensuring the discipline and good governance of the connexion within the National Church. The Superintendent can be alternatively be named a bishop, moderator, or another similarly appropriate title.
Anglican Permanent under Charter
6 September 2020 Bishop of New Richmond Brooklyn Kennedy
Baptist Permanent under Charter
6 September 2020 Superintendent Vacant
Reformed Permanent under Charter
6 September 2020 Moderator of the Synod James Stewart
Retrieved from "https://micronations.wiki/index.php?title=United_Protestant_Church_of_New_Virginia&oldid=844499"
Pages using deprecated image syntax


1. How many TCP retransmitts are normal on a network.
2. How much delay between the packets is acceptable.
3. Are there any common errors/problems which could be kept in mind?
4. How much response time in ping is acceptable.
Any related links/info. will be apreciated!
None. A retransmit means the packet got lost 'on route' which can mean routing problems and/or hosts down and/or firewalls.
This depends on your network layout. The more switches/routers the packet has to travel through the bigger the delay. There's also a difference in latency on ethernet and i.e. ATM.
Badly configured speed/duplex settings on the host and/or switch. Incorrect routing. IP address conflicts, bad subnetmasks etc. Just like Murphy said: "Anything that can go wrong, will go wrong" (at the worst possible moment I might add ).
This is directly related to point 2.
Thanks, But I was not looking for the reason's/definations..... BUT the aceeptable/non acceptable limits and how to actually calculate them for some particular network. What metrics to keep in mind..? like response time in miliseconds...how to calculate the normal response time for a network? I understand why a retransmit would occur but I think some retransmitts are normal for any network ...right ?.. so how many retransmits should alarm us...?
switches should pretty much take care of collisions... but if you are on "dumb" hubs youll prolly see a lot of collisions if the net is busy... then you will get a lot of retransmits.
There really is no standard way to alarm on network performance. You really have to take a lot of different captures at different times, while also recording the user experience on the network. As every different network performs differently, using a standard profile to alarm will not always work.
That is really the reason I prefer to use MS Netmon. There are some automatic analyzing tools included in netmon that will help you set baselines, or look for trouble spots on the network.


Like many of the Destiny series, Shockwave fits perfectly into the era its set, between Dragonfire and Survival and this could have easily been one of the three part televised stories that made up the entire run of the Ace era.
Most of the story takes place on a starship escaping the explosion of a star which is carrying the last survivors of a planet which the star destroyed while trying desperately to outrun the star's shockwave.
While the Doctor and Ace weren't there to stop the planet from being destroyed, the Doctor does have his own agenda which focuses on a mysterious artefact being on board the ship and this might be their last chance to get it.
As soon as this story begins it immediately evokes the Andrew Cartmel era in a far better way than his run on the Lost Adventures range ever did even down to the fact that it feels it wants to be a little longer than it actually is and there are some weird plot points. There is a moment when the Doctor thinks he might be a saboteur but then the captain says over the intercom that he isn't, and when the crew are searching for a criminal, Ace finds that person in the next scene.
I was pleased to find that one of this era's most prominent tropes is included with Ace making a friend with another strong female character. Much like she did in The Happiness Patrol with Susan Q, Battlefield with Shou Yuing, Gwendolyn in Ghost Light and Kathleen in The Curse of Fenric. In this case the woman in question is a young cultist, NineJay and this story manages to put some nice twists on this trope with their developing friendship being the best thing about this play. Also Sophie Aldred does a good job of playing both characters.
This story is nice all round even with some of the bizarre happenings, it is well suited to the timeslot and has some descent twists and turns.
Sophie Aldred, as per usual is wonderful in the narration role and really helps build up the tension of the story and her performance of NineJay is a delight to listen to, off course she also nails Ace!
SHOCKWAVE, WRITTEN BY JAMES SWALLOW AND STARRING SOPHIE ALDRED AND IAN BROOKER WAS RELEASED BY AUDIOGO IN JULY 2013.


Levine & Sons plumbing was founded more than 80 years ago in 1927. We have seen—and fixed—every plumbing problem known to man. In addition, we have watched the Metro Area grow and develop, and we understand problems inherent in each local community: based upon how they were built, their age, etc. Levine & Sons plumbing is in it for the long haul. We will be around to service you in the future and our warranties mean something. When we offer you a 10 year Parts and Labor warranty on your new furnace/air conditioner you can rest assured that we will be here to honor that warranty. Can you find a better warranty than our 50 year guarantee on sewer relining service? We don't think so.


text:
Chartered Architects
Get in touch 01524 32479
Home News Securing the Future for an Historic School
Securing the Future for an Historic School
HPA Chartered Architects are incredibly proud to have been working with the historic Westholme School in Blackburn in their efforts to consolidate pupil provision on one site to cut costs, reduce wasted travel time and secure a sustainable future for the school.
Westholme School has been serving the area with high quality, independent education for generations, and will be celebrating its centenary in 2023. Currently, the school is spread across three sites, which creates logistical challenges.
Having a good deal of experience of education design projects, HPA have worked with Westholme School for 25 years and has been appointed to create an inventive solution that would expand capacity at their Wilmar Lodge site, allowing all pupils to be educated on one site, but to allow juniors and seniors to maintain their own identities.
Blending the old and the new
In keeping with the school's proud history and focus on the future for its pupils, we created innovative plans that involved both the conversion of existing buildings and new, purpose-built accommodation, all integrated in a single design.
Subject to planning permission, the project will convert to the existing art and music blocks, as well as adding extra space and facilities, allowing the school to bring all primary pupils across from the existing sites at Billinge House and Beardwood Bank, so that all ages are educated from one location.
Our talented team of Architects who have worked on many education design projects, worked closely with Westholme School to fully understand the demands on the new facilities and ensure that it met all the needs of a busy school. These consultations created some challenges, requiring the team to create designs that extended beyond the buildings themselves. The design ensures that the primary provision will have its own playgrounds, access points, drop-off areas and parking facilities, with the aim of reducing the impact of the increased student numbers on the existing pupils at the Wilmar Lodge site, creating a safer environment for all concerned.
Significant benefits
The project will deliver significant benefits, both for individual pupils and for the long-term sustainability of the school, as school principal, Lynne Horner, explains: "It will effectively bring our Westholme family together and we strongly believe that the children will benefit from being in one place," she said. "The planned changes will also give us the assurance of long-term sustainability and the future ability to reinvest in our facilities."
We were also conscious that the new configuration and buildings on the site should offer a sustainable and eco-friendly solution. Refurbishing and repurposing existing buildings rather than simply building from scratch significantly reduces the environmental impact of the new facilities. The team from Westholme were also pleased with the sustainability of the design created by the HPA Chartered Architects team.
The plans put forward by HPA Chartered Architects will be considered by Blackburn and Darwen Council in February. If approved, construction will proceed rapidly, with the aim of having all primary age children housed in the new facilities at the start of the new school year in September 2021.
HPA FINALISTS IN THE NORTHERN DESIGN AWARDS 2020
HPA are pleased to have been selected as a finalist for a prestigious Northern Design Award 2020 in the Hotel […]
10 Things You Never Knew An Architect Did
Architects are highly trained professionals who design the built environment around us. However, an Architect's role involves much more than […]
Working Hard on Leisure Projects
It may have been a strange year for some, with furlough and lockdown keeping many people away from work, but […]
HPA – Planning for the Future
HPA Chartered Architects are delighted to announce a new appointment to strengthen our expert planning team. Claire Walters has joined […]
HPA FINALISTS IN THE NORTHERN DESIGN AWARDS 2020...
10 Things You Never Knew An Architect Did...
Working Hard on Leisure Projects...
HPA – Planning for the Future...
hpa@hpa.ltd
HPA Chartered Architects,
29 Castle Hill, Lancaster,
Lancashire, LA1 1YN
Planning advice and consultancy
Leisure and Hotels
Industrial and Commercial
HPA Ltd 2014. All rights reserved. Registered in England no: 4391977


text:
Illimity Acquires 50% Share in Hype, Creating Italy's Largest Open Banking Platform
Banks Europe Fintech
by Polly Jean Harrison September 28, 2020 September 25, 2020
Fabrick, part of the Banca Sella Group and current 100% shareholder of the open banking platform HYPE, has sold a 50% stake of the platform to the Italian digital bank illimity in a deal worth around €140 million.
The deal is unique and the first of its kind in the Italian banking landscape, with the two banks joining forces to invest in the Fintech sector and create the largest open banking platform in the country.
While HYPE is already the leading Fintech in the Italian sector of innovative financial services provided by non-bank Fintech, the aim of this joint venture is to increase the ambitions of the project and the simultaneous acceleration of the growth of the platform, targeting to serve 3 million customers.
"The digital financial services world is evolving fast," said Corrado Passera, Founder and CEO of illimity. "Technology, user experience, economies of scale and, above all, how quickly they can be achieved, are crucial success factors. Just as in the direct digital banking segment, illimity has strongly innovated and will continue to do so by expanding its field of action, in the non-banking segment we were delighted to take this opportunity to partner with the Italian leader to become a true industry benchmark. We are already closely linked to the Sella Group by technological collaboration and we are particularly pleased that it has decided to consolidate a long-term relationship between us also through an investment in illimity share capital."
The deal also aims to accelerate the development of illimity in the industry and grow its potential in "light" banking services, as well as advance the plans of Fabrick as an enabler of open banking and new generation Fintech projects.
Pietro Sella, CEO of the Sella Group and Chairman of Fabrick said; "We have always affirmed and believe that Open Innovation and Open Banking are the path to innovate financial services; with this agreement we attest the ability and effectiveness of the new rules of the game with the aim of creating with illimity the first Italian challenger bank. The digital transformation is producing a strong disruption in the financial sector and HYPE was born in this context and the agreement that we present today represents a new stage in an extraordinary path of open innovation with operating model that has proved its effectiveness reaching 1.3 million customers. Hype has thus turned into a great project, with ambitious goals, and to reach these goals we started the search for the right partner.
"The agreement also confirms the value of the Fabrick project as an accelerator, enabler and developer of the fintech ecosystem and we are proud and honoured to welcome the equally extraordinary illimity project among our significant shareholdings and to be able to contribute to its success."
Polly Jean Harrison
Polly is a journalist, content creator and general opinion holder from North Wales. She has written for a number of publications, usually hovering around the topics of fintech, tech, lifestyle and body positivity.
Mastercard Launches Fintech Express to Drive and Expand MEA Fintech Through Partnerships
Ideal Raises Highest Ever Funding Round by a Latin American Fintech Led by Kaszeck Ventures
Mambu's Partnership With Google Cloud Creates to New Digital Bank
Tyler Smith June 5, 2021 June 4, 2021
Plum's Valuation Set to Triple With Launch of Fresh Crowdfunding Scheme
Tyler Smith September 16, 2021 September 15, 2021
CR2 and Omdia Whitepaper Reveals How Mobile Wallets Have Targeted the Underserved Banking Population
Polly Jean Harrison September 20, 2021 December 10, 2021


This January, our latest featured 3W emerging leader Pastor George Lutzer of Edmonton, Canada joined us in Berlin and Rome. Pastor Lutzer helped us co-lead a 3W Seminar on "Organizing the Church." Pastor George's congregation has flourished under his leadership. It is the Church of God's fastest growing congregation in Canada. Gracepoint is a congregation of 500 people and is located in the suburbs of Edmonton, Canada that has an extremely healthy organizational approach.
3W: Your church has experienced quite a bit of growth over the past few years. How important has good organization been to that growth process?
Staying organized has been critical to our growth. Ensuring that our teams are all on the same page, pursuing the same goal as a unified whole, has been a challenge. But, we believe alignment is essential to being healthy and focused and we invest a good amount of effort to that end. Much like the various systems of our bodies work together, we endeavor to organize the various ministries of our church family to work in harmony. Clear communication within our teams and to those joining us on the journey is vital in this regard.
3W: How has your ministry team been able to develop such a strong sense of teamwork?
We meet weekly as a staff for Bible study, prayer, training and planning. A good portion of these weekly meetings is dedicated to sharing stories from our personal / family lives along with what we see God doing around us and in our respective ministries. We value openness, authenticity and diversity of perspective and opinion, and look forward to hearing from one another as we share the journey together.
3W: Your church built a beautiful new building and managed to do it without a church split or major resignation. That's unusual. How did you make that work?
We never let building the facility become the mission. Regularly communicating to our church family that we were simply building a new "nest" because we had outgrown our previous one was key. We intentionally emphasized that it was because we were focused on reaching people for Christ that we needed to build – the building was entirely secondary to our mandate of making more and better Christ-followers. Additionally, the leadership of the church had the wisdom and foresight to create and empower a Building Steering Committee – they were responsible for research, design and development, raising funds, communication, and overseeing the construction process – as Lead Pastor, I consulted with them as needed, but invested my time and energy in equipping our people and preparing them for growth.
3W: How was your experience with Three Worlds and how do you think the Post-Christendom issues relate to Canada?
The experience with 3W was encouraging and enriching! Teaming up by way of sharing resources and experiences with the hope of blessing one another is a joy of mine, and working together with 3W afforded me that opportunity. I appreciate the vision, values and strategy of the 3W team as it dovetails nicely with our congregation's journey. I hope to be able to continue to support 3W in its future endeavors.
In terms of post-Christendom: The city in which I live and serve is largely post-Christendom in its essence. There is very little Christian memory in our society not to mention that world has arrived at our doorstep as a result of our growing economy. Graciously and effectively re-presenting Christ and the hope He holds for all is at the heart of what we do as the church in Edmonton, Alberta, Canada.
3W: What were your impressions of the Church of God in Rome?
What a joy to get to know the church in Rome! The people were warm and loving with a real passion for Christ and worshipping Him. I feel that this highly relational community of faith is on the verge of experiencing something extraordinary as they focus their energies under Pastor Daniele Santoncito's leadership.
3W: I thought you and the Kendalls made a great pairing for the 3W Seminar. What did you think?
Teaming up with the Kendalls was great - it was an honor and pleasure to be able to serve with them, learn from them and share the journey with them for a few days. Of all those who participated in the 3W seminar in Rome, I'm pretty certain I benefitted most. Getting to know Gary and Belinda while enjoying a cup of coffee or a plate of pasta was a real encouragement for me, and I'm hoping to stay in touch with them.
3W: You've been to Rome before, but did you have a favorite sightseeing moment this time around?
Newer PostThe 3W Dispatch: At 3W, Who Knows Where You Will Go Next?
Older PostAthens Church of God--Thank You!


text:
The Difference Between Pete Rose and Charlie Hustle
By Sean OBrien at 12:01 am on Tuesday September 14, 2010
Pete Rose had two lives.
One as a man who got the most hits in baseball history. The other was as a gambler who disgraced his reputation.
http://dictionary.reference.com/browse/hustle
Homophones are words that have at least two meanings. Hustle is a homophone. It can mean:
1. To work energetically. Think about Rose grabbing the ball that popped out of Bob Boone's glove in the 1980 World Series.
2. It can also mean to commit fraud. Like betting on baseball while playing and managing.
Baseball fans continue to have such mixed feelings about Pete Rose because we have seen at least two sides of him.
Unique in so many ways, Rose's talent and drive were so far superior to his peers that he almost literally seemed superhuman. Problem was, Rose thought that as well, and it carried over to his off-the-field activities. Only Rose knows when he actually started betting on baseball. And not only did he bet, he unsuccessfully lied about it.
Oddly enough, Rose was warmly honored in Cincinnati on the 25th anniversary of him breaking Ty Cobb's all-time hit record this past weekend. I say oddly because this was the first time that Major League Baseball allowed Rose on the field in eleven years. The last time being in Atlanta prior to Game Two of the 1999 World Series, when he was honored as part of an All-Century Team. Rose was also on a major league field in 2002, when former Reds owner Marge Schott held an alumni softball game during a final farewell to Riverfront Stadium.
If smart enough, most athletes could hold a regular job in the working world like we do. On the flip side, very few can hit a 100 mph fastball like Pete Rose once did. With that being said, maybe we really shouldn't judge what we would do if we in fact had Rose's talent. Perhaps a more fair comparison would be to look at Rose along with his peers. Whether it was on or off the field, very few players (if any) could duplicate the actions of Pete Rose.
It's rather suspicious that everyone in baseball claimed ignorance about Rose's gambling until the late 1980's. By that time he had broken Cobb's record and had lost his capacity to fill a stadium. Baseball has also claimed that it was unaware of steroids in the game until recent years. Were they REALLY unaware of the actions of these players who were filling stadiums with their nightly, videogamesque, home run displays?
Let's take baseball's claims (not Pete's) one step further. Is baseball unaware of any currently enshrined Hall of Famers who bet on baseball during their careers? Because that is basically the claim they are using to keep Rose out: because he broke their gambling rules. Understood and agreed. Chances are other inductees were not known to have violated these rules.
In all likelihood, most Hall of Famers did not bet on the game. But, none ever? Not one? Other than "Shoeless" Joe Jackson's ban, the length of Rose's banishment seems to indicate a massive personality clash with the baseball gods. Rose was and still is a brash human being. If many fans feel that way about him, then it certainly isn't a stretch to believe that the baseball gods are put off by him as well. After all, how do most people react towards someone who has rubbed them the wrong way?
He is Pete Rose, the great ballplayer, and Charlie Hustle, the cheater. First we knew Rose the ballplayer, and whether he was on our team or not, we respected his accomplishments. Later, we got to know Charlie Hustle and were disillusioned. These two views are always present because they are both accurate.
The names Giamatti, Dowd, Vincent, Selig, and all of the other names associated with the fiasco Rose created will fade more easily over time than he will. A future group of baseball decision makers will have far fewer, if any, emotionally mixed feelings about who Rose was and what he did. They may very well value his baseball numbers more than his crib sheets, because they weren't personally involved in his story.
I will never forget my encounter with Rose. In the Spring of 1979, he was in his first year with the Phillies after having signed as a free agent and he appeared in an exhibition game against the Phillies' Reading double-A affiliate. At eleven years of age, I was lucky enough to be at that game. When the start of the game was delayed by rain, I was unexpectedly and incredibly taken into the Phillies' locker room.
When I saw Rose, I had no hesitation in telling him that I was trying to learn how to bat from the left-side (as I was a natural right-handed batter). He picked up a bat and took his famous stance right there in front of me. Rose then gave me the bat, went behind me and held his arms around mine, showing me how to stand just like him. Rose and all of my Phillies heroes are forever visible when I want to replay that memory again.
Will images of Rose's great accomplishments on the field be more compelling for future historians than replays about gambling conversations? Their own personal connection to his baseball statistics? Or to his gambling statistics? He is both Pete Rose and Charlie Hustle. But, Charlie Hustle's actions have never overcome Pete Rose's numbers. Those numbers will grow stronger in the future because they are that great.
Rose making the All-Century Team proves that his name should be penciled into an all-time lineup card. He can honestly be considered one of the eight best, non-pitchers, ever. People visit the Hall of Fame knowing they will see visual displays of extraordinary baseball talent. They don't go there expecting to see saints.
Peter Edward Rose was born (like every new baseball season) in the Spring: April 14th, 1941. His uniform number matched that date. He hit in 44 consecutive games in 1978. His lifetime batting average was .303. Rose ended his career with 4,256 hits, and he even named one of his sons Ty (Tyler) before passing Ty Cobb's hit record in 1985.
Charlie Hustle might have trouble getting into heaven.
But with those numbers, Pete Rose is going to get into the Hall of Fame.
Contact Sean O'Brien at seanboru68@yahoo.com
Thumbnail: http://www.diablomag.com/images/Blogs/News%20and%20Community/10107109.jpg
Article Photo: http://www.stevefriess.com/podcast/peterose.jpg
bart giamatti
bud selg
fay vincent
pete rose hall of fame
shoeless joe jackson


text:
Cooter Challenge
By DixieDavenport,
May 20, 2017 in Fanfic Challenges
DixieDavenport
Anyone interested in helping me wonder our way through Hazzard to the State Capitol and find out how our favorite mechanic and my big brother, went from the greasy, hairy mechanic to a cleaned up, shaved Congressman?? What made him even interested in running and since he's there, how has Hazzard benefited???
RogerDuke
That makes me want to dig out his book and read it again. He sure is an interesting man who overcame some obstacles in life and through hard work and determination became a household word. Unless you're really young everybody knows who you're talking about when you say the name Cooter. The same could be said for all the main stars. The Dukes of Hazzard was so popular its mark on television will live on a long time. The best example of that is "Daisy Dukes". Today's teenagers might not recognize Catherine but they know what Daisy Dukes are.
Hobie Hartkins and DixieDavenport
You are so right! My middle son went to a Duke Fest in Bristol, VA with me and he was impressed by how Ben just walked out into the crowd, unlike the others. I told him that the others don't do that to avoid the chaos that would follow. But if they did it on a regular basis back then, by now there may not be chaos when it happened.


I would like to have the crew chief announce when you can pit the earliest in a race. Would be nice to have him saying after a couple of laps, "Pit window opens on lap 11" and the on lap 11 remind me "Pit window is now open" or something.
And an option to keep him silent during qualify. There is a setting for this but this also shuts him off during practice I believe which I sometimes want to have. But during qualy I want radio silence.
the silence-during-qualify laps is in the next update. Well, not *entirely* silent but all non-essential messages can be switched off when the app thinks you're busy (on a qual lap, in traffic, etc).
Regarding the pit window stuff, the app will announce 'pit window opens in 2 minutes' and stuff like that, is that not sufficient?
Nice! The thing I dont want crew chief to say during qualy is other drivers lap times. So thats good its coming.
I didnt know he already could announce the pit window! Is that a setting Ive missed because I dont think Ive ever heard him saying it.
the pit window stuff won't work in iRacing unless iRacing make the data available to us.
Ah! Thank you. Will try tonight.
Just a thought here, but could you make a configuration option so the app can use remaining fuel to announce the pit window for iRacing? It can already calculate how much you fuel you need to finish a race, it could announce you're in your pit window once topping off the tank will get you to the end or if you consider two more laps of fuel your window.
Also, will check the "advanced message prioritization" feature when I get home tonight!
Just a thought, but could the pit window open message be calculated from the current fuel, fuel usage per lap and laps / time left in the race using the fuel calculator?
I like the new version where the crew cheif says pit window opens in 30 minutes and closes in 40 minutes (or something like that). But I would like to have him saying this again one lap or so just before it opens because when racing I don't want to calculate time and I forget what he said 30 minutes ago. Thanks!


What did you set out to accomplish with your "IP2" part?
I wanted to do something different than years before. Unfortunately, the snow year wasn't the greatest, and it was a little hard to get it good.
Did you have a certain vision in mind before it was edited? If so, do you feel that it was achieved?
I wanted it to be fast and kind of punk since I didn't get a lot if footage for the part. Jake Price did a good job editing it.
Who else did you ride with this winter?
I rode with Seth Huot, Dylan Alito, Curtis Ciszek, Bryan Iguchi, and Jaime Lynn. It was a good time cruising with those guys.
Where is the majority of your footage filmed?
Jackson Hole, Wyoming and Denver.
Whose "IP2" part are you most stoked on?
I like Daniel Brown's part a lot.
What inspired your urban handplant initiative? When was the first time you tried one?
I've always been down for handplants. I learned how to do them on the ground years back. I guess once I did that first handplant off the cliff in People Film's "Nice Try" I figured I could do it on anything. The urban plants brings something different to the table.
If you could say one thing to a kid from the Midwest who wants to be a pro snowboarder, what would you tell them?
Ride everyday that you can! Learn as many tricks as you can. Have fun with your friends and push each other. Let your riding speak for you.
What are your plans for next winter?
I plan on filming with the Videograss crew. I want to really push myself since my "IP2" part wasn't the best part I've had. I want to travel a bunch and have a good time.
What's the craziest piece of art you've made in the last few months?
I've been working on some new trippy stuff. I'm not sure what the craziest is.
Lastly, if you could sum up your "IP2" part in three words, what would they be?


text:
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE ViewPatterns #-}

-- | Build-specific types.

module Stack.Types.Build
    (StackBuildException(..)
    ,FlagSource(..)
    ,UnusedFlags(..)
    ,InstallLocation(..)
    ,ModTime
    ,modTime
    ,Installed(..)
    ,PackageInstallInfo(..)
    ,Task(..)
    ,taskLocation
    ,LocalPackage(..)
    ,BaseConfigOpts(..)
    ,Plan(..)
    ,TestOpts(..)
    ,BenchmarkOpts(..)
    ,BuildOpts(..)
    ,BuildSubset(..)
    ,defaultBuildOpts
    ,TaskType(..)
    ,TaskConfigOpts(..)
    ,ConfigCache(..)
    ,ConstructPlanException(..)
    ,configureOpts
    ,BadDependency(..)
    ,wantedLocalPackages
    ,FileCacheInfo (..)
    ,ConfigureOpts (..)
    ,PrecompiledCache (..))
    where

import           Control.DeepSeq
import           Control.Exception

import           Data.Binary (getWord8, putWord8, gput, gget)
import           Data.Binary.VersionTagged
import qualified Data.ByteString as S
import           Data.Char (isSpace)
import           Data.Data
import           Data.Hashable
import           Data.List (dropWhileEnd, nub, intercalate)
import qualified Data.Map as Map
import           Data.Map.Strict (Map)
import           Data.Maybe
import           Data.Monoid
import           Data.Set (Set)
import qualified Data.Set as Set
import           Data.Text (Text)
import qualified Data.Text as T
import           Data.Text.Encoding (decodeUtf8With)
import           Data.Text.Encoding.Error (lenientDecode)
import           Data.Time.Calendar
import           Data.Time.Clock
import           Distribution.System (Arch)
import           Distribution.Text (display)
import           GHC.Generics
import           Path (Path, Abs, File, Dir, mkRelDir, toFilePath, parseRelDir, (</>))
import           Prelude
import           Stack.Types.FlagName
import           Stack.Types.GhcPkgId
import           Stack.Types.Compiler
import           Stack.Types.Config
import           Stack.Types.Package
import           Stack.Types.PackageIdentifier
import           Stack.Types.PackageName
import           Stack.Types.Version
import           System.Exit (ExitCode (ExitFailure))
import           System.FilePath (dropTrailingPathSeparator, pathSeparator)

----------------------------------------------
-- Exceptions
data StackBuildException
  = Couldn'tFindPkgId PackageName
  | CompilerVersionMismatch
        (Maybe (CompilerVersion, Arch))
        (CompilerVersion, Arch)
        VersionCheck
        (Maybe (Path Abs File))
        Text -- recommended resolution
  -- ^ Path to the stack.yaml file
  | Couldn'tParseTargets [Text]
  | UnknownTargets
    (Set PackageName) -- no known version
    (Map PackageName Version) -- not in snapshot, here's the most recent version in the index
    (Path Abs File) -- stack.yaml
  | TestSuiteFailure PackageIdentifier (Map Text (Maybe ExitCode)) (Maybe (Path Abs File)) S.ByteString
  | ConstructPlanExceptions
        [ConstructPlanException]
        (Path Abs File) -- stack.yaml
  | CabalExitedUnsuccessfully
        ExitCode
        PackageIdentifier
        (Path Abs File)  -- cabal Executable
        [String]         -- cabal arguments
        (Maybe (Path Abs File)) -- logfiles location
        S.ByteString     -- log contents
  | ExecutionFailure [SomeException]
  | LocalPackageDoesn'tMatchTarget
        PackageName
        Version -- local version
        Version -- version specified on command line
  | NoSetupHsFound (Path Abs Dir)
  | InvalidFlagSpecification (Set UnusedFlags)
  | TargetParseException [Text]
  | DuplicateLocalPackageNames [(PackageName, [Path Abs Dir])]
  deriving Typeable

data FlagSource = FSCommandLine | FSStackYaml
    deriving (Show, Eq, Ord)

data UnusedFlags = UFNoPackage FlagSource PackageName
                 | UFFlagsNotDefined FlagSource Package (Set FlagName)
                 | UFSnapshot PackageName
    deriving (Show, Eq, Ord)

instance Show StackBuildException where
    show (Couldn'tFindPkgId name) =
              ("After installing " <> packageNameString name <>
               ", the package id couldn't be found " <> "(via ghc-pkg describe " <>
               packageNameString name <> "). This shouldn't happen, " <>
               "please report as a bug")
    show (CompilerVersionMismatch mactual (expected, earch) check mstack resolution) = concat
                [ case mactual of
                    Nothing -> "No compiler found, expected "
                    Just (actual, arch) -> concat
                        [ "Compiler version mismatched, found "
                        , T.unpack (compilerVersionName actual)
                        , " ("
                        , display arch
                        , ")"
                        , ", but expected "
                        ]
                , case check of
                    MatchMinor -> "minor version match with "
                    MatchExact -> "exact version "
                    NewerMinor -> "minor version match or newer with "
                , T.unpack (compilerVersionName expected)
                , " ("
                , display earch
                , ") (based on "
                , case mstack of
                    Nothing -> "command line arguments"
                    Just stack -> "resolver setting in " ++ toFilePath stack
                , ").\n"
                , T.unpack resolution
                ]
    show (Couldn'tParseTargets targets) = unlines
                $ "The following targets could not be parsed as package names or directories:"
                : map T.unpack targets
    show (UnknownTargets noKnown notInSnapshot stackYaml) =
        unlines $ noKnown' ++ notInSnapshot'
      where
        noKnown'
            | Set.null noKnown = []
            | otherwise = return $
                "The following target packages were not found: " ++
                intercalate ", " (map packageNameString $ Set.toList noKnown)
        notInSnapshot'
            | Map.null notInSnapshot = []
            | otherwise =
                  "The following packages are not in your snapshot, but exist"
                : "in your package index. Recommended action: add them to your"
                : ("extra-deps in " ++ toFilePath stackYaml)
                : "(Note: these are the most recent versions,"
                : "but there's no guarantee that they'll build together)."
                : ""
                : map
                    (\(name, version) -> "- " ++ packageIdentifierString
                        (PackageIdentifier name version))
                    (Map.toList notInSnapshot)
    show (TestSuiteFailure ident codes mlogFile bs) = unlines $ concat
        [ ["Test suite failure for package " ++ packageIdentifierString ident]
        , flip map (Map.toList codes) $ \(name, mcode) -> concat
            [ "    "
            , T.unpack name
            , ": "
            , case mcode of
                Nothing -> " executable not found"
                Just ec -> " exited with: " ++ show ec
            ]
        , return $ case mlogFile of
            Nothing -> "Logs printed to console"
            -- TODO Should we load up the full error output and print it here?
            Just logFile -> "Full log available at " ++ toFilePath logFile
        , if S.null bs
            then []
            else ["", "", doubleIndent $ T.unpack $ decodeUtf8With lenientDecode bs]
        ]
         where
          indent = dropWhileEnd isSpace . unlines . fmap (\line -> "  " ++ line) . lines
          doubleIndent = indent . indent
    show (ConstructPlanExceptions exceptions stackYaml) =
        "While constructing the BuildPlan the following exceptions were encountered:" ++
        appendExceptions exceptions' ++
        if Map.null extras then "" else (unlines
                $ ("\n\nRecommended action: try adding the following to your extra-deps in "
                    ++ toFilePath stackYaml)
                : map (\(name, version) -> concat
                    [ "- "
                    , packageNameString name
                    , "-"
                    , versionString version
                    ]) (Map.toList extras)
                    ++ ["", "You may also want to try the 'stack solver' command"]
                )
         where
             exceptions' = removeDuplicates exceptions
             appendExceptions = foldr (\e -> (++) ("\n\n--" ++ show e)) ""
             removeDuplicates = nub
             extras = Map.unions $ map getExtras exceptions'

             getExtras (DependencyCycleDetected _) = Map.empty
             getExtras (UnknownPackage _) = Map.empty
             getExtras (DependencyPlanFailures _ m) =
                Map.unions $ map go $ Map.toList m
              where
                go (name, (_range, Just version, NotInBuildPlan)) =
                    Map.singleton name version
                go _ = Map.empty
     -- Supressing duplicate output
    show (CabalExitedUnsuccessfully exitCode taskProvides' execName fullArgs logFiles bs) =
        let fullCmd = (dropQuotes (toFilePath execName) ++ " " ++ (unwords fullArgs))
            logLocations = maybe "" (\fp -> "\n    Logs have been written to: " ++ toFilePath fp) logFiles
        in "\n--  While building package " ++ dropQuotes (show taskProvides') ++ " using:\n" ++
           "      " ++ fullCmd ++ "\n" ++
           "    Process exited with code: " ++ show exitCode ++
           (if exitCode == ExitFailure (-9)
                then " (THIS MAY INDICATE OUT OF MEMORY)"
                else "") ++
           logLocations ++
           (if S.null bs
                then ""
                else "\n\n" ++ doubleIndent (T.unpack $ decodeUtf8With lenientDecode bs))
         where
          -- appendLines = foldr (\pName-> (++) ("\n" ++ show pName)) ""
          indent = dropWhileEnd isSpace . unlines . fmap (\line -> "  " ++ line) . lines
          dropQuotes = filter ('\"' /=)
          doubleIndent = indent . indent
    show (ExecutionFailure es) = intercalate "\n\n" $ map show es
    show (LocalPackageDoesn'tMatchTarget name localV requestedV) = concat
        [ "Version for local package "
        , packageNameString name
        , " is "
        , versionString localV
        , ", but you asked for "
        , versionString requestedV
        , " on the command line"
        ]
    show (NoSetupHsFound dir) =
        "No Setup.hs or Setup.lhs file found in " ++ toFilePath dir
    show (InvalidFlagSpecification unused) = unlines
        $ "Invalid flag specification:"
        : map go (Set.toList unused)
      where
        showFlagSrc :: FlagSource -> String
        showFlagSrc FSCommandLine = " (specified on command line)"
        showFlagSrc FSStackYaml = " (specified in stack.yaml)"

        go :: UnusedFlags -> String
        go (UFNoPackage src name) = concat
            [ "- Package '"
            , packageNameString name
            , "' not found"
            , showFlagSrc src
            ]
        go (UFFlagsNotDefined src pkg flags) = concat
            [ "- Package '"
            , name
            , "' does not define the following flags"
            , showFlagSrc src
            , ":\n"
            , intercalate "\n"
                          (map (\flag -> "  " ++ flagNameString flag)
                               (Set.toList flags))
            , "\n- Flags defined by package '" ++ name ++ "':\n"
            , intercalate "\n"
                          (map (\flag -> "  " ++ name ++ ":" ++ flagNameString flag)
                               (Set.toList pkgFlags))
            ]
          where name = packageNameString (packageName pkg)
                pkgFlags = packageDefinedFlags pkg
        go (UFSnapshot name) = concat
            [ "- Attempted to set flag on snapshot package "
            , packageNameString name
            , ", please add to extra-deps"
            ]
    show (TargetParseException [err]) = "Error parsing targets: " ++ T.unpack err
    show (TargetParseException errs) = unlines
        $ "The following errors occurred while parsing the build targets:"
        : map (("- " ++) . T.unpack) errs

    show (DuplicateLocalPackageNames pairs) = concat
        $ "The same package name is used in multiple local packages\n"
        : map go pairs
      where
        go (name, dirs) = unlines
            $ ""
            : (packageNameString name ++ " used in:")
            : map goDir dirs
        goDir dir = "- " ++ toFilePath dir

instance Exception StackBuildException

data ConstructPlanException
    = DependencyCycleDetected [PackageName]
    | DependencyPlanFailures PackageIdentifier (Map PackageName (VersionRange, LatestVersion, BadDependency))
    | UnknownPackage PackageName -- TODO perhaps this constructor will be removed, and BadDependency will handle it all
    -- ^ Recommend adding to extra-deps, give a helpful version number?
    deriving (Typeable, Eq)

-- | For display purposes only, Nothing if package not found
type LatestVersion = Maybe Version

-- | Reason why a dependency was not used
data BadDependency
    = NotInBuildPlan
    | Couldn'tResolveItsDependencies
    | DependencyMismatch Version
    deriving (Typeable, Eq)

instance Show ConstructPlanException where
  show e =
    let details = case e of
         (DependencyCycleDetected pNames) ->
           "While checking call stack,\n" ++
           "  dependency cycle detected in packages:" ++ indent (appendLines pNames)
         (DependencyPlanFailures pIdent (Map.toList -> pDeps)) ->
           "Failure when adding dependencies:" ++ doubleIndent (appendDeps pDeps) ++ "\n" ++
           "  needed for package: " ++ packageIdentifierString pIdent
         (UnknownPackage pName) ->
             "While attempting to add dependency,\n" ++
             "  Could not find package " ++ show pName  ++ " in known packages"
    in indent details
     where
      appendLines = foldr (\pName-> (++) ("\n" ++ show pName)) ""
      indent = dropWhileEnd isSpace . unlines . fmap (\line -> "  " ++ line) . lines
      doubleIndent = indent . indent
      appendDeps = foldr (\dep-> (++) ("\n" ++ showDep dep)) ""
      showDep (name, (range, mlatest, badDep)) = concat
        [ show name
        , ": needed ("
        , display range
        , ")"
        , ", "
        , let latestStr =
                case mlatest of
                    Nothing -> ""
                    Just latest -> " (latest is " ++ versionString latest ++ ")"
           in case badDep of
                NotInBuildPlan -> "not present in build plan" ++ latestStr
                Couldn'tResolveItsDependencies -> "couldn't resolve its dependencies"
                DependencyMismatch version ->
                    case mlatest of
                        Just latest
                            | latest == version ->
                                versionString version ++
                                " found (latest version available)"
                        _ -> versionString version ++ " found" ++ latestStr
        ]
         {- TODO Perhaps change the showDep function to look more like this:
          dropQuotes = filter ((/=) '\"')
         (VersionOutsideRange pName pIdentifier versionRange) ->
             "Exception: Stack.Build.VersionOutsideRange\n" ++
             "  While adding dependency for package " ++ show pName ++ ",\n" ++
             "  " ++ dropQuotes (show pIdentifier) ++ " was found to be outside its allowed version range.\n" ++
             "  Allowed version range is " ++ display versionRange ++ ",\n" ++
             "  should you correct the version range for " ++ dropQuotes (show pIdentifier) ++ ", found in [extra-deps] in the project's stack.yaml?"
             -}

----------------------------------------------

-- | Which subset of packages to build
data BuildSubset
    = BSAll
    | BSOnlySnapshot
    -- ^ Only install packages in the snapshot database, skipping
    -- packages intended for the local database.
    | BSOnlyDependencies
    deriving Show

-- | Configuration for building.
data BuildOpts =
  BuildOpts {boptsTargets :: ![Text]
            ,boptsLibProfile :: !Bool
            ,boptsExeProfile :: !Bool
            ,boptsHaddock :: !Bool
            -- ^ Build haddocks?
            ,boptsHaddockDeps :: !(Maybe Bool)
            -- ^ Build haddocks for dependencies?
            ,boptsDryrun :: !Bool
            ,boptsGhcOptions :: ![Text]
            ,boptsFlags :: !(Map (Maybe PackageName) (Map FlagName Bool))
            ,boptsInstallExes :: !Bool
            -- ^ Install executables to user path after building?
            ,boptsPreFetch :: !Bool
            -- ^ Fetch all packages immediately
            ,boptsBuildSubset :: !BuildSubset
            ,boptsFileWatch :: !Bool
            -- ^ Watch files for changes and automatically rebuild
            ,boptsKeepGoing :: !(Maybe Bool)
            -- ^ Keep building/running after failure
            ,boptsForceDirty :: !Bool
            -- ^ Force treating all local packages as having dirty files

            ,boptsTests :: !Bool
            -- ^ Turn on tests for local targets
            ,boptsTestOpts :: !TestOpts
            -- ^ Additional test arguments

            ,boptsBenchmarks :: !Bool
            -- ^ Turn on benchmarks for local targets
            ,boptsBenchmarkOpts :: !BenchmarkOpts
            -- ^ Additional test arguments
            ,boptsExec :: ![(String, [String])]
            -- ^ Commands (with arguments) to run after a successful build
            ,boptsOnlyConfigure :: !Bool
            -- ^ Only perform the configure step when building
            ,boptsReconfigure :: !Bool
            -- ^ Perform the configure step even if already configured
            }
  deriving (Show)

defaultBuildOpts :: BuildOpts
defaultBuildOpts = BuildOpts
    { boptsTargets = []
    , boptsLibProfile = False
    , boptsExeProfile = False
    , boptsHaddock = False
    , boptsHaddockDeps = Nothing
    , boptsDryrun = False
    , boptsGhcOptions = []
    , boptsFlags = Map.empty
    , boptsInstallExes = False
    , boptsPreFetch = False
    , boptsBuildSubset = BSAll
    , boptsFileWatch = False
    , boptsKeepGoing = Nothing
    , boptsForceDirty = False
    , boptsTests = False
    , boptsTestOpts = defaultTestOpts
    , boptsBenchmarks = False
    , boptsBenchmarkOpts = defaultBenchmarkOpts
    , boptsExec = []
    , boptsOnlyConfigure = False
    , boptsReconfigure = False
    }

-- | Options for the 'FinalAction' 'DoTests'
data TestOpts =
  TestOpts {toRerunTests :: !Bool -- ^ Whether successful tests will be run gain
           ,toAdditionalArgs :: ![String] -- ^ Arguments passed to the test program
           ,toCoverage :: !Bool -- ^ Generate a code coverage report
           ,toDisableRun :: !Bool -- ^ Disable running of tests
           } deriving (Eq,Show)

defaultTestOpts :: TestOpts
defaultTestOpts = TestOpts
    { toRerunTests = True
    , toAdditionalArgs = []
    , toCoverage = False
    , toDisableRun = False
    }

-- | Options for the 'FinalAction' 'DoBenchmarks'
data BenchmarkOpts =
  BenchmarkOpts {beoAdditionalArgs :: !(Maybe String) -- ^ Arguments passed to the benchmark program
                ,beoDisableRun :: !Bool -- ^ Disable running of benchmarks
                } deriving (Eq,Show)

defaultBenchmarkOpts :: BenchmarkOpts
defaultBenchmarkOpts = BenchmarkOpts
    { beoAdditionalArgs = Nothing
    , beoDisableRun = False
    }

-- | Package dependency oracle.
newtype PkgDepsOracle =
    PkgDeps PackageName
    deriving (Show,Typeable,Eq,Hashable,Binary,NFData)

-- | Stored on disk to know whether the flags have changed or any
-- files have changed.
data ConfigCache = ConfigCache
    { configCacheOpts :: !ConfigureOpts
      -- ^ All options used for this package.
    , configCacheDeps :: !(Set GhcPkgId)
      -- ^ The GhcPkgIds of all of the dependencies. Since Cabal doesn't take
      -- the complete GhcPkgId (only a PackageIdentifier) in the configure
      -- options, just using the previous value is insufficient to know if
      -- dependencies have changed.
    , configCacheComponents :: !(Set S.ByteString)
      -- ^ The components to be built. It's a bit of a hack to include this in
      -- here, as it's not a configure option (just a build option), but this
      -- is a convenient way to force compilation when the components change.
    , configCacheHaddock :: !Bool
      -- ^ Are haddocks to be built?
    }
    deriving (Generic,Eq,Show)
instance Binary ConfigCache where
    put x = do
        -- magic string
        putWord8 1
        putWord8 3
        putWord8 4
        putWord8 8
        gput $ from x
    get = do
        1 <- getWord8
        3 <- getWord8
        4 <- getWord8
        8 <- getWord8
        fmap to gget
instance NFData ConfigCache
instance HasStructuralInfo ConfigCache
instance HasSemanticVersion ConfigCache

-- | A task to perform when building
data Task = Task
    { taskProvides        :: !PackageIdentifier        -- ^ the package/version to be built
    , taskType            :: !TaskType                 -- ^ the task type, telling us how to build this
    , taskConfigOpts      :: !TaskConfigOpts
    , taskPresent         :: !(Map PackageIdentifier GhcPkgId)           -- ^ GhcPkgIds of already-installed dependencies
    }
    deriving Show

-- | Given the IDs of any missing packages, produce the configure options
data TaskConfigOpts = TaskConfigOpts
    { tcoMissing :: !(Set PackageIdentifier)
      -- ^ Dependencies for which we don't yet have an GhcPkgId
    , tcoOpts    :: !(Map PackageIdentifier GhcPkgId -> ConfigureOpts)
      -- ^ Produce the list of options given the missing @GhcPkgId@s
    }
instance Show TaskConfigOpts where
    show (TaskConfigOpts missing f) = concat
        [ "Missing: "
        , show missing
        , ". Without those: "
        , show $ f Map.empty
        ]

-- | The type of a task, either building local code or something from the
-- package index (upstream)
data TaskType = TTLocal LocalPackage
              | TTUpstream Package InstallLocation
    deriving Show

taskLocation :: Task -> InstallLocation
taskLocation task =
    case taskType task of
        TTLocal _ -> Local
        TTUpstream _ loc -> loc

-- | A complete plan of what needs to be built and how to do it
data Plan = Plan
    { planTasks :: !(Map PackageName Task)
    , planFinals :: !(Map PackageName (Task, LocalPackageTB))
    -- ^ Final actions to be taken (test, benchmark, etc)
    , planUnregisterLocal :: !(Map GhcPkgId (PackageIdentifier, Maybe Text))
    -- ^ Text is reason we're unregistering, for display only
    , planInstallExes :: !(Map Text InstallLocation)
    -- ^ Executables that should be installed after successful building
    }
    deriving Show

-- | Basic information used to calculate what the configure options are
data BaseConfigOpts = BaseConfigOpts
    { bcoSnapDB :: !(Path Abs Dir)
    , bcoLocalDB :: !(Path Abs Dir)
    , bcoSnapInstallRoot :: !(Path Abs Dir)
    , bcoLocalInstallRoot :: !(Path Abs Dir)
    , bcoBuildOpts :: !BuildOpts
    }

-- | Render a @BaseConfigOpts@ to an actual list of options
configureOpts :: EnvConfig
              -> BaseConfigOpts
              -> Map PackageIdentifier GhcPkgId -- ^ dependencies
              -> Bool -- ^ wanted?
              -> InstallLocation
              -> Package
              -> ConfigureOpts
configureOpts econfig bco deps wanted loc package = ConfigureOpts
    { coDirs = configureOptsDirs bco loc package
    , coNoDirs = configureOptsNoDir econfig bco deps wanted package
    }

configureOptsDirs :: BaseConfigOpts
                  -> InstallLocation
                  -> Package
                  -> [String]
configureOptsDirs bco loc package = concat
    [ ["--user", "--package-db=clear", "--package-db=global"]
    , map (("--package-db=" ++) . toFilePath) $ case loc of
        Snap -> [bcoSnapDB bco]
        Local -> [bcoSnapDB bco, bcoLocalDB bco]
    , [ "--libdir=" ++ toFilePathNoTrailingSlash (installRoot </> $(mkRelDir "lib"))
      , "--bindir=" ++ toFilePathNoTrailingSlash (installRoot </> bindirSuffix)
      , "--datadir=" ++ toFilePathNoTrailingSlash (installRoot </> $(mkRelDir "share"))
      , "--libexecdir=" ++ toFilePathNoTrailingSlash (installRoot </> $(mkRelDir "libexec"))
      , "--sysconfdir=" ++ toFilePathNoTrailingSlash (installRoot </> $(mkRelDir "etc"))
      , "--docdir=" ++ toFilePathNoTrailingSlash docDir
      , "--htmldir=" ++ toFilePathNoTrailingSlash docDir
      , "--haddockdir=" ++ toFilePathNoTrailingSlash docDir]
    ]
  where
    toFilePathNoTrailingSlash = dropTrailingPathSeparator . toFilePath
    installRoot =
        case loc of
            Snap -> bcoSnapInstallRoot bco
            Local -> bcoLocalInstallRoot bco
    docDir =
        case pkgVerDir of
            Nothing -> installRoot </> docDirSuffix
            Just dir -> installRoot </> docDirSuffix </> dir
    pkgVerDir =
        parseRelDir (packageIdentifierString (PackageIdentifier (packageName package)
                                                                (packageVersion package)) ++
                     [pathSeparator])

-- | Same as 'configureOpts', but does not include directory path options
configureOptsNoDir :: EnvConfig
                   -> BaseConfigOpts
                   -> Map PackageIdentifier GhcPkgId -- ^ dependencies
                   -> Bool -- ^ wanted?
                   -> Package
                   -> [String]
configureOptsNoDir econfig bco deps wanted package = concat
    [ depOptions
    , ["--enable-library-profiling" | boptsLibProfile bopts || boptsExeProfile bopts]
    , ["--enable-executable-profiling" | boptsExeProfile bopts]
    , map (\(name,enabled) ->
                       "-f" <>
                       (if enabled
                           then ""
                           else "-") <>
                       flagNameString name)
                    (Map.toList (packageFlags package))
    , concatMap (\x -> ["--ghc-options", T.unpack x]) allGhcOptions
    , map (("--extra-include-dirs=" ++) . T.unpack) (Set.toList (configExtraIncludeDirs config))
    , map (("--extra-lib-dirs=" ++) . T.unpack) (Set.toList (configExtraLibDirs config))
    , if whichCompiler (envConfigCompilerVersion econfig) == Ghcjs
        then ["--ghcjs"]
        else []
    ]
  where
    config = getConfig econfig
    bopts = bcoBuildOpts bco

    depOptions = map (uncurry toDepOption) $ Map.toList deps
      where
        toDepOption =
            if envConfigCabalVersion econfig >= $(mkVersion "1.22")
                then toDepOption1_22
                else toDepOption1_18

    toDepOption1_22 ident gid = concat
        [ "--dependency="
        , packageNameString $ packageIdentifierName ident
        , "="
        , ghcPkgIdString gid
        ]

    toDepOption1_18 ident _gid = concat
        [ "--constraint="
        , packageNameString name
        , "=="
        , versionString version
        ]
      where
        PackageIdentifier name version = ident

    ghcOptionsMap = configGhcOptions $ getConfig econfig
    allGhcOptions = concat
        [ fromMaybe [] $ Map.lookup Nothing ghcOptionsMap
        , fromMaybe [] $ Map.lookup (Just $ packageName package) ghcOptionsMap
        , if wanted
            then boptsGhcOptions bopts
            else []
        ]

-- | Get set of wanted package names from locals.
wantedLocalPackages :: [LocalPackage] -> Set PackageName
wantedLocalPackages = Set.fromList . map (packageName . lpPackage) . filter lpWanted

-- | One-way conversion to serialized time.
modTime :: UTCTime -> ModTime
modTime x =
    ModTime
        ( toModifiedJulianDay
              (utctDay x)
        , toRational
              (utctDayTime x))

data Installed = Library PackageIdentifier GhcPkgId | Executable PackageIdentifier
    deriving (Show, Eq, Ord)

-- | Configure options to be sent to Setup.hs configure
data ConfigureOpts = ConfigureOpts
    { coDirs :: ![String]
    -- ^ Options related to various paths. We separate these out since they do
    -- not have an impact on the contents of the compiled binary for checking
    -- if we can use an existing precompiled cache.
    , coNoDirs :: ![String]
    }
    deriving (Show, Eq, Generic)
instance Binary ConfigureOpts
instance HasStructuralInfo ConfigureOpts
instance NFData ConfigureOpts

-- | Information on a compiled package: the library conf file (if relevant),
-- and all of the executable paths.
data PrecompiledCache = PrecompiledCache
    -- Use FilePath instead of Path Abs File for Binary instances
    { pcLibrary :: !(Maybe FilePath)
    -- ^ .conf file inside the package database
    , pcExes :: ![FilePath]
    -- ^ Full paths to executables
    }
    deriving (Show, Eq, Generic)
instance Binary PrecompiledCache
instance HasSemanticVersion PrecompiledCache
instance HasStructuralInfo PrecompiledCache
instance NFData PrecompiledCache


Curtin, Margaret; Baker, Denise; Staines, Anthony; Perry, Ivan J.
Copyright: © Curtin et al.; licensee BioMed Central Ltd. 2014. This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly credited.
Background: If the window of opportunity presented by the early years is missed, it becomes increasingly difficult to create a successful life-course. A biopsychosocial model of special educational need with an emphasis on participation and functioning moves the frame of reference from the clinic to the school and the focus from specific conditions to creating supportive environments cognisant of the needs of all children. However, evidence suggests that an emphasis on diagnosed conditions persists and that the needs of children who do not meet these criteria are not identified. The Early Development Instrument (EDI) is a well-validated, teacher-completed population-level measure of five domains of child development. It is uniquely placed, at the interface between health and education, to explore the developmental status of children with additional challenges within a typically developing population. The aim of this study was to examine the extent to which the special educational needs of children in their first year of formal education have been identified. Methods: This cross-sectional study was conducted in Ireland in 2011. EDI (teacher completed) scores were calculated for 1344 children. Data were also collected on special needs and on children identified by the teacher as needing assessment. Mean developmental scores were compared using one-way ANOVA. Results: Eighty-three children in the sample population (6.2%) had identified special educational needs. A further 132 children were judged by the teacher as needing assessment. Children with special needs had lower mean scores than typically developing children, in all five developmental domains. Children considered by the teacher as needing assessment also had lower scores, which were not significantly different from those of children with special needs. Speech, emotional or behavioural difficulties were the most commonly reported problems among children needing further assessment. There was also a social gradient among this group. Conclusions: A small but significant number of children have not had their needs adequately assessed. Teacher observation is an effective means of identifying children with a level of impairment which prevents them from fully participating in their educational environment and could be integrated into a multi-disciplinary approach to meeting the needs of all children.
Except where otherwise noted, this item's license is described as © Curtin et al.; licensee BioMed Central Ltd. 2014. This article is published under license to BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly credited.