text:
About DMU
Full listing of DMU academic staff
Dr Diane Wildbur
Job: Senior Lecturer
Faculty: Health and Life Sciences
School/department: School of Applied Social Sciences
Address: De Montfort, University, The Gateway, Leicester, LE1 9BH.
E: dwildbur@dmu.ac.uk
W: http://www.dmu.ac.uk/hls
Close all sections
Open all sections
Dr Wildbur is the Programme Director for the MSc in Psychological Well-being, and is a Chartered Psychologist. She has particular interest and expertise in quantitative research methods and data analysis and she teaches both at under- and post-graduate levels on the Psychology and the Speech and Language Training programmes.
Dr Wildbur's current research interests include the psychological well-being of university students and also of older people. She also has an interest in health matters, and has served on Primary Care Trust Boards and worked within the voluntary sector.
Publications and outputs
The Role of Balanced Time Perspective on Student Well-being and Mental Health: A Mixed-Methods Study
The Role of Balanced Time Perspective on Student Well-being and Mental Health: A Mixed-Methods Study Griffin, Edward; Wildbur, D. J. This two-phase mixed-methods study examined the effects of Time Perspective (TP) and Balanced Time Perspective (BTP) on the subjective well-being (SWB), and psychological health of first year undergraduates. Phase 1 used repeated measures to assess the effects of TP on SWB and psychological distress. Excessive or insufficient use of certain TP orientations was related to, and could predict SWB and resilience. Psychological problems were associated with a Past-Negative and Present-Fatalist bias. Moreover, high BTP was associated with resilience to psychological problems and enhanced SWB. Phase 2 involved qualitative interview analysis with six Phase 1 participants. Two themes emerged, including 'Growing from negative past experiences' and 'The importance of positive future goals'. Resilience and SWB are increasingly important aspects of the student experience and TP offers additional understanding of these areas. Interventions focused on developing a BTP, may potentially enhance student SWB and offer preventative mental illness strategies. The file attached to this record is the author's final peer reviewed version. The Publisher's final version can be found by following the DOI link.
The Role of Self-Disgust and Emotion Regulation within Recovering from an Eating Disorder: A Mixed Methods, Longitudinal Perspective
The Role of Self-Disgust and Emotion Regulation within Recovering from an Eating Disorder: A Mixed Methods, Longitudinal Perspective Bell, Katie; Coulthard, Helen; Wildbur, D. J. 1) Background There is a substantial body of literature supporting the view that disordered eating behaviour is broadly characterized by emotion dysregulation but little attention has been paid to the possible mediators that could explain this relationship. 2) Method Three hundred and fifteen female participants, with a self-reported diagnosis of anorexia nervosa (n=155), bulimia nervosa (n=97) or no previous history of an eating disorder (n=63) took part in a questionnaire based longitudinal study, using measures of eating disorder symptoms as the outcome variables and scores of self-disgust (SD) and difficulties in emotion regulation (DER) as the predictor variables. Out of this sample, twelve were also interviewed to learn more about their lived experiences of recovery and how SD may have impacted on this. 3) Results SD was significantly, positively associated with all sub types of difficulties in emotion regulation and disordered eating behaviour, as well measures of anxiety and depression. In line with this, SD also predicted eating disorder symptomology after controlling for anxiety, depression and emotional regulation difficulties. Key themes from the interviews are also discussed. 4) Discussion Difficulties in emotion regulation have already been established as a useful target for therapeutic intervention and therefore targeting and developing strategies to deal with SD explicitly may offer another strand of potential treatment for those with an eating disorder.
Self-disgust within eating disordered groups: Associations with anxiety, disgust sensitivity and sensory processing.
Self-disgust within eating disordered groups: Associations with anxiety, disgust sensitivity and sensory processing. Bell, Katie; Coulthard, Helen; Wildbur, D. J. This study aimed to assess the relationship between self-disgust and sensory processing within eating psychopathology. Five hundred and ninety one women with a self-reported diagnosis of anorexia nervosa, bulimia nervosa or who had no previous history of an eating disorder completed a battery of on-line questionnaires measuring disgust, emotion and sensory variables. Those with an eating disorder reported significantly higher rates of self-disgust than those with no history of disordered eating. In groups of women with self-reported bulimia, self-disgust was associated with sensation avoidance and sensation seeking. Within the group with anorexia nervosa, self-disgust was associated with low registration and sensation seeking. This report is the first to examine the expression of the emotion self-disgust within eating psychopathology and examine associations of this factor with sensory processing. The emotion self-disgust needs to be further examined to understand its possible role in the onset and maintenance of disordered eating. The file attached to this record is the author's final peer reviewed version. The Publisher's final version can be found by following the DOI link.
Benefits to University students through volunteering in a health context: A new model
Benefits to University students through volunteering in a health context: A new model Williamson, I. R.; Wildbur, D. J.; Bell, Katie; Tanner, J.; Matthews, Hannah Individual interviews explored 50 British University students' accounts of sustained volunteering within health settings and a model was developed using grounded theory. Phase one - 'Getting involved' outlines 'motives and catalysts' for students starting to volunteer wherein altruistic motives of compassion for others are juxtaposed with perceptions of enhanced employability. Phase two - 'Maintaining commitment' includes three components ('Making connections' 'Developing resilience' and 'Keeping the balance'), which represent important aspects of continuing volunteering participation. Phase three - 'Reaping the rewards' focuses on the benefits of volunteering including self-development. Our findings have implications for the training and support of student volunteers The file attached to this record is the author's final peer reviewed version. The Publisher's final version can be found by following the DOI link.
'A prisoner of the self': A thematic analysis exploring the reasons for reduced engagement in sport and exercise activities among female undergraduates
'A prisoner of the self': A thematic analysis exploring the reasons for reduced engagement in sport and exercise activities among female undergraduates McKinlay, E.; Wildbur, D. J. Objectives: Despite the positive effects of sport/exercise participation on well-being, engagement in these activities among female undergraduates decreases during the period of their studies. The study adopted a qualitative approach to explore the reasons for such decline and potential effects on well-being. Design: Semi-structured interviews were employed, consisting of a series of open questions, permitting flexibility and in-depth discussion. Methods: Participants were a purposive sample of 12 female university students aged between 18-25 years, studying at a British University. Participants had not engaged in sport or exercise activities for at least six weeks prior to interview. Using thematic analysis, four super-ordinate themes emerged, capturing key contributors to the reductions in sport/ exercise behaviours among female undergraduates. Results: Theme One - 'You are your own worst enemy' focuses on the cognitions that disable female sport/exercise participation. Theme Two – 'The Social Spectrum' captures a contradiction between senses of social isolation vs. support in male-dominated sporting/exercise environments. Theme Three - 'Man, I feel like a woman' explores the societal demands experienced by young women to maintain their physical femininity, whilst pursuing activities that might jeopardise this. Finally, Theme Four - 'Coming of age' focuses on how emergent responsibilities in the context of university life temporarily over-ride the priority of sport/exercise participation. Conclusions: The findings provide valuable insight into the inter-related reasons for declines in sport/exercise participation among a sample of female university students. We discuss our findings in terms of their implications for national campaigns and universities promoting such participation as key to psychological well-being.
"Running alone can be a race": An interpretative phenomenological analysis of the experiences of amateur runners who use wrist-based technology
"Running alone can be a race": An interpretative phenomenological analysis of the experiences of amateur runners who use wrist-based technology Richmond, S.; Wildbur, D. J. Objectives: The study explored the experiences of runners who use wrist-based technology, their motives for maintaining running and any role of the technology in that maintenance. Design: The study utilised a qualitative, phenomenological approach in the form of semi-structured interviews, facilitating in-depth discussion and flexibility. Participants were additionally invited to supplement their verbal data with self-captured visual images. Methods: Participants were a purposive sample of ten participants, who were regular runners and users of wrist-based technology. Verbal data were analysed using Interpretative Phenomenological Analysis (IPA), with visual images used to highlight key experiences. Results: Emergent themes are presented as elements of a three-element, dynamic model in which each element captures beneficial and potentially negative effects of technology on the experience and maintenance of running. Element 1 outlines the role of technology of 'Reifying running through data capture.' Element 2 'Setting targets and achieving goals' reflects the importance of motivation and goals setting in the maintenance of running and the subsequent confirmation of success afforded by technology. Element 3 'Enablement of competition' focuses on the function of technology in facilitating self-comparison and comparison to others. Each element of the model contributes to the maintenance of running by providing focus and purpose. However, potentially negative effects of technology use on well-being were also identified within and across elements, including obsessive behaviour and over-exertion. Conclusions: The findings provide insight into the previously unexplored experiences of runners who use wrist-based technology. However, they also have implications for both users and technology developers, in discouraging negative effects on well-being.
Combining photographs with interviews in the context of phenomenological research around chronic illness: An evaluation.
Combining photographs with interviews in the context of phenomenological research around chronic illness: An evaluation. Quincey, Kerry; Papaloukas, P.; Williamson, I. R.; Fish, Julie; Wildbur, D. J. Background: Health psychologists' adoption of contemporary qualitative research methodologies in recent times has enabled the rise of multiple integrative approaches applicable to the study of long-term conditions. Synthesis of visual and verbal qualitative methods simultaneously presents both potential opportunities and challenges, for the researcher and the researched. Drawing on our experiences of two research studies, both of which explore lived experiences of chronic illnesses in marginalised populations from a critical health psychology perspective, we consider some of the advantages and potential pitfalls of fusing qualitative methodologies. Methods: Both studies combine the collection and analysis of verbal and visual data; phenomenologically oriented semi-structured interviews together with photographs authored by participants themselves. One study focuses on 16 LGBT persons living with multiple sclerosis, while the second investigates 31 British men's lived experiences of breast cancer. The visual component is informed by Photovoice methodology. All data are analyzed using Interpretative Phenomenological Analysis. Findings: Combining the verbal and visual data forms has presented several challenges in both research studies, including epistemological, practical and ethical issues, concerns around 'methodolatry', participant comfort and engagement, and best practice for analysing the data. Despite such challenges, our experiences show methodological synergy is both possible and advantageous; allowing for richer understandings by enabling participants to 'give voice' beyond talk. Discussion: We discuss some of the benefits and shortcomings of combining verbal and visual data when investigating chronic illnesses. We conclude with recommendations for how qualitative health psychologists might further refine integrative approaches which combine verbal and visual data.
Men and breast cancer: what do we know and what do we need to do differently?
Men and breast cancer: what do we know and what do we need to do differently? Quincey, Kerry; Shokuhi, S.; Williamson, I. R.; Appleton, D.; Wildbur, D. J. Rare, under-researched and underfunded, breast cancer in men is frequently overlooked within health and care systems. Increased prevalence and sustained professional and public interest in breast cancer in women has led to pervasive feminisation of the disease and related clinical practices, posing important ramifications for male patient-survivors. Our research adopts a critical health psychology perspective and is two-fold: (1) an international qualitative synthesis of 8 existing studies looking at men's experiences of breast cancer; (2) an on-going study which involves collecting both verbal and photographic data from 31 British men who have experienced breast cancer. Integrating and triangulating the findings from the two study phases, we reveal how the marginalisation of men across the illness trajectory impinges on the male breast cancer experience and men's adjustment to the illness. Findings from the qualitative synthesis demonstrate how current approaches to breast cancer care and advocacy serve to isolate men who develop the disease, potentially alienating and emasculating them. Patient management practices and information resources intended for breast cancer patients unequivocally marginalise men. Preliminary findings from our work-in-progress confirm these earlier findings and further illuminate the difficulties encountered by male patient-survivors on the periphery of optimal psychosocial care and support. We expand on ideas surrounding stigma, masculinities and marginalisation relating to breast cancer in men, and conclude with recommendations for advocacy and intervention for improved future care and breast cancer practices.
A Q-method investigation of individual value priorities in subjective well-being: understanding what makes well-being matter.
A Q-method investigation of individual value priorities in subjective well-being: understanding what makes well-being matter. Drayton, C. M.; Wildbur, D. J. Objectives: The current investigation aimed to inform theory by exploring the question: How do individual value-priorities influence participants' constructions of personal well-being? Design: The study employed Q Methodology, which assembles a comprehensive concourse of literature-informed viewpoints, operationalised as numbered qualitative statements for objective quantitative analysis. Q Method provided the ability to operationalise and integrate complex subjective values, facilitating subsequent interpretative analysis of how values influence subjective well-being. Methods: An opportunity sample of 30 participants (12 male, 18 female; 19-66 years), ranked 60 value statements according to subjective importance on a 13-point forced choice distribution grid ranging from -6 (most unimportant) to +6 (most important). Data were subjected to factor analysis and factor extraction using principle component analysis with Varimax rotation. Data sets loading on separate factors with an Eigenvalue of .06 or above were merged to form holistic factor arrays, each subjected to holistic interpretive analyses. Results: Thirteen participants (8 male 5 female), loaded significantly on five factors, (factors 1,2 and 3; three loadings), (factors 4 and 5; two loadings), accounting for 53% of the sample variance. Holistic analyses identified five themes: Exploring Life through my Choices; Faith Family Acceptance and Balance; Keeping Family Close and Embracing Life; Finding Positive Meaning in the World; Being True to Myself and Defining my Boundaries. Conclusions: Findings demonstrate that individual values have a significant influence on subsequent development of subjective constructs of personal well-being. These constructs do not conform to components associated with one distinct domain of well-being, but incorporate dynamic, interactive components from multiple domains.
Affective attributions for psychological well-being: Pre-existing biases predict attributions of control, responsibility and credit.
Affective attributions for psychological well-being: Pre-existing biases predict attributions of control, responsibility and credit. Sparks, E.; Wildbur, D. J. Objectives: Previous research has identified a hierarchy of attributions for negative but preventable health outcomes (e.g. HIV/AIDS), from control, through responsibility, to blame, which becomes increasingly reliant upon subjective biases. This study investigated whether attributions of control, responsibility and credit for a positive outcome followed a comparably influenced systematic sequence. Design: A vignette-based questionnaire design was implemented. Primary outcome variables were scores on measures of attributions of control, responsibility and credit in response to the positive outcome described in a vignette. Additional variables were measured in order to investigate the reliance of attributions on pre-existing affective, behavioural, and attitudinal biases. Methods: Following their reading of a vignette describing an active pursuit of well-being, a self-selected sample of 144 adults completed online questionnaires measuring attributions of control, responsibility and credit. Measures of happiness, social acceptance, behaviour change, mental health locus of control, and just world beliefs were also completed. Results: Attributions of credit were significantly greater than those of control (p<.001) or responsibility (p<.001), whereas control and responsibility did not differ significantly. Happiness and mental health locus of control uniquely predicted attributions of control (ps<.05) and responsibility (ps<.005), whereas happiness (p=.002) and behaviour change (p=.049) uniquely predicted attributions of credit. Although a hierarchy for positive attributions was evidenced, findings suggest that biases, which deviate from systematic cognitive processing, are inherent to attributional reasoning. Conclusions: Future research is warranted to advance theories of positive attribution processes, with anticipated research impact for informing public policy and promoting observable behaviours that characterise psychological well-being.
Click here for a full listing of Diane Wildbur's publications and outputs.
Research interests/expertise
Psychological well-being in University students and older people
Perceptions of control and responsibility in relation to well-being
Human spatial memory.
Areas of teaching
Psychological Well-being
Research Methods and Statistics.
PhD – University of Leicester
BSc Psychology – University of Leicester.
PSYC1090 Introductory Research Methods in Psychology (Module Leader)
PSYC1094 Empirical Psychology
PSYC2013 Further Research Methods for Psychologists
PSYC2090 Abnormal Psychology
PSYC3000 Psychology Project
PSYC3099 Well-being & Positive Psychology (Module Leader)
PSYC5402 Well-being through the Lifespan
PSYC5403 Lifestyle, Wellness and Well-being (Module Leader)
PSYC5406 Approaches to Psychological Problems
PSYC5605 Research Methods and Data Analysis for Applied Psychologists
SALT2005 psychology for Speech and Language Therapy.
Membership of external committees
Higher Education Academy - 2006-date (Fellow)
British Psychological Society - 2005-date (Chartered Fellow)
Internally funded research project information
Role: Project Lead
Project title: Student and Staff Expectations and Experiences of the Feedback Process.
Funding: DMU Teaching Quality Enhancement Fund
Duration: 2007-2008
Professional esteem indicators
Reviewer for Memory & Cognition, 2011 – date.
Reviewer for McGraw Hill publishers - Research methods and Statistics texts. Last review completed 2009: Field A. Discovering Statistics, Using SPSS.
Search Who's Who


