Try out our Premium Member services: Virtual Legal Assistant, Query Alert Service and an ad-free experience. Free for one month and pay only if you like it.
IN THE HIGH COURT OF KERALA AT ERNAKULAM PRESENT: THE HONOURABLE MR.JUSTICE ANTONY DOMINIC FRIDAY, THE 5TH DAY OF OCTOBER 2012/13TH ASWINA 1934 WP(C).No. 20863 of 2012 (G) --------------------------- PETITIONER(S): ------------- JEYAPRASAD S.D., AGED 57 YEARS S/O.LATE SUKUMARAN DEVADAS, LUTETIA, CONCORDIA LANE PEROORKADA P.O., THIRUVANANTHAPURAM-695005. BY ADVS.SRI.JOSEPH KODIANTHARA (SR.) SRI.BABU JOSEPH KURUVATHAZHA SRI.T.K.BIJU (MANJINIKARA) RESPONDENT(S): -------------- GOVERNMENT OF KERALA REPRESENTED BY ITS PRINCIPAL SECRETARY TO GOVERNMENT DEPT. OF ENVIRONMENT, GOVT. SECRETARIAT THIRUVANANTHAPURAM-695001. Addl.2. SRI.JAMES VARGHESE PRINCIPAL SECRETARY TO THE GOVERNMENT ENVIRONMENT DEPARTMENT, GOVERNMENT OF KERALA THIRUVANANTHAPURAM.ADDL. R2 IS IMPLEADED SUO MOTU AS PER ORDER DATED 11/09/2012 . Addl.3. SIMON .K.FRANCIS DIRECTOR, M/S.CANON GRANITES PRIVATE LIMITED PERUMBILVAU.P.O., KUNNAMKULAM, THRISSUR DISTRICT.ADDL. R3 IS IMPLEADED AS PER ORDER DATED 27/09/2012 IN IA 12611/2012. RADDL.3 BY ADV. SRI.T.C.SURESH MENON RADDL.3 BY ADV. SRI.P.S.APPU RADDL.3 BY ADV. SRI.A.R.NIMOD RADDL.3 BY ADV. SRI.K.A.ANAS BY ADV.  TRUE COPY OF G.O.(MS) NO.104/2005/H & FWD DATED 16.4.2005 ISSUED BY THE RESPONDENT. EXHIBIT-P2. TRUE COPY OF THE REPORT BEARING NO.PCB/TSR/CA/85/97 DATED 28.5.2005 SENT BY THE ENVIRONMENTAL ENGINEER, PCB, THRISSUR. EXHIBIT-P3. TRUE COPY OF THE MEMO OF CHARGES BEARING NO.11787/A1/08/ENVT.DATED 31.10.2008 ALONG WITH STATEMENT OF ALLEGATIONS ISSUED BY THE RESPONDENT. EXHIBIT-P4. TRUE COPY OF THE EXPLANATION DATED 10.8.2009 SUBMITTED BY THE PETITIONER BEFORE THE RESPONDENT. EXHIBIT-P4(a).TRUE COPY OF G.O.(RT) NO.71/09/ENVT.DATED 31.8.2009 ISSUED BY THE RESPONDENT. EXHIBIT-P5.  EXHIBIT-P6.TRUE COPY OF THE ORDER NO.GO (RT) NO.22/10/ENVT.DATED 24.3.2010 ISSUED BY THE RESPONDENT. EXHIBIT-P7. TRUE COPY OF THE NOTICE NO.16664/A1/09-ENVT.DATED 27.3.2010 ISSUED BY THE RESPONDENT. EXHIBIT-P8. TRUE COPY OF THE JUDGMENT DATED 4.6.2010 IN W.A.NO.905/2010 OF THIS HON'BLE COURT. EXHIBIT-P9. TRUE COPY OF THE REVIEW PETITION DATED 24.4.2010 SUBMITTED BY THE PETITIONER BEFORE THE RESPONDENT. EXHIBIT-P10.TRUE COPY OF THE PROCEEDING NO.16664/A1/09 ENVT.DATED 14.6.2010, ISSUED BY THE RESPONDENT. EXHIBIT-P10(a).TRUE COPY OF THE JUDGMENT DATED 9.11.2010 IN W.P.(C) NO.11235/2010 OF THIS HON'BLE COURT. EXHIBIT-P11.TRUE COPY OF THE EXPLANATION DATED 20.11.2010, OFFERED BY THE PETITIONER BEFORE THE RESPONDENT. EXHIBIT-P12.TRUE COPY OF THE GO (MS) NO.03/10/ENVT. DATED 20.11.2010, ISSUED BY THE RESPONDENT. EXHIBIT-P12(a).TRUE COPY OF THE ORDER DATED 23.11.2010 IN SPECIAL LEAVE TO APPEAL (CIVIL) NOS.32394-32936/2010 OF THE HON'BLE SUPREME COURT OF INDIA. CONTD..2.. --2-- EXHIBIT-P13.TRUE COPY OF THE REVIEW PETITION DATED 3.12.2010 SUBMITTED BY THE PETITIONER BEFORE THE GOVERNMENT. EXHIBIT-P14.TRUE COPY OF THE JUDGMENT DATED 8.11.2011 IN W.P.(C) NO.25661/2011 OF THIS HON'BLE COURT. EXHIBIT-P15.TRUE COPY OF THE ORDER G.O.(RT) NO.119/12/ENVT. DATED 7.8.2012 ISSUED BY THE RESPONDENT. EXTS OF R2 EXT.R2(a): TRUE COPY OF THE ORDER ISSUED BY THE GOVERNMENT DATED 14.10.11. EXT.R2(a): GOVERNMENT LETTER NO.1652/A1/11/ENVT. DATED 4.11.11. //True Copy// PA to Judge Rp ANTONY DOMINIC, J. ================ W.P.(C) NO. 20863 OF 2012 =================== Dated this the 5th day of October, 2012 J U D G M E N T
In this writ petition, the prayers sought are to direct the 1st respondent to extend all benefits consequent to the annulling of Ext.P6 order by appropriate modification to Ext.P15 order and also to direct that the petitioner be allowed to continue as Member and Chairman of the Kerala State Pollution Control Board. A declaration that Ext.P12 order of the 1st respondent is void ab- initio is also sought for.
2. By Ext.P1 order dated 16/4/2005, the 1st respondent appointed the petitioner as Member Secretary of the Kerala State Pollution Control Board (hereinafter referred to as 'Board' for short). While the petitioner was continuing as Secretary, in relation to the trial run conducted in the industrial unit of M/s.Canon Granites Private Limited, Vigilance and Anti Corruption Bureau had registered VC No.7/05 against Sri.A.K.Surendran, Environmental Engineer of the Board. That trial run was conducted pursuant to the judgment of this court in WP(C) No. 19759/05 filed by M/S.Canon Granites Private Limited, WPC.No.20863/12 :2 : Subsequently, WP(C) No. 19757/05 was filed by the additional 3rd respondent alleging foul play by the VACB and pursuant to the orders passed by this Court, the investigation of the vigilance case was handed over to the Central Bureau of Investigation The CBI completed investigation and filed its final report. Based on the findings in the investigation report of the CBI, Ext.P3 memo of charges dated 31/10/2008 alleging violation of Rule 3 of the Kerala Civil Services (Classification, Control and Appeal) Rules, 1960 (hereinafter referred to as "the Rules" for short) and statement of allegations were issued to the petitioner. On receipt of the memo of charges and statement of allegations, petitioner filed Ext.P4 explanation. The Government adopted the summary procedure contemplated under Rule 16 read with Rule 11 of the Rules and concluded the disciplinary proceedings by Ext.P6 order dated 24/3/10 and a minor penalty of censure was awarded. This order gives the background of the disciplinary action and therefore, the relevant portion of the order, is extracted below for reference:-
The brief history of the case for which charges were levelled against him is as follows:
WPC.No.20863/12 :3 : Based on the complaint of Shri Simon K.Francis, Director, M/s.Canon Granites Pvt. Ltd., that Shri A.K.Surendran, Environmental Engineer, Kerala State Pollution Control Board, Trichur was demanding bribe of Rs.15 lakhs from him for not showing him official dis- favour in the matter of conducting trial run in the premises of M/s.Canon Granites Pvt. Ltd. And for giving favourable report, a case in VC 7/2005 was registered by Dy.SP, Vigilance & Anti Corruption Bureau, Trichur and a trap was laid on 28/5/2005 at about 7 pm in which one Shri P.Rajendran working in Sreebhavan Hotel, Ollur, received a packet containing Rs.2 lakhs from the complainant as per the directions of Shri A.K.Surendran communicated through one Shri K.N.Gopalakrishnan of Sreebhavan Hotel.
Upon coming to know of the said trap, Shri A.K.Surendran and other officials of Kerala State Pollution Control Board, Trichur, namely Smt.Sindhu Radhakrishnan, Assistant Environmental Engineer, Smt.Suseela Nair, Assistant Engineer, Smt.K.S.Vinaya, Assistant Engineer and Smt.Bindu Vinod, Junior Scientific Assistant on daily wages, agreed among themselves to create false defence documents to show as if an adverse report had already been sent against M/s.Canon Granites Pvt. Ltd. Before the passing of the bribe money and thereby that there was no motive for the bribe amount being taken on behalf of Shri Surendran and, in pursuance of the said agreement, the said officials namely Smt.Sindhu Radhakrishnan, Smt.Suseela Nair, Smt.K.S.Vinaya and Smt.Bindu Vinod unauthorisedly came to the District office of Kerala State Pollution Control Board, Trichur on 29/5/2005 (Sunday) and Smt.Sindhu Radhakrishnan, Smt.Suseela Nair, Smt.K.S.Vinaya created a letter falsely dated 28.5.2005 addressed to Standing counsel of Kerala State Pollution Control Board in the Honourable High Court of Kerala, Ernakulam, with a copy marked to the Member Secretary, Kerala State Pollution Control Board, Thiruvananthapuram conveying that the result of the conduct of the trial run at M/s Canon Granites (P) Ltd was adverse and Smt.Bindu Vinod falsely showed the dispatch of the said letter on 28/5/2005 in the dispatch register.
WPC.No.20863/12 :4 : The investigation of the said case was taken over by the Central Bureau of Investigation in compliance to the direction issued by the Honourable High Court of Kerala. During the CBI investigation, Shri Jeyaprasad has produced before the Investigating Officer, a photo copy of the said letter in which he has falsely and with the intention to support the false claim of Shri A.K.Surendran and others the said letter was dispatched on 28.5.2005, put his initial and date as 28/5 with the intention of showing that the said letter was received by him before the passing of the bribe money and thereby to make it appear that there was no motive for the bribe being received on behalf of Shri A.K.Surendran and falsely claimed before the Investigating officer that the said letter was received by him from Sri.A.K.Surendran on 28/5/2005, while passing through Trichur whereas the letter was made only on 29.5.2005 dispatched thereafter and reached the office of the Member Secretary, Kerala State Pollution Control Board only on 3/6/2005.
Shri SD Jeyaprasad in his written statement of defence read as 2nd paper above has denied the above charges and has requested to drop all further disciplinary proceedings initiated against him.
Government have examined the statement of defence furnished by Shri S.D.Jayaprasad with reference to connected records and found that the same is not satisfactory. Government also found that he had violated Rule 3 of Kerala Government Servants Conduct Rules, 1960, and hence he is found guilty of the charges levelled against him.
In the above circumstances Government order that the punishment of 'Censure' be imposed on Sri.S.D.Jayaprasad, Chairman, Kerala State Pollution Control Board under Rule II of Kerala Civil Services (Classification, Control & Appeal) Rules, 1960 for his above lapses, while holding the post of Member Secretary of Kerala State Pollution Control Board.
The disciplinary proceedings initiated as per the Memo of charges read as 1st paper above is disposed of as above."
WPC.No.20863/12 :5 :
3. In the meantime, despite the pendency of the disciplinary action against him, by Ext.P4(a) dated 31/8/2009, the 1st respondent appointed the petitioner as Chairman of the Board for a period of one year. While he was continuing as Chairman, Government issued Ext.P5 notification reconstituting the Board with the petitioner as the Chairman.
4. Subsequent to the issuance of Ext.P6 order of censure, Government issued Ext.P7 notice dated 27/3/2010 calling upon the petitioner to show cause against the proposal to issue orders amending the term of his appointment and to restrict it to 31/3/2010, so as to make it co-terminus with his date of normal retirement from the Board's service. Petitioner challenged Ext.P7 before this Court in WP(C) No. 11235/10. In that writ petition, this Court stayed the order, but gave liberty to the Government to take appropriate action in the matter. Against that direction, petitioner filed WA 905/10, which was disposed of by Ext.P8 judgment vacating the freedom given to the Government, and directing expeditious disposal of the writ petition itself.
5. While the matter was thus pending, petitioner filed WPC.No.20863/12 :6 : Ext.P9 review petition under Rule 35 of the Rules seeking review of Ext.P6 order awarding penalty of censure. While so, the Government issued Ext.P10 order dated 14/6/2010 by which Ext.P7 show cause notice was withdrawn and referring to the findings in Ext.P6 order imposing censure, petitioner was called upon to show cause why he shall not be removed from service. The relevant portion of Ext.P10 notice reads thus;
"Government is of the opinion that in view of the punishment awarded to you vide G.O cited 2nd above and considering that you have been proven guilty of a misconduct, which is nothing short of moral turpitude your continuance as a member and Chairman of the Kerala State Pollution Control Board is not in public interest.
Government proposes to remove you as member and Chairman of Kerala State Pollution Control Board as per Rule 5(3) of Water (Prevention and Control of Pollution) Act, 1974. You are directed to show cause if any against the proposed decision of Government within 15 days from the date of receipt of this notice. If your reply is not received within the time limit it will be presumed that you have no reply to furnish and further action will be taken accordingly."
6. Producing Exts.P6 and P10 as Exts.P19 and P24 and seeking to set aside both, petitioner filed WP(C) No. 20211/10 before this Court. The aforesaid two cases and the connected writ petitions and appeals were heard by a Division Bench of this Court. These cases were disposed of by Ext.P10(a) judgment WPC.No.20863/12 :7 : rendered on 9th of November 2010. That judgment narrates the entire history of the case and the relevant portion of the judgment, contained in paragraphs 9 to 22, are extracted for reference.
9. W.P.(C) No.20211 of 2010 is filed with the prayer as follows:
"i. issue a writ of certiorari or any other appropriate writ, order or direction quashing Exts.P19 and P24 orders;"
Exts.P19 and P24 which are impugned in the said writ petition are proceedings dated 24.03.2010 and 14.06.2010 respectively. Earlier of the two proceedings is a Government Order, GO(Rt) No.22/10/Envt. by which the Government decided to award the punishment of censure to Jayaparasad for the misconduct alleged in the memo of charges dated 31.10.2008 referred to earlier. It is already noticed that such a punishment was awarded following a summary procedure contemplated under Rule 16 of the Kerala Civil Services (Classification, Control and Appeal) Rules, 1960 without a regular departmental enquiry. The second of the abovementioned proceedings is a show cause notice consequent upon the imposition of punishment mentioned earlier. By the said proceedings, the Government called upon Jeyaprasad to show cause as to why he should not be removed from the office of the Chairman of the Kerala State Pollution Control Board.
10. Coming to W.P.(C) No.11235 of 2010, the prayers are as follows:
"i. issue a writ of certiorari or any other appropriate writ, order or direction quashing the operation and all further proceedings in pursuance to Ext.P6;
ii. issue a writ of mandamus or any other appropriate writ, order or direction commanding the respondents to permit the petitioner to continue to hold WPC.No.20863/12 :8 : the office of the Chairman of the Kerala State Pollution Control Board, until his term of office, as contemplated under Section 5(1) of Act 6 of 1974 and Section 7(1)of Act 14 of 1981 expires and the successor enters in office;" The impugned proceedings, Ext.P6 dated 27.03.2010, is already extracted earlier in this judgment. The substance of the said proceedings is that it is a notice calling upon Jeyaprasad to explain why his tenure as the Chairman of the Kerala State Pollution Control Board should not be confined to 31st March, 2010.
11. The main submission made in the said writ petition is regarding the competence of the State to reduce the tenure of the office as proposed in the show cause notice dated 27.03.2010. The submission is that under Section 7(1) of the Air(Prevention and Control of Pollution) Act, 1981 a member of the Board constituted under the said Act shall hold the office for a term of 3 years from the date on which his nomination is notified in the Official Gazette, therefore the tenure statutorily fixed cannot be curtailed by the Government.
12. Jeyaprasad was appointed as the Chairman of the Kerala State Pollution Control Board in exercise of the powers conferred on the Government of Kerala both under Section 4 (2) (a) of the Water (Prevention and Control of Pollution) Act, 1974 and Section 5 (2) (a) of the Air (Prevention and Control of Pollution) Act, 1981. Section 8 of the Air (Prevention and Control of Pollution) Act, 1981 and Section 6 of the Water (Prevention and Control of Pollution) Act, 1974 prescribed certain disqualifications. Both the Sections stipulate that no person who suffers any one of the specified disqualifications under either of the abovementioned Sections shall be a member of the State Pollution Control Board. Conviction for an offence which in the opinion of the Government involves moral turpitude is one of the disqualifications prescribed under both the enactments.
13. The allegations contained in the charge memo dated 31.10.2008, if proved against Jeyaprasad, would render Jeyaprasad guilty of an offence (fabricating false evidence) under Section 192 of the Indian Penal Code at the least and may also establish the commission of other WPC.No.20863/12 :9 : offences like abetment etc. We make it clear that we are not recording any conclusive finding that Jeyaprasad is guilty of any such offence but only indicate that allegations made against him, if proved, are likely to result in such a consequence. In spite of the gravity of the allegations the State of Kerala never thought it fit to register a crime against Jeyaprasad much less investigate the same.
14. The necessity to maintain the purity of the administration (in our opinion) squarely demands a proper investigation in accordance with law into such allegations and more particularly when the allegations are made by the State itself in a departmental proceedings. The primary responsibility of the State is to maintain law and order and also the constitutional obligation to provide a rational and clean governament oblige the State to investigate allegations of commission of crime whenever they come to the notice of the State. The State cannot act arbitrarily by selectively applying the law. That would be negation of the Rule of law. The background in which the allegations of fabrication of false evidence is made against Jeyaprasad is already noticed. The two cases against Surendran under the Prevention of Corruption Act are already being investigated by the Delhi Special Police Establishment [popularly known as Central Bureau of Investigation(CBI)] pursuant to an order of this Court dated 24.02.2006 in W.P.(C) No.19757 of 2005. In the context of the said case, the allegations against Jeyaprasad, in our opinion, may also give rise to a charge of abetment. The State does not come forward with any explanation as to why such allegations are never subjected to any investigation in accordance with law. On the other hand, the State of Kerala which had initiated a departmental proceeding against Jeyaprasad by issuing the charge memo dated 31.10.2008 strangely thought it fit to appoint him to be the Chairman of the Pollution Control Board by the order dated 31.08.2009 (some ten months after the initiation of the disciplinary proceedings), without concluding the same. Sections 8 and 6 of the Air and Water Pollution Control Acts positively disqualify persons found guilty of offences involving moral turpitude. The State cannot ignore the existence of such allegations which if proved would result in the conviction of a person for offences WPC.No.20863/12 :10 : involving moral turpitude, while choosing people to hold a responsible public office. We are therefore of the opinion that this is a fit case where the State should be directed to register a criminal case in accordance with law on the basis of the allegations made in the memo of charges dated 31.10.2008 framed against Jeyaprasad. We direct accordingly.
15. It is surprising to notice that while making appointments even to Class IV posts under the State the antecedents of the candidate are invariably verified, but in the instant case the State chose to ignore serious allegations existing on record in deciding the desirability of Jeyaprasad to a statutory high office. The statutory authority conferred on the State to appoint members of the Pollution Control Board necessarily implies an obligation on the part of the State to exercise that authority in good faith and the larger public interest. When the law prescribes definite disqualifications which render people suffering from such disqualifications unfit to hold public offices, the State cannot ignore the allegations which indicate the doubtful suitability of the person who is being considered for filling up a public office. Such conduct of the State would not be consistent with its constitutional obligations. It is that failure on the part of the State which gives rise to the present exorbitant claims of Jeyaprasad. Our Constitution designed with the high ideal of protecting the citizens from unfair and arbitrary exercise of State power can also be taken advantage of by citizens of doubtful credentials; when the various organs of the State wittingly or otherwise collaborate.
16. The learned counsel appearing for Jeyaprasad very strenuously argued that though the CBI filed a charge sheet against Surendran, it did not choose to make any indictment against Jeyaprasad and therefore the mere allegation in the charge memo may not be used as a factor for declining the exercise of jurisdiction under Article 226 of the Constitution of India.
17. We regret our inability to accept the submission. The fact that the CBI did not choose to make any indictment against Jeyaprasad in the final report is for an obvious reason that the case which was investigated WPC.No.20863/12 :11 : by the CBI was a case of definite allegations of violations of the provisions of Prevention of Corruption Act against Surendran. Such an investigation was taken up by the CBI pursuant to an order of this Court. There was never any occasion or authorization for the CBI to examine the conduct of Jeyaprasad.
18. The order of this Court entrusting investigation of the case by the CBI against Surendran came to be passed in W.P.(C) No.19757 of 2005 and same remained unchallenged by the State. The circumstances under which such an order came to be passed are explained in the common judgment dated 09.10.2009 in W.P.(C) Nos.36185/07 and 36205/07 which are the subject matter of the appeals, viz. WA Nos.211/10 and 181/10 and the same read as follows:
"Suspecting foul play by the VACB, the petitioner filed W.P.(C) No.19757/2005, seeking a C.B.I investigation, which was ordered by a Single Judge of this Court by judgment dated 15.7.2005, which was set aside by a Division Bench, on the ground that the 4th respondent was not heard before passing that order, directing the Single Judge to hear the matter afresh. The writ petition again came up before another learned Single Judge, who by judgment dated 24.2.2006, after hearing the 4th respondent also, directed the C.B.I. to take over the investigation, accepting the contention of the petitioner that the investigation by the VACB is not proceeding in the right direction, after referring also to the fate of the earlier case against the 4th respondent at the hands of the VACB. Pursuant to the same, the C.B.I. has charge sheeted the 4th respondent, which case is also pending."
19. The second submission made on behalf of Jeyaprasad that a mere allegation of wrong doing cannot disentitle him to seek the constitutional remedy under Article 226 requires an examination. In the normal circumstances the submission would be unexceptionable. But the consistent reluctance of the State in dealing with Jeyaprasad and Surendran in accordance with law, and in fact that at every stage this Court had to intervene to compel the State to act in accordance with law are factors which distinguish Jeyaprasad for a separate treatment. Apart from that the manner in which WPC.No.20863/12 :12 : Jeyaprasad dealt with Surendran in spite of the serious allegations against him is also a strong factor that should weigh with the Court in deciding whether the discretion should be exercised in his favour. We desist from explaining those factors for the reason that any observation in that regard is likely to have an adverse effect on the investigation of the crime to be registered against Jeyaprasad. Exercising the discretion under Article 226 in a case with such factual background in our view is likely to promote a misconception that the judicial branch of the Constitution is not different from the other branches. No misconception could do more lasting injury to this Court and to the system of law. It is immaterial whether justice is done or not to Jeyaprasad.
20. In the background of the facts narrated above the question arises whether this Court should really exercise the extraordinary jurisdiction vested in it by the Constitution under Article 226 to issue writs or orders in the nature of mandamus or certiorari. It is well settled that both the writs are discretionary in nature but not writs of right. The extraordinary jurisdiction is created for the protection of the fundamental rights of the subjects and to prevent the abuse of the State's power. The jurisdiction is to be exercised either for the enforcement of a legal right of the subject or the enforcement of the legal obligations of the State. Courts have recognised a number of exceptional circumstances which justify the refusal to exercise the jurisdiction even in those cases where there is a clearly established legal right or obligation.
21. We are of the opinion that exercising the jurisdiction under Article 226 in favour of a person whose credentials to hold a public office are highly doubtful and who would be disqualified to hold the public office in question if the allegations made against him are investigated and proved before a competent criminal court, would be not a sound exercise of the discretion vested in this Court under Article 226 of the Constitution of India.
22. For the above mentioned reasons, W.P.(C) No.20211 of 2010 is dismissed. For the same reasons, W.P.(C)No.11235 of 2010 is also dismissed. W.A. WPC.No.20863/12 :13 : No.1436 of 2010 which arises out of an order passed in I.A. No.10950 of 2010 in W.P.(C) No.11235 of 2010 should naturally stand dismissed consequent upon the dismissal of W.P.(C)No.11235 of 2010.
7. Aggrieved by Ext.P10(a) common judgment rendered by this Court, petitioner filed SLP Nos.32934 - 32936/10 before the Apex Court. In those SLPs, the Apex Court passed Ext.P12(a) order dated 23/11/2010 granting leave confining to the direction in Ext.P10(a), the Division Bench judgment, where it was directed that FIR should be registered against the petitioner and that direction alone was ordered to be stayed. The relevant portion of the order reads thus:-
"Issue notice confined to the question as to whether the Division Bench of the High Court was justified in issuing direction to the State for registration of a criminal case against the petitioner, returnable in four weeks".
8. Thus, by virtue of Ext.P10(a) judgment of the Division Bench of this Court, dismissing WP(C) No. 20211/10 and since the Apex Court did not grant leave against the said judgment, the punishment of censure imposed by Ext.P6 order has been upheld by this Court and the judgment has become final and binding on the parties.
9. Petitioner says that in the meanwhile, he filed Ext.P11 WPC.No.20863/12 :14 : dated 20/11/2010, a belated explanation to Ext.P10 show cause notice issued by the Government proposing his removal, which specifically required him to file explanation within 15 days. On 20/11/2010 itself, referring to reply dated 9/11/2010 filed by the petitioner, 1st respondent issued Ext.P12 order removing the petitioner from service. The relevant portion of this order reads thus;
"Sri.Jeyaprasad has furnished a reply on 9.11.2010 to the Show Cause notice dated 14.6.2010, requesting two week time to give explanation on the basis of judgment cited above, Government have found this reply unsatisfactory and is rejected. In view of the grave charges of misconduct and offences by Sri.S.D.Jeyaprasad proven in the CBI investigation and which is due for further police investigation as above and also considering the fact that his term of appointment as Chairman vide G.O. read as 1st above was for one year which has expired on 30.8.2010, the appointment of Sri.S.D.Jeyaprasad as Chairman and member of Kerala State Pollution Control Board is terminated with immediate effect under Section 5 (3) of Water (Prevention & Control of Pollution) Act, 1974. His appointment as Chairman under the Air (Prevention & Control of Pollution) Act is also terminated under Rule 8(1)(c) of the Air Act, 1981. Smt.P.Molikutty, Chief Environmental Engineer holding the charge of the Member Secretary, Kerala State Pollution Control Board shall assume the additional charge of Chairman, Kerala State Pollution Control Board forthwith, until further orders".
10. Long thereafter, on 26/9/11, petitioner filed WP(C) No. 25661/11 before this Court. In that writ petition, among others, WPC.No.20863/12 :15 : petitioner sought the following relief:-
" ii. Issue a writ of mandamus or any other appropriate writ, order or direction commanding the respondent to consider and dispose of Exts.P9 and P13 review petitions filed by the petitioner."
11. Ext.P9 mentioned in the prayer is Ext.P9 in this writ petition, which was filed by the petitioner seeking review of Ext.P6 order. Ext.P13 mentioned above is Ext.P13 herein, the review petition dated 3/12/2010, which the petitioner claimed to have filed, seeking the following prayer:-
"In the above circumstance, I would humbly pray that your esteemed authority may be pleased to conduct an enquiry into the allegations made against me in the 3rd referred memo of charges and statement of allegations and to review and reconsider the 7th referred order of censure, on the basis of the enquiry report and to cancel the operation of the last referred order, on the basis of the report of enquiry as may be conducted in pursuance to the 3rd referred proceeding, at the earliest, without any delay, for enabling me to continue as Chairman of the Board, for the remaining tenure of office."
12. The order sheet of WP(C) No. 25661/11 shows that the case came up for admission on 27/9/11 and was adjourned to 3/10/11 with a direction to the Government Pleader to obtain instructions. On 3/10/11, at the request of the learned Government Pleader, the case was posted to 18/10/11, when at the instance of the petitioner, the case was adjourned to WPC.No.20863/12 :16 : 21/10/11. On 21/10/11, again at the instance of the Government Pleader, the case was adjourned by two weeks and was finally disposed of on 8/11/11 by Ext.P14 judgment. In that judgment, on the basis that aggrieved by Ext.P12 order of termination, petitioner filed the review petition, this Court directed consideration of Ext.P13 review petition in accordance with law. It should be noticed that despite a prayer sought, this Court did not direct consideration of Ext.P9 seeking review of Ext.P6 order. In the purported compliance of the directions in Ext.P14 judgment, the additional 2nd respondent passed Ext.P15 order dated 7/8/12. By this order, he has annulled the penalty of censure imposed on the petitioner by Ext.P6, but however rejected the petitioner's prayer to cancel his removal as ordered in Ext.P12.
13. Ext.P15 Government Order, to the extent relevant, reads thus:
6. In compliance with the judgment read as 3rd paper above directing to dispose of the review petition submitted by Shri.S.D.Jeyaprasad after affording him a personal hearing, he was heard on 3/1/2012. As per his request to hear the witnesses of the handing over of the letter dated 28.5.2005 which is only question at issue in the case, the following persons, who were with the petitioner on 28.5.2005 at Thrissur were also heard:-
WPC.No.20863/12 :17 :
1. Shri.G.Jaya Prakash, then Board Member
2. Shri.Sudheer Babu, CEE, KSPCB (then EE, KSPCB)
3. Shri.M.Dileep Kumar, Director, Suchitwa Mission (then AAE, KSPCB).
4. Shri.Sukumar, then A.E, KSPCB (on deputation from F&B Department)
5. Shri.K.K.Abdul Rahuman, CEE (Rtd.), KSPCB
7. Government have examined the case in detail and came to the following findings:-
(i) The very premise that the dispatch of the letter on 28th May is helpful to the accused in the CBI case is not logical. Even if he head sent the report on 28th May 2005, he could have collected the bribe as the party (M/s.Canon Granites) would not be in the know of things. The knowledge of the party is more important from the point of view and had the accused in the CBI case created a record to show that the party was intimated about the existence of such a document, the argument would have had some force.
(ii) The eye witnesses testified to the effect that the district officer of Pollution Control Board had met the petitioner in this case at Trissur around 5 pm on 28.5.2005 and the dispute is whether the report was handed over at the time or not. It is not unlikely to have taken place.
(iii) Another pertinent issue is as to why CBI didn't enjoin the petitioner as an accused in the case if he had fabricated a document to save the accused. Fabrication of a document is a criminal act. Instead, they opted to recommend departmental action.
Recourse for a criminal act is not departmental action but is prosecution. It makes the case of the review petitioner stronger.
(iv) The evidences furnished by CBI are substantially weakened subsequently when WPC.No.20863/12 :18 : two employees of the Pollution Control Board Office, Trissur gave statements before Magistrate under Section 164 Cr.P.C to the effect that they have direct knowledge about the dispatching of the report on 28.5.2005 itself as claimed by the petitioner in this case.
8. In the light of the above, Government order that the decision to censure the petitioner be annulled retaining the option to reconsider the matter as and when the case charged by CBI is finally decided. In case the Court finds that the review petitioner is culpable (as can be inferred from the stand taken by the court about the veracity of the argument of CBI that the document purported to be executed on 28.5.2005 was actually typed and dispatched on 29.5.2005 only or later), Government could initiate even major penalty.
9. As regards his request for cancelling the operation of G.O(Ms) No.03/10/Envt. Dated 20.11.2010 terminating his appointment as Chairman and Member of the Kerala State Pollution Control Board cannot be considered in view of the unambiguous observations made by the Hon'ble High Court in its judgment dated 9.11.2010 in WP(C) No. 11235/10 filed by Shri.S.D.Jeyaprasad, and also as it is not a matter under consideration in this file."
14. It is on the strength of Ext.P15 order issued by the additional 2nd respondent, this writ petition is filed and the main relief sought is for his reinstatement as Chairman of the Board and other consequential prayers are also sought. When this writ petition was considered on 11th of September, 2012, this Court prima facie felt that the conduct of the officer who issued Ext.P15 WPC.No.20863/12 :19 : order amounted to contempt as defined in the Contempt of Courts Act. Therefore, he was impleaded as additional 2nd respondent and notice was issued and the 2nd respondent has filed his counter affidavit also.
15. Learned senior counsel contended that the service of the petitioner was terminated as per Ext.P12, based on the punishment of censure awarded to him as per Ext.P6. Therefore, according to him, since the censure imposed has been annulled by Ext.P15 order, the basis on which his service was terminated does not survive and as a consequence thereof, the petitioner is entitled to be reinstated in service and granted other reliefs that are sought for in the writ petition. To answer this contention of the petitioner, reference to Ext.P12, which discloses the reasons for his termination, is necessary. This order shows, that in addition to the grave misconducts that were found against the petitioner, Government have also stated that his appointment by Ext.P4(a) Government order was for one year and that the same has expired on 30/8/10. So long as that second order remains in force, even if it is assumed that for valid reasons, Ext.P6 has been WPC.No.20863/12 :20 : annulled, that does not result in a situation where Ext.P12 looses its efficacy. Therefore, this contention does not have any merit.
16. However, there is yet another, a more serious aspect of the matter, viz., whether Ext.P6 order could have been annulled by the 2nd respondent at all. When this question was raised, counsel for the petitioner vehemently contended that in Ext.P14 judgment, this Court directed consideration of Ext.P13 and that in Ext.P13, there was a prayer to reconsider the order of censure also. Therefore, according to the learned senior counsel, the 2nd respondent was well within his rights to reconsider Ext.P6 order also. In my view, this contention is totally untenable and deserves rejection for the following reasons;
(a) In Ext.P14 judgment, this Court only directed consideration of Ext.P13 and clarified that it shall be in accordance with law. Therefore, if legally, it was impermissible for the 2nd respondent to interfere with Ext.P6 order, he was duty bound to decline interference. Therefore, the fact that by Ext.P13 judgment, this Court directed consideration of a review petition does not mean that the statutory authority has the license to WPC.No.20863/12 :21 : abuse his position in the manner it was done in this case. The 2nd respondent should have remembered that in WP(C) No. 25661/11, the petitioner had also sought a prayer for consideration of Ext.P9 seeking review of Ext.P6 and that was not granted by this Court. Even that factual aspect was ignored by the 2nd respondent in his over enthusiasm in the matter.
(b) As already seen, Ext.P6 order has been upheld by this Court by dismissing WP(C) No. 20211/2010. Special leave sought by the petitioner was not granted by the Apex Court as is evident from Ext.P12(a) order. This shows that Ext.P6 order has attained finality in all respects. Once the order has attained finality in the hands of a constitutional court, thereafter, statutory authority cannot annul the order and thus nullify the effect of the binding judicial pronouncement.
(c) In the counter affidavit filed, 2nd respondent justifies review petition and consideration of Ext.P15 contending that it is the statutory right of a party to seek review. Therefore, according to him, Ext.P15 order was passed by him in exercise of the review powers available to the Government. Suffice it to say that the 2nd WPC.No.20863/12 :22 : respondent is making this assertion ignoring the fact that the punishment of censure had attained finality at the hands of this Court and Apex Court which have passed Ext.P10(a) judgment and Ext.P12(a) order, upholding the same and that he could not have thereafter tinkered with the order in any manner.
(d) That apart, unlike a routine administrative order, which could have been modified or even recalled in certain circumstances, even after it is upheld by a court of law, Ext.P6 is an order passed under Rule II of the Rules. In a case where such an order is upheld by this Court, a petition under Rule 35 seeking its review, could not have been considered thereafter, unless, permitted by this Court. Otherwise, inspite of the binding judgments rendered by Constitutional Courts, parties will be at liberty to pass fresh orders, upsetting the earlier ones upheld by Courts. Such a course, will be allowing judgments to be nullified and is impermissible. Therefore, the contention that right of review was available to the petitioner is no ground to sustain the order.
(e) In compliance with the order dated 11th September, WPC.No.20863/12 :23 : 2012, the additional 2nd respondent filed an affidavit and produced Ext.R2(a), the Government order dated 4/11/11 and in para 5 of the affidavit, he has stated that;
"the representation received dated 23/6/11 for review of the earlier orders on punishment and termination was rejected by Government vide communication dated 4/11/11."
Rule 35 of the Rules specifically provide that there shall be only one review and the above averments in the affidavit show that the review power was already invoked by the petitioner by his representation dated 23/6/11 and that was rejected by Ext.R2(a) order. Once a review petition was rejected by the additional 2nd respondent as per Ext.R2(a), he had no jurisdiction to entertain Ext.P13, which is a second application made for review of the order. In the counter affidavit, there is absolutely no explanation for overlooking the statutory prohibition against entertaining more than one application under Rule 35 of the Rules or for reaching a contradictory finding in Ext.P15 order.
(f) Ext.R2(a) order produced along with the counter affidavit refers to WP(C) No. 25661/11. That writ petition was disposed of by Ext.P14 judgment on 8/11/11 and that too after WPC.No.20863/12 :24 : adjourning the case atleast on four occasions for the Government Pleader to obtain instructions in the matter. Therefore, if Ext.R2(a) order was already passed on 4/11/11, and that too, on a different review petition, the 2nd respondent had the duty to appraise this Court of the same when the case was taken up for consideration on 8/11/11. Even if there was a failure on his part in doing so, the 2nd respondent should have sought review of the judgment by making an appropriate application before this court rather than taking refuge under the judgment and abuse his position.
(g) In the counter affidavit filed by the 2nd respondent, it is stated that;
"since Ext.P13 review petition dated 3/12/2010 was not traceable in this department, copy of the said review petition itself which was produced along with the writ petition was acted upon. This was so done because there was a peremptory direction by this Court in WP(C) No. 25661/11 to positively consider the review application."
In my view, this is a puerile justification. As I have already stated, before Ext.P14 judgment was rendered, 2nd respondent had various opportunities to inform this Court that Ext.P13 was not received by the Government. Even if he has not done so, he could have declined to consider Ext.P13 for its non receipt, or he WPC.No.20863/12 :25 : could have informed this Court of the unreceipt of Ext.P13, by seeking a review of the judgment. Both these courses were not adopted. Instead, the 2nd respondent has chosen to act upon a review application which was not received in the Government and even if it was received, the application was not a maintainable one. As a result, suppression of a material fact committed by the petitioner in obtaining Ext.P14 judgment went unnoticed.
(h) In his counter affidavit, 2nd respondent has placed reliance on the observation in Ext.P10(a) judgment that this Court did not record any conclusive finding that the petitioner is guilty of any offence. A bare reading of the judgment would show that such an observation was made in view of the direction to register FIR against the petitioner, so that investigating officers could investigate into the offences alleged against him, untramelled by the findings in the judgment. Therefore, the aforesaid statement in the judgment does not mean that it was open to the petitioner or the 2nd respondent to nullify the judgment in any manner. These show that attempt now made by the 2nd respondent is to misinterpret the judgment of this Court to bestow unmerited and WPC.No.20863/12 :26 : undeserved advantage to the petitioner, and one cannot be faulted, if conspiracy is suspected.
(i) The manner in which Ext.P13 was dealt with by the 2nd respondent, to say the least, is strange. Power of review is different from appellate power and the scope of an application for review is narrow and is to be sparingly used to correct errors apparent on the face of the record. Even if this traditional and settled principle regarding the scope of an application for review is relaxed, by no stretch of imagination can a reviewing authority collect fresh evidence while dealing with an application under Rule 35 of the Rules. Para 6 of Ext.P15 order shows that the 2nd respondent allowed examination of 5 witnesses, while considering Ext.P13. This procedure adopted is totally illegal and was without any jurisdiction.
17. For these reasons, I am of the view that the Government could not have issued Ext.P15 order annulling Ext.P6 order imposing penalty of censure.
18. This judgment will be incomplete, if I do not comment upon the conduct of the petitioner. Even in WP(C) No. 25661/11, WPC.No.20863/12 :27 : he has suppressed the representation dated 23/6/11 leading to Ext.R2(a) and obtained Ext.P14 judgment for the consideration of a review petition, which was not even received by the statutory authority. That fact has been suppressed in this writ petition also. Therefore, he is guilty of suppression of material facts and that his conduct deserves to be condemned.
19. In so far as the additional 2nd respondent is concerned, the background of this case has been fully explained in Ext.P10(a) judgment and therefore, it needs no reiteration. It is despite Ext.P10(a) and Ext.P12(a) order passed by the Apex Court confirming the same, he has now issued Ext.P15 annulling Ext.P6. The vehemence with which he has attempted to justify his conduct is reflected in his counter affidavit and it shows his anxiety to sustain Ext.P15 and also to justify his willful conduct. In Ext.P10(a) judgment, this Court held thus;
Our Constitution designed with the high ideal of protecting the citizens from unfair and arbitrary exercise of State power can also be taken advantage of by citizens of doubtful credentials; when the various organs of the State wittingly or otherwise collaborate.
20. Ext.P15 order proves that these statements in Ext.P10
(a) judgment were prophetic. Further the consistent reluctance of WPC.No.20863/12 :28 : the State to deal with the petitioner in accordance with law and that at every stage, this Court had to compel the State were taken note of in paragraph 19 of the judgment. It is in that background Ext.P15 order should be viewed. In my view, the conduct of the 2nd respondent as explained in the preceding paragraphs, prima facie, shows that he has interfered with administration of justice, and therefore is liable to be proceeded against under the Contempt of Courts Act. However, since the proceedings are in relation to Ext.P10(a) judgment rendered by a Division Bench, any decision in this matter has to be taken only by a Division Bench.
In the result, (1) Writ petition is dismissed. (2) Registry will place the papers before the appropriate
Bench dealing with cases under the Contempt of Courts Act to consider whether proceedings under the Contempt of Courts Act should be initiated against the additional 2nd respondent.
ANTONY DOMINIC, JUDGE Rp


