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.
1 REPORTABLE IN THE SUPREME COURT OF INDIA CIVIL APPELLATE JURISDICTION Civil Appeal No 7005 of 2017 Andhra Pradesh Pollution Control Board Appellant(s) Versus CCL Products (India) Limited Respondent(s) JUDGMENT
Dr Dhananjaya Y Chandrachud, J 1 Admit.
2 This appeal arises from a judgment of the National Green Tribunal 1 at its Southern Zone Bench at Chennai dated 16 August 2016. The Tribunal allowed the appeal of the respondent in part and held that the invocation of the bank guarantees furnished to the appellant at the behest of the respondent was unwarranted and that the amount should be refunded to the respondent. Signature Not Verified 3 Since reliefs in terms of the other prayers were declined by the Tribunal, Digitally signed by MANISH SETHI Date: 2019.07.31 17:24:04 IST Reason:
the issue which falls for consideration is whether the Tribunal was justified in interfering with the invocation of three bank guarantees issued to the appellant and 1 “Tribunal” 2 in directing the appellant to refund the amounts covered by them to the respondent.
4 The respondent commenced its operations in 1995 for the manufacture and sale of instant coffee. It was granted consent under the Water (Prevention and Control of Pollution) Act 1974. On 6 August 2008, the Union Government amended the Environment (Protection) Rules, 1986 to specify discharge standards for the coffee industry.
5 Complaints were received by the appellant and by the District Collector, Guntur in regard to the environmental pollution caused by the appellant. A notice to show cause was issued by the appellant to the respondent on 2 August 2011. A Task Force Committee was constituted by the appellant which, after hearing the respondent, issued directions to it on 12 August 2011. Based on the recommendations of the Task Force Committee, the following directions were issued to the respondent on 26 August 2011:
“Part A Improvement of existing system a. The industry shall submit the efficiency of the ETP for the treatment of effluents to the board standards. b. The Industry shall revamp the existing APC installed to the boilers to meet the board specified standards.
Part B a. Fixation of flow meters at various points to ensure continuous operation of existing systems b. The industry shall install separate energy meters for all the pollution control equipments installed and submit the records to the RO, Guntur every month.
Part C a. The industry shall store the treated effluents in lined lagoons only, for storing the effluents during rainy season. b. The industry shall use the treated effluents in industry’s own land.
c. The industry shall provide separate storm water drains so that the colored effluents do not mix with the rain water.3
d. The industry shall empty the stored effluents in unlined lagoons and lagoons shall be dismantled.
e. The industry shall not discharge any effluents outside the premises under any circumstances.
f. The industry shall submit an action plan for removal of colour within 30 days.” 6 In addition, the appellant directed the respondent to furnish three bank guarantees: two in the amount of Rs 10,00,000 each and the third in the amount of Rs 5,00,000 to secure compliance with the conditions specified in Part A, Part B and Part C above in regard to the functioning of the respondent. 7 On 6 September 2011, three bank guarantees executed by the State Bank of India were furnished to the appellant. The bank guarantee in the amount of Rs 5,00,000 was in order to secure compliance with the conditions stipulated in the consent for the establishment and operation of the respondent in terms of the applicable environmental standards. The bank guarantee covered Part C of the directions that were issued on 26 August 2011 which were embedded in the guarantee. The guarantee contained the following stipulation:
“In accordance to the norms laid down by the Board as committed by M/S CCL PRODUCTS (INDIA) LIMITED.
In pursuance of the above, we M/S. CCL PRODUCTS (INDIA) LIMITED, Guarantee the observance and performance by the company of the various terms and obligations as provided in the commitment made above and undertake to pay to the Board subject to a maximum sum not exceeding Rs 5,00,000/- (Rupees five lakhs only) on demand and in the event of company failing to comply with the above conditions/Directions.” The respondent further undertook that:
“Notwithstanding anything contain herein:
a) Our liability under this Bank Guarantee shall not exceed Rs. 5,00,000/-
b) This Bank Guarantee shall be valid upto 06.09.2013.
c) We are liable to pay the guaranteed amount any part thereof under this Bank Guarantee only and only if you serve 4 upon us a written claim or demand on or before 06.09.2013” 8 The second bank guarantee covered Part B of the stipulation which the Task Force Committee had required the respondent to fulfill on 26 August 2011. The bank guarantee contained the following stipulations:
“In pursuance to the above, we M/S. CCL PRODUCTS (INDIA) LIMITED, Guarantee the observance and performance by the company of the various terms and obligations as provided in the commitment made above and undertake to pay to the Board subject to a maximum sum not exceeding Rs. 10,00,000/- (Rupees Ten lakhs only) on demand and in the event of company failing to comply with the above conditions / Directions.
Out liability under the Guarantee is restricted to Rs. 10,00,000/- (Rupees Ten lakhs only). Our Guarantee shall remain in force until 06.09.2013, unless a suit or action to enforce a claim under this guarantee is filed in writing against us before the date of expiry, all our rights under this guarantee shall be forfeited and we shall be relieved and discharged from all liabilities whatsoever there under.” Notwithstanding anything contain herein:
a) Our liability under this Bank Guarantee shall not exceed Rs. 10,00,000/-
b) This Bank Guarantee shall be valid upto 06.09.2013.
c) We are liable to pay the guaranteed amount any part thereof under this Bank Guarantee only and only if you serve upon us a written claim or demand on or before 06.09.2013.” 9 The third bank guarantee in the amount of Rs 10,00,000 covered Part A of the stipulations which the Task Force Committee had required the respondent to fulfill on 26 August 2011.
The bank guarantee contained the following stipulation: “In pursuance to the above, we M/S CCL PRODUCTS (INDIA) LIMITED, Guarantee the observance and performance by the company of the various terms and obligations as provided in the commitment made above and undertake to pay to the Board subject to a maximum sum not exceeding Rs. 10,00,000/- (Rupees Ten lakhs only) on 5 demand and in the event of company failing to comply with the above conditions / Directions.
Our liability under the Guarantee is restricted to Rs. 10,00,000/- (Rupees Ten lakhs only). Our Guarantee shall remain in force until 06.09.2013, unless a suit or action to enforce a claim under this guarantee is filed in writing against us before the date of expiry, all our rights under this guarantee shall be forfeited and we shall be relieved and discharged from all liabilities whatsoever there under. Notwithstanding anything contain herein :
a) Our liability under this Bank Guarantee shall not exceed Rs. 10,00,000/-
b) This Bank Guarantee shall be valid upto 06.09.2013
c) We are liable to pay the guaranteed amount any part thereof under this Bank Guarantee only and only if you serve upon us a written claim or demand on or before 06.09.2013.” 10 On 12 September 2012, the appellant recorded in a communication to its Environmental Engineer in the regional office at Guntur that:
“The status of compliance of was reviewed in the Task Force Committee Meeting held on 07.03.2012 and directions were issued to the industry ….for compliance.
The Board officials inspected the industry on 21.07.2012 and 23.08.2012 and observed certain violations. In view of the non-compliance of the industry with the directions issued by the Board, it is decided to invoke the bank guarantee of Rs. 25 Lakhs in favour of the Board.
The EE, RO, Guntur is directed to address the Bank to invoke Bank Guarantee of Rs. 25.0 lakhs in favour of the Board and obtain the amount by way of Demand Draft drawn in favour of the Member Secretary, A.P. Pollution Control Board, Hyderabad immediately. The original bank guarantee is to be returned to the Bank after obtaining the demand draft.” In pursuance of the above communication, the bank guarantees were invoked on 12 September 2012 and the amount of Rs 25,00,000 covered by three bank guarantees was paid over to the appellant by the State Bank of India. 6 11 Aggrieved by the actions of the appellant invoking the bank guarantees, the respondent moved the Tribunal.
12 The Tribunal by its judgment dated 16 August 2016 held that the principles of natural justice were required to be followed prior to invoking the bank guarantees. Finding fault with the appellant for failing to do so, the Tribunal held that the invocation was unwarranted and the amount which has been received by the appellant should be refunded to the respondent. 13 In the view of the Tribunal, the purpose of the bank guarantees was not “commercial, contractual or industrial” since the guarantees were issued to secure compliance with the directions of the appellant regarding environmental norms that must be complied with by the respondent. Hence, it came to the conclusion that before invoking the bank guarantees, it was incumbent upon the appellant to serve a notice and to furnish a hearing to the respondent. 14 Assailing the judgment of the Tribunal, it has been urged by Mr T V S Raghavendra Sreyas, learned counsel appearing on behalf of the appellant that first, the Tribunal erred in applying the principles of natural justice as a condition to invoke the guarantees. This, it has been submitted, is contrary to the settled legal position. Second, it has been urged that the finding by the Tribunal that there was a breach on the part of the appellant to furnish a reasonable opportunity to the respondent is belied by the documentary material which shows that notices were issued by the appellant to the respondent and that the respondent was in fact heard by the Task Force Committee. Reliance was placed on the notice to show cause that was issued by the appellant on 9 January 2012 and the response filed by the respondent on 16 January 2012. Third, it was urged that even after the 7 invocation of the bank guarantees, the respondent addressed a letter dated 20 September 2012 to the appellant expressing its grievance against the invocation. Hence, it was submitted that the respondent cannot feign ignorance about the fact that the bank guarantees have been invoked. Finally, it was submitted that the appellant was constrained to issue a further direction to the respondent for furnishing an additional bank guarantee of Rs 77.50 lakhs on 12 September 2012, the date on which the bank guarantee was invoked. Insofar as this part of the direction is concerned, it was urged that the challenge was not pressed before the Tribunal. On these counts, it was urged that the Tribunal was in error in interfering with the invocation of the bank guarantees.
15 On the other hand, Mr Sajan Poovayya, learned Senior Counsel appearing on behalf of the respondent submitted that first, the tenor of the bank guarantees indicate that they were not unconditional. It was urged that the bank guarantees were furnished to secure compliance with the specific obligations which were imposed upon the respondent in Parts A, B and C of the Task Force Committee’s recommendation dated 26 August 2011. In the present case, it was urged that the demand which was made to the State Bank of India was not in terms of the conditions specified in the bank guarantees. Second, it was urged that the respondent has complied with the recommendations of the Task Force Committee and even at this stage, it would be appropriate if the Tribunal is called upon to verify compliance. Third, it was urged that the letter of invocation has emerged before this Court for the first time and had not been produced before the Tribunal. On these grounds, it was urged that the judgment of the Tribunal interfering with the invocation of the bank guarantees does not warrant interference. 8
16 At the outset, we must deal with the fundamental basis of the decision of the Tribunal in setting aside the invocation of the bank guarantee. The Tribunal held that the purpose of the bank guarantee was not commercial or industrial but was to secure compliance by the appellant with environmental norms that had been prescribed. Hence, in the view of the Tribunal, the appellant should have furnished a hearing to the respondent before the bank guarantees were invoked. 17 We are unable to subscribe to the legal position which has been formulated by the Tribunal. A bank guarantee constitutes an independent contract between the issuing bank and the beneficiary to whom the guarantee is issued. Such a contract is independent of the underlying contract between the beneficiary and the third party at whose behest the bank guarantee is issued. 18 The principle which we have adopted accords with a consistent line of precedent of this Court. In Ansal Engineering Projects Ltd. v Tehri Hydro Development Corporation Ltd,2 a three judge Bench of this Court held thus:
“4. It is settled law that bank guarantee is an independent and distinct contract between the bank and the beneficiary and is not qualified by the underlying transaction and the validity of the primary contract between the person at whose instance the bank guarantee was given and the beneficiary. Unless fraud or special equity exists, is pleaded and prima facie established by strong evidence as a triable issue, the beneficiary cannot be restrained from encashing the bank guarantee even if dispute between the beneficiary and the person at whose instance the bank guarantee was given by the bank, had arisen in performance of the contract or execution of the works undertaken in furtherance thereof. The bank unconditionally and irrevocably promised to pay, on demand, the amount of liability undertaken in the guarantee without any demur or dispute in terms of the bank guarantee…
5. …The court exercising its power cannot interfere with enforcement of bank guarantee/letters of credit except only in cases where fraud or special equity is prima facie made out in 2 (1996) 5 SCC 450 9 the case as triable issue by strong evidence so as to prevent irretrievable injustice to the parties.” The same principle was followed in State Bank of India v Mula Sahakari Sakhar Karkhana Ltd3 where a two judge Bench of this Court held thus:
“33. It is beyond any cavil that a bank guarantee must be construed on its own terms. It is considered to be a separate transaction.
34. If a construction, as was suggested by Mr Naphade, is to be accepted, it would also be open to a banker to put forward a case that absolute and unequivocal bank guarantee should be read as a conditional one having regard to circumstances attending thereto. It is, to our mind, impermissible in law.” A bank guarantee constitutes an independent contract. In Hindustan Construction Co. Ltd. v. State of Bihar4, a two judge Bench of this Court formulated the condition upon which the invocation of the bank guarantee depends in the following terms :
“9. What is important, therefore, is that the bank guarantee should be in unequivocal terms, unconditional and recite that the amount would be paid without demur or objection and irrespective of any dispute that might have cropped up or might have been pending between the beneficiary under the bank guarantee or the person on whose behalf the guarantee was furnished. The terms of the bank guarantee are, therefore, extremely material. Since the bank guarantee represents an independent contract between the bank and the beneficiary, both the parties would be bound by the terms thereof. The invocation, therefore, will have to be in accordance with the terms of the bank guarantee, or else, the invocation itself would be bad.” (Emphasis supplied) 19 The settled legal position which has emerged from the precedents of this Court is that absent a case of fraud, irretrievable injustice and special equities, the Court should not interfere with the invocation or encashment of a bank guarantee so long as the invocation was in terms of the bank guarantee.
3 (2006) 6 SCC 293 4 (1999) 8 SCC 436 10 20 In the present case, the bank undertook to the appellant that it would pay the guaranteed amount on demand, subject to the overall amount stipulated in each of the three bank guarantees. It was not for the bank to determine as to whether the invocation of the bank guarantees was justified so long as the invocation was in terms of the bank guarantee. A demand once made would oblige the bank to pay under the terms of the bank guarantee. The State Bank of India correctly understood its legal obligations and paid over the amount to the appellant. In this view of the matter and having regard to the terms of the bank guarantees, we are of the view that the principle of law which has been formulated by the Tribunal cannot be accepted as reflecting the correct legal position.
21 That apart, we are unable to accept the finding of the Tribunal that the respondent was kept in the dark on the invocation. It is evident that following the invocation of the bank guarantees, the respondent itself addressed a communication on 20 September 2012 to the Member Secretary of the appellant. The communication contains a specific reference to the invocation of the bank guarantees. That apart, it is evident from the material on the record that the appellant had issued a notice to show cause to the respondent to which the respondent also submitted a response. The purpose and object of the bank guarantees was to enable the appellant to secure compliance with environmental standards prescribed in accordance with law. The appellant has invoked the bank guarantees issued by the respondent because of the failure of the respondent to discharge the obligations imposed upon it by the Task Force Committee on 26 August 2011 11 22 For the above reasons, we are of the view that the Tribunal has erred in interfering with the invocation of the bank guarantees and in directing the appellant to refund the amount of Rs 25 lakhs covered by the three guarantees. While invoking the bank guarantees, the appellant has clearly adverted to the fact that the status of compliance was reviewed in the Task Force Committee Meeting; and that the officials of the appellant had inspected the industry and had observed certain violations. The invocation of the bank guarantees was therefore in terms of the conditions stipulated in the bank guarantees. 23 The invocation of the bank guarantees was the subject matter of the present appeal. We allow the appeal and set aside the impugned judgment and order of the Tribunal. There shall be no order as to costs. 24 Pending application(s), if any, shall stand disposed of.
…..…………................................J.  Respondent(s)
Date : 22-07-2019 This appeal was called on for hearing today. CORAM :
HON'BLE DR. JUSTICE D.Y. CHANDRACHUD HON'BLE MS. JUSTICE INDIRA BANERJEE For Appellant(s) Mr. T. V. S. Raghavendra Sreyas, AOR Mrs. Gayatri Gulati Sreyas, Adv.
Ms. Sneh Dhillon, Adv.
For Respondent(s) Mr. Sajan Poovayya, Sr. Adv.
Mr. G. Ramakrishna Prasad, AOR Mr. Suyodhan Byrapaneni, Adv.
Ms. Pilza Moonis, Adv.
Ms. Priyanka M.P., Adv.
Mr. Pratibhanu Singh Kharola, Adv.
UPON hearing the counsel the Court made the following O R D E R Admit.
The appeal is allowed in terms of the signed reportable judgment.
Pending application(s), if any, shall stand disposed of.
(MANISH SETHI) (SAROJ KUMARI GAUR) COURT MASTER (SH) BRANCH OFFICER
(Signed reportable judgment is placed on the file)


