From the MAPS Bulletin - Volume 9 Number 2 Summer 1999 - pp. 11-14
---------------------------------------------------------------------------
Successful Outcome of a Single LSD Treatment in a Chronically Dysfunctional Man
Gary Fisher, Ph.D.
---------------------------------------------------------------------------
Editor's Note: MAPS publishes accounts like the one below because they are reminders of the sometimes surprising powerful effects that psychedelics can have. This account is by the same therapist who worked with psilocybin and LSD in the treatment of schizophrenic children in the early 60s (see MAPS Bulletin 7(3) 1997). Gary Fisher shares here the story of a man's single session with LSD. Fisher's account reminds us that the sitter, the preparation and the setting for a healing session with a psychedelic are integral parts of the drug's therapeutic effect.
---------------------------------------------------------------------------
In the 1960s I was conducting an LSD research project at a West Coast medical center on the use of LSD for intractable pain in terminally ill cancer patients.[1] During this project the head of the Department of Psychiatry asked me if I thought it possible to 'work in' an LSD treatment for the son of a CEO of a major corporation in the city. The message I got was to be cooperative. I met with the father and he told me that his son had had extensive and prolonged psychiatric treatment. He had been hospitalized at two of the country's most prestigious private psychiatric institutions but after eleven years of hospitalization and intensive psychoanalytic work no changes had occurred.
For the following four years he saw a number of psychiatrists, tried every psychiatric drug available and even had a series of electro-shock treatments. The only procedure that he had not endured was psycho-surgery and the father was most reluctant to think about that alternative. The son was twenty-nine years old at the time, and had been in the psychiatric world for over fifteen years. He had never finished high school, never had a job and never had any friends. He had numerous diagnoses from a host of diagnosticians ranging from chronic schizophrenia to severe narcissistic character disorder. He never improved from any treatments, currently was not in treatment, and had run out of options. Although he had had numerous medications currently he was not being medicated because they made him feel worse.
There was never any history of illegal drug usage. He spent his day in a darkened room constantly accompanied by a male psychiatric nurse. His activities were restricted to listening to the radio, watching TV, some reading, playing cards, and eating. The father requested that I see him at their home as the son refused to leave the house.
When I saw David he was almost friendly but a little aloof and formal. He had obviously read extensively in the psychiatric literature, and named off multiple symptoms from which he was suffering. His presenting symptoms included being phobic about most things in the world, being in a constant state of anxiety and fear, unable to sleep (having night terrors if he slept) and experiencing a constant range of distressing bodily sensations and recurring feelings of loss of reality.
On interview, although he was loquacious, his affect was shallow and his self-descriptions were rehearsed - he was an old hand at being interviewed by psychotherapists. He was pleased at having attention again as after his two prolonged hospitalizations he had been secluded for two to three years in his room with his attendant, not even venturing to other parts of the house or yard. He did not evidence signs of acute psychosis. He elaborated in great detail about all the prestigious people and institutions where he had been treated, always ending with a sad and heavy resignation that they hadn't been able to help him. He had no memory deficit and could describe in detail the variety of professional people that he had encountered. After about two hours he queried me as to my credentials - my academic vita, experience, training and professional affiliations.
He obviously didn't want to be treated by a nobody, only collecting trophies of victory worthy of him. Evidently I met his standards as he said he would cooperate with the LSD treatment. After my meeting with him I assessed him as 'the most untreatable psychiatric patient in the world.' His father was an enormously successful, famous and powerful person, but David was, too. He would go down in history as the man who defied the psychiatric world to treat him. This was his claim to fame. The contest read David vs. LSD and, I wondered, who would win this one?
Preparation
My attempts at conducting our standard pre-session preparation were to no avail as he showed no interest in hearing about how this work was done. The session room was set up with the standard regime of music, flowers, artwork, artifacts from nature and tasty food morsels. Two other experienced sitters attended the session. The session was conducted in private quarters in a closed psychiatric ward of a large urban hospital.
The format of the session was that developed by Hubbard [2] and the Saskatchewan group [3] with the key concepts of 'set and setting,' the focus of the endeavor being that the individual experience a transcendental state of consciousness. Sherwood, Stolaroff and Harmon precisely describe this process:
The concept underlying this approach is that an individual can have a single experience which is so profound and impressive that his life experiences in the months and years that follow become a continuing growth process...
There appears to emerge a universal central perception, apparently independent of subjects' previous philosophical or theological inclinations, which plays a dominant role in the healing process. This central perception, apparently of all who penetrate deeply in their explorations, is that behind the apparent multiplicity of things in the world of science and common sense there is a single reality, in speaking of which it seems appropriate to use such words as infinite and eternal. All beings are seen to be united in this Being...
Much of the 'psychotherapeutic' changes are seen to occur as a process of the following kind of experience:
The individual's conviction that he is, in essence, an imperishable self rather than a destructible ego, brings about the most profound reorientation at the deeper levels of personality. He perceives illimitable worth in this essential self, and it becomes easier to accept the previously known self as an imperfect reflection of this. The many conflicts which are rooted in lack of self-acceptance are cut off at the source, and the associated neurotic behavior patterns die away. (p.  He declined this offer saying that he preferred to sit up but after a few moments, observing that the sitters were going to close their eyes and listen to the music and not engage him in small talk, out of boredom he picked up one of the art books and began casually leafing through it. I had told him the session would last many hours, at least eight and possibly up to twelve, so he knew he had a lot of time to kill.
After about thirty minutes he began to look stressed. He was obviously feeling the effects of the drug and I asked him what he was beginning to experience, explaining that it would be helpful to communicate the changes he was experiencing so that I could give him some hints about how to use these changes. He pulled himself together and quickly said 'Nothing's happening.' And that was that. So it went. He squirmed, trembled, sweated profusely, his eyes bugged out, he turned blotchy red, hyperventilated and looked like he was going to explode.
To any of my gentle queries he responded with a firm 'Nothing's happening.' Finally he said, 'Since nothing's happening I think I will just lie down for a while and listen to the music.' The other two sitters and I simultaneously chorused, 'Good idea.' He lay on the couch; clenching his jaw and his fists, he would shake, perspire, groan, moan, make feeble guttural noises and then jolt back into the present time, look over at me and in a weak, feeble voice, say 'Nothing's happening.'
This was turning out to be one of the most heart wrenching LSD sessions I had ever sat through. We knew there was nothing we could do but wait for him. We waited ten hours and his position never shifted. For the complete time, he never appeared to have any respite from this intense agony. He was totally exhausted and looked absolutely devastated. After ten hours, all he could muster was, 'I guess this drug doesn't work with some people' and all I could manage was, 'Well, we don't know a lot about this treatment yet. We all have a lot to learn.' Both sitters and I agreed we had seldom experienced such an exhausting session. He stayed in the hospital overnight with his private attendant.
'Nothing happened'
I met with him the next morning and he appeared overwhelmed with fatigue, still maintaining that he had no reaction whatsoever to the drug. During this follow- up meeting, I casually mentioned that because of all the different medications he had taken over the years, perhaps he had become drug tolerant and needed a second session with a much higher dosage. At this news he went stark white and was totally speechless.
I then said that this one treatment was a special circumstance set up just for him and that we were not able to do further work with him in this hospital. That information got him breathing again and he looked as though he had just received reprieve from a death sentence. I mentioned that a colleague of mine had a private hospital in Holland where he used LSD and other psychedelic compounds in a series of treatments over a number of months. I suggested that he consider this if I was able to make such arrangements with this psychiatrist.
Visibly shaken by this proposal he finally muttered that his father would probably not consider financially supporting such a costly undertaking, especially since he had absolutely no response to his first treatment. I left it at that, indicating I would contact my Dutch friend [Dr. G.W. Arendsen-Hein] to see if he could accommodate him if his father was amenable to the expense. My Dutch colleague agreed to treat this man at his residential hospital near Ederveen, Holland with the stipulation that I accompany him and participate in the first three sessions. I agreed and next contacted David's father who agreed to finance the venture.
Note 1
I called David and told him that I had been successful in arranging this treatment program for him. He said he could not fly alone, that I would have to accompany him. I explained that had already been arranged and I would stay in Holland for his first three sessions. After a very long silence David agreed but said he could not go until he had attended to a number of personal matters. I asked him to let me know when he thought he would be ready to leave. That telephone conversation was the last contact I ever had with him.
In about three days I called his house and his mother answered. David was out and she was most anxious to talk to me. She said he had gone out by himself the day after my conversation with him - this was the first time he had gone out in several years. He had told her that when I called to tell me that he would call me when he was prepared to set a date to leave, as he was busy attending to personal matters. He did not inform her as to the nature of these personal matters but she was so ecstatic that he was going out of the house that she didn't want to 'push it.'
I called in about a week, also not wanting to push it. She answered again and reported that he was gone a good part of every day but when he was home he told her that if I called to tell me that he was resting but that he would call me back. He was always either out or resting when I called.
David moves out
After a couple of months of this he moved out of his parents' home to his own apartment and started to do volunteer work in a library. His mother contacted me, updating me on his new life and his father called me on two occasions, saying that one LSD treatment had produced more results than the previous fifteen years of psychotherapy. To his parents, LSD was a miracle drug.
After about a year I stopped contact with David's mother. At that time he had a part-time job, still did volunteer work at the library and she was sure that he had a girlfriend but he wasn't very communicative about his activities. He made contact with them on his terms and limited to the times he set. They didn't push him. My understanding of some of this was pretty simple. He couldn't tolerate another LSD session; whatever he went through he knew he couldn't do that again. He also couldn't lose face and he was fortunate in having parents who were so grateful for the changes that had occurred that they didn't require explanations from him about what had happened.
Since David chose not to divulge his experiences, one can only hypothesize what occurred. Clearly he had been in great turmoil and severe anguish throughout his session. Observationally he had what is popularly referred to as 'a bad trip.' A bad trip is when an individual uses all his energies into combating the pending loss of ego control. The ego, in fighting to stay identified with what is 'known,' creates a living hell - everything turns to negations, everything is experienced as threatening and dangerous. All of the rejected aspects of the self are projected onto the external world and one experiences 'reality' as demonic - such is the stuff of psychosis.
Note 2
David undoubtedly had endless duels with his devils. The central and challenging question remains: 'Why did David decide to change his life, to give up his 'uniqueness' in the world and join the human condition with the rest of us?' His circumstances allowed him to remain at home living his life as he had lived it - being uniquely 'untreatable' and that LSD therapy would be just another unsuccessful attempt to change him.
I posit that he saw what a horrific price he was paying to maintain this ego position; he saw his 'victory' as empty; that his special place in the world was a meaningless one. That he took on the task of going out into the world he had left as an early teenager is quite astounding; that he did it on his own, even more astounding. It was a testament to the strength of his ego.
Part of his unwillingness to share with me the results of his treatment session could have been that he identified me as a father. I was a powerful person who had powerful 'medicine' and powerful connections. He wasn't quite ready to embrace as an ally this kind of potency - he was more willing to take on the world at his pace and on his own terms. I suspect that he knew that I knew something about this world of altered consciousness, that I was dedicated to help him explore it, and this was a mystery to him but he was not ready to take on this task. He decided he would rather become an 'ordinary' person.
From the first day I met David I never treated him as a 'patient,' I never engaged him at the level that he had always functioned - therapist and patient. I treated him as though he were a perfectly rational and sane person. I never talked 'therapy talk' with him, never interpreted any of his behavior, never psychoanalyzed him. I was always respectful of him, never played the role of the doctor, and although I listened to whatever he said I never responded or engaged in any conversation related to his psychopathology. I was very quiet with him and any comments I did make were extremely benign.
Although almost nothing is known of this man's experiences with the non-ordinary realities induced by the drug, what we do know is that profound changes occurred in his behavior following these experiences; be became a functional human being after fifteen years of extreme dysfunctional behavior - this was a remarkable phenomenon.
Addendum
The purpose in reporting this case study has been to give testimony to the fact that psychedelics are powerful tools for an individual to use in accessing those forces in his psyche which determine the course of his life. In the revelations that occur in these states of expanded consciousness, one has the opportunity to explore and understand what is needed to be known in order to acknowledge the essential worth of the self and to discover the humanistic-spiritual existential 'laws.'
These processes are the same for everyone, regardless of one's status in life's many hierarchies. One's station or condition in life is not at issue - only at issue is the proper use of these materials administered in a safe and protected environment by sitters who have travelled the path of self-discovery themselves and know that each person can, with the help of enlightened guidance, achieve profound depth of understanding.
Notes
Note 1 An interesting aside that baffled both David and his father was that I never charged for any of my services. I felt that this fact was an additional phenomenon that helped penetrate David's view of the psychiatric world wherein therapists' only interest in him was for his monetary value. He never raised the issue, nor did I.
Note 2 Common experience among seasoned psychedelic voyagers in that the nitty-gritty psychodynamic work is accomplished during so-called 'bad trips': that is, where the condition of one's humanity is illuminated. Having pleasant aesthetic and sensory experiences is important for people who never experience such phenomena, but for the usual person, a pleasant ego time doesn't touch the hidden internal conflicts which cause the difficulties in life.
References
- Fisher, G. Psychotherapy for the dying: principles and illustrations with special reference to the utilization of LSD. Omega, 1970, 1, 3-16
- MacLean, J.R., MacDonald, P.C., Byrne, V.P. and Hubbard, A.M. The use of LSD-25 in the Treatment of Alcoholism and other Psychiatric Problems. Quart. J. of Studies of Alcoholism, 1961, 22, 34-45.
- Blewett, D.B. and Chwelos, N. Handbook for the Therapeutic Use of LSD-25: Individual and Group Procedures. Unpublished Manuscript; Regina, Saskatchewan, 1959.
- Sherwood, J.N., Stolaroff, M.J. and Harmon, W.W. The Psychedelic Experience - A New Concept in Psychotherapy. Journal of Neuropsychiatry, 1962, 4, 69-80.
- Fisher, G. Some comments concerning dosage levels of psychedelic compounds for psychotherapeutic experiences. The Psychedelic Review, 1963, 1, 208-218.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Dissonanssi is a mixed choir from Otaniemi singing diverse music all the way from renaissance to glam metal — without forgetting to have fun! The choir was founded in 2013. Our members are mainly students of Aalto University.
We have rehearsals once a week in Otaniemi. The choir is conducted by Nadja Härkönen. Our rehearsals are conducted in Finnish, however you are welcome to join even with no Finnish speaking skills, someone is always willing to translate!
Katso tämä sivu suomeksi
Want to sing?
We welcome new singers in the beginning of every semester by organising open rehearsals and auditions in September and January. Prior experience on choir singing is not mandatory, but it is useful if you are be able to practice also on your own.
In the auditions, only the choir conductor and vocal range leaders will be present, and you will be asked to sing one song of your choice without accompaniment, after which we will test your vocal range and do a melody repetition task.
Follow us on Facebook to hear about the auditions!
Dissonanssi performances
Dissonanssi organises two concerts during the year, one during the spring semester and one during the fall semester. In addition to these, you can see us perform in some other events, for example Kuorojen kierros during Art Goes Kapakka. We post information of upcoming gigs in Facebook!
Book us for a gig!
Are you looking for a musical performance for a wedding, sitsi party, birthday party or some other event? You can inquire Dissonanssi performances as a quartet, doule quartet or for a bigger ensemble. Contact Dissonanssi board for inquiries.
Supporting membership
Membership fees and supporting members make it possible for our choir to continue singing. Supporting members are the first ones to hear about our upcoming concerts via email. The price for the supporting membership is 30 euros annually.
If you are interested in becoming a supporting member, you can join by filling the registration form! You can also contact the board for more information.


