text:
Alfred Denis Cortot (Nyon, 26 de septiembre de 1877 - Lausana, 15 de junio de 1962) fue un pianista y director de orquesta franco-suizo. Está considerado como uno de los músicos más populares de la primera mitad siglo XX y uno de los mejores pedagogos, renombrado por su poética comprensión de las obras pianísticas del romanticismo, particularmente las de Chopin y Schumann. También son notables sus aportaciones a la divulgación de conocimiento de autores como Claude Debussy e Isaac Albéniz.

Biografía
Alfred Cortot nació en Nyon en la parte suiza de habla francesa, de padre francés y madre suiza. A la edad de cinco años, comenzó a aprender piano en Ginebra. Sus progresos son tan fulgurantes que su familia decide establecerse en París para que el joven Alfred pueda continuar su educación musical. Se matricula en el prestigioso Conservatorio de París a la edad de nueve años donde fue alumno durante diez años. Estudió con Emile Descombes (un afamado alumno de Chopin). En 1896, obtuvo un primer premio de piano, en la clase de Louis Diémer. Edouard Risler, repetidor de Diémer, le lleva a Bayreuth donde Alfred Cortot fue asistente y donde toca para Cósima, la hija de Franz Liszt y esposa de Richard Wagner. Desde entonces fue un apasionado de Wagner.

Hizo su debut en los Conciertos Colonne de 1897, tocando el Concierto para piano n° 3 de Beethoven. Entre 1898 y 1901 fue correpetidor de un coro, y, luego, director asistente en el Festival de Bayreuth, y en 1902 dirigió el primer estreno en Francia (París) de El ocaso de los dioses de Wagner. Formó una sociedad de conciertos para presentar Parsifal de Wagner, la Missa solemnis de Beethoven, Un Réquiem alemán de Brahms, la Légende de Sainte Elizabeth de Liszt, y otros estrenos de compositores franceses.

En 1905, Cortot formó un trío con Jacques Thibaud y Pablo Casals, un trío de música de cámara que se convirtió rápidamente en uno de los tríos con piano más importante de su tiempo, permaneciendo juntos hasta el inicio de la Segunda Guerra Mundial. Además de su carrera como intérprete, Cortot emprende una carrera como enseñante. En 1907 es nombrado profesor del Conservatorio de París (enseñó hasta 1923), siendo un excelente pedagogo, como muestra los excelentes alumnos que tuvo, como Hélène Boschi, Samson François, Clara Haskil, Yvonne Lefebure, Gina Bachauer, Dinu Lipatti, Vlado Perlemuter, Magda Tagliaferro, e incluso a Marguerite Monnot (compositora francesa de muchas de las mejores canciones de Édith Piaf y del musical Irma la douce).

Después de una gira por los Estados Unidos en 1918, funda en 1919, con Auguste Mangeot (director de la revista Le Monde musical), la École Normale de Musique de Paris que lleva desde entonces su nombre. Sus cursos de interpretación musical fueron legendarios. Hizo muchas giras como pianista, también apareció como director invitado de muchas orquestas. En 1922 estrenó, junto con Jacques Thibaud, la Première sonate pour violon et piano de Germaine Tailleferre.

Durante la Segunda Guerra Mundial, fue« Haut-Commissaire aux Beaux-Arts» del gobierno de Vichy, miembro del «Conseil National», partidario declarado de la colaboración. En 1942, fue uno de los pocos pianistas franceses en poder tocar en Berlín, en plena ocupación nazi. Estos hechos le acarrearán bastantes problemas tras la Liberación pero desde 1946, reemprende su actividad de concertista.

Alfred Cortot da su último concierto público en el Festival de Prades en compañía de Pablo Casals en 1958.

En Japón, una isla costera lleva el nombre de Cortot, testimonio de la profunda admiración que suscita el pianista francés en el todo el mundo.

Las casi 10 000 obras y partituras anotadas de su mano que comprende su biblioteca musical fueron recompradas y se conservan en la «Médiathèque Musicale Mahler» de París. Pero una parte de los manuscritos que Alfred Cortot había adquirido ha sido dispersada en algunas de las más grandes bibliotecas públicas de todo el mundo.

La polémica
Controvertido, apoyó la ocupación alemana en Francia durante la Segunda Guerra Mundial (tocó en conciertos auspiciados por los nazis, por ejemplo), y esto le llevó a ser declarado persona non grata después del fin de la guerra. Sus motivaciones para hacer esto han sido discutidas, pero se le prohibió dar conciertos públicos por un año, y su imagen pública en Francia quedó muy deteriorada (considerando que siguió siendo bien recibido en sus recitales en otros países, sobre todo Inglaterra).

Su obra

Alfred Cortot ha tenido una gran influencia en la interpretación pianística tanto en Francia como en el extranjero, particularmente en la Unión Soviética donde los conciertos dados durante los años 1920 (en Moscú y San Petersburgo), fueron el origen de una escisión en el mundo pianístico local. De un lado, los progresistas encabezados por Heinrich Neuhaus y Samuel Feinberg se declararon impresionados por el pianista francés al punto de repensar su técnica. Del otro, los pianistas más inclinados hacia el academicismo, como Alexandre Goldenweiser criticaron el gusto de Cortot por la libertad.

Siendo el más destacado intérprete al piano de Chopin y Schumann, Cortot hizo ediciones de la música de ambos compositores (y también de Listz), que fueron notables por sus comentarios meticulosos acerca de los problemas técnicos y asuntos de interpretación. Tuvo lapsus de memoria famosos —particularmente notables de los años 1940 en adelante, cuando muchos asuntos no musicales estaban en su mente— y ocasionalmente dejó notas equivocadas en sus grabaciones. Esto es un total contraste con su estudiante técnicamente irreprochable, Dinu Lipatti.

Cortot también fue el autor de un método para el piano: "Principios Racionales de la Técnica del Pianoforte" (Les Principes rationnels de la technique pianistique), en el que ha desarrollado su propio aproximación según la cual la subjetividad así como la búsqueda personal propia del artista deben acompañar el trabajo digital y muscular. Este libro contiene muchos ejercicios de digitación para ayudar al desarrollo de varios aspectos de la técnica de interpretación al piano. Originalmente lo escribió en francés, pero ha sido traducido a otros idiomas.

Cortot está entre los más grandes músicos del siglo, y representa el fin de una era. Es considerado el último exponente de un estilo subjetivo y personal que rechazó una técnica precisa en favor de la intuición, interpretación y espíritu auténtico. Esta manera fue reemplazada por el moderno modo "científico" de tocar, en la que se colocan al frente a la lógica y la precisión e iguala la autenticidad con las "interpretaciones" metronómicas y literales.Ha sido el padre de la poética pianística y sus interpretaciones están llenas de un "halo mágico de ensoñación y transcendencia". Las grabaciones y las anotaciones musicales de Cortot rara vez se dejan de imprimir."

Alfred Cortot ha grabado numerosos discos, especialmente de Chopin, Schumann y Liszt, de los que fue un intérprete de excepción. Publicó el primer registro mundial íntegro de la Sonata en si menor de Liszt, de la Kreisleriana de Schumann y del Primer Libro de Preludios de Debussy.

Referencias

Bibliografía
 Cortot, Alfred, La musique française de piano, 1930–48
 —, Cours d'interprétation, 1934 (Estudios en Interpretación Musical, 1937)
 —, Aspects de Chopin, 1949 (En busca de Chopin, 1951)
 Gavoty, Bernard Alfred Cortot, 1977 (francés)
 Manshardt, Thomas, Aspects of Cortot, 1994
 Carrasco Barea, Jesùs. Artículo "Cortot, la poética del piano", 2009

Pianistas de música clásica de Francia
Directores de orquesta de Francia
Ganadores de la Medalla de Oro de la Royal Philharmonic Society
Colaboradores franceses con la Alemania nazi
Músicos clásicos del siglo XX de Francia
Alumnado del Conservatorio de París
Nacidos en Nyon
Fallecidos en Lausana


text:
Q: Wireless network not connecting to WiFi All of a sudden my machine's wireless network is not connecting to my WiFi router.How can I figure out if its an issue with the WLAN card or if its withing the Ubuntu system settings ?Is there a command to check if the wireless is working ?
$ nm-tool
NetworkManager Tool
State: disconnected
  Device: eth0
  Type: Wired
  Driver: e1000e
  State: unavailable
  Default: no
  HW Address: 00:1C:C0:34:D4:1F
  Capabilities:
     Carrier Detect: yes   Wired Properties
     Carrier: off

sudo lshw -C network
*-network
  description: Ethernet interface
  ....
  ....

A: Are you sure Proprietary Drivers are enabled?
Are you sure you have not made any edits in the IP configs? Set it to "Automatic (DHCP)".
Do you have Windows installed? Does Wireless work in Windows?
Are you sure your hardware switch for the Wireless Card is turned on (this feature may not be present in some computers) ?

redpajama_set_name: RedPajamaStackExchange


text:
package com.opengsn.controller;

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.List;

import javax.jws.WebMethod;
import javax.jws.WebService;

import com.opengsn.controller.model.HostList;
import com.opengsn.controller.model.LinkTable;
import com.opengsn.controller.model.MigrationPlan;
import com.opengsn.controller.tools.Logger;

/**
 * The Controller Web Serivce Interface
 * @author knguyen
 * @author ffm
 *
 */
@WebService
public class Controller implements IController {

	private IControllerProvider controller = null;

	public Controller(IControllerProvider controller) {
		this.controller = controller;
	}

	/* (non-Javadoc)
	 * @see com.greenstarnetwork.services.controller.soapendpoint.IControllerSOAPEndpoint#executePlan()
	 */
	@WebMethod
	public String executePlan() {
		try {
			return this.controller.executePlan().toXML();
		} catch (ControllerException e) {
			e.printStackTrace();
			return "Error: " + e.toString();
		}
	}

	/* (non-Javadoc)
	 * Randomly generate a list of host
	 * @param nbrOfDataCentres  :   number of data centres in the network
	 * @return :	list of generated hosts in XML format
	 */
	@WebMethod
	public String generateHostList(int nbrOfDataCentres) {
		this.controller.generateHostList(nbrOfDataCentres);
		return this.controller.getHostList().toXML();
	}

	/* (non-Javadoc)
	 * @see com.greenstarnetwork.services.controller.soapendpoint.IControllerSOAPEndpoint#generatePlan(double, double)
	 */
	@WebMethod
	public void generatePlan() throws ControllerException {
		//this.controller.generatePlan(minAcceptableLifeTime, maxNecessaryLifeTime);
		this.controller.generatePlan();
	}

