Michelle Lerman, one of the partners in Lerman Law Partners, is frequently asked to speak about estate planning. You may have heard her on the radio as well.
To put together a solid estate plan is to provide for the future of your loved ones. Without it, the government dictates how your property is distributed and the courts may pick a guardian for your children.
Attorney Michelle Lerman has created the following checklist to help you get ready for your first meeting. Contact Lerman Law Partners to set one up.
Have we considered what changes are needed to our estate plan under the law effective January 1, 2018?
Do we still need a "Bypass Trust" under the current law?
Do we need a Living Trust so that our assets avoid probate, or does a Will suffice?
Have we established our Living Trust so that our assets are protected for the entire lifetime of our children and pass to our grandchildren?
Who is the beneficiary of our life insurance, our Living Trust or minor children?
What are the advantages and disadvantages of an Irrevocable Life Insurance Trust?
Is the amount and type of our life insurance adequate for our family's needs?
Are all of our assets properly titled in our Living Trust?
Have we properly designated the beneficiary of our retirement plans (i.e. IRA, 401k)?
Does our estate plan meet our charitable goals?
Have we put our estate planning documents in a safe deposit box or fireproof safe?
We encourage you to engage a lawyer for your estate planning. However, if you have a very small estate, have no concerns about the costs and expense of probate, and insist on not engaging a lawyer (against our advice!), consider using the free California statutory Will form below.
Plan your estate. Contact us today. We have offices throughout California in San Rafael, San Francisco, Santa Clara, San Mateo and Los Angeles.


text:
Q: Get a value from JSON: Undefined property: stdClass::$id I am trying to the the "project_id" value from a JSON file, to check with the database if this is unique or not. I will add my code to elaborate on my problem.
$jsonDecode = json_decode(file_get_contents(/path/to/json.json));
// ERROR OCCURS ON THIS LINE
$project_id = $jsonDecode[0]->project_id;

//      Opening a connection with the database
$m = new MongoClient();
$db = $m->Database;
$collection = $db->test;

//      Find a document with the same Project ID
$cursor = $collection->findOne(array("project_id" => $project_id));