Welcome to my page
This is where you can learn more about my adventures with bitcoin.
about bit coin...
more about bit coin...


Natural language process take following steps:
- Your Sentence:
{{review}}
- Removing special charecter:
{{text}}
- Lowering all words:
{{text_lower}}
- Lemmatization
It usually refers to remove inflectional endings only
and to return the base:
{{clean_text}}
- Making Corpus:
{{corpus}}
- Making Bag of words:
{{x}}
- Finally prediction:
{{output}}
Note- The results may not be 100% true.


--- layout: page title: "About" description: "Hey, this is Nathan." header-img: "img/about-bg.jpg" ---
該把你比作夏天的日子嗎？
但你比夏日更可愛，更溫柔。
夏天時而太大風，時而太炎熱；
而且，夏季實在太短。
所有美麗的東西，
都有退色的一天；
這大概是大自然運作的方式吧，
是無可避免。
可是，你的夏日是永恆的，
即使死亡也不能奪去你的美麗，
因為我已把它紀錄下來。
只要世人還有一口氣，眼睛還看得見，
這首詩就能存活下去，令你長存於世。
by William Shakespeare
Shall I compare thee to a summer's day?
Thou art more lovely and more temperate.
Rough winds do shake the darling buds of May,
And summer's lease hath all too short a date.
Sometime too hot the eye of heaven shines,
And often is its gold complexion dimmed.
Every fair from fair sometime declines,
By chance, or nature's changing course untrimmed.
But thy eternal summer shall not fade,
Nor lose possession of that fair thou owest.
Nor shall death brag thou wander'st in his shade,
When in eternal lines in time thou growest.
So long as men can breath or eyes can see,
So long lives this, and this gives life to thee.


Returns the list of available months.
| Query parameters | |
|---|---|
| Optional parameters | |
return-as
|
string
Sets the format for the result. Set as xml to get the result as XML.
Set as json to get the result as JSON.
Default format is json .
|
If you requested the response as JSON, the method will return a body with the following structure:
If you requested the response as XML, the method will return a body with the following structure:
| Properties | |
|---|---|
id
|
string
Month identifier, formatted as YYYY-MM. For example: 2018-06. |
year
|
number
The year number. For example: 2018. |
month
|
number
The month number (01 - 12). For example: 06. |