	/* (non-Javadoc)
	 * @see com.greenstarnetwork.services.controller.soapendpoint.IControllerSOAPEndpoint#getLinkTable()
	 */
	@WebMethod
	public String getLinkTable() {
		LinkTable lt = this.controller.getLinkTable();
		if (lt == null)
			return "No link table.";
		return lt.toXML();
	}

	/**
	 * Return the current migration plan which is being executed and the history of previous migration plan being done.
	 */
	@WebMethod
	public String getMigrationPlan() {
		MigrationPlan plan = this.controller.getMigrationPlan();
		String log_file = System.getenv(Logger.IAAS_HOME) + Logger.LOG_DIR + MigrationPlan.LOG_FILE;
        String log_content = "";
		try {
			java.io.BufferedReader reader = new BufferedReader(new InputStreamReader(new
	                FileInputStream(log_file)));
	        String s = reader.readLine();
	        while (s != null)
	        {
//	        	System.err.println(s);
        		log_content += s + "\n";
	        	s = reader.readLine();
	        }
	        reader.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
		if (plan == null) {
			if (log_content.isEmpty())
				return "No migration plans.";
			else
				return log_content;
		}else if (plan.isDone())
		{
			return log_content;
		}else {
			return log_content + "\n" + plan.toString();
		}
	}

	@WebMethod
	public void connect() {
		this.controller.connect();
	}

	@WebMethod
	public String getHostList() {
		HostList hl = this.controller.getHostList();
		if (hl == null)
			return "No host list.";
		return hl.toXML();
	}

	/*
	@WebMethod
	public double getMaxNecessaryLifeTime() {
		return this.controller.getMaxNecessaryLifeTime();
	}

	@WebMethod
	public double getMinAcceptableLifeTime() {
		return this.controller.getMinAcceptableLifeTime();
	}
	*/

	@WebMethod
	public int getMode() {
		return this.controller.getMode();
	}

	@WebMethod
	public void getResourcesFromCloud() {
		this.controller.getResourcesFromCloud();
	}

	/*
	@WebMethod
	public boolean setMaxNecessaryLifeTime(double maxNecessaryLifeTime) {
		return this.controller.setMaxNecessaryLifeTime(maxNecessaryLifeTime);
	}

	@WebMethod
	public boolean setMinAcceptableLifeTime(double minAcceptableLifeTime) {
		return this.controller.setMinAcceptableLifeTime(minAcceptableLifeTime);
	}
	*/

	@WebMethod
	public void setMode(int mode) {
		this.controller.setMode(mode);
	}

	@WebMethod
	public String getLogContent(String filename) {
		return this.controller.getLogContent(filename);
	}

	@WebMethod
	public List<String> getLogFiles() {
		return this.controller.getLogFiles();
	}
}

redpajama_set_name: RedPajamaGithub


Shiny new floors & whole new classrooms are greeting students on their first day back from holiday break to Palo Verde Magnet High School! Check out how epoxy on resilient coating made these floors sparkle. Grail Construction turned the old automotive shop into two new classrooms. One will be a CAD learning class and the other a TV/Sound Studio with TV studio lighting and a green screen! The old sheet metal shop (now a sound studio lab), electronics shop and woodworking shop also received all new looks! Be sure to also check out the new door we cut into the wall for the woodworking shop!


text:
Pharmaceutical company cuts costs with advance bookings
By Sara Turner / 22 November 2011
Norgine has saved thousands on travel by introducing a 21-day advance booking policy.
The pharmaceutical manufacturer, a client of TMC Egencia, extended its target for bookings from 14 days in advance to 21 days at the beginning of 2011.
According to Toral Notay, category manager, global indirect purchasing, this extension, alongside increased online adoption, has resulted in "significant savings" of €140,000 in the first half of 2011.
Norgine decided to increase its advance booking target after the 14-day window became easily achievable.
"We decided to push the boundaries and encourage the bookers to book 21 days in advance," she said.
"The data that we're receiving from Egencia shows not only are we successful booking 21 days in advance, over 60% of our bookings are being booked more than 21 days in advance."
On average, travel bookings by Norgine employees are now 33 days in advance.
Since Norgine started working with Egencia in 2008, the pharmaceutical company has introduced a number of other measure to reduce travel costs – watch the case study below to hear about more.
www.egencia.co.uk
More Travel Management
More UK corporates seek managed travel in 2023, says survey
Business travel salaries rise but candidate shortages remain

redpajama_set_name: RedPajamaCommonCrawl


text:
Egal Riting: J M P. P
Titre original : Legal Writing 201
Transféré par woodruff1
enregistrerEnregistrer Legal Writing 201 pour plus tard
Effective Legal Writing
"Persuasive Legal Writing" by Daniel U. Smith
Plain Language Legal Writing-Cheryl-Stephens
How to Write a Legal Memorandum
Structuring a Better Legal Memorandum or Opinion
Legal Reasoning Legal Writing
Effective Legal Writing-2
4 Ways to Brief a Legal Case
philippine legal research
LEGAL WRITING 201
30 SUGGESTIONS TO IMPROVE READABILITY
HOW TO WRITE FOR JUDGES, NOT LIKE JUDGES
JUDGE MARK P. PAINTER
OHIO FIRST DISTRICT COURT OF APPEALS
TAFT LAW CENTER
230 EAST NINTH STREET
513-946-3444 – FAX 946-3411
mpainter@cms.hamilton-co.org
www.judgepainter.org
Introduction to Legal Writing ...........................................................
........................................................... 4
Rule 1. Know Your Audience ..........................................................
.......................................................... 7
Rule 2. Front-
Front-Load your Document
nt—Context Before Detail ............. 8
Rule 3. Frame the Issue in Fewer than 75 Words ............................ 9
Rule 4. State the Facts Succinctly ...............................................
............................................... 10
Rule 5. Avoid Overchronicling—
Overchronicling—Most Dates are Unimportant........
Unimportant........ 10
Rule 6. Headings are Signposts—
Signposts—They Should Inform ................... 11
Rule 7. Write Short Paragraphs................................
Paragraphs .....................................................
..................................................... 11
Rule 8. Form is Important—
Important—Make it Look Good ............................. 12
9.. Check your Document Carefully
Carefully................................
........................................ 12
Rule 10. Keep it Short—
Short—the Page Limit is Your Friend .................. 13
Rule 11. Use No Talking Footnotes................................
Footnotes ...............................................
Rule 12. Citations go in Footnotes ................................................
................................................ 14
Rule 13. Use the Ohio form of Citation................................
Citation..........................................
.......................................... 14
Rule 14. Edit, Edit, Edit ................................................................
................................. 15
Rule 15. Write Short Sentences—
Sentences—the 1818 Rule, Part I ................. 16
Rule 16. Use Mainly Active Voice—
Voice—the 1818 Rule, Part II ........... 16
Rule 17. Use "But" and "And" to Begin Sentences ........................ 17
Rule 18. Distinguish Between "That"
"That" and "Which" ........................ 17
Rule 19. Use the Dash, Parenthesis, and Comma for Degrees of
Emphasis ................................................................
....................................... 18
Rule 20. One Word is Usually Enough ...........................................
........................................... 18
Rule 21. No Parenthetical Numericals ..........................................
Rule 22. Hyphenate Phrasal Adjectives ........................................
Rule 23. Always Question "Of"
"Of"................................
...................................................... 19
Rule 24. Use the Serial Comma ....................................................
.................................................... 19
Rule 25. Avoid Unnecessary Preambles................................
Preambles ........................................
Rule 26. Purge Lawspeak .............................................................
............................................................. 20
Rule 27. The Parties have Names .................................................
................................................. 20
Rule 28. Use Quotations Sparingly................................
Sparingly................................................
Rule 29. Use Persuasive Language ...............................................
Rule 30. Continue your Research
Research................................
.................................................. 22
Biography ................................................................
APPENDIX................................
APPENDIX................................................................
Words and Phrases ................................................................
Many Words When One Will Do................................
Do.......................................................
....................................................... 28
INTRODUCTION TO LEGAL WRITING
Some legal writing texts start out by explaining how legal writing is different
from other writing. But it should not be. While certain documents—complaints,
briefs, deeds—may have a standard form, their content should be in plain English.
Most legal writing is atrocious. Fred Rodell, Dean of Yale Law School
before most of us were born, had it right when he said, "There are two things wrong
with most legal writing. One is style. The other is content." This was in a
fascinating article, Goodbye to Law Reviews,1 which should be assigned reading for
all law students.
Where did we learn to write? Grammar school is certainly not that any more,
but we learned rudimentary rules in grade school. Unfortunately, some of those
"rules" were not rules at all. The grade-school teacher who told you not to start a
sentence with and really mean not to write "I have a dog. And a cat. And a
parakeet." As we will discuss later, the use of "and" and "but" to begin a sentence is
one mark of good writing.
Some of us honed our writing skills in high school and college. We learned
from reading examples of good literature, and other writing, from journalistic to
persuasive. Unless we fell victim to academic-jargon illiteracy (a subject for a
separate treatise), we usually got better with practice. Though we may still have
been handicapped by some false rules from grade school, some of us became at least
passable writers before we entered law school. Then the roof fell in.
(1936), 23 Va.L.Rev. 38.
One problem in law school is that we read older cases by dead judges. Of
course, Cardozo, Holmes, and Jackson were great writers, but most judges are not,
especially the older ones. I pulled out a random Ohio Supreme Court case from
1946, and quote the first paragraph:
The appellant complains that the trial court erred in holding that an
attorney at law representing a loan association in the distribution of the
proceeds of a loan to be made by such association could refuse to answer
questions concerning such distribution on the ground that to answer
would disclose a confidential communication to his client; and that the
trial court erred in holding that a garnishee ordered by the court to
appear for examination as to his indebtedness to the judgment debtor
was the witness of the judgment creditor and could not be called for
cross-examination by the latter.2
This is not a terrible example, it is just random. But it could be translated in
to plain English fairly easily. Restated, it could be two sentences, and contain about
half of its now 100 words.
And it is not just that many judges write badly. Cases are selected for
casebooks not because they are examples of good writing, or even clarity, but
because they illustrate the precepts of law in that course. Even when edited, many
of these cases are wordy, redundant, and confusing. Perhaps there is value for the
law student in this situation—it is training to pick out the needle of law from the
haystack of verbiage. But the act of reading all this Lawspeak and generally bad
writing is to internalize it. If judges write this way, then it is the language of the
profession—to be emulated.
The problem is compounded exponentially by the law student's encounter with
other legal writing—leases, contracts, pleadings—some hardly changed from Norman
times. Of course, there is also the red meat of the law, statutes. For sheer
unfathomability, statutes are probably the champions. An Ohio example:
Subject to division (B)(4) of this section, if, within six years of the
offense, the offender has been convicted of or pleaded guilty to one
violation of division (A) or (B) of section 4511.19 of the Revised Code,
a municipal ordinance relating to operating a vehicle while under the
influence of alcohol, a drug of abuse, or alcohol and a drug of abuse, a
Peoples Bank & Savings Co. v. Katz (1946), 146 Ohio St. 207, 65 N.E.2d 708.
municipal ordinance relating to operating a motor vehicle with a
prohibited concentration of alcohol in the blood, breath, or urine, section
2903.04 of the Revised Code in a case in which the offender was subject
to the sanctions described in division (D) of that section, section 2903.06
or 2903.08 of the Revised Code, former section 2903.07 of the Revised
Code, or a municipal ordinance that is substantially similar to former
section 2903.07 of the Revised Code in a case in which the jury or judge
found that the offender was under the influence of alcohol, a drug of
abuse, or alcohol and a drug of abuse, or a statute of the United States or
of any other state or a municipal ordinance of a municipal corporation
located in any other state that is substantially similar to division (A) or
(B) of section 4511.19 of the Revised Code, the judge shall suspend the
offender's driver's or commercial driver's license or permit or
nonresident operating privilege for not less than one year nor more than
five years.3
Again, just an average example of drafting clarity. As we will see later, a
239-word sentence is unreadable, which should come as no news.
If the exposure to indecipherable writing in law school weren't bad enough,
then the young lawyer ventures forth into the "real world" of law practice. I once
made the mistake of teaching legal drafting, and one of my students took what I said
to heart. She was working part-time for a big firm. She wrote a memorandum for a
senior partner. It was returned with "make it more lawyerlike," i.e., more
unreadable.
Old ideas die hard. Legal writing has been bad for a long time. For an
entertaining and educational explanation, read Peter Tiersma's book, Legal
Language,4 which give a fascinating history of how we got to the present state.
As lawyers, what we do most is write—Lincoln said that lawyers' time and
advice are our stock in trade, but we express the advice in words. And we use our
time in drafting, in communicating mostly by the written word. Sometimes, though,
we fail to remember the first object of writing—to communicate.
Writing is a skill that can be learned—not that any of us necessarily can learn
to be a Cardozo or a Holmes—but we can substantially improve our communication
R.C. 4507.16(B)(2).
Tiersma, Legal Language (1999).
by learning a few skills, a few tricks, and unlearning some "rules" that get in the
way of good writing.
RULE 1. KNOW YOUR AUDIENCE
In all writing, the first rule is to know your audience. If you are
communicating to a court, know the court—be familiar with the local rules and
practices, the members of the court, and preferences of those individuals. The first
question is all writing is: For whom are you writing?
Are you writing a brief for an appellate court, a trial brief, an opinion letter to
in-house counsel, an opinion letter to a highly knowledgeable layperson, or an
unsophisticated client?
If the judge is an expert on the law on your issue, then the facts are all the
judge should need to process the argument—the facts become most important. If
you are before a brand-new judge who practiced probate law for twenty years, then
you will probably assume that the judge's knowledge of the law of your trade-
secrets case might be less. Then, your brief should contain a more fundamental
discussion of the law.
We are here concerned mainly with persuasive writing—drafting and
legislation can present particular problems, but also should be in plain language. If
you are to persuade a judge to rule in your favor, or an adversary's lawyer to pay
you money or demand less money, you want to be persuasive. And the most
important step in persuasion is communicating clearly what it is you are trying to
persuade the other person to do.
RULE 2. FRONT-LOAD YOUR DOCUMENT—CONTEXT BEFORE
As with all writing, organize your document to be front-loaded. That is,
educate the reader as to what is coming. Put the important material up front.
Readers understand much more easily if they have a context. Because readers
understand new information in relation to what they already know, tell them a piece
of new information that relates to their presumed knowledge. Then, build on that
information with each new piece you add.
First, ask yourself how much your audience already knows about the facts
and the law of your case. The answer is that the judge knows very little about the
facts of your case. You have lived with your case for perhaps years, but the judge
knows only what it set out in the pleadings until you explain what happened.
Strive to explain the case in a way that an average person can understand it.
This is not always possible, but it should be your goal. Judges and lawyers are
generally sophisticated readers, and can understand difficult prose if given enough
time. But why would you want to make it difficult? Each extra step the reader must
make in deciphering the facts of your case or the theory of your argument distracts
from the force of your presentation. Make it easy for the reader.
Explain your case in the first two or three pages. If you cannot explain the
essence of the dispute in three pages, you probably already have lost your first and
best chance to keep the reader's attention. Have a non-lawyer read your fact
statement and see if that reader can tell you what the case is about.
You must build a container—context—in the reader's mind, so when you
pour in the facts and law of your case, the reader has the container to hold the
information. Otherwise, it leaks out.
How do you read legal opinions? Too often, we have to skip to the end to
find out what happened. An appellate opinion should be written so that the first
paragraph or two tells you what the case is about and the outcome.
One reason we put important points up front is we need to put context before
details. The reader learns by building on prior knowledge. If the reader starts with
no knowledge of your case—which is generally true—you have to give them
everything. Do not start out giving facts about your case without giving the context.
Tell the reader what kind of case it is. And the most important part of putting
context before detail is framing the issue—letting the reader know what the case is
about. And put that right up front.
RULE 3. FRAME THE ISSUE IN FEWER THAN 75 WORDS
The most important part of your trial or appellate brief, or even of a
memorandum to another lawyer, is framing the issue. What is the question you are
trying to answer for the court or the other lawyer? What do you want the court to
decide?
Do not start writing your brief or memo until you have a succinct statement
of what the case is about. And you must do this in 50-75 words. If you can't
explain the case in 75 words, you do not understand it very well, and neither will
your reader. Too often I have seen cases go all the way to appeal and still the
lawyers haven't figured out what the case is about.
Put your issue statement right up front, preferably in the first paragraph of
your brief or memo.
"Paula Jones was fired from her job with Environmess, Inc. because
she consulted a lawyer about a possible slip-and-fall case against an
Environmess client. If Ohio workers may only enter the courthouse
in fear of losing their livelihood, they cannot exercise any of their
legal rights. But Ohio law mandates that the courthouse door must
remain open." (57 Words)
A short, plain statement of the issue tells the reader what the case is about,
and provides context for your discussion that follows.
RULE 4. STATE THE FACTS SUCCINCTLY
Remember that you have already put the issue up front in 75 words or less.
Then in your facts statement, you have to explain the case totally.
You have already told the reader what the issue is and generally what kind of
case it is in your 75 word—or 57 word—statement. Then expand on that. After you
have done your short statement of facts, you weave them into the discussion section
of your opinion—and you can add and expand there if you need to. Your first
statement is to give context—a roadmap.
Be concise. If you have had some experience writing media copy, you will
have learned that you can say what you need with fewer words. The fewer the
words, the more memorable the point:
• "I have nothing to offer but blood, tears, toil and sweat."
• "I have a dream."
• "Where is the beef?"
RULE 5. AVOID OVERCHRONICLING—MOST DATES ARE
There is nothing wrong with stating the facts in chronological order. Your
initial outline of the case should list all dates. But when you write your brief or
memo, do not fall into the habit of starting every sentence with a date.
Avoid overchronicling. Too many briefs start out by reciting a chronology of
facts: "On March 23, 1999, this happened, then on May 6, 1999, this happened."
This approach confuses the reader, because we don't know what facts are important,
and what, if any, dates we should remember. As a general rule, most dates are not
important. Unless an exact date is important, leave it out. Instead, tell us what the
case is about—only the material facts, and why they are important.
Say "in June" rather than "on June 14, 2000," or worse, "on or about"—this
is not an indictment. Tell what the case is about—only the material facts and why
they are important.
RULE 6. HEADINGS ARE SIGNPOSTS—THEY SHOULD INFORM
As part of the "container," have headings that tell the reader what is coming.
If possible, headings should convey information. "Facts" conveys nothing. "The
Fire and Aftermath" tells the reader the nature of the facts that are coming.
Headings are signposts that guide the reader. If the legal argument portion of your
opinion is five pages, you may not need to break it up; but if it is longer, separate it
into numbered headings.
Headings do not just give context, they also signal the reader when to safely
take a break. The reader needs breaks in digesting complex material. Separate the
parts—and subparts—into headings.
RULE 7. WRITE SHORT PARAGRAPHS
Short paragraphs give the reader a chance to pause and digest what has gone
before. If you put three or four sentences with new information in each paragraph,
that is enough.
And remember each new piece of information should build on the old. You
have probably seen where paragraphs are diagramed so that each sentence refers
back to something in the last sentence. That is called building on context—building
on prior knowledge. We will talk a bit more about sentence length and structure
RULE 8. FORM IS IMPORTANT—MAKE IT LOOK GOOD
Obviously, the substance of the case is most important—but to communicate
the substance, use the best form possible.
It is so much easier nowadays to make the document look good. Remember
the old days of typewriters—there were only two type styles—and margins were
difficult to change. Now, our documents can look great!
Just about the most unreadable font is Courier. We sometimes spend
thousands of dollars in technology and make our opinions and orders look like they
were typed on a 1940 Underwood.
Always use a serif type for text—because the serifs direct the reader's eyes to
the next letter. At least in America—there are some contrary statistics for Europe
(probably as a result of history)—a serif type is best for text. Times New Roman is
the standard now. Use it, or a similar typeface.
A non-serif, or sans serif, type is good for headings because it directs the
reader's eyes downward to the material following the heading. Ariel is a common
sans-serif type.
RULE 9. CHECK YOUR DOCUMENT CAREFULLY
Check every page of every paper that leaves your desk.
Should we really have to make this into a rule? I think so. It is amazing how
many times I see briefs with pages upside down or in the wrong order—or missing
or blank pages. It certainly breaks up the flow of your argument. Your clerical staff
may be good, but they are capable of mistakes.
RULE 10. KEEP IT SHORT—THE PAGE LIMIT IS YOUR FRIEND
Lawyers writing for most courts, especially appellate courts, have a page
limit imposed upon them. Most lawyers hate the page limit.
The page limit is your friend; it requires you to refine your argument. You
must strive to write succinctly. It is much harder to write a short brief than a long
one. Too much space is a temptation to write all (or more than) you know about the
subject. Make every word count, and your document will be much more
convincing—the reader might think that you know more than you wrote, not less.
At least in our appellate court, we rarely write more than fifteen pages, and
most are shorter. There may be a complex case that takes up to thirty pages, but I
don't remember any more than that. And we have to explain both sides' arguments.
RULE 11. USE NO TALKING FOOTNOTES
If something is important enough to be in a footnote, it is important enough
to be in the text. Footnotes detract from readability. Encountering a footnote is like
going downstairs to answer the door while making love. Don't let footnotes
swallow the page from the bottom, as in a law review article. Your goal is to
communicate, not build a resume. If you make your document look like a law
review article, it will be just as unreadable!
Many years ago, courts used no footnotes. The only proper use for footnotes
is to give citations, rather than having citations in the middle of a sentence. Proper
use of footnotes is for reference only. If something is truly parenthetical, but you
believe it needs to be mentioned, use parentheses.
RULE 12. CITATIONS GO IN FOOTNOTES
We lawyers long ago forfeited much readability by including cites in the
body of the text, rather than in footnotes. Cluttering up your document with jumbles
of letters and numbers makes it almost totally unreadable. This practice should
cease, especially now that footnoting references is simple.
Citations belong in footnotes. You will be amazed at the increased
readability. Four of our six First District judges are now doing this in opinions.5
The practice is spreading throughout most appellate districts, for which I claim some
credit, having given a presentation to most of my colleagues in June 2001. I cannot
overemphasize how much better it is to put your citations in footnotes.
But make sure you put only citations in footnotes; that is, no "talking
footnotes." The reader must know that she does not need to read the footnotes—
they are for reference only. Then, the constant glancing up and down is not
necessary. "If footnotes were a rational form of communication, Darwinian
selection would have resulted in the eyes being set vertically…"6
RULE 13. USE THE OHIO FORM OF CITATION
Use the Ohio Supreme Court system of citation. For whatever reason, Ohio
has its own form, not the Uniform System. (The "Bluebook" is only used when the
Ohio form doesn't cover an issue—remember the sixteenth edition is now out and
makes some important changes.) Ohio's system is not wholly different—the most
immediately apparent change is that the date is before the reporter, e.g., Blanton v.
Internat'l Minerals and Chem. Corp. (1997), 125 Ohio App.3d 22, 707 N.E.2d 960.
Note that there is no space between App. and 3d—the period serves as separation. If
you do not have a copy of the Ohio formbook, the Supreme Court reporter's office
will send one.
See, e.g., Wood v. Donohue (1999), 136 Ohio App.3d 336, 736 N.E.2d 556; Nusekabel v. Pub. School
Emp. Credit Union (1997), 125 Ohio App.3d 427, 708 N.E.2d 1015.
Mikva, Goodbye to Footnotes (1985), 56 U.Col.L.Rev. 647, 648.
Also, write R.C., not O.R.C. (We know it is Ohio.) Every reported case in
Ohio is published in the Ohio Supreme Court form—your brief or memo should
conform.
RULE 14. EDIT, EDIT, EDIT
Edit, edit, edit, and edit again. Typos, bad grammar, and misplaced
paragraphs (which were not such a problem before computers) simply take away
from your argument.
Keep a copy of Bryan Garner's excellent book, A Dictionary of Modern
Legal Usage7 at your side to answer grammar, syntax, and punctuation questions.
With new technology always comes new pitfalls—following the "spellcheck"
or "grammarcheck" blindly leads to some weird words and constructions. If you
have a staff member do the word processing, it is even more important to read every
word. Spellcheck can substitute wrong words—spelled correctly, but not what you
mean. You may mean "constitution," but spellcheck reads it as "constipation."
Those of us who do our own—or edit by computer—always do final edit—
do not let your assistant do the final edit with spellcheck without proofing very
carefully again.
Another hint is to program your spellcheck to highlight "trail" so you can
determine if you actually mean "trial." This is probably the most common mistake
we see—"the trail judge" was in error. Happy trails!
Garner, A Dictionary of Modern Legal Usage (2 Ed. 1995). See, also, Williams, Style: Ten Lessons in
Clarity and Grace (4 Ed. 1994); Gordon, The Deluxe Transitive Vampire (1993); and Garner's other,
smaller book, Elements of Legal Style (1991).
RULE 15. WRITE SHORT SENTENCES—THE 1818 RULE, PART I
Write short, crisp sentences. What is the most underused punctuation mark
in legal writing? The period. The most overused is easy—the comma.
More periods, fewer commas—sentence length should average no more than
twenty words. Eighteen is better. Word processors have that feature. Read
Cardozo (usually), Holmes, and Jackson—short, crisp sentences.8
Long sentences are especially difficult when strung together. Sophisticated
readers can understand longer sentences—if they are properly constructed—but no
one can wade through ten in a row. Break up the pace—follow a longer sentence
with a short one.
Readability is the goal. Keep in mind that Will Rogers's all-too-often-true
comment about legal writing:
The minute you read something and you can't understand it, you can almost
be sure that it was drawn up by a lawyer. Then if you give it to another lawyer to
read and he don't know just what it means, why then you can be sure it was drawn
up by a lawyer. If it's in a few words and is plain and understandable only one way,
it was written by a non-lawyer.9
RULE 16. USE MAINLY ACTIVE VOICE—THE 1818 RULE,
Passive voice is not forbidden. Sometimes you do not need to name the
actor—"Many books on this subject have been published." Or a smooth transition
from one sentence to the next requires you to put the subject first. Or you might
See e.g., Fiocco v. Carver (1922), 234 N.Y.219, 137 N.E. 309; Meinhard v. Salmon (1928), 249 N.Y.
458, 164 N.E. 545.
Rogers, "The Lawyers Talking," 28 July 1935, in Will Rogers' Weekly Archives 6:243-244 (Steven K.
Graggert ed. 1982), quoted in Shapiro, The Oxford Dictionary of Legal Quotations (1993).
want to hide the actor—"Mistakes were made;" "An accident occurred." But
usually active is better; action is easier to understand.
In the schoolyard, "Johnny tried to hit me." Now, after law school, we would
probably say, "An attempt was made by Johnny to assault me." Somehow, the
attempt becomes the focus. This is called nominalization of verbs—taking a
perfectly good action verb and turning it into a noun. Probably because we, as
lawyers, categorize and name things, "assault" becomes a noun. "A tort was
committed."
Hunt down passive voice and nominalization. If there is no good reason, put
your sentence back the way real people would talk.
RULE 17. USE "BUT" AND "AND" TO BEGIN SENTENCES
And do not be afraid to start sentences with "and" or "but." This signifies
good writing. The reason your grammar-school teacher told you not to start a
sentence with "and" was because you wrote, "I have a mother. And a father. And a
dog." Use "but" rather than "however" to start a sentence, and see how much better
it reads.
RULE 18. DISTINGUISH BETWEEN "THAT" AND "WHICH"
Use "that" restrictively, and "which" nonrestrictively. (In British English,
which is used both ways.) The easy way to remember—which is preceded by a
comma; that is not.
RULE 19. USE THE DASH, PARENTHESIS, AND COMMA FOR
DEGREES OF EMPHASIS
Though you should avoid cluttering up your document with too many
incidental comments, sometimes they fit nicely. A dash provides the greatest
emphasis—it is a stronger break—next in degree is the parenthesis, then the comma.
RULE 20. ONE WORD IS USUALLY ENOUGH
Do not use two or three or four words for one ("devise and bequeath"; "grant,
bargain, and sell"; "right, title, and interest"; "make, ordain, constitute, and
appoint"). This goofiness originated with the Norman Conquest, after which it was
necessary to use both the English and French words so that all could understand.
Most of us now understand plain English. A related tendency of lawyers is to use
many words when one is more understandable ("sufficient number of"= enough,
"that point in time" = then, "for the reason that" = because). A longer list is in the
Don't write "filed a motion" unless the filing itself has some significance.
Write "moved." Do not write "On October 13, 1995, plaintiff-appellant filed a
timely appeal to this honorable court." Again, unless the timeliness or date (or the
honor of the court) is in question. You have used so many words for nothing.
"Smith appeals" is sufficient, and even that is obvious, and hence unnecessary.
Don't write "filed of record." Write "filed." Where else would it be filed?
RULE 21. NO PARENTHETICAL NUMERICALS
Especially irritating is the practice of spelling out numbers and then attaching
parenthetical numericals—a habit learned when scribes used quill pens to copy
documents. The real reason for this is to prevent fraud, by making it difficult to
alter documents. An opinion that states "There were two (2) defendants and three
(3) police officers present" is extremely hard to read, and also looks silly. Unless
you are writing your opinion in longhand—and unless you believe the parties will
alter your numbers—skip this "noxious habit."10
RULE 22. HYPHENATE PHRASAL ADJECTIVES
The reader is confused by nouns acting as adjectives, or two adjectives
together modifying one noun. Always hyphenate phrases like "wrongful-discharge
suit," or "public-policy exception."
Write Ohio Supreme Court, not Supreme Court of Ohio. Question
prepositional phrases—"of"—"from." There is nothing wrong with possessive.
Write "the court's docket," not "the docket of the court."
RULE 24. USE THE SERIAL COMMA
In a list of three or more, always insert the serial comma. Some writers insist
on omitting the last comma, before the "and." Do not omit the last comma—doing
so can cause misinterpretation.
Garner, A Dictionary of Modern Legal Usage (2 Ed. 1995) 606.
RULE 25. AVOID UNNECESSARY PREAMBLES
Cut the useless preambles. Unnecessary preambles can weaken or hide the
point they introduce. Some unnecessary preambles:
• It is important to add that . . .
• It may be recalled that . . .
• In this regard it is of significance that . . .
• It is interesting to note that…
RULE 26. PURGE LAWSPEAK
Eschew legalese. "Hereinafter," "aforesaid," and the like do not add
anything but wordiness and detract from readability. Many studies show that
legalese is the number one complaint of appellate judges and clerks. Use Latin
phrases sparingly. A few—res ipsa loquitur, respondeat superior—are perhaps
acceptable, but do not litter your opinion with what Daniel Webster called "mangled
pieces of murdered Latin."
Cut out "such," such as "such motion." "The" or "that" almost always
works. "Pursuant to" usually may be translated as "under."
RULE 27. THE PARTIES HAVE NAMES
Have you ever represented a client without a name? Only if you represented
Prince during a certain period. The parties have names.
Don't go through your whole brief calling parties plaintiff-appellant and
defendant-appellee, or the like. Appellant would be enough, but it is better to call
the parties by name. When we use procedural titles, the reader must translate to
understand what we mean. The procedural titles chance throughout the case, but the
names remain the same. Using names also humanizes your client—even corporate
names, e.g., "Smithco," sound much more human that "Plaintiff-Appellant and
Cross-Appellee."
Be sure to be consistent and not switch back and forth between "appellant,"
"Jones" and "plaintiff." I recently read a brief that said "Defendant-Appellant Mary
Jones (hereinafter usually referred to a Jones)." Usually? Did that mean she was
sometimes Barbara Smith? Gasp.
And just write—once—"Plaintiff-Appellant Amalgamated Widgets of North
America, Inc. (Amalgamated)," not "hereinafter called"—no lawspeak. And if your
party is John Smith, you may safely call him Smith without the first time using
"John Smith (Smith). Remember, the parties have names, not procedural titles.
RULE 28. USE QUOTATIONS SPARINGLY
I have seen too many briefs that are comprised of strings of quotations and
very little else. You should explain how the cited cases support your theory of the
case. Do not use lengthy quotations—a few lines at most.
No one reads long block quotes. People skip that single-space block and go
on. Unless the case you are quoting from is exactly on point (which is very seldom
true), just quote the most relevant and persuasive part. And do it in the text if you
can. The Ohio Supreme Court format puts all quotes in the text. No matter how
long. Just remember, long blocks are not read.
Lead into the quote with your paraphrase of what the quote says. The reader
will actually read it to see if you are telling the truth. "The Ohio Supreme Court has
held that a defendant has no due process rights."
RULE 29. USE PERSUASIVE LANGUAGE
Use persuasive language. If you can't explain your case, how can you expect
the readers to understand it? Similes or metaphors are very effective to illustrate
In one recent case, the issue was whether a pizza delivery driver was an
employee or an independent contractor. One side argued that, because he paid for
his own gas and used his own vehicle, and could use whatever route he wished, he
was an independent contractor. The other side stated that servers in the restaurant,
admittedly employees, also were not told which way to go between tables to deliver
their orders, and used their own shoes. The driver was simply a "waiter on wheels."
That phrase found its way into the opinion.11
Continue your research! You might file a memorandum or a brief months
before it is argued before the court. Check every citation periodically, and again the
day before the case is argued. It has happened more than once in my tenure that a
new Ohio Supreme Court case has appeared in the interim.
See Iames v. Murphy (1995), 106 Ohio App.3d 627, 666 N.E.2d 1147.
JUDGE MARK P. PAINTER was elected to the Ohio First District Court of
Appeals in November 1994, and re-elected without opposition in 2000. For the
previous 13 years, Judge Painter served on the Hamilton County Municipal Court.
A Cincinnati native, Judge Painter attended the
University of Cincinnati, where he was elected Student Body
President in 1969, receiving a B.A. in 1970, and a J.D. in
1973. He practiced law for nine years before becoming a
judge.
Judge Painter is recognized as one of the outstanding
legal scholars in Ohio, and, as a municipal court judge, was
the most-published trial judge in the state. To date, 215 of Judge Painter's decisions
have been published nationally. He is author of Ohio Driving Under the Influence
Law (WestGroup, now in its tenth edition, 2001), the only legal textbook on DUI in
Ohio. Judge Painter has also authored 28 articles for legal journals.
As an Adjunct Professor at the University of Cincinnati College of Law,
Judge Painter has taught Agency and Partnership since 1990. He teaches DUI law,
appellate practice, legal writing, and legal ethics to judges and lawyers throughout
Ohio. He has lectured at more than 80 seminars for, among others, the Ohio Judicial
College, the Ohio Association of Criminal Defense Lawyers, the Ohio Academy of
Trial Lawyers, and the Ohio Continuing Legal Education Institute.
Judge Painter has served as a Trustee of the Cincinnati
Freestore/Foodbank, the Cincinnati Bar Association, the Friends of the William
Howard Taft Birthplace, and the Citizens School Committee. He is a Master of the
Bench Emeritus of the Potter Stewart Inn of Court, and served for three years as a
member of the Ohio Supreme Court Board of Commissioners on Grievances and
Discipline. Judge Painter is a member of the Cincinnati, Ohio State and American
Bar Associations, the American Society of Writers on Legal Subjects (Scribes), the
Plain Language International Network, the Legal Writing Institute, Clarity, and the
American Judicature Society.
the means by which how
entered a contract to contracted
filed a counterclaim counterclaimed
filed a motion moved
filed an application applied
adequate number of enough
for the reason that because
in the event of if
in light of the fact that because
notwithstanding the fact that although
notwithstanding despite
cause of action claim
in order to to
at this point in time now
until such time as until
whether or not whether (usually)
during the month of May in May
by means of by
as a consequence of because of
a distance of five miles five miles
at a later date later
is of the opinion that believes
effectuate cause
in violation of violates
is violative of violates
made a complaint complained
utilize use
a period of a week a week
made application applied
made provision provided
it is contended by plaintiff plaintiff contends
with regard to about
in connection with with
performed a search on searched
each and every either one
provide responses respond
offer testimony testify
make inquiry ask
provide assistance help
place a limitation upon limit
make an examination of examine
provide protection to protect
reach a resolution resolve
bears a significant resemblance resembles
reveal the identity of identify
makes mention of mentions
are in compliance with comply
make allegations allege
was in conformity with conformed
to effect settlement settle
MANY WORDS WHEN ONE WILL DO
OLD ENGLISH LATIN OLD FRENCH
Rest Residue Remainder
Free Clear
Will Testament
Final Conclusive
Fit Proper
Give, Bequeath Devise
Mémoire judiciaire
Documents similaires à Legal Writing 201
Jaro Mabalot
Jai Carungay
Yves Lawrence Ivan Oarde
rfylanan
Daniel U. Smith
Erald Qordja
Mitchell Davis
Jessica Hibbert
Yj Zach G. Chu
Leiya Lansang
Paolo Quilala
bat_21
Neil Christian A. Oco
Rorouninage Jetkaido
Jhunnie Madrona
Naa'emah Abdul Basit
Ryle Gerby Tumulak Fontanoza
Raymond Alhambra
Legal Language and Writing
andrewooga
Strategic Legal Writing
Persons and Family Relations
Fundamentals of Legal Writing Pages 1-9
Anonymous kCX0Fo
Legal Writing Style
Mai Magdy Sleim
aldenamell
Criminal Law Review 2012
coleenllb_usa
Torture Free Legal Writing Tips
LisaNewman
Rambee Aggabao
Plus de woodruff1
MANSOUR, et al. v ISLAMIC EDUCATION CENTER OF TAMPA 110303 Order in Connection With
Factac v. King
strayngrr4928
woodruff1
Mead Opinion
Transcript of Summary Judgement Hearing
duffi6978
Motion in Limine Bar Companion
Lawhammer
Steeh Opinion
Ian Millhiser
Motion_to_Compel Englishness
Commonwealth of Virginia v. Sibelius et al
Doug Mataconis
Original Bluebook
Liberty University et al v. Geithner et al
5D06-4243
Discover Bank v. Owens
Dungeons and Dragons Opinion
Virginia v. Sebelius
Michael Schearer
McMillen v. Hummingbird Speedway, Inc. (Pa. Ct. of Common Pleas; Sept. 9, 2010)
Venkat Balasubramani
Redistricting Lawsuit (Florida Congressional Redistricting)
Attorneys General suit on health care
daveweigel
1913 IRS 1040 form
fredlox
Cardoso v. Bank of America
Health Care Ruling by Judge Vinson
d-fbuser-31924476
Reconciliation HR 4872 Full Text
Spandan Chakrabarti
Koha Digest 59 (1995)
palacios_jm
The Romanians a History
faqscsi
heizer_06.ppt
Arslan Ali Khan
Index of Sac County Recorder's Daily Activity
Anonymous ugVWfkfrIM
Proper Classification of Gift Cards in Chapter 11
Eric Moore
Werewolf the Apocalypse - W20 Cookbook
RobertGray
Amaravati Outline
Sravani Nimmagadda
Bhabha the Location of Culture
Madeleine Fagan
Carlos Roa
Song in Praise of Nature - English Version
João Paulo Silveira
The Varieties of Religious Experience _semi-Formatted
Horsham Rural City Council Ordinary Meeting Agenda, April 16, 2018
Jade Bate
End Term
Nikoletta Sultisz
A Timeline History of Nephrology
xguerrat
Leadership and Ethics.ppt
mathan
1946 History Psychological Warfare Manhattan Project
ZackSigel
Karnataka Legislature (Prevention of Disqualification) Act, 1956
Magnus Williamson, The Eton Choirbook 1
lubas2
Rescission Application Form[1]
underwood@eject.co.za
Attitude of Parents towards Inclusive Education for CWSN: A study in Kamrup District, Assam, India
inventionjournals
Conflicts of Law Report on Marriage and Adoption
FN Gail
Discretionary Trust
Lecture 11.pdf
Munnah Bhai
Maryland Historical Trust: Inventory No. 15/8-1
M-NCPPC