| process {processx} | R Documentation |
Managing external processes from R is not trivial, and this
class aims to help with this deficiency. It is essentially a small
wrapper around the system
base R function, to return the process
id of the started process, and set its standard output and error
streams. The process id is then used to manage the process.
The poll_io()
function polls the standard output and standard
error connections of a process, with a timeout. If there is output
in either of them, or they are closed (e.g. because the process exits)
poll_io()
returns immediately.
In addition to polling a single process, the poll()
function
can poll the output of several processes, and returns as soon as any
of them has generated output (or exited).
processx kills processes that are not referenced any more (if cleanup
is set to TRUE
), or the whole subprocess tree (if cleanup_tree
is
also set to TRUE
).
The cleanup happens when the references of the processes object are
garbage collected. To clean up earlier, you can call the kill()
or
kill_tree()
method of the process(es), from an on.exit()
expression,
or an error handler:
process_manager <- function() { on.exit({ try(p1$kill(), silent = TRUE) try(p2$kill(), silent = TRUE) }, add = TRUE) p1 <- process$new("sleep", "3") p2 <- process$new("sleep", "10") p1$wait() p2$wait() } process_manager()
If you interrupt process_manager()
or an error happens then both p1
and p2
are cleaned up immediately. Their connections will also be
closed. The same happens at a regular exit.
new()
Start a new process in the background, and then return immediately.
process$new( command = NULL, args = character(), stdin = NULL, stdout = NULL, stderr = NULL, pty = FALSE, pty_options = list(), connections = list(), poll_connection = NULL, env = NULL, cleanup = TRUE, cleanup_tree = FALSE, wd = NULL, echo_cmd = FALSE, supervise = FALSE, windows_verbatim_args = FALSE, windows_hide_window = FALSE, windows_detached_process = !cleanup, encoding = "", post_process = NULL )
command
Character scalar, the command to run.
Note that this argument is not passed to a shell, so no
tilde-expansion or variable substitution is performed on it.
It should not be quoted with base::shQuote()
. See
base::normalizePath()
for tilde-expansion.
args
Character vector, arguments to the command. They will be passed to the process as is, without a shell transforming them, They don't need to be escaped.
stdin
What to do with the standard input. Possible values:
NULL
: set to the null device, i.e. no standard input is
provided;
a file name, use this file as standard input;
"|"
: create a (writeable) connection for stdin.
""
(empty string): inherit it from the main R process. If the
main R process does not have a standard input stream, e.g. in
RGui on Windows, then an error is thrown.
stdout
What to do with the standard output. Possible values:
NULL
: discard it;
a string, redirect it to this file;
"|"
: create a connection for it.
""
(empty string): inherit it from the main R process. If the
main R process does not have a standard output stream, e.g. in
RGui on Windows, then an error is thrown.
stderr
What to do with the standard error. Possible values:
NULL
: discard it;
a string, redirect it to this file;
"|"
: create a connection for it;
"2>&1"
: redirect it to the same connection (i.e. pipe or file)
as stdout
. "2>&1"
is a way to keep standard output and error
correctly interleaved.
""
(empty string): inherit it from the main R process. If the
main R process does not have a standard error stream, e.g. in
RGui on Windows, then an error is thrown.
pty
Whether to create a pseudo terminal (pty) for the
background process. This is currently only supported on Unix
systems, but not supported on Solaris.
If it is TRUE
, then the stdin
, stdout
and stderr
arguments
must be NULL
. If a pseudo terminal is created, then processx
will create pipes for standard input and standard output. There is
no separate pipe for standard error, because there is no way to
distinguish between stdout and stderr on a pty. Note that the
standard output connection of the pty is blocking, so we always
poll the standard output connection before reading from it using
the $read_output()
method. Also, because $read_output_lines()
could still block if no complete line is available, this function
always fails if the process has a pty. Use $read_output()
to
read from ptys.
pty_options
Unix pseudo terminal options, a named list. see
default_pty_options()
for details and defaults.
connections
A list of processx connections to pass to the child process. This is an experimental feature currently.
poll_connection
Whether to create an extra connection to the
process that allows polling, even if the standard input and
standard output are not pipes. If this is NULL
(the default),
then this connection will be only created if standard output and
standard error are not pipes, and connections
is an empty list.
If the poll connection is created, you can query it via
p$get_poll_connection()
and it is also included in the response
to p$poll_io()
and poll()
. The numeric file descriptor of the
poll connection comes right after stderr
(2), and the
connections listed in connections
.
env
Environment variables of the child process. If NULL
,
the parent's environment is inherited. On Windows, many programs
cannot function correctly if some environment variables are not
set, so we always set HOMEDRIVE
, HOMEPATH
, LOGONSERVER
,
PATH
, SYSTEMDRIVE
, SYSTEMROOT
, TEMP
, USERDOMAIN
,
USERNAME
, USERPROFILE
and WINDIR
. To append new environment
variables to the ones set in the current process, specify
"current"
in env
, without a name, and the appended ones with
names. The appended ones can overwrite the current ones.
cleanup
Whether to kill the process when the process
object is garbage collected.
cleanup_tree
Whether to kill the process and its child
process tree when the process
object is garbage collected.
wd
Working directory of the process. It must exist.
If NULL
, then the current working directory is used.
echo_cmd
Whether to print the command to the screen before running it.
supervise
Whether to register the process with a supervisor.
If TRUE
, the supervisor will ensure that the process is
killed when the R process exits.
windows_verbatim_args
Whether to omit quoting the arguments on Windows. It is ignored on other platforms.
windows_hide_window
Whether to hide the application's window on Windows. It is ignored on other platforms.
windows_detached_process
Whether to use the
DETACHED_PROCESS
flag on Windows. If this is TRUE
, then
the child process will have no attached console, even if the
parent had one.
encoding
The encoding to assume for stdin
, stdout
and
stderr
. By default the encoding of the current locale is
used. Note that processx
always reencodes the output of the
stdout
and stderr
streams in UTF-8 currently.
If you want to read them without any conversion, on all platforms,
specify "UTF-8"
as encoding.
post_process
An optional function to run when the process has
finished. Currently it only runs if $get_result()
is called.
It is only run once.
R6 object representing the process.
finalize()
Cleanup method that is called when the process
object is garbage
collected. If requested so in the process constructor, then it
eliminates all processes in the process's subprocess tree.
process$finalize()
kill()
Terminate the process. It also terminate all of its child
processes, except if they have created a new process group (on Unix),
or job object (on Windows). It returns TRUE
if the process
was terminated, and FALSE
if it was not (because it was
already finished/dead when processx
tried to terminate it).
process$kill(grace = 0.1, close_connections = TRUE)
grace
Currently not used.
close_connections
Whether to close standard input, standard output, standard error connections and the poll connection, after killing the process.
kill_tree()
Process tree cleanup. It terminates the process
(if still alive), together with any child (or grandchild, etc.)
processes. It uses the ps package, so that needs to be installed,
and ps needs to support the current platform as well. Process tree
cleanup works by marking the process with an environment variable,
which is inherited in all child processes. This allows finding
descendents, even if they are orphaned, i.e. they are not connected
to the root of the tree cleanup in the process tree any more.
$kill_tree()
returns a named integer vector of the process ids that
were killed, the names are the names of the processes (e.g. "sleep"
,
"notepad.exe"
, "Rterm.exe"
, etc.).
process$kill_tree(grace = 0.1, close_connections = TRUE)
grace
Currently not used.
close_connections
Whether to close standard input, standard output, standard error connections and the poll connection, after killing the process.
signal()
Send a signal to the process. On Windows only the
SIGINT
, SIGTERM
and SIGKILL
signals are interpreted,
and the special 0 signal. The first three all kill the process. The 0
signal returns TRUE
if the process is alive, and FALSE
otherwise. On Unix all signals are supported that the OS supports,
and the 0 signal as well.
process$signal(signal)
signal
An integer scalar, the id of the signal to send to
the process. See tools::pskill()
for the list of signals.
interrupt()
Send an interrupt to the process. On Unix this is a
SIGINT
signal, and it is usually equivalent to pressing CTRL+C at
the terminal prompt. On Windows, it is a CTRL+BREAK keypress.
Applications may catch these events. By default they will quit.
process$interrupt()
get_pid()
Query the process id.
process$get_pid()
Integer scalar, the process id of the process.
is_alive()
Check if the process is alive.
process$is_alive()
Logical scalar.
wait()
Wait until the process finishes, or a timeout happens.
Note that if the process never finishes, and the timeout is infinite
(the default), then R will never regain control. In some rare cases,
$wait()
might take a bit longer than specified to time out. This
happens on Unix, when another package overwrites the processx
SIGCHLD
signal handler, after the processx process has started.
One such package is parallel, if used with fork clusters, e.g.
through parallel::mcparallel()
.
process$wait(timeout = -1)
timeout
Timeout in milliseconds, for the wait or the I/O polling.
It returns the process itself, invisibly.
get_exit_status()
$get_exit_status
returns the exit code of the process if it has
finished and NULL
otherwise. On Unix, in some rare cases, the exit
status might be NA
. This happens if another package (or R itself)
overwrites the processx SIGCHLD
handler, after the processx process
has started. In these cases processx cannot determine the real exit
status of the process. One such package is parallel, if used with
fork clusters, e.g. through the parallel::mcparallel()
function.
process$get_exit_status()
format()
format(p)
or p$format()
creates a string representation of the
process, usually for printing.
process$format()
print()
print(p)
or p$print()
shows some information about the
process on the screen, whether it is running and it's process id, etc.
process$print()
get_start_time()
$get_start_time()
returns the time when the process was
started.
process$get_start_time()
is_supervised()
$is_supervised()
returns whether the process is being tracked by
supervisor process.
process$is_supervised()
supervise()
$supervise()
if passed TRUE
, tells the supervisor to start
tracking the process. If FALSE
, tells the supervisor to stop
tracking the process. Note that even if the supervisor is disabled
for a process, if it was started with cleanup = TRUE
, the process
will still be killed when the object is garbage collected.
process$supervise(status)
status
Whether to turn on of off the supervisor for this process.
read_output()
$read_output()
reads from the standard output connection of the
process. If the standard output connection was not requested, then
then it returns an error. It uses a non-blocking text connection. This
will work only if stdout="|"
was used. Otherwise, it will throw an
error.
process$read_output(n = -1)
n
Number of characters or lines to read.
read_error()
$read_error()
is similar to $read_output
, but it reads
from the standard error stream.
process$read_error(n = -1)
n
Number of characters or lines to read.
read_output_lines()
$read_output_lines()
reads lines from standard output connection
of the process. If the standard output connection was not requested,
then it returns an error. It uses a non-blocking text connection.
This will work only if stdout="|"
was used. Otherwise, it will
throw an error.
process$read_output_lines(n = -1)
n
Number of characters or lines to read.
read_error_lines()
$read_error_lines()
is similar to $read_output_lines
, but
it reads from the standard error stream.
process$read_error_lines(n = -1)
n
Number of characters or lines to read.
is_incomplete_output()
$is_incomplete_output()
return FALSE
if the other end of
the standard output connection was closed (most probably because the
process exited). It return TRUE
otherwise.
process$is_incomplete_output()
is_incomplete_error()
$is_incomplete_error()
return FALSE
if the other end of
the standard error connection was closed (most probably because the
process exited). It return TRUE
otherwise.
process$is_incomplete_error()
has_input_connection()
$has_input_connection()
return TRUE
if there is a connection
object for standard input; in other words, if stdout="|"
. It returns
FALSE
otherwise.
process$has_input_connection()
has_output_connection()
$has_output_connection()
returns TRUE
if there is a connection
object for standard output; in other words, if stdout="|"
. It returns
FALSE
otherwise.
process$has_output_connection()
has_error_connection()
$has_error_connection()
returns TRUE
if there is a connection
object for standard error; in other words, if stderr="|"
. It returns
FALSE
otherwise.
process$has_error_connection()
has_poll_connection()
$has_poll_connection()
return TRUE
if there is a poll connection,
FALSE
otherwise.
process$has_poll_connection()
get_input_connection()
$get_input_connection()
returns a connection object, to the
standard input stream of the process.
process$get_input_connection()
get_output_connection()
$get_output_connection()
returns a connection object, to the
standard output stream of the process.
process$get_output_connection()
get_error_connection()
$get_error_conneciton()
returns a connection object, to the
standard error stream of the process.
process$get_error_connection()
read_all_output()
$read_all_output()
waits for all standard output from the process.
It does not return until the process has finished.
Note that this process involves waiting for the process to finish,
polling for I/O and potentially several readLines()
calls.
It returns a character scalar. This will return content only if
stdout="|"
was used. Otherwise, it will throw an error.
process$read_all_output()
read_all_error()
$read_all_error()
waits for all standard error from the process.
It does not return until the process has finished.
Note that this process involves waiting for the process to finish,
polling for I/O and potentially several readLines()
calls.
It returns a character scalar. This will return content only if
stderr="|"
was used. Otherwise, it will throw an error.
process$read_all_error()
read_all_output_lines()
$read_all_output_lines()
waits for all standard output lines
from a process. It does not return until the process has finished.
Note that this process involves waiting for the process to finish,
polling for I/O and potentially several readLines()
calls.
It returns a character vector. This will return content only if
stdout="|"
was used. Otherwise, it will throw an error.
process$read_all_output_lines()
read_all_error_lines()
$read_all_error_lines()
waits for all standard error lines from
a process. It does not return until the process has finished.
Note that this process involves waiting for the process to finish,
polling for I/O and potentially several readLines()
calls.
It returns a character vector. This will return content only if
stderr="|"
was used. Otherwise, it will throw an error.
process$read_all_error_lines()
write_input()
$write_input()
writes the character vector (separated by sep
) to
the standard input of the process. It will be converted to the specified
encoding. This operation is non-blocking, and it will return, even if
the write fails (because the write buffer is full), or if it suceeds
partially (i.e. not the full string is written). It returns with a raw
vector, that contains the bytes that were not written. You can supply
this raw vector to $write_input()
again, until it is fully written,
and then the return value will be raw(0)
(invisibly).
process$write_input(str, sep = "\n")
str
Character or raw vector to write to the standard input
of the process. If a character vector with a marked encoding,
it will be converted to encoding
.
sep
Separator to add between str
elements if it is a
character vector. It is ignored if str
is a raw vector.
Leftover text (as a raw vector), that was not written.
get_input_file()
$get_input_file()
if the stdin
argument was a filename,
this returns the absolute path to the file. If stdin
was "|"
or
NULL
, this simply returns that value.
process$get_input_file()
get_output_file()
$get_output_file()
if the stdout
argument was a filename,
this returns the absolute path to the file. If stdout
was "|"
or
NULL
, this simply returns that value.
process$get_output_file()
get_error_file()
$get_error_file()
if the stderr
argument was a filename,
this returns the absolute path to the file. If stderr
was "|"
or
NULL
, this simply returns that value.
process$get_error_file()
poll_io()
$poll_io()
polls the process's connections for I/O. See more in
the Polling section, and see also the poll()
function
to poll on multiple processes.
process$poll_io(timeout)
timeout
Timeout in milliseconds, for the wait or the I/O polling.
get_poll_connection()
$get_poll_connetion()
returns the poll connection, if the process has
one.
process$get_poll_connection()
get_result()
$get_result()
returns the result of the post processesing function.
It can only be called once the process has finished. If the process has
no post-processing function, then NULL
is returned.
process$get_result()
as_ps_handle()
$as_ps_handle()
returns a ps::ps_handle object, corresponding to
the process.
process$as_ps_handle()
get_name()
Calls ps::ps_name()
to get the process name.
process$get_name()
get_exe()
Calls ps::ps_exe()
to get the path of the executable.
process$get_exe()
get_cmdline()
Calls ps::ps_cmdline()
to get the command line.
process$get_cmdline()
get_status()
Calls ps::ps_status()
to get the process status.
process$get_status()
get_username()
calls ps::ps_username()
to get the username.
process$get_username()
get_wd()
Calls ps::ps_cwd()
to get the current working directory.
process$get_wd()
get_cpu_times()
Calls ps::ps_cpu_times()
to get CPU usage data.
process$get_cpu_times()
get_memory_info()
Calls ps::ps_memory_info()
to get memory data.
process$get_memory_info()
suspend()
Calls ps::ps_suspend()
to suspend the process.
process$suspend()
resume()
Calls ps::ps_resume()
to resume a suspended process.
process$resume()
p <- process$new("sleep", "2") p$is_alive() p p$kill() p$is_alive() p <- process$new("sleep", "1") p$is_alive() Sys.sleep(2) p$is_alive()