ms (200 by default)
200
GitHub (Light) GitHub (Dark) One Dark Classic (Dark)
Top Right Bottom Left
Show user hovercards for myself
Show readme content for repos
Disable hovercards for projects


Welcome! This is the web's home of Jeff Industries. Below, we have our currently offered items for sale. Of course, you can also visit your local JeffMart in major metropolitan areas. However, for those of you living in more rural areas, you can have any Jeff Industries product delivered tight to your doorstep! We also have other projects for you to explore on this website. Simply click a tab on the Navbar to get started! (Please report any bugs to those listed in the Contact tab).


Jeff Hargarten is a data journalist for the Star Tribune focusing on data-driven reporting and visualization. He has covered elections, technology, criminal justice, demographics and public health.
<EMAIL_ADDRESS>612-673-4642
JeffHargarten
Jennifer Bjorhus is a reporter covering the environment for the Star Tribune. She was a business reporter for much of her career but in recent years focused on criminal justice issues, including police use of force and responses to sexual assault.
<EMAIL_ADDRESS>612-673-4683
jbjorhus
MaryJo Webster is the data editor for the Star Tribune. She teams up with reporters to analyze data for stories across a wide range of topics and beats.
<EMAIL_ADDRESS>612-673-1789
MaryJoWebster
Kelly Smith covers nonprofits/philanthropy for the Star Tribune and is based in Minneapolis. Since 2010, she’s covered Greater Minnesota on the state/region team, Hennepin County government, west metro suburban government and west metro K-12 education.
<EMAIL_ADDRESS>612-673-4141
kellystrib


The mod manager integration allows zMerge to integrate with your mod manager for the purpose of detecting assets, determining asset priority, and more.
| Setting | Description |
|---|---|
| Mod manager | The mod manager you want to integrate with. Supported mod managers are Mod Organizer 2, Mod Organizer, Vortex, and Nexus Mod Manager. |
| MO2 Instance | This is the name of the MO2 instance you want to integrate with. This setting is only available for when mod manager is set to Mod Organizer 2. |
| Mod manager path | The path to the folder where the mod manager executable is located. |
| Mod manager mods path | The path to the folder where the mod manager mod folders are located. |


Mark Murimi
Let's play!
Rules:
Ping Pong will count up to your number from 1 with the following exceptions:


The IPA provides the following chart for tonal notation which is quite self explanatory. A flat line indicates that the tone is level whereas a contour line indicates the shapes of contour tones. Relative to a vertical shaft, one can have a relatively clear idea how high a tone is relative to other tones.
The IPA also provides an alternative way of notating tones by putting accent marks on the vowels, as shown in the following picture.
It is noteworthy that there are other systems for tonal notation. Among them, Chao's (1930) System of Tone Letters is most common among Chinese linguists. Inspired by music, Chao uses a scale from 1 to 5 to indicate the lowest to the highest tone. Thus, by using a sequence of these numbers, one can effectively indicate the shape of any tone, contour or level. For example, [55] would indicate a high flat tone since it begins with the high tone [5] and ends with another high tone [5]; [51] would be a falling tone spanning the entire range starting for the high [5] to the low [1]. To listen to what these tones sound like, try clicking on any links below:
| Level tones |
| [55] |
| [44] |
| [33] |
| [22] |
| [11] |
| Rising tones |
| [15] |
| [35] |
| [13] |
|
| Falling tones |
| [51] |
| [53] |
| [31] |
|
| Concave tones |
| [214] |
| [535] |
|
|
The tones you hear above are artificially generated and hence are relatively easy to perceive. In actual language articulation, it is much harder to discern the contours of each tone. Classroom training is required to achieve that kind of competence. Below are some examples from the Cantonese syllable [fʌn].
| 紛 / 纷 | 墳 / 坟 |
| "colourful" | "grave" |
| [55] | [21] |
|
| 粉 | 憤 / 愤 |
| "powder" | "wrath" |
| [35] | [13] |
|
| 瞓 | 份 |
| "sleep" | "share" |
| [33] | [22] |
Linguists interested in tonal system of South American languages use a slightly different system. Like Chao, a numerical scale of 1-5 is used, except that for them 5 is the lowest tone and 1 the highest.


Are you a programmer who want to learn more about bits and bytes? Or do you just need to freshen up for your project? This cheatsheet is for you.


Dear {{ first_name }} {{ last_name }},
A Description of Duties and Allocation of Hours (DDAH) form has been created for your TA position for {{ position_code }} {{ position_title }}.
Please click the link below to view your and acknowledge receiving
your DDAH:
https://{{ url }}
If you have any questions or concerns about your DDAH, please contact your course supervisor first and not the TA coordinator.
Thanks!


Detectives ask public's help identifying burglary suspect from video
by Tabatha WethalMADISON, Wis. - Investigators are asking for the public's help in connection with an early-November burglary on Madison's east side.
The Madison Police Department said detectives are looking to identify the person seen in a home surveillance video of a break-in in the 1300 block of Acewood Boulevard on Nov. 2.
Police said that sometime between 3 p.m. and 8:30 p.m., a burglar got into the house through a sliding glass door.
The surveillance video police released shows a person wearing what appears to be a light-colored, hooded sweatshirt, dark-colored pants and light-colored athletic shoes.
According to the report, money was missing from the residence.
Anyone with information is asked to call the Madison Area Crime Stoppers at<PHONE_NUMBER>.