Please note: This qualification does not fulfil Ofsted's first aid requirements for early years teachers, nursery workers and child minders (as defined within the Statutory Framework for the Early Years Foundation Stage 2014 and within The Child Care Register guide). Those who need to comply with Ofsted's Childcare Register or EYFS requirements should complete the 2 day QA Level 3 Award in Paediatric First Aid (QCF).
During this 1 day course, Learners will develop the skills and knowledge needed to deal with a range of paediatric first aid situations, including: managing an unresponsive infant or child, CPR, choking, anaphylaxis, seizures, wounds and bleeding and more.
Assessment: 5 x Practical assessments, 1 x Theory assessment (Multiple Choice Question Paper) and continuous formative assessment conducted throughout the course.


text:
The Riverside–Arlington Line is a former Pacific Electric interurban railway line in the Inland Empire. The route provided suburban service between San Bernardino and Arlington with a later extension to Corona. It operated between 1893 and 1943.

History

The line was built by the Riverside & Arlington Railway Company in 1893, running between Riverside and Arlington. The route was electrified in 1899; the first car ran on April 5 with the opening gala on April 11. The Riverside & Arlington was sold to the Los Angeles Inter-Urban Electric Railway in 1904 before the route was folded into the Pacific Electric system in 1911. On October 20, 1914, the route through Riverside was simplified to only run down Main Street.

The extension to Corona opened February 17, 1915. On July 7, 1924, the Riverside–Arlington Line and Arlington–Corona Line services were split, explained as a measure allow Birney cars on the Corona section. The following week, the Arlington terminal was moved further south on the line to a new Arlington station. Between April and June 1928 the service was through-routed was with the San Bernardino–Riverside Line as part of a scheme developed by the California Railroad Commission; this was reverted after proving unsuccessful.

The Arlington–Corona Line was abandoned on August 11, 1931. Service was re-routed in Riverside to terminate at Market and Seventh by November 2 that year, a move which was reverted in 1940. In 1936, service was transferred one block west to the Market Street Local Line and the Main Street rails were removed.

By 1940, the line was the only Pacific Electric service to not operating in Los Angeles County, running isolated from the rest of the system. The line was discontinued after January 9, 1943. Ending the service during wartime required special clearance from the Office or Defense Transportation; the single track line limited capacity and closing the line freed up cars to be used elsewhere on the system. All tracks had been removed by 1981 and most of the route had been paved over or converted to boulevard median strips.

Route

From 14th Street the single track line ran south in the center of Magnolia Avenue, crossed the Union Pacific Railroad Second Subdivision (now the Los Angeles Subdivision) tracks, went past Central Avenue to Magnolia Junction at Arlington Avenue.

At Arlington Avenue the line turned southwesterly and the track entered a private right of way between the dual roadways of Magnolia Avenue. The line ran southwesterly past Casa Blanca, then past the Sherman Indian High School to Arlington. The line continued through Arlington to La Sierra, then crossed the Atchison, Topeka and Santa Fe Railway Third District (now the BNSF San Bernardino Subdivision) tracks at grade (at May) at present Corona City limits.

The line in private way on Magnolia Avenue continued to Porphyry (Home Gardens) which was an interchange junction with the ATSF. The line turned westerly and ran to the Corona Civic Center where Magnolia Avenue ended. The line then left the private way and turned southwesterly on to 3rd Street in Corona and ran down the center of 3rd Street to the terminus at Merrill Avenue.

Unbuilt connection to Stern
Henry E. Huntington, owner of the Pacific Electric, intended to connect the Corona Line to the Whittier Line via the La Habra–Fullerton–Yorba Linda Line at Stern and through the Santa Ana Canyon. After the Great Merger of 1911, surveys were carried out to establish two routes through the canyon — one on each side of the Santa Ana River.

References

Pacific Electric routes
Light rail in California
Railway lines opened in 1893
1893 establishments in California
Railway lines closed in 1943
1943 disestablishments in California
Closed railway lines in the United States
Transportation in Riverside County, California
Transportation in San Bernardino County, California

redpajama_set_name: RedPajamaWikipedia


Resume Template ~ Bestume Templates Free Download For Pc Windows Microsoft Word Editable Tremendous Best Resume Templates Free Download. Resume Templates. Best Resume Templates Free Download For Windows 7 64 Windows 10. Best Resume Templates Free Download For Windows 10.


text:
/*
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package wvlet.airframe.codec

import wvlet.airframe.json.JSON.JSONValue
import wvlet.airframe.json.Json
import wvlet.airframe.msgpack.spi.Value.ExtensionValue
import wvlet.airframe.msgpack.spi._
import wvlet.airframe.surface.{Primitive, Surface}
import wvlet.airframe.ulid.{PrefixedULID, ULID}

import java.time.Instant
import java.util.Base64
import scala.util.Try

/**
  */