getClass()
. If the class containing the synchronization is subclassed, the subclass will
synchronize on a different class object. Usually the call to getClass()
can be replaced with a class literal expression, for
example String.class
. An even better solution is synchronizing on a private static final
lock object, access to
which can be completely controlled.
Example:
synchronized(getClass()) {}New in 2016.2


mei_message
— MEI Modbus Messages¶
API Documentation¶
Encapsulated Interface (MEI) Transport Messages¶
-
class
pymodbus.mei_message.
ReadDeviceInformationRequest
(read_code=None, object_id=0, **kwargs)[source]¶ This function code allows reading the identification and additional information relative to the physical and functional description of a remote device, only.
The Read Device Identification interface is modeled as an address space composed of a set of addressable data elements. The data elements are called objects and an object Id identifies them.
-
__init__
(read_code=None, object_id=0, **kwargs)[source]¶ Initializes a new instance
Parameters: - read_code – The device information read code
- object_id – The object to read from
-
-
class
pymodbus.mei_message.
ReadDeviceInformationResponse
(read_code=None, information=None, **kwargs)[source]¶ -
classmethod
calculateRtuFrameSize
(buffer)[source]¶ Calculates the size of the message
Parameters: buffer – A buffer containing the data that have been received. Returns: The number of bytes in the response.
-
classmethod