MDA 1.0 is an XML Schema implementation derived from ISO Geographic Information - Metadata - Part 1: Fundamentals. It includes elements to represent resources that may be aggregated and described by metadata records. The XML schema was encoded using the encoding rules described in ISO/TS 19139:2007, Clause 8.
NOTE: The namespace URI of MetaData Application (MDA) Version: 1.0 doesn't reflect the version number of the XML Schema Implementation. The policy of ISO/TC 211 has evolved in order to reflect the versioning of the XML Schema Implementation as part of the namespace URI.
mda.xsd is the root XML Schema document, i.e., the XML Schema document to be referenced by XML documents containing XML elements in the mda 1.0 namespace or by XML Schema documents importing the mda 1.0 namespace. This XML schema includes (indirectly) all the implemented concepts of the mda namespace, but it does not contain the declaration of any types.
NOTE: The XML Schemca for mda 1.0 are available here as part of a zip archive regrouping all the XML Schema Implementations defined in ISO/TS 19139:2007. They are also available for remote access on the ISO ITTF Repository.
metadataApplication.xsd implements the UML conceptual schema defined in ISO 19115-1, 6.2. It was created using the encoding rules defined in ISO 19118 and extended in ISO 19139 and contains the following classes: AbstractDS_Aggregate, DS_DataSet, DS_Initiative, DS_OtherAggregate, DS_Platform, DS_ProductionSeries, AbstractDS_Resource, DS_Sensor, DS_Series, and SV_Service
| Name | Standard Prefix | Namespace Location | Schema Location |
|---|---|---|---|
| md2 | http://www.isotc211.org/2005/md2/1.0/2013-06-24 | ../../md2/1.0/md2.xsd |
Written by writeHTMLFiles Version: 2014-03-10 at 2014-03-10T17:06:52.599-06:00


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 AMIT RAWAL TUESDAY, THE 04TH DAY OF FEBRUARY 2020 / 15TH MAGHA, 1941 WP(C).No.28532 OF 2019(N) PETITIONER: USHA.K AGED 57 YEARS PROPRIETOR, SIVAYA HI-TEC POULTRY FARM, KANNAN PARAMBIL, KATTANGAL P.O, KOZHIKODE 673 601 BY ADV.  R1 BY SRI.VINOD SINGH CHERIYAN R1 BY SRI.T.M.KHALID R1 BY SMT.K.P.SUSMITHA R2 BY T. NAVEEN, STANDING COUNSEL THIS WRIT PETITION (CIVIL) HAVING COME UP FOR ADMISSION ON 04.02.2020, THE COURT ON THE SAME DAY DELIVERED THE FOLLOWING: WP(C).No.28532 OF 2019(N) 2 JUDGMENT
The petitioner has, in the instant writ petition, sought for many reliefs but, during the course of argument, confined her prayer for issuance of an appropriate direction to the Appellate Authority, established under the Air (Prevention and Control of Pollution) Act, 1981, to take a decision on the appeal preferred against the order of the Kerala Pollution Control Board withdrawing the permission/consent granted on the premise that the petitioner was permitted to keep 250 chicken but exceeded the same. As a consequence thereon, the Secretary of Chathamangalam Panchayath issued the impugned Ext.P13 stop memo dated 26.09.2019.
2. Having heard the learned counsel for the petitioner, I am of the view that this writ petition can be disposed of with a direction to the 3 rd respondent Appellate Authority to decide the appeal preferred against the order of the competent authority, withdrawing the WP(C).No.28532 OF 2019(N) 3 permission/consent, as the decision would have a consequential effect upon the sustainability of the impugned order herein.
Let the Appellate Authority decide the appeal within a period of two months from the date of receipt of a certified copy of the judgment. In case the petitioner succeeds in the appeal the Secretary of the Chathamangalam Grama Panchayath will re-consider the issue, after affording an opportunity of hearing to the petitioner.
The writ petition stands disposed of.
 PCB/KKD/DO/6894/2016 DATED 02-03-2017 EXHIBIT P4 TRUE COPY OF THE BUILDING PERMIT NO.BL. NO 361/2017-17 ISSUED BY THE 1ST RESPONDENT DATED 19-03-2017 EXHIBIT P5 TRUE COPIES OF THE SHOW CAUSE NOTICE NO. PCB/KKD/DO/ACO/9164/2018 ISSUED BY THE 2ND RESPONDENT DATED 17-06-2019 EXHIBIT P6 TRUE COPY OF THE SHOW CAUSE NOTICE NO.
PCB/KKD/DO/ACO/9164/2018 ISSUED BY THE 2ND RESPONDENT DATED 23-07-2019 EXHIBIT P7 TRUE COPY OF THE REPLY BY THE PETITIONER TO THE EXT P6 SHOW CAUSE NOTICE DATED 03-08-2019 EXHIBIT P8 TRUE COPY OF THE RODER NO.
PCB/KKD/DO/ICO/9164/2018 ISSUED BY THE 2ND RESPONDENT DATED 14-08-2019 EXHIBIT P9 TRUE COPY OF THE STATUTORY APPEAL FILED BY THE PETITIONER BEFORE THE APPELLATE AUTHORITY UNDER SECTION 31 OF THE AIR (PREVENTION AND CONTROL OF POLLUTION) R/W RULE 34 OF THE RULES DATED 15-10-2019 WP(C).No.28532 OF 2019(N) 5 EXHIBIT P10 TRUE COPY OF THE NEWS ARTICLE DATED 24-03-2019 PUBLISHED IN MALAYALAM DAILIES EXHIBIT P10 A TRUE COPY OF THE NEWS ARTICLE DATED 08-09-2019 PUBLISHED IN MALAYALAM DAILIES EXHIBIT P11 TRUE COPY OF THE COMMUNICATION NO.
61/19 DATED 01-08-2019 BY VETERINARY SURGEON, GOVT. VETERINARY DISPENSARY, CHATHAMANGALAM EXHIBIT P12 TRUE COPY OF THE PHOTOGRAPH OF THE POULTRY FARM EXHIBIT P13 TRUE COPY OF THE NOTICE NO. B3-
5567/2019 ISSUED BY THE 1ST RESPONDENT DATED 26-09-2019 EXHIBIT P14 TRUE COPY OF THE REPLY/OBJECTION SUBMITTED BY THE PETITIONER TO THE EXT.P13 NOTICE ON 15-10-2019 RESPONDENTS' EXHIBITS:
EXHIBIT R4(a): TRUE COPY OF THE REPRESENTATION DATED 28/02/2018.
EXHIBIT R4(b): TRUE COPY OF THE REPRESENTATION DATED 02/03/2018.
EXHIBIT R4(c): TRUE COPY OF THE COMPLAINT DATED 07/05/2019.
EXHIBIT R4(d): TRUE COPY OF THE COMPLAINT DATED 26/09/2019.


--- layout: page title: Authorship, Worldview, and Identity in Medieval Europe ---
What did medieval authors know about their world? Were they parochial and focused on just their monastery, town, or kingdom? Or were they aware of the broader medieval Europe that modern historians write about? This collection brings the focus back to medieval authors to see how they described their world. While we see that each author certainly had their own biases, the vast majority of them did not view the world as constrained to their small piece of it. Instead, they talked about the wider world, and often they had informants or textual sources that informed them about the world, even if they did not visit it themselves. This volume shows that they also used similar ideas to create space and identity—whether talking about the desert, the holy land, or food practices in their texts. By examining medieval authors and their own perceptions of their world, this collection offers a framework for discussions of medieval Europe in the twenty-first century.


R/arear.R
plotLabelledMap.Rd
This can be used to pick out specific highlighted regions based on a filter, label it on a map using a short code, and provide a tabular lookup of label to full name.
plotLabelledMap( data, mapping, ..., labelMapping, labelStyle = list(), labelFilter = rank(-!!labelSort) <= labels, labelSort = str2lang(rlang::as_label(mapping$fill)), labels = 6, labelSize = 6, tableSize = 6, labelInset = c("both", "inset", "main") )
| data | A sf object with some data in it. If using facets this should be grouped. (and if it is grouped facetting will be automatically added) |
|---|---|
| mapping | the aesthetics as would be passed to geom_sf |
| ... | additional formatting parameters as would be passed to geom_sf (defaults to a thin grey line for the edge of the maps.) |
| labelMapping | the aesthetics of the label layer. This could include any aesthetics that apply to ggrepel::geom_label_repel other than x,y.. It must include a label aesthetic (which will go on the map) and a name aesthetic (which will go in the lookup table) |
| labelStyle | any additional formatting parameters that would be passed to ggrepel::geom_label_repel. Defaults to a blue label on a light transparent background which works for dark maps. A `list(segment.colour = "cyan", colour="cyan", fill=="#000000A0")` should give a cyan label on a dark transparent background which might work for lighter maps. |
| labelFilter | (optional) on what criteria should we select labels to display. by default it gives the top N labels as determined by the fill aesthetic. Bottom N can be achieved with `rank(!!labelSort)<=labels`. In general though any expression filter can be used on the data but bear in mind it will be interpreted in the context of the grouped data which has first sorted by the labelSort expression. |
| labelSort | (optional) how should we sort the labels before applying the labelFilter. This defaults to the descending order of the same variable that determines the fill of the main map. |
| labels | how many labels do you want, per facet. The default 6 is good for a small number of facets. This will be overridden if labelFilter is specified |
| labelSize | in points. |
| tableSize | the labels and their associated names from all facets will be assembled into a table as a ggplot/patchwork object. This defines the font size (in points) of this table. No other config is allowed. |
| labelInset | if a map has an zoomed in inset as produced by `popoutArea()`, for areas which are in both the main map and the inset you may wish to label only the zoomed area in the "inset", only the unzoomed area in the "main" map or "both". |
a list containing 4 items. Plot and legend may be added together to form a ggplot patchwork. e.g. `p = plotLabelledMap(...)` then `p$plot+ggplot2::scale_fill_viridis_c()+ggplot2::facet_wrap(dplyr::vars(...))+p$legend+patchwork::plot_annotation(taglevels="A")` to actually show the map.
a ggplot object showing a chloropleth (usually) which is defined by the main mapping aesthetics, with an overlaid labelling layer defined by the labelMapping aesthetics. This does not include fill or colour scales so you will probably want `plot+ggplot2::scale_fill_viridis_c()` or something similar to define the fill
a ggplot patchwork containing the lookup table from labels to names (as determined by the names aesthetic)
the filtered dataframe of the labels appearing in the labelling layer. The .x and .y columns are added which show where the label is placed on the main map. the .label and .name show the labels and names respectively
A function that returns a layer of the labels, formatted in same way as the main map. the labeller function takes optional xVar and yVar parameter which are columns in the sf object. These define the x and y aesthetics of the labeller and default to the same position as the main map. The labeller function can be used to add a labels layer to a different map, or to a different graph. This might be useful if you want to combine cartograms with points of interest and have them consistently labelled.