object PrimitiveCodec {
  val primitiveCodec: Map[Surface, MessageCodec[_]] = Map(
    Primitive.Int        -> IntCodec,
    Primitive.Long       -> LongCodec,
    Primitive.Float      -> FloatCodec,
    Primitive.Double     -> DoubleCodec,
    Primitive.Boolean    -> BooleanCodec,
    Primitive.String     -> StringCodec,
    Primitive.Byte       -> ByteCodec,
    Primitive.Short      -> ShortCodec,
    Primitive.Char       -> CharCodec,
    Primitive.Unit       -> UnitCodec,
    Primitive.BigInt     -> BigIntCodec,
    Primitive.BigInteger -> BigIntegerCodec,
    // MessagePack types
    Surface.of[Value]   -> ValueCodec,
    Surface.of[MsgPack] -> RawMsgPackCodec,
    // JSON types
    Surface.of[JSONValue] -> JSONValueCodec,
    Surface.of[Json]      -> RawJsonCodec,
    Surface.of[Any]       -> AnyCodec.default
  )

  val primitiveArrayCodec = Map(
    Surface.of[Array[Int]]     -> IntArrayCodec,
    Surface.of[Array[Long]]    -> LongArrayCodec,
    Surface.of[Array[Float]]   -> FloatArrayCodec,
    Surface.of[Array[Double]]  -> DoubleArrayCodec,
    Surface.of[Array[Boolean]] -> BooleanArrayCodec,
    Surface.of[Array[String]]  -> StringArrayCodec,
    Surface.of[Array[Byte]]    -> ByteArrayCodec,
    Surface.of[Array[Short]]   -> ShortArrayCodec,
    Surface.of[Array[Char]]    -> CharArrayCodec,
    Surface.of[Array[Any]]     -> AnyArrayCodec
  )

  private implicit class RichBoolean(b: Boolean) {
    def toInt: Int     = if (b) 1 else 0
    def toChar: Char   = if (b) 1 else 0
    def toByte: Byte   = if (b) 1 else 0
    def toShort: Short = if (b) 1 else 0
  }

  trait PrimitiveCodec[A] extends MessageCodec[A] {
    def surface: Surface
  }

  object UnitCodec extends PrimitiveCodec[Unit] {
    override def surface: Surface = Primitive.Unit
    override def pack(p: Packer, v: Unit): Unit = {
      // do not pack anything
    }
    override def unpack(
        u: Unpacker,
        v: MessageContext
    ): Unit = {
      // Do not read anything
      v.setNull
    }
  }

  object ByteCodec extends PrimitiveCodec[Byte] {
    def surface = Primitive.Byte

    override def pack(p: Packer, v: Byte): Unit = {
      p.packByte(v)
    }

    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      def read(body: => Byte): Unit = {
        try {
          v.setByte(body)
        } catch {
          case e: IntegerOverflowException =>
            v.setIncompatibleFormatException(this, s"${e.getBigInteger} is too large for a Byte value")
          case e: NumberFormatException =>
            v.setIncompatibleFormatException(this, e.getMessage)
        }
      }