| DOSE: |
2 lines |
insufflated |
Cocaine |
(powder / crystals) |
I have used meth on various occasions over the past six months. For me, it sharpens the mind and sustains the body when nothing else will do. I rarely use it in a recreational sense, reserving it for paper deadlines and chronic exhaustion. I had long wondered if positive cognitive effects could also be gleaned from cocaine.
Recently, I received an offer I couldn’t refuse. Days went by before I had the opportunity to actually try the cocaine I longed to sample. I prefer to err on the side of caution, fulfilling all necessary tasks and obligations before dabbling with any substance. Currently, I take no medications or supplements outside of oral birth control.
By the time I reached my friend's apartment, spirits were high. It was 10:45 when she broke out the mirror and razor blade. After producing a few lines, she did a gummer and invited me to do the same. Within 10 seconds, my lower jaw was numb and my tongue felt clumsy inside my mouth.
At 11:00, I insufflated a line of coke measuring approximately 1.25 inches in length. I was struck by its odor, so different from that of meth or even pharmaceutical amphetamines. My nasal passages felt as though they were crammed with cotton, a most unwelcome sensation.
By 11:10, I felt an odd, disjointed energy creep through me. It lacked the positive push and directed ambition that I typically experience with meth. I became more talkative and memories rose into consciousness. I felt stronger, sharper and more alert than before.
When the feeling subsided at midnight, I thanked my friend and bid her goodnight. I walked briskly to my car and headed back to my apartment. En route, I felt more edgy and impatient than usual. I am normally a mellow, patient individual and found this frightening. The rising hostility toward drunken pedestrians was more 'primal' than anything I experienced with meth.
At 12:20, I retreated to my room. I had no desire to speak with my roommate, as much as I enjoy her company. I normally chat for a bit, grab a beer and play with the pets before retiring, yet found myself too irritated to do any of this. It was a nonspecific, infantile aggravation that disturbed me.
I entertained myself with Instant Messenger for a bit before heading to bed. My body was exhausted, but my mind was still reeling. At the same time, my body felt 'tight', as though I were in attack mode. At around 1:30, I finally fell asleep.
At 8:00 the next morning, I was loath to wake up for class. My head felt heavy, as though I had a cold. My jaw was still tense and sore, as were most of my muscles. My head continued to pound with a raging tension headache throughout the day.
 Little annoyances and inconsiderate strangers were greatly magnified in significance. I entertained aggressive notions in my head, and imagined myself perpetrating them against the offenders.