St. Lucy's School needs thoughtful and energetic individuals willing to use their talents and skills to help our students thrive. There are many opportunities to get involved at the school, and we appreciate the generous support of our donors. Call us at (718) 882-2203 to learn more about how you can join our community of supporters and volunteers.
Donations can be made to St. Lucy's School. Click here for donation instructions. Alumni of St. Lucy's School are encouraged to join and give through Champions for Quality Education.


text:
Мі́хан () — ірландське і англійське прізвище.

Відомі носії

  () — американський професіональний гравець у покер.
 Джон Міхан (; 1890-1954) — канадський сценарист.
 Елізабет Міхан (; 1894-1967) — британський сценарист.
  (; 1943–2005) — ірландський музикант.

redpajama_set_name: RedPajamaWikipedia


I'm fortunate to play with the musicians that I do, to be able to place a phone call and ask great players if they would like to make music. I'm happy when friends show up to listen, as they often do, and I'm happy when those friends want to take pictures of the group. I don't post many live recordings so photos become a document of the music.


text:
1935 Anne 2022
Anne Boyd Wolfenden
July 8, 1935 — July 4, 2022
Marion Va.
Anne Boyd Wolfenden, age 86, passed away on Monday, July 4, 2022 at Francis Marion Manor.
Anne Boyd was born on July 8, 1935 to Bob and Stella Wolfenden. She graduated from Marion High School in 1953 and later graduated from Radford College with a business degree. Anne taught school in Wythe County for six years before returning to Smyth County where she taught until her retirement in 1991. She taught hundreds of students typing at Marion Senior High School and was well loved by her students. She was a life long member of First United Methodist Church in Marion. Anne Boyd was a modest, humble, pleasant person who was generous to her family, friends and to many charities. She loved to participate at the Blue Ridge Job Corps every Christmas with their Secret Santa Project.
She was preceded in death by her parents Bob and Stella Wolfenden; twin sisters, Nancy Ronquest and Edwina Johnson.
She is survived by her brother-in-law, Milton Ronquest; two nephews, Robert Ronquest and Carlos Johnson; niece, Bonnie Ellison; many special cousins, great nieces and nephews; special friends to Anne Boyd were Linda, Clifton "Bimbo" and Cory Blevins, Hazel and Jay Harper.
The family is especially grateful for the loving ministry and friendship Linda Blevins gave to Anne throughout the years.
The family also wishes to thank the staff of Francis Marion Manor for the care and attention they gave to Anne in the final years of her life.
Visitation will be held Saturday, July 09, 2022 from 12 p.m. until 2 p.m. at Seaver-Brown Chapel. Burial will follow at Rose Lawn Cemetery Mausoleum with Pastor Mike Sage and Dr. Reverend James Bennington officiating.
To share memories of Anne Boyd Wolfenden, please visit www.seaverbrown.com. Care for Anne's family has been entrusted to Seaver-Brown Funeral Service & Crematory, 237 East Main Street, Marion, Va. 24354.
To order memorial trees or send flowers to the family in memory of Anne Boyd Wolfenden, please visit our flower store.
12:00 - 2:00pm (Eastern time)
Rose Lawn Mausoleum
4410 Lee Hwy, Marion, VA 24354