The main project
The concept of the main project is different to many other build systems like Eclipse CDT. In these build systems everything which is needed for a project is configured in the project itself. In bake the main project can predefine stuff for all subprojects. The main project can have a DefaultToolchain definition, which is valid for all projects and files referenced by the main project. Subprojects can overwrite or adjust these definitions.
Projects are always built in context of the main project.
To build a project, you have to specify
the main project
the config of the main project which references the project to build
the (sub)project to build if applicable
Advantages
Reducing the number of build configurations (toolchain settings like debug or release flags can be set outside of the project)
Most projects do not have any compiler definitions anymore
Only flags which must be used or flags which must not be used have to be specified in the projects
Changing compiler definitions for all projects can be done easily in the main project build configuration
Example:
Project.meta of Main (Debug and Release) |
Project.meta of Sub (only one build config!) |
|---|---|
Project {
ExecutableConfig Debug {
Dependency Sub, config: Lib
Files "**/*.cpp"
IncludeDir "include"
DefaultToolchain GCC {
Compiler CPP {
Flags "... whatever -debug_info"
Define "DEBUG"
}
}
}
ExecutableConfig Release {
Dependency Sub, config: Lib
Files "**/*.cpp"
IncludeDir "include"
DefaultToolchain GCC {
Compiler CPP {
Flags "... whatever -optimize"
Define "NDEBUG"
}
}
}
}
|
Project {
LibraryConfig Lib {
Files "**/*.cpp"
IncludeDir "include"
}
}
|
Note
A main project must have a DefaultToolchain - but it’s allowed to leave that definition empty.
Output directory
A project in a specific build configuration can be built in different contexts. That’s why the output directory of a project cannot be simply the build configuration name of the project, to avoid inconsistencies. Therefore the output directory names are:
Main project: $(MainConfigName) like in regular Eclipse CDT builds
Subprojects: $(MainConfigName)_$(MainProjectName) instead of the config name of the subproject


Those who served as primary coordinators in MPI-1.2 and MPI-2.0 are:
The following list includes some of the active participants who attended MPI-2 Forum meetings and are not mentioned above.
| Greg Astfalk | Robert Babb | Ed Benson | Rajesh Bordawekar |
| Pete Bradley | Peter Brennan | Ron Brightwell | Maciej Brodowicz |
| Eric Brunner | Greg Burns | Margaret Cahir | Pang Chen |
| Ying Chen | Albert Cheng | Yong Cho | Joel Clark |
| Lyndon Clarke | Laurie Costello | Dennis Cottel | Jim Cownie |
| Zhenqian Cui | 2lSuresh Damodaran-Kamal | Raja Daoud | |
| Judith Devaney | David DiNucci | Doug Doefler | Jack Dongarra |
| Terry Dontje | Nathan Doss | Anne Elster | Mark Fallon |
| Karl Feind | Sam Fineberg | Craig Fischberg | Stephen Fleischman |
| Ian Foster | Hubertus Franke | Richard Frost | Al Geist |
| Robert George | David Greenberg | John Hagedorn | Kei Harada |
| Leslie Hart | Shane Hebert | Rolf Hempel | Tom Henderson |
| Alex Ho | Hans-Christian Hoppe | Joefon Jann | Terry Jones |
| Karl Kesselman | Koichi Konishi | Susan Kraus | Steve Kubica |
| Steve Landherr | Mario Lauria | Mark Law | Juan Leon |
| Lloyd Lewins | Ziyang Lu | Bob Madahar | Peter Madams |
| John May | Oliver McBryan | Brian McCandless | Tyce McLarty |
| Thom McMahon | Harish Nag | Nick Nevin | Jarek Nieplocha |
| Ron Oldfield | Peter Ossadnik | Steve Otto | Peter Pacheco |
| Yoonho Park | Perry Partow | Pratap Pattnaik | Elsie Pierce |
| Paul Pierce | Heidi Poxon | Jean-Pierre Prost | Boris Protopopov |
| James Pruyve | Rolf Rabenseifner | Joe Rieken | Peter Rigsbee |
| Tom Robey | Anna Rounbehler | Nobutoshi Sagawa | Arindam Saha |
| Eric Salo | Darren Sanders | Eric Sharakan | Andrew Sherman |
| Fred Shirley | Lance Shuler | A. Gordon Smith | Ian Stockdale |
| David Taylor | Stephen Taylor | Greg Tensa | Rajeev Thakur |
| Marydell Tholburn | Dick Treumann | Simon Tsang | Manuel Ujaldon |
| David Walker | Jerrell Watts | Klaus Wolf | Parkson Wong |
| Dave Wright |
The MPI Forum also acknowledges and appreciates the valuable input from people via e-mail and in person.
The following institutions supported the MPI-2 effort through time and travel support for the people listed above.
Argonne National Laboratory Bolt, Beranek, and Newman California Institute of Technology Center for Computing Sciences Convex Computer Corporation Cray Research Digital Equipment Corporation Dolphin Interconnect Solutions, Inc. Edinburgh Parallel Computing Centre General Electric Company German National Research Center for Information Technology Hewlett-Packard Hitachi Hughes Aircraft Company Intel Corporation International Business Machines Khoral Research Lawrence Livermore National Laboratory Los Alamos National Laboratory MPI Software Techology, Inc. Mississippi State University NEC Corporation National Aeronautics and Space Administration National Energy Research Scientific Computing Center National Institute of Standards and Technology National Oceanic and Atmospheric Adminstration Oak Ridge National Laboratory Ohio State University PALLAS GmbH Pacific Northwest National Laboratory Pratt & Whitney San Diego Supercomputer Center Sanders, A Lockheed-Martin Company Sandia National Laboratories Schlumberger Scientific Computing Associates, Inc. Silicon Graphics Incorporated Sky Computers Sun Microsystems Computer Corporation Syracuse University The MITRE Corporation Thinking Machines Corporation United States Navy University of Colorado University of Denver University of Houston University of Illinois University of Maryland University of Notre Dame University of San Fransisco University of Stuttgart Computing Center University of Wisconsin
MPI-2 operated on a very tight budget (in reality, it had no budget when the first meeting was announced). Many institutions helped the MPI-2 effort by supporting the efforts and travel of the members of the MPI Forum. Direct support was given by NSF and DARPA under NSF contract CDA-9115428 for travel by U.S. academic participants and Esprit under project HPC Standards (21111) for European participants.


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--net.sf.saxon.sort.SortKeyDefinition
A SortKeyDefinition defines one component of a sort key.
Note that most attributes defining the sort key can be attribute value templates,
and can therefore vary from one invocation to another. We hold them as expressions. As
soon as they are all known (which in general is only at run-time), the SortKeyDefinition
is replaced by a FixedSortKeyDefinition in which all these values are fixed.
| Field Summary | |
protected Expression |
caseOrder
|
protected java.util.Comparator |
collation
|
protected Expression |
dataTypeExpression
|
protected boolean |
emptyFirst
|
protected Expression |
language
|
protected Expression |
order
|
protected Expression |
sortKey
|
| Constructor Summary | |
SortKeyDefinition()
|
| Method Summary | |
boolean |
getEmptyFirst()
|
Expression |
getSortKey()
Get the expression used as the sort key |
FixedSortKeyDefinition |
reduce(XPathContext context)
Eliminate dependencies of the sort key definition on the context. |
void |
setCaseOrder(Expression exp)
Set the case order. |
void |
setCollation(java.util.Comparator collation)
Set the collation. |
void |
setDataTypeExpression(Expression exp)
Set the data type. |
void |
setEmptyFirst(boolean emptyFirst)
Set whether empty sequence comes before other values or after them |
void |
setLanguage(Expression exp)
Set the language. |
void |
setOrder(Expression exp)
Set the order. |
void |
setSortKey(Expression exp)
Set the expression used as the sort key |
SortKeyDefinition |
simplify()
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
protected Expression sortKey
protected Expression order
protected Expression dataTypeExpression
protected Expression caseOrder
protected Expression language
protected java.util.Comparator collation
protected boolean emptyFirst
| Constructor Detail |
public SortKeyDefinition()
| Method Detail |
public void setSortKey(Expression exp)
public Expression getSortKey()
public void setOrder(Expression exp)
public void setDataTypeExpression(Expression exp)
public void setCaseOrder(Expression exp)
public void setLanguage(Expression exp)
public void setCollation(java.util.Comparator collation)
public void setEmptyFirst(boolean emptyFirst)
emptyFirst
- true if () is considered lower than any other valuepublic boolean getEmptyFirst()
public SortKeyDefinition simplify() throws XPathException
XPathException
public FixedSortKeyDefinition reduce(XPathContext context) throws XPathException
XPathException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


--- layout: page permalink: "/community-commissioned/yduk/young-dementia-001.html" ---
previous | next


{{ partial "head.html" . }}
{{ partial "top.html" . }} {{ partial "nav.html" . }}
{{ partial "carousel.html" . }} {{ partial "features.html" . }} {{ partial "testimonials.html" . }} {{ partial "see_more.html" . }} {{ partial "recent_posts.html" . }} {{ partial "clients.html" . }} {{ partial "footer.html" . }}
{{ partial "scripts.html" . }}


California investigating Facebook, demands subpoenaed documents
California is investigating Facebook Inc's disclosure of user data to Cambridge Analytica and other partners, the state revealed on Wednesday in a court filing that demanded that the social media giant respond to its subpoena.
WASHINGTON: California is investigating Facebook Inc's disclosure of user data to Cambridge Analytica and other partners, the state revealed on Wednesday in a court filing that demanded that the social media giant respond to its subpoena.
Revelation of the 18-month-old probe is the latest bad news for Facebook, which is already under investigation by 47 U.S. states. Some states, particularly New York and Nebraska, have raised concerns that Facebook and other big tech companies engage in anti-competitive practices, expose consumer data to potential data theft and push up advertising prices.
Facebook had no immediate comment.
Facebook investigations are part of a larger landscape of probes of big tech firms by the U.S. Justice Department and the Federal Trade Commission, as well as the House of Representatives Judiciary Committee.
California Attorney General Xavier Becerra's investigators asked the court to require Facebook to turn over information about developers and other third parties' access to data and changes in privacy settings for Facebook.
Becerra’s petition said the June 17 subpoena and interrogatories followed Facebook’s initial responses and later news reports "concerning other claims of wrongdoing by Facebook over users' privacy. Facebook’s responses to this second subpoena and set of interrogatories is patently deficient."
In particular, the attorney general's office pointed to a failure to look at communications of Facebook founder and CEO Mark Zuckerberg.
"Facebook has not searched the email of the company's chief executive and chief operating officers for documents responsive to the subpoena," according to the court filing.
(Reporting by Diane Bartz and David Shepardson; Editing by Lisa Shumaker)