      val f  = u.getNextFormat
      val vt = f.getValueType
      vt match {
        case ValueType.NIL =>
          u.unpackNil
          v.setNull
        case ValueType.INTEGER =>
          read(u.unpackByte)
        case ValueType.FLOAT =>
          read(u.unpackDouble.toByte)
        case ValueType.STRING =>
          read {
            val s = u.unpackString
            Try(s.toByte).getOrElse(s.toDouble.toByte)
          }
        case ValueType.BOOLEAN =>
          read(u.unpackBoolean.toByte)
        case _ =>
          u.skipValue
          v.setNull
      }
    }
  }

  object CharCodec extends PrimitiveCodec[Char] {
    def surface = Primitive.Char

    override def pack(p: Packer, v: Char): Unit = {
      p.packInt(v)
    }

    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      def read(body: => Char): Unit = {
        try {
          v.setChar(body)
        } catch {
          case e: IntegerOverflowException =>
            v.setIncompatibleFormatException(this, s"${e.getBigInteger} is too large for a Char value")
          case e: NumberFormatException =>
            v.setIncompatibleFormatException(this, e.getMessage)
        }
      }

      val f  = u.getNextFormat
      val vt = f.getValueType
      vt match {
        case ValueType.NIL =>
          u.unpackNil
          v.setNull
        case ValueType.INTEGER =>
          read(u.unpackInt.toChar)
        case ValueType.STRING =>
          read {
            val s = u.unpackString
            if (s.length == 1) {
              s.charAt(0)
            } else {
              s.toDouble.toChar
            }
          }
        case ValueType.BOOLEAN =>
          read(u.unpackBoolean.toChar)
        case ValueType.FLOAT =>
          read(u.unpackDouble.toChar)
        case _ =>
          u.skipValue
          v.setNull
      }
    }
  }

  object ShortCodec extends PrimitiveCodec[Short] {
    def surface = Primitive.Short
    override def pack(p: Packer, v: Short): Unit = {
      p.packShort(v)
    }

    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      def read(body: => Short): Unit = {
        try {
          v.setShort(body)
        } catch {
          case e: IntegerOverflowException =>
            v.setIncompatibleFormatException(this, s"${e.getBigInteger} is too large for a Short value")
          case e: NumberFormatException =>
            v.setIncompatibleFormatException(this, e.getMessage)
        }
      }

      val f  = u.getNextFormat
      val vt = f.getValueType
      vt match {
        case ValueType.NIL =>
          u.unpackNil
          v.setNull
        case ValueType.INTEGER =>
          read(u.unpackShort)
        case ValueType.STRING =>
          read {
            val s = u.unpackString
            Try(s.toShort).getOrElse(s.toDouble.toShort)
          }
        case ValueType.BOOLEAN =>
          read(u.unpackBoolean.toShort)
        case ValueType.FLOAT =>
          read(u.unpackDouble.toShort)
        case _ =>
          u.skipValue
          v.setNull
      }
    }
  }

  object IntCodec extends PrimitiveCodec[Int] {
    def surface = Primitive.Int
    override def pack(p: Packer, v: Int): Unit = {
      p.packInt(v)
    }

    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      def read(body: => Int): Unit = {
        try {
          v.setInt(body)
        } catch {
          case e: IntegerOverflowException =>
            v.setIncompatibleFormatException(this, s"${e.getBigInteger} is too large for an Int value")
          case e: NumberFormatException =>
            v.setIncompatibleFormatException(this, e.getMessage)
        }
      }

      val f  = u.getNextFormat
      val vt = f.getValueType
      vt match {
        case ValueType.NIL =>
          u.unpackNil
          v.setNull
        case ValueType.INTEGER =>
          read(u.unpackInt)
        case ValueType.STRING =>
          read {
            val s = u.unpackString
            Try(s.toInt).getOrElse(s.toDouble.toInt)
          }
        case ValueType.BOOLEAN =>
          read(u.unpackBoolean.toInt)
        case ValueType.FLOAT =>
          read(u.unpackDouble.toInt)
        case _ =>
          u.skipValue
          v.setNull
      }
    }
  }

  object LongCodec extends PrimitiveCodec[Long] {
    def surface = Primitive.Long

    override def pack(p: Packer, v: Long): Unit = {
      p.packLong(v)
    }

    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      def read(body: => Long): Unit = {
        try {
          v.setLong(body)
        } catch {
          case e: IntegerOverflowException =>
            v.setIncompatibleFormatException(this, s"${e.getBigInteger} is too large for a Long value")
          case e: NumberFormatException =>
            v.setIncompatibleFormatException(this, e.getMessage)
        }
      }
      val f  = u.getNextFormat
      val vt = f.getValueType
      vt match {
        case ValueType.NIL =>
          u.unpackNil
          v.setNull
        case ValueType.INTEGER =>
          read(u.unpackLong)
        case ValueType.STRING =>
          read {
            val s = u.unpackString
            Try(s.toLong).getOrElse(s.toDouble.toLong)
          }
        case ValueType.BOOLEAN =>
          read(u.unpackBoolean.toInt)
        case ValueType.FLOAT =>
          read(u.unpackDouble.toLong)
        case _ =>
          u.skipValue
          v.setNull
      }
    }
  }

  object BigIntCodec extends PrimitiveCodec[BigInt] {
    def surface = Primitive.BigInt

    override def pack(p: Packer, v: BigInt): Unit = {
      if (v.compareTo(BigInt(Long.MaxValue)) <= 0) {
        p.packLong(v.longValue)
      } else {
        p.packString(v.toString(10))
      }
    }

    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      def read(body: => BigInt): Unit = {
        try {
          v.setObject(body)
        } catch {
          case e: IntegerOverflowException =>
            v.setIncompatibleFormatException(this, s"${e.getBigInteger} is too large for a Long value")
          case e: NumberFormatException =>
            v.setIncompatibleFormatException(this, e.getMessage)
        }
      }
      val f  = u.getNextFormat
      val vt = f.getValueType
      vt match {
        case ValueType.NIL =>
          u.unpackNil
          v.setNull
        case ValueType.INTEGER =>
          read(BigInt(u.unpackLong))
        case ValueType.STRING =>
          read {
            val s = u.unpackString
            Try(BigInt(s, 10)).getOrElse(BigInt(s.toDouble.toLong))
          }
        case ValueType.BOOLEAN =>
          read(BigInt(u.unpackBoolean.toInt))
        case ValueType.FLOAT =>
          read(BigInt(u.unpackDouble.toLong))
        case _ =>
          u.skipValue
          v.setNull
      }
    }
  }

  object BigIntegerCodec extends PrimitiveCodec[java.math.BigInteger] {
    def surface = Primitive.BigInteger

    override def pack(p: Packer, v: java.math.BigInteger): Unit = {
      if (v.compareTo(java.math.BigInteger.valueOf(Long.MaxValue)) <= 0) {
        p.packLong(v.longValue())
      } else {
        p.packString(v.toString(10))
      }
    }

    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      def read(body: => java.math.BigInteger): Unit = {
        try {
          v.setObject(body)
        } catch {
          case e: IntegerOverflowException =>
            v.setIncompatibleFormatException(this, s"${e.getBigInteger} is too large for a Long value")
          case e: NumberFormatException =>
            v.setIncompatibleFormatException(this, e.getMessage)
        }
      }
      val f  = u.getNextFormat
      val vt = f.getValueType
      vt match {
        case ValueType.NIL =>
          u.unpackNil
          v.setNull
        case ValueType.INTEGER =>
          read(java.math.BigInteger.valueOf(u.unpackLong))
        case ValueType.STRING =>
          read {
            val s = u.unpackString
            Try(new java.math.BigInteger(s, 10)).getOrElse(java.math.BigInteger.valueOf(s.toDouble.toLong))
          }
        case ValueType.BOOLEAN =>
          read(java.math.BigInteger.valueOf(u.unpackBoolean.toInt))
        case ValueType.FLOAT =>
          read(java.math.BigInteger.valueOf(u.unpackDouble.toLong))
        case _ =>
          u.skipValue
          v.setNull
      }
    }
  }

  object StringCodec extends PrimitiveCodec[String] {
    def surface = Primitive.String

    override def pack(p: Packer, v: String): Unit = {
      if (v == null) {
        p.packNil
      } else {
        p.packString(v)
      }
    }

    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      def read(body: => String): Unit = {
        try {
          val s = body
          v.setString(s)
        } catch {
          case e: IntegerOverflowException =>
            read(e.getBigInteger.toString())
          case e: NumberFormatException =>
            v.setIncompatibleFormatException(this, e.getMessage)
        }
      }

      u.getNextFormat.getValueType match {
        case ValueType.NIL =>
          u.unpackNil
          v.setNull
        case ValueType.STRING =>
          read(u.unpackString)
        case ValueType.INTEGER =>
          read(u.unpackLong.toString)
        case ValueType.BOOLEAN =>
          read(u.unpackBoolean.toString)
        case ValueType.FLOAT =>
          read(u.unpackDouble.toString)
        case ValueType.MAP =>
          read(u.unpackValue.toJson)
        case ValueType.ARRAY =>
          read(u.unpackValue.toJson)
        case ValueType.BINARY =>
          read {
            val len = u.unpackBinaryHeader
            Base64.getEncoder.encodeToString(u.readPayload(len))
          }
        case _ =>
          // Use JSON format for unknown types so that we can read arbitrary types as String value
          read(u.unpackValue.toJson)
      }
    }
  }

  object BooleanCodec extends PrimitiveCodec[Boolean] {
    def surface = Primitive.Boolean
    override def pack(p: Packer, v: Boolean): Unit = {
      p.packBoolean(v)
    }

    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      def read(body: => Boolean): Unit = {
        try {
          val b = body
          v.setBoolean(b)
        } catch {
          case e: IntegerOverflowException =>
            v.setBoolean(e.getBigInteger.doubleValue() != 0.0)
          case e: IllegalArgumentException =>
            v.setIncompatibleFormatException(this, e.getMessage)
        }
      }

      u.getNextFormat.getValueType match {
        case ValueType.NIL =>
          u.unpackNil
          v.setNull
        case ValueType.BOOLEAN =>
          read(u.unpackBoolean)
        case ValueType.STRING =>
          read {
            val s = u.unpackString
            Try(s.toBoolean).getOrElse(s.toDouble != 0.0)
          }
        case ValueType.INTEGER =>
          read(u.unpackLong != 0L)
        case ValueType.FLOAT =>
          read(u.unpackDouble != 0.0)
        case _ =>
          u.skipValue
          v.setNull
      }
    }
  }

  object FloatCodec extends PrimitiveCodec[Float] {
    def surface = Primitive.Float
    override def pack(p: Packer, v: Float): Unit = {
      p.packFloat(v)
    }

    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      def read(body: => Float): Unit = {
        try {
          v.setFloat(body)
        } catch {
          case e: IntegerOverflowException =>
            v.setFloat(e.getBigInteger.floatValue())
          case e: IllegalArgumentException =>
            v.setIncompatibleFormatException(this, e.getMessage)
        }
      }
      u.getNextFormat.getValueType match {
        case ValueType.NIL =>
          u.unpackNil
          v.setNull
        case ValueType.FLOAT =>
          read(u.unpackFloat.toFloat)
        case ValueType.INTEGER =>
          read(u.unpackLong.toFloat)
        case ValueType.BOOLEAN =>
          read(u.unpackBoolean.toInt.toFloat)
        case ValueType.STRING =>
          read(u.unpackString.toFloat)
        case _ =>
          u.skipValue
          v.setNull
      }
    }
  }

  object DoubleCodec extends PrimitiveCodec[Double] {
    def surface = Primitive.Double

    override def pack(p: Packer, v: Double): Unit = {
      p.packDouble(v)
    }

    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      def read(body: => Double): Unit = {
        try {
          v.setDouble(body)
        } catch {
          case e: IntegerOverflowException =>
            v.setDouble(e.getBigInteger.doubleValue())
          case e: IllegalArgumentException =>
            v.setIncompatibleFormatException(this, e.getMessage)
        }
      }
      u.getNextFormat.getValueType match {
        case ValueType.NIL =>
          u.unpackNil
          v.setNull
        case ValueType.FLOAT =>
          read(u.unpackDouble)
        case ValueType.INTEGER =>
          read(u.unpackLong.toDouble)
        case ValueType.BOOLEAN =>
          read(u.unpackBoolean.toInt.toDouble)
        case ValueType.STRING =>
          read(u.unpackString.toDouble)
        case _ =>
          u.skipValue
          v.setNull
      }
    }
  }

  trait PrimitiveArrayCodec { self: MessageCodec[_] =>

    /**
      * Unpack the input as JSON Array (ValueType.STRING) or ValueType.ARRAY
      * @param u
      * @param v
      * @param unpackRawArray
      */
    protected def unpackArray(u: Unpacker, v: MessageContext)(unpackRawArray: => Unit): Unit = {
      u.getNextFormat.getValueType match {
        case ValueType.STRING =>
          // Assume it's JSON input
          val jsonArray = u.unpackString
          val msgpack   = JSONCodec.toMsgPack(jsonArray)
          val unpacker  = MessagePack.newUnpacker(msgpack)
          // Parse again
          unpack(unpacker, v)
        case ValueType.ARRAY =>
          unpackRawArray
        case other =>
          v.setIncompatibleFormatException(this, s"STRING or ARRAY type ie expected, but ${other} is found")
          u.skipValue
      }
    }
  }

  object IntArrayCodec extends MessageCodec[Array[Int]] with PrimitiveArrayCodec {
    override def pack(p: Packer, v: Array[Int]): Unit = {
      p.packArrayHeader(v.length)
      v.foreach { x =>
        IntCodec.pack(p, x)
      }
    }

    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      unpackArray(u, v) {
        val len = u.unpackArrayHeader
        val b   = Array.newBuilder[Int]
        b.sizeHint(len)
        (0 until len).foreach { i =>
          IntCodec.unpack(u, v)
          if (v.isNull) {
            // TODO report error?
            b += 0
          } else {
            val l = v.getInt
            b += l.toInt
          }
        }
        v.setObject(b.result())
      }
    }
  }

  object ShortArrayCodec extends MessageCodec[Array[Short]] with PrimitiveArrayCodec {
    override def pack(p: Packer, v: Array[Short]): Unit = {
      p.packArrayHeader(v.length)
      v.foreach { x =>
        ShortCodec.pack(p, x)
      }
    }

    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      unpackArray(u, v) {
        val len = u.unpackArrayHeader
        val b   = Array.newBuilder[Short]
        b.sizeHint(len)
        (0 until len).foreach { i =>
          IntCodec.unpack(u, v)
          if (v.isNull) {
            // TODO report error?
            b += 0
          } else {
            val l = v.getShort
            if (l.isValidInt) {
              b += l.toShort
            } else {
              // report error?
              b += 0
            }
          }
        }
        v.setObject(b.result())
      }
    }
  }

  object CharArrayCodec extends MessageCodec[Array[Char]] with PrimitiveArrayCodec {
    override def pack(p: Packer, v: Array[Char]): Unit = {
      p.packArrayHeader(v.length)
      v.foreach { x =>
        CharCodec.pack(p, x)
      }
    }

    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      unpackArray(u, v) {
        val len = u.unpackArrayHeader
        val b   = Array.newBuilder[Char]
        b.sizeHint(len)
        (0 until len).foreach { i =>
          CharCodec.unpack(u, v)
          if (v.isNull) {
            // TODO report error?
            b += 0
          } else {
            val l = v.getLong
            if (l.isValidChar) {
              b += l.toChar
            } else {
              // report error?
              b += 0
            }
          }
        }
        v.setObject(b.result())
      }
    }
  }

  object LongArrayCodec extends MessageCodec[Array[Long]] with PrimitiveArrayCodec {
    override def pack(p: Packer, v: Array[Long]): Unit = {
      p.packArrayHeader(v.length)
      v.foreach { x =>
        LongCodec.pack(p, x)
      }
    }

    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      unpackArray(u, v) {
        val len = u.unpackArrayHeader
        val b   = Array.newBuilder[Long]
        b.sizeHint(len)
        (0 until len).foreach { i =>
          LongCodec.unpack(u, v)
          if (v.isNull) {
            // TODO report error?
            b += 0L
          } else {
            val l = v.getLong
            b += l
          }
        }
        v.setObject(b.result())
      }
    }
  }

  object FloatArrayCodec extends MessageCodec[Array[Float]] with PrimitiveArrayCodec {
    override def pack(p: Packer, v: Array[Float]): Unit = {
      p.packArrayHeader(v.length)
      v.foreach { x =>
        FloatCodec.pack(p, x)
      }
    }

    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      unpackArray(u, v) {
        val len = u.unpackArrayHeader
        val b   = Array.newBuilder[Float]
        b.sizeHint(len)
        (0 until len).foreach { i =>
          val d = FloatCodec.unpack(u, v)
          if (v.isNull) {
            // report error?
            b += 0
          } else {
            // TODO check precision
            b += v.getDouble.toFloat
          }
        }
        v.setObject(b.result())
      }
    }
  }

  object DoubleArrayCodec extends MessageCodec[Array[Double]] with PrimitiveArrayCodec {
    override def pack(p: Packer, v: Array[Double]): Unit = {
      p.packArrayHeader(v.length)
      v.foreach { x =>
        DoubleCodec.pack(p, x)
      }
    }

    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      unpackArray(u, v) {
        val len = u.unpackArrayHeader
        val b   = Array.newBuilder[Double]
        b.sizeHint(len)
        (0 until len).foreach { i =>
          val d = DoubleCodec.unpack(u, v)
          if (v.isNull) {
            // report error?
            b += 0
          } else {
            b += v.getDouble
          }
        }
        v.setObject(b.result())
      }
    }
  }

  object BooleanArrayCodec extends MessageCodec[Array[Boolean]] with PrimitiveArrayCodec {
    override def pack(p: Packer, v: Array[Boolean]): Unit = {
      p.packArrayHeader(v.length)
      v.foreach { x =>
        BooleanCodec.pack(p, x)
      }
    }

    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      unpackArray(u, v) {
        val len = u.unpackArrayHeader
        val b   = Array.newBuilder[Boolean]
        b.sizeHint(len)
        (0 until len).foreach { i =>
          BooleanCodec.unpack(u, v)
          if (v.isNull) {
            // report error?
            b += false
          } else {
            b += v.getBoolean
          }
        }
        v.setObject(b.result())
      }
    }
  }

  object ByteArrayCodec extends MessageCodec[Array[Byte]] {
    override def pack(p: Packer, v: Array[Byte]): Unit = {
      p.packBinaryHeader(v.length)
      p.addPayload(v)
    }
    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      u.getNextValueType match {
        case ValueType.BINARY =>
          val len = u.unpackBinaryHeader
          val b   = u.readPayload(len)
          v.setObject(b)
        case ValueType.STRING =>
          val strByteLen = u.unpackRawStringHeader
          val strBinary  = u.readPayload(strByteLen)
          val arr: Array[Byte] =
            try {
              // Try decoding as base64
              Base64.getDecoder.decode(strBinary)
            } catch {
              case e: IllegalArgumentException =>
                // Raw string
                strBinary
            }
          v.setObject(arr)
        case _ =>
          // Set MessagePack binary
          val value = u.unpackValue
          v.setObject(value.toMsgpack)
      }
    }
  }

  object RawMsgPackCodec extends MessageCodec[MsgPack] {
    override def pack(p: Packer, v: Array[Byte]): Unit = {
      p.packBinaryHeader(v.length)
      p.addPayload(v)
    }
    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      u.getNextValueType match {
        case ValueType.BINARY =>
          val len = u.unpackBinaryHeader
          val b   = u.readPayload(len)
          v.setObject(b)
        case _ =>
          // Set MessagePack binary
          val value = u.unpackValue
          v.setObject(value.toMsgpack)
      }
    }
  }

  object StringArrayCodec extends MessageCodec[Array[String]] with PrimitiveArrayCodec {
    override def pack(p: Packer, v: Array[String]): Unit = {
      p.packArrayHeader(v.length)
      v.foreach { x =>
        StringCodec.pack(p, x)
      }
    }

    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      unpackArray(u, v) {
        val len = u.unpackArrayHeader
        val b   = Array.newBuilder[String]
        b.sizeHint(len)
        (0 until len).foreach { i =>
          StringCodec.unpack(u, v)
          if (v.isNull) {
            b += "" // or report error?
          } else {
            b += v.getString
          }
        }
        v.setObject(b.result())
      }
    }
  }

  object AnyArrayCodec extends MessageCodec[Array[Any]] with PrimitiveArrayCodec {
    override def pack(p: Packer, v: Array[Any]): Unit = {
      p.packArrayHeader(v.length)
      v.foreach { x =>
        AnyCodec.default.pack(p, x)
      }
    }
    override def unpack(
        u: Unpacker,
        v: MessageContext
    ): Unit = {
      unpackArray(u, v) {
        val len = u.unpackArrayHeader
        val b   = Array.newBuilder[Any]
        b.sizeHint(len)
        (0 until len).foreach { i =>
          AnyCodec.default.unpack(u, v)
          if (v.isNull) {
            b += null // or report error?
          } else {
            b += v.getLastValue
          }
        }
        v.setObject(b.result())
      }
    }
  }

  /**
    * MessagePack value codec
    */
  object ValueCodec extends MessageCodec[Value] {
    override def pack(p: Packer, v: Value): Unit = {
      p.packValue(v)
    }

    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      v.setObject(u.unpackValue)
    }
  }

  object AnyCodec {
    val default: AnyCodec = new AnyCodec()
  }

  /**
    * Codec for Any values. This only supports very basic types to enable packing/unpacking collections like Seq[Any],
    * Map[Any, Any] at ease.
    *
    * Another option to implement AnyCodec is packing pairs of (type, value), but we will not take this approach as this
    * will require many bytes to fully encode type names.
    */
  class AnyCodec(
      codecFactory: MessageCodecFactory = MessageCodecFactory.defaultFactoryForJSON,
      knownSurfaces: Seq[Surface] = Seq.empty
  ) extends MessageCodec[Any] {

    private val knownSurfaceTable = knownSurfaces.map(s => s.rawType -> s).toMap[Class[_], Surface]

    override def pack(p: Packer, v: Any): Unit = {
      v match {
        case null => p.packNil
        // Primitive types
        case v: String       => StringCodec.pack(p, v)
        case v: Boolean      => BooleanCodec.pack(p, v)
        case v: Int          => IntCodec.pack(p, v)
        case v: Long         => LongCodec.pack(p, v)
        case v: Float        => FloatCodec.pack(p, v)
        case v: Double       => DoubleCodec.pack(p, v)
        case v: Byte         => ByteCodec.pack(p, v)
        case v: Short        => ShortCodec.pack(p, v)
        case v: Char         => CharCodec.pack(p, v)
        case v: JSONValue    => JSONValueCodec.pack(p, v)
        case v: Value        => ValueCodec.pack(p, v)
        case v: Instant      => p.packTimestamp(v)
        case ps: PackSupport => ps.pack(p)
        case v: ULID         => ULIDCodec.pack(p, v)
        case v: PrefixedULID => PrefixedULIDCodec.pack(p, v)
        // Arrays
        case v: Array[String]  => StringArrayCodec.pack(p, v)
        case v: Array[Boolean] => BooleanArrayCodec.pack(p, v)
        case v: Array[Int]     => IntArrayCodec.pack(p, v)
        case v: Array[Long]    => LongArrayCodec.pack(p, v)
        case v: Array[Float]   => FloatArrayCodec.pack(p, v)
        case v: Array[Double]  => DoubleArrayCodec.pack(p, v)
        case v: Array[Byte]    => ByteArrayCodec.pack(p, v)
        case v: Array[Short]   => ShortArrayCodec.pack(p, v)
        case v: Array[Char]    => CharArrayCodec.pack(p, v)
        case v: Array[_] =>
          p.packArrayHeader(v.length)
          for (x <- v) {
            pack(p, x)
          }
        // Collections
        case v: Option[_] =>
          if (v.isEmpty) {
            p.packNil
          } else {
            pack(p, v.get)
          }
        case v: Seq[_] =>
          p.packArrayHeader(v.length)
          for (x <- v) {
            pack(p, x)
          }
        case m: Map[_, _] =>
          p.packMapHeader(m.size)
          for ((k, v) <- m) {
            pack(p, k)
            pack(p, v)
          }
        case e: Either[_, _] =>
          p.packArrayHeader(2)
          e match {
            case Left(l) =>
              pack(p, l)
              p.packNil
            case Right(r) =>
              p.packNil
              pack(p, r)
          }
        case v: Throwable =>
          ThrowableCodec.pack(p, v)
        case _ =>
          val cl = v.getClass
          knownSurfaceTable.get(cl) match {
            case Some(surface) =>
              val codec = codecFactory.ofSurface(surface).asInstanceOf[MessageCodec[Any]]
              codec.pack(p, v)
            case None =>
              wvlet.airframe.codec.Compat.codecOfClass(cl, codecFactory) match {
                case Some(codec) =>
                  codec.asInstanceOf[MessageCodec[Any]].pack(p, v)
                case None =>
                  // Pack as a string for unknown types
                  StringCodec.pack(p, v.toString)
              }
          }
      }
    }

    override def unpack(u: Unpacker, v: MessageContext): Unit = {
      u.getNextValueType match {
        case ValueType.NIL =>
          u.unpackNil
          v.setNull
        case ValueType.BOOLEAN =>
          v.setBoolean(u.unpackBoolean)
        case ValueType.INTEGER =>
          v.setLong(u.unpackLong)
        case ValueType.FLOAT =>
          v.setDouble(u.unpackDouble)
        case ValueType.STRING =>
          v.setString(u.unpackString)
        case ValueType.BINARY =>
          val len = u.unpackBinaryHeader
          v.setObject(u.readPayload(len))
        case ValueType.ARRAY =>
          val len = u.unpackArrayHeader
          val b   = Seq.newBuilder[Any]
          b.sizeHint(len)
          (0 until len).foreach { i =>
            unpack(u, v)
            if (v.isNull) {
              b += null // or report error?
            } else {
              b += v.getLastValue
            }
          }
          v.setObject(b.result())
        case ValueType.MAP =>
          val len = u.unpackMapHeader
          val b   = Map.newBuilder[Any, Any]
          b.sizeHint(len)
          for (i <- 0 until len) {
            unpack(u, v)
            val key = v.getLastValue
            unpack(u, v)
            val value = v.getLastValue
            b += (key -> value)
          }
          v.setObject(b.result())
        case ValueType.EXTENSION =>
          val ext = u.unpackExtTypeHeader
          if (ext.extType == -1) {
            v.setObject(u.unpackTimestamp(ext))
          } else {
            val extBody = u.readPayload(ext.byteLength)
            v.setObject(ExtensionValue(ext.extType, extBody))
          }
      }
    }
  }
}