refraction_render.calcs.FlatNoRefraction¶
-
class
refraction_render.calcs.
FlatNoRefraction
[source]¶ Bases:
refraction_render.calcs.calculators.Calc
Calculator used for calculating rays on a flat earth in no atmosphere.
Methods
__init__
()Initialize FlatNoRefraction object.
solve_ivp
(d, h[, dh, alpha])Solve initial value problem for light rays.
-
solve_ivp
(d, h, dh=None, alpha=None, **kwargs)¶ Solve initial value problem for light rays.
- d: float
maximum distance to solve the light rays.
- h: array_like (n,)
initial height of rays.
- dh: array_like (n,), optional
initial derivatives of the rays.
- alpha: array_like (n,), optional
initial angle of the rays.
- **kwargs: optional
extra arguments which get passed into Fermat equation solver.
-


Make It
Happen
admin login
Create Task
Create new tasks, Define deadline, Assign it to your colleague
Create Task
Create new tasks, Define deadline, Assign it to your colleague
prev
Next
Login
Register
Male
Female


Class Matrix2D
Represents an affine tranformation matrix, and provides tools for constructing and concatenating matrixes.
Defined in: Matrix2D.js.
| Constructor Attributes | Constructor Name and Description |
|---|---|
|
Matrix2D(a, b, c, d, tx, ty)
Constructs a new Matrix2D instance.
|
| Field Attributes | Field Name and Description |
|---|---|
|
Position (0, 0) in a 3x3 affine transformation matrix.
|
|
|
Property representing the alpha that will be applied to a display object.
|
|
|
Position (0, 1) in a 3x3 affine transformation matrix.
|
|
|
Position (1, 0) in a 3x3 affine transformation matrix.
|
|
|
Property representing the compositeOperation that will be applied to a display object.
|
|
|
Position (1, 1) in a 3x3 affine transformation matrix.
|
|
| <static> |
Matrix2D.DEG_TO_RAD
Multiplier for converting degrees to radians.
|
| <static> |
Matrix2D.identity
An identity matrix, representing a null transformation.
|
|
Property representing the shadow that will be applied to a display object.
|
|
|
Position (2, 0) in a 3x3 affine transformation matrix.
|
|
|
Position (2, 1) in a 3x3 affine transformation matrix.
|
| Method Attributes | Method Name and Description |
|---|---|
|
appendMatrix(matrix)
Appends the specified matrix with this matrix.
|
|
|
appendProperties(alpha, shadow, compositeOperation)
Appends the specified visual properties to the current matrix.
|
|
|
appendTransform(x, y, scaleX, scaleY, rotation, skewX, skewY, regX, regY)
Generates matrix properties from the specified display object transform properties, and appends them with this matrix.
|
|
|
clone()
Returns a clone of this Matrix.
|
|
|
decompose(target)
Decomposes the matrix into transform properties (x, y, scaleX, scaleY, and rotation).
|
|
|
identity()
Sets the properties of the matrix to those of an identity matrix (one that applies a null transformation).
|
|
|
invert()
Inverts the matrix, causing it to perform the opposite transformation.
|
|
|
prepend(a, b, c, d, tx, ty)
Concatenates the specified matrix properties with this matrix.
|
|
|
prependMatrix(matrix)
Prepends the specified matrix with this matrix.
|
|
|
prependProperties(alpha, shadow, compositeOperation)
Prepends the specified visual properties to the current matrix.
|
|
|
prependTransform(x, y, scaleX, scaleY, rotation, skewX, skewY, regX, regY)
Generates matrix properties from the specified display object transform properties, and prepends them with this matrix.
|
|
|
rotate(angle)
Applies a rotation transformation to the matrix.
|
|
|
scale(x, y)
Applies a scale transformation to the matrix.
|
|
|
skew(skewX, skewY)
Applies a skew transformation to the matrix.
|
|
|
toString()
Returns a string representation of this object.
|
|
|
translate(x, y)
Translates the matrix on the x and y axes.
|
Class Detail
Matrix2D(a, b, c, d, tx, ty)
Constructs a new Matrix2D instance.
- Parameters:
- a
- Specifies the a property for the new matrix.
- b
- Specifies the b property for the new matrix.
- c
- Specifies the c property for the new matrix.
- d
- Specifies the d property for the new matrix.
- tx
- Specifies the tx property for the new matrix.
- ty
- Specifies the ty property for the new matrix.
Field Detail
a
Position (0, 0) in a 3x3 affine transformation matrix.
alpha
Property representing the alpha that will be applied to a display object. This is not part of matrix operations, but is used for operations like getConcatenatedMatrix to provide concatenated alpha values.
b
Position (0, 1) in a 3x3 affine transformation matrix.
c
Position (1, 0) in a 3x3 affine transformation matrix.
compositeOperation
Property representing the compositeOperation that will be applied to a display object. This is not part of matrix operations, but is used for operations like getConcatenatedMatrix to provide concatenated compositeOperation values.
d
Position (1, 1) in a 3x3 affine transformation matrix.
<static>
Matrix2D.DEG_TO_RAD
Multiplier for converting degrees to radians. Used internally by Matrix2D.
<static>
Matrix2D.identity
An identity matrix, representing a null transformation. Read-only.
shadow
Property representing the shadow that will be applied to a display object. This is not part of matrix operations, but is used for operations like getConcatenatedMatrix to provide concatenated shadow values.
tx
Position (2, 0) in a 3x3 affine transformation matrix.
ty
Position (2, 1) in a 3x3 affine transformation matrix.
Method Detail
appendMatrix(matrix)
Appends the specified matrix with this matrix.
- Parameters:
- matrix
appendProperties(alpha, shadow, compositeOperation)
Appends the specified visual properties to the current matrix.
- Parameters:
- alpha
- desired alpha value
- shadow
- desired shadow value
- compositeOperation
- desired composite operation value
appendTransform(x, y, scaleX, scaleY, rotation, skewX, skewY, regX, regY)
Generates matrix properties from the specified display object transform properties, and appends them with this matrix.
For example, you can use this to generate a matrix from a display object: var mtx = new Matrix2D(); mtx.appendTransform(o.x, o.y, o.scaleX, o.scaleY, o.rotation);
- Parameters:
- x
- y
- scaleX
- scaleY
- rotation
- skewX
- skewY
- regX
- Optional.
- regY
- Optional.
clone()
Returns a clone of this Matrix.
decompose(target)
Decomposes the matrix into transform properties (x, y, scaleX, scaleY, and rotation). Note that this these values
may not match the transform properties you used to generate the matrix, though they will produce the same visual
results.
- Parameters:
- target
- The object to apply the transform properties to. If null, then a new object will be returned.
identity()
Sets the properties of the matrix to those of an identity matrix (one that applies a null transformation).
invert()
Inverts the matrix, causing it to perform the opposite transformation.
prepend(a, b, c, d, tx, ty)
Concatenates the specified matrix properties with this matrix. You must provide values for all of the parameters.
- Parameters:
- a
- b
- c
- d
- tx
- ty
prependMatrix(matrix)
Prepends the specified matrix with this matrix.
- Parameters:
- matrix
prependProperties(alpha, shadow, compositeOperation)
Prepends the specified visual properties to the current matrix.
- Parameters:
- alpha
- desired alpha value
- shadow
- desired shadow value
- compositeOperation
- desired composite operation value
prependTransform(x, y, scaleX, scaleY, rotation, skewX, skewY, regX, regY)
Generates matrix properties from the specified display object transform properties, and prepends them with this matrix.
For example, you can use this to generate a matrix from a display object: var mtx = new Matrix2D(); mtx.prependTransform(o.x, o.y, o.scaleX, o.scaleY, o.rotation);
- Parameters:
- x
- y
- scaleX
- scaleY
- rotation
- skewX
- skewY
- regX
- Optional.
- regY
- Optional.
rotate(angle)
Applies a rotation transformation to the matrix.
- Parameters:
- angle
- The angle in degrees.
scale(x, y)
Applies a scale transformation to the matrix.
- Parameters:
- x
- y
skew(skewX, skewY)
Applies a skew transformation to the matrix.
- Parameters:
- skewX
- The amount to skew horizontally in degrees.
- skewY
- The amount to skew vertically in degrees.
toString()
Returns a string representation of this object.
translate(x, y)
Translates the matrix on the x and y axes.
- Parameters:
- x
- y


@Target(value={METHOD,TYPE}) @Retention(value=CLASS) @Documented public @interface ResolutionDoc
path()
is defined.
The rules for building the URL are as follows:
url
: If left empty and the type is annotated with a BaseUrl
the value for the
@BaseUrl
will be used. If defined this will override the value of the BaseUrl
. If neither are
defined the rules for the path()
will be followed.path
: If defined this will be the path appended to the url()
or the value of the
BaseUrl
. Note that neither url()
nor BaseUrl
are required. If the value is left
undefined the id (project code plus the message id) will be used for the path.suffix
: The suffix to append to the path()
. This is mostly useful if the path
is left undefined and a suffix should be appended to the messages id. If left undefined and the path()
is not defined, the suffix will be determined based on the report type.If placed on a type links will be created for all methods on the type.
Do note that the processor does not validate the resolution document exists. It simply attempts to create links to the resolution document.
Expressions in the form of ${property.key:default-value}
can be used for the values with the exception of the
skip
attribute. If the property key is prefixed with sys.
a
system property will be used. If the key is prefixed with env.
an
environment variable will be used. In all other cases the
org.jboss.logging.tools.expressionProperties
processor argument is used to specify the path the properties
file which contains the values for the expressions.
| Modifier and Type | Optional Element and Description |
|---|---|
String |
path
The path to the resolution document.
|
boolean |
skip
Allows the creation of a link to be skipped.
|
String |
suffix
The suffix to append to the path.
|
String |
url
The URL, fully qualified or relative, to use for the resolution document.
|
public abstract String path
public abstract String suffix
xml
the default suffix would be .xml
.Copyright © 2019 JBoss by Red Hat. All rights reserved.


Prime Assessment 3
Full-Stack App (MEAN)
Grocery Items
+
{{item.name}}
Qty: {{item.qty}}
Edit
Save
Delete


Did a cryptic My Chemical Romance tweet predict the 2019 Chilean uprising?
Tweet presages scare the living shit out of me
A My Chemical Romance tweet from 2011 appears to have predicted the recent Chilean uprising – eight years before it took place.
The mysterious tweet ended with the words “Stay safe in 2019”. It was posted during the band’s ‘Danger Days’ era, which was partially built around a post-apocalyptic mythology set in 2019, potentially explaining the mention of that year. However it seems the band didn’t play Chile while touring that album, leaving many to speculate why they specifically directed the message at that country.
Some protests took place in Chile on January 14 2011, so it seems likely the band were simply making a respectful gesture while referencing the themes of ‘Danger Days’. Some fans, however, have been spooked by the tweet’s prescience given the current political unrest in Chile.
Check out the posts below:
Last week (November 2) the band admitted they did not expect such a warm welcome back after announcing that they were reforming for the first time in six years for a reunion gig.
On Thursday (October 31), the band announced a comeback show at Los Angeles’ Shrine Expo Hall taking place on December 20. Tickets went on sale on Friday (November 1) and sold out in minutes.
The band took to Instagram to thank fans for the incredible reception they’ve received since announcing their return, adding that they didn’t expect it.


This is my first webpage, We will make you to think creative and positive.Join us to learn more exciting things.
This is my first webpage, We will make you to think creative and positive.Join us to learn more exciting things.
This is my first webpage, We will make you to think creative and positive.Join us to learn more exciting things.