Wiggins returns, but Wolves come up short in rematch with Jazz
by APMINNEAPOLIS — Bojan Bogdanovic scored 30 points, Donovan Mitchell added 26 and the Utah Jazz beat the Minnesota Timberwolves 103-95 on Wednesday night to split a home-and-home series.
Bogdanovic and Mitchell each hit three 3-pointers in the fourth quarter. Bogdanovic was 6 of 11 from 3-point range, and Mitchell 5 of 10 to help Utah rebound for a home loss to Minnesota on Monday night.
Minnesota led by six in the fourth quarter before Utah used a 12-0 run to take the lead for good.
Mitchell hit a 3 with 5:09 left to give the Jazz a six-point lead.
Andrew Wiggins had 22 points for Minnesota after missing three games because of personal reasons and an illness. Karl-Anthony Towns was held to 14 points and struggled with foul trouble most of the night.
Towns finally hit double figures on a 3 with 4:34 remaining, but Utah answered with back-to-back triples from Bogdanovic and Mike Conley to make it 94-85 at the 3:28 mark.
Conley had 16 points for the Jazz, and Rudy Gobert had 12 points and 15 rebounds.
Utah led by nine before Kelan Martin keyed a 12-0 run that put the Wolves up early in the fourth.
TIP-INS
Jazz: Gobert blocked five shots for the second time in three games. … The Jazz took advantage of early foul trouble for Towns and Wiggins and jumped to an 11-point lead in the first quarter. Utah led by 11 before Minnesota tightened up defensively and reclaimed the lead with a 20-4 run. … Ed Davis missed his eighth game with a fractured left fibula.
Timberwolves: Minnesota went 11 for 21 from the foul line. … Coach Ryan Saunders was given a technical in the first quarter. …. Shabazz Napier (hamstring) missed his ninth game. F Jake Layman (toe) was inactive after leaving Monday’s game in the second quarter.


About me
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.