redpajama_set_name: RedPajamaGithub


text:
Q: obtaining quantiles from complete gaussian fit of data in R I have been struggling with how R calculates quantiles and the normal fitting of data.
I have data (NDVI values) that follows a truncated normal distribution (see figure)
I am interested in getting the lowest 10th percentile value (p=0.1) from the data and from the fitting normal distribution curve.
In my understanding, because the data is truncated, the two should be quite different: I expect the quantile from the data to be higher than the one calculated from the normal distribution, but this is not so. For what I understand of the quantile function help the quantile from the data should be the default quantile function:
q=quantile(y, p=0.1)

while the quantile from the normal distribution is :
qx=quantile(y, p=0.1, type=9)

However the two result very close in all cases, which makes me wonder to what type of distribution does R fit the data to calculate the quantile (truncated normal dist.?)
I have also tried to calculate the quantile based on the fitting normal curve as:
fitted=fitdist(as.numeric(y), "norm", discrete = T)
fit.q=as.numeric(quantile(fitted, p=0.1)[[1]][1])

but obtaining no difference.
So my questions are:
To what curve does R fit the data for calculating quantiles, in particular for type=9 ? How can I calculate the quantile based on the complete normal distribution (including the lower tail)?
I don't know how to generate a reproducible example for this, but the  data is available at https://dl.dropboxusercontent.com/u/26249349/data.csv
Thanks!

A: R is using the empirical ordering of the data when determining quantiles, rather than assuming any particular distribution.
The 10th percentile for your truncated data and a normal distribution fit to your data happen to be pretty close, although the 1st percentile is quite a bit different. For example:
# Load data
df = read.csv("data.csv", header=TRUE, stringsAsFactors=FALSE)

# Fit a normal distribution to the data
df.dist = fitdist(df$x, "norm", discrete = T)

Now let's get quantiles of the fitted distribution and the original data. I've included the 1st percentile in addition to the 10th percentile. You can see that the fitted normal distribution's 10th percentile is just a bit lower than that of the data. However, the 1st percentile of the fitted normal distribution is much lower.
quantile(df.dist, p=c(0.01, 0.1))

Estimated quantiles for each specified probability (non-censored data)
           p=0.01    p=0.1
estimate 1632.829 2459.039

quantile(df$x, p=c(0.01, 0.1))

       1%     10%
  2064.79 2469.90

quantile(df$x, p=c(0.01, 0.1), type=9)

        1%      10%
  2064.177 2469.400

You can also see this by direct ranking of the data and by getting the 1st and 10th percentiles of a normal distribution with mean and sd equal to the fitted values from fitdist:
# 1st and 10th percentiles of data by direct ranking
df$x[order(df$x)][round(c(0.01,0.1)*5780)]
[1] 2064 2469

# 1st and 10th percentiles of fitted distribution
qnorm(c(0.01,0.1), df.dist$estimate[1], df.dist$estimate[2])
[1] 1632.829 2459.039

Let's plot histograms of the original data (blue) and of fake data generated from the fitted normal distribution (red). The area of overlap is purple.
# Histogram of data (blue)
hist(df$x, xlim=c(0,8000), ylim=c(0,1600), col="#0000FF80")