text:
ScamPatrol
I am public blog
Hello word I am Public Blog
crypto scams Ponzi schemes scam scam websites
Daxio – Review Part 3 – Beware Scam
The Norwegian Gambling Authority has warned Daxio that it is a pyramid scheme (Lottstift).
Lottstift warned about Daxio fraud in a letter sent to "Daxio Norge" on May 20. The CEO of Daxio is named Frode Jorgensen.
Lottstift says that he has written to Jorgensen before about the Global Game Arena (GGA) in 2019.
GGA was a Ponzi scheme Jorgensen launched in 2019.
After GGA fell apart three times, Jorgensen started it up again as Daxio in the middle of 2020.
After confirming that Daxio is "a continuation of Global Game Arene Ltd," Lottstift says they are writing to Daxio to "tell everyone in the business about the rules for pyramid schemes."
The letter goes on to say that it seems like Lottstify is looking into Daxio.
The Norwegian Lotteries Authority will make sure everyone follows the Lottery Act.
The Lottery Act says that it is illegal to make, run, take part in, or spread a pyramid scheme or a similar system.
The Lottery Act bans pyramid schemes and trading systems that are similar to pyramids. This includes direct sales where more than half of the income comes from things like membership fees.
In other words, the business must sell real goods or services, and the money made from these sales must make up at least 50% of the business's income. This is to make sure that it is not an illegal pyramid-style turnover system.
According to BehindMLM's review of Daxio, the company does not have any products or services that can be sold.
The Norwegian Lotteries Authority thinks that the company's activities are built on top of each other in a pyramid shape.
the level where people can make money by getting other people to join at a lower level.
We've kept track of the fact that there have been meetings for Norwegians to get information and that people from Norway are hired by the business.
We think the company is a pyramid scheme based on what we know about it.
You find people to join and sell investment products whose value is uncertain but which promise high income.
People should stay away from pyramid schemes, investment fraud, and other scams like them and not bet or invest money in them.
Based on what we know, it looks like Daxio also helps set up gambling that isn't allowed in Norway.
The Lottery Act and the Gambling Act say that people can't offer, market, or help with gambling that isn't licensed in Norway. This includes helping people pay for gambling.
Since this letter is for everyone who has anything to do with the company's operations in Norway, we expect you to give it to everyone.
Lottstift tells Daxio that it should stop doing business in Norway right away.
Dixie is run by a "shell company" that was set up in the British Virgin Islands.
BVI is a place where scams are common, so any MLM company that says it has ties to it should raise red flags right away.
The websites "daxio.com" and "mydaxio.com" are where Daxio does business.
SimilarWeb says that over the past three months, traffic to both domains has gone down. So far as Daxio is active in Norway, it doesn't seem like many people are joining.
Malta (36%), Vietnam (30%), and Sweden (15%) are the top three places where people visit "daxio.com." Most people visit "Mydaxio.com" from Sweden (45%), Hungary (18%), and Moldova (17%).
Frode Jorgensen lives in Thailand and is a Norwegian citizen.
View all of editor's posts.
Next: BinaryTorrent – Review Part 2 – Beware Scam
Next: Elomir – Review – Beware Scam
OneCoin- Review- Beware Scam
OmegaPro- Review- Beware Scam
Liyeplimal- Review- Beware Scam