credits: http://www.dhgarrette.com/nlpclass/scala/basics.html
There are two keywords for declaring variables: val and var. Identifers declared with val cannot be reassigned; this is like a final variable in Java. Identifers declared with var may be reassigned.
val a = 1
var b = 2
b = 3 // fine
a = 4 // error: reassignment to val
You should (pretty much) exclusively use val. If you find yourself wanting to use a var, there is almost certainly a better way to structure your code.
Scala has powerful type inference capabilities, so, in many cases, types do not need to be specified. However, types may be specified at any time. This is often useful for making complex code more readable, or as a way of protecting against errors. Additionally, types can be specifed on any subexpression, not just on variable assignments.
val a = 4 // a: Int = 4
val b: Int = 4 // b: Int = 4
val c = (a: Double) + 5 // c: Double = 9.0
All types are determined statically during compilation.
Classes, objects, and static methods can all be imported. An underscore can be used as a wildcard to import everything from a particular context.
import scala.collection.immutable.BitSet
import scala.math.log
import scala.math._
Scala will infer semi-colons at the ends of lines, so they do not need to be explicitly written. If you add them yourself, then Scala will not complain, but it doesn’t look as nice.
Semi-colons can also be used to write several statements on a single line, but this should be avoided because it’s harder to read in most circumstances.
val x = 4
val y = "stuff"
val z = f"You can say $x is inverse of ${1.0 / x}%.2f and $y"
See the docs for more.
Scala has control many familiar control structures.
if-else
val x = 4
if(x > 2)
println("greater than 2")
else if(x < 4)
println("less than to 2")
else
println("equal to 2")
// prints "greater than 2"
for-each loop
val xs = Vector(1,2,3,4,5)
for(x <- xs)
println(x)
// prints numbers 1 through 5
But the for-each loop can be used in more complex ways, allowing succinct syntax for looping over multiple collections and filtering:
for(
x <- Vector(1,2,3,4,5); // outer loop over a vector
if x % 2 == 1; // filter out even xs
y <- Set(1,2,3); // inner loop over a list
if x + y == 6 // filter out entries that don't sum to 6
) println(s"x=$x, y=$y")
// prints:
// x=3, y=3
// x=5, y=1
This is equivalent to:
for(x <- Vector(1,2,3,4,5))
if(x % 2 == 1)
for(y <- Set(1,2,3))
if(x + y == 6)
println(s"x=$x, y=$y")
In Scala, many things are expression that are not in other languages.
Blocks are expressions that are evaluated and resolve to the value of the final expression in the block:
val x = {
val intermediate1 = 2 + 3
val intermediate2 = 4 + 5
intermediate1 * intermediate2 // will be "returned" from the block
}
// x: Int = 45
If-else constructs are expressions whose value is the branch that is taken. The return type of an if-else expression is the lowest common ancestor of the values of each branch.
val a = 4
val x = // type is inferred as Iterable[Int]
if(a > 2) // because
Vector(1,2,3) // Vector extends Iterable
else // and
Set(4,5) // so does Set
// x: Iterable[Int] = Vector(1, 2, 3)
Functions are defined using the def keyword.
A few points:
Some examples
def add(i: Int, j: Int) = i + j // no braces needed
def add2(i: Int)(j: Int) = i + j // two parameter lists
def mystring() = "something" // parentheses option in caller
def mystring2 = "something else" // no parentheses allowed in caller
def doubleSum(i: Int, j: Int) = { // braces for multiple statements
val sum = i + j
sum * 2 // "return value"
}
def ceilHalf(n: Int) = {
if(n % 2 == 0) // if-else expression is the final
n / 2
else
(n + 1) / 2
}
def mult(i: Int, j: Int): Int = i * j // return type specified
add(2,3) // res48: Int = 5
add2(2)(3) // res49: Int = 5
mystring() // res50: String = something
mystring // res51: String = something
mystring2 // res52: String = something else
doubleSum(2,3) // res53: Int = 10
ceilHalf(3) // res54: Int = 2
mult(2,3) // res55: Int = 5
Classes can be declared using the class keyword. Methods are declared with the def keyword. Methods and fields are public by default, but can be specified as protected or private. Constructor arguments are, by default, private, but can be proceeded by val to be made public.
class A(i: Int, val j: Int) {
val iPlus5 = i + 5
private[this] val jPlus5 = j + 5
def addTo(k: Int) = new A(i + k, j + k)
def subtractFrom(k: Int): (Int, Int) = (i + k, j + k)
def sum = i + j
def doSomeStuff() = {
val a = i + jPlus5
val b = j - i + jPlus5
(a, b)
}
}
val a = new A(2,3)
a.j // accessing a public constructor-arg field
a.iPlus5 // accessing a public field
a.addTo(6) // calling a method with an argument
a.sum // calling a no-arg method, parentheses not permitted
a.doSomeStuff // calling a no-arg method, parentheses optional
Traits are like interfaces, but they are allowed to have members declared (“mix-in” members).
trait C {
def methodToImplement: Int
def doCThing = "C thing"
}
trait D {
def doDThing = "D thing"
}
class E extends C with D {
override def methodToImplement = 7
}
val e = new E // e: E = E@766b0524
e.doCThing // res14: String = C thing
Scala does not allow static members of classes or traits. Instead all static members must be declared on an object.
object F {
val num = 5
def add(x: Int, y: Int) = x + y
}
F.num // res15: Int = 5
F.add(3, 4) // res16: Int = 7
The terminology is somewhat confusing since an “object” can also mean an instantiated instance of a class.
Case classes are syntactic sugar for classes with a few methods pre-specified for convenience. These include toString, equals, and hashCode, as well as static methods apply (so that the new keyword is not needed for construction) and unapply (for pattern matching). Case class constructor args are also public by default. Case classes are not allowed to be extended. Otherwise, they are just like normal classes.
case class G(i: Int, j: Int) {
def sum = i + j
}
val g = G(4, 5) // g: G = G(4,5)
g.sum // res19: Int = 9
g == G(4,5) // res21: Boolean = true
Scala does not have operators. Anything that looks like an operator in Scala is actually a method:
scala> "this" + "that"
res0: String = "thisthat"
scala> "this".+("that")
res1: String = thisthat
Scala just knows that if there is no dot or parentheses, then it should treat the expression as a call to a 1-argument method called +.
You can, therefore, define your own “operators”:
case class A(i: Int) {
def +(a: A) = A(i + a.i)
def ++-||-++(j: Int) = A(i - j)
}
Which can be used like this:
scala> A(5) + A(2)
res0: A = A(7)
scala> A(5) ++-||-++ 2
res1: A = A(3)
However, do not abuse this power. It can make your code extremely unreadable.
Since Scala makes no distinction between methods and “operators”, you can actually drop the dot and parentheses from any 1-argument method:
case class A(i: Int) {
def addTo(a: A) = A(i + a.i)
}
scala> A(5) addTo A(2)
res0: A = A(7)
This can sometimes make things more readable:
scala> 1 to 5
res1: scala.collection.immutable.Range.Inclusive = Range(1, 2, 3, 4, 5)
Again, do not abuse this power or your code will become extremely unreadable.
I really dislike overuse of this notation. I think it is appropriate in limited circumstances where the two sides of the operator have something like equal standing, like in the example with to for a Range where it’s not quite fair to call the end of a range an argument, even though it technically is.
Scala has Tuple types for 1 though 22 elements. In a tuple, each element has its own type, and each element can be accessed using the ._n syntax, where n is a 1-based index.
scala> val a = (1, "second", 3.4)
a: (Int, String, Double) = (1,second,3.4)
scala> a._2
res0: String = second
Just for fun, Scala has the method -> defined on Any (and is therefore inherited by all types) for constructing a Tuple2:
scala> 1 -> 2
res1: (Int, Int) = (1,2)
The Scala collections framework is pretty extensive. But for now, I’ll just introduce the three most important collections:
A Vector[T] is a sequence of items of type T. Elements can be accessed by 0-based index.
scala> val a = Vector(1,2,3)
a: Vector[Int] = Vector(1, 2, 3)
scala> a(0)
res0: Int = 1
A Set[T] is an unordered collection of items of type T. Since it’s a set, no element can appear more than once. Since there is no order in a Set, elements cannot be accessed by index, but it is possible to check whether an element is in the set.
scala> val a = Set(1,2,3,2,3)
a: Set[Int] = Set(1, 2, 3)
scala> a(1)
res1: Boolean = true
A Map[K,V] is an associative array or dictionary type mapping elements of type K to elements of type V. Values can be accessed through their keys.
scala> val a = Map(1 -> "one", 2 -> "two", 3 -> "three")
a: Map[Int,String] = Map(1 -> one, 2 -> two, 3 -> three)
scala> a(1)
res2: String = one
Note: Remember that the syntax a -> b is nothing more than writing the pair (a,b).
An Iterator[T] is a lazy sequence, meaning that it only evaluates its elements once they are accessed. Additionally, iterators can only be traversed one time. This is very useful for things like conserving memory by handling one element at a time or saving time by only evaluating as many elements as you need.
Accidentally traversing the same iterator more than once is a common source of bugs. If you want to be able to access the elements more than once, you can always call .toVector to load the entire thing into memory.
val a = Iterator(1,2,3)
val b = a.map(x => x + 1) // stage an operation, but don't traverse yet
val c = b.sum // c: Int = 9
val d = b.mkString(" ") // d: String = ""
val e = Iterator(1,2,3)
val f = e.map(x => x + 1) // stage an operation, but don't traverse yet
val g = f.toVector // g: Vector[Int] = Vector(2, 3, 4)
val h = g.sum // h: Int = 9
val i = g.mkString(" ") // i: String = "2 3 4"
Pattern matching is a really awesome capability of Scala. It’s extremely useful and flexible, allowing you to write very succinct code. It can be used in a variety of situations, and many built-in Scala types already have pattern-matching behavior defined.
val a = (1,2)
val (x,y) = a // x: Int = 1, y: Int = 2
val b = Vector(1,2)
val Vector(x,y) = b // x: Int = 1, y: Int = 2
val c = Some(5)
val Some(x) = c // x: Int = 5
val a = Vector(1,2,3)
val sum = // sum: Int = 6
a match {
case Vector(x,y) => x + y
case Vector(x,y,z) => x + y + z
}
val a = Vector((1,2), (3,4), (5,6))
for((x,y) <- a) // prints 3, 7, and 11
println(x + y)
Anonymous (partial) functions. More on this example later. Note the use of curly braces instead of parentheses.
val a = Vector((1,2), (3,4), (5,6))
a.map { case (x,y) => x + y } // res0: Vector[Int] = Vector(3, 7, 11)
In all of these cases, the matching function works the same way.
You can match directly with regular expressions:
val SomeRE = """a+b+""".r
"aaabb" match {
case SomeRE() => "match found!"
}
// match found!
Additionally, by using parentheses, you can indicate groups in the pattern that are to be captured, and then have the pattern matcher assign those captured groups to variables:
val SomeRE = """(\d+), (\S+) \S+ (\S+).*""".r
"12, two more words plus some other stuff" match {
case SomeRE(a, b, c) => f"matches with a=$a b=$b c=$c"
}
// matches with a=12 b=two c=words
Pattern matching is very flexible and allows not just for matching flat collections of variables.
A pattern can contain constants. In order for the matcher to recognize these terms as constants and not variables, they must either be a literal, start with a capital letter, or appear in backticks:
val C = 2
val v = 3
(1,2,3) match {
case (1, C, `v`) => "this will match"
}
Wildcards are useful for specifying that a portion of the expression can match anything. This is often used as a “default” case.
(1,2,3) match {
case (1, _, _) => "this will match anything that starts with a 1"
case _ => "will match anything not matched by an above case"
}
Sequences can be matched without knowing exactly how many items there are:
Vector(1,2,3,4) match {
case Vector(x, y, _*) => "matches with x=1, y=2, and ignores rest"
}
Conditions can be specified with if clauses:
(1,2) match {
case (x, y) if x == y => "this will match if x == y"
}
Patterns can be nested for more complex matching:
Vector((1,2), (3,4), (5,6)) match {
case Vector((x, y), _*) => "this will match with x=1, y=2"
}
It is also possible to match a pattern and then bind the matched portion to a variable. This is done with the @ symbol:
Vector((1,2), (3,4), (5,6)) match {
case a @ Vector((x, y), _*) => "binds entire Vector to `a`"
case Vector(a @ (x, y), _*) => "binds first pair to `a`"
case Vector((x, y), a @ _*) => "binds tail sequence to `a`"
}
Case classes automatically specify the behavior required for use in pattern matching.
case class A(i: Int, j: Int)
val a = A(1,2)
a match {
case A(x,y) => "this will match with x=1, y=2"
}
Many Scala types come with pattern matching behavior defined, as does any class defined as a case class. However, it is possible to define arbitrary pattern matching behavior for your own situations. Matching behavior is defined by the unapply method on either a class or object.
object Half {
def unapply(n: Int) =
if(n % 2 == 0)
Some((n/2, n/2)) // indicates a match, specifies return behavior
else
None // indicates no match
}
Vector(1,2,3).map {
case Half(x,y) => s"match with ($x,$y)"
case _ => "no match"
}
// res0: Vector[String] = Vector(no match, match with (1,1), no match)
This is, in fact, how pattern matching is implemented for all Scala built-in classes as well. For example, there is a Vector object that has an unapply method. And for every case class that is defined, the compiler generates an object with the same name and implements an unapply method on it.
Extractors for variable-length patterns (like Vector has) can be specified with an unapplySeq method.
You should (pretty much) always use immutable collections. You code will therefore consist largely of operations on collections that produce new collections. Immutability keeps your code safer, makes it easier to reason about what is happening, and can have performance gains when used correctly.
One of the most important characteristics of functional programming is that functions are first-class members of the language. This means that they can be stored in variables and, more importantly, passed as arguments to other functions.
To facilitate these kinds of uses, Scala has nice syntax for defining anonymous functions. In Scala, the symbol => is used to write lambda functions:
val add1a = (x: Int) => x + 1 // arg type declared
val add1b: (Int => Int) = x => x + 1 // function's type declared
add1a(2) // res0: Int = 3
add1b(2) // res1: Int = 3
def addSome(f: (Int => Int), i: Int) = f(i) // first arg is a function
addSome(x => x + 1, 2) // res2: Int = 3
addSome(add1a, 2) // res3: Int = 3
Scala also provides the ability to write an underscore (_) as short-hand for x => x (kind of).
val add2a: (Int => Int) = _ + 2 // function's type declared
val add2b: (Int => Int) = 2 + _ // function's type declared
add2a(2) // res4: Int = 4
add2b(2) // res5: Int = 4
addSome(_ + 2, 2) // res6: Int = 4
addSome(add2a, 2) // res7: Int = 4
The Scala API is extremely useful for finding out what methods are availble on various collections. There are a lot of methods, but here are a few of the most important:
map: Take a function as an argument and apply it to every element in the collection.
Vector(1,2,3).map(x => x + 2) // same as...
Vector(1,2,3).map(_ + 2) // res0: Vector[Int] = Vector(3, 4, 5)
flatten: Flatten a collection of collections.
val a = Vector(Vector(1,2,3), Vector(4,5,6), Vector(7,8,9))
a.flatten // res1: Vector[Int] = Vector(1, 2, 3, 4, 5, 6, 7, 8, 9)
flatMap: Map a function over the collection and flatten the result
Vector(1,2,3).flatMap(n => Vector.fill(n)(s"[$n]"))
// res2: Vector[String] = Vector([1], [2], [2], [3], [3], [3])
foldLeft: Map a function over the collection, accumulating the results. Takes two parameters: the base value and the function.
Vector(1,2,3).foldLeft(0)((accum, x) => accum + x) // res3: Int = 6
filter: Remove items for which the given predicate is false
Vector(1,2,3).filter(x => x % 2 == 1) // same as...
Vector(1,2,3).filter(_ % 2 == 1) // res4: Vector[Int] = Vector(1, 3)
Worth noting: Scala is extremely clever about giving you back the type of collection that you’d expect. It tries to give you back what you started with, and if it can’t, then it gives you the closest thing possible.
In Scala, the for-statement is actually syntactic sugar for a series of calls to collections methods.
When you write the statement:
for(
x <- Vector(1,2,3,4,5);
y <- Set(1,2,3)
) println(x + y)
the compiler rewrites this as:
Vector(1,2,3,4,5).foreach(x =>
Set(1,2,3).foreach(y =>
println(x + y)))
Since these loops do not evaluate to anything, they can be thought of as statements. (Technically they are expressions that evaluate to Unit, but that’s the same as not evaluating to anything.)
Scala also provides a mechanism for for-comprehensions, expressions with similar syntax that produce collections. These are signaled by the yield keyword:
val a =
for(
x <- Vector(1,2,3,4,5); // outer loop over a vector
if x % 2 == 1; // filter out even xs
y <- Set(1,2,3); // inner loop over a list
if x + y == 6 // filter out entries that don't sum to 6
) yield x * y
// a: scala.collection.immutable.Vector[Int] = Vector(9, 5)
This is accomplished by having the compiler translate the expression into a series of method calls. Each iteration is a call to flatMap and the last iteration is a call is to map:
val a =
Vector(1,2,3,4,5)
.filter(x => x % 2 == 1)
.flatMap(x =>
Set(1,2,3)
.filter(y => x + y == 6)
.map(y => x * y))
// a: scala.collection.immutable.Vector[Int] = Vector(9, 5)
The many of the higher-order functions on Scala’s collections can trivially be run in parallel, and because they are immutable, they are implicitly thread-safe.
Collections are converted to their parallel versions with the method .par. Parallel collections can be converted back using .seq. For example:
val a = Vector(1,2,3,4) // create a vector
val b = a.par // make the vector parallel
val c = b.map(x => x + 1) // functions executed on different cores
val d = c.seq // back to a normal vector
Parallelization has additional overhead, but with very large collections and many cores, it will likely be much faster than sequential execution.
Note that not all operations are parallelizable. For example, foldLeft cannot be parallelized because it must be run left-to-right. If you want to fold in a parallelizable way, you must use fold and give it a function that can be run out of order:
val a = Vector(1,2,3,4).par.fold(0)((x,y) => x + y)
Don’t ever use null. Ever.
Scala provides a much better alternative: Option. An Option is basically a box around a type that can either contain an object of that type, or contain nothing. This is implemented such that Option[T] is a trait (interface), and it has two implementing classes: Some[T] and None.
So, if you write a function that, for example, needs to return an Int, but that might sometimes not want to return a value, instead of returning null as the default, you can make the return type Option[Int], and return either Some[Int], when there is a value, or None, when there is not:
def indexOf[T](a: T, xs: Vector[T], i: Int = 0): Option[Int] = {
if(i >= xs.length)
None // Vector exhausted. No match found.
else if(xs(i) == a)
Some(i) // Found a match. Return the index.
else
indexOf(a, xs, i + 1) // Not a match. Keep looking.
}
indexOf('c', "abcdefg".toVector) // res0: Option[Int] = Some(2)
indexOf('k', "abcdefg".toVector) // res1: Option[Int] = None
When we get the result, we will always know whether the value is present or not, without having to null-check. Furthermore, Option has a number of really terrific methods analogous to those on the collections, that make using an Option very easy.
For example, if you wanted to perform some action on the result of indexOf, but only if there was actually a result, in Java you might do something like this:
// DON'T DO THIS!!!
val n: Int = indexOfWithNull('c', "abcdefg".toVector)
val s: String =
if(n != null)
s"the index was $n!"
else
null
}
if(s != null)
println(s)
But in Scala you can do this:
val s: Option[String] =
indexOf('c', "abcdefg".toVector) match {
case Some(n) => Some(s"the index was $n!")
case None => None
}
s match {
case Some(x) => println(x)
case None =>
}
That keeps things nicely within the Option world so that there is no question about whether any value might or might not be null at any time, and when null-checks are necessary. However, it’s still a bit verbose. We can get the same result by doing this:
indexOf('c', "abcdefg".toVector)
.map(n => s"the index was $n!")
.foreach(println(_))
So see examples of all the various methods on Option, see Scala Option Cheat Sheet.
As a final note, Option is really great for chaining together operations that should only succeed if all the values are present, and fall to None if any is None. If we were looking values up in a Map, we could do something like:
val m = Map(1 -> "one", 2 -> "two", 3 -> "three")
val s1 = // s1: Option[String] = Some("onetwothree")
for(
a <- m.get(1);
b <- m.get(2);
c <- m.get(3)
) yield (a + b + c)
val s2 = // s2: Option[String] = None
for(
a <- m.get(1);
b <- m.get(4);
c <- m.get(3)
) yield (a + b + c)
Scala allows you to “add” behavior to existing classes in a principled way using implicit classes. An implicit class takes exactly one constructor argument that is the type to be extended and defines behavior that should be allowed for that type.
implicit class EnhancedVector(xs: Vector[Int]) {
def sumOfSquares = xs.map(x => x * x).sum
}
Vector(1,2,3).sumOfSquares // res0: Int = 14
apply
The apply method of a class or object is used to overload the parentheses syntax, allowing you to specify the behavior of what looks like function application.
class A(i: Int){
def apply(j: Int) = i + j
}
val something = new A(3)
something(4) // res0: Int = 7