# Overlay histogram of random draws from fitted normal distribution (red)
set.seed(685)
set.seed(685)
x.fit = rnorm(length(df$x), df.dist$estimate[1], df.dist$estimate[2])
hist(x.fit, add=TRUE, col="#FF000080")

Or we can plot the empirical cumulative distribution function (ecdf) for the data (blue) and the random draws from the fitted normal distribution (red). The horizontal grey line marks the 10th percentile:
plot(ecdf(df$x), xlim=c(0,8000), col="blue")
lines(ecdf(x.fit), col="red")
abline(0.1,0, col="grey40", lwd=2, lty="11")

Now that I've gone through this, I'm wondering if you were expecting fitdist to return the parameters of the normal distribution we would have gotten had your data really come from a normal distribution and not been truncated. Rather, fitdist returns a normal distribution with the mean and sd of the (truncated) data at hand, so the distribution returned by fitdist is shifted to the right compared to where we might have "expected" it to be.
c(mean=mean(df$x), sd=sd(df$x))

     mean        sd
3472.4708  790.8538

df.dist$estimate

     mean        sd
3472.4708  790.7853

Or, another quick example: x is normally distributed with mean ~ 0 and sd ~ 1. xtrunc removes all values less than -1, and xtrunc.dist is the output of fitdist on xtrunc:
set.seed(55)
x = rnorm(6000)
xtrunc = x[x > -1]
xtrunc.dist = fitdist(xtrunc, "norm")

round(cbind(sapply(list(x=x,xtrunc=xtrunc), function(x) c(mean=mean(x),sd=sd(x))),
      xtrunc.dist=xtrunc.dist$estimate),3)

          x xtrunc xtrunc.dist
mean -0.007  0.275       0.275
sd    1.009  0.806       0.806

And you can see in the ecdf plot below that the truncated data and the normal distribution fitted to the truncated data have about the same 10th percentile, while the 10th percentile of the untruncated data is (as we would expect) shifted to the left.

redpajama_set_name: RedPajamaStackExchange


text:
Mountain Scholar Home
Colorado State University, Fort Collins
CSU Archives and Special Collections
Water Resources Archive
Green (Bill) Photographs
Green (Bill) Photographs: Recent submissions
Colorado, numbers 3140-3201
Contributor:Green, Bill
Images of reservoirs, wilderness areas, and mountains in Colorado
Utah, Arizona, Colorado, numbers 1716-1765
Date:undated
Images of rivers, reservoirs and dams, national parks, and the effects of drought in Utah, Arizona, and Colorado
California, New Mexico, Wyoming, numbers 1593-1644
Images of rivers, reservoirs and dams, national parks, state parks, and beaches in California, Wyoming, and New Mexico
California, numbers 1533-1592
Images of elephant seals and elk, rivers, national parks, state parks, and beaches in California
Images of rivers, dams and reservoirs, national parks, canyons, and beaches in California
Utah, numbers 1415-1474
Images of rivers, Canyonlands and Arches National Parks, Anasazi ruins, and trails in Utah
Images of rivers, national parks, wilderness areas, trails, and mountains in Colorado
Images of the unincorporated community of Eldora, rivers, national parks, wilderness areas, trails, and mountains in Colorado
Images of rivers, dams and reservoirs, national parks, wilderness areas, and mountains in Colorado
Images of rivers, national monuments, wilderness areas, and mountains in Colorado
Images of rivers, reservoirs, national parks, wilderness areas, mountains, and trails in Colorado
Images of irrigation, reservoirs, wilderness areas, and mountains in Colorado
Images of towns, rivers, national parks, wilderness areas, trails, and mountains in Colorado
Images of rivers, national forests, wilderness areas, and mountains in Colorado
Images of irrigation, Moffat Tunnel, and mountains in Colorado
Vallecito Reservoir, Colorado
Date:2002-09
Vallecito Reservoir on Vallecito Creek in the drought of 2002, the most severe drought of record in many parts of Colorado. About 19,000 ac-ft stored in a total capacity of 126,000 ac-ft.
Vallecito Creek above Vallecito Reservoir, Colorado
Vallecito Creek above Vallecito Reservoir in the drought of 2002, the most severe drought of record in many parts of Colorado
Spinney Mountain Dam and Reservoir, Colorado
Spinney Mountain Dam and Reservoir on the South Platte River in the drought of 2002, the most severe drought of record in many parts of Colorado.
Vallecito burn area at Vallecito Reservoir, Colorado
Burn area at Vallecito Reservoir in the drought of 2002. Many wildfires occurred in the drought of 2002.
Search Mountain Scholar
All of Mountain ScholarCommunities & CollectionsDatesAuthorsTitlesSubjectsThis CollectionDatesAuthorsTitlesSubjects

redpajama_set_name: RedPajamaCommonCrawl


text:
By By Mike Huckabee
One thing Donald Trump supporters like most about him is that he's not a slick professional politician, regurgitating scripted, focus group-approved nuggets of empty verbiage. He says what pops into his mind. But we live in an era when any non-PC thought ignites a firestorm of indignation, and Trump goes off script often enough that his press coverage seems more like live remotes from the California forest fires.
This does give the media a handy distraction, though. Yesterday, instead of questioning how Hillary can possibly vet 10,000 Syrian refugees when she can't even keep the Taliban-supporting father of one of America's worst terrorist murderers out of her own rally's peanut gallery, the media were instead ablaze over Trump allegedly suggesting that gun owners shoot Hillary Clinton or liberal judges. Actually, Trump says his ad-lib about Second Amendment supporters being the only ones who could stop her from destroying gun rights just meant that they are well-organized and politically active. But that was all Democratic spokespeople and the news media (but I repeat myself) needed to launch into full hysteria mode and start howling that the Secret Service investigate Trump for fomenting assassination.
This is probably the most hypocritical charge since they accused him of fomenting espionage for making a joke about Hillary Clinton's actual exposure of government secrets to America's enemies. When leftist rent-a-mobs showed up at Trump rallies, threatening and attacking his supporters, who was blamed? Trump, because his rhetoric "incited" their violence. When someone with a Trump sign or bumper sticker has his property vandalized, or someone in a Trump T-shirt or hat is assaulted, is Hillary blamed? This kind of thuggery from the left has become routine. "Dilbert" creator Scott Adams noted in his blog that he got so much grief simply for praising Trump's persuasion skills that he endorsed Hillary for no other reason than that he feared for his life if he didn't. He argued that the media were actually encouraging attempts on Trump's life with their constant false comparisons of him to Hitler, giving moral justification to any psycho who might think it his duty to prevent Trump from winning the election.
Liberal celebrities also seem to think their strict PC tolerance rules for language don't apply when they're talking about Republicans. For instance, Will Smith just made news by saying in Dubai that Trump's views should be "cleansed out of our country." When applied to people of opposing views, the world "cleansed" usually doesn't mean scrubbing them down with Lifebuoy.
And let's not forget the long history of Democratic politicians using violent rhetoric against their opponents, even referencing assassination. Daniel Greenfield at Frontpagemag.com reminds us that John Kerry once joked to Bill Maher about killing President Bush, and the media never suggested it disqualified him from becoming Secretary of State. And in 2008, Hillary Clinton herself tried to justify staying in the race in June despite a big Obama lead by reminding people that Robert Kennedy was leading in June when he was assassinated.
So yes, there's no question that Republicans would rack up lower Excedrin bills if Trump would quit going off-script. But it would also be better for the news media's reputation (whatever ashes remain of it) if they'd pay more attention to real issues and quit screaming and pulling their hair out over every off-hand Trump comment. If not, we may have to invent a new term to describe their over-the-top partisan hysteria. Maybe we could call it "Crying Wolf Blitzer."
Permalink: https://www.mikehuckabee.com/2016/8/donald-trump
Christine Leon
Thank you for saying it... like it is ... a speaker of TRUTH.... that's a great mission in this country!
J Leppanen
Thank you for standing with Trump! I only hope that Mr. Trump has a strong strategy in the works for the remaining days of the campaign. The Clinton campaign is getting away with murder, skipping away unscathed from egregious behavior, with our supposed "justice" department turning a blind eye. Our entire political system is rigged, and the media is lopsided and biased and lazy and sticking up for the status quo. As you referenced, people are feeling badgered and afraid for their safety if they don't back Hillary. I think literally the voting population should be encouraged to vote their conscience, to not feel bullied one way or the other. I heard someone say they can't vote for Trump because he SAYS bad things. Well, Hillary has actually DONE bad things. What's the psychology behind that?


The Department of Education requested over 10 percent less funding for its 2018 budget, and an education scholar explained Friday why he supported the decision.
The Trump administration requested $59.9 billion for 2018 — an amount $7.1 billion smaller than its 2017 budget.
Lance Izumi, senior director of education studies at the Pacific Research Institute, explained to The Daily Caller News Foundation why that is a good thing.
It "eats up about $2 billion per year, and it's supposed to provide these after school and other supplemental programs," Izumi told TheDCNF.
In fact, "students produced lower reading scores by participating compared to those who did not," the scholar said.
Do you think it's okay to eliminate those programs?
Izumi also commented on the $1.1 billion the Education Department hopes to dedicate to school-choice initiatives.
He explained that even if the federal government bolsters charter-school funding, it makes little difference if state laws still impede the schools from opening.


text:
Pieces (1982)
Pieces (1982) Watch Online Free
A frustrated Boston detective searches for the maniac responsible for mutilating a number of university coeds.
Director: Juan Piquer Simón
Actors: Christopher George, Edmund Purdom, Frank Braña, Ian Sera, Jack Taylor, Lynda Day George, Paul L. Smith
Country: Puerto Rico, Spain, USA
Candyman: Farewell to the Flesh
The Candyman moves on to New Orleans and starts his horrific murders once more. This time, his intended victim is a school teacher. Her father was killed by the Candyman,…
When a local woman disappears and the police can't seem to find any leads, her father turns to a poor young woman with psychic powers. Slowly she starts having visions…
Genre: Drama, Fantasy, Horror, Mystery
Psycho Cop Returns
A group of office workers decide to have a party in the office building. Among other things, they want to have some drugs there. Their conversation on the subject is…
The Relic
A homicide detective and an anthropologist try to destroy a South American lizard-like god, who's on a people eating rampage in a Chicago museum.
Country: Germany, Japan, UK, USA
Genre: Horror, Mystery, Science Fiction, Thriller
Scalps
Silly group of college science students go an dig around in an indian burial ground for artifacts. Unfortunately, one of them becomes possessed by the evil spirit of Black Claw…
When Cecilia's abusive ex takes his own life and leaves her his fortune, she suspects his death was a hoax. As a series of coincidences turn lethal, Cecilia works to…
Genre: Horror, Mystery, Science Fiction, Thriller, Trending
Killer Camera Monsters (2020)
A struggling photographer gets more than he bargained for, discovering the truth of what his new camera is really capable of.
Troubled divorcee Mary Kee is tormented by a series of sinister phone calls from a mysterious woman. When the stranger reveals she's calling from the past, Mary tries to break…
Country: Puerto Rico, UK
Shed of the Dead
Trevor is 'between jobs'. He spends his days avoiding his nagging heifer of a wife by hiding out in his allotment shed and painting figurines for his wargames with his…
A young reporter (Lucy Liu) wakes up and realises that she is not alive anymore. She goes on a personal vendetta for a group a cultists that are responsible for…
Genre: Action, Horror, Mystery, Thriller
The Burrowers
It is 1879 in the Dakota Territories, a band of men who set out to find and recover a family of settlers that has mysteriously vanished from their home. Expecting…
Genre: Horror, Thriller, Western
On 28 December 1999, the citizens of New York City are getting ready for the turn of the millennium. However, the Devil decides to crash the party by coming to…
Genre: Action, Fantasy, Horror, Mystery
Watch Pieces (1982) Online Free
Trailer: Pieces (1982)