Other Programming Files R list downloads.
Test regular expressions with this program.
Convert a registry file (.reg) to the batch file (.bat).
Operations over the lists of Regex Matches.
Test regular expressions fast and easy.
A testing framework to help you with your development.
Remove files, possibly recursing directories.
Map JavaBean-like objects with this framework.
An Ant task designed to help with the single-sourcing of program documentation.
A simple SSRS report downloader.
A smart tool to modify version information in RC file.
A collection of more than 40 plug-ins for REAL Studio.
A BDD package to help you with your work.
A black-box vulnerability scanner framework to help you with your work.
A syntax highlighting component to help you with your development.
Test your code with this tool.
RNA-Seq data analysis made easy.
Create regular expressions fast and easy.


text:
Humedales Chaco es una zona de humedales del este de la provincia del Chaco, Argentina, designado sitio Ramsar n.º 1366 el 2 de febrero de 2004, integrando la «lista de humedales de importancia internacional».

El sector comprende 508 000 ha ubicadas en la zona oriental de los departamentos San Fernando, Primero de Mayo y Bermejo. Abarca la totalidad de la llanura aluvial del río Paraguay y la del Paraná en el territorio chaqueño.

El límite sur lo determina el paralelo 28° S, límite interprovincial entre Chaco y Santa Fe; al norte limita con el río Bermejo; al oeste con la Ruta Nacional 11; y el límite este son los cauces de los ríos Paraná y Paraguay.
Limita al sur con el sitio Ramsar Jaaukanigás en la provincia de Santa Fe, constituyendo entre ambos un corredor de humedales de aproximadamente 500 km de largo, con una superficie de un millón de hectáreas.