{{ site.name }}
{{ site.description }}
Blog
About
Code
Portfolio
{{ content }}
{% include analytics.html %}


Node for object descriptions.
This node is similar to a “definition list” with one definition. It contains one or more desc_signature and a desc_content.
Node for object signatures.
The “term” part of the custom Sphinx definition list.
Node for additional name parts (module name, class name).
Node for return types or object type names.
Node for a “returns” annotation (a la -> in Python).
Node for the main object name.
Node for a general parameter list.
Node for a single parameter.
Node for marking optional parts of the parameter list.
Node for index entries.
This node is created by the index directive and has one attribute, entries. Its value is a list of 4-tuples of (entrytype, entryname, target, ignored).
entrytype is one of “single”, “pair”, “double”, “triple”.
Node for cross-references that cannot be resolved without complete information about all documents.
These nodes are resolved before writing output, in BuildEnvironment.resolve_references.
Node that behaves like emphasis, but further text processors are not applied (e.g. smartypants for HTML output).
Node for “only” directives (conditional inclusion based on tags).
Node for meta directive – same as docutils’ standard meta node, but pickleable.
Inserted to set the highlight language and line number options for subsequent code blocks.
You should not need to generate the nodes below in extensions.
Node to insert a glossary.
Node for inserting a “TOC tree”.
Node to mark start of a new file, used in the LaTeX builder only.
Node for grammar production lists.
Contains production nodes.


Start
Eng
Swe
Fra
Ger
Esp
Experience the new generation. Sign up for our newsletter
Exclusive tire technology for smoother rides and better comfort.
Ride with high class comfort and arrive in style even in bad weather.
High perfomance electric engine. Silent as the night, fast like a shooting star.


Missing closing > angled bracket of opening td tag.
Correctly structured table.
Missing closing </td> tags.
Missing closing > angled bracket of opening td tag AND closing </td> tags.


Forums are now read-only for guests (due to spam)
-
Greg Hurrell
Once again, an another example of greedy people making the Internet a less pleasant place thanks to their lack of respect for others and their overwhelming desire to make money by any means possible.
I try to visit the forums at least once a day to answer questions or respond to comments. Over the last few months I've occasionally had to delete spam comments from the forums. These are comments posted by unregistered "users" (either real people doing this spamming for a commission, or automated bots) which contain no information relevant to the topic; only random words and sentences, advertisements, and links back to the site which is paying for the spam.
Today I came in and saw that a single thread had been utterly bombarded by spammers, all coming from different IP addresses, and had been filled up with over a dozen garbage spam posts.
So I've changed the forum settings and now only registered users can post. This will at least stop the automated bots from spamming the forums, and in the case of real people doing the spam, they will at least need to provide a valid email address to become registered users. If they spam, they'll be banned, and then have to go through the hassle of re-registering with a new address.
The down side is that legitimate, honest users will no longer be able to make posts to the forum without registering beforehand. This is sad because these honest people are penalized thanks to the greed and unethical conduct of others. I licensed the UBB.threads software (which is not cheap) and pay for the hardware and ongoing hosting costs because I want to provide another avenue of support for my current (or potential) customers, and what happens?
I've been forced to take this step because I want the quality of information in the forums to remain high, and I don't have the time to patrol the forums deleting spam.
The other alternative is if a number of people wanted to volunteer as moderators, then posting privileges for guests could be turned back on. The moderators would need to drop into the forums on a regular basis and delete any spam that turns up. I wouldn't expect (or want) these moderators to do any other kind of moderation; I'd just want them to tackle the spam problem.
Needless to say, anyone who wants to volunteer to become a moderator would need to be someone I can trust, and for the purposes of this forum I guess that means they'd need to have a strong record of posts.
I suspect, however, that given the relatively small number of people using the forums that there won't be too many people who will want or be able to volunteer for the moderation. Nevertheless, if you are interested you can reply to this topic and we'll talk about it.
One last comment that I want to make about forum registrations: I am very sorry that honest users now have to go through the additional step of registering in order to participate in the forums. Of course, they can still read the forums without registering, but they can't make posts. But unlike the spammers, for me ethical conduct is important. You can rest assured that if you do create an account on these forums, your email address or personal details won't be sold or given to a third-party marketing company. This should go without saying, but in this day and age sometimes these things need to be said. If you're interested in knowing more about the Wincent privacy policy, see the full statement here:
Reply
This topic is now closed.


|
Product Code: Brand Name: Price |
3986973 LG $200 |
|
Product Description |
Lorem ipsum dolor sit amet consectetur adipisicing elit.
|
|
Size: Color: Model: |
25kg White Mc250 |
|
Qty in Inventory: Min Qty allowed: |
50 10 |
|
Image: |


 Why he started is simply compelling
by Kamva SomdyalaAfter fleeing home as a child, owing to an abusive alcoholic relative, Shaygam Newman found comfort among street dogs and vowed that he would one day repay them.
Years later, his love for dogs in his very own care operation has seen him scoop the Brian Davies Award, that recognises outstanding work for animals in difficult and dangerous situations.
The international award was given to Newman for his work feeding, monitoring and medically treating dogs in Hangberg, near Hout Bay, Cape Town.
The Brian Davies Award is an annual award hosted by international welfare organisation, Network for Animals (NFA), and the winner receives $10 000 in prize money.
Newman has a variety of animals in his care, he tells News24, including cats, pigs and ducks.
'My priority'
After finding a spot and setting up near Table Mountain after he left home, Newman was set for his caring operation.
His first rescue was a fighting dog and within weeks in Newman's care, the dog – whose owner was even afraid of it – became friendly again.
"Caring for animals is all I know. They are my priority," he emphasised as dogs could be heard barking in the background.
"The award makes my heart happy; with the money, there's a lot I will do for the animals to care for and maintain them," he said.
He added that he would use the money to build proper enclosures.
NFA's co-founder Gloria Davies said of Newman: "He works in a difficult and dangerous place with little money and minimal resources, yet he has been instrumental in caring for and changing the lives of street dogs.
Shaygam's Crew
"He succeeded in his devotion to street dogs and has become a role model to other children in his community."
Newman said he worked with about seven other people but will have a group of teenagers joining soon to assist.
"The people I work with don't ask anything of me," he said, emphasising that they do the work because of the love for animals.
Newman also has a group of young people who assist him, known as "Shaygam's Crew' - who he taught to love and care for dogs specifically – and now patrol the streets, checking on their well-being.


Where to now?
Run configurations for IntelliJ and the other IDE
Includes
A library of fixtures and demos
A shorter name for executable documentation
(10 syllables is overkill)
Beta Testers


This script, a part of smallpump, takes a Firehose JSON feed and renders the output in a simple but easy to read format. If a user is playing around with pump.io and looking to see who else is out there, this script could be of some use. The formatting done here is quite minimal. Anyone with basic knowledge of JavaScript, HTML, and CSS could easily modify this script according to their desires. A current version of this code can be found at the project page: https://github.com/dper/smallpump.
The feed.


It’s that time of year, time to reflect on our little victories and make plans of attack for the future. I love reading about everyone’s accomplishments and goals, so I figured I would add mine to the mix.
I definitely felt what I’m calling the fourth year funk this semester and didn’t feel like I was quite in the zone nor at my very best. More on this later? But perseverance is the name of the grad school game, so luckily there are still some things I accomplished.
Things I’m proud of from 2018
- I passed my qualifying exam! I’m officially a PhD Candidate. 👩🎓
- I helped @DebAtStat draft a book about writing as statisticians. 📖
- I had my first taste of industry by interning as a Data Scientist at @FBNFarmers. 🌽
- I blogged my way through the tidyverse and participated in some #TidyTuesdays. 👩💻
- I became a data science fellow at @UCBIDS. 🎉 Stay tuned for information about the progress of the Diversity and Inclusion Working Group in 2019.
Goals for 2019
- Papers! Seriously, this needs to happen so I can be a Dr. 📝 The first paper of my dissertation on identifiability controversies in species distribution and abundance models is so so close to being ready. Ideas for the second paper of my dissertation are becoming more concrete.
- Write at least one blog post a month and participate in #TidyTuesday at least twice a month. I was pretty good at doing this throughout the summer, but the semester took its toll on my writing for fun time. I aim to set some time aside this year to keep writing.
- Get some breadth by getting involved in a side project collaboration outside my main focus area.
- Become more involved in open source development, whether this is an R package that accompanies my dissertation, or something on a smaller scale, like working on GitHub issues for others’ packages.
- Keep thinking about how to teach writing for statisticians and data scientists with @DebAtStat.
Shoutouts
Thank you to everyone who supported me through this year!
- My family: thank you for telling me not to take on too much and then patiently listening to me complain when I ignore your advice and take on too much. 🤓
- My friends: thank you for commiserating through the tough times and for indulging me when I procrastinate by searching for dream jobs.
- My advisors and mentors: thank you for helping me carve my own path (please ignore the above admission of procrastination 😳).
- My Berkeley Stat and BIDS peers: I’m proud of the communities we are fostering.
- The #rstats, #RLadies, and @WiMLDS_BayArea communities: you all are so kind and helpful, and everyone’s experiences and paths through statistics and data science are inspiring!
In conclusion, bring it on 2019.