text:
Гологоры:

 Гологоры — приподнятый северо-западный окраинный уступ Подольской возвышенности, часть Гологоро-Кременецкого кряжа.
 Гологоры — село в Золочевском районе Львовской области Украины.


We are pleased to announce that RC works for 6 Elms Road Project in Clapham have been successfully completed. CMT Construction now moved on masonry works for the building envelope which will be closed until the end of April 2019 with the installation of roof.
Once completed, the building will consists of 15 stunning dwellings including 1xstudio, 3×1 bedroom, 8×2 bedroom and 3×3 bedroom duplex and triplex units with highway access and associated works.
CMT are delighted to announce that, in partnership with the PAF (Pekbeken Ali Foundation), we have successfully built a new co-educational high school in Sylhet, Northeast Bangladesh. The existing Dakota Academy serves a wide community but is in a dilapidated condition with the main building being nothing more than a tin shed. As part of our partnership with PAF, and through CMT funding, we built a school fit for the 21st Century. Providing an educational facility the children can be proud of: a safe environment, conducive to sound learning, that enables each child to fulfil his or her potential.
We are pleased to announce that our new project started with the demolition on the current building and garages for the construction of a residential building. Once completed, the building will consists of 15 stunning dwellings including 1xstudio, 3×1 bedroom, 8×2 bedroom and 3×3 bedroom duplex and triplex units with highway access and associated works.
Our progress hasn't been limited to our construction projects. We have taken further significant steps towards our corporate social responsibility goals in 2017. We have completed a highly needed high school project, Akota Academy, in the city of Sylhet in Bangladesh.
Our sister company Tudor Door and Furniture is launched. The company offers a wide range of bespoke products for contractors and developers. Please visit us at www.tudordoor.co.uk.
Our project in Mile End recently completed. Sphere Apartmenents, located in London's lively East End, comprises of twelve one to two bedroom apartments with generous terraces.
CMT Design & Construction are thrilled to announce the new projects that we have been awarded as the main contractor for the development of Rainham Rd South, comprising a mix of 11 one and two bedroom apartments with private garden and parking space located within a prime location.
We are pleased to confirm that we have completed three projects which are Jersey Street, Shacklewell Lane and Trafalgar Road on time and within the targeted budget. We are delighted to be continuing our long and successful relationships with our clients. Turning complex schemes into sustainable environments and communities, thanking all the team players involved in making these projects become a reality. We pride ourselves in customer satisfaction, seeking solutions and creating ideas to support our customers to achieve their goals.
We have recently started another mix use development in East London near Dalston Junction. The 'Shacklewell Lane' project consists of 6 No. residentials and a single commercial unit. The project is situated in trendy Dalston, which is one of the fastest developing hot spots of east London. The residents are benefitting from excellent transport links and a variety of local amenities. Dalston Dingsland Station is within a stone's throw and the recently developed Dalston Junction is within 1 mile of the development.