Objetivo
La designación como sitio Ramsar no limita la actividad económica del hombre en la zona; está contemplada y se busca crear planes de manejo para el uso racional de los recursos naturales.

Biodiversidad
Su rica biodiversidad tiene más de 400 especies de animales, incluyendo algunas vulnerables, como el lobito de río, el  tucán grande, el ocelote, el  oso melero, el mirikiná, los yacarés  overo y  negro, y en peligro de extinción como el ciervo de los pantanos, el  jabirú y el aguará guazú. También especies raras como la lepidosirena o Lola, único pez pulmonado en Sudamérica. Entre otros, hay carpinchos, monos, coatíes, nutrias, cigüeñas, chajaes, garzas, bandurrias, patos, espátulas rosadas, boas curiyú y lampalaguas, tortugas, ranas y sapos, además de gran variedad de peces como pacúes, surubíes, dorados, bogas, sábalos, bagres y palometas.

Valor cultural
Se preservan restos arqueológicos y paleontológicos pertenecientes a sucesos históricos en Isla del Cerrito, que fue base de operaciones de las tropas del Imperio del Brasil durante la Guerra de la Triple Alianza (1866 - 1876) y fue sede de la colonia y hospital Maximiliano Aberastury, primer centro modelo en Argentina dedicado al mal de Hansen -lepra- entre 1926 y 1960. Otros lugares: La Cangayé (reducción de aborígenes toba) y San Buenaventura del Monte Alto, reducción de aborígenes de la etnia vilela; Reserva y Patrimonio Cultural del pueblo toba de Las Palmas; Campo Lestani en Barranqueras, donde hay un yacimiento de cerámica aborigen; Paraje Guitarra, con restos de cerámica aborigen; en Colonia Benítez se encuentra el Museo Casa y Jardín Schülz, declarados Patrimonio Cultural del Chaco, lugar donde vivió Augusto Gustavo Schulz, botánico investigador de la flora chaqueña.

Referencias

Áreas naturales protegidas sobre el río Paraná
Geografía de la provincia de Chaco
Humedales de Argentina
Sitios Ramsar en Argentina
Departamento Primero de Mayo
Departamento San Fernando


text:
Q: VB.NET can't seem to link data between two EF code first tables I'm trying to create a Bookings/Accounts database using EF code first and am having trouble with linking data
A Bit of Background
The Database has, at the moment 6 tables brought together in this context, but at the moment I'm just trying to get associations sorted for the following
Public Class CompanyContext
    Inherits DbContext
    Public Property Drivers As DbSet(Of Driver)
    Public Property Addresses As DbSet(Of Address)
    Public Property Contacts As DbSet(Of ContactDetail)
    Public Property Bookings As DbSet(Of Booking)
    Public Property Accounts As DbSet(Of Account)
    Public Property Vehicles As DbSet(Of Vehicle)
End Class

There will be more linking of the data later, but my initial problem is as follows. I can create an account which has the following properties..
Public Class Account
    Public Property Id As Integer
    Public Property Shortcut As String = ""
    Public Property PaymentMethod As PaymentType
    Public Property CardNumber As Integer
    Public Property CardExpiry As New Date(2000, 1, 1)
    Public Property CardSecurity As Integer
    Public Property AccountAddress As Address
    Public Property Contact As ContactDetail
    Public Property Active As Boolean = True
End Class

Public Class ContactDetail
    Public Property Id As Integer
    Public Property Telephone1 As String = ""
    Public Property Telephone2 As String = ""
    Public Property Email1 As String = ""
    Public Property Email2 As String = ""
    Public Property Fax As String = ""

End Class

Public Class Address
    Public Property AddressId As Integer
    Public Property Company As String = ""
    Public Property FlatBuilding As String = ""
    Public Property Road As String = ""
    Public Property Town As String = ""
    Public Property County As String = ""
    Public Property Country As String = ""
    Public Property PostCode As String = ""
End Class