I felt psychologically shell-shocked and physically exhausted. Yet I learned several things from this experience: 1. For me, coke is not a cognitive enhancer. 2. Cocaine 'hangovers' are unpleasant.
In simple terms, cocaine is averse to my station in life. I find that it is prohibitively expensive and inefficient in comparison to meth. I have no desire to experiment with it further.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


Rockin’ Ruby
Kim
Burgerstand
@Burgestrand
Developer at Elabs.
Music streaming service
20+ million songs
Has a
C API
!
Hallon
swedish for raspberry
written in Ruby, using libspotify
support for
all C API calls
Hallon
metadata browsing
searching songs
user information
region toplists
Hallon
works on heroku!
http://hallon.herokuapp.com/
next slide
AND…
Thanks
@burgestrand
github.com/Burgestrand/Hallon
github.com/Burgestrand/hallon-heroku
github.com/Burgestrand/hallon-openal
github.com/Burgestrand/hallon-coreaudio


{% macro render_list_group(items, columns) -%}
This section lists all of the namespaces that are defined in the original BEL document.
| Keyword | URL |
|---|---|
| {{ key }} | {{ value }} |
The source BEL document contained references to the following namespaces, but they were never used. It is suggested to delete their definitions from the BEL document to improve readability and parsing speed.
{{ render_list_group(unused_namespaces) }} {% endif %} {% if naked_names is defined and naked_names|length > 0 %}Names referenced without a namespace are antithetical to reproducible science and data integration practices.
{{ render_list_group(naked_names) }} {% endif %} {% if undefined_namespaces is defined and undefined_namespaces|length > 0 %}The source BEL document contained references to the following namespaces, but they were never defined. Click the links to download them as enumerated namespaces, and update the BEL document accordingly.
{{ render_list_group(undefined_namespaces) }} {% endif %} {% if namespaces_with_incorrect_names is defined and namespaces_with_incorrect_names|length > 0 %}This section lists all of the annotations that are defined in the original BEL document.
| Keyword | URL |
|---|---|
| {{ key }} | {{ value }} |
The source BEL document contained references to the following annotations, but they were never used. It is suggested to delete their definitions from the BEL document to improve readability and parsing speed.
Note: this may be due to errors occurring in all statements with these annotations.
{{ render_list_group(unused_annotations) }} {% endif %} {% if graph.annotation_list|length > 0 %}
The source BEL document contained annotations defined as a list. Click each link to export
the list definition as a BELANNO
file that can hosted externally to promote
re-usability and interoperability. After, you can replace the list definition in the source
BEL with a SET ANNOTATION X AS URL "Y"
definition.
The source BEL document contained the following list annotations, but no references to the following values. It is suggested to prune these values from the list definitions.
Note: this may be due to errors occurring in all statements with these annotations.
| Annotation | Values |
|---|---|
| {{ annotation }} |
|
The source BEL document contained references to the following annotations, but they were never defined.
{{ render_list_group(undefined_annotations) }} {% endif %} {% endif %}| Error | Frequency |
|---|---|
{{ label }} |
{{ count }} |
| Path | Line | BEL | Message |
|---|---|---|---|
| {{ path }} | {{ exc.line_number }} | {{ exc.line }} |
{{ exc }} |
| Path | Line | BEL | Message |
|---|---|---|---|
| {{ path }} | {{ exc.line_number }} | {{ exc.line }} |
{{ exc }} |


 More...