Paperless patient communication
Patient
Production iteration 1.0
November 2018BUILD THIS
- NHS start page.
- Link from email 1
- Link from email 2
- 3 referrals
- Multiple referral variations
- Paper journey
- Previous paper referral login method change
- Login access code validation
- Display pre-populated UBRN
Patient has multiple referrals
Leeds Wednesday 17 October 2018- NHS start page.
- Link from email 1
- Link from email 2
- 3 referrals
- Multiple referral variations
- Paper journey
Patient has multiple referrals
Tested in Hull Monday 15 October 2018Patient has one referral
Tested in Hull Monday 15 October 2018Initial designs
Professional
- Prototype v5 Revised
version at end of journey, using PDS data only.
- Prototype
v4 Tested Sheffield, Liverpool, Leeds and Newcastle October 2018
- Prototype v3 Tested
Nottingham 19/09/18
- Prototype v2b Not
tested, design rejected.
- Axure
Prototype 2 (patient does not have an existing email in PDS)
- Axure Prototype 1 (patient has existing emails in PDS)


The Hello World demo shows the most basic use of BootstrapPlus.Modal. It has a basic header, body, and Close button. Now let's see how to make custom buttons.
The code is fairly simple. BootstrapPlus.Modal expects a key named buttons in the configuration object that contains an object whose keys will be the names of the buttons to place on the dialog. Each button will have a handler method, and an optional type. type is where you can tell BootstrapPlus.Modal if the button is a primary button or not. Here's a sample:
var modal = new BootstrapPlus.Modal({
header: "Message For You",
body: "
Below are custom buttons. They do stuff!
",
buttons: {
"What's My ID?": { handler: function() { alert(modal.getId()); }},
"Say Hi": { handler: function() { alert("Hello."); }},
"Close": { type: "primary", handler: function() { modal.close(); }}
}
});


Rotation (°):
Delay (ms):
Speed (0-100%):
Direction:
Clockwise
Counterclockwise
Stepper brake
Configure


{% load i18n %}
A new message was given labels that you watch: {% for label in labels %}{{ label.name }}{% if not forloop.last %}, {% endif %}{% endfor %}.
{% blocktrans trimmed with inbox_url=inbox_url %}
Go to here to view the message. You are receiving this email because you are watching
those labels. You can unwatch from the label pages.
{% endblocktrans %}


| File | Statements | Branches | Functions | Lines | |||||
|---|---|---|---|---|---|---|---|---|---|
| local | 83.23% | 139/167 | 55.36% | 31/56 | 95.65% | 44/46 | 94.78% | 127/134 | |
| production | 99.35% | 153/154 | 84.21% | 48/57 | 97.44% | 38/39 | 100% | 143/143 | |
| shared | 72.97% | 54/74 | 52.73% | 29/55 | 83.33% | 10/12 | 80% | 48/60 | |
| shared/components | 91.73% | 122/133 | 56.38% | 53/94 | 96.77% | 30/31 | 97.8% | 89/91 | |
| utils | 100% | 11/11 | 100% | 5/5 | 100% | 3/3 | 100% | 10/10 |


Impressum
Who cares who is reponsible for the content of this site. Let's just enjoy some awesome Instagram filters!


Entitlement to help with health costs (HC3 Certificate)
You will need to show a copy of this information whenever you want to use it.
- Prescriptions
This certificate does not entitle you to free prescriptions
- Sight tests
Towards a private sight test, you pay a maximum of:
- £5.10
- Glasses or contact lenses
Towards an optical voucher, you pay:
- £10.20
- Travel to receive NHS treatment
Towards travel, in one week you pay:
- £5.10
- NHS dental treatment
Per course of treatment, you pay a maximum of:
- £15.30
- NHS wigs or NHS fabric supports
Per prescribed item, you pay a maximum of:
- £15.30
This does not affect ny entitlement you already have,
for example if you already get help because of your age or a medical condition
Entitlement for
Priya Mattu
Vinay Mattu
Certificate number
Valid dates
from: 14 July 2015
to: 14 August 2016
Update your details or tell us your circumstances have changed