I create each account using data from TextBoxes, ComboBoxes etc. When it comes to saving the data, everything is saved in the appropriate table. The Accounts table stores an Id for the appropriate rows in the Addresses and Contacts tables and the Address and Contact data from the Account are stored there correctly.
The Problem
When it comes to retrieving the data for a specific Account, neither the Contact or Address data are returned. All I get are properties with default values. I've tried to follow tutorials on the MS website, but I ALWAYS get an error depending on which way I try to create the navigation. I'm afraid that I don't fully understand what's required. The tutorials are all in C# but I'm certain I get the jist.
Ultimately I want the address and contact data to be a kind of common pool that can be linked to from the other tables. But that may become another question once I find out where I'm going wrong right now. These are the methods I use to save and retrieve the data.
selectedAccount is an instance of the Account class
Private Sub AccountSave()
        Using db As New CompanyContext
            If newAccount = True Then
                selectedAccount = New Account
            End If
            With selectedAccount
                .AccountAddress.Company = TxtAccountCompany.Text
                .Shortcut = TxtAccountShortcut.Text
                Select Case CboAccountPaymentMethod.SelectedItem.ToString
                    Case "Account"
                        .PaymentMethod = PaymentType.Account
                    Case "Cash"
                        .PaymentMethod = PaymentType.CashTopay
                    Case "Card"
                        .PaymentMethod = PaymentType.CCToPay
                End Select
                .CardNumber = Integer.Parse(TxtAccountCardNumber.Text)
                .CardExpiry = Date.Parse(MtbAccountCardExpiry.Text)
                .CardSecurity = Integer.Parse(TxtAccountCardSecurity.Text)
                .AccountAddress.FlatBuilding = TxtAccountFlatBuilding.Text
                .AccountAddress.Road = TxtAccountRoad.Text
                .AccountAddress.Town = TxtAccountTown.Text
                .AccountAddress.County = TxtAccountCounty.Text
                .AccountAddress.PostCode = TxtAccountPostcode.Text
                .AccountAddress.Country = TxtAddressCountry.Text
                .Contact.Telephone1 = TxtAccountTelephone1.Text
                .Contact.Telephone2 = TxtAccountTelephone2.Text
                .Contact.Email1 = TxtAccountEmail1.Text
                .Contact.Email2 = TxtAccountEmail2.Text
            End With
            If selectedAccount.Id = 0 Then
                db.Accounts.Add(selectedAccount)
            End If
            db.SaveChanges()
        End Using
        AccountClearInfo()
        AccountDisableEditing()
        AccountRefreshList()
    End Sub

   Private Sub AccountDisplayInfo()
        If selectedAccount IsNot Nothing Then
            TxtAccountCompany.Text = selectedAccount.AccountAddress.Company
            TxtAccountShortcut.Text = selectedAccount.Shortcut
            TxtAccountOustandingBalance.Text = selectedAccount.OustandingBalance.ToString
            Select Case selectedAccount.PaymentMethod
                Case PaymentType.Account
                    CboAccountPaymentMethod.SelectedText = "Account"
                Case PaymentType.CCToPay
                    CboAccountPaymentMethod.SelectedText = "Card"
                Case PaymentType.CashTopay
                    CboAccountPaymentMethod.SelectedText = "Cash"
            End Select
            TxtAccountCardNumber.Text = selectedAccount.CardNumber.ToString
            MtbAccountCardExpiry.Text = selectedAccount.CardExpiry.ToShortDateString
            TxtAccountCardSecurity.Text = selectedAccount.CardSecurity.ToString
            TxtAccountFlatBuilding.Text = selectedAccount.AccountAddress.FlatBuilding.ToString
            TxtAccountRoad.Text = selectedAccount.AccountAddress.Road.ToString
            TxtAccountTown.Text = selectedAccount.AccountAddress.Town.ToString
            TxtAccountCounty.Text = selectedAccount.AccountAddress.County.ToString
            TxtAccountPostcode.Text = selectedAccount.AccountAddress.PostCode.ToString
            TxtAccountCountry.Text = selectedAccount.AccountAddress.Country.ToString
            TxtAccountTelephone1.Text = selectedAccount.Contact.Telephone1
            TxtAccountTelephone2.Text = selectedAccount.Contact.Telephone2
            TxtAccountEmail1.Text = selectedAccount.Contact.Email1
            TxtAccountEmail2.Text = selectedAccount.Contact.Email2
        End If
    End Sub

If it's helpful here is the code that was generated behind the scenes for creating each table
CREATE TABLE [dbo].[Accounts] (
    [Id]                       INT            IDENTITY (1, 1) NOT NULL,
    [Shortcut]                 NVARCHAR (MAX) NULL,
    [PaymentMethod]            INT            NOT NULL,
    [CardNumber]               INT            NOT NULL,
    [CardExpiry]               DATETIME       NOT NULL,
    [CardSecurity]             INT            NOT NULL,
    [Active]                   BIT            NOT NULL,
    [AccountAddress_AddressId] INT            NULL,
    [Contact_Id]               INT            NULL,
    CONSTRAINT [PK_dbo.Accounts] PRIMARY KEY CLUSTERED ([Id] ASC),
    CONSTRAINT [FK_dbo.Accounts_dbo.Addresses_AccountAddress_AddressId] FOREIGN KEY ([AccountAddress_AddressId]) REFERENCES [dbo].[Addresses] ([AddressId]),
    CONSTRAINT [FK_dbo.Accounts_dbo.ContactDetails_Contact_Id] FOREIGN KEY ([Contact_Id]) REFERENCES [dbo].[ContactDetails] ([Id])
);

GO
CREATE NONCLUSTERED INDEX [IX_AccountAddress_AddressId]
    ON [dbo].[Accounts]([AccountAddress_AddressId] ASC);

GO
CREATE NONCLUSTERED INDEX [IX_Contact_Id]
    ON [dbo].[Accounts]([Contact_Id] ASC);

CREATE TABLE [dbo].[Addresses] (
    [AddressId]    INT            IDENTITY (1, 1) NOT NULL,
    [Company]      NVARCHAR (MAX) NULL,
    [FlatBuilding] NVARCHAR (MAX) NULL,
    [Road]         NVARCHAR (MAX) NULL,
    [Town]         NVARCHAR (MAX) NULL,
    [County]       NVARCHAR (MAX) NULL,
    [Country]      NVARCHAR (MAX) NULL,
    [PostCode]     NVARCHAR (MAX) NULL,
    [Booking_Id]   INT            NULL,
    [Booking_Id1]  INT            NULL,
    CONSTRAINT [PK_dbo.Addresses] PRIMARY KEY CLUSTERED ([AddressId] ASC),
    CONSTRAINT [FK_dbo.Addresses_dbo.Bookings_Booking_Id] FOREIGN KEY ([Booking_Id]) REFERENCES [dbo].[Bookings] ([Id]),
    CONSTRAINT [FK_dbo.Addresses_dbo.Bookings_Booking_Id1] FOREIGN KEY ([Booking_Id1]) REFERENCES [dbo].[Bookings] ([Id])
);

GO
CREATE NONCLUSTERED INDEX [IX_Booking_Id]
    ON [dbo].[Addresses]([Booking_Id] ASC);

GO
CREATE NONCLUSTERED INDEX [IX_Booking_Id1]
    ON [dbo].[Addresses]([Booking_Id1] ASC);

CREATE TABLE [dbo].[ContactDetails] (
    [Id]         INT            IDENTITY (1, 1) NOT NULL,
    [Telephone1] NVARCHAR (MAX) NULL,
    [Telephone2] NVARCHAR (MAX) NULL,
    [Email1]     NVARCHAR (MAX) NULL,
    [Email2]     NVARCHAR (MAX) NULL,
    [Fax]        NVARCHAR (MAX) NULL,
    CONSTRAINT [PK_dbo.ContactDetails] PRIMARY KEY CLUSTERED ([Id] ASC)
);

Hopefully someone can show me the error of my ways.


Great pricings when you use the app, then pay in store.
Our new app gives you all the options. As well as paying with a credit card or by bank transfer, you can also start your transfer in the app then pay in cash in the store.
Get our new WU mobile app. It's fast and free to download.


text:
Sammy Screamer Alerts When Your Items Get Moved
When most people think of a motion sensor, they think of a device that monitors an area for movement. Sammy Screamer is a motion sensor that detects when a specific object has been moved.
Sammy Screamer is a small motion sensor that can be attached to almost any object with a clip, string or even magnetically. It uses Bluetooth to communicate to a smartphone application with a range of up to 150 feet allowing the user to set sensitivity and volume through the intuitive interface. When the object the device is monitoring moves, Sammy Screamer alarms with an audible sound and sends push notifications to the tethered smart device alerting the detected motion. Sammy Screamer uses a simple coin cell for power, which will last for almost a year on stand-by or almost 1000 alerts on full volume.
Sammy Screamer has almost unlimited applications for use, from being the sentry on a purse or backpack to monitoring doors, windows and even cookie jars. Sammy Screamer will come in multiple colors and will be released in the fall of 2014 with a retail price of around 65 dollars; grab one of the first by supporting their Kickstarter campaign.
Check it out: Sammy Screamer


Sorry about the downer of a post yesterday. We've been getting some bad news, money wise, lately and it's really starting to feel and look bleak.
We still owe quite a bit on our electric. We are on a payment plan, so the end is in sight, but the next few months are going to be tight. And this is assuming we can even afford the payment plan.
We just found out our car insurance is doubling. I don't want to talk about it other than that.
We had solid good plans for our tax return. We were going to pay back a couple of people and then use the rest to take care of a year's worth of car insurance and gas for the apartment. We were going to make our monthly bills more doable so we had room to breathe. Car insurance going up has made this impossible. In fact, the month to month is now so tight we are literally choking on it. Worse yet, I can't just find a second or better job because I'm literally making as much as I can make before Pat starts losing SSI. So this is as good as it gets. And this isn't very good.
So yes, I'm feeling very down. And it seems my posts are reflecting that.
I'm really sorry for talking money, yet again, but it's on the forefront of my mind. The center of my stress. And stress affects everything about my mental health.


As New York City's only ALINE certified orthotics specialist, Dr. Nemirovsky recommends custom-fit insoles for improving natural alignment and reducing wear and tear on the body. When used in conjunction with conservative, physical therapy and chiropractic treatment, ALINE orthotic insoles are proven to reduce pain, support recovery, and enhance comfort for those suffering from various foot problems. ALINE insoles are also used routinely by top athletes to optimize sports performance.
ALINE insoles work by retraining your feet, ankles, and lower legs to align naturally. This puts less strain on your knees and ankles, preventing injury while allowing them to recover from chronic pain. Patented suspension zones mimic the barefoot position to undo the damage of poor fitting footwear and more evenly distribute weight and optimize comfort. The result? A more comfortable posture for a pain-free, active lifestyle.
ALINE insoles are custom fit the same day of your appointment and their slim profile fits easily into all types of footwear. Their patented Bilateral Foot Alignment System Technology addresses the root of alignment issues to more accurately distribute weight and pressure. Over 97% of ALINE users are satisfied with how their custom ALINE insoles improve alignment, increase their balance and stability, provide better transfer power, and enhance their overall comfort. Experience a new level of comfort for yourself today!
Reach out to our Manhattan sports medicine office at to discuss your custom orthotics need.