|
| |
| virtual TBuilder | Number (double number) |
| | The Number (double) to initialize this field with. More...
|
| |
| virtual TBuilder | ConstrainEmptyValue (bool constrainEmptyValue) |
| | If true then EmptyValue will be constrained by MinValue More...
|
| |
| virtual TBuilder | AllowExponential (bool allowExponential) |
| | Set to false to disallow Exponential number notation (defaults to true). More...
|
| |
| virtual TBuilder | AllowDecimals (bool allowDecimals) |
| | False to disallow decimal values (defaults to true). More...
|
| |
| virtual TBuilder | AutoStripChars (bool autoStripChars) |
| | True to automatically strip not allowed characters from the field. Defaults to false More...
|
| |
| virtual TBuilder | BaseChars (string baseChars) |
| | The base set of characters to evaluate as valid numbers (defaults to '0123456789'). More...
|
| |
| virtual TBuilder | DecimalPrecision (int decimalPrecision) |
| | The maximum precision to display after the decimal separator (defaults to 2). More...
|
| |
| virtual TBuilder | DecimalSeparator (string decimalSeparator) |
| | Character(s) to allow as the decimal separator (defaults to '.'). More...
|
| |
| virtual TBuilder | MaxText (string maxText) |
| | Error text to display if the maximum value validation fails (defaults to 'The maximum value for this field is {0}'). More...
|
| |
| virtual TBuilder | MaxValue (Double maxValue) |
| | The maximum allowed value (defaults to Number.MAX_VALUE). Will be used by the field's validation logic, and for enabling/disabling the up spinner button. More...
|
| |
| virtual TBuilder | MinText (string minText) |
| | Error text to display if the minimum value validation fails (defaults to 'The minimum value for this field is {0}'). More...
|
| |
| virtual TBuilder | MinValue (Double minValue) |
| | The minimum allowed value (defaults to Number.NEGATIVE_INFINITY). Will be used by the field's validation logic, and for enabling/disabling the down spinner button. More...
|
| |
| virtual TBuilder | NanText (string nanText) |
| | Error text to display if the value is not a valid number. For example, this can happen if a valid character like '.' or '-' is left in the field with no number (defaults to '{0} is not a valid number'). More...
|
| |
| virtual TBuilder | NegativeText (string negativeText) |
| | Error text to display if the value is negative and minValue is set to 0. This is used instead of the minText in that circumstance only. Defaults to: "The value cannot be negative" More...
|
| |
| virtual TBuilder | Step (double step) |
| | Specifies a numeric interval by which the field's value will be incremented or decremented when the user invokes the spinner. Defaults to 1. More...
|
| |
| virtual TBuilder | TrimTrailedZeros (bool trimTrailedZeros) |
| | False to disallow trim trailed zeros. More...
|
| |
| virtual TBuilder | SubmitLocaleSeparator (bool submitLocaleSeparator) |
| | False to ensure that the getSubmitValue method strips always uses . as the separator, regardless of the decimalSeparator configuration. Defaults to: true More...
|
| |