The CSS contain property indicates that the element’s subtree is independent of the rest of the page. This enables heavy optimizations by user agents when used well.
With the new CSS Containment Property, Developers can inform the browser about scope of an element's styles, layout and paint, depending on which the browser can optimize its Render Pipeline.
The CSS contain property has landed in Chrome 52 and in Opera 40 and is coming soon to Firefox.
Un-optimized Example
There are three divs: .parent-div
, .child-div
& .dummy-div
. I'll be changing the font-size of the .child-div
How to measure improvement
- Open Chrome Developer Tools.
- Go to Timeline tab.
- Hit Record ● (or ⌘ + E / Ctrl + E)
- Click Animate Me Button
- Stop Recording and zoom into frame and individual process and see time taken.
Optimized Example
contain: layout
- With
contain:layout
, the developer specifies that any changes to any descendant of this element will not affect the layout of any outside element and vice versa. So the browser only computes positions of the internal elements if they are modified and the rest of the DOM stays as is. So this means that Layout process in the animation frame render pipeline which we saw earlier will speed up. - This gives Highest Performance Benefit amongst all other containment values.
contain: paint
- With
contain: paint
, you specify that no descendant will display outside the elements bounds. Think of it asoverflow:hidden
. - Now
position: absolute
orposition: fixed
elements are positioned relative to their first non statically positioned ancestor. But if there is a closer ancestor with contain:paint, they will be positioned relative to that element. z-index
property for this element will work even if it isposition: static
.- Plus it the element will be pushed to a different layer in the “Paint” process of the animation pipeline.
contain: size
-
contain: size
means that this component’s size is set and no descendant will modify its size. - If you don’t specify the size dimensions width & height, the element will be rendered empty i.e. 0 by 0 pixels
- This containment value does not give much performance boost but rather is just an additional level of containment.
contain: style
-
contain: style
means that any descendant’s styles will not affect outside elements. - In CSS, i.e. "Cascading Style Sheets" which means properties get trickled down, not the other way round, this property is not that important.
- But one example where it can help is CSS Counters where changes inside won’t get propagated outside.
- Bear in mind that this is in no way associated to scoped styling that you get from Shadow DOM
contain: strict
- Equivalent to
contain: layout paint size style
- So its a shorthand combination of all four values given above.
- Highest Containment Optimization if dimensions are set.
contain: content
- Equivalent to
contain: layout paint style
- This is the one which you should use in most cases, because its not as limiting as
contain: strict
If you find any mistake in the above explanation or demo, feel free to raise an issue or fork & suggest changes


Shakespeares' Plays I have seen
If you like these email me at my
email
.
Comedies
Twelfth Night
All's Well that Ends Well
A Midsummer Night's Dream
Tragedies
Hamlet
Macbeth
Romeo and Juliet
Histories
Henry IV Part 1


Survey Form
This is our survey form (Microverse Trial)
Name
Email
Number
Select Your Value
Value #1
Value #2
Value #3
Value #4
Select from radio buttons
Radio BT #1
Radio BT #2
Radio BT #3
Radio BT #4
checkbox 1
checkbox 2
checkbox 3
checkbox 4
Submit


Notebooks
Story: Mat sieves
Mat sieves
Title
Mat sieves
Collection
Summary
Mat sieves said to be generally made by the Bushmen, but skin sieves by the Grass Bushmen and the Koranna-Hottentots. In English, after Díä!kwãin (L V.-25. VI note). Sieves supposed also to be used by the early race. By /han≠kass’o (L VIII.-27. 8391 and 8392). |han≠kass'o describes some sieves (!yuiten) that he believes belonged to the Early Race of Bushmen. These sieves were used to sift !haken after digging it out.
Comments
1) See also a note by Dia!kwain in The woman who was killed by the baboons (p.5993opp) for a description of sieves made from matting (used by 'real Bushmen') and sieves made from skins used by Korannas and 'Grass Bushmen', 2) This story is found in Book VIII-27
Contributors
|han≠kass'o (Klein Jantje) (VIII)
Date
22 April 1879
Categories
History (Early Race), Custom and daily life, Artefact and dress
Keywords
sieve (a thing called !yuiten belonging to the Early Race of Bushmen) , sieve (used for sifting !haken) , Early Race (their sieves were called !yuiten) , Early Race (used sieves for sifting !haken) , Early Race (dig for !haken and 'Bushman rice') , food (eaten by the Early Race) , food (the eating and sifting of !haken and 'Bushman rice' by the |xam) , food (digging for !haken and 'Bushman rice') , names (of foods eaten by the Early Race of Bushmen) , names (digging for !haken and 'Bushman rice') , names (sieves or !yuiten) , digging (for !haken and 'Bushman rice') , digging (and sieves used by the Early Race) , !haken (and 'Bushman rice' sieved by people of the Early Race in things called !yuiten) , Bushman rice (and !haken sieved by people of the Early Race in things called !yuiten)
Story Pages
8391-8392


Ripple (XRP) Price Remains At Risk Of More Losses
- Ripple price is trading in a bearish zone below the $0.2840 resistance against the US dollar.
- The price is struggling to hold the key support area near the $0.2700 level.
- Yesterday’s major bearish trend line is active with resistance near $0.2800 on the hourly chart of the XRP/USD pair (data source from Kraken).
- Ethereum is trading above $180 range support and bitcoin is down more than 3.5%.
Ripple price is facing an uphill task against the US Dollar and bitcoin. XRP price is likely to continue lower as long as it is trading below $0.2820 and $0.2840.
Ripple Price Analysis
In the past few hours, there was an increase in selling on ripple below the $0.2840 resistance area against the US Dollar. XRP/USD mostly followed a bearish path below $0.2800 and the 100 hourly simple moving average.
Moreover, the price moved below the last low and traded to a new weekly low near $0.2682. At the moment, the price is correcting higher above $0.2720. Moreover, there was a break above the 23.6% Fib retracement level of the recent decline from the $0.2852 high to $0.2682 low.
However, there are many resistances for ripple on the upside near the $0.2765 and $0.2780 levels. Besides, the 50% Fib retracement level of the recent decline from the $0.2852 high to $0.2682 low is near the $0.2765 level.
More importantly, yesterday’s major bearish trend line is active with resistance near $0.2800 on the hourly chart of the XRP/USD pair. The 100 hourly SMA is also positioned near the trend line and $0.2800 to act as a barrier for the bulls.
Therefore, a clear break above the trend line, $0.2800, and the 100 hourly SMA could start a decent increase. The next key resistance is near the $0.2840 level, above which there are chances of more upsides towards the $0.3000 resistance area.
On the downside, an initial support is near the $0.2700 level. If there is another bearish break below the $0.2700 support, the price could even decline below the $0.2682 low. The next key supports on the downside are near the $0.2650 and $0.2640 levels.
Looking at the chart, ripple price is clearly trading in a bearish zone below the $0.2800 and $0.2840 resistance levels. A convincing close above $0.2840 is needed for the price to move into a bullish zone. If not, there is a risk of more losses below $0.2700.
Technical Indicators
Hourly MACD – The MACD for XRP/USD is about to move into the bearish zone.
Hourly RSI (Relative Strength Index) – The RSI for XRP/USD is currently declining and is below the 50 level.
Major Support Levels – $0.2700, $0.2680 and $0.2650.
Major Resistance Levels – $0.2765, $0.2800 and $0.2840.


--- layout: post title: In the bus 38 description: Bus sketch date: '2019-02-04 10:31:26 +0100' categories: - Sketchbooks - Sketches ---
Woman with a baby carriage, drawn in the bus, ballpoint, in sketchbook.


Schedule Services
Click here for more info about this free website templates by TemplateMonster.com.
Read MorePreventive Maintenance
This website template is optimized for 1280X1024 screen res. It is also XHTML & CSS valid.
Read MoreRepair Services
The PSD source files of this template are available for free for the registered members.
Read MoreTire & Wheel Services
Feel free to get this free web template created by Template Monster Team!
Read More


This slide example is set up so that JS handles the sizing of everything.
We all make choices, but in the end our choices make us.
Names don't matter. What's important is how you live your life
Willump and I have a whole world to explore. Don't get in our way!


Pathway-bias reference ligand selection
Pathway-bias studies uses a reference ligand for bias which has balanced signaling across the compared pathways in
the given biological and experimental system used. These ligands can be found in the Biased Signaling Atlas’ browser for
Pathway-preferring ligands
by applying a cut-off to the “Relative pathway activity (log(Emax/EC50))” which should be close to 0
(means pathway-balanced instead of pathway-preferring signaling). To increase the chance that at least one
of the viewed ligands are pathway-balanced also in your experiments, it is suggested to pick and test several
ligands and to prioritize ligands have been tested in similar biological and experimental systems.
Upon own testing of alternative potential reference ligand for pathway-bias, making a bias plot
is a good tool to identify the most pathway-balanced ligand to select as reference.
Physiology-bias reference ligand selection
Physiology-bias studies use a reference ligand for bias which is an endogenous ligand. These ligands can be found in GPCRdb’s browser for Endogenous ligands. If your receptor of interest has multiple endogenous ligands, community guidelines recommends using the “principal” endogenous ligand and not “secondary” endogenous ligands, which can be filtered out in this browser. This is because secondary endogenous ligands can also be physiology-biased relative to the principal endogenous ligand.
Separate reference ligand for efficacy
If the reference ligand for bias is not a full agonist (does not reach the maximum efficacy of the assay),
a separate reference ligand should be used for efficacy measures. If needed, each pathway can use a distinct reference ligand
for efficacy as long as the efficacies of all ligands tested for bias, and the reference ligand for bias,
are measured relative the same reference ligand for efficacy.
For further information, see section “1. The choice of reference ligand …” in the community guidelines.
Example of a reference ligand for bias which is a partial agonist (does not reach maximum efficacy) and
therefore needs to be complemented with a separate reference ligand for efficacy.