If you were lucky enough to get a Sega Master System when the system launched in 1986 but weren't lucky enough to get any games for it, no worries! The SMS had its own Easter egg built into the system: a game called "Snail." The boot-up screen for the Sega Master System told you to turn the system off and insert a cartridge. If you ignored this and held the up button, as well as both the A and B buttons, the screen would slide to the side, revealing Snail. The objective was to navigate the little snail through a maze, from start to finish, within a certain time limit. Each level, the maze would get more difficult, and the time would get a little faster. If you died at any point, you'd have to start Snail over again from the beginning.


text:
#region License
// Copyright (c) 2007 James Newton-King
//
// Permission is hereby granted, free of charge, to any person
// obtaining a copy of this software and associated documentation
// files (the "Software"), to deal in the Software without
// restriction, including without limitation the rights to use,
// copy, modify, merge, publish, distribute, sublicense, and/or sell
// copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following
// conditions:
//
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
#endregion

using System;
using System.Collections.Generic;
using System.IO;
using Newtonsoft.Json.Converters;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Tests.TestObjects;
#if DNXCORE50
using Xunit;
using Test = Xunit.FactAttribute;
using Assert = Newtonsoft.Json.Tests.XUnitAssert;
#else
using NUnit.Framework;

#endif

namespace Newtonsoft.Json.Tests.Serialization
{
    [TestFixture]
    public class MissingMemberHandlingTests : TestFixtureBase
    {
        [Test]
        public void MissingMemberDeserialize()
        {
            Product product = new Product();

            product.Name = "Apple";
            product.ExpiryDate = new DateTime(2008, 12, 28);
            product.Price = 3.99M;
            product.Sizes = new string[] { "Small", "Medium", "Large" };

            string output = JsonConvert.SerializeObject(product, Formatting.Indented);
            //{
            //  "Name": "Apple",
            //  "ExpiryDate": new Date(1230422400000),
            //  "Price": 3.99,
            //  "Sizes": [
            //    "Small",
            //    "Medium",
            //    "Large"
            //  ]
            //}

            ExceptionAssert.Throws<JsonSerializationException>(() =>
            {
                ProductShort deserializedProductShort = (ProductShort)JsonConvert.DeserializeObject(output, typeof(ProductShort), new JsonSerializerSettings { MissingMemberHandling = MissingMemberHandling.Error });
            }, @"Could not find member 'Price' on object of type 'ProductShort'. Path 'Price', line 4, position 10.");
        }

        [Test]
        public void MissingMemberDeserializeOkay()
        {
            Product product = new Product();

            product.Name = "Apple";
            product.ExpiryDate = new DateTime(2008, 12, 28);
            product.Price = 3.99M;
            product.Sizes = new string[] { "Small", "Medium", "Large" };

            string output = JsonConvert.SerializeObject(product);
            //{
            //  "Name": "Apple",
            //  "ExpiryDate": new Date(1230422400000),
            //  "Price": 3.99,
            //  "Sizes": [
            //    "Small",
            //    "Medium",
            //    "Large"
            //  ]
            //}

            JsonSerializer jsonSerializer = new JsonSerializer();
            jsonSerializer.MissingMemberHandling = MissingMemberHandling.Ignore;

            object deserializedValue;

            using (JsonReader jsonReader = new JsonTextReader(new StringReader(output)))
            {
                deserializedValue = jsonSerializer.Deserialize(jsonReader, typeof(ProductShort));
            }

            ProductShort deserializedProductShort = (ProductShort)deserializedValue;

            Assert.AreEqual("Apple", deserializedProductShort.Name);
            Assert.AreEqual(new DateTime(2008, 12, 28), deserializedProductShort.ExpiryDate);
            Assert.AreEqual("Small", deserializedProductShort.Sizes[0]);
            Assert.AreEqual("Medium", deserializedProductShort.Sizes[1]);
            Assert.AreEqual("Large", deserializedProductShort.Sizes[2]);
        }

        [Test]
        public void MissingMemberIgnoreComplexValue()
        {
            JsonSerializer serializer = new JsonSerializer { MissingMemberHandling = MissingMemberHandling.Ignore };
            serializer.Converters.Add(new JavaScriptDateTimeConverter());

            string response = @"{""PreProperty"":1,""DateProperty"":new Date(1225962698973),""PostProperty"":2}";

            MyClass myClass = (MyClass)serializer.Deserialize(new StringReader(response), typeof(MyClass));

            Assert.AreEqual(1, myClass.PreProperty);
            Assert.AreEqual(2, myClass.PostProperty);
        }

        [Test]
        public void CaseInsensitive()
        {
            string json = @"{""height"":1}";

            DoubleClass c = JsonConvert.DeserializeObject<DoubleClass>(json, new JsonSerializerSettings { MissingMemberHandling = MissingMemberHandling.Error });

            Assert.AreEqual(1d, c.Height);
        }

        [Test]
        public void MissingMemeber()
        {
            string json = @"{""Missing"":1}";

            ExceptionAssert.Throws<JsonSerializationException>(() => { JsonConvert.DeserializeObject<DoubleClass>(json, new JsonSerializerSettings { MissingMemberHandling = MissingMemberHandling.Error }); }, "Could not find member 'Missing' on object of type 'DoubleClass'. Path 'Missing', line 1, position 11.");
        }

        [Test]
        public void MissingJson()
        {
            string json = @"{}";

            JsonConvert.DeserializeObject<DoubleClass>(json, new JsonSerializerSettings
            {
                MissingMemberHandling = MissingMemberHandling.Error
            });
        }

        [Test]
        public void MissingErrorAttribute()
        {
            string json = @"{""Missing"":1}";

            ExceptionAssert.Throws<JsonSerializationException>(() => { JsonConvert.DeserializeObject<NameWithMissingError>(json); }, "Could not find member 'Missing' on object of type 'NameWithMissingError'. Path 'Missing', line 1, position 11.");
        }

        [JsonObject(MissingMemberHandling = MissingMemberHandling.Error)]
        public class NameWithMissingError
        {
            public string First { get; set; }
        }

        public class Name
        {
            public string First { get; set; }
        }

        public class Person
        {
            public Name Name { get; set; }
        }

        [Test]
        public void MissingMemberHandling_RootObject()
        {
            IList<string> errors = new List<string>();

            JsonSerializerSettings settings = new JsonSerializerSettings
            {
                //This works on properties but not on a objects property.
                /* So nameERROR:{"first":"ni"} would throw. The payload name:{"firstERROR":"hi"} would not */
                MissingMemberHandling = MissingMemberHandling.Error,
                Error = (sender, args) =>
                {
                    // A more concrete error type would be nice but we are limited by Newtonsofts library here.
                    errors.Add(args.ErrorContext.Error.Message);
                    args.ErrorContext.Handled = true;
                }
            };

            Person p = new Person();

            JsonConvert.PopulateObject(@"{nameERROR:{""first"":""hi""}}", p, settings);

            Assert.AreEqual(1, errors.Count);
            Assert.AreEqual("Could not find member 'nameERROR' on object of type 'Person'. Path 'nameERROR', line 1, position 11.", errors[0]);
        }

        [Test]
        public void MissingMemberHandling_InnerObject()
        {
            IList<string> errors = new List<string>();

            JsonSerializerSettings settings = new JsonSerializerSettings
            {
                //This works on properties but not on a objects property.
                /* So nameERROR:{"first":"ni"} would throw. The payload name:{"firstERROR":"hi"} would not */
                MissingMemberHandling = MissingMemberHandling.Error,
                Error = (sender, args) =>
                {
                    // A more concrete error type would be nice but we are limited by Newtonsofts library here.
                    errors.Add(args.ErrorContext.Error.Message);
                    args.ErrorContext.Handled = true;
                }
            };

            Person p = new Person();

            JsonConvert.PopulateObject(@"{name:{""firstERROR"":""hi""}}", p, settings);

            Assert.AreEqual(1, errors.Count);
            Assert.AreEqual("Could not find member 'firstERROR' on object of type 'Name'. Path 'name.firstERROR', line 1, position 20.", errors[0]);
        }

        [JsonObject(MissingMemberHandling = MissingMemberHandling.Ignore)]
        public class SimpleExtendableObject
        {
            [JsonExtensionData]
            public IDictionary<string, object> Data { get; } = new Dictionary<string, object>();
        }

        public class ObjectWithExtendableChild
        {
            public SimpleExtendableObject Data;
        }

        [Test]
        public void TestMissingMemberHandlingForDirectObjects()
        {
            string json = @"{""extensionData1"": [1,2,3]}";
            SimpleExtendableObject e2 = JsonConvert.DeserializeObject<SimpleExtendableObject>(json, new JsonSerializerSettings { MissingMemberHandling = MissingMemberHandling.Error });
            JArray o1 = (JArray)e2.Data["extensionData1"];
            Assert.AreEqual(JTokenType.Array, o1.Type);
        }

        [Test]
        public void TestMissingMemberHandlingForChildObjects()
        {
            string json = @"{""Data"":{""extensionData1"": [1,2,3]}}";
            ObjectWithExtendableChild e3 = JsonConvert.DeserializeObject<ObjectWithExtendableChild>(json, new JsonSerializerSettings { MissingMemberHandling = MissingMemberHandling.Error });
            JArray o1 = (JArray)e3.Data.Data["extensionData1"];
            Assert.AreEqual(JTokenType.Array, o1.Type);
        }

        [Test]
        public void TestMissingMemberHandlingForChildObjectsWithInvalidData()
        {
            string json = @"{""InvalidData"":{""extensionData1"": [1,2,3]}}";

            ExceptionAssert.Throws<JsonSerializationException>(() =>
            {
                JsonConvert.DeserializeObject<ObjectWithExtendableChild>(json, new JsonSerializerSettings { MissingMemberHandling = MissingMemberHandling.Error });
            }, "Could not find member 'InvalidData' on object of type 'ObjectWithExtendableChild'. Path 'InvalidData', line 1, position 15.");
        }
    }
}