Two species of Aedes (Stegomyia) were collected in response to the first chikungunya virus (CHIKV) outbreak on Yap Island: the native species Ae. hensilli Farner and the introduced species Ae. aegypti (L.). Fourteen CHIKV-positive mosquito pools were detected. Six pools were composed of female Ae. hensilli, six pools were composed of female Ae. aegypti, one pool was composed of male Ae. hensilli, and one pool contained female specimens identified as Ae. (Stg.) spp. Infection rates were not significantly different between female Ae. hensilli and Ae. aegypti. The occurrence of human cases in all areas of Yap Island and the greater number of sites that yielded virus from Ae. hensilli combined with the ubiquitous distribution of this species incriminate Ae. hensilli as the most important vector of CHIKV during the outbreak. Phylogenic analysis shows that virus strains on Yap are members of the Asia lineage and closely related to strains currently circulating in the Caribbean.
Chikungunya virus (CHIKV) is a member of the genus Alphavirus within the family Togaviridae. 1 , 2 The virus is endemic to Africa, India, and Asia. Phylogenetic analysis has shown that CHIKV form three major lineages, which represent adaption to regional conditions: an East, Central, South African (ECSA) lineage, a West African (WA) lineage, and an Asian lineage. Recently, international commerce and tourism have resulted in the introduction of viruses, particularly members of the ECSA and Asian lineages, into new geographic areas, resulting in epidemic outbreaks. 3 – 6
The disease associated with CHIKV was first described during an outbreak in Tanzania that occurred from 1952 to 1953. Virus isolations from field-collected mosquitoes and experimental transmission studies established Aedes aegypti (L.) as the primary epidemic vector of CHIKV. 7 Subsequent studies in Africa detected a sylvan transmission cycle among wild primates and Ae. (Stegomyia) and Ae. (Diceromyia) mosquitoes including Ae. (Stg.) africanus (Theobald), Ae. (Stg.) luteocephalus (Newstead), and Ae. (Dic.) furcifer (Edwards), but Ae. aegypti remained the primary vector in early urban epidemics in both Africa and Asia. 1 Experimental vector competence studies provided additional support for Ae. furcifer as an epidemic vector and implicated Mansonia africana (Theobald) as a potential vector in southern Africa. 8 In 2004, CHIKV spread from Kenya onto the islands of the Indian Ocean, including Reunion Island and beyond. 4 , 5 The epidemic on Reunion Island was unusual, because the epidemic vector was Ae. (Stg.) albopictus (Skuse); and subsequent vector competence studies showed that a single mutation, E1-A226V, enhanced virus replication and transmission in Ae. albopictus. 9 , 10 CHIKV continued to spread through infected human travelers, and autochthonous cases were reported in temperate Italy in 2007. 3 Entomological studies in Italy also showed that Ae. albopictus was the vector. 11
On October 19, 2013, the Yap State Department of Health Services of the Federated States of Micronesia (FSM) contacted the Centers for Disease Control and Prevention (CDC) concerning an outbreak of unexplained illness on Yap characterized by acute onset of fever, arthralgia, and rash (Pastula D and Hancock WT, personal communication). On October 30, the Arboviral Diseases Branch (ADB) diagnostic laboratory of the Division of Vector-Borne Diseases (DVBD) of the CDC in Fort Collins, CO identified CHIKV in multiple patient serum samples sent from Yap. An entomological team from the ADB was dispatched in November and conducted entomological surveillance on Yap from November 13 to 18, 2013. Goals of the entomological surveillance team were to (1) implicate the vector(s) based on isolation of virus from field-collected specimens and (2) determine the infection rate (IR) in potential vector species.
Yap State, comprising the main island group of Yap and 18 inhabited neighboring islands, is the westernmost state of the FSM ( Figure 1). In the preliminary 2010 census data, the population of Yap State was 11,376 people, with approximately 7,370 people residing on Yap. Average annual household income for the FSM was $4,600 in 2000, with an average household size of seven persons (
Map of Yap Island with 10 municipalities and 14 entomological collection sites labeled. Inset shows the location of Yap Island within the FSM and the location of Palau.
The main island group of Yap is composed of four closely associated islands, Marba, Gagil-Tomil, Maap, and Rumung, that lie within a fringing reef system. These four islands have a combined surface area of 100.4 km 2 and are approximately 25 km long and 10 km wide at their widest point. 12 , 13 The four main islands of Yap are the remnants of old, metamorphic, high volcanic islands, with a current maximum elevation of 174 m. The climate of Yap is characterized by constant warm temperatures, heavy rainfall, and high humidity. Mean annual rainfall is 3,028 mm. The driest months are February, March, and April, with an average monthly precipitation of less than 180 mm. 12 The wettest season is July through October, when average monthly rainfall is 330 mm. Mean annual temperature is 27°C, with mean monthly variation of only 2°C. Daytime maximum and nighttime minimum temperatures differ by an average of 7°C. Mean relative humidity ranges from 79% to 85%.
The tropical island vegetation of Yap has been modified by agricultural practices. The main crops are taro, coconut, breadfruit, yams, bananas, tapioca, citrus, and betel nut. Livestock, including chickens and swine, are maintained by many residents. Currently, tourism and government employment play major roles in the local economy.
Yap is divided into 10 municipalities ( Figure 1): Rumung, Maap, Gagil, Tomil, Fanif, Weloy, Dalipebinaw, Rull, Kanifay, and Gilman. The only urban area, Colonia, is located on Chamorro Bay and includes the port and government buildings.
Mosquito collections were made on the main island of Yap, Yap State, FSM ( Figure 1) from November 13 to 18, 2013. Collections were made at 14 sites: 12 suspect case-patient residences and 2 sites not associated with human disease; 11 of 12 suspect case-patient residences were single or extended family homes, whereas the remaining case-patient residence was located in an apartment complex (site 14). A list of names and residences for patients clinically diagnosed as having a recent or ongoing CHIKV infection by staff of the Yap State Hospital was provided to the entomological team. At each home, the entomological team verified that the patient resided at the residence and then obtained permission to collect mosquitoes. The 12 suspect case-patients residences were located in three municipalities ( Figure 1): 4 residences in Gagil (sites 10–13), 2 residences in Tomil (sites 2 and 14), and 6 residences in Rull (sites 4–9). In addition, collections were made at two sites not associated with human disease: the Division of Public Safety (Police Department and jail), which is site 3 and located in Colonia (Weloy), and the Tomil Community Health Center (site 1).
Adult mosquito collections were made at all 14 sites with 1 to 2 BG-Sentinel traps baited with BG-Lure and octenol (BioQuip, Rancho Dominguez, CA). Traps were run for 24 hours, and collection bags were changed each morning. At selected sites (sites 4, 6–9, 11, and 13), adult mosquitoes were also collected with a large aspirator (InsectaZooka; BioQuip). Aspirator collections were brief (5–20 minutes) and focused on resting sites in and around case-patient houses.
Collection bags from BG traps and aspirator cups were labeled each morning, placed on gel packs in a cooler, and returned to the field laboratory. Mosquitoes were removed from other taxa and debris with the aid of a dissecting microscope and placed in labeled cryotubes. Specimens in cryotubes were maintained on Yap at −20°C and shipped on frozen gel packs to Guam, where they were transferred to a −70°C ultra-low freezer. On Guam, cryotubes were repackaged and shipped on dry ice to the CDC in Fort Collins, CO.
In addition, 16 mosquito ovitraps (black plastic cups) were placed at four sites on Yap. Sites included two suspect case-patient residences (sites 3 and 9), grounds of the Environmental Protection Agency in Colonia (near 09°31.003′ N, 138°07.241′ E), and a forested site in Fanif municipality (09°33.930′ N, 138°07.609′ E). Papers from ovitraps were collected, dried, and packaged for shipment to the CDC in Fort Collins, CO, where the eggs were hatched and larvae were reared to the adult stage for identification.
All mosquitoes were identified on refrigerated chill tables using a dissecting microscope and taxonomic references, 14 – 16 and they were grouped into pools of 50 or less based on species, sex, site, and date.
The mosquito pools were placed into 2-mL tubes (Axygen Scientific, Union City, CA) with a BB and 1.75 mL bovine albumin-1 (BA-1) media, which consisted of Medium 199 with Hank's salts (M199-H; Sigma-Aldrich, St. Louis, MO), 0.05 M Tris buffer (pH 7.5; Invitrogen, Carlsbad, CA), 1% bovine serum albumin (Probumin, pH 7.0; Millipore, Billerica, MA), 2 mM
To test samples with a second methodology and detect low-titered samples, we also screened an aliquot of each mosquito pool for viral RNA using a real-time RT-PCR assay similar to that described previously, 17 except with the use of a new primer/probe set (3855/3957c/3886 FAM) designed to detect Asian and ECSA genotypes of CHIKV (Lanciotti RS, personal communication). Sequence information is as follows: CHIKV 3855, GAGCATACGGTTACGCAGATAG; CHIKV 3957c–a, TACTGGTGATACATGGTGGTTTC; CHIKV 3957c–b, TGCTGGTGACACATGGTGGTTTC; CHIKV 3886 FAM-a, ACGAGTAATCTGCGTACTGGGACGTA; and CHIKV 3886 FAM-b, ACGAGTCATCTGCGTATTGGGACGCA. Primer 3957c and probe 3886 FAM are produced by first reconstituting the individual a and b primers to 100 μM and the individual a and b probes to 25 μM and then mixing a and b in equal volumes to produce the mixed working stocks. Viral RNA was extracted from a 100-μL aliquot of supernatant taken from each mosquito pool using the Qiagen QIAamp Virus BioRobot 9604 Kit (Qiagen) on a Qiagen BioRobot Universal platform according to the manufacturer's protocol. Real-time RT-PCR was used to screen for CHIKV by adding 10 μL of each extracted RNA to 50 pmol primers and 10 pmol probes specific to the non-structural (nsP2) region of the CHIKV genome as described above and reagents from Qiagen's Quantitect Probe RT-PCR Kit according to the manufacturer's instructions. Reactions were conducted on the CFX96 Touch Real-Time PCR Detection System (Bio-Rad, Hercules, CA) according to the manufacturer's recommended cycling conditions.
From each mosquito pool that produced CPE in cell culture, viral RNA was isolated from the first Vero (V1) harvest using the QIAamp Viral RNA Kit according to the manufacturer's protocol (Qiagen). Total RNA was extracted from 140 μL cell supernatant and eluted from the kit columns in 60 μL elution buffer. Traditional RT-PCR assays were used to detect viral nucleic acid and for Sanger sequencing. For virus identification, a 5-μL aliquot of purified RNA was subjected to amplification using the OneStep RT-PCR Kit protocol (Qiagen) and combined with the flavivirus 18 or alphavirus group primers 19 or those specifically designed for the CHIKV genome: CHIKV 301, CAGGAAGTACCACTGCGTCTGCC 4 and CHIKV 1303, CCCCAGGAGTTTTTCATCTTCCATGTC (Ledermann JP and Powers AM, personal communication). The manufacturer's protocol was followed without modifications. The reactions were analyzed by gel electrophoresis, and correctly sized products were extracted and cleaned using the MinElute Gel Extraction Kit (Qiagen) and subsequently sequenced.
Two mosquito isolates (one from each vector species) were selected for full-length sequencing. The 5′ and 3′ genome termini were obtained using the 5′/3′ RACE Kit protocol following the manufacturer's recommendations (Roche, Indianapolis, IN). Sequencing reactions were performed on the PCR products using the Big Dye v3.1 Kit on an ABI 3130xl genetic analyzer (Applied Biosystems, Grand Island, NY) and CHIKV-specific primers (provided on request). Sequencing chromatograms were analyzed for sequence quality and assembly using the Lasergene 9 Core suite software (DNASTAR, Madison, WI).
Trees were constructed based on 33 published nucleotide sequences representing several members from each CHIKV genotype. Sequences were aligned using the ClustalW software algorithm, and the phylogenic trees were constructed under partial deletion of gaps. The evolutionary history was inferred using the maximum likelihood method based on the Tamura–Nei model with 1,000 bootstrap iterations, and a combination of maximum parsimony and MIONJ method with MCL distance matrix was used (MEGA 5.05). 20 , 21 There were 11,244 positions in the final dataset.
Entomological collections made with BG traps and aspirators from November 13 to 18, 2013 at 14 sites (including 12 suspect case-patient houses) resulted in the collection of 1,660 mosquito specimens representing seven taxa ( Table 1 ). Males were more frequently collected than females and represented 58% of collections. Culex (Cux.) quinquefasciatus Say was the most frequently collected species, being detected at all sites except case-patient residences 5, 10, and 13 ( Figure 1). However one site, the Tomil Community Health Center (site 1), accounted for the majority of specimens (701; 72.9%), which apparently resulted from localized production from a septic system.
Two species of Ae. (Stg.) were represented in collections ( Table 1 ). The native species Ae. (Stg.) hensilli Farner was the second most common species represented in our collections (487 [29.3%] specimens), whereas the introduced species Ae. (Stg.) aegypti was the third most frequently collected species (193 [11.6%] specimens). Ae. hensilli is nearly ubiquitous on Yap (Savage HM and Godsey M, unpublished data) and was collected at 11 of 14 sites (78.6%; all sites except 5, 9, and 14) ( Figure 1). In contrast, we only detected Ae. aegypti in collections from six (42.9%) sites (sites 3, 6, 7, 8, 9, and 14). The first five of the Ae. aegypti-positive sites were located in or near Colonia, whereas site 14 was an apartment complex housing persons previously displaced from other islands by a natural disaster ( Figure 1). Four sites (sites 3 and 6–8) located in Colonia and nearby developed areas of Rull yielded both species.
Homogenates from all 238 mosquito pools were inoculated onto Vero cells. Thirteen pools produced CPE in cell culture, and viral RNA isolated from V1 harvests was subsequently identified as CHIKV by RT-PCR ( Table 2 ). Testing all pools by real-time RT-PCR confirmed these results and detected one additional viral RNA-positive pool, YAP-13-2169 ( Table 2 ). Retesting of pool YAP-13-2169 failed to detect viable virus.
Thirteen of the CHIKV-positive pools were composed of female Ae. (Stg.) mosquitoes, and one pool, YAP-13-2147, was composed of male Ae. hensilli ( Table 2 ). Of 13-positive female pools, 6 pools were composed entirely of Ae. hensilli, 6 pools were composed entirely of Ae. aegypti, and 1 virus-positive pool, YAP-13-2024, contained two damaged specimens that were identified as Ae. (Stg.) spp. All female Ae. hensilli virus-positive pools were composed of deplete specimens, whereas three of six positive Ae. aegypti pools were composed of engorged specimens ( Table 2 ).
Virus-positive pools were detected at 5 of 14 sample sites ( Table 2 ). Four pools were suspect case-patient residences, and one pool, site 3, was the Police Department and jail located in central Colonia. Virus-positive mosquitoes were collected on multiple days (2–4 days) at three of four case-patient residences ( Table 2 ). Five of six Ae. aegypti-positive pools came from a single very productive case-patient residence (site 9). The maximum likelihood estimate 22 of the IR for Ae. hensilli female specimens at virus-positive sites varied from 29 to 127 per 1,000, with an overall IR for all sites over the study period of 38 per 1,000. The IR for Ae. aegypti at site 9 was 80 per 1,000, and the overall IR of Ae. aegypti at all sites over the study period was 70 per 1,000. Excluding the virus-positive pools composed of engorged females, in which virus may have originated from the fresh blood of viremic humans that had not replicated or disseminated in the mosquito, would result in an IR for Ae. aegypti of 36 per 1,000. The 95% confidence interval (95% CI) for difference of proportions 22 between the overall IR including all female specimens of Ae. aegypti and Ae. hensilli includes zero (95% CI = −26–105), indicating that the IRs in the two species are not significantly different.
Egg papers placed at four sites, including two case-patient residences (sites 3 and 9), the Environmental Protection Agency, and a forested site, produced only Ae. hensilli mosquitoes.
Full viral genome sequence was obtained from one Ae. aegypti (YAP-13-2039) and one Ae. hensilli (YAP-13-2148) mosquito pool ( Table 2 ). Each sequence contained 12,043 nucleotides, non-structural and structural open reading frames that encode the alphavirus genes, an OPAL stop codon at the nsP3–nsP4 junction, and untranslated regions at the 5′ end (76 nucleotides), the intergenic junction region (65 nucleotides), and the 3′ end (741 nucleotides; including a poly A tail). The two mosquito pool isolates are very closely related to each other and two CHIKV isolates obtained from human cases during the Yap outbreak. 6 Both human and mosquito isolates are members of the Asian genotype and very closely related to the strain currently circulating in the Caribbean ( Figure 2
Phylogenic relationship of the mosquito isolates (accession numbers KJ689452 and KJ689453) with 31 representatives of other CHIKV with three major lineages of viruses labeled: Asian, ECSA, and WA. Trees were generated by aligning the available full-length sequences using the maximum likelihood method and the Tamura–Nei model. Bootstrap values were determined using 1,000 replicates, and values are provided at each node. Gaps in the alignment were analyzed by partial deletion, which resulted in 11,244 positions in the final dataset. Accession numbers are listed for each strain.
Epidemic transmission of CHIKV has been primarily associated with two species of Ae. (Stg.): Ae. aegypti and Ae. albopictus. Ae. aegypti is an African species, and Ae. albopictus is an Asian species. Both species are successful colonizers and presently display greatly expanded distributions because of human commerce.
We detected two species of Ae. (Stg.) on Yap: the introduced species Ae. aegypti and the native species Ae. hensilli. Ae. albopictus was not present in our collections or those of three previous surveys (Savage HM and Godsey M, unpublished data). 27 , 28 Ae. hensilli is one of the most abundant species on Yap and common in all areas of the island, except the port area (Savage HM and Godsey M, unpublished data). 27 Larvae of this species occur in both natural and manmade habitats throughout the island, 27 , 28 including coconut shells and husks, which are common in natural areas and very abundant around homes, where coconut is consumed as a principal food item and coconut husks are stored to make fiber and use as firewood. In contrast, Ae. aegypti apparently did not successfully colonize Yap during World War II 14 and was first detected but rare in 1995 during a survey associated with an outbreak of dengue-4 virus. 27 Currently, Ae. aegypti has a patchy distribution on Yap island, being common in Colonia, the port area, and nearby dense residential areas of northern Rull and less common in other parts of the island; however, Ae. aegypti is occasionally present in rural communities, where piped drinking water is not available and/or 55-gallon barrels are abundant (Savage HM and Godsey M, unpublished data). 27 The only other species of Ae. (Stg.) on Yap, Ae. maehleri Bohart, is not readily detected in adult collections. 27 , 28 In the aquatic stages, Ae. maehleri is strongly associated with pitcher plants 14 but does occur in manmade habitats, particularly at residences surrounded by native vegetation. 27 , 28
Thirteen mosquito pools yielded viable CHIKV, and one additional RNA-positive pool was detected by real-time RT-PCR ( Table 2 ). Six pools were composed entirely of female Ae. hensilli, and one pool was composed of four male Ae. hensilli specimens. Six positive pools were composed entirely of Ae. aegypti females ( Table 2 ). One virus-positive pool contained two badly damaged specimens that were identified as Ae. (Stg.) spp. IRs for all female specimens of Ae. hensilli and Ae. aegypti were not significantly different ( P ≤ 0.05). Virus-positive pools were detected at 5 of 14 sampled sites ( Table 2 ). Four sites were suspect case-patient residences, and one site, site 3, was the Police Department and jail located in central Colonia. Five of six (83%) Ae. aegypti isolates came from a single productive case-patient residence, and three of six positive Ae. aegypti pools were composed of engorged specimens. Virus-positive mosquitoes were collected on multiple (2–4) days at three of four case-patient residences ( Table 2 ). Detection of virus on multiple days at case-patient residences and in engorged specimens is indicative of continued transmission at these case-patients' homes. Bed nets were provided to hospitalized patients to limit transmission within the wards; however, bed nets and insect repellents were rare in homes and in very limited supply for outpatients from the hospital, making transmission from viremic outpatients to other residents of virus-positive homes likely. Although the entomological team did not attempt to document continued transmission within a household, we did observe instances where a hospital-identified case-patient was ill but recovering, whereas a different family member was severely ill with symptoms consistent with CHIKV.
The data from case-patient residence site 9, where five of six Ae. aegypti-positive pools were identified and no Ae. hensilli were collected, show that Ae. aegypti is an efficient vector as expected. However, the greater number of sites that yielded virus in Ae. hensilli and the much wider distribution and greater abundance of Ae. hensilli on Yap suggest that Ae. hensilli was a more important vector on Yap than Ae. aegypti. The epidemiological data also support this contention. Human CHIKV cases were reported from all municipalities on Yap, indicating that the vector had a wide distribution, and the highest attack rate was observed in Gagil (Pastula D and Hancock WT, personal communication), a rural municipality where Ae. hensilli is abundant and Ae. aegypti is limited in distribution. Virus-positive pools of Ae. hensilli were also detected at the jail in central Colonia (site 3) and a residential property in the surrounding urbanized area (site 7), two sites where the ecology and larvae habitats should have been associated with greater Ae. aegypti abundance.
Concurrent with the CHIKV outbreak on Yap, human suspect case-patients were also reported from four islands of Yap State: Fais, Eauripik, Ulithi Atoll, and Ifalik Atoll (Pastula D and Hancock WT, personal communication). Although entomological surveillance was not conducted on these islands during the CHIKV outbreak of 2013, previous entomological surveys documented that Ae. hensilli was very common and that Ae. aegypti and Ae. albopictus were both absent on Fais (Aure F, unpublished data), Eauripik, 27 and Ulithi and Ifalik Atolls. 29
Previous studies have implicated Ae. hensilli as an epidemic vector of dengue viruses on Yap and Palau based on distribution, abundance, and positive association with risk factors for human disease, despite the absence of virus isolations from field-collected specimens. 27 , 30 Similarly, Ae. hensilli was implicated as an epidemic vector of Zika virus on Yap in 2007 based on abundance and distribution without the support of virus isolations from field-collected specimens. 31 This report is the first time that Ae. hensilli has been incriminated as a vector based on multiple virus isolates from field-collected specimens. Recently, laboratory studies have provided additional support for the vector status of Ae. hensilli for both CHIKV and Zika virus and weaker support for its role in dengue virus transmission. 28
Our detection of CHIKV in one pool composed of four male Ae. hensilli was surprising. Previous vector competence experiments and testing of field-collected specimens have provided mixed results, with most studies reporting the absence of vertical transmission 8 , 32 , 33 but others supporting its occurrence. 34 , 35 Recent experimental work with Ae. albopictus indicates that vertical transmission of CHIKV is rare and limited to the progeny of older females, because Bellini and others 35 detected virus-positive progeny at low rates (4.3 per 1,000) and only in progeny of the second gonotropic cycle. The epidemiological significance of vertical transmission is uncertain but coupled with venereal transmission, which has been shown in the laboratory for Ae. aegypti and CHIKV, 36 offers a possible secondary mechanism of virus maintenance in the vector.
The sequences for the virus isolates from mosquitoes and humans from Yap are very similar, and all are members of the Asia clade of CHIKV ( Figure 2). The Yap strains are most closely related to a human isolate from the British Virgin Islands. 6 The Yap–British Virgin Islands clade is the sister group to a lineage including two viruses isolated during CHIKV activity in 2012 in Asia: one reported from the Philippines and one reported from a sailor in a Chinese port. This suggests that the CHIKV outbreaks in the Pacific and Caribbean are parts of one larger outbreak and that the virus associated with both outbreaks originated in Asia.
Incrimination of Ae. hensilli as an epidemic vector of CHIKV in Yap based on multiple virus isolations from field-collected specimens combined with the established vector status of Ae. albopictus suggest that other members of the Scutellaris group of Ae. (Stg.) could also serve as vectors of CHIKV, including species occurring on remote islands, where the traditional epidemic vectors Ae. aegypti and Ae. albopictus are absent or limited in distribution. The implication of a number of species of the Scutellaris group as epidemic vectors of dengue viruses 27 and the implication of Ae. hensilli as an epidemic vector of Zika virus on Yap 28 , 31 further show the ability of Scutellaris group mosquitoes to vector a variety of viruses in different families. However, CHIKV has been isolated from mosquitoes in several subgenera of Aedes as well as the genus Mansonia, 1 and additional taxa may play a role in the transmission of CHIKV as it is introduced and becomes established in new geographic regions.
We greatly appreciate the loan of four BG traps from Laurent Gillaumot (Pasteur Institute of New Caledonia, Noumea, New Caledonia), which allowed us to initiate collections before our equipment arrived. We are indebted to Christina G. K. Fillmed and Peter R. Fattamag (Environmental Protection Agency, Yap State) for unrestricted use of laboratory space. The authors thank Vasiti Uluiviti (Regional Laboratory Coordinator, Pacific Island Health Officers Association, Guam Public Health Laboratory, Mangilao, Guam) for playing a critical role in shipping mosquitoes from Yap to Fort Collins. The authors also thank Tai-Ho Chen (Division of Global Migration and Quarantine, Centers for Disease Control and Prevention, Honolulu. HI) for facilitating communication among a large number of US and international partners. We are grateful to Robert S. Lanciotti and Ann Powers (Division of Vector-Borne Diseases, Centers for Disease Control and Prevention) for access to information on unpublished primers and Robert S. Lanciotti for assistance with the phylogenetic analysis. Daniel Pastula and Susan Hills (Division of Vector-Borne Diseases, Centers for Disease Control and Prevention) provided helpful comments on a draft of this manuscript. Logistic support was provided by Anthony Bay (Yap Hospital) and the Emergency Operations Centers, Centers for Disease Control and Prevention (Atlanta, GA).
Financial support: Travel and associated shipping costs in support of this project were provided by the Global Disease Detection Operations Center Outbreak Response Contingency Fund, Global Disease Detection Operations Center, Centers for Disease Control and Prevention.
Authors' addresses: Harry M. Savage, Jeremy P. Ledermann, and Kristen L. Burkhalter, Centers for Disease Control and Prevention, Fort Collins, CO, E-mails:
Number (percentage) of adult mosquito taxa collected with BG-Sentinel traps and aspirators on Yap during an outbreak of CHIKV (November 13–18, 2013)
| Taxa | Female, n (%) | Male, n (%) | Total, n (%) |
|---|---|---|---|
| Ae. (Aedimorphus) vexans nocturnus | 7 (1.0) | 7 (0.4) | |
| Ae. (Finlaya) near hui | 2 (0.3) | 1 (0.1) | 3 (0.2) |
| Ae. (Stegomyia) aegypti | 93 (13.3) | 100 (10.4) | 193 (11.6) |
| Ae. (Stegomyia) hensilli | 183 (26.2) | 304 (31.6) | 487 (29.3) |
| Ae. (Stegomyia) spp. | 7 (1.0) | 7 (0.4) | |
| Cx. (Cux.) quinquefasciatus | 405 (58.0) | 557 (57.9) | 962 (58.0) |
| Cx. (Lophoceraomyia) gossi | 1 (0.1) | 1 (< 0.1) | |
| Total | 698 (42.0) | 962 (58.0) | 1,660 |
Information on CHIKV-positive mosquito pools by real-time RT-PCR collected on Yap during an epidemic (November of 2013)
| Site number | Municipality | Collection date | Collection method | Species | Sex | Pool composition | Pool number | GenBank accession | |
|---|---|---|---|---|---|---|---|---|---|
| Engorged | Depleted | ||||||||
| 13-2 | Tomil | November 14 | BG trap | Ae. hensilli | Female | 0 | 14 | YAP-13-2055 * | |
| 13-2 | Tomil | November 15 | BG trap | Ae. hensilli | Female | 0 | 8 | YAP-13-2081 * | |
| 13-2 | Tomil | November 16 | BG trap | Ae. hensilli | Female | 0 | 12 | YAP-13-2107 * | |
| 13-3 † | Weloy (Colonia) | November 13 | BG trap | Ae. hensilli | Female | 0 | 3 | YAP-13-2018 * | |
| 13-6 | Rull | November 14 | BG trap | Ae. (Stegomyia) spp. | Female | 0 | 2 | YAP-13-2024 * | |
| 13-7 | Rull | November 17 | BG trap | Ae. hensilli | Male | 0 | 4 | YAP-13-2147 * | |
| 13-7 | Rull | November 17 | BG trap | Ae. hensilli | Female | 0 | 6 | YAP-13-2148 * | KJ689453 |
| 13-7 | Rull | November 17 | BG trap | Ae. aegypti | Female | 0 | 1 | YAP-13-2149 * | |
| 13-7 | Rull | November 18 | BG trap | Ae. hensilli | Female | 0 | 12 | YAP-13-2193 * | |
| 13-9 | Rull | November 14 | BG trap | Ae. aegypti | Female | 1 | 0 | YAP-13-2039 * | KJ689452 |
| 13-9 | Rull | November 15 | Aspirator | Ae. aegypti | Female | 5 | 0 | YAP-13-2096 * | |
| 13-9 | Rull | November 16 | BG trap | Ae. aegypti | Female | 0 | 7 | YAP-13-2130 * | |
| 13-9 | Rull | November 17 | Aspirator | Ae. aegypti | Female | 2 | 0 | YAP-13-2169 | |
| 13-9 | Rull | November 17 | Aspirator | Ae. aegypti | Female | 0 | 7 | YAP-13-2170 * |
Thirteen mosquito pools yielded viable virus.
All positive sites were suspect case-patient residences except site 13-3, which was the Division of Public Safety (Police Department and jail).
Genome differences observed between the CHIKV isolates from Yap in 2013.
| Nucleotide location * (gene) | ||||
|---|---|---|---|---|
| Strain | 764 (nsP1) | 4,365 (nsP3) | 4,540 (nsP3) | 5,302 (nsP3) |
| Ae. hensilli 13-2148 | R † | C | T | R |
| Ae. aegypti 13-2039 | R | C | T | A |
| Human 13-3807 | G | C | C | A |
| Human 13-3462 | G | T | T | A |
| Amino acid change | Gly→Arg | Thr→Ile | Silent | Ile→Met |
From the start of the genome.
A or G.


An easy way to compare pace, watts, speed and calories per hour on Concept2 ergometers.
Concept2 ergometers display pace, watts, and calories per hour on the performance monitor (PM) during a workout. Below is an interactive chart that displays each of these, as well as speed, to help in planning and performing your workouts. Mouse over or tap to see metrics at a given pace.
Below are descriptions of the terms and math involved in calculating the verious metrics in the above graph. Reading these is not necessary.
Note: formulas are presented in MathML, currently unsupported in the Google Chrome browser.
Pace is the length of time in seconds to cover a set distance. In the chart above, it is shown on the X axis, starting at 3:00 and going down to 1:00.
The PM shows split, which is pace over 500m for RowErg and SkiErg, and 1000m for BikeErg. It is the basis for other metrics in the chart above.
The PM shows power (P) each stroke, measured in watts.
The PM shows calories per hour. This is roughly how many calories a 79.5kg individual would “burn” over an hour based on the last recorded stroke variables of power (P) and time (t).
First we calculate the mechanical work (W) in kilojoules:
Then we determine calories per hour (E) based on this mechanical work W and time t of the stroke:
(See The Physics of Ergometers section 11 for information on the constants)Speed is not displayed by the PM. It is calculated by scaling the pace across an entire hour, and is measured in kilometres per hour (kph).
Note: speed is calculated and shown here to provide rough equivalency between Concept2 ergometers and other machines in terms of distance and time. This does not equate effort nor energy expenditure.
The above formulas and notes are summarised from original works by Concept2 and Anu Dudhia. More detailed information can be found by following the links below.


This is a paragraph. This is the same paragraph.
New paragraph. Second line in same paragraph.
New paragraph. Second line in same paragraph with linebreak at end.
New paragraph. Second line in same paragraph if (escaped-line-breaks) enabled.


Note : Production version has {{ edition.history.masterAdditional }} more commits than the edition branch.
Loading history...
Differences between {{ edition.history.fetchDiffSelected }} and {{ edition.history.fetchDiffTarget }} :
Loading git diff...
Error loading git diff.
There are no differences between these two versions.
|
only in production
production version
|
{{ log.date }} |
{{ log.message }}
↪ {{ edition.history.masterAdditional }} more commits from there in production version |
Add file : Upload successful!
Selected : {{ edition.fileManager.selectedPath }}
Rename :
Please enter a short commit message describing your changes :
Saving...
Saved!
Production version has {{ edition.saveInfo.masterCommits.length }} more commits than the edition branch :
| {{ log.date }} | {{ log.message }} |
A pull request will send the modifications to administrators for review. They will need to validate them before publication.
This will create a pull request on your behalf.
You will need your own credentials. This will allow you to create the pull request in your own name, and customize it.
Creating pull request...
Published!
Please create your pull request from this link : {{ edition.publishInfo.mprUrl }}
Your pull request has been created : {{ edition.publishInfo.prUrl }}
An error occured.
Publishing {{ edition.publishInfo.commits.length }} commits :
| {{ log.date }} | {{ log.message }} |
This will publish your changes directly to production, merging them. You will need to enter credentials with rights to push.
This will only merge the changes from production into the editor version.
Merging...
Merged!
An error occured. Please check your credentials.
You may now import the changes to production :
Publishing {{ edition.mergeInfo.commits.length }} commits :
| {{ log.date }} | {{ log.message }} |
Production has {{ edition.mergeInfo.commitsMaster.length }} additional commits :
| {{ log.date }} | {{ log.message }} |


No results were found, please try again
Results
-
of
Results
1 -
of
No Results
Show
10
&
&size=10">10
25
&
&size=25">25
50
&
&size=50">50
Title/Description
Content Type
Language
Date
Collection
?id=
">
?id=
">
&
">


applyMiddleware(...middleware)
#
Middleware is the suggested way to extend Redux with
custom functionality. Middleware lets you wrap the
store's
dispatch
method for fun and profit. The key feature of
middleware is that it is composable. Multiple
middleware can be combined together, where each
middleware requires no knowledge of what comes before
or after it in the chain.
The most common use case for middleware is to support asynchronous actions without much boilerplate code or a dependency on a library like Rx. It does so by letting you dispatch async actions in addition to normal actions.
For example,
redux-thunk
lets the action creators invert control by dispatching
functions. They would receive
dispatch
as an argument and may call it asynchronously. Such
functions are called thunks. Another example
of middleware is
redux-promise. It lets you dispatch a
Promise
async action, and dispatches a normal action when the
Promise resolves.
Middleware is not baked into
createStore
and is not a fundamental part of the Redux
architecture, but we consider it useful enough to be
supported right in the core. This way, there is a
single standard way to extend
dispatch
in the ecosystem, and different middleware may compete
in expressiveness and utility.
#
Arguments-
...middleware
(arguments): Functions that conform to the Redux middleware API. Each middleware receivesStore
'sdispatch
andgetState
functions as named arguments, and returns a function. That function will be given thenext
middleware's dispatch method, and is expected to return a function ofaction
callingnext(action)
with a potentially different argument, or at a different time, or maybe not calling it at all. The last middleware in the chain will receive the real store'sdispatch
method as thenext
parameter, thus ending the chain. So, the middleware signature is({ getState, dispatch }) => next => action
.
#
Returns
(Function) A store enhancer that applies the
given middleware. The store enhancer signature is
createStore => createStore
but the
easiest way to apply it is to pass it to
createStore()
as the last enhancer
argument.
#
Example: Custom Logger Middleware#
Example: Using Thunk Middleware for Async Actions#
Tips-
Middleware only wraps the store's
dispatch
function. Technically, anything a middleware can do, you can do manually by wrapping everydispatch
call, but it's easier to manage this in a single place and define action transformations on the scale of the whole project. -
If you use other store enhancers in addition to
applyMiddleware
, make sure to putapplyMiddleware
before them in the composition chain because the middleware is potentially asynchronous. For example, it should go before redux-devtools because otherwise the DevTools won't see the raw actions emitted by the Promise middleware and such. -
If you want to conditionally apply a middleware, make sure to only import it when it's needed:
This makes it easier for bundling tools to cut out unneeded modules and reduces the size of your builds.
-
Ever wondered what
applyMiddleware
itself is? It ought to be an extension mechanism more powerful than the middleware itself. Indeed,applyMiddleware
is an example of the most powerful Redux extension mechanism called store enhancers. It is highly unlikely you'll ever want to write a store enhancer yourself. Another example of a store enhancer is redux-devtools. Middleware is less powerful than a store enhancer, but it is easier to write. -
Middleware sounds much more complicated than it really is. The only way to really understand middleware is to see how the existing middleware works, and try to write your own. The function nesting can be intimidating, but most of the middleware you'll find are, in fact, 10-liners, and the nesting and composability is what makes the middleware system powerful.
-
To apply multiple store enhancers, you may use
compose()
.


Ohio State Fans Are Trying To “Boycott” ESPN’s College GameDay
by Andrew HolleranESPN’s College GameDay will be in Columbus, Ohio on Saturday for Ohio State’s big home game against Penn State. Not everyone is happy about this.
A group of Ohio State fans are trying to get #BoycottGameDay trending on Twitter in anticipation of Saturday’s show. Buckeyes fans have had issues with ESPN for a while, but things have boiled up thanks to the Urban Meyer/Zach Smith scandal. Some fans also believe the Worldwide Leader has an SEC bias.
FOX’s pregame show, Big Noon Kickoff, will also be in town. That show features Meyer, who’s been highly praised for his work as an analyst.
Meyer has been vocal on social media this week, pushing for Ohio State fans to attend his show and not College GameDay.
It’s unclear how successful this #BoycottGameDay attempt will be, but Buckeyes fans are continuing to tweet about it.
ESPN’s College GameDay has been the preeminent college football pregame show for decades and the show has been to Ohio State several times. There are likely a bunch of fan bases that think ESPN gives too much love to Ohio State, while there are Buckeyes fans who think it’s the opposite.
It will be interesting to see what happens on Saturday morning.
Everything will kick off on Saturday morning in Columbus.


|
At a given iteration of the main loop, and because of the cartesian
property of the distribution scheme, each panel factorization occurs in
one column of processes. This particular part of the computation lies
on the critical path of the overall algorithm. The user is offered the
choice of three (Crout, left- and right-looking) matrix-multiply based
recursive variants. The software also allows the user to choose in how
many sub-panels the current panel should be divided into during the
recursion. Furthermore, one can also select at run-time the recursion
stopping criterium in terms of the number of columns left to factorize.
When this threshold is reached, the sub-panel will then be factorized
using one of the three Crout, left- or right-looking matrix-vector based
variant. Finally, for each panel column the pivot search, the associated
swap and broadcast operation of the pivot row are combined into one
single communication step. A binary-exchange (leave-on-all) reduction
performs these three operations at once. |
|


[% extends "angularjs_study/views/templates/ng-base.html" %] [% block content %]
Model: {{asyncSelected | json}}


declared in a lambda expression must either be declared final
or be
effectively final (§4.12.4),
or a compile-time
error occurs where the use is attempted.
Any local variable used but not declared in a lambda body must be definitely assigned (§16 (Definite Assignment)) before the lambda body, or a compile-time error occurs.
Similar rules on variable use apply in the body of
an inner class (§8.1.3). The
restriction to
effectively final variables prohibits access to dynamically-changing
local variables, whose capture would likely introduce concurrency
problems. Compared to the final
restriction, it reduces the clerical
burden on programmers.
The restriction to effectively final variables
includes standard loop variables, but not enhanced-for
loop
variables, which are treated as distinct for each iteration of the
loop (§14.14.2).
The following lambda bodies demonstrate use of effectively final variables.
void m1(int x) { int y = 1; foo(() -> x+y); // Legal: x and y are both effectively final. } void m2(int x) { int y; y = 1; foo(() -> x+y); // Legal: x and y are both effectively final. } void m3(int x) { int y; if (...) y = 1; foo(() -> x+y); // Illegal: y is effectively final, but not definitely assigned. } void m4(int x) { int y; if (...) y = 1; else y = 2; foo(() -> x+y); // Legal: x and y are both effectively final. }
void m5(int x) { int y; if (...) y = 1; y = 2; foo(() -> x+y); // Illegal: y is not effectively final. } void m6(int x) { foo(() -> x+1); x++; // Illegal: x is not effectively final. } void m7(int x) { foo(() -> x=1); // Illegal: x is not effectively final. } void m8() { int y; foo(() -> y=1); // Illegal: y is not definitely assigned before the lambda. } void m9(String[] arr) { for (String s : arr) { foo(() -> s); // Legal: s is effectively final // (it is a new variable on each iteration) } } void m10(String[] arr) { for (int i = 0; i < arr.length; i++) { foo(() -> arr[i]); // Illegal: i is not effectively final // (it is not final, and is incremented) } }
A lambda expression is compatible in an assignment context, invocation context, or casting context with a target type T if T is a functional interface type (§9.8) and the expression is congruent with the function type of the ground target type derived from T.
The ground target type is derived from T as follows:
If T is a wildcard-parameterized functional interface type and the lambda expression is explicitly typed, then the ground target type is inferred as described in §18.5.3.
If T is a wildcard-parameterized functional interface type and the lambda expression is implicitly typed, then the ground target type is the non-wildcard parameterization (§9.9) of T.
A lambda expression is congruent with a function type if all of the following are true:
The number of lambda parameters is the same as the number of parameter types of the function type.
If the lambda expression is explicitly typed, its formal parameter types are the same as the parameter types of the function type.
If the lambda parameters are assumed to have the same types as the function type's parameter types, then:
If the function type's result is void
, the lambda
body is
either a statement expression (§14.8)
or a void
-compatible block.
If the function type's result is a (non-void
) type
R,
then either i) the lambda body is an expression that is
compatible with R in an assignment context, or ii) the
lambda body is a value-compatible block, and each result
expression (§15.27.2) is
compatible
with R in an assignment context.
If a lambda expression is compatible with a target type T, then the type of the expression, U, is the ground target type derived from T.
It is a compile-time error if any class or interface mentioned by either U or the function type of U is not accessible from the class or interface in which the lambda expression appears.
For each non-static
member method m
of U, if the function type
of U has a subsignature of the signature of m
,
then a notional
method whose method type is the function type of U is deemed to
override m
, and any compile-time error or unchecked warning
specified in §<IP_ADDRESS> may occur.
A checked exception that can be thrown in the body of the lambda expression may cause a compile-time error, as specified in §11.2.3.
The parameter types of explicitly typed lambdas are required to exactly match those of the function type. While it would be possible to be more flexible - allow boxing or contravariance, for example - this kind of generality seems unnecessary, and is inconsistent with the way overriding works in class declarations. A programmer ought to know exactly what function type is being targeted when writing a lambda expression, so he should thus know exactly what signature must be overridden. (In contrast, this is not the case for method references, and so more flexibility is allowed when they are used.) In addition, more flexibility with parameter types would add to the complexity of type inference and overload resolution.
Note that while boxing is not allowed in a strict invocation context, boxing of lambda result expressions is always allowed - that is, the result expression appears in an assignment context, regardless of the context enclosing the lambda expression. However, if an explicitly typed lambda expression is an argument to an overloaded method, a method signature that avoids boxing or unboxing the lambda result is preferred by the most specific check (§<IP_ADDRESS>).
If the body of a lambda is a statement expression
(that is, an expression that would be allowed to stand alone as a
statement), it is compatible with a void
-producing function type;
any result is simply discarded. So, for example, both of the following
are legal:
// Predicate has aboolean
result java.util.function.Predicate<String> p = s->
list.add(s); // Consumer has avoid
result java.util.function.Consumer<String> c = s->
list.add(s);
Generally speaking, a lambda of the form
(
)
->
expr,
where expr is a statement expression, is
interpreted as either (
)
->
{
return
expr;
}
or (
)
->
{
expr;
}
, depending
on the target type.
At run time, evaluation of a lambda expression is similar to evaluation of a class instance creation expression, insofar as normal completion produces a reference to an object. Evaluation of a lambda expression is distinct from execution of the lambda body.
Either
a new instance of a class with the properties below is allocated and
initialized, or an existing instance of a class with the properties
below is referenced. If a new instance is to be created, but there is
insufficient space to allocate the object, evaluation of the lambda
expression completes abruptly by throwing an OutOfMemoryError
.
The value of a lambda expression is a reference to an instance of a class with the following properties:
The class implements the targeted functional interface type and, if the target type is an intersection type, every other interface type mentioned in the intersection.
Where the lambda expression has type U, for each non-static
member method m
of U:
If the function type of U has a subsignature of the signature
of m
, then the class declares a method that overrides m
. The
method's body has the effect of evaluating the lambda body, if
it is an expression, or of executing the lambda body, if it is a
block; if a result is expected, it is returned from the
method.
If the erasure of the type of a method being overridden differs
in its signature from the erasure of the function type of U,
then before evaluating or executing the lambda body, the
method's body checks that each argument value is an instance of
a subclass or subinterface of the erasure of the corresponding
parameter type in the function type of U; if not, a ClassCastException
is
thrown.
The class overrides no other methods of the targeted functional
interface type or other interface types mentioned above,
although it may override methods of the Object
class.
These rules are meant to offer flexibility to implementations of the Java programming language, in that:
A new object need not be allocated on every evaluation.
Objects produced by different lambda expressions need not belong to different classes (if the bodies are identical, for example).
Every object produced by evaluation need not belong to the same class (captured local variables might be inlined, for example).
If an "existing instance" is available, it need not have been created at a previous lambda evaluation (it might have been allocated during the enclosing class's initialization, for example).
If the targeted functional interface type is a
subtype of java.io.Serializable
, the resulting object will automatically be
an instance of a serializable class. Making an object derived from a
lambda expression serializable can have extra run time overhead and
security implications, so lambda-derived objects are not required to
be serializable "by default".
A
constant expression is an expression denoting a
value of primitive type or a String
that does not complete abruptly
and is composed using only the following:
Literals of primitive type and literals of type String
(§3.10.1, §3.10.2,
§3.10.3, §3.10.4,
§3.10.5)
Casts to primitive types and casts to type String
(§15.16)
The unary operators +
, -
, ~
, and !
(but
not ++
or --
) (§15.15.3,
§15.15.4,
§15.15.5,
§15.15.6)
The multiplicative operators *
, /
, and
%
(§15.17)
The additive operators +
and -
(§15.18)
The shift operators <<
, >>
,
and >>>
(§15.19)
The relational operators <
, <=
,
>
, and >=
(but not
instanceof
) (§15.20)
The equality operators ==
and !=
(§15.21)
The bitwise and logical operators &
, ^
, and |
(§15.22)
The conditional-and operator &&
and the conditional-or
operator ||
(§15.23,
§15.24)
The ternary conditional operator ? :
(§15.25)
Parenthesized expressions (§15.8.5) whose contained expression is a constant expression.
Simple names (§<IP_ADDRESS>) that refer to constant variables (§4.12.4).
Qualified names (§<IP_ADDRESS>) of the
form
TypeName .
Identifier that refer to constant variables
(§4.12.4).
Constant
expressions of type String
are always "interned" so as to share
unique instances, using the method String.intern
.
A constant expression is always treated as FP-strict (§15.4), even if it occurs in a context where a non-constant expression would not be considered to be FP-strict.
Constant expressions are used as case
labels
in switch
statements (§14.11)
and have a
special significance for assignment conversion
(§5.2) and
initialization of a class or interface
(§12.4.2).
They may also govern the ability of a
while
, do
, or for
statement to complete normally
(§14.21),
and the type of a conditional operator
? :
with numeric operands.
Example 15.28-1. Constant Expressions
true (short)(1*2*3*4*5*6) Integer.MAX_VALUE / 2 2.0 * Math.PI "The integer " + Long.MAX_VALUE + " is mighty big."


VSSC’s flame-proof device set for commercialisation
It can be used on wide range of surfaces
by Tiki RajwiA space-tech spinoff from Indian Space Research Organisation’s Vikram Sarabhai Space Centre (VSSC) that can find use in houses, vehicles and commercial establishments such as cinema halls as an easy-to-use, flame-proof coating is now ready for technology transfer for commercialisation.
Christened CASPOL, the water-based product can be used on a wide range of surfaces including masonry, textiles, paper, wood and even thatched roofing, according to the VSSC.
Thermal protection
The space facility originally developed it for the thermal protection foam pads used in ISRO launch vehicles.
The VSSC had formally announced the development of CASPOL in January 2015.
“Since then, the product has undergone rigorous tests required to get it certified for commercial production,” a VSSC official said. The Technology Transfer and Industrial Coordination Division of the VSSC is now on the lookout for industry partners who can commercialise the product.
The USP of CASPOL, according to the VSSC, is that it is eco-friendly, cheap and can be brushed or sprayed on to the chosen surface.
The coating also has waterproof properties and can be applied on concrete surfaces to prevent water from seeping in.
In buses and trains, for instance, the foam used in passenger seats can be coated with CASPOL, significantly reducing danger from fires. The same goes for cinema halls and auditoriums, according to the VSSC.
Market potential
“Since flame proofing of foam materials using CASPOL can be achieved through less expensive processes, there is considerable market potential for CASPOL in Indian foam market,” the space unit noted.
Ceramic composition
CASPOL has been developed using a ceramic composition dispersed in an aqueous polymeric emulsion that contains flame-retardant components.
All the ingredients are dispersed in water to get a suspension of the required viscosity, according to the VSSC.


Here's some terminology used in the tutorial that you might be unfamiliar with.
 Diana Kimball, Coding as a Liberal Art
Technically, API stands for Application Programming Interface. Practically speaking, it's really just a collection of (hopefully) well-documented functions and similar abstractions that allow you to do what you want to do with a programming language.
If a programming language is a language, then an API is a bit like a specialized dictionary, providing useful nouns and verbs that programs can use to do their job.
See the TinyTurtle API for an example.
A function is like a verb, or action, in a programming language. It's easy to create your own; see the Making new functions section of JavaScript for Cats to learn how.
In some programming languages, functions are referred to as procedures or subroutines. They're all basically the same thing.
JavaScript is an astonishing language, in the very worst sense. Douglas Crockford
JavaScript is a programming language created by Brendan Eich in 1995 under the time constraints of the First Browser War and some marketing constraints imposed by Netscape's partnership with Sun Microsystems. These contributed to it being a very misunderstood programming language.
Because of this, JavaScript is not a very easy language to learn, and it's a lot less readable than languages that lacked its constraints. However, it's also ubiquitous: it runs in web pages, which makes it extremely easy to share, and it can also be used to program robots, financial trading platforms, web servers, and a lot more. In other words, if there's something you want to do, there's probably an API for it in JavaScript, which makes it an extremely useful language despite its flaws.


P L E N U M
HOME
ABOUT
WHAT WE DO
MEET THE TEAM
JOIN US
SUBMISSIONS
PAPER SUBMISSIONS
MAP SUBMISSIONS
CAUSAL ENTRIES
ASSIGNMENT FEEDBACK
PUBLICATIONS
2021 ISSUE
2019 ISSUE
2015 ISSUE
2012 ISSUE
CONTACT US