Welcome to Clarity Addons demo application. Here you will find a list of all Clarity addon components, including work in progress.
Click on one of the components in the side navigation to explore more!


CarFreeAtoZ is here to help you think about your travel options. How can you commute to work? Get to school? Go to the store? Explore the wide range of modes available to you! Compare costs, save your trips and find a better way to go.
We are improving our tools and would love your feedback!


|
MeterLogger
|
#include <mqtt/include/ringbuf.h>
Data Fields | |
| U8 * | p_o |
| U8 *volatile | p_r |
| U8 *volatile | p_w |
| volatile I32 | fill_cnt |
| I32 | size |
| volatile I32 RINGBUF::fill_cnt |
Number of filled slots
Definition at line 11 of file ringbuf.h.
Referenced by MQTT_OnTimeout(), MQTT_Ping(), MQTT_Publish(), QUEUE_IsEmpty(), QUEUE_Puts(), RINGBUF_Get(), RINGBUF_Init(), and RINGBUF_Put().
| U8* RINGBUF::p_o |
Original pointer
Definition at line 8 of file ringbuf.h.
Referenced by MQTT_OnTimeout(), RINGBUF_Get(), RINGBUF_Init(), and RINGBUF_Put().
| U8* volatile RINGBUF::p_r |
Read pointer
Definition at line 9 of file ringbuf.h.
Referenced by MQTT_OnTimeout(), QUEUE_Puts(), RINGBUF_Get(), and RINGBUF_Init().
| U8* volatile RINGBUF::p_w |
Write pointer
Definition at line 10 of file ringbuf.h.
Referenced by MQTT_OnTimeout(), QUEUE_Puts(), RINGBUF_Init(), and RINGBUF_Put().
| I32 RINGBUF::size |
Buffer size
Definition at line 12 of file ringbuf.h.
Referenced by MQTT_OnTimeout(), MQTT_Ping(), MQTT_Publish(), RINGBUF_Get(), RINGBUF_Init(), and RINGBUF_Put().


---
layout: post
title: 12/27
date: '2012-12-28T01:07:00.001-07:00'
author: Jacob .
tags:
modified_time: '2012-12-30T23:08:18.370-07:00'
blogger_id: tag:blogger.com,1999:blog-6400085873105072120.post-3807015697293919829
blogger_orig_url: http://www.svlark.com/2012/12/1228.html
---
We put together a listing site for our house: 252switz.blogspot.com. It's not done, but it's a good start. We had a bite from another potential buyer, so we'll be preparing for a showing soon. That will give us the opportunity to get some more and better pictures.
-22.2 @ 249.0


Labour plan to raise government spending by 83 billion sterling
LONDON (Reuters) - Britain’s opposition Labour Party said on Thursday it would increase annual government spending by 82.9 billion pounds by the 2023/24 financial year if it wins Dec. 12’s national election, on top of increases in public investment.
Labour said in its manifesto that the extra spending would be fully covered by higher taxes on top earners and business.
The party said it would aim to run a balanced budget for non-investment spending after five years, and keep debt interest payments below 10% of tax revenues, but would waive these rules if the Bank of England restarted quantitative easing.


A set of classes and methods to set up and run multi-species, trait based and community size spectrum ecological models, focused on the marine environment.
| Version: | 1.0 |
| Depends: | R (≥ 3.4) |
| Imports: | deSolve, ggplot2, grid, methods, plyr, progress, Rcpp, reshape2 |
| LinkingTo: | Rcpp |
| Suggests: | testthat, roxygen2, knitr, shiny, shinyBS |
| Published: | 2018-05-02 |
| Author: | Finlay Scott [aut, cph], Julia Blanchard [aut, cph], Ken Andersen [aut, cph], Gustav Delius [ctb, cre], Richard Southwell [ctb] |
| Maintainer: | Gustav Delius <gustav.delius at york.ac.uk> |
| License: | GPL-3 |
| NeedsCompilation: | yes |
| Materials: | README NEWS |
| CRAN checks: | mizer results |
| Reference manual: | mizer.pdf |
| Vignettes: |
Introduction to mizer |
| Package source: | mizer_1.0.tar.gz |
| Windows binaries: | r-devel: mizer_1.0.zip, r-release: mizer_1.0.zip, r-oldrel: mizer_1.0.zip |
| OS X binaries: | r-release: mizer_0.4.tgz, r-oldrel: mizer_0.4.tgz |
| Old sources: | mizer archive |
Please use the canonical form https://CRAN.R-project.org/package=mizer to link to this page.


This site provides feeds of recent checklists for registered eBird users. It is experimental and is neither affiliated with nor sanctioned by the eBird team.
The code for this site is developed at https://github.com/ee1yae8i/myebirdfeed.
Last modified: Wed Aug 26 13:39:25 PDT 2015