A lot has been happening in the reml
development over on our package Github page, particularly through discussion on the issues tracker we have been working through several of the major conceptual challenges in designing the package.
Semantics
Writing Semantics. Lots of elements of the EML schema have semantic meaning, but we can’t start leveraging ontological tools while these terms are defined only as part of the Schema vocabulary. In their current state, they are just “meaningless bits of syntax”, e.g. the schema only defines gram
as a valid text string that lives at //attribute/measurementScale/ratio/unit/standardUnit
. A computer reading the schema could never formally decide that this is the same gram we use to measure mass. We use formal semantics to say this: that is, that text-string gram
means https://ecoinformatics.org/oboe/oboe.1.0/oboe-standards.owl#Gram, which is embued with meaning.
We’ve made some definite progress in how to go about making this leap from structure to meaning after considering a variety of potential avenues. A few open questions (and a lot of implementation) remain. A useful observation comes from Ben in pointing out how we can add RDF directly to the EML, rather than relying on a second external schema file:
<eml>
…
<dataTable id="https://some.namespace#myUniqueEntityId1">
<attribute id="https://some.namespace#myUniqueAttributeId1"/>
<attribute id="https://some.namespace#myUniqueAttributeId2"/>
</dataTable>
…
<additionalMetadata>
<describes>https://some.namespace#myUniqueAttributeId1</describes>
<metadata>
<!-- RDF stuff here that annotates https://some.namespace#myUniqueAttributeId1 -->
<rdf:RDF
xmlns:rdf="https://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:o="https:/oboe-core#">
<rdf:Description rdf:about="https://some.namespace#myUniqueAttributeId1">
<o:entity>Air</o:entity>
<o:characteristic>Temperature</o:characteristic>
<cd:unit>Celsius</cd:unit>
</rdf:Description>
</rdf:RDF>
</metadata>
</additionalMetadata>
<additionalMetadata>
<describes>https://some.namespace#myUniqueAttributeId2</describes>
<metadata>
<!-- RDF stuff here that annotates https://some.namespace#myUniqueAttributeId2 -->
</metadata>
</additionalMetadata>
</eml>
A complete implementation goes beyond translating the schema vocabulary to ontogogical terms where it makes sense to do so (e.g. units of measurement, taxonomy)
Where else does it make sense to translate schema vocabularly into semantics?
- Licenses? (dc:rights)
- Titles, people, dates, rest of citation information (via
dc:title
,dc:contributor
,prism:
orfabio:
etc) - attribute
Would it be possible to create a XSLT stylesheet that one would apply to an EML file to produce corresponding RDF/XML file (that I could then amend to the original EML in an additionalMetadata
element)? I see the value of having the semantic metadata embedded in a single file, but rather than merely implementing R code that says “when you write a <standardUnit>Celsius
node, also write this additionalMetadata
node, it seems logical to have a tool that could simply read EML and say,”hey, <standardUnit>Celsius
, that’s an <RDF ...
“. Perhaps similar mappings could be made for taxonomy (though might need to query ubio for the identifier etc and so be beyond the scope of XSLT)?
Such an XSLT might also map things like <creator>
, <title>
, <intellectionalRights>
etc to their ontological meanings too. Of course I don’t know anything about XSLT, and before we can programmatically combine spreadsheets, etc we really need to be adding custom semantics for all attributes, not just making RDFs of the things that are already defined…
Whoops, we can get lost down the rabbit hole quickly here. e.g. Why not write all data to triples (e.g. see tools for RDF from CSV… (Longevity of RDF? Of any given XML schema?)
- RDF as schema-less XML?
Reading Semantics (and actually doing something with it): the really hard problem motivating this exercise: #8. We’ll get to this one eventually.
Schema-oriented design
We can leverage the .xsd
schema files much more directly in creating our parser using a strategy built around S4 classes, as discussed in issue #38. This leaves us with a lot of coercion to do. On the up side, we have reasonble S4 classes representing the EML contents, so we can consider it “parsed”. Defining how we write into these S4 objects instead of how we write into XML directly also makes our implementation more robust to changes in the schema. Coercion with S4 can leverage a variety of heurstics to make this pretty easy (e.g. simple matching of slot names, guessing parsing etc). Also allows us to have things like data.frames
that carry their metadata around with them.


{{site.user_description}}
Experience creating web apps with angular and vue.js, and mobile with Flutter, Swift and Xamarin. Has knowledge in design tools such as the sketch and figma
I love to code and create interface solutions. I learned front-end by my own, and participated of Apple Developer Academy where i learned mobile.
I'm always testing new tools, experience with git, atlassian stack, vscode, linux, mobile CI/CD and others.


Democrats Line Up Next Round of Impeachment Depositions
by ALEXANDRA JONES(CN) — House impeachment investigators plan to depose two more White House officials early next week as part of the probe into President Donald Trump’s dealings with Ukraine, but it is unclear if they will show up.
The impeachment inquiry is centered on a July 25 call between Trump and Ukraine President Volodymyr Zelensky, in which Trump asked Zelensky to investigate former Vice President Joe Biden, his potential Democratic opponent in the 2020 election, along with Biden’s son Hunter, who worked for a Ukrainian energy company.
On Tuesday, House Democrats leading the inquiry reportedly plan to interrogate Wells Griffith, a senior director for international energy and environment at the National Security Council, and Michael Duffey, the associate director for national security programs at the Office of Management and Budget.
But it remains to be seen whether Griffith or Duffey will actually show up to the closed-door hearings. In a letter sent to congressional Democrats last month, Trump’s lawyers said that the president and his administration will not cooperate with the impeachment inquiry.
Duffey’s superior, Russ Vought, echoed this sentiment in an Oct. 21 tweet, stating that neither he nor Duffey would be cooperating in the investigation.
“I saw some Fake News over the weekend to correct,” Vought wrote. “As the WH letter made clear two weeks ago, OMB officials – myself and Mike Duffey – will not be complying with deposition requests this week. #shamprocess.”
Last month, the Wall Street Journal reported the White House gave Duffey authority to delay a military aid package to Ukraine, despite concerns from career staffers that such a move might not be legal.
That Ukrainian aid package has come to the forefront of the impeachment inquiry, as a top U.S. diplomat in Ukraine testified behind closed doors last week that the White House conditioned the aid on Ukraine publicly announcing investigations into Biden family as well as the 2016 U.S. election.
Before assuming his current position, Duffey was a deputy chief of staff at the U.S. Department of Defense. He also previously surged as the executive director of the Republican Party of Wisconsin.
Griffith leads the Trump administration’s international energy and climate strategy and has voiced support in the past for the U.S. withdrawing from the Paris climate agreement. Prior to working in the White House, spent time in the Energy Department. Before that, worked at his grandfather’s gas station in Mobile, Alabama.
It is believed Griffith may have knowledge of Trump’s dealings with Ukraine via Fiona Hill, a former White House adviser on Russia.
Copyright © 2019 courthousenews.com


Back
Giving those who need what they want
Sign Up
Email
Password
Password Confirmation
Teacher
Student
Sign Up


A command line (and thus an execline script) is one-dimensional. But a Unix execution flow can be two-dimensional: when two instructions are sequenced, for instance. In that case, we need a way to extract two command lines from one argv. That is precisely what blocks are made for.
execline commands that need more than one linear set of arguments use blocks. For instance, the foreground command needs to spawn a first process, then execute into a second one. It reads the command line for the first process from a block, and the command line for the second process from the rest of the argv. In the following script:
#!/command/execlineb foreground { echo 1 } echo 2
echo 1 is read from a block and spawned; then echo 2 is executed.
In execlineb scripts, blocks are delimited by braces. They can be nested.
execlineb reads and parses the script, and converts it into an argv (a simple Unix command line) with a different syntax for blocks. In an argv, blocks are not delimited by braces; they are made of quoted arguments and terminated by an empty word (""). A quoted argument begins with a space. Nested blocks are represented by arguments being quoted several times, i.e. having several spaces in front of them; an empty word inside a block gets quoted too, i.e. it will be represented as a series of spaces.
Actually, the block-reading commands know nothing about braces; they only understand the "quoted arguments + empty word" syntax. So if you want to use foreground from your shell to sequence echo 1 and echo 2, you will have to write
$ foreground ' echo' ' 1' '' echo 2
You do not really need to quote every argument inside a block in that simple case. The following command works as well:
$ foreground echo 1 '' echo 2
However, this is bad practice, because it leads to a security hole: commands that perform substitution inside a block may produce empty words, which may modify your script's execution flow.
$ define FOO '' foreground ' echo' ' ${FOO}' ' rm' ' -rf' ' /' '' echo blah
is safe, whereas
$ define FOO '' foreground echo '${FOO}' rm -rf / '' echo blah
has very much unwanted results. (Don't try this at home.)
You can use the EXECLINE_STRICT environment variable to
check proper block quoting. If that variable contains 1,
commands that read blocks will print a warning message every time
they find an unquoted argument inside a block. If that variable
contains 2 or a bigger integer, commands will print an
error message and die on unquoted arguments.
You can use execlineb's
-w or -W
switch to set EXECLINE_STRICT to 1 or 2.


---
layout: post
title: Summer has arrived
date: '2013-05-19T11:25:00.000+02:00'
comments: true
tags:
- Travel
modified_time: '2013-05-19T11:25:22.632+02:00'
thumbnail: http://2.bp.blogspot.com/-eongJAC1FY0/UZiaKaWDowI/AAAAAAAAASo/AWuGs9bXbzA/s72-c/IMG_20130518_213639.jpg
blogger_id: tag:blogger.com,1999:blog-5442825777886761537.post-5687362943400788270
blogger_orig_url: http://stickmanscorral.blogspot.com/2013/05/summer-has-arrived.html
---
Yesterday. Finally.
Please stay!


Crypto Tipping Point: Insider Says Bitcoin (BTC) Users Will Shift From ‘Acquire to Defend’
by Daily Hodl StaffThe creation of non-sovereign, digital money decreases the power of inflation and taxation, according to cryptocurrency researcher Phil Bonnello.
In his new blog post, the Ikigai Fund advisor tracks greed, fear, belonging, curiosity and escape – the behavioral drivers behind Bitcoin and crypto adoption. Digital money, he argues, gives people the power to defend themselves.
“The fact is, Bitcoin reduces government revenue potential by providing a way to opt out of hyper inflationary forces and by altering taxation enforceability. With digital money, personal wealth becomes more difficult to seize and easier to transport.
It further reduces geopolitical borders and allows the cybereconomy to flourish without gatekeepers. Bitcoin allows individuals to better defend. Defend against inflation. Defend against seizure. Defend against censorship. As these needs grow, so too will the value proposition of Bitcoin and ancillary applications.”
Bitcoin and other decentralized cryptocurrencies can be stored, owned and completely controlled by the individual.
As people seek out solutions to protect their property, Bonnello expects powerful incentives for “dissident technology” to grow.
Says Bonnello,
“The reasoning is simple. As individuals have more control over their property, they will increasingly need to defend that property. This is a behavior change. We are accustomed to outsourcing out protection services to third parties.”
He adds,
“Right now, the dominant use case for digital money is speculation (drive to acquire). Secondary demand comes from users defending against inflation, asset seizure, taxation or regulatory hurdles (drive to defend).”
It’s the secondary demand that will fuel new crypto-based financial services, which are an extension of the internet and its ability to reach billions of people, regardless of location. Without jurisdictional barriers, global cooperation and entrepreneurship rise, driving competition across borders.
Bonnello points to a tweet by Jill Carlson, co-founder of the Open Money Initiative, who says that financial services are poised to go global.
Bonnello adds,
“This increase in individual power will cause a shift in human behavior from ‘Acquire’ to ‘Defend’.”
You can read Bonnello’s ‘The Sovereign Individual’ Investment Thesis here.


Dr.Mushiga
At Mushiga-Shika, we put our very best into our consultations and treatments that change the negative images of dentists, and strive to create pleasant, fun and welcoming atmosphere that makes you look forward to your next visit. Therefore, we keep in mind the importance of interpersonal skills, caring touch, detailed and thorough explanations in addition to sophisticated technical skills while we plan your treatment plans together. We mean it when we say we are serious about No Pain Dentistry and Gentle Treatments.


{{_('Don\'t have an account? Register.')}}
{% if form.errors %}{% blocktrans %}Your account doesn't have access to this page. To proceed, please login with an account that has access.{% endblocktrans %}
{% else %}{{_('Please login to see this page.')}}
{% endif %} {% endif %}


“I'm totally blown away by how amazing my experience with Joyce was. She was such a pleasure to shoot my senior photos with and she even brought along an assistant to filter any harsh sunlight directly out of the photos. The obvious time and effort she spent in not only taking the photos, but then editing them after really showed in the photos when I received them. I'm really glad my roommate recommended Joyce because there's no way I could have gotten better photos from any other photographer. Thank you Joyce!!” –Lauren H
“Working with Joyce was an absolute treat! She took my grad photos two weeks ago, and it was a great experience. She very graciously extended the length of our session so I could take pictures at specific spots on campus, and she was incredibly patient and kind with me for the whole 2+ hours. She then returned the photos to me extremely promptly, and they were all fantastic! I'm very sad that I likely won't be around Austin to work with Joyce again, and I encourage everyone to make her the photographer of any and all special events in your life!”–Marisa S
“Joyce is such a professional and talented individual who will provide you with absolutely gorgeous photos. She is prompt with communication and quick with the turnaround. I'm so happy I got to work with her for my graduation photos. She is friendly, patient, and dedicated - I highly recommend her!” -Tiffany C
“Joyce is friendly and professional! She was a real trooper – we had to reschedule my shoot due to rain, and then the weather wasn’t entirely on our side on our rescheduled date either. It rained briefly, but during that time Joyce took me inside and was quick on her feet to think of other places we could take pictures. She really respected my time and did her best to get the most out of our session despite the weather. My family and I loved all of the photos! Joyce is so talented and affordable, I really recommend her.” Jessica S
“I had an excellent time working with Joyce (and Tiffany) for my two events. The coverage they provided me was a new experience for them, but they took it in stride and delivered beautiful work. The turnaround of the digital album was amazingly quick! That was wonderful because we have already shared the wedding event photos with our families. Joyce is professional and I am very satisfied with her communication. E-mails were answered within a day as were phone calls and texts. Thank you again for your hard work! I hope you enjoyed the experience as well!” Affifa R


--- layout: post title: "Full deck" description: "An introduction to applicative functors in Haskell, with a translation to F#." date: 2018-10-08 6:17 UTC tags: [Software Design, F#, Haskell] --- {% include JB/setup %}
{{ page.description }}
This article is an instalment in an article series about applicative functors. While (non-applicative) functors can be translated to an object-oriented language like C# in a straightforward manner, applicative functors are more entrenched in functional languages like Haskell. This article introduces the concept with a motivating example in Haskell, and also shows a translation to F#. In the next article, you'll also see how to implement an applicative functor in C#.
Imagine that you want to model a card game. In order to do so, you start by defining data types for suits, faces, and cards:
data Suit = Diamonds | Hearts | Clubs | Spades deriving (Show, Eq, Enum, Bounded) data Face = Two | Three | Four | Five | Six | Seven | Eight | Nine | Ten | Jack | Queen | King | Ace deriving (Show, Eq, Enum, Bounded) data Card = Card { face :: Face, suit :: Suit } deriving (Show, Eq)
Since both Suit
and Face
are instances of the Enum
and Bounded
typeclasses, you can easily enumerate them:
allFaces :: [Face] allFaces = [minBound .. maxBound] allSuits :: [Suit] allSuits = [minBound .. maxBound]
For example, allSuits
enumerates all four Suit
values:
λ> allSuits [Diamonds,Hearts,Clubs,Spades]
Notice, by the way, how the code for allFaces
and allSuits
is identical. The behaviour, however, is different, because the types are different.
While you can enumerate suits and faces, how do you create a full deck of cards?
A full deck of cards should contain one card of every possible combination of suit and face. Here's one way to do it, taking advantage of lists being applicative functors:
fullDeck :: [Card] fullDeck = pure Card <*> allFaces <*> allSuits
This will give you all the possible cards. Here are the first six:
λ> forM_ (take 6 fullDeck) print Card {face = Two, suit = Diamonds} Card {face = Two, suit = Hearts} Card {face = Two, suit = Clubs} Card {face = Two, suit = Spades} Card {face = Three, suit = Diamonds} Card {face = Three, suit = Hearts}
How does it work? Let's break it down, starting from left:
λ> :type Card Card :: Face -> Suit -> Card λ> :type pure Card pure Card :: Applicative f => f (Face -> Suit -> Card) λ> :type pure Card <*> allFaces pure Card <*> allFaces :: [Suit -> Card] λ> :type pure Card <*> allFaces <*> allSuits pure Card <*> allFaces <*> allSuits :: [Card]
From the top, Card
is a function that takes a Face
value and a Suit
value and returns a Card
value. Object-oriented programmers can think of it as a constructor.
Next, pure Card
is the Card
function, elevated to an applicative functor. At this point, the compiler hasn't decided which particular applicative functor it is; it could be any applicative functor. Specifically, it turns out to be the list type ([]
), which means that pure Card
has the type [Face -> Suit -> Card]
. That is: it's a list of functions, but a list of only a single function. At this point, however, this is still premature. The type doesn't materialise until we apply the second expression.
The type of allFaces
is clearly [Face]
. Since the <*>
operator has the type Applicative f => f (a -> b) -> f a -> f b
, the expression on the left must be the same functor as the expression on the right. The list type ([]
) is an applicative functor, and because allFaces
is a list, then pure Card
must also be a list, in the expression pure Card <*> allFaces
. In other words, in the definition of <*>
, you can substitute f
with []
, and a
with Face
. The interim result is [Face -> b] -> [Face] -> [b]
. What is b
, then?
You already know that pure Card
has the type [Face -> Suit -> Card]
, so b
must be Suit -> Card
. That's the reason that pure Card <*> allFaces
has the type [Suit -> Card]
. It's a list of functions. This means that you can use <*>
a second time, this time with allSuits
, which has the type [Suit]
.
Using the same line of reasoning as before, you can substitute Suit
for a
in the type of <*>
, and you get [Suit -> b] -> [Suit] -> [b]
. What is b
now? From the previous step, you know that the expression on the left has the type [Suit -> Card]
, so b
must be Card
. That's why the entire expression has the type [Card]
.
You can translate the above Haskell code to F#. The first step is to make F# lists applicative. F# also supports custom operators, so you can add a function called <*>
:
// ('a -> 'b) list -> 'a list -> 'b list let (<*>) fs l = fs |> List.collect (fun f -> l |> List.map f)
This implementation iterates over all the functions in fs
; for each function, it maps the list l
with that function. Had you done that with a normal List.map
, this would have returned a list of lists, but by using List.collect
, you flatten the list.
It's worth noting that this isn't the only way you could have implemented <*>
, but this is the implementation that behaves like the Haskell function. An alternative implementation could have been this:
// ('a -> 'b) list -> 'a list -> 'b list let (<*>) fs = List.collect (fun x -> fs |> List.map (fun f -> f x))
This variation has the same type as the first example, and still returns all combinations, but the order is different. In the following of this article, as well as in subsequent articles, I'll use the first version.
Here's the playing cards example translated to F#:
type Suit = Diamonds | Hearts | Clubs | Spades type Face = | Two | Three | Four | Five | Six | Seven | Eight | Nine | Ten | Jack | Queen | King | Ace type Card = { Face: Face; Suit : Suit } // Face list let allFaces = [ Two; Three; Four; Five; Six; Seven; Eight; Nine; Ten; Jack; Queen; King; Ace] // Suit list let allSuits = [Diamonds; Hearts; Clubs; Spades] // Card list let fullDeck = [fun f s -> { Face = f; Suit = s }] <*> allFaces <*> allSuits
The F# code is slightly more verbose than the Haskell code, because you have to repeat all the cases for Suit
and Face
. You can't enumerate them automatically, like you can in Haskell.
It didn't make much sense to me to attempt to define a pure
function, so instead I simply inserted a single lambda expression in a list, using the normal square-bracket syntax. F# doesn't have constructors for record types, so you have to pass a lambda expression, whereas in Haskell, you could simply use the Card
function.
The result is the same, though:
> fullDeck |> List.take 6 |> List.iter (printfn "%A");; {Face = Two; Suit = Diamonds;} {Face = Two; Suit = Hearts;} {Face = Two; Suit = Clubs;} {Face = Two; Suit = Spades;} {Face = Three; Suit = Diamonds;} {Face = Three; Suit = Hearts;}
While the mechanics of applicative functors translate well to F#, it leaves you with at least one problem. If you add the above operator <*>
, you've now 'used up' that operator for lists. While you can define an operator of the same name for e.g. option
, you'd have to put them in separate modules or namespaces in order to prevent them from colliding. This also means that you can't easily use them together.
For that reason, I wouldn't consider this the most idiomatic way to create a full deck of cards in F#. Normally, I'd do this instead:
// Card list let fullDeck = [ for suit in allSuits do for face in allFaces do yield { Face = face; Suit = suit } ]
This alternative syntax takes advantage of F#'s 'extended list comprehension' syntax. FWIW, you could have done something similar in Haskell:
fullDeck :: [Card] fullDeck = [Card f s | f <- allFaces, s <- allSuits]
List comprehension, however, is (as the name implies) specific to lists, whereas an applicative functor is a more general concept.
This article introduced you to lists as an applicative functor, using the motivating example of having to populate a full deck of cards with all possible combinations of suits and faces.
The next article in the series shows another list example. The F# and Haskell code will be similar to the code in the present article, but the next article will also include a translation to C#.
Next: An applicative password list.


Crypto Market Recovers $15 Billion, Bitcoin Flirting With $7K
- The total crypto market cap is currently correcting higher from the $170.0B support area.
- Bitcoin price is up around $250 and it is now trading near the $7,000 resistance area.
- EOS price jumped from the $2.350 support area and climbed above $2.500.
- Ethereum price is showing positive signs above the $142 level.
- BCH price bounced back and it is now trading above the $200 pivot level.
- Tron (TRX) price is back above $0.0140 and it could soon revisit the $0.0144 resistance area.
Bitcoin (BTC) and the crypto market cap are currently correcting higher. Ethereum, ripple, BNB, BCH, litecoin and EOS are recovering, but facing many resistances.
Bitcoin Price Analysis
After a downside break below the $7,000 support, bitcoin price traded close to the main $6,500 support area (as per the medium term outlook). The bulls took a strong stand and the price recently started an upside correction.
BTC price is now trading above the $6,800 level and testing the $7,000 resistance area. If there are more gains, the price is likely to test the $7,120, $7,150 and $7,200 levels in the near term.
On the downside, an initial support is near the $6,880 level, below which the price is likely to retest the main $6,500-$6,600 support area in the near term. Any further losses may perhaps push the price towards the $6,400 level.
Looking at Ethereum, the price is now trading back above the $140.00 and $142.00 levels. However, ETH is facing a lot of resistance on the upside near the $146, $148 and $150 levels. On the downside, the main supports are near the $136 and $135 levels.
Similarly, ripple price is facing a lot of hurdles on the upside near the $0.2200 and $0.2220 levels. However, there are many positive signs emerging from the $0.2000 support area.
Looking at the total cryptocurrency market cap 4-hours chart, there was a steady decline below the $220.0B and $200.0B support levels. The crypto market cap even broke the $185.0B support and tested the $170.0B zone.
A low was formed near the $171.4B level and the market cap is currently correcting higher. It broke the $180.0B resistance to start the recovery. It is now trading near the $185.0B resistance area and a bearish trend line on the same chart. The main hurdles are near $190.0B, $194.0B and $200.0B.
Therefore, a clear break above the $194.00 and $200.0B levels is needed for more upsides in bitcoin, Ethereum, TRX, LTC, EOS, ripple, ADA, XLM, WTC, BCH, and IOTA in the near term.


| 1 | /* =========================================================== | |
| 2 | * JFreeChart : a free chart library for the Java(tm) platform | |
| 3 | * =========================================================== | |
| 4 | * | |
| 5 | * (C) Copyright 2000-2009, by Object Refinery Limited and Contributors. | |
| 6 | * | |
| 7 | * Project Info: http://www.jfree.org/jfreechart/index.html | |
| 8 | * | |
| 9 | * This library is free software; you can redistribute it and/or modify it | |
| 10 | * under the terms of the GNU Lesser General Public License as published by | |
| 11 | * the Free Software Foundation; either version 2.1 of the License, or | |
| 12 | * (at your option) any later version. | |
| 13 | * | |
| 14 | * This library is distributed in the hope that it will be useful, but | |
| 15 | * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | |
| 16 | * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public | |
| 17 | * License for more details. | |
| 18 | * | |
| 19 | * You should have received a copy of the GNU Lesser General Public | |
| 20 | * License along with this library; if not, write to the Free Software | |
| 21 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, | |
| 22 | * USA. | |
| 23 | * | |
| 24 | * [Java is a trademark or registered trademark of Sun Microsystems, Inc. | |
| 25 | * in the United States and other countries.] | |
| 26 | * | |
| 27 | * ----------------- | |
| 28 | * NumberAxis3D.java | |
| 29 | * ----------------- | |
| 30 | * (C) Copyright 2001-2009, by Serge V. Grachov and Contributors. | |
| 31 | * | |
| 32 | * Original Author: Serge V. Grachov; | |
| 33 | * Contributor(s): David Gilbert (for Object Refinery Limited); | |
| 34 | * Jonathan Nash; | |
| 35 | * Richard Atkinson; | |
| 36 | * Tin Luu; | |
| 37 | * | |
| 38 | * Changes | |
| 39 | * ------- | |
| 40 | * 31-Oct-2001 : Version 1 contributed by Serge V. Grachov (DG); | |
| 41 | * 23-Nov-2001 : Overhauled auto tick unit code for all axes (DG); | |
| 42 | * 12-Dec-2001 : Minor change due to grid lines bug fix (DG); | |
| 43 | * 08-Jan-2002 : Added flag allowing the axis to be 'inverted'. That is, run | |
| 44 | * from positive to negative. Added default values to | |
| 45 | * constructors (DG); | |
| 46 | * 16-Jan-2002 : Added an optional crosshair, based on the implementation by | |
| 47 | * Jonathan Nash (DG); | |
| 48 | * 25-Feb-2002 : Updated constructors for new autoRangeStickyZero flag (DG); | |
| 49 | * 19-Apr-2002 : drawVerticalString() is now drawRotatedString() in | |
| 50 | * RefineryUtilities (DG); | |
| 51 | * 25-Jun-2002 : Removed redundant import (DG); | |
| 52 | * 25-Jul-2002 : Changed order of parameters in ValueAxis constructor (DG); | |
| 53 | * 06-Aug-2002 : Modified draw method to not draw axis label if label is empty | |
| 54 | * String (RA); | |
| 55 | * 05-Sep-2002 : Updated constructor for changes in the Axis class, and changed | |
| 56 | * draw method to observe tickMarkPaint (DG); | |
| 57 | * 22-Sep-2002 : Fixed errors reported by Checkstyle (DG); | |
| 58 | * 08-Nov-2002 : Moved to new package com.jrefinery.chart.axis (DG); | |
| 59 | * 20-Jan-2003 : Removed unnecessary constructors (DG); | |
| 60 | * 26-Mar-2003 : Implemented Serializable (DG); | |
| 61 | * 13-May-2003 : Merged HorizontalNumberAxis3D and VerticalNumberAxis3D (DG); | |
| 62 | * 21-Aug-2003 : Updated draw() method signature (DG); | |
| 63 | * 07-Nov-2003 : Modified refreshTicks method signature (DG); | |
| 64 | * ------------- JFREECHART 1.0.x --------------------------------------------- | |
| 65 | * 18-Jan-2006 : Fixed bug 1408904 (axis assumes CategoryPlot) (DG): | |
| 66 | * 20-Jun-2007 : Removed JCommon dependencies (DG); | |
| 67 | * 02-Jul-2007 : Added entity support for axis labels (DG); | |
| 68 | * 12-Jul-2007 : Updated for API changes in super class (DG); | |
| 69 | * 16-Apr-2009 : Changed axis line visibility default (DG); | |
| 70 | * | |
| 71 | */ | |
| 72 | ||
| 73 | package org.jfree.chart.axis; | |
| 74 | ||
| 75 | import java.awt.Graphics2D; | |
| 76 | import java.awt.geom.Rectangle2D; | |
| 77 | import java.io.Serializable; | |
| 78 | import java.util.List; | |
| 79 | ||
| 80 | import org.jfree.chart.Effect3D; | |
| 81 | import org.jfree.chart.plot.CategoryPlot; | |
| 82 | import org.jfree.chart.plot.Plot; | |
| 83 | import org.jfree.chart.plot.PlotRenderingInfo; | |
| 84 | import org.jfree.chart.renderer.category.CategoryItemRenderer; | |
| 85 | import org.jfree.chart.util.RectangleEdge; | |
| 86 | ||
| 87 | /** | |
| 88 | * A standard linear value axis with a 3D effect corresponding to the | |
| 89 | * offset specified by some renderers. | |
| 90 | */ | |
| 91 | public class NumberAxis3D extends NumberAxis implements Serializable { | |
| 92 | ||
| 93 | /** For serialization. */ | |
| 94 | private static final long serialVersionUID = -1790205852569123512L; | |
| 95 | ||
| 96 | /** | |
| 97 | * Default constructor. | |
| 98 | */ | |
| 99 | public NumberAxis3D() { | |
| 100 | this(null); | |
| 101 | } | |
| 102 | ||
| 103 | /** | |
| 104 | * Constructs a new axis. | |
| 105 | * | |
| 106 | * @param label the axis label (null permitted). | |
| 107 | */ | |
| 108 | public NumberAxis3D(String label) { | |
| 109 | super(label); | |
| 110 | } | |
| 111 | ||
| 112 | /** | |
| 113 | * Draws the axis on a Java 2D graphics device (such as the screen or a | |
| 114 | * printer). | |
| 115 | * | |
| 116 | * @param g2 the graphics device. | |
| 117 | * @param cursor the cursor. | |
| 118 | * @param plotArea the area for drawing the axes and data. | |
| 119 | * @param dataArea the area for drawing the data (a subset of the | |
| 120 | * plotArea). | |
| 121 | * @param edge the axis location. | |
| 122 | * @param plotState collects information about the plot (null | |
| 123 | * permitted). | |
| 124 | * | |
| 125 | * @return The updated cursor value. | |
| 126 | */ | |
| 127 | public AxisState draw(Graphics2D g2, double cursor, Rectangle2D plotArea, | |
| 128 | Rectangle2D dataArea, RectangleEdge edge, | |
| 129 | PlotRenderingInfo plotState) { | |
| 130 | ||
| 131 | // if the axis is not visible, don't draw it... | |
| 132 |
1
1. draw : negated conditional → NO_COVERAGE |
if (!isVisible()) { |
| 133 | AxisState state = new AxisState(cursor); | |
| 134 | // even though the axis is not visible, we need ticks for the | |
| 135 | // gridlines... | |
| 136 | List ticks = refreshTicks(g2, state, dataArea, edge); | |
| 137 |
1
1. draw : removed call to org/jfree/chart/axis/AxisState::setTicks → NO_COVERAGE |
state.setTicks(ticks); |
| 138 |
1
1. draw : mutated return of Object value for org/jfree/chart/axis/NumberAxis3D::draw to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return state; |
| 139 | } | |
| 140 | ||
| 141 | // calculate the adjusted data area taking into account the 3D effect... | |
| 142 | double xOffset = 0.0; | |
| 143 | double yOffset = 0.0; | |
| 144 | Plot plot = getPlot(); | |
| 145 |
1
1. draw : negated conditional → NO_COVERAGE |
if (plot instanceof CategoryPlot) { |
| 146 | CategoryPlot cp = (CategoryPlot) plot; | |
| 147 | CategoryItemRenderer r = cp.getRenderer(); | |
| 148 |
1
1. draw : negated conditional → NO_COVERAGE |
if (r instanceof Effect3D) { |
| 149 | Effect3D e3D = (Effect3D) r; | |
| 150 | xOffset = e3D.getXOffset(); | |
| 151 | yOffset = e3D.getYOffset(); | |
| 152 | } | |
| 153 | } | |
| 154 | ||
| 155 | double adjustedX = dataArea.getMinX(); | |
| 156 | double adjustedY = dataArea.getMinY(); | |
| 157 |
1
1. draw : Replaced double subtraction with addition → NO_COVERAGE |
double adjustedW = dataArea.getWidth() - xOffset; |
| 158 |
1
1. draw : Replaced double subtraction with addition → NO_COVERAGE |
double adjustedH = dataArea.getHeight() - yOffset; |
| 159 | ||
| 160 |
2
1. draw : negated conditional → NO_COVERAGE 2. draw : negated conditional → NO_COVERAGE |
if (edge == RectangleEdge.LEFT || edge == RectangleEdge.BOTTOM) { |
| 161 |
1
1. draw : Replaced double addition with subtraction → NO_COVERAGE |
adjustedY += yOffset; |
| 162 | } | |
| 163 |
2
1. draw : negated conditional → NO_COVERAGE 2. draw : negated conditional → NO_COVERAGE |
else if (edge == RectangleEdge.RIGHT || edge == RectangleEdge.TOP) { |
| 164 |
1
1. draw : Replaced double addition with subtraction → NO_COVERAGE |
adjustedX += xOffset; |
| 165 | } | |
| 166 | Rectangle2D adjustedDataArea = new Rectangle2D.Double(adjustedX, | |
| 167 | adjustedY, adjustedW, adjustedH); | |
| 168 | ||
| 169 | // draw the tick marks and labels... | |
| 170 | AxisState info = drawTickMarksAndLabels(g2, cursor, plotArea, | |
| 171 | adjustedDataArea, edge, plotState); | |
| 172 | ||
| 173 | // draw the axis label... | |
| 174 | info = drawLabel(getLabel(), g2, plotArea, dataArea, edge, info, | |
| 175 | plotState); | |
| 176 | ||
| 177 |
1
1. draw : mutated return of Object value for org/jfree/chart/axis/NumberAxis3D::draw to ( if (x != null) null else throw new RuntimeException ) → NO_COVERAGE |
return info; |
| 178 | ||
| 179 | } | |
| 180 | ||
| 181 | } | |
Mutations | ||
| 132 |
1.1 |
|
| 137 |
1.1 |
|
| 138 |
1.1 |
|
| 145 |
1.1 |
|
| 148 |
1.1 |
|
| 157 |
1.1 |
|
| 158 |
1.1 |
|
| 160 |
1.1 2.2 |
|
| 161 |
1.1 |
|
| 163 |
1.1 2.2 |
|
| 164 |
1.1 |
|
| 177 |
1.1 |


Glyph.css
Demo Output
This is a heading!
This is a heading!
This is a heading!
This is a heading!
This is a heading!
This is a heading!
Generated CSS
Installation
npm install glyph.css
Demo Output
Generated CSS
Installation
npm install glyph.css