My JSON is formatted like this:
[{"project_id": 66, "project_code": 14070169, "nr_samples": 96, "samples": [{EMBEDDED DOCUMENT WITH DATA}, {EMBEDDED DOCUMENT WITH DATA}, ..... GOES ON FOR A LONG TIME}]

The specifc error which I am getting is:

ErrorException in UploadExcelFileController.php line 340: Undefined
  property: stdClass::$project_id

I don't understand what is going wrong here, because I am using the same code for a similar formatted JSON file and that works great! Could someone please help me out? I just want to get the value of "project_id" to query.
UPDATE...
Wow. I am so embarrassed. The file didn't contain a project_id key.. I was looking at the wrong JSON file. So now the code works. I am sorry!

redpajama_set_name: RedPajamaStackExchange


text:
UGC NET Phase 2 Exam Date 2022 New Date
UGC NET Exam Date 2022 New Date: If you are also thinking of appearing in UGC NET Phase 2 exam from 12th of August 2022, then this news is for you. These exams have been postponed till September, candidates can check the new exam date as well as the admit card date from here.
UGC NET Exam Date 2022
UGC NET Phase II examinations have been postponed. As you already know that UGC is conducting the examinations of two sessions by merging them. The first phase examination was conducted on 9th, 11th and 12th July, now it was the phase II examination, which was to be conducted from 12 to 14 August, 2022, but due to some reasons the phase II examination has been postponed.
National Testing Agency i.e. NTA will no longer conduct the exam this month. As per the official notice, the admit card for the UGC NET phase two exam will be released on September 16. This official information was given by UGC Chairman Prof. From Jagdish Kumar. He said on his Twitter account that the schedule for the second phase of August 12, 13 and 14 has been rescheduled. The second phase examination will now be held from September 20 to September 30.
Further, the exam city information will be released on September 11 on the NTA website ugcnet.nta.nic.in and nta.ac.in. The chairman of UGC has further advised the candidates to stay away from fake news and visit only the official website for exam dates and other updates.
The first phase of the UGC NET 2022 exam was conducted on July 9, 11 and 12 for 33 subjects in 310 exam centres across 225 cities in the country. The Telugu and Marathi examinations scheduled in Phase I was postponed due to State Departmental examinations scheduled in Andhra Pradesh and Telangana in Phase II. These exams, which were postponed for August, will also now be conducted in September.

redpajama_set_name: RedPajamaCommonCrawl


text: user_pref("browser.shell.checkDefaultBrowser", false);

redpajama_set_name: RedPajamaGithub


text:
Equality before Law
Religious Minorities
Differently Abled
Terrorism and Counter-terrorism
Right to Education
Agrarian Rights
Right to Food
Right to Health and Environment
Right to Housing
Rights of Working People
Custodial Abuse
Institutional Violence
Prison Condition
Legal Intervention
Peace Initiative
Criminal Law Reform
Police Reforms
Courts / Judicial Reforms
Corrections / System
Legislative Reforms
HRDs Under Attack
Become a Grassroot Ninja
Citizens for Justice and Peace
Declared Foreigners
CJP strengthens commitment to our fellow Indians in Assam in 2021 More people released from detention centres, important legal interventions made
In 2021, CJP achieved some important milestones in our programme to defend the rights of our fellow Indians in Assam. Not the least of these was helping as many as 16 more people secure bail and get released from various detention centres across the state. This takes the tally, since we began such crucial interventions…
Here's what CJP achieved in 2021 CJP's truly unique achievements this year
As we entered 2021 along with challenges posed by a raging pandemic and related hurdles, CJP managed to overcome all of those and achieve some truly unique milestones along the way. Let's take a look at the year gone by. Related: CJP in 2021: New milestones achieved CJP Impact: WB gov't confirms Gangadhar Pramanik's Indian…
CJP in 2021: New milestones achieved A look back at some of CJP's most unique achievements
We entered 2021 knowing fully well that there would be aftershocks from 2020, especially when it came to challenges posed by Covid-19. But despite the second wave and related hurdles, CJP did manage to overcome several hurdles and achieve some truly unique milestones along the way. Here's a look at the year gone by. Helping…
CJP comes to the aid of suicide survivor-turned-detention camp inmate Fazar Ali had jumped into the Brahmaputra, and the cops arrested him from the hospital!
The tragic story of Fazar Ali might have a happy ending. The distraught man, unable to cope with the trauma of being declared foreigner, had attempted suicide by jumping into the Brahmaputra. But though he was rescued, police nabbed him from the hospital. Now, CJP is helping him secure conditional bail in line with judgments…
CJP helps release woman from detention camp months after her husband's death Amala Das was jailed in Assam's Detention Camp since 2017
Watch Amala Das' journey from the detention camp to her home in Chirang, where she spent forty years with her husband Gopesh Das. Gopesh died in December 2020 after losing all hope of getting his wife out of the detention camp. CJP worked for three months, amid COVID-19 surge, and secured Amala's release on bail.…
Victory! CJP helps two more Assam detention camp inmates get released on bail One is a riot survivor and the other is the son of a nomad Baul singer
On April 30, Citizens for Justice and Peace (CJP) was able to help two men hailing from extremely economically weak backgrounds secure release on bail from the Goalpara detention camp in Assam. While Abdul Sheikh is a riot survivor whose home was burnt down during ethnic clashes in the state, Gopal Mandal never had a…
EXCLUSIVE: Foreigners' Tribunal notices pasted on electricity poles in Assam! CJP finds several such notices across Bongaigaon; widespread panic among people
Though assembly elections have ended in Assam, with the conclusion of the third phase on April 6, 2021, the politics over citizenship issue continues, with fresh panic being created in the form of Foreigners' Tribunal (FT) notices, that were found pasted on several electricity poles in Bongaigaon by the Assam team of Citizens for Justice…
Assam DLSAs unprepared for deluge of NRC appeals: CJP survey Survey of 10 Assam DLSAs shows that they are understaffed, and existing staff are under-trained
Citizens for Justice and Peace (CJP), a human rights organisation that has been on the ground in Assam helping our fellow Indian citizens through various processes related to the National Register of Citizens (NRC), has conducted a survey to gauge the ability of the Assam State Legal Services Authority (ASLSA) to provide free legal aid to people excluded from the…
NRC for Assam: A flawed design A process with an inherent potential to exclude millions of genuine citizens
The exercise for preparation and updating of NRC for the state of Assam was directed and also monitored by Supreme Court Bench consisting of Justices Ranjan Gogoi and Rohinton Fali Nariman (in the ongoing matter, the judgement dated December 17, 2014 in the case of Assam Public Works Vs. Union of India & Ors (Writ…
Empowering Assam in 2020 An honour and a privilege for CJP
The year 2020 has been challenging for people across the world due to the Coronavirus pandemic. But for those in Assam, it was particularly excruciating in light of the anti-Citizenship Amendment Act (CAA) protests, the Covid-19 related lockdown, the floods and the ongoing crisis related to the National Register of Citizens (NRC). Amidst all this…
For over 15 years, CJP has stood for the defence of rights and dignity of the voiceless and most marginalized sections of Indian society. Bringing alive the values of individual and collective freedoms and dignities enshrined in the Indian Constitution and its Preamble, CJP has stood for equality, dignity and non-discrimination of all Indians. We have intervened in the courts to ensure accountability of persons in power and in high office. Justice, we believe, is a prerequisite for lasting peace and social harmony ...read more
Report a Hate Crime
Op-eds in Other Media
Sabrang
Communalism Combat
लव आज़ाद: प्यार करने का ज़ज्बा रखने वालों के खिलाफ नफ़रत के अपराध को ट्रैक करने वाला सीजेपी का मैप
Hate Offender: BJP MLA Nand Kishor Gurjar thrives on Hate Speech
Communal Violence in the year 2021
भीमा कोरेगाँव मामला: मुंबई उच्च न्यायालय ने सुधा भारद्वाज को क्यों जमानत दी और सह-अभियुक्तों की जमानत अर्जी क्यों ख़ारिज़ की?
Hate offender: Meet Ali Sohrab, an Islamist radical fanning communal flames online
2022 Citizens for Justice and Peace
eyes on rights


The Quik-Cap is a cap with integrated electrodes. The electrodes are kept in place by rubber holders that are much more comfortable for the patient then alternative systems. Also the chin-strap is comfortable because it runs over the tip of the chin and NOT under the chin. Each electrode position is cleary marked. The material of the cap is very flexible. This means that with one size you can cover a large range of headcircumferences. The electrodes are either Tin, Gold, Ag/AgCl or Sintered.
The wires are attached along the outside of te cap and are then bundeled into a connector. The number of electrodes can vary from 19 to 256.
990000xx Quik-Insert electrode for Quik-Cap.
Consists of electrode, holder with 3" connecting wire, a crimp socket with epoxy raisin and ring. No soldering needed. Use a hot-air gun.


text:
German clinic trains dogs to detect coronavirus
Hanover Feb 03, 2021 - 11:06 pm GMT+3
Researchers at Hanover university's vet clinic present Filou, the 3-year-old Belgian shepherd which is able to detect COVID-19 in humans' saliva samples, in Hanover, Germany, Feb. 3, 2021. (Reuters Photo)
by REUTERS Feb 03, 2021 11:06 pm
A German veterinary clinic has trained sniffer dogs to detect the novel coronavirus in human saliva samples with 94% accuracy.
The dogs are conditioned to scent out the "corona odor" that comes from cells in infected people, said Esther Schalke, a vet at Germany's armed forces school for service dogs.
Filou, a 3-year-old Belgian Shepherd, and Joe Cocker, a 1-year-old Cocker Spaniel, are two of the dogs being trained at Hanover's University of Veterinary Medicine.
"We did a study where we had dogs sniffing samples from COVID-positive patients and we can say that they have a 94% probability in our study ... that they can sniff them out," said Holger Volk, head of the veterinary clinic.
"So dogs can really sniff out people with infections and without infections, as well as asymptomatic and symptomatic COVID patients," he added.
Stephan Weil, premier of Lower Saxony, the state of which Hanover is the capital, said he was impressed with the study and called for feasibility tests before the sniffer dogs are put to use in everyday life, such as on people attending concerts.
"We now need tests in selected events," Weil said.
In Finland, dogs trained to detect the novel coronavirus began sniffing passenger samples at Finland's Helsinki-Vantaa airport last September, in a pilot project alongside more usual testing at the airport.
Chile's Santiago international airport is also using canine detectors.
Last Update: Feb 04, 2021 11:11 am
sniffer dogs coronavirus germany covid-19 pandemic covid-19 in germany
Turkey's oil wrestling festival returns after yearlong hiatus


If you have changed your email address from the one you used when you first purchased Enterprise Architect, it is important that you let us know. Your renewal notice will be sent to the address that we have on record approximately one month before your license is due to expire.
To update your email address on our records, please fill in and submit the form below.


text:
Human Agency and the Political in Machiavelli and Hobbes
The Encroachment of Negative Liberty on Republican Virtue
To this day, the definitions of the concepts of human agency and the political are continuously revised, debated and argued over. If, according to W.B. Gallie (1955), concepts are essentially contestable this paper seeks to contest these concepts through the comparison of their interpretations by arguably two of the greatest political theorists of all time: Machiavelli and Hobbes. Isaiah Berlin (1979) suggests that Machiavelli's rejection of the Christian-classical epistemic framework liberated the spheres of politics and human agency from previous (Christian) behavioural patterns and moral attitudes. This act of liberation allowed for a plurality of different value systems to answer the age old question of "how should men live together?" thereby actively challenging Christian hegemony over the proper articulation of authority and sovereignty. About a century later, and after the Reformation had successfully broken Catholic dominance over spiritual thought and temporal behaviour, Thomas Hobbes published Leviathan, in which he gave a particular account of the limits of human agency and proposed specific definitions of liberty and freedom. My concern is that if Machiavelli liberated the concept of freedom from the yoke of antiquity, Hobbes proceeded to assimilate it within the nascent theory of liberal individual liberty based on natural law. If Machiavelli's a-moral realism "opened up" the space in which political concepts and ideas could be contested, Hobbes's principle of self-preservation began to saturate that space by sowing the seeds for what was to eventually blossom into a negative interpretation of liberty.
It is therefore necessary to take a brief look into both Machiavelli and Hobbes's understandings of human agency and by extension their notions of liberty and freedom. I will use the terms liberty and freedom quite interchangeably as both authors don't seem to make clear cut definitions between them (Skinner 1998, p17). Therefore, in the first two sections the concepts of virtù, necessità and fortuna will be analysed alongside Hobbes's causal understanding of human agency, his definition of liberty and the principle of self preservation as presented by Quentin Skinner. Successively, I will analyse Isaiah Berlin's essay The Originality of Machiavelli (1979) thereby discussing the Florentine's conception of the political and conclude by comparing it with Hobbes's. By the political I intend the space in which human agency (and by extension political action) can be exercised and contested, a terrain which is inherently antagonistic (Mouffe 2000). I want to be clear here, I do not want to assert that Hobbes is the "grandfather" of negative liberty. Nor do I want to state, as Leo Strauss (1965) and C.B. Macpherson (1965) suggested, that Hobbes's theory is the basis of liberalism or of the bourgeois man. Rather that the roots of negative liberty can be clearly discerned within Hobbes's ambiguous account of liberty.
Virtù as Human Agency
The Machiavellian principality and republic exhibit what Quentin Skinner terms a neo-roman interpretation of liberty. Neo-roman liberty is concerned primarily with the relationship between the subject and the state and how freedom and authority are articulated within a polity (Skinner 1998, p17). Freedom is therefore a strictly political issue, and thus very different from the liberal notion of freedom which is based on natural or God given rights. Machiavelli's vivere civile e libero (free and civil living) refers to a polity which is governed by good arms and good laws, or what Machiavelli calls the ordini, which are drafted and enforced by the prince or the leaders of the republic (Baron 1961). In order to ensure liberty within a polity good laws and good arms are required to be instituted so that the citizens and the city retain their virtue. But it is virtù itself the primary quality needed by leaders to ensure domestic tranquillity and prosperity. Both Romulus of Discourses and Cesare Borgia of The Prince exhibit decisiveness, courage and cunning, but above all they are able to shape the world around them according to their desires and political ends. It is here where virtue becomes the ultimate vehicle of human agency. Virtù, understood as the reliance on one's own capacities (Wood 1972), is necessary for the institution of good arms and good laws, and is required to react boldly to both necessità and fortuna. Let us take a look at these terms more closely.
The concept of necessità arises in response to particular events which occur in a state of emergency. Machiavelli's Italy was one in which power was continually contested, where invading armies were beating at the city gates and where citizens rebelled and princes crushed uprisings (Parks 2009). The leader must react to the necessities and events which emerge from a turbulent world prone to violence. Success lies in the ability to achieve stability in times of perpetual disorder by whatever means necessary (Mansfield 1972).
Fortuna, on the other hand, represents unforeseeable circumstances. These can be positive or negative: finding a pot of gold or getting hit on the head by a falling brick; being given the region of Emilia Romagna from your father the Pope, or losing it because of an incurable and unforeseeable sickness. "All the same, and so not to give up on free will, I reckon it may be true that luck decides the half of what we do, but it leaves the other half, more or less, to us." (Prince, XXV) Even within the concept of fortuna, Machiavelli leaves ample space for human agency, however we must point out that "Machiavelli…promises only that we can increase our chances against Fortune, not that we can eliminate her effects entirely."(Flanagan 1972, p. 141)
Finally, virtù is the primary quality of the prince and of the republic's citizens. Virtù is shrewdness and astuteness; it is the reliance on one's own arms, audacity, and at times calculated cruelty to achieve one's ends (Plamenatz 1972). Virtù is what is necessary to react successfully to necessità. Machiavelli goes in so far as to say, in an oft quoted and scandalously sexist passage of the Prince (Ch. XXV), that virtù (intended as virility) must be able to tame and ride fortuna (intended as femininity).
Thus virtù is not only the attribute required to navigate the troubled seas of power politics and military confrontations (necessità), but, if properly wielded, it can also master unpredictable circumstances (fortuna) (Wood 1972). Understood in these terms, virtù represents the highest embodiment of human agency which can be exercised within a conception of liberty which is thoroughly positive.
Reason as Human Agency
In Thomas Hobbes on the Proper Signification of Liberty (1990), Quentin Skinner argues against the criticism that Hobbes was advocating a conception of freedom akin to the theory of negative liberty. For Skinner, Hobbes's distinction between the spheres of the state of nature and that of the commonwealth is crucial in this respect. In the state of nature their reigns a condition of absolute freedom, one where "every man has a Right to every thing; even to one another's body" (Leviathan Ch. XIX). Here, a free man is he who is not hindered in his will to do what he wishes; therefore liberty is defined as the absence of impediment (Leviathan Ch. XXI). On the other hand, Hobbes makes it clear that when men form a commonwealth civil law curbs their liberty and their freedom to act: "but Civill Law is an Obligation; and takes away from us the Liberty which the Law of Nature gave us"(Leviathan Ch.XXVI). The step in between the state of nature and the commonwealth is determined by fear, as it is fear of the state of war, and by extension the innate drive towards self-preservation, which forces us to renounce our natural rights in order to secure our person and our beloved. However, Skinner (1990) asserts that "even in those cases where the liberty of the state of nature is undoubtedly abridged by our obligation to obey the civil laws, this does nothing to limit our liberty in the proper signification of the word." At this point, one could draw the conclusion that Hobbes's notion of liberty is wholly determined by fear. Yet, Skinner denies this, as he states that Hobbes's principle of self-preservation is dictated by reason and not by fear . Thus, Hobbes's fear coincides with reason, as the forfeit of natural rights and the entering in a commonwealth is a voluntary and rational act: it is in the person's own interest (Skinner 1990). According to this understanding the agent's freedom to act as he deems fit is not impeded in any way: liberty, therefore is not understood ex-negativo.
Skinner's account seems to fend off the critique of Hobbes's liberty being a forerunner of negative liberty. However it does force us to look deeper inside what reason meant for Hobbes. In chapter V of Leviathan, Hobbes states that the use and end of reason does not reside in discerning the ultimate truth of an assertion (he was a sceptic after all); rather, in the following of its consequences. Hence, human reason is strictly causal (Tuck 1996 p.xxiv). Thus, if Hobbes's notion of liberty, as presented by Skinner, hinges on the fact that entering in a commonwealth is determined by reason, and if reason is solely the calculation of cause and effect, is the covenant a product of voluntary free will or is it necessitated? And where does this account leave human agency? It is useful to complement the definition of reason in Leviathan with the definition of a voluntary action in Hobbes's Of Liberty and Necessity. In the latter, Hobbes states that actions depend on a person's deliberation between the positive and negative outcomes of his/her actions. Therefore, "voluntary actions have all of them necessary causes, and are therefore necessitated" (Hobbes Selections p.206).
Skinner's conflation of fear and reason, in my view, does not exempt Hobbes's theory of liberty from being negative, as it allows no space for human agency. The principle of self preservation, coupled with Hobbes's causal understanding of voluntary actions and reason, impose very strong delimitations on human agency and by extension to liberty and freedom. In turn, these have serious implications on the limits and scope of political participation and civic activism. Moreover, if we do accept Skinner's assumption that liberty is ensured by the use of our reason, then, for example, an act of patriotic sacrifice (which contradicts the principle of self preservation) would be by definition un-reasonable because it would go against one's own interest. Therefore, human deliberation is not exempt from fear as Skinner suggests, but is influenced by the drive towards self preservation and more so by natural law. Here I must agree with Macpherson's point (1962, p27) that Hobbes's subject in the abstract state of nature is not in fact exempt from the passions of society (in our case fear of confrontation and death). Strauss as well raises the issue of fear as the constituent feature firstly of Hobbes's natural law (1953) and secondly of his teleology: "death takes the place of the telos" (1965). Yet, I would like to add that it is not fear per se which is the determinant of reason and agency; rather, it is the denial of the political brought about by Hobbes's understanding of natural law which limits liberty.
The Political According to Machiavelli
According to Isaiah Berlin in his essay "The Originality of Machiavelli", Machiavelli's chief contribution does not lie in the rejection of Christian and Aristotelian teleologies for an interpretation of politics based on a-moral realism and pragmatism. Most scholars, chiefly those following Benedetto Croce, believe that Machiavelli's radical innovation lies in his separation of the purely political dimension of statecraft from that of Christian and Greco-roman morals. In such a way, Machiavelli does not necessarily reject morals and ethics, yet, if they come in between the Prince or the Republic's interests then they are overridden, often with brutal violence (Parks 2009).
This interpretation is not accepted by Berlin. Berlin believes that Machiavelli did in fact possess a very specific set of morals which he never relinquished, these being those of civic-republicanism. For Berlin, Machiavelli's morality is thoroughly classical, humanist and patriotic. He is looking for "energy, boldness, practical skill, imagination, vitality, self-discipline, shrewdness, public spirit, good fortune, antique virtus, virtù – firmness in adversity, strength of character." (Berlin 1979 p. 60) And he seeks these qualities not only in the prince, but in the citizens too.
"The central strain which runs through both [The Prince and Discourses] is one and the same. The vision – the dream – typical of many writers who see themselves as tough-minded realists – of the strong, united, effective, morally regenerated, splendid and victorious patria, whether it is saved by the virtù of one man or many – remains central and constant." (Berlin 1979 p.57)
Machiavelli's values are therefore not instrumental but are an end to themselves, requiring sacrifice and political commitment in order to have a splendid, strong, vigorous and above all virtuous principality or republic. Thus Berlin's point is that Machiavelli did not merely "deconstruct" the Christian-classical epistemological framework which fused moral and political duties into a particular teleology. Machiavelli did not separate Christian morality from the political endeavour of state-building: he did not emancipate what was to become the basis of modern politics from the shackles of moralist antiquity. For Berlin the paramount importance of Machiavelli lies in that he made a conscious choice between a moral Christian value system and a civic-republican one.
Berlin thus asserts that Machiavelli inflicted a terrible wound to a basic assumption underlying western civilization's teleology: the idea that the world and humans are part of a single intelligible whole which will one day mature into a just and harmonious society. For Berlin, every western religion and ideology has embedded within it the promise of a glorious future in which all differences will be harmonized. Machiavelli explodes this preconception by demonstrating two paramount facts: firstly that there are different conceptualizations of how to achieve this end (that there exist different value systems); and secondly, those different value systems are in most cases simply irreconcilable. There is no way that a prince or republic can be ethical in the Christian sense and be successful in the civic-republican one. Private property simply cannot be governed the same way under liberalism as under socialism. In other words, there is no one-way to achieve a "just and harmonious society".
"This unifying monistic pattern is at the very heart of traditional rationalism, religious and aesthetic, metaphysical and scientific, transcendental and naturalistic, that has been characteristic of western civilisation. It is the rock, upon which western beliefs and lives had been founded, that Machiavelli seems, in effect, to have split open." (Berlin 1979, p.68)
Berlin's assessment of Machiavelli effectively "opens up" the realm of political contestation to virtually any ideology or value system. However, I would not go insofar as deducing from Berlin's argument that Machiavelli consciously pointed towards an inherent antagonism present in politics; nor would I assert that, in this way, Machiavelli is a some sort of postmodernist advocating equality amongst different value systems, far from this. Yet, it is clear that for Berlin's Machiavelli, politics and statecraft is "up for grabs": no single value system has a legitimate a priori claim to politics. Only virtù, and not a moral teleology, can assure success in politics; and it is here, I believe, that we find the pulsing heart of Machiavelli's notion of human agency and by extension of the significance of the political. Here, for me, lies true freedom: an open field without obstacles in which Machiavelli's Principe Virtuoso and Hobbes's Absolute Sovereign can clash in the titanic struggle to define the very concepts and limits of human agency, liberty and freedom. It is a thoroughly political sphere saturated with power relations and clashing pre-conceptions.
In conclusion, Hobbes's state of nature, and the subject inhabiting it, is conditioned by the limits of a causal understanding of freedom, which is in turn influenced by fear. Hobbes's subject is fearful and does not seek the Machiavellian glories of public activism and patriotic sacrifice. Moreover, Hobbes's subject is not inclined to participate politically, and this is what places his account of freedom squarely as the forerunner of the theory of negative liberty. This is because Hobbes has trapped him within the a priori logical stronghold of natural law – defying natural law would mean the subject is un-reasonable and thus not human. Machiavelli's world, on the other hand, has no intrinsic rules: natural law and natural rights are for Machiavelli thoroughly political constructs devised by the prince or the republic to achieve success in a world fraught with antagonism. Ultimately, Hobbes positions the state of nature as existing prior to politics, Machiavelli's world, on the other hand, is politics.
Baron, H. 1969 "Machiavelli: the Republican Citizen and the Author of the Prince" The English Historical Review, Vol. 76, No. 299 pp. 217-253 Available from: JSTOR [05/11/2010]
Berlin, I. "The originality of Machiavelli" in Hardy, H. (ed) 1979 Against the Current: Essays in the History of Ideas, Pimlico, London
Flanagan, T. "The Concept of Fortuna in Machiavelli" in Parel, H. (ed) 1972 The Political Calculus: Essays on Machiavelli's Philosophy, University of Toronto Press, Toronto
Gallie, W. B. 1955 "Essentially Contested Concepts" Proceedings of the Aristotelian Society, New Series, Vol. 56, pp. 167-198 Available from: JSTOR [04/11/2010]
Hobbes, T. 1996 Leviathan, Cambridge University Press, Cambridge
Machiavelli, N. 2009 The Prince, Penguin Group, New York
Macpherson, C.B. "Hobbes's Bourgeois Man" in Brown, K.C (ed) 1965, Hobbes Studies, Harvard University Press, Cambridge, Mass.
Macpherson, C.B. 1962 The Political Theory of Possessive Individualism: Hobbes to Locke, Oxford University Press, Oxford
Mansfield, H. Jr. "Necessity in the Beginning of Cities" in Parel, H. (ed) 1972 The Political Calculus: Essays on Machiavelli's Philosophy, University of Toronto Press, Toronto
Mouffe, C. 2000 The Democratic Paradox, Verso, London
Parks, T. "Introduction" in Machiavelli, N. 2009 The Prince, Penguin Group, New York
Plamenatz, J. "In search of Machiavellian Virtù" in Parel, H. (ed) 1972 The Political Calculus: Essays on Machiavelli's Philosophy, University of Toronto Press, Toronto
Skinner, Q. 1990 "Thomas Hobbes on the Proper Signification of Liberty" Transactions of the Royal Historical Society, Fifth Series, Vol. 40 (1990), pp. 121-151 Available from: JSTOR [04/11/2010]
Skinner, Q. 1998 Liberty Before Liberalism, Cambridge University press, Cambridge
Strauss, L. "The Spirit of Hobbes's Political Philosophy" in Brown, K.C (ed) 1965, Hobbes Studies, Harvard University Press, Cambridge, Mass.
Strauss, L. 1953 Natural Right and History, Chicago University Press, Chicago
Tuck, R. "Introduction" in Hobbes, T. 1996 Leviathan, Cambridge University Press, Cambridge
Wood, N. "Machiavelli's Humanism of Action" in Parel, H. (ed) 1972 The Political Calculus: Essays on Machiavelli's Philosophy, University of Toronto Press, Toronto
Filed under Liberty, political philosophy, political theory, Thomas Hobbes
Tagged as Classical Republicanism, Liberalism, Machiavelli, Negative Liberty, Political Philosophy, Political Theory, Thomas Hobbes


text:
Lithium-ion batteries may be banned from some airplanes' cargo after Boeing 787 fires (updated)
John Koetsier@johnkoetsier
CORRECTION 1/20/2013: An earlier version of this story stated that batteries would be banned from all flights, including within carryon luggage. This is not correct. It appears that the ban only affects cargo. This story has been updated to reflect new information.
Just a few days ago, flights across the globe were canceled as concerns mounted over a January 7 fire in a Boeing 787 at Boston's Logan International Airport. The fire was caused by faulty lithium-ion batteries built in to the plane. Now it appears that the International Air Transport Association, a trade organization, wants to ban shipment of such batteries in the cargo of Cathay Pacific flights, according to one expert.
"I received an IATA notification yesterday saying that Cathay Pacific is stopping all shipments of lithium-ion and lithium batteries on cargo aircraft," battery quality assurance expert Kevin Elsdon told me tonight. "And then another one saying that British Airways was banning the shipment and carrying of lithium and lithium-ion batteries, period."
Unfortunately, just about any electronic device you carry and use — your computer, your tablet, and your phone — uses a lithium-ion battery.
Section on IATA statement added 1/20: From reading a recent IATA statement, it appears the ban may apply only to batteries in cargo, and not batteries carried by passengers in devices such as tablets, phones and other computers — or even as spares. Here is the relevant text from that document; see bold (which we've added) for the part about how the prohibition does not apply to batteries contained in "equipment":
. Lithium metal cells and batteries are prohibited from
carriage as cargo on Cathay Pacific Airways passenger and cargo aircraft. This applies to Section IA, IB and
Section II of Packing Instruction 968.
This prohibition does not apply to:
• lithium metal cells and batteries packed with or contained in equipment (UN 3091) in accordance with PI
969 and PI 970 and lithium ion cells and batteries (UN 3480 and UN 3481) in accordance with PI 965 to PI
967; or
• lithium batteries (rechargeable and non-rechargeable) covered by the Provisions for Dangerous Goods
Carried by Passengers or Crew (see 2.3.2 to 2.3.5 and Table 2.3.A)
Also, this cargo ban seems to be limited to Cathay Pacific flights. The statement, originally published in December, is edited in yellow, with no specific date — thus adding to confusion about whether this is the latest version of the document.
Moreover, if you check the aforementioned "Provisions for Dangerous Goods Carried by Passengers or Crew," you'll find the reference to spare lithium batteries being allowed as carry-on as well. VentureBeat hasn't found any statement yet that suggests this has changed. Here is the key wording from those provisions:
You may have "Lithium ion battery powered equipment containing batteries over 100 Wh but not exceeding 160 Wh." as carry-on, in checked-baggage, and on ones person.
You may have "Spare lithium ion batteries with a Watt-hour rating exceeding 100 Wh but not exceeding 160 Wh for consumer electronic devices. Maximum of two spare batteries may be carried in carry-on baggage only. These batteries must be individually protected to prevent short circuits." Note that these are not permitted in checked baggage.
IATA is the International Air Transport Association, the trade association for most of the world's airlines. IATA sends out bulletins regarding policy changes and updates for its member airlines to companies which manufacture, handle, and ship hazardous materials, one of which Elsdon works for. He asked that the name of the company not be revealed, as its client list includes defense agencies.
Above: Better hope the in-flight movie doesn't suck
"We're taking that announcement to mean that you cannot carry on any device that uses lithium or lithium-ion batteries, period," Elsdon told me. "Cathay Pacific's announcement was specific to their cargo aircraft, but British Airways and a couple other airlines simply will not permit any of these devices on their airplanes … they just did a carte blanche announcement and are not going to allow these devices on their aircraft."
However, a British Airways PR representative that I contacted said there has been no change to airline policy regarding smartphones, tablets, or laptops, and asked to see the IATA notification. The representative did say that it was conceivable that a change had been made to British Airways' cargo-carrying regulations — in addition to its passenger service, the company runs IAG Cargo, a commercial cargo shipping service — but had no personal knowledge of any changes as of early Sunday morning.
But in any case, "that is entirely separate," the representative told me.
Elsdon had posted on Facebook that the ban would mean no iPads, no smartphones, and no laptop computers. In other words, it would be complete reversal of the last decade of in-flight electronics policy. And a recipe for very, very long flights, not to mention irate customers.
VentureBeat is still attempting to verify the latest version of the IATA bulletin.
The Boeing 787 fire at Logan International was probably caused by an overcharge event in the aircraft's lithium-ion batteries that power the plane's electrical systems when on the ground. This is the first time that lithium-ion batteries have ever been used in a commercial aircraft, according to the battery manufacturer's website. Overcharging any battery can cause overheating or even fires, but batteries are supposed to be designed with safety circuits containing an over-voltage cutoff. Somehow, apparently, that got missed in this battery.
Not all airlines — even cargo airlines — are adopting the new procedures. Fedex is the largest dangerous goods shipper in the world, and that company has no plans to change its rules.
"I talked to the head of their dangerous goods division and he shrugged this shoulders, says 'I guess that means more money for us,'" Elsdon said.
And while it's likely that any ban would be revised at some point, some people may be caught in the crossfire:
"My dad is back in England at a funeral," Elsdon told me. "He has his laptop and iPhone, and I'm hoping he'll be able to get them home."
Lithium-ion batteries are listed as dangerous goods on Cathay Pacific's and other airlines' websites, and have been the cause of recalls for other products such as Fisker Automotive's Karma electric vehicles. The Chevrolet Volt has had similar issues, and the batteries were blamed for a $5 million fire at a General Motors testing lab last year. Laptops are not immune, as a Dell laptop demonstrated in 2006 by burning and exploding at a conference in Japan.
That said, lithium-ion batteries are in just about everything we use, and are safe when designed and treated well.
"This is what I call a knee-jerk reaction from the airport authority," Elsdon told me. "The amount of incidents is very small, and 90 percent of them are caused by the people loading them on the aircraft. There are only a very few cases where it's actually happened in a laptop."
VentureBeat has contacted IATA and British Airways for additional comment.
photo credit: AvgeekJoe via photopin cc, rust.bucket via photopin cc, Derek K. Miller via photopin cc


A pair of bespoke platinum blue and white diamond wedding rings.
These stunning wedding rings have a very indivdual style and still work perfectly together. The ladies wedding ring enhances the organic twist style engagement ring by gently curving underneath the twist shown in the blue diamond engaggement ring. Reflectly the unusual leaf shape channel seen in the engagement ring we have applied this affect in the wedding ring by setting 6 1.5mm brilliant cut diamonds ranging fron two white diamonds twosky blue diamondsand two ice blue diamonds.The mans wedding ring has similar characteristics where the same combination of the ice blue diamond sky blue diamond and the white diamond all 2mm brilliant cuts have been invisibly set across the diagonal on an engraved line which runs all the way around the ring. The platinum wedding ring is 7mm wide with a flat with softened edge profile with a highly polished finish.
A set of 9ct white gold engagement and wedding rings.
Platinum wedding band withdiamonds and sapphires.
Bespoke 9ct white gold ladies wedding ring incoporating three 2mm brilliant cut H SI diamonds and two 1mm brilliant cut deep blue sapphires invisibly set all totalling 0.10cts.
18ct white gold band with tapered baguette diamonds totalling 0.09cts and a 2mm blue sapphire.
Bespoke 18ct yellow gold fitted wedding ring with stones.
Commissioned wedding bands in platinum with a combination of polished and satinised finish.
18ct white gold fitted wedding ring with a diamond and sapphire.
18ct white gold wedding ring with diamonds and sapphires.


text:
Q: appending div in JS as string(?) I'm using the Google Maps API, and I'm trying to have a "card" appear (as apposed to a tooltip/infobox) when clicking on a marker.  I followed this to get the card to appear.  However, the method this person uses is appending a huge string that is the html for a white box with all the links/information hard coded into this string.
I'm trying to change this so it can dynamically insert the desired information (I've stripped down the code of the card so it simply displays a grey box when clicking on the marker, you can see the code here).
The important bit of code is:`
google.maps.event.addDomListener(marker, 'click', function() {

    // Prevents card from being added more than once (i.e. when page is resized and google maps re-renders)
    if ( $( ".place-card" ).length === 0 ) {

      var rootDiv = document.createElement('div');
      rootDiv.style = ('position', 'absolute');
      rootDiv.style = ('right', '0px');
      rootDiv.style = ('top', '0px');

      var secondDiv = document.createElement('div');
      secondDiv.style = ('margin', '10px');
      secondDiv.style = ('padding', '1px');
      secondDiv.style = ('-webkit-box-shadow', 'rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px');
      secondDiv.style = ('box-shadow', 'rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px');
      secondDiv.style = ('border-radius', '2px');
      secondDiv.style = ('background-color', 'white');
      secondDiv.style = ('width', '200px');
      secondDiv.style = ('height', '150px');

      rootDiv.appendChild(secondDiv);

      // this does not work
      // $(".gm-style").append(rootDiv);

      // this works
      $(".gm-style").append('

');
    }
  });

(You can see I'm trying to replace the str2 with actual div's... I've also tried it without calling String() which doesn't work either).
I'm wondering if there is a better way than simply appending strings together to make this card appear.
Also, if someone could explain what $(".gm-style") does that would be lovely. (My understanding after much googling is that it is an alternative for document.getElementById, but .gm-style is a class name... and any substitute "get___by___" function I try just results in error).
Thanks!

A: It's possible to get the HTML code for the element as a string, but it's rather pointless. Appending the string will just recreate the element.
Just append the element that you have:
$(".gm-style").append(rootDiv);

Your code for setting the styles are all wrong. An expression like ('position', 'absolute') uses the comma expression, so its value is just the string 'absolute'. Assigning that string to the style doesn't work, you would use the properties of the style object:
var rootDiv = document.createElement('div');
rootDiv.style.position = 'absolute';
rootDiv.style.right = '0px';
rootDiv.style.top = '0px';

var secondDiv = document.createElement('div');
secondDiv.style.margin = '10px';
secondDiv.style.padding = '1px';
secondDiv.style.webkitBoxShadow = 'rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px';
secondDiv.style.boxShadow = 'rgba(0, 0, 0, 0.298039) 0px 1px 4px -1px';
secondDiv.style.borderRadius = '2px';
secondDiv.style.backgroundColor = 'white';
secondDiv.style.width = '200px';
secondDiv.style.height = '150px';

However, I would suggest that you put the CSS in a style sheet, instead of adding all the styles directly to the element.

A: You can convert element to string by getting the element outerHTML.
$(".gm-style").append(rootDiv.outerHTML);
Btw, if you use jQuery why you should append that as string? Using
$(".gm-style").append(rootDiv);
will work.


Here is the centreboard being coated in one layer of 400gm Kevlar and two layers of 200gm glass. I want lots of torsional rigitiy incase I hit something. I had to sharpen my scissors to cut kevlar. One edge has fine serration's and the other is straight. Made a big difference to being able to cut kevlar. I used two layers of glass as it is easier to sand the glass than kevlar. Kevlar just goes all fuzzy.
You can see the fairing compound over the lead.
All done and coated in peel ply.


text:
Q: ng-model-option rollback changes on whole form have a quick question.
I have a form with whole bunch of fields that could be updated from UI.
I found a directive called "ng-model-option" that seems to be handling those kind of issues.
My question is: is it possible to rollback changes on whole form without specifying ng-model-options="{ updateOn: 'submit'}"
on every input fieldin my form?
Or, this directive look on every field and only submit those fields that were modified?
Thank you for your help and explanation in advance!

A: You could have all of your fields bound to a single object, i.e.
$scope.model = {
    foo: '',
    bar: '',
    etc: ''
};

That way you could store a copy of the model, and reset the bound model at any point you wish.
For example to undo all of the changes after a failed service call:
$scope.submit = function() {
    yourService.update(model).then(function(result) {
        // handle the success.
    }, function(err) {
        $scope.model = $scope.originalModel;
    });
}

Or maybe reloading the page is an option for you?
$window.location.reload();

A: i found a solution by using and mapping everything to ng-model-option directive
<form name="EditUserForm" class="col-md-12 form-horizontal top-buffer">

                            User Id:

                            <input type="text" class="form-control info-textbox" ng-model="user.UserID" ng-disabled="true" />

                            Department Name:

                            <select class="form-control info-textbox" ng-options="department.DepartmentName for department in departments"
                                    ng-model="selectedDepartment"
                                    ng-readonly="isReadOnlyMode"
                                    ng-model-options="{updateOn: 'submit'}"></select>

                            First Name:

                            <input type="text" class="form-control info-textbox" ng-model="user.FirstName" ng-readonly="isReadOnlyMode" ng-model-options="{updateOn: 'submit'}"  />

                            Last Name:

                            <input type="text" class="form-control info-textbox" ng-model="user.LastName" ng-readonly="isReadOnlyMode" ng-model-options="{updateOn: 'submit'}" />

                            Email:

                            <input type="text" class="form-control info-textbox" ng-model="user.Email" ng-readonly="isReadOnlyMode" ng-model-options="{updateOn: 'submit'}" />

                            Phone:

                            <input type="text" class="form-control info-textbox" ng-model="user.Phone" ng-readonly="isReadOnlyMode" ng-model-options="{updateOn: 'submit'}" />

                            Login:

                            <input type="text" class="form-control info-textbox" ng-model="user.LoginName" ng-readonly="isReadOnlyMode" ng-model-options="{updateOn: 'submit'}" />

                            Password:

                            <input type="password" class="form-control info-textbox" ng-model="user.Password" ng-readonly="isReadOnlyMode" ng-model-options="{updateOn: 'submit'}" />

                            <button type="button" class="btn btn-primary info-button" name="btnEdit" ng-click="flipBetweenEditMode(isReadOnlyMode)" ng-show="isReadOnlyMode">
                                Edit
                            </button>
                            <button type="button" class="btn btn-primary info-button" name="btnEdit" ng-click="flipBetweenEditMode(isReadOnlyMode)" ng-show="!isReadOnlyMode">
                                Cancel
                            </button>

                            <button type="submit" class="btn btn-primary info-button" name="btnSave" ng-click="saveChangesToUser(user, isReadOnlyMode)" ng-show="!isReadOnlyMode">
                                Save
                            </button>

                </form>

and then controller
$scope.flipBetweenEditMode = function (isReadOnlyMode) {
    if (!isReadOnlyMode) {
        $scope.EditUserForm.$rollbackViewValue();
    }
    console.log(isReadOnlyMode);
    $scope.isReadOnlyMode = !isReadOnlyMode;
};

on cancel this will roll back all the changes and restore model at its first stage.


Looking for something a little different? This peplum top in a lovely crisp stretch poplin has elbow length raglan sleeves with gently gathered frills. Feminine and flattering, it's perfect with our skinny jeans or smarter ponte leggings.


There are many ways to review a new bag. You look at the size, the depth, the colour and what it can hold.
Stuffing it with clothes, underwear and toiletries to sleep on your brother's floor because your condo flooded isn't usually the first step when testing a new bag.
I got the opportunity to do a little entertainment writing earlier this month. Those who know me know that I spent some time covering a maternity leave at Sympatico running their entertainment channel.
I am a slow, slow runner. I run a 5k in 43 minutes according to my chip time. There's some walking involved but mostly running but I figure it's the doing and getting it done that really counts.
When this press release landed in my inbox I have to admit I was surprised. Not by Danier – after all, they've been doing some excellent work with local and up-and-coming designers.
Searches are strong for GAP Spring 2011.
While I'm not a dedicated collector of airmiles points, I do collect enough to indulge in what I call 'pointless appliances.' You know the ones I'm talking about. You don't really need them and they take up space in your cupboards but they're just cool.
A recent car article: Rules of the road: Highway etiquette.
I get a column where I get to rant about bad driving. I have to admit it's fun and the readers seem to really get into it.
I was going through my photo archive and realized I had these photos from The Bay's God Save the Queen event with Erdem, Mark Fast, Charlotte Olympia and Christopher Kane.
A lot are close up because I wanted to really get an image of the detail involved in the work.


Livecoin, Liqui, Mercatox and EtherDelta are all now trading TIME, with combined daily volumes of over $200,000.
ChronoBank, a blockchain-based initiative aimed at disrupting the short-term recruitment sector which ended its crowdsale with $5.4 million in funding, has announced that TIME – the Ethereum token representing a stake in ChronoBank – has been added to several new exchanges.
Livecoin is an exchange that opened in 2015, registered in London. The exchange even offers VISA cards for rapid and easy withdrawal of funds. Currently, the majority of TIME's volume occurs on Livecoin, as recorded by CoinMarketCap.
Liqui is a fairly new and relatively small exchange, but one that has a thriving community and a dedicated core of traders. Liqui is often quick to add new coins, proving agile where the larger exchanges take their time.
Mercatox is a professional trading platform for digital currencies. Although they focus on bitcoin, they have taken the decision to add TIME as well, judging it to have potential and appeal to their traders.
EtherDelta is a decentralised exchange built on Ethereum. More tech-savvy users will be able to trade peer-to-peer, without any risk of hacking or the failures that come with centralised exchanges.


Alke explosion proof mini vehicles are oriented to logistics and people transportation inside Oil&Gas Industry, big chemical plants or any other hazardous environment where explosion proof vehicles are required. Their compact dimensions make possible to arrive in narrow spaces where activity is needed directly, without loosing time unloading far from the place where operations must be done or limiting their action in front of low passages.
Thanks to their dimension, explosion proof mini vehicles are perfect to carry maintenance equipment for quick service in every place of the plant. This kind of vehicle is particularly apt to work in rescue activities, in presence of accidents or to make surveillance activity all around the installation.
These type of explosion proof vehicles are essential in daily industry's activities resulting a very helpful equipment during daily working routine and extraordinaire operations.
In terms of general dimensions, explosion proof mini vehicles are compact and smaller than classic explosion proof vehicles but they result very powerful. In fact, they can easily work with a load capacity on the cargo up to 1.500 Kg and tow up to 4.000 Kg.
Our customers can choose between the 2 or 4 seater cab version depend on the use required. Both versions are always available. Clearly, the 2 seater explosion proof mini vehicle is more compact but, if required, it can gain two more seats. In fact, it's possible adding specific people carrier module on the rear cargo area. The added module provides two more seats, in reverse direction, with optional canopy to protect from the sun also rear passengers/operators.
Having on site such type of electric vehicle brings more flexibility inside big plants. This is possible because integrating your vehicles fleet with explosion proof mini vehicles, instead of having big trucks, you can get much more units and bring flexibility and extended operations all around the plant, optimizing also the working activity of all human resources, all at the same price of a normal size vehicle.
For these explosion proof mini vehicles, safety follows the high standard of all Alke electric vehicles. In fact, they combine a premium quality, in terms of materials and technical solutions, with the best safety in terms of explosion proof protection. Alke explosion proof mini vehicle are ATEX certified for both Zone 2 and Zone 1 operations in each kind of hazardous areas. Alke' mini vehicles are the best choice to work safely and lead successfully all the routine operations inside the plant as well in large as in narrow places too. Thanks to their easy driving, they can be used easily by the staff to reach every place in the plant with no problems as soon as possible with no waste of time or energies.


SIU baseball picked up its third win in four games Tuesday night in a 6-2 win against Southeast Missouri State.
The Salukis (10-31, 5-7) struck first, chasing SEMO (25-15, 16-5 Ohio Valley Conference) starter Garrett Stockton out of the game after 2/3 of an inning.
They took advantage of 3 walks, a hit batter and a wild pitch to score 3 runs. One of SIU's 2 hits in the inning was a 2-run single by freshman designated hitter Logan Blackfan.
The Redhawks picked up 2 unearned runs in the top of the second after senior right fielder Tyler Rolland dropped a fly ball to put runners at second and third with nobody out. A sacrifice fly and a wild pitch allowed SEMO to come within a run of the Salukis.
SIU picked up an insurance run in the fouth on an RBI single by sophomore second baseman Will Farmer.
Two runs in the seventh, highlighted by a Blackfan RBI double, padded the Saluki lead.
Freshman reliever Colin Holderman (1-0) provided five innings of scoreless relief in a career performance Tuesday.
The outing was the longest of Holderman's career. He entered the game in the fifth with the mentality that the game was his.
Holderman breezed through the next 4 innings, but ran into trouble in the ninth.
Junior first baseman Ryan Rippee collected the Redhawks' only extra-base hit, a leadoff double in the ninth inning. Junior catcher Scott Mitchell followed with a walk.
Saluki coach Ken Henderson said Holderman was on thin ice at that point.
Holderman got the next three batters out. Freshman shortstop Chase Slone ranged far to his left to make the play on a ground ball destined for center field and stepped on second for the game's final out.
Tuesday marked the fifth time all season SEMO was held to fewer than 3 runs.
Stockton (1-2) suffered the loss.
Blackfan ended the night 3-for-4 with a game and career-high 3 RBIs. Tuesday was Blackfan's first career 3-hit game.
SIU returns to action at 5:00 p.m. Wednesday at Itchy Jones Stadium when it hosts UT-Martin.
Thomas Donley can be reached at [email protected] or at 536-3311 ext. 269.


text:
You are using an outdated browser. Upgrade your browser today for a better experience of this site and many others.
JS & Co LLP, 3rd Floor, Hanover House, 118 Queens Road, Brighton, BN1 3XG
01273 765 399 | info@jscollp.com
Autumn Statement
Our summary of all the key announcements.
Download the Autumn Statement 2022 (pdf)
Changes to rates, allowances and dividends.
National Insurance contributions
Changes to the Health and Social Care Levy.
Capital taxes
Capital gains tax, inheritance tax and property taxes.
Corporation tax, capital allowances, Research and Development, SEIS, CSOP, VAT and company vehicles.
Welfare, work and pensions
Cost of living payments, benefits and National Living Wage.
Energy Profits Levy and Energy Price Guarantee.
IMF warns UK economy set to shrink in 2023
The International Monetary Fund (IMF) has warned that the UK economy is set to contract worse than any other advanced economy in 2023.
UK business confidence plummets to 13-year low
The UK's business confidence has dropped to a 13-year low, according to a survey conducted by the Institute of Chartered Accountants in England and Wales (ICAEW).
Home | Contact us | Site map | Accessibility | Disclaimer | Help |
© 2023 J S & Co LLP. All rights reserved.
J S & Co LLP, 3rd Floor, Hanover House, 118 Queens Road, Brighton, East Sussex BN1 3XG
We use cookies on this website, you can find more information about cookies here.
JS & Co is a Limited Liability Partnership. We are registered in England and Wales with Company Number OC313811.


On behalf of Komie & Morrow, LLP posted in Firm News on Wednesday, September 13, 2017.
The American Institute of Personal Injury Attorneys (AIOPIA) is a newly-formed company - founded in 2014 - that recognizes attorneys for not only achieving greatness in their practices but, more importantly, have earned the trust of clients new and returning. Although the AIOPIA does use multiple factors when selecting its yearly membership candidates, it primarily focuses on how lawyers interact with clients and how clients rate their lawyers after a case closes. This uniquely steered selection process has allowed the AIOPIA to already become a go-to name when it comes to fairly assessing attorneys from all around the country and in all types of practice areas in regards to client satisfaction.


Small Scale Mining Equipment. small scale ore separating gold mining equipment, gold mining machinery .. small scale gold mining equipment manufacturer of mini stone jaw crusher in stock.
Small Portable Mini Sand Gold Separator Machine. Gold Cube_Prospecting Equipment. The Gold Cube is The hottest new gold prospecting equipment for the Words like G-Force separator, Vortex Matting, Alternating modular trays are The Gold Cubes processing power is amazing even for a small portable machine.
The mini gold plating kit was easy to use. I heated the 24k liquid as instructed and was able to refurbish 4 pr earring, 5 bracelets. These were quality pieces to begin with and not real gold but had tarnished slightly over the 10 years I've had them.
The Gold Cubes processing power is amazing even for a small portable machine. It's light and portable, runs on a 12 volt battery and typically processes 1,000 pounds of screened material per hour! The Gold Banker attachment or the Trommel add even more functionality to the Gold Cube.
Mini Gold Separator Machine For Sale, Wholesale Various High Quality Mini Gold Separator Machine For Sale Products from Global Mini Gold Separator Machine For Sale Suppliers and Mini Gold Separator Machine .
Global Network of Used Machine Suppliers. Previous Next. Product Search. Used Plastic Machinery. For quality used plastic processing machines, reconditioned plastic machinery, used plastic printing machinery write to [email protected] ... tape plants and other used plastic machines.
Leading Manufacturers of Gold Ore/Tailing Processing Plant. Gold Ore Processing Plant; ... in the fabrication of these machines for 25 years and this enables us to be in a leading position in the field of gold processing plant & equipment. We specialize in gold processing plants, gold trommel plants and portable gold trommel plants.
Sinolinking Movable Mini Gold Wash Plant/small Scale Gold Mining Equipment/small Gold Mining Equipment,Small Gold Washing Machine from Mineral Separator Supplier or Transparent and fair price; 24/7 online support; Online tracking . 6 Power system could be .
The SKD is professional ore crushing machinery company,the company's crushers machine for sale . Mini Gold Ore Processing Plant For Sale . Free Quote. Global Mining Equipment - HOME. Gold mining equipment, including Jaw Crusher and Hammermill, that have .
Manufacturing & Processing Machinery Manufactuer Directory.Browse list to find Companies and Suppliers of Manufacturing & Processing Machinery.Select a vendor that products new and used Manufacturing & Processing Machinery Manufactuer.
Mini Gold Crusher Machine Cheap Price. open pit and from the underground mine Mini sugar plant,sugar mill machinery,mini Gold Mining Equipment For Sale in Mini Gold Crusher Machine Cheap .
Wittek Golf Supply and Eagle One continues to strive and produce innovative products that meet our customers evolving needs. With time, Golf has changed and so does the demand for high quality unique golf .
Gold Rush mini is one of them. From its name we can guess that it is a new version of Rival's slot, called Gold Rush. It is a three-reel, single- payline – wheel of fortune that will not disappoint you ever.


text:
Q: How can I send a null value to a stored procedure using SqlParameter? I have the following stored procedure:
CREATE PROCEDURE dbo.sp_ins_test
   @Title          NVARCHAR (100) ,
   @ExamId         INT            ,
   @TopicId        INT
AS
BEGIN
INSERT INTO dbo.Test
(
    TestId,
    ExamId,
    TopicId
)
VALUES (
    @TestId,
    @ExamId,
    @TopicId
)

Here's the code that calls the stored procedure:
List<SqlParameter> parameterList = new List<SqlParameter>();
parameterList.Add(new SqlParameter ("@Title", "Practice " + testNumber));
parameterList.Add(new SqlParameter ("@ExamId", examId == 0 ? null : examId));
parameterList.Add(new SqlParameter ("@TopicId",  testTopicId == 0 ? null : testTopicId));
SqlParameter[] parameters = parameterList.ToArray();
int result = db.Database.ExecuteSqlCommand(sql, parameters);

My intention was that if the examId or the topicId were 0 then I want to pass a null to
the sp_ins_test stored procedure. However I get an error saying:
Error   2
Type of conditional expression cannot be determined because there is no implicit
conversion between '<null>' and 'int'

for both the examId and testTopicId lines. Can anyone tell me how I can insert a null into these columns if the value of examId or testTopicId is 0 ?

A: As other answers here, you need to pass DBNull.Value, however I suggest to use this approach
SqlCommand cmd = new SqlCommand();
List<SqlParameter> parameterList = new List<SqlParameter>()
{
    new SqlParameter("@Title", SqlDbType.NVarChar) { Value = "Practice " + testNumber.ToString()},
    new SqlParameter("@ExamId", SqlDbType.Int) { Value = (examId == 0 ? DBNull.Value : (object)examId)},
    new SqlParameter("@TopicId", SqlDbType.Int) { Value = (testTopicId == 0 ? DBNull.Value : (object)testTopicId)},
};
cmd.Parameters.AddRange(parameterList.ToArray());

Do not use the obsolete call that create a new parameter passing directly the value. It is ambiguous and could cause a problem (this is the reason that the AddWithValue method has been added)
See Why we need AddWithValue
Differences between Parameters.Add and Parameters.AddWithValue

A: Either use DbNull.Value or SqlInt32.Null.

A: Specify the SqlType Null to pass NULLs:
        parameterList.Add(new SqlParameter("@ExamId", examId == 0 ? SqlInt32.Null : examId));
        parameterList.Add(new SqlParameter("@TopicId", testTopicId == 0 ? SqlInt32.Null : testTopicId));testTopicId));


text:
// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "net/proxy/proxy_service.h"

#include <algorithm>

#include "base/compiler_specific.h"
#include "base/logging.h"
#include "base/string_util.h"
#include "googleurl/src/gurl.h"
#include "net/base/net_errors.h"
#include "net/proxy/proxy_config_service_fixed.h"
#include "net/proxy/proxy_script_fetcher.h"
#if defined(OS_WIN)
#include "net/proxy/proxy_config_service_win.h"
#include "net/proxy/proxy_resolver_winhttp.h"
#elif defined(OS_MACOSX)
#include "net/proxy/proxy_resolver_mac.h"
#elif defined(OS_LINUX)
#include "net/proxy/proxy_config_service_linux.h"
#endif
#include "net/proxy/proxy_resolver.h"
#include "net/proxy/proxy_resolver_v8.h"
#include "net/url_request/url_request_context.h"

using base::TimeDelta;
using base::TimeTicks;

namespace net {

// Config getter that fails every time.
class ProxyConfigServiceNull : public ProxyConfigService {
 public:
  // ProxyConfigService implementation:
  virtual int GetProxyConfig(ProxyConfig* config) {
    return ERR_NOT_IMPLEMENTED;
  }
};

// Proxy resolver that fails every time.
class ProxyResolverNull : public ProxyResolver {
 public:
  ProxyResolverNull() : ProxyResolver(true /*does_fetch*/) {}

  // ProxyResolver implementation:
  virtual int GetProxyForURL(const GURL& /*query_url*/,
                             const GURL& /*pac_url*/,
                             ProxyInfo* /*results*/) {
    return ERR_NOT_IMPLEMENTED;
  }
};

// Strip away any reference fragments and the username/password, as they
// are not relevant to proxy resolution.
static GURL SanitizeURLForProxyResolver(const GURL& url) {
  // TODO(eroman): The following duplicates logic from
  // HttpUtil::SpecForRequest. Should probably live in net_util.h
  GURL::Replacements replacements;
  replacements.ClearUsername();
  replacements.ClearPassword();
  replacements.ClearRef();
  return url.ReplaceComponents(replacements);
}

// Runs on the PAC thread to notify the proxy resolver of the fetched PAC
// script contents. This task shouldn't outlive ProxyService, since
// |resolver| is owned by ProxyService.
class NotifyFetchCompletionTask : public Task {
 public:
  NotifyFetchCompletionTask(ProxyResolver* resolver, const std::string& bytes)
      : resolver_(resolver), bytes_(bytes) {}

  virtual void Run() {
    resolver_->SetPacScript(bytes_);
  }

 private:
  ProxyResolver* resolver_;
  std::string bytes_;
};

// ProxyService::PacRequest ---------------------------------------------------

// We rely on the fact that the origin thread (and its message loop) will not
// be destroyed until after the PAC thread is destroyed.

class ProxyService::PacRequest
    : public base::RefCountedThreadSafe<ProxyService::PacRequest> {
 public:
  // |service| -- the ProxyService that owns this request.
  // |url|     -- the url of the query.
  // |results| -- the structure to fill with proxy resolve results.
  PacRequest(ProxyService* service,
             const GURL& url,
             ProxyInfo* results,
             CompletionCallback* callback)
      : service_(service),
        callback_(callback),
        results_(results),
        url_(url),
        is_started_(false),
        origin_loop_(MessageLoop::current()) {
    DCHECK(callback);
  }

  // Start the resolve proxy request on the PAC thread.
  void Query() {
    is_started_ = true;
    AddRef();  // balanced in QueryComplete

    GURL query_url = SanitizeURLForProxyResolver(url_);
    const GURL& pac_url = service_->config_.pac_url;
    results_->config_id_ = service_->config_.id();

    service_->pac_thread()->message_loop()->PostTask(FROM_HERE,
        NewRunnableMethod(this, &ProxyService::PacRequest::DoQuery,
                          service_->resolver(), query_url, pac_url));
  }

  // Run the request's callback on the current message loop.
  void PostCallback(int result_code) {
    AddRef();  // balanced in DoCallback
    MessageLoop::current()->PostTask(FROM_HERE,
        NewRunnableMethod(this, &ProxyService::PacRequest::DoCallback,
            result_code));
  }

  void Cancel() {
    // Clear these to inform QueryComplete that it should not try to
    // access them.
    service_ = NULL;
    callback_ = NULL;
    results_ = NULL;
  }

  // Returns true if Cancel() has been called.
  bool was_cancelled() const { return callback_ == NULL; }

 private:
  friend class ProxyService;

  // Runs on the PAC thread.
  void DoQuery(ProxyResolver* resolver,
               const GURL& query_url,
               const GURL& pac_url) {
    int rv = resolver->GetProxyForURL(query_url, pac_url, &results_buf_);
    origin_loop_->PostTask(FROM_HERE,
        NewRunnableMethod(this, &PacRequest::QueryComplete, rv));
  }

  // Runs the completion callback on the origin thread.
  void QueryComplete(int result_code) {
    // The PacRequest may have been cancelled after it was started.
    if (!was_cancelled()) {
      service_->DidCompletePacRequest(results_->config_id_, result_code);

      if (result_code == OK) {
        results_->Use(results_buf_);
        results_->RemoveBadProxies(service_->proxy_retry_info_);
      }
      callback_->Run(result_code);

      // We check for cancellation once again, in case the callback deleted
      // the owning ProxyService (whose destructor will in turn cancel us).
      if (!was_cancelled())
        service_->RemoveFrontOfRequestQueue(this);
    }

    Release();  // balances the AddRef in Query.  we may get deleted after
                // we return.
  }

  // Runs the completion callback on the origin thread.
  void DoCallback(int result_code) {
    if (!was_cancelled()) {
      callback_->Run(result_code);
    }
    Release();  // balances the AddRef in PostCallback.
  }

  // Must only be used on the "origin" thread.
  ProxyService* service_;
  CompletionCallback* callback_;
  ProxyInfo* results_;
  GURL url_;
  bool is_started_;

  // Usable from within DoQuery on the PAC thread.
  ProxyInfo results_buf_;
  MessageLoop* origin_loop_;
};

// ProxyService ---------------------------------------------------------------

ProxyService::ProxyService(ProxyConfigService* config_service,
                           ProxyResolver* resolver)
    : config_service_(config_service),
      resolver_(resolver),
      next_config_id_(1),
      config_is_bad_(false),
      ALLOW_THIS_IN_INITIALIZER_LIST(proxy_script_fetcher_callback_(
          this, &ProxyService::OnScriptFetchCompletion)),
      fetched_pac_config_id_(ProxyConfig::INVALID_ID),
      fetched_pac_error_(OK),
      in_progress_fetch_config_id_(ProxyConfig::INVALID_ID) {
}

// static
ProxyService* ProxyService::Create(
    const ProxyConfig* pc,
    bool use_v8_resolver,
    URLRequestContext* url_request_context,
    MessageLoop* io_loop) {
  // Choose the system configuration service appropriate for each platform.
  ProxyConfigService* proxy_config_service = pc ?
      new ProxyConfigServiceFixed(*pc) :
      CreateSystemProxyConfigService(io_loop);

  ProxyResolver* proxy_resolver;

  if (use_v8_resolver) {
    // Send javascript errors and alerts to LOG(INFO).
    HostResolver* host_resolver = url_request_context->host_resolver();
    ProxyResolverV8::JSBindings* js_bindings =
        ProxyResolverV8::CreateDefaultBindings(host_resolver, io_loop);

    proxy_resolver = new ProxyResolverV8(js_bindings);
  } else {
    proxy_resolver = CreateNonV8ProxyResolver();
  }

  ProxyService* proxy_service = new ProxyService(
      proxy_config_service, proxy_resolver);

  if (!proxy_resolver->does_fetch()) {
    // Configure PAC script downloads to be issued using |url_request_context|.
    DCHECK(url_request_context);
    proxy_service->SetProxyScriptFetcher(
        ProxyScriptFetcher::Create(url_request_context));
  }

  return proxy_service;
}

// static
ProxyService* ProxyService::CreateFixed(const ProxyConfig& pc) {
  return Create(&pc, false, NULL, NULL);
}

// static
ProxyService* ProxyService::CreateNull() {
  // Use a configuration fetcher and proxy resolver which always fail.
  return new ProxyService(new ProxyConfigServiceNull, new ProxyResolverNull);
}

int ProxyService::ResolveProxy(const GURL& url, ProxyInfo* result,
                               CompletionCallback* callback,
                               PacRequest** pac_request) {
  DCHECK(callback);

  // Check if the request can be completed right away. This is the case when
  // using a direct connection, or when the config is bad.
  UpdateConfigIfOld();
  int rv = TryToCompleteSynchronously(url, result);
  if (rv != ERR_IO_PENDING)
    return rv;

  // Otherwise, push the request into the work queue.
  scoped_refptr<PacRequest> req = new PacRequest(this, url, result, callback);
  pending_requests_.push_back(req);
  ProcessPendingRequests(req.get());

  // Completion will be notifed through |callback|, unless the caller cancels
  // the request using |pac_request|.
  if (pac_request)
    *pac_request = req.get();
  return rv;  // ERR_IO_PENDING
}

int ProxyService::TryToCompleteSynchronously(const GURL& url,
                                             ProxyInfo* result) {
  result->config_id_ = config_.id();

  DCHECK(config_.id() != ProxyConfig::INVALID_ID);

  // Fallback to a "direct" (no proxy) connection if the current configuration
  // is known to be bad.
  if (config_is_bad_) {
    // Reset this flag to false in case the ProxyInfo object is being
    // re-used by the caller.
    result->config_was_tried_ = false;
  } else {
    // Remember that we are trying to use the current proxy configuration.
    result->config_was_tried_ = true;

    if (!config_.proxy_rules.empty()) {
      ApplyProxyRules(url, config_.proxy_rules, result);
      return OK;
    }

    if (config_.pac_url.is_valid() || config_.auto_detect) {
      // If we failed to download the PAC script, return the network error
      // from the failed download. This is only going to happen for the first
      // request after the failed download -- after that |config_is_bad_| will
      // be set to true, so we short-cuircuit sooner.
      if (fetched_pac_error_ != OK && !IsFetchingPacScript()) {
        DidCompletePacRequest(fetched_pac_config_id_, fetched_pac_error_);
        return fetched_pac_error_;
      }
      return ERR_IO_PENDING;
    }
  }

  // otherwise, we have no proxy config
  result->UseDirect();
  return OK;
}

void ProxyService::ApplyProxyRules(const GURL& url,
                                   const ProxyConfig::ProxyRules& proxy_rules,
                                   ProxyInfo* result) {
  DCHECK(!proxy_rules.empty());

  if (ShouldBypassProxyForURL(url)) {
    result->UseDirect();
    return;
  }

  switch (proxy_rules.type) {
    case ProxyConfig::ProxyRules::TYPE_SINGLE_PROXY:
      result->UseProxyServer(proxy_rules.single_proxy);
      break;
    case ProxyConfig::ProxyRules::TYPE_PROXY_PER_SCHEME: {
      const ProxyServer* entry = proxy_rules.MapSchemeToProxy(url.scheme());
      if (entry) {
        result->UseProxyServer(*entry);
      } else {
        // We failed to find a matching proxy server for the current URL
        // scheme. Default to direct.
        result->UseDirect();
      }
      break;
    }
    default:
      result->UseDirect();
      NOTREACHED();
      break;
  }
}

void ProxyService::InitPacThread() {
  if (!pac_thread_.get()) {
    pac_thread_.reset(new base::Thread("pac-thread"));
    pac_thread_->Start();
  }
}

ProxyService::~ProxyService() {
  // Cancel the inprogress request (if any), and free the rest.
  for (PendingRequestsQueue::iterator it = pending_requests_.begin();
       it != pending_requests_.end();
       ++it) {
    (*it)->Cancel();
  }
}

void ProxyService::ProcessPendingRequests(PacRequest* recent_req) {
  if (pending_requests_.empty())
    return;

  // While the PAC script is being downloaded, requests are blocked.
  if (IsFetchingPacScript())
    return;

  // Get the next request to process (FIFO).
  PacRequest* req = pending_requests_.front().get();
  if (req->is_started_)
    return;

  // The configuration may have changed since |req| was added to the
  // queue. It could be this request now completes synchronously.
  if (req != recent_req) {
    UpdateConfigIfOld();
    int rv = TryToCompleteSynchronously(req->url_, req->results_);
    if (rv != ERR_IO_PENDING) {
      req->PostCallback(rv);
      RemoveFrontOfRequestQueue(req);
      return;
    }
  }

  // Check if a new PAC script needs to be downloaded.
  DCHECK(config_.id() != ProxyConfig::INVALID_ID);
  if (!resolver_->does_fetch() && config_.id() != fetched_pac_config_id_) {
    // For auto-detect we use the well known WPAD url.
    GURL pac_url = config_.auto_detect ?
        GURL("http://wpad/wpad.dat") : config_.pac_url;

    in_progress_fetch_config_id_ = config_.id();

    LOG(INFO) << "Starting fetch of PAC script " << pac_url
              << " for config_id=" << in_progress_fetch_config_id_;

    proxy_script_fetcher_->Fetch(
        pac_url, &in_progress_fetch_bytes_, &proxy_script_fetcher_callback_);
    return;
  }

  // The only choice left now is to actually run the ProxyResolver on
  // the PAC thread.
  InitPacThread();
  req->Query();
}

void ProxyService::RemoveFrontOfRequestQueue(PacRequest* expected_req) {
  DCHECK(pending_requests_.front().get() == expected_req);
  pending_requests_.pop_front();

  // Start next work item.
  ProcessPendingRequests(NULL);
}

void ProxyService::OnScriptFetchCompletion(int result) {
  DCHECK(IsFetchingPacScript());
  DCHECK(!resolver_->does_fetch());

  LOG(INFO) << "Completed PAC script fetch for config_id="
            << in_progress_fetch_config_id_
            << " with error " << ErrorToString(result)
            << ". Fetched a total of " << in_progress_fetch_bytes_.size()
            << " bytes";

  // Notify the ProxyResolver of the new script data (will be empty string if
  // result != OK).
  InitPacThread();
  pac_thread()->message_loop()->PostTask(FROM_HERE,
      new NotifyFetchCompletionTask(
          resolver_.get(), in_progress_fetch_bytes_));

  fetched_pac_config_id_ = in_progress_fetch_config_id_;
  fetched_pac_error_ = result;
  in_progress_fetch_config_id_ = ProxyConfig::INVALID_ID;
  in_progress_fetch_bytes_.clear();

  // Start a pending request if any.
  ProcessPendingRequests(NULL);
}

int ProxyService::ReconsiderProxyAfterError(const GURL& url,
                                            ProxyInfo* result,
                                            CompletionCallback* callback,
                                            PacRequest** pac_request) {
  // Check to see if we have a new config since ResolveProxy was called.  We
  // want to re-run ResolveProxy in two cases: 1) we have a new config, or 2) a
  // direct connection failed and we never tried the current config.

  bool re_resolve = result->config_id_ != config_.id();
  if (!re_resolve) {
    UpdateConfig();
    if (result->config_id_ != config_.id()) {
      // A new configuration!
      re_resolve = true;
    } else if (!result->config_was_tried_) {
      // We never tried the proxy configuration since we thought it was bad,
      // but because we failed to establish a connection, let's try the proxy
      // configuration again to see if it will work now.
      config_is_bad_ = false;
      re_resolve = true;
    }
  }
  if (re_resolve) {
    // If we have a new config or the config was never tried, we delete the
    // list of bad proxies and we try again.
    proxy_retry_info_.clear();
    return ResolveProxy(url, result, callback, pac_request);
  }

  // We don't have new proxy settings to try, fallback to the next proxy
  // in the list.
  bool was_direct = result->is_direct();
  if (!was_direct && result->Fallback(&proxy_retry_info_))
    return OK;

  if (!config_.auto_detect && !config_.proxy_rules.empty()) {
    // If auto detect is on, then we should try a DIRECT connection
    // as the attempt to reach the proxy failed.
    return ERR_FAILED;
  }

  // If we already tried a direct connection, then just give up.
  if (was_direct)
    return ERR_FAILED;

  // Try going direct.
  result->UseDirect();
  return OK;
}

// There are four states of the request we need to handle:
// (1) Not started (just sitting in the queue).
// (2) Executing PacRequest::DoQuery in the PAC thread.
// (3) Waiting for PacRequest::QueryComplete to be run on the origin thread.
// (4) Waiting for PacRequest::DoCallback to be run on the origin thread.
void ProxyService::CancelPacRequest(PacRequest* req) {
  DCHECK(req);

  bool is_active_request = req->is_started_ && !pending_requests_.empty() &&
      pending_requests_.front().get() == req;

  req->Cancel();

  if (is_active_request) {
    RemoveFrontOfRequestQueue(req);
    return;
  }

  // Otherwise just delete the request from the queue.
  PendingRequestsQueue::iterator it = std::find(
      pending_requests_.begin(), pending_requests_.end(), req);
  if (it != pending_requests_.end()) {
    pending_requests_.erase(it);
  }
}

void ProxyService::SetProxyScriptFetcher(
    ProxyScriptFetcher* proxy_script_fetcher) {
  proxy_script_fetcher_.reset(proxy_script_fetcher);
}

void ProxyService::ResetConfigService(
    ProxyConfigService* new_proxy_config_service) {
  config_service_.reset(new_proxy_config_service);
  UpdateConfig();
}

void ProxyService::DidCompletePacRequest(int config_id, int result_code) {
  // If we get an error that indicates a bad PAC config, then we should
  // remember that, and not try the PAC config again for a while.

  // Our config may have already changed.
  if (result_code == OK || config_id != config_.id())
    return;

  // Remember that this configuration doesn't work.
  config_is_bad_ = true;
}

// static
ProxyConfigService* ProxyService::CreateSystemProxyConfigService(
    MessageLoop* io_loop) {
#if defined(OS_WIN)
  return new ProxyConfigServiceWin();
#elif defined(OS_MACOSX)
  return new ProxyConfigServiceMac();
#elif defined(OS_LINUX)
  ProxyConfigServiceLinux* linux_config_service
      = new ProxyConfigServiceLinux();

  // Assume we got called from the UI loop, which runs the default
  // glib main loop, so the current thread is where we should be
  // running gconf calls from.
  MessageLoop* glib_default_loop = MessageLoopForUI::current();

  // Synchronously fetch the current proxy config (since we are
  // running on glib_default_loop). Additionally register for gconf
  // notifications (delivered in |glib_default_loop|) to keep us
  // updated on when the proxy config has changed.
  linux_config_service->SetupAndFetchInitialConfig(glib_default_loop, io_loop);

  return linux_config_service;
#else
  LOG(WARNING) << "Failed to choose a system proxy settings fetcher "
                  "for this platform.";
  return new ProxyConfigServiceNull();
#endif
}

// static
ProxyResolver* ProxyService::CreateNonV8ProxyResolver() {
#if defined(OS_WIN)
  return new ProxyResolverWinHttp();
#elif defined(OS_MACOSX)
  return new ProxyResolverMac();
#else
  LOG(WARNING) << "PAC support disabled because there is no fallback "
                  "non-V8 implementation";
  return new ProxyResolverNull();
#endif
}

void ProxyService::UpdateConfig() {
  bool is_first_update = !config_has_been_initialized();

  ProxyConfig latest;
  if (config_service_->GetProxyConfig(&latest) != OK) {
    if (is_first_update) {
      // Default to direct-connection if the first fetch fails.
      LOG(INFO) << "Failed initial proxy configuration fetch.";
      SetConfig(ProxyConfig());
    }
    return;
  }
  config_last_update_time_ = TimeTicks::Now();

  if (!is_first_update && latest.Equals(config_))
    return;

  SetConfig(latest);
}

void ProxyService::SetConfig(const ProxyConfig& config) {
  config_ = config;

  // Increment the ID to reflect that the config has changed.
  config_.set_id(next_config_id_++);

  LOG(INFO) << "New proxy configuration was loaded:\n" << config_;

  // Reset state associated with latest config.
  config_is_bad_ = false;
  proxy_retry_info_.clear();
}

void ProxyService::UpdateConfigIfOld() {
  // The overhead of calling ProxyConfigService::GetProxyConfig is very low.
  const TimeDelta kProxyConfigMaxAge = TimeDelta::FromSeconds(5);

  // Periodically check for a new config.
  if (!config_has_been_initialized() ||
      (TimeTicks::Now() - config_last_update_time_) > kProxyConfigMaxAge)
    UpdateConfig();
}

bool ProxyService::ShouldBypassProxyForURL(const GURL& url) {
  std::string url_domain = url.scheme();
  if (!url_domain.empty())
    url_domain += "://";

  url_domain += url.host();
  // This isn't superfluous; GURL case canonicalization doesn't hit the embedded
  // percent-encoded characters.
  StringToLowerASCII(&url_domain);

  // TODO(eroman): use GetHostAndPort().
  std::string url_domain_and_port = url_domain + ":"
      + IntToString(url.EffectiveIntPort());

  if (config_.proxy_bypass_local_names) {
    if (url.host().find('.') == std::string::npos)
      return true;
  }

  for(std::vector<std::string>::const_iterator i = config_.proxy_bypass.begin();
      i != config_.proxy_bypass.end(); ++i) {
    std::string bypass_url_domain = *i;

    // The proxy server bypass list can contain entities with http/https
    // If no scheme is specified then it indicates that all schemes are
    // allowed for the current entry. For matching this we just use
    // the protocol scheme of the url passed in.
    size_t scheme_colon = bypass_url_domain.find("://");
    if (scheme_colon == std::string::npos) {
      std::string bypass_url_domain_with_scheme = url.scheme();
      scheme_colon = bypass_url_domain_with_scheme.length();
      bypass_url_domain_with_scheme += "://";
      bypass_url_domain_with_scheme += bypass_url_domain;

      bypass_url_domain = bypass_url_domain_with_scheme;
    }
    std::string* url_compare_reference = &url_domain;
    size_t port_colon = bypass_url_domain.rfind(":");
    if (port_colon > scheme_colon) {
      // If our match pattern includes a colon followed by a digit,
      // and either it's preceded by ']' (IPv6 with port)
      // or has no other colon (IPv4),
      // then match against <domain>:<port>.
      // TODO(sdoyon): straighten this out, in particular the IPv6 brackets,
      // and do the parsing in ProxyConfig when we do the CIDR matching
      // mentioned below.
      std::string::const_iterator domain_begin =
          bypass_url_domain.begin() + scheme_colon + 3;  // after ://
      std::string::const_iterator port_iter =
          bypass_url_domain.begin() + port_colon;
      std::string::const_iterator end = bypass_url_domain.end();
      if ((port_iter + 1) < end && IsAsciiDigit(*(port_iter + 1)) &&
          (*(port_iter - 1) == ']' ||
           std::find(domain_begin, port_iter, ':') == port_iter))
        url_compare_reference = &url_domain_and_port;
    }

    StringToLowerASCII(&bypass_url_domain);

    if (MatchPattern(*url_compare_reference, bypass_url_domain))
      return true;

    // Some systems (the Mac, for example) allow CIDR-style specification of
    // proxy bypass for IP-specified hosts (e.g.  "10.0.0.0/8"; see
    // http://www.tcd.ie/iss/internet/osx_proxy.php for a real-world example).
    // That's kinda cool so we'll provide that for everyone.
    // TODO(avi): implement here. See: http://crbug.com/9835.
    // IP addresses ought to be canonicalized for comparison (whether
    // with CIDR, port, or IP address alone).
  }

  return false;
}

SyncProxyServiceHelper::SyncProxyServiceHelper(MessageLoop* io_message_loop,
                                               ProxyService* proxy_service)
    : io_message_loop_(io_message_loop),
      proxy_service_(proxy_service),
      event_(false, false),
      ALLOW_THIS_IN_INITIALIZER_LIST(callback_(
          this, &SyncProxyServiceHelper::OnCompletion)) {
  DCHECK(io_message_loop_ != MessageLoop::current());
}

int SyncProxyServiceHelper::ResolveProxy(const GURL& url,
                                         ProxyInfo* proxy_info) {
  DCHECK(io_message_loop_ != MessageLoop::current());

  io_message_loop_->PostTask(FROM_HERE, NewRunnableMethod(
      this, &SyncProxyServiceHelper::StartAsyncResolve, url));

  event_.Wait();

  if (result_ == net::OK) {
    *proxy_info = proxy_info_;
  }
  return result_;
}

int SyncProxyServiceHelper::ReconsiderProxyAfterError(const GURL& url,
                                                      ProxyInfo* proxy_info) {
  DCHECK(io_message_loop_ != MessageLoop::current());

  io_message_loop_->PostTask(FROM_HERE, NewRunnableMethod(
      this, &SyncProxyServiceHelper::StartAsyncReconsider, url));

  event_.Wait();

  if (result_ == net::OK) {
    *proxy_info = proxy_info_;
  }
  return result_;
}

void SyncProxyServiceHelper::StartAsyncResolve(const GURL& url) {
  result_ = proxy_service_->ResolveProxy(url, &proxy_info_, &callback_, NULL);
  if (result_ != net::ERR_IO_PENDING) {
    OnCompletion(result_);
  }
}

void SyncProxyServiceHelper::StartAsyncReconsider(const GURL& url) {
  result_ = proxy_service_->ReconsiderProxyAfterError(
      url, &proxy_info_, &callback_, NULL);
  if (result_ != net::ERR_IO_PENDING) {
    OnCompletion(result_);
  }
}

void SyncProxyServiceHelper::OnCompletion(int rv) {
  result_ = rv;
  event_.Signal();
}

}  // namespace net


This reclining sofa set from Abbyson Living, consisting of a reclining sofa and armchair, makes a fine addition to any living room with its top-quality Italian leather upholstery. The frames of the sofa and armchair are crafted from sturdy, foam-encased hardwood, offering supreme comfort and support. The brass-colored nailhead trim adds just the right amount of embellishment for this rich brown sofa set.


At the core of every company's success lie its employees; In the complex and strongly fluctuating Chinese labour market the significance of hiring the right person becomes all the more apparent.
Competent and experienced in recruitment of talents, SCS can assist Member and Swiss Businesses in finding suitable candidates for company's operations in China, for long term employment as well as temporary positions. Moreover, SCS offers employee hosting services, providing your employees with an appropriate and professional environment to carry out their tasks.


text:
Settlement reached in ex-trainer's long-running defamation lawsuit against Roger Clemens
Jake Pearson, The Associated Press March 18, 2015
NEW YORK, N.Y. – A long-running defamation lawsuit against former Boston Red Sox and New York Yankees pitcher Roger Clemens by his ex-trainer has been settled for an undisclosed amount of money to be paid by his insurer, attorneys said Wednesday after meeting with a federal judge.
The deal, reached after closed-door negotiations before U.S. Magistrate Judge Cheryl L. Pollak in Brooklyn, will not require the seven-time Cy Young Award winner to contribute any money or release any claims against ex-trainer Brian McNamee, attorneys for both men said.
McNamee sued Clemens for defamation in 2008 after the pitcher said McNamee lied and manufactured evidence when he accused Clemens of using banned performance-enhancing drugs. The case was moved to federal court the following year.
Clemens didn't attend the settlement talks. His attorney Chip Babcock was disappointed he didn't get to try the case.
"And so is Mr. Clemens," he said.
McNamee's attorney Richard Emery said the agreement was fair and allowed everyone involved to move on.
"At this point it's water over the dam," he said. "It's high time. This is old news these days."
A spokesman for AIG, the insurer backing Clemens' homeowner's insurance policy, declined to comment.
That lawsuit alleged Clemens pursued a public-relations attack against McNamee after the onetime strength coach told federal agents and Congress he routinely injected the hard-throwing right-hander with steroids and human growth hormone from 1998 through 2001.
Clemens, who pitched until he was 45, has denied the charges and told ESPN McNamee's case was an example of "somebody out there that is really crawling up your back to make a buck."
Clemens, who also played for the Toronto Blue Jays and the Houston Astros in his two-decade-long career, was found not guilty in 2012 of charges of obstructing Congress, making false statements in a deposition and committing perjury when he denied using steroids or human growth hormone injected by McNamee.
On Wednesday, McNamee told reporters the deal hadn't sunk in.
"I got to digest this," he said. "I got to go home and have a good meal. Let me sit with it."


Kristoff takes is strongest blend to a new level with this massive 8.5 x 60 Homewrecker! The "Pistoff Kristoff" is a deceivingly strong, full-flavored cigar with a notable nutty character, spice toffee, toast and a long sweet finish. Do not let the smoothness of the cigar fool you: This one packs a punch!
This 200 year old blend is comprised of hand-stripped flue cured Zimbabwe leaf, steamed to a golden color then stoved into a unique melange of flavors. The aroma is of "Lemon Grass".
Ripe Red Virginias in ribbon form cured and aged via traditional methods...simple, right?
Made of Burley, Virginia and Black Cavendish.