text:
Books by Master Waysun Liao
All of Master Liao's Tao Books and Taichi books can be purchased through major online booksellers such as Amazon.com, Barnes and Noble, and iTunes Bookstore. Most titles are also available as e-books through Amazon Kindle and Nook. Please order Master Waysun Liao's book titles directly from the bookstore of your choice, as they are no longer shipped from the Taichi Tao Center.
T'ai Chi Classics
New translations of three essential texts of T'ai Chi Chuan by Waysun Liao. T'ai Chi Classics presents the inner meaning and techniques of T'ai Chi movements. These classic texts include commentary and practice applications of each principle. The classics are introduced by additional chapters explaining the history of T'ai Chi, how to increase inner energy (Chi), transform it into inner power (Jing), and project this inner power outward to repel an opponent without physical contact. Master Liao also provides a description of the entire sequence of T'ai Chi movements, illustrated by line drawings.
Restoring Your Life Energy: Simple Chi Gung Practices to Reduce Stress and Enhance Well-Being
Poor diet, pollution, and the stresses of daily life all have a negative impact on our health and well-being. This program of simple movements and meditations taught by Master Waysun Liao, a renowned teacher of the Chinese movement arts of t'ai chi and chi gung, will restore both your body and mind. In our busy lives we are bombarded by physical and emotional stressors that tax us and deplete our vital life energy – known as chi. According to traditional Chinese medicine, chi is the fuel and essence that connects body, mind, and spirit, and without it we fall apart physically, mentally, and spiritually. Master Liao explains why protecting our chi is so important, how it gets taxed and damaged in our lives, and — most importantly — how to restore it.
Nine Nights with the Taoist Master
Travel with the ancient sage Lao Tzu in this wonderful adventure story set in an ancient Chinese border city. Not only an engaging novel, this landmark book cracks the code of secret mystical teachings hidden inside Lao Tzu's Tao Te Ching. Master Liao provides important missing links based on the oral tradition of generations of Taoist wisdom masters. Written into this exciting novel are key Taoist teachings and over 20 illustrations and diagrams. The Deluxe Study Edition includes an interview with Master Waysun Liao, an expanded preface, a glossary of terms used by Lao Tzu and their application to meditation. The streamlined e-book version provides the story plus Master Liao's translation of the Tao Te Ching is given in its entirety.
Tao: The Way of God
What is God? Why do we suffer? How can we heal ourselves and our world? What is the purpose of life? What happens when we die? What is the best way to pray? When you understand the way God works, you'll understand the answers to these questions and more. Master Waysun Liao takes you to the inner teachings of Tao wisdom, giving you the keys to its ancient mysteries in simple terms applied to modern life in today's world. Enjoy common sense analogies, humor, diagrams, and passages from texts such as Lao Tzu's Tao Te Ching as you start your own Tao journey with Master Liao as your guide. With Tao: The Way of God, you will unlock the secret to the power of God, the spiritual dimension, and break beyond the limits or our man-made artificial world.
Chi: Discovering Your Life Energy
What if you could tap into the very power of life itself, the original one power of the universe, the Tao? A world of infinite possibilities would be open to you. Master Liao takes you on a step-by-step journey allowing you to reconnect with your feeling of life energy. Once you can feel your Chi, you can learn to flow your life energy and strengthen it, using it to help yourself and others through healing, feng shui, spiritual readings, and more. Through the ancient wisdom of the Tao, explained in simple terms, Master Liao offers specific instructions in breathing techniques and moving meditation. Armed with the truth about Chi, you can regain your lost connection to your life energy and restore your True Self. (formerly titled: Chi: How to Feel Your Life Energy)
Essence of T'ai Chi
The deepest benefits of T'ai Chi cannot be realized without an understanding of its underlying principles. This book presents these principles through translations of three core classics of T'ai Chi that are often considered the "T'ai Chi Bible," accompanied by the author's insightful commentary. Master Liao demonstrates how to increase the body's inner energy (ch'i) and transform it into power, health, and well-being. By reading the clear and precise explanations of the fundamental principles of T'ai Chi, students can develop a more complete understanding of the art and philosophy of this traditional martial art. (An abridged version of content found in T'ai Chi Classics.)


So far chudikAdmin has created 15 entries.
When temperatures drop and snowflakes fall, many runners leave behind the roads, trails and tracks for the treadmill, elliptical and other indoor workout activities. However, for those who do not want to give up running outdoors, being properly prepared can make a cold weather run both safe and enjoyable.
Athlete and an ACL Injury: When is it safe to return to your sport?
How do you know when you are ready to play after an ACL injury?
If you've never seen a rugby game, the best way to describe it is football without helmets and pads. As a full-contact sport without protective gear, rugby players are prone to orthopaedic injuries—just ask Shawn Bastic, former University of Illinois—Chicago (UIC) and founding member of the Chicago Riot Rugby Club.
of his young life for the next five years.
Will Derrick Rose Remain Healthy? Getting back in the game after an ACL injury.


text:
https://apnews.com/article/europe-f0d28f418226aa064523081fc38b2b74
Alexander Litvinenko
Toxic tea: Multiple Russians hit by suspected poisonings
August 20, 2020 GMT
FILE - In this file photo taken on Wednesday, May 23, 2018, Yulia Skripal during an interview in London. Yulia Skripal says recovery has been slow and painful, in first interview since nerve agent poisoning. A Russian spy who became a double agent for Britain, Sergei Skripal, was poisoned with military grade nerve agent Novichok in the British city of Salisbury in 2018. He and his daughter Yulia spent weeks in critical condition. Russian opposition leader Alexei Navalny is in a coma in a hospital in Siberia Thursday Aug. 20, 2020 after falling ill from a suspected poisoning. (Dylan Martinez/Pool via AP, File)
MOSCOW (AP) — When Russian opposition politician Alexei Navalny collapsed in an airplane bathroom Thursday, his supporters immediately suspected poisoning.
If true, he wouldn't be the first prominent, outspoken Russian to be the target of toxic attack. Here are some other people who've criticized the Kremlin and then fallen victim to suspected poisonings:
A former agent for the KGB and post-Soviet successor agency FSB, Col. Alexander Litvinenko defected from Russia in 2000 and fled to London, where he fell violently ill six years later after drinking tea laced with radioactive polonium-210.
He died after three weeks. A British inquiry found that Russian agents had killed Litvinenko, probably with President Vladimir Putin's approval. Russia denied any involvement.
Before his death, Litvinenko told journalists that the FSB was still operating a secret Moscow poisons laboratory dating from the Soviet era. He was one of several former Russian intelligence officers to accuse Moscow of being behind the dioxin poisoning of Ukrainian President Viktor Yushchenko during his 2004 election campaign.
At the time of Litvinenko's poisoning, he had been investigating the killing of Russian journalist Anna Politkovskaya three weeks earlier.
ANNA POLITKOVSKAYA
An investigative journalist, Politkovskaya had written critically about abuses by Russian and pro-Moscow Chechen forces fighting separatists in Chechnya – work that earned her repeated death threats.
In 2004, she fell severely ill and lost consciousness after drinking a cup of tea. She said she was deliberately poisoned to prevent her from covering the 2004 seizure of a school in southern Russia by Islamic separatists.
Two years later, Politkovskaya was shot to death outside her Moscow apartment building, a slaying that drew widespread condemnation in the West. Five men were sentenced for carrying out the killing but no one was convicted for ordering it.
VLADIMIR KARA-MURZA
Opposition activist Vladimir Kara-Murza Jr. was hospitalized with poisoning symptoms twice, in 2015 and 2017.
A journalist and associate of Russian opposition leader Boris Nemtsov, who was shot and killed in 2015 while crossing a bridge near the Kremlin, and oligarch-turned-dissident Mikhail Khodorkovsky, Kara-Murza nearly died from kidney failure in the first incident. He suspects poisoning but no cause has been determined.
He was taken to a hospital with a sudden, similar illness in 2017 and put into a medically induced coma. His wife said doctors confirmed he was poisoned. Kara-Murza survived, and police have refused requests to investigate the case, according to his lawyer.
SERGEI AND YULIA SKRIPAL
A Russian spy who became a double agent for Britain, Sergei Skripal fell ill in the British city of Salisbury in 2018. Authorities said Skripal and his adult daughter, Yulia, were poisoned with the military grade nerve agent Novichok. The two spent weeks in critical condition.
Britain put the blame squarely on Russian intelligence, but Moscow denied any role. Putin called Skripal a "scumbag" of no interest to the Kremlin because he was tried in Russia and exchanged in a spy swap in 2010.
Britain charged two Russian men with the poisoning. They claimed they had visited Salisbury as tourists and denied any involvement in the attack, which came amid revelations about Russian interference in the 2016 U.S. presidential campaign.
PYOTR VERZILOV
Verzilov, a member of Russian protest group Pussy Riot, ended up in an intensive care unit after a suspected poisoning in 2018 and had to be flown to Berlin for treatment.
German doctors treating him said a poisoning was "highly plausible." He eventually recovered.
Verzilov, his partner and two other Pussy Riot members had served jail time earlier that year for running onto the field during soccer's World Cup final in Moscow to protest excessive Russian police powers. He has also served time on other charges that he calls politically motivated.


text:
Q: How to mange scenario of syncing on-prem SSO database and Azure AD B2C? I have the following scenario:

*

*On-prem SQL SSO database exists that manages usernames and password (salted and hashed).

*Azure AD B2C in the cloud for local accounts (usernames and passwords).

I would like to have both systems stay in sync. So, when a user requests a password reset from the on-prem SSO database, it will salt and hash the password, and then transmit that password to Azure AD B2C. Similarly, if the user requests a password reset from Azure AD B2C it will salt and hash that password back down to the on-prem database as well, if possible; I can imagine a scenario where this simply isn't possible in which case it would be OK if the hash value of the password is stored and we can assign a secondary column for "authentication_method" which will allow other client apps to still authenticate. If a new user signs-up on either side, then the appropriate record is created in both systems for local accounts only.
How can I go about implementing such a flow? What kind of documentation would be helpful here from the AD B2C side? Are there other synchronization tools available for this scenario?
I can imagine something like Apache Kafka or some script to sync data back and forth, but I am not sure about the specifics on the B2C side of how to get the password. I'm sure I've seen some documentation on how to update the user's password for the first scenario of on-prem to cloud, but lack information on how to go from cloud to on-prem.
The purpose of this is to support a newer application to leverage B2C, but still allow older apps to work without having to update them to B2C.

A: Password HashSync to Azure AD B2C is not supported. There are a couple of moving parts in your scenario that needs to be addressed.

*

*The Azure AD B2C to SSO Database: You can use REST-API that Azure B2C custom policy calls from its custom policy, which acts as a broker to authenticate (username, password). Since you are using local accounts with Azure AD B2C this should work as long as your backend can authenticate the user using username/password. There is no sync needed but until the SSO database goes away you need to keep using the REST-API. Essentially, you want to use a single source of truth. This approach is similar to the pattern describe here.

*On the Azure AD B2C side, you can update the password for a local user account using Microsoft Graph API. This opens up the door to update the password from your on-prem system to Azure AD B2C as needed. Of course, Azure AD B2C hash the password itself but you don't have access to it.
Either way, you need to evaluate the pros and cons.


text:
Over the weekend Shalla and I did something we haven't done in a while: have tea.
No, milk tea doesn't count. If we're being honest, it's more likely that's water with tea flavoring and loads of sugar and, maybe, some milk. And pearls. And brown sugar. And whatever else they decide is a trend these days, like cream cheese.
No, tea at home doesn't count. In the past few months Shalla's shifted from coffee to tea before going to work, which meant we've both had to stock up on the essentials. She settled on a preference early on: English breakfast tea with two teaspoons of creamer and two teaspoons of sugar. (Teaspoons!) I just went along with it, but at least we both know that, one, we prefer Twinings, and two, it's disappointing how Rustan's does not carry it, or at least the 25-bag boxes of it. Surprisingly, SM does.
No, what I mean is tea out. An actual tea salon. There was a time early in our relationship when we sought out all the macarons we can get, which led us to at least three instances at a TWG salon. But that was when we didn't really know much about tea - most likely I'm just speaking for myself here - so we just kind of guessed from what's available and ran with it.
At least we decided we like the Napoleon tea macarons. And then we forgot about it, because many other things have happened since, like us deciding we like the carrot cake at Toby's Estate.
So, this weekend, we went to TWG, now just a ten-minute walk from the flat, as opposed to a long drive from where we were at the time. Afternoon tea, more or less, perhaps hampered by the place's tendency to have inconsistent service, and to never have turkey ham on stock. We settled for Croque Imperial finger sandwiches - Shalla is allergic to most seafood, but somehow she decided to eat one of those sandwiches, which had smoked salmon on top - and scones, with clotted cream and a pretty good mango marmalade.
We have decided we like scones.
The Philippines is not a tea-drinking country, but it certainly is a tea-spilling one. The whole concept of afternoon tea is certainly a novelty to us, perhaps because we imagine drinking the thing in dainty cups with our pinky fingers lifted up. So, for us, as shallow as it may seem for the more learned among you (if there's anybody out there), it's an experience novel enough to share and look forward to. Or maybe I'm just speaking for myself. But it felt a bit reassuring, in the midst of a pretty stormy past few months, to do the things we used to do before; to just have a conversation, or whatever passes for it; to be able to sit down and have a pot of tea - and have it all replaced, because the staff spilled her cup when they served the sandwiches. Singapore breakfast tea is what we went for, because it just sounded interesting - and it's probably like English breakfast tea.
Well, it is, but Shalla had an upset stomach after. Perhaps it's got citrus on it, and we add milk to our tea. We were wary, but there were still no explanations in the menu, like we're supposed to know it already.
We then did the groceries - where I snapped up the last two scones at the bakery, for breakfast the next day - and walked back to the flat. On a slight high from rediscovering the macarons, I put Salonpas on my aching back, because I certainly am an older person now.


Valentine's Day became my favorite non-religious holiday during the 1980s when I was helping with Teens Encounter Christ (TEC), a three-day retreat based on the Paschal Mystery of Jesus that invites older adolescents and young adults to encounter Christ in ways that many have not experienced.
Walking with youth as they experienced strong and emotional encounters with Christ was inspirational and awe inspiring. These retreats offered an opportunity to share with young people that the mystery of God's love is not only abundant, but also inexhaustible, present at the beginning when God brought forth all that is, singing in Jesus' incarnation, life, death and resurrection, and pulsing through each of us as Spirit.
Because President's Day gave me a three-day weekend, it was the perfect time to serve on TEC retreats and it usually fell on or near Valentine's Day. The history of Valentine's Day–and the story of its patron saint–is shrouded in mystery, and some may call this day fanciful and commercialistic as people get caught up in buying sweet things, red things and pretty things. But I will not be put off, because in the end it is what we make of it. For me, it is a time to ponder and seek the internal aim to find authenticity in showing love to the world and reveling in how much we are loved: by God, family, friends and community.
Let Valentine's Day be a day of encounter and connection … and love.
'I was a stranger and you welcomed me.' These words of Jesus from Matthew 25:35 challenge us, especially as we witness the world in crisis as millions of people are forced to flee their homelands.


• To improve networking, support, and advancement opportunities for women employed by NRCS.
• To serve as a liaison in the development of family-friendly employment policies with NRCS.
• To address current workplace barriers that impede the growth and advancement of women.
• To promote an employee's advancement potential by providing information on career planning, upward mobility specialized training, continuing education opportunities, and balancing work and family.
• To motivate all female employees to be proactive in creating and achieving a successful career with NRCS.


Disclaimer: No representation is made that the quality of legal services to be performed is greater than the quality of legal services performed by other lawyers. | Copyright © 2017 Tacara Lee Sabir Law Firm, LLC . All Rights Reserved.


Just before 2 AM on August 13, 2017, a pedestrian was hit while in the crosswalk at Meeting Street and Woolfe Street by a passing car in downtown Charleston, SC.
The at-fault car fled the scene and did not stop to help or call authorities. Surveillance cameras in the area did provide a look at the car and Charleston Police Department asks that anyone with information please give them a call.
Accidents can happen while you are in a car, walking across the street, or anywhere you may be. If you are seriously injured by the negligence or recklessness of another, you may have a personal injury claim.
With over 29 years of experience in personal injury law, The Derrick Law Firm will get you the benefits you need, treat you like family, and outwork the competition.
Personal Injury Lawyers at The Derrick Law Firm serve the state of South Carolina and have office locations in Charleston, Mt. Pleasant, North Charleston, Myrtle Beach, Conway, and North Myrtle Beach.
Call today for a free consultation. 843-268-4345.


The EURO V engines operate at the highest levels of efficiently, ensuring superior power output. Thanks to BlueTec®, Mercedes-Benz's SCR diesel technology, they do so in a way that is particularly eco-friendly. BlueTec ensures low CO2 emissions and extremely low nitrogen oxide (NOX) and particulates, to meet emission standards at the tailpipe. Besides low consumption, the BlueTec® engines also have impressive maintenance intervals and a long engine life.
At Mercedes-Benz we have spent decades to bring our diesel engines to perfection. Our dedication to excellence has earned Mercedes-Benz loyal customers around the world, in the most demanding industries.


Lattes, Lipstick & Literature: I'm Back!
I didn't mean to be gone so long, but I started Fall semester and it has been a wild ride. I have also started an internship with the coroner's office and it has been an experience I will never forget. Now that I've developed a routine and have been able to sit down and read I can start updating this more!
I have joined a book club that a friend of mine has started, no book has been chosen yet but I hope this will be a positive experience.
Now to share my TBR for November!
But some things never change. So when ex-envoy, now-convict Takeshi Kovacs has his consciousness and skills downloaded into the body of a nicotine-addicted ex-thug and presented with a catch-22 offer, he really shouldn't be surprised. Contracted by a billionaire to discover who murdered his last body, Kovacs is drawn into a terrifying conspiracy that stretches across known space and to the very top of society.
There are a couple of books that I currently in the process of writing reviews for so be on the lookout for that.