utime
– time related functions¶
|see_cpython_module| python:time
.
The utime
module provides functions for getting the current time and date,
measuring time intervals, and for delays.
Time Epoch: Unix port uses standard for POSIX systems epoch of 1970-01-01 00:00:00 UTC. However, embedded ports use epoch of 2000-01-01 00:00:00 UTC.
Maintaining actual calendar date/time: This requires a
Real Time Clock (RTC). On systems with underlying OS (including some
RTOS), an RTC may be implicit. Setting and maintaining actual calendar
time is responsibility of OS/RTOS and is done outside of MicroPython,
it just uses OS API to query date/time. On baremetal ports however
system time depends on machine.RTC()
object. The current calendar time
may be set using machine.RTC().datetime(tuple)
function, and maintained
by following means:
By a backup battery (which may be an additional, optional component for a particular board).
Using networked time protocol (requires setup by a port/user).
Set manually by a user on each power-up (many boards then maintain RTC time across hard resets, though some may require setting it again in such case).
If actual calendar time is not maintained with a system/MicroPython RTC, functions below which require reference to current absolute time may behave not as expected.
Functions¶
-
utime.
localtime
([secs])¶ Convert a time expressed in seconds since the Epoch (see above) into an 8-tuple which contains: (year, month, mday, hour, minute, second, weekday, yearday) If secs is not provided or None, then the current time from the RTC is used.
year includes the century (for example 2014).
month is 1-12
mday is 1-31
hour is 0-23
minute is 0-59
second is 0-59
weekday is 0-6 for Mon-Sun
yearday is 1-366
-
utime.
mktime
()¶ This is inverse function of localtime. It’s argument is a full 8-tuple which expresses a time as per localtime. It returns an integer which is the number of seconds since Jan 1, 2000.
-
utime.
sleep
(seconds)¶ Sleep for the given number of seconds. Some boards may accept seconds as a floating-point number to sleep for a fractional number of seconds. Note that other boards may not accept a floating-point argument, for compatibility with them use sleep_ms() and sleep_us() functions.
-
utime.
sleep_ms
(ms)¶ Delay for given number of milliseconds, should be positive or 0.
-
utime.
sleep_us
(us)¶ Delay for given number of microseconds, should be positive or 0.
-
utime.
ticks_ms
()¶ Returns an increasing millisecond counter with an arbitrary reference point, that wraps around after some value.
The wrap-around value is not explicitly exposed, but we will refer to it as TICKS_MAX to simplify discussion. Period of the values is TICKS_PERIOD = TICKS_MAX + 1. TICKS_PERIOD is guaranteed to be a power of two, but otherwise may differ from port to port. The same period value is used for all of ticks_ms(), ticks_us(), ticks_cpu() functions (for simplicity). Thus, these functions will return a value in range [0 .. TICKS_MAX], inclusive, total TICKS_PERIOD values. Note that only non-negative values are used. For the most part, you should treat values returned by these functions as opaque. The only operations available for them are ticks_diff() and ticks_add() functions described below.
Note: Performing standard mathematical operations (+, -) or relational operators (<, <=, >, >=) directly on these value will lead to invalid result. Performing mathematical operations and then passing their results as arguments to ticks_diff() or ticks_add() will also lead to invalid results from the latter functions.
-
utime.
ticks_us
()¶ Just like ticks_ms() above, but in microseconds.
-
utime.
ticks_cpu
()¶ Similar to ticks_ms() and ticks_us(), but with the highest possible resolution in the system. This is usually CPU clocks, and that’s why the function is named that way. But it doesn’t have to be a CPU clock, some other timing source available in a system (e.g. high-resolution timer) can be used instead. The exact timing unit (resolution) of this function is not specified on
utime
module level, but documentation for a specific port may provide more specific information. This function is intended for very fine benchmarking or very tight real-time loops. Avoid using it in portable code.Availability: Not every port implements this function.
-
utime.
ticks_add
(ticks, delta)¶ Offset ticks value by a given number, which can be either positive or negative. Given a ticks value, this function allows to calculate ticks value delta ticks before or after it, following modular-arithmetic definition of tick values (see ticks_ms() above). ticks parameter must be a direct result of call to ticks_ms(), ticks_us(), or ticks_cpu() functions (or from previous call to ticks_add()). However, delta can be an arbitrary integer number or numeric expression. ticks_add() is useful for calculating deadlines for events/tasks. (Note: you must use ticks_diff() function to work with deadlines.)
Examples:
# Find out what ticks value there was 100ms ago print(ticks_add(time.ticks_ms(), -100)) # Calculate deadline for operation and test for it deadline = ticks_add(time.ticks_ms(), 200) while ticks_diff(deadline, time.ticks_ms()) > 0: do_a_little_of_something() # Find out TICKS_MAX used by this port print(ticks_add(0, -1))
-
utime.
ticks_diff
(ticks1, ticks2)¶ Measure ticks difference between values returned from ticks_ms(), ticks_us(), or ticks_cpu() functions, as a signed value which may wrap around.
The argument order is the same as for subtraction operator,
ticks_diff(ticks1, ticks2)
has the same meaning asticks1 - ticks2
. However, values returned by ticks_ms(), etc. functions may wrap around, so directly using subtraction on them will produce incorrect result. That is why ticks_diff() is needed, it implements modular (or more specifically, ring) arithmetics to produce correct result even for wrap-around values (as long as they not too distant inbetween, see below). The function returns signed value in the range [-TICKS_PERIOD/2 .. TICKS_PERIOD/2-1] (that’s a typical range definition for two’s-complement signed binary integers). If the result is negative, it means that ticks1 occurred earlier in time than ticks2. Otherwise, it means that ticks1 occurred after ticks2. This holds only if ticks1 and ticks2 are apart from each other for no more than TICKS_PERIOD/2-1 ticks. If that does not hold, incorrect result will be returned. Specifically, if two tick values are apart for TICKS_PERIOD/2-1 ticks, that value will be returned by the function. However, if TICKS_PERIOD/2 of real-time ticks has passed between them, the function will return -TICKS_PERIOD/2 instead, i.e. result value will wrap around to the negative range of possible values.Informal rationale of the constraints above: Suppose you are locked in a room with no means to monitor passing of time except a standard 12-notch clock. Then if you look at dial-plate now, and don’t look again for another 13 hours (e.g., if you fall for a long sleep), then once you finally look again, it may seem to you that only 1 hour has passed. To avoid this mistake, just look at the clock regularly. Your application should do the same. “Too long sleep” metaphor also maps directly to application behavior: don’t let your application run any single task for too long. Run tasks in steps, and do time-keeping inbetween.
ticks_diff() is designed to accommodate various usage patterns, among them:
Polling with timeout. In this case, the order of events is known, and you will deal only with positive results of ticks_diff():
# Wait for GPIO pin to be asserted, but at most 500us start = time.ticks_us() while pin.value() == 0: if time.ticks_diff(time.ticks_us(), start) > 500: raise TimeoutError
Scheduling events. In this case, ticks_diff() result may be negative if an event is overdue:
# This code snippet is not optimized now = time.ticks_ms() scheduled_time = task.scheduled_time() if ticks_diff(scheduled_time, now) > 0: print("Too early, let's nap") sleep_ms(ticks_diff(scheduled_time, now)) task.run() elif ticks_diff(scheduled_time, now) == 0: print("Right at time!") task.run() elif ticks_diff(scheduled_time, now) < 0: print("Oops, running late, tell task to run faster!") task.run(run_faster=true)
Note: Do not pass time() values to ticks_diff(), you should use normal mathematical operations on them. But note that time() may (and will) also overflow. This is known as https://en.wikipedia.org/wiki/Year_2038_problem .
-
utime.
time
()¶ Returns the number of seconds, as an integer, since the Epoch, assuming that underlying RTC is set and maintained as described above. If an RTC is not set, this function returns number of seconds since a port-specific reference point in time (for embedded boards without a battery-backed RTC, usually since power up or reset). If you want to develop portable MicroPython application, you should not rely on this function to provide higher than second precision. If you need higher precision, use ticks_ms() and ticks_us() functions, if you need calendar time, localtime() without an argument is a better choice.
Difference to CPython
In CPython, this function returns number of seconds since Unix epoch, 1970-01-01 00:00 UTC, as a floating-point, usually having microsecond precision. With MicroPython, only Unix port uses the same Epoch, and if floating-point precision allows, returns sub-second precision. Embedded hardware usually doesn’t have floating-point precision to represent both long time ranges and subsecond precision, so they use integer value with second precision. Some embedded hardware also lacks battery-powered RTC, so returns number of seconds since last power-up or from other relative, hardware-specific point (e.g. reset).


Craobh (pronouced croove
), is a well sheltered natural harbour on the coast of Argyll, south of Oban. The off lying islands of Jura, Scarba, Shuna, Seil, Luing and Mull all provide a wonderful cruising ground.
Ardfern, at the head of Loch Craignish, south of Craobh, is also a very sheltered spot.
Good anchorages are to be found E of Eilean Arsa, just S of Craobh Haven and in the area known as The Lagoon, between the island of Eilean Dubh and the mainland, in Loch Craignish.


I’m easy to find on the interwebs.
- Twitter: sascha_d - Get your daily dose of snark.
- IRC: sascha_d - Find me in #chef and ##infra-talk mostly.
- About Me: I have an About Me page on here. It’s empty, but not because I’m boring! I’ll fill it in soon.
- Github: Of course I have a github page. All the cool kids do.
- Email: You can always email me at<EMAIL_ADDRESS>- LinkedIn: Please review my LinkedIn profile if you’re curious about mundane things like professional history and what colleges didn’t kick me out. Actually, one on the list kicked me out of the dorms when I was a freshman, but that was so long ago. No really. Don’t judge me.


{% extends "main.html" %} {% block content %}
This is a thing about dinosaurs that will go on and on and on lalalalalalal dinosaurs dinosaurs dinosaurs dinosaurs dinosaurs okay okay more paragraph dinosaurs dinosaurs dinosaurs


Voice
: voice
(This feature, as defined currently, cannot correctly handle voice features on Turkish verbs.) See https://github.com/UniversalDependencies/docs/issues/197 for the discussion.
Pass
: passive voice
The subject of the verb is affected by the action (patient). The doer (agent) is either unexpressed or it appears as a noun phrase marked with postposition tarafından “by” or suffix -IncA.
In Turkish, a passive verb may get double passive suffixes, and intransitive verb may also be passivized. These result in a voice that is called impersonal passive. The verb’s valency is reduced to zero with impersonal passives constructions, the verb cannot have a subject. (TODO We probably need a different label for impersonal passives)
Examples
- Ev boyandı “The house was painted”
- Buradan düşülebilir “One may fall from here” (impersonal, intransitive verb passivized)
- Böyle lafa kır-ıl-ınır “[One] can be hurt by such words” (Double passive resulting in impersonal. Göksel & Kerslake 2005,p136)
Rcp
: reciprocal voice
A reciprocal verb describes an event in which two agents (or groups of agents) perform the same action upon each other.
The reciprocal is expressed by the suffix -Iş however, the verb roots that can become reciprocal is limited.
Examples
- görüştüler “they meet (lit: they see each other)”
Cau
: causative voice
In Turkish, that this is a feature of verbs. Not to be caused with causative case of nouns in some languages.
In causative constructions the subject is the entity “causing” the action. It generally translate to English as ‘cause/make/have/let/allow’ someone to perform action described by the main verb. Many (lexicalized) verbs that have unrelated roots in other languages are formed are related by the causative suffix in Turkish, e.g., öl- “die” and öl-dür “kill” (to cause someone to die). Causative suffix is quite productive. Multiple causative suffixes can be attached to a verb, and the number of causative suffixes are theoretically unbounded. In practice, however, the cases where more than two causative suffixes attached to a verb is rather rare. Often, two or more causative suffixes are used for emphasis and do not express multiple levels of causation.
(TODO: multiple causatives need a solution. See this issue for details.)
Examples
- Evi boya-t-tık “We had the house painted”
- Evi boya-t-tır-tık “We had someone to have the house painted”
Rfl
: reflexive voice
(Currently not in UD)
A verb in reflexive voice expresses an action that the agent of the action performs on himself/herself. This should not be confused with reflexive verbs in some languages where the verb requires a reflexive pronoun (often without a clear role) in the sentence.
The reciprocal is expressed by the suffix -In. Like reciprocal, reflexive is rather unproductive, and a very limited set of verbs can take the reflexive suffix.
Example
- yıkan “to wash oneself”
- giyin “to dress oneself”
Voice in other languages: [am] [ar] [bg] [bxr] [ca] [ckb] [cop] [cs] [cu] [da] [de] [el] [en] [es] [et] [eu] [fa] [fi] [fo] [fr] [ga] [gl] [got] [grc] [he] [hi] [hr] [hu] [id] [it] [ja] [kk] [kmr] [ko] [la] [lv] [mr] [nl] [no] [pl] [pt] [ro] [ru] [sa] [sk] [sla] [so] [sr] [sv] [swl] [ta] [tr] [u] [ug] [uk] [ur] [urj] [vi] [yue] [zh]


⚾ All players ⚾
⬆
⬇
Download as .CSV
Terrible
Poor
Ok
Good
Great
Exceptional
Choose an alternate color scheme:
Column explanation:
allergy
peanutAllergy
anticap
anticapitalism
chase
chasiness
cinnm
cinnamon
cold
coldness
cont
continuation
dead
deceased
float
buoyancy
fric
groundFriction
indlg
indulgence
laser
laserlikeness
martyr
martyrdom
moxie
moxie
muscl
musclitude
omnisc
omniscience
ruth
ruthlessness
soul
soul
ssper
shakespearianism
supp
suppression
tenac
tenaciousness
thrst
baseThirst
thwack
thwackability
tragic
tragicness
divin
divinity
fate
fate
fingers
totalFingers
op
overpowerment
pathtc
patheticism
prssr
pressurization
unthwk
unthwackability
watch
watchfulness
🧮
arbitrary metric of how big the player's numbers are compared to their star count


I'm Marc McCrevan, an aspiring 2D / 3D - Concept / Character artist studying Computer Game Design / Art at Becker College, in my Junior Year.
I'm also currently and an experienced Tour Guide and Teacher's Assistant for Becker College.
This is not ALL of my work, just some pieces that I enjoy. I update with more work all of the time, since I'm pretty much always buried in my sketchbook, sculpting in Zbrush, modeling in Maya, or painting in Photoshop.
Feel free to email me to provide some feedback on my work, to network with me, or to just say hello!