NIGMAS HOMEPAGE
I am in no way am I liable for whatever you read, see, hear or download
from this homepage. If you have who have ICQ
if you dont, GET IT!, is free. To
Talk to me you can PAGE ME
yes that's right Page ME, the number is
102.7 KIIS-FM,
LIVE!
Virtual Hospital
I SEEK
YOU
PHREE PROGRAMS
Encyclopedia Britannica
White House
Rap MP3z
Lost????Thompsons Guide
shareware, freeware, demos
free games
Find anyone
Los Angeles Times
Ultimate search
engine
play Bingo
chat freaks!
Reader's Digest
movie database
© 1998
Sign
Guestbook


The Best of Seattle
The salmon we use in our cookies is the best around, harvested 20 miles off the coast of the salty Pacific! We also use a combination of family-friendly ingredients that make our cookies very unique. Our customers have been raving about us for the past 10 years, so come find out what all of the buzz is about! Be sure to also read about our impact in the community in Patty's blog!


HOME
PROJECTS
RUTO
CONTACT ME
Projects started in College
Name
Language
Git Url
Projects started in High School
Name
Language
Git Url
Projects starred by NullRuto
Name
Language
Git Url


JavaScript Framework
TypeScript
Final release in 2016
Google
JavaScript library
JavaScript w/ JSX
Released in 2013
Facebook
Framework
Steeper learning curve
Opionated
Growing community
Library
Easy to learn, difficult ecosystem
More autonomy
Active/strong community
{{character.name}}
{ characters.map(character => {character.name} )}
(click)="handleSearch()"
onClick={this.handleSearch.bind(this)}


Student
Teacher
Timetable
Timetable
Search Timetable:
Class ID:
Teacher ID:
Subject:
Room Number:
Day:
Time:


If you want to mail us an audiocassette mixtape to be a part of our physical and digital collection, send an email to
with the word "Mail" in the subject line. We'll get in touch with you, pay any shipping costs, and put your name up on this page.


Acorn
"Acorn is a new image editor built with one goal in mind - simplicity. Fast, easy, and fluid, Acorn provides the options you'll need without any overhead. Acorn feels right, and won't drain your bank account." http://flyingmeat.com/acorn/
AcornTour: Get started with an introduction to the interface and the features of Acorn
- AcornTour
- AcornToolsPalette
- AcornLayers
- AcornColorsFonts
- AcornMenuItems
- AcornLevels
- AcornScreenShots
- AcornSlideShow
AcornFilters
A guide to the filters included in Acorn.
ThirdPartyAcornPlugins
Download extra filters and plugins for Acorn.
AcornTipsAndTricks
Simple ideas and tricks to make working with Acorn easier.
Advanced uses of Acorn for developers and curious persons
- AcornPlugins
Information and examples for developers wanting to write plugins for Acorn in http://www.python.org/ and Objective-C
- http://flyingmeat.com/download/latest/
Prerelease versions of Acorn that will crash your computer, punch you in the eye, and steal your girlfriend.


1.1 Instances of randomness
Probability comes up in a wide variety of situations. Consider just a few examples.
- The probability that a single flip of a fair coin lands on heads.
- The probability you win the next Powerball lottery if you purchase a single ticket, 6-7-16-23-26, plus the Powerball number, 4.
- The probability that a “randomly selected” Cal Poly student is a California resident.
- The probability that it rains tomorrow in San Luis Obispo.
- The probability that there are more Atlantic hurricanes in 2021 than in 2020.
- The probability that the Green Bay Packers win the next Superbowl.
- The probability that Democrats win both Senate seats in the Georgia runoff election.
- The probability that extraterrestrial life currently exists somewhere in the universe.
- The probability that Alexander Hamilton actually wrote 51 of the Federalist Papers. (The papers were published under a common pseudonym and authorship of some of the papers is disputed.)
- The probability that you ate an apple on April 17, 2009.
Example 1.1 How are the situations above similar, and how are they different? What is one feature that all of the situations have in common? Is the interpretation of “probability” the same in all situations? Take some time to consider these questions before looking at the solution. The goal here is to just think about these questions, and not to compute any probabilities (or to even think about how you would).
Show/hide solution
This exercise is intended to motivate discussion, so you might have thought of some other ideas we don’t address here. That’s good! But here are a few thoughts we specifically want to mention now.
The one feature that all of the situations have in common is uncertainty. Sometimes the uncertainty arises from a repeatedable physical phenomenon that can result in multiple potential outcomes, like flipping a coin or drawing the winning Powerball number. In other cases, there is uncertainty because the probability concerns the future, like tomorrow’s high temperature or the result of the next Superbowl. But there can also be uncertainty about the past: there are some Federalist papers for which the author is unknown, and you probably don’t know for sure whether or not you ate an apple on April 17, 2009.
Whenever there is uncertainty, it is reasonable to consider relative likelihoods of potential outcomes. For example, even though you don’t know for certain whether you ate an apple on April 17, 2009, if you’re usually an apple-a-day person you might think the probability is high. We don’t know for sure what team will win the next Superbowl, but we might think that the Packers are more likely than the Las Vegas (?!?!) Raiders to be the winner.
While all of the situations involve uncertainty, it seems that there are different “types” of uncertainty. Even though we don’t know if a coin flip will land on heads or tails, the notion of “fairness” implies that these two outcomes are “equally likely”. Likewise, there are some rules to how the Powerball drawing works, and it seems like these rules should determine the probability of drawing that particular winning number.
However, there aren’t any specific “rules of uncertainty” that govern whether or not you ate an apple on April 17, 2009. You either did or you didn’t, but that doesn’t mean the two outcomes are necessarily equally likely. Regarding the Superbowl, of course there are rules that govern the NFL season and playoffs, but there are no “rules of uncertainty” that tell us with certainty which teams will win individual games.
It also seems that there are different interpretations of probability. Given that a coin is fair, we might all agree that the probability that it lands on heads is 1/2. Similarly, given the rules of the Powerball lottery, we might all agree on the probability that a drawing results in a particular winning number. However, there isn’t necessarily consensus about the probability that it rains tomorrow in San Luis Obispo. Different weather forecasters, news stations, or websites might provide different values for this probability. There seems to be some subjectivity to probability in situations like tomorrow’s weather or the next Superbowl.
Finally, some of these phenomenon are repeatedable. We could (in principle) flip a coin many times and how often the flips land on heads, or repeat the Powerball drawing over and over to see how the winning numbers behave. However, many of these situations involve something that only happens once, like tomorrow or April, 17, 2009 or the next Superbowl. Even when the phenomenon happens only once it reality, we can still develop models of what might happen if we were to hypothetically repeat the phenomenon many times. For example, meteorologists use historical data and meteorological models to forecast potential paths of a hurricane.
The subject of probability concerns random phenomena. A phenomenon is random if there are multiple potential outcomes, and there is uncertainty about which outcome will occur. Uncertainty is understood in broad terms, and in particular does not only concern future occurrences.
Some phenomena involve physical randomness1, like flipping a coin or drawing powerballs at random from a bin. In many other situations randomness just vaguely reflects uncertainty.
Contrary to colloquial uses of the word, random does not mean haphazard. In a random phenomenon, while individual outcomes are uncertain, there is a regular distribution of outcomes over a large number of (hypothetical) repetitions.
- In two flips of a fair coin we wouldn’t necessarily see one head and one tail. But in 10000 flips of a fair coin, we might expect to see close to 5000 heads and 5000 tails.
- We don’t know who will win the next Superbowl, but we can and should consider some teams as more likely to win than others. We could imagine a large number of hypothetical 2020-2021 seasons; how often would we expect the Eagles to win? The Raiders? (Hopefully a lot for the Eagles; probably not much for the Raiders).
Random also does not necessarily mean equally likely. In a random phenomenon, certain outcomes or events might be more or less likely than others.
- It’s much more likely than not that a randomly selected Cal Poly student is a California resident.
- Not all NFL teams are equally likely to win the next Superbowl.
Finally, randomness is also not necessarily undesirable. In particular, many statistical applications often employ the planned use of randomness with the goal of collecting “good” data.
- Random selection involves selecting a sample of individuals “at random” from a population (e.g., via random digit dialing), with the goal of selecting a representative sample.
- Random assignment involves assigning individuals at random to groups (e.g., in a randomized experiment), with the goal of constructing groups that are similar in all aspects.
The probability of an event associated with a random phenomenon is a number in the interval \([0, 1]\) measuring the event’s likelihood or degree of uncertainty. A probability can take any values in the continuous scale from 0% to 100%2. In particular, a probability requires much more interpretation than “is the probability greater than, less than, or equal to 50%?” As Example 1.1 suggests, there can be different interpretations of “probability”, which we’ll start to explore in the next section.
We will refer to as “random” any scenario that involves a reasonable degree of uncertainty. We’re avoiding philosophical questions about what is “true” randomness, like the following. Is a coin flip really random? If all factors that affect the trajectory of the coin were known precisely, then wouldn’t the outcome be determined? Does true randomness only exist in quantum mechanics?↩
Probabilities are usually defined as decimals, but are often colloquially referred to as percentages. We’re not sticklers; we’ll refer to probabilities as decimals and as percentages.↩