Insecticide treated bed nets have been recommended and proven efficient as a measure to protect African populations from malaria mosquito vector Anopheles spp. This study evaluates the consequences of bed nets use on vectors resistance to insecticides, their feeding behavior and malaria transmission in Dielmo village, Senegal, were LLINs were offered to all villagers in July 2008.
Adult mosquitoes were collected monthly from January 2006 to December 2011 by human landing catches (HLC) and by pyrethroid spray catches (PCS). A randomly selected sub-sample of 15–20% of An. gambiae s.l. collected each month was used to investigate the molecular forms of the An. gambiae complex, kdr mutations, and Plasmodium falciparum circumsporozoite (CSP) rate. Malaria prevalence and gametocytaemia in Dielmo villagers were measured quarterly.
Insecticide susceptible mosquitoes (wild kdr genotype) presented a reduced lifespan after LLINs implementation but they rapidly adapted their feeding behavior, becoming more exophageous and zoophilic, and biting earlier during the night. In the meantime, insecticide-resistant specimens (kdr L1014F genotype) increased in frequency in the population, with an unchanged lifespan and feeding behaviour. P. falciparum prevalence and gametocyte rate in villagers decreased dramatically after LLINs deployment. Malaria infection rate tended to zero in susceptible mosquitoes whereas the infection rate increased markedly in the kdr homozygote mosquitoes.
Dramatic changes in vector populations and their behavior occurred after the deployment of LLINs due to the extraordinary adaptative skills of An. gambiae s. l. mosquitoes. However, despite the increasing proportion of insecticide resistant mosquitoes and their almost exclusive responsibility in malaria transmission, the P. falciparum gametocyte reservoir continued to decrease three years after the deployment of LLINs.
The preventive measures against malaria recommended by WHO include anti-vectorial procedures such as indoor residual spraying (IRS), use of long-lasting insecticide-treated bed nets (LLINs) and destruction of larvae breeding sites [1]. The presence of insecticide treated materials inside the habitation has consequences on the vector populations, reducing density, survival, contact with humans and feeding frequency [2], [3], [4]. As a result, in areas where LLINs have been used, malaria transmission, prevalence, morbidity and mortality have decreased significantly [2], [5], [6], [7], [8], [9].
Anopheles vectors are known to display remarkable adaptation skills that enable their survival in widely varying environmental conditions [10]. Although the use of insecticide reduces mosquito density, it has led to the selection of resistant strains [11], [12], [13], [14]. Multiple mechanisms of resistance to insecticides have been observed in anopheline populations, including target site mutation (kdr) and increased metabolic detoxification [15]. Behavioural modifications have also been reported in mosquitoes exposed to insecticide, such as a shift from endophilic to exophilic behaviour and changes in time of feeding [16], [17], [18], [19]. LLINs remain an effective tool to reduce the burden of malaria, but the long term effects of insecticide on vector populations and malaria transmission remain to be evaluated.
Indeed, the long term efficacy of LLINs in reducing malaria morbidity has recently been questioned in Western Africa, both in a rural area of Senegal, with evidence of a rebound in malaria morbidity, coinciding with the emergence notably the kdr mutation [20], [21] and in Benin were universal coverage with LLINs and/or IRS have shown no benefit on morbidity in comparison to target LLINs use [22]. In the present study, we examined the changes in the principal malaria mosquito vectors following implementation of a universal coverage with LLINs (Permanet 2) in July 2008. Vector density, composition, malaria transmission and behavioural characteristics were studied in the light of emerging insecticide-resistant mosquitoes, 31 months before and 41 months after the generalized use of LLINs and related to changes in malaria epidemiology.
This study is part of the Dielmo Project that has been described in details elsewhere [23]. Briefly, the village of Dielmo (13°43′N, 16°24′W) is located 280 km southeast of Dakar and about 15 km north of the Gambian border in an area of Sudan-type savannah. About 500 inhabitants are living in the village. Rainfall occurs during a four-month period, from mid-June to mid-October. Dielmo is situated on the marshy bank of a small permanent stream, with anopheles breeding sites present all year round. During the second week of July 2008, all villagers were offered long-lasting deltamethrin-treated nets (LLINs) (Permanet 2.0). Household visits were conducted quarterly to confirm ownership and to monitor their use and condition. During these household visits, ownership of bednets in the study population after the implementation of LLINs was respectively 97.7% in 2008 and 95.6 in 2011. LLINs of all villagers were renewed in July 2011 after we documented a rebound in malaria morbidity. There were no LLINs in Dielmo before July 2008. A detail description of the study area and the history of different malaria treatments were given previously [20], [23].
Adult mosquitoes were collected monthly from January 2006 to December 2011. Night human landing catches (HLC) were conducted two or three nights each month, between 7:00 PM and 7:00 AM, in two indoor and two outdoor sites. In each site, two trained collectors (adult male volunteers) worked alternatively for one hour and rested for one hour. Pyrethroid spray catches (PCS) were performed at 7:00 AM by spraying Deltamethrin (Yotox) for 30–45 seconds in a room. After 10 minutes, dead and immobilized mosquitoes were collected. Anopheline identification was performed following morphologic identification keys [24]. Sampling sites were the same throughout the whole study time. Except LLINs and PSC, no other insecticide was used in the village.
Infection rates were determined in all anophelines by performing ELISA with monoclonal antibodies against Plasmodium falciparum Circumsporozoite Protein (CSP) on the crushed head and thorax [25]. In a randomly selected sub-sample of 15–20% of An. gambiae s.l. collected each month, the identification of L1014F and L1014S kdr mutations was performed by PCR according to Martinez-Torres and al. and Ranson and al. [26], [27] and identified of sub-species and molecular forms by PCR RFLP [28] on the carcasses of dissected mosquitoes.
Plasmodium falciparum gametocyte prevalence and density were measured quarterly from 2006 to 2011 in all residents of the village enrolled in the project. Blood was taken using a finger prick and we examined 200 oil-immersion fields (approximately 0.5 µl of blood) with a first reading in the field followed by laboratory confirmation.
Rates were compared using Fisher exact and Pearson Chi 2 tests, quantitative data by non parametric Mann-Whitney or Kruskal-Wallis tests. Multivariate analyses were performed using logistic models (Likehood ratio and Wald Chi 2 are reported). Statistical analyses were performed using Stata 10.1 software. A P value of 0.05 or less was considered as significant.
The Dielmo project was initially approved by the Ministry of Health of Senegal and the assembled village population. Approval was then renewed on a yearly basis. Audits were regularly conducted by the National Ethics Committee of Senegal and ad-hoc committees of the Ministry of Health, the Pasteur Institute and the Institut de Recherche pour le Développement. Written informed consents were obtained individually from all participants in our study or the parents of children younger than 15 years.
From January 2006 to December 2011, 14,292 Anopheles specimens were sampled, by HLC during 744 man night captures; among them 8,855 (62.0%) were Anopheles gambiae sensu lato and 5,190 (36.3%) Anopheles funestus (Table 1 in File SI).
The human biting rate (HBR) of An. gambiae s.l. remained stable from 2006 to 2011 and was always highly seasonal (Figure A in File SI). The implementation of LLINs had little influence on HBR (11.8 bites/man/night before vs. 12.0 after). The Entomological Inoculation Rate (EIR) of An. gambiae, decreased temporarily in 2009, i.e. the year after the implementation of LLINs (0.14 infected bites/man/night vs. 0.22 to 0.34 between 2006 and 2008), but increased again in 2010 and 2011 (0.24 and 0.21 respectively). When calculated globally, EIR only slightly decreased during the period after the implementation of LLINs (0.18 infected bite/man/night vs. 0.33 before).
A subsample of 1,494 An. gambiae s.l. was used for taxa identification. Among them 24.6% were classified as An. arabiensis, 25.5% An. coluzzii (previously molecular form M), 49.7% An. gambiae molecular form S, and only 0.2% hybrids ( An. coluzzii and molecular form S) (Table 2 in File SI). The proportion of An. gambiae molecular form S decreased in 2008 and 2009 (just after the implementation of LLINs) and increased again in 2010 and 2011 (Pearson Chi 2<0.001). By contrast, the proportion of An. coluzzii and An. arabiensis increased in 2008 and 2009 (Pearson Chi 2<0.001, Table 2 in File SI).
An. funestus was present all year round before LLINs; they almost disappeared after July 2008 only to reappear in September 2010 (SI Figure A in File SI). HBR dropped from 17.2 bites/man/night during the period before LLINs to 1.2 after. The EIR of An. funestus was 1.2 infected bites/man/night before LLINs, but zero from August 2010 to the end of 2011.
No Anopheles specimen with L1014S kdr mutation was identified in the study. Specimens with L1014F (hereafter referred to as kdr R) allele were detected at a low and constant rate from 2006 to 2008 (Table 2 in File SI). A significant increase in R allelic frequency was observed in 2009 (9.72% vs. 2.92% in 2006–2008, Pearson Chi 2 p<0.001), with a dramatic rise in 2010 (23.16%) and 2011 (30.86%, Pearson Chi 2 p<0.001 in both cases). The relative frequency of RR and RS genotype was higher in An. gambiae molecular form S than in An. coluzzii or in An. arabiensis.
Hourly aggressiveness of An. gambiae s.l. analyzed by kdr genotype group, after the implementation of LLINs, showed a shift of aggressiveness to earlier hours (09:00 PM to 01:00 AM) in the SS group ( Fig. 1 panel A). This resulted in an earlier median feeding time in the SS kdr group after LLINs vs. before (Man-Whitney test p<0.0001, Fig. 1 panel B). No significant change was observed in the RS genotype group. During the period after LLINs, SS genotype specimens had a significantly earlier median feeding time than RS and RR specimens (Kruskal-Wallis test p<0.0001).
Panel A represents hourly aggressiveness in specimens sampled each hour after the implementation of LLINs as a percentage of the number of specimen sampled during the night. Panel B boxes are 25th to 75th percentiles with median hour, lines are 1.5 interquartile and dots outside values, for specimens sampled from Jan 2006 to Jul 2008 (Before LLINs) and between August 2009 and Dec 2011 (After LLINs). Changes in median hour of aggressiveness observed in the SS specimen group after the implementation of LLINs (Mann-Whitney test p<0.0001) but not in RS specimens. Earlier aggressiveness detected in SS group in comparison to RS and RR after LLINs (Kurskal-Wallis test p<0.0001).
Parity rate in the Anopheles population significantly changed over time during the study ( Fig. 2, panel A): it decreased in 2008 and 2009 in comparison to 2006 (Fisher p<0.001) and increased in 2010 to a value that was not significantly different from 2006 and again in 2011(p<0.005 vs. 2006 and p<0.001 vs. 2010). The same changes were observed in all three taxa groups ( Fig. 2 panel B). From 2006 to 2008, no significant difference was observed in parity rate among kdr groups. From 2009 to 2011, parity rate was significantly lower in the SS group than in the RS and RR groups (Fisher p = 0.02, 0.01 and 0.03 in 2009, 2010 and 2011 respectively).
Rates in the total Anopheles gambiae s.l. population are given in brakets. Data in the table represent Odd ratio (OR) obtained with a logistic model of parity with following factors: KDR genotype, taxa and year. Likehood ratio Chi 2 = 244.72, p<0.001.
In a logistic model adjusted on taxa and year, KDR genotype was significantly associated with parity with both RS and RR groups being more pareous than SS group. When adjusted on KDR and year, taxa group were not significantly associated with parity (Chi 2 = 2.14, p = 0.54). When adjusted on KDR groups and taxa, parity was significantly associated with trial year with a reduced parity in 2008, 2009 and 2010.
Endophageous rate significantly changed over time in the Anopheles population (Pearson Chi 2 p<0.001, Fig. 3 panel A). Endophageous rate did not significantly vary in both RR and RS genotype groups (Pearson Chi 2 = 0.5 and 0.6 respectively), it significantly dropped in 2010 and 2011 in comparison to 2009 in the SS group (Pearson Chi 2<0.001 for both years). SS specimens were less endophagic than other genotypes even before the implementation of LLINs but this difference was much more dramatic in 2010 and 2011. When studied among taxa, exophagic behaviour significantly changed. Especially, endophageous rate of An. arabiensis decreased from 2008 to 2011 and endophageous rate of An. gambiae S decreased in 2008 only ( Fig. 3 panel B).
Rates in the total Anopheles gambiae s.l. population are given in brakets. Data in the table represent Odd ratio (OR) obtained with a logistic model of parity with following factors: KDR genotype, taxa and year. Likehood ratio Chi 2 = 330.68, p<0.001.
In a logistic model adjusted on taxa and year of study, the KDR group is significantly associated with the endophageous rate, with both RS and RR groups having an increased endophagy in comparison to SS KDR group. Taxa groups were also significantly associated with the endophageous rate when adjusted on KDR and year with both An. coluzzii and An. gambiae S form being more endophageous than An. arabiensis. The year of study was also associated with the endophageous rate when adjusted on KDR and taxa groups, with specimens sampled in 2007 and 2009 being more endophageous than in 2006, and in 2011 being less endophageous than those sampled in 2006.
Blood meal origin was analyzed on An. gambiae mosquitoes specimens (n = 735) sampled by PSC from 2006 to 2011 (SI Table 3). HBI was constant and not different in the two kdr groups in 2006 and 2007, it significantly dropped from 2008 to 2011 in the kdr SS group in comparison to RS and RR groups and baseline value (Pearson chi 2 p<0.01, Fig. 4 panel A). From 2009 to 2011, kdr RR specimens always fed exclusively on humans. Anthropophilic rate in SS kdr group was reduced after the implementation of LLINs (40.5% vs 79.3% before, Pearson chi 2 p<0.001) but not in RS group (77.2% vs 100%). Antropophilic rate reduction from 2009 was observed in all taxa and was maximal in An. arabiensis ( Fig 4 panel B).
Rates in the total Anopheles gambiae s.l. population are given in brakets. Data in the table represent Odd ratio (OR) obtained with a logistic model of parity with following factors: KDR genotype, taxa and year. Likehood ratio Chi 2 = 113.49, p<0.001.
In a logistic model adjusted on taxa and year, KDR genotype was significantly associated with HBI with RS group feeding more on human than SS group (Wald Chi 2 19.52, p>0.0001). 100% (18/18) of RR specimens fed on human. When adjusted on KDR and year, taxa group were significantly associated with HBI with both An. gambiae S and An. coluzzii feeding more on human than An. arabiensis (Wald Chi 2 = 22.71, p<0.0001). When adjusted on KDR groups and taxa, HBI was significantly associated with trial year with a reduced HBI from 2008 to 2011 (Wald Chi 2 71.65, p>0.0001).
In the total sampled An. gambiae s.l. population (n = 8,855), the CSP rate did not change during the 2006–2008 period, but significantly dropped in 2009 (0.79% vs. 2.49% during the 2006–2008 period, Pearson Chi 2 p<0.001) ( Fig 5). CSP rate significantly increased in 2010 (1.87% p = 0.002 vs. 2009) and again in 2011 (3.09% p = 0.04 vs. 2010 value) to reach values that were not significantly different from those observed during the 2006–2008 period.
CSP rate in the total sampled population (n = 8,855) is given in brackets at the bottom of the figure. Data in the table represent Odd ratio (OR) obtained with a logistic model of parity with following factors: KDR genotype, taxa and year. Likehood ratio Chi 2 = 69.06, p<0.001.
When measured in the kdr genotyped sub-sample, infection rate was low and similar in both SS and RS groups from 2006 to 2008 ( Fig. 5). From 2009 to 2011, infection rate in RR genotype group was spectacularly high and globally after LLINs it reached 25.5%. By contrast, infection rate in RS genotype group decreased after 2008. It reached a global value of 1.2% after LLINs vs. 4.6% before. Infection rate in SS group was 3.8% before LLINs, no single infected SS mosquitoes were found after their implementation.
In a logistic model adjusted on taxa and year, the risk of infection with P. falciparum was significantly associated with KDR genotype (Wald test Chi 2 = 42.95 p<0.001) with RR specimen having an increased risk in comparison to SS genotype. Taxa groups were not significantly linked to infection when adjusted on KDR genotype and year (Wald test Chi 2 = 0.51, p = 0.78). The risk of being infected, adjusted on KDR and taxa groups significantly decreased in 2009, 2010 and 2011 (i.e. after the implementation of LLINs) in comparison to 2006 (Wald test Chi 2 = 36.76 p<0.001).
Between 2006 and 2011, the prevalence of gametocyte carriers in the general population gradually decreased from 7.05% to 1.07% (Pearson Chi 2 = 105.38, p<0.001, Table 4 in File SI). Although the mean gametocytemia in positive patients did not significantly change (Kruskal Wallis p = 0.75, Table 4 in File SI). The proportion of P. falciparum infections with gametocytes increased from 22.6% in 2006 to 46.4% in 2010 and 42.1% in 2011 (Pearson Chi2 = 13.6, p<0.02, Table 4 in File SI).
This study demonstrates the exceptional adaptability of Anopheles to the presence of insecticide. A series of adaptative processes were observed in the An. gambiae s.l. population after mass deployment of LLINs inside houses. Firstly, mosquitoes that remained susceptible to insecticide had a marked decreased lifespan after LLINs implementation. In the following years, they tended to adapt by shifting to outdoors host seeking, by biting earlier and increasing feeding on animals. Secondly, insecticide-treated nets quickly selected resistant mosquitoes with long lifespan and unchanged feeding behaviour. This change in species composition following LLINs implementation has been previously noted for An. arabiensis [30], [31] and likely reflects its known opportunistic host choice, feeding on both humans and animals. Although An. funestus in Dielmo fluctuated markedly from 1990 to 2007 [23], [32], the implementation of LLINs coincided with the total suppression of the role of An. funestus in malaria transmission. Unlike An. gambiae, An. funestus in Dielmo did not present kdr mutation but rather behavioural changes on biting hours with peaks of maximum aggressiveness in broad daylight between 07:00 and 11:00 AM [19].
The selection of resistant specimens by the use of insecticide-treated materials has already been widely reported [11], [14]. This study demonstrates that the R allelic frequency rose shortly after the implementation of LLINs and continued to increase three years later. The presence of the kdr mutation has been shown to be associated with a reduced susceptibility to pyrethroids and DDT [21] although other resistance mechanisms should also be taken into account.
On the other hand, changes in feeding time following the use of LLINs have already been observed in other studies, reporting either a shift to early feeding, just after sunset or to morning feeding just before sunrise [16], [18], [19]. Our study demonstrates that changes in aggressiveness exclusively involved the SS genotype sub-group that is potentially the most susceptible to insecticide. Equally, as previously demonstrated in other studies [8], [31], the presence of insecticide treated materials inside houses decreased mosquito lifespan in the years following their implementation. Our study shows that this reduction was particularly important in kdr SS specimens that were the most susceptible to insecticide. However, parity rates remained constant in the RR kdr genotype, demonstrating the lack of insecticide killing effect in this group. In the past few years, even kdr SS specimens have a high parity rate. This may be explained by the selection of An. gambiae specimens having acquired other mechanism of resistance, different from kdr mutation [21]. The longer lifespan in RR specimens may explain the high CSP rate observed in this group. This would suggest that adaptative mechanisms to insecticide have promoted survival to the detriment of reproduction, leading to few but highly infectious females.
Shift from endophagic to more exophagic host seeking behaviour in An. gambiae s.l. has been reported in various studies after the implementation of insecticide-treated materials inside houses [16], [17]. In the present work, the mass use of LLINs have been associated with increased exophagic behaviour, especially in species with opportunistic feeding behaviour such as An. arabiensis and in the most susceptible to insecticide such as SS mosquitoes. All these data demonstrate that insecticide susceptible mosquitoes adapted to the presence of LLINs inside houses by feeding more on animals. These changes occur in An. arabiensis that is known to have an opportunistic feeding behaviour [33] but also in An. gambiae s.s. which is remarkable and demonstrates its outstanding adaptiveness.
Although the decreased infection rate in vectors after implementation of LLINs has already been reported [31], [34], this study is, to our knowledge, the first to identify subgroups inside An. gambiae complex that displays opposite behaviour regarding infection. Indeed, since the implementation of LLINs, infection rates dropped in SS and RS groups but significantly increased in the RR group that is now almost the only P. falciparum vector and plays a key role in the rebound of malaria morbidity observed in this population [20].
Whereas malaria-related morbidity dropped in the year following the implementation of LLINs [20], a reservoir of gametocyte carriers was still available for mosquitoes' infection. Furthermore, in 2010 and 2011, most all P. falciparum infections were associated with clinical malaria attacks, whose incidence density in older children and adults (but not in young children) returned to levels close to before the implementation of LLINs although very low levels of malaria prevalence persisted. Data analysis suggests that the choice of ACT used for first-line treatment and the universal deployment of LLINs were the most important factors governing the dramatic changes in anopheles populations and malaria morbidity. We hypothesize that these gametocytemia associated with clinical attacks may be more infectious to mosquitoes than those associated with asymptomatic infections. This could therefore explain maintenance of significant levels of transmission [35].
Despite the rapidly increasing insecticide resistant vector population and its almost exclusive responsibility in malaria transmission, the gametocyte reservoir continued to decrease three years after the deployment of LLINs. This support the view that it is important to pursue the use of LLINs in compliance with the WHO recommendations [1]. However, further research is urgently needed to face the problem of insecticide resistance that may rapidly compromise the recent successes of malaria control in tropical Africa.
Supporting figure and tables. SI Figure A Human Biting Rate (HBR, number of Anopheles sampled per man and per night, bars) and Entomological Inoculation Rate (EIR, number of infected Anopheles sampled per man and per night, dotted lines) in A. funestus (red) and An. gambiae (green) sampled each month from Jan 2006 to Dec 2011, before and after the implementation of long lasting insecticide treated nets (LLINs). SI Table 1. Number of specimens of each Anopheles species sampled during monthly human landing catches indoor and outdoor from 2006 to 2011. SI Table 2. Number of An. gambiae sampled and genotyped for (1) L1014F mutation (kdr) with heterozygote (RS), homozygote (RR), wild type (SS) and L1014F (R) allelic frequency (%), (2) An. arabiensis, An. coluzzii and An. gambiae S. SI Table 3. Number of An. gambiae collected 2006 to 2011 by pyrethrum spray catch (PSC) and genotyped for (1) L1014F mutation (kdr) with heterozygote (RS), homozygote (RR), wild type (SS) and the mean of human blood index (%), (2) An. arabiensis, An. coluzzii and An. gambiae S. SI Table 4. Number of P. falciparum gametocytes per 200 oil immersion fields in gametocyte positive slides (mean ± standard error of the mean), gametocyte prevalence (% and number of villagers with gametocytes/total villagers examined), and proportion of P. falciparum infections with gametocytes (% and number of villagers with gametocytes/number of villagers with P. falciparum infection). Dielmo, quarterly transversal surveys, 2006–2011.
(DOCX)
Click here for additional data file.
We thank the villagers of Dielmo for their continuous support to the project. Catherine Bourgouin, Sian Clarke, and Dr Ellen Dotson provided very useful comments on an earlier draft of the paper. We thank Seynabou Sougoufara and Dr Mirdad Kazanji for their support.


Software Engineer in San Francisco
If you use Google Chrome to browse your favourite sites, you might notice a teeny tiny pic in the corner of the browser tab. For the longest time, I had no idea what the heck that was. After googling phrases such as “the little icon in browser tab”, I discovered that little 16x16 icon is a favicon.
As I published posts in this blog, I one day noticed the favicon was an icon that I did not choose! The adorable avatar I have for myself in this blog (a 100% likeness of myself by the way, at least the size of my head and ego anyway) is what I wanted for my favicon.
If you also want to personalise your favicon, here’s how.
Choose the photo you want as your favicon and use a nifty favicon generator such as Dan’s Tools. This website is very simple. Upload a photo you’d like to be made into an icon. Download the file it outputs. Unless you specified favicon only, Dan’s Tools actually gives you multiple versions of your icon, in different sizes for different file formats. The file named “favicon.ico” is (obviously) made specifically for the favicon.
You’ll need this code in your html file:
1
2
3
4
5
6
7
8
9
10
<!DOCTYPE html>

<title>FAVICOONNNN</title>
<link rel="icon" type="image/ico" href=" *write the path to where you saved your favicon.ico* ">

FAVICOONNNN, Like ComicCon But Totally Not

3 Make it rain: Clear the cache!
If you’ve done the previous 2 steps, and you’re not seeing results clearing the cache history before and after may show the updated favicon. Just trust me. I lost 2 hours of my life not realizing all I had to do was clear the cache to see my mini-me-avatar in the tab of my own blog.


module BatSubstring:{
..}
Substring.t
is the type of substrings of a basestring, an efficient
representation of a piece of a string.
A substring (s,i,n) is valid if 0 <= i <= i+n <= size s, or equivalently, 0 <= i and 0 <= n and i+n <= size s.
A valid substring (s, i, n) represents the string si...i+n-1
.
Invariant in the implementation: Any value of type Substring.t
is valid.
type t
Substring.t
is the type of substrings of a basestring, an efficient
representation of a piece of a string.
A substring (s,i,n) is valid if 0 <= i <= i+n <= size s, or equivalently, 0 <= i and 0 <= n and i+n <= size s.
A valid substring (s, i, n) represents the string si...i+n-1
.
Invariant in the implementation: Any value of type Substring.t
is valid.
let empty : unit => t
let to_string : t => string
string sus
is the string si..i+n-1
represented by sus = (s, i, n).let of_string : string => t
let make : int => char => t
let create : int => t
let equal : t => t => bool
let of_input : BatIO.input => t
let substring : string => int => int => t
substring s o l
returns a substring with base-string s
, offset
o
and length l
. Arguments are checked for validity
substring s i n
creates the substring (s, i, n)
, consisting
of the substring of s with length n starting at i.
Raises Inavlid_argument
if i<0
or n<0
or i+n > size s
. Equivalent to
extract s i (Some n)
.
let unsafe_substring : string => int => int => t
unsafe_substring
behaves like substring
, but does not perform
any sanity check on the position and length.let extract : string => int => option int => t
extract s i None
creates the substring (s, i, size s-i)
consisting of the tail of s starting at i.Invalid_argument
if i<0
or i > size s
.
extract s i (Some n)
creates the substring (s, i, n), consisting
of the substring of s with length n starting at i.
Invalid_argument
if i<0
or n<0
or i+n > size s
.let all : string => t
all s
is the substring (s, 0, size s)
.let base : t => (string, int, int)
base sus
is the concrete triple (s, i, n)
, where psus = (s, i,
n)
.let is_empty : t => bool
isEmpty (s, i, n)
true if the substring is empty (that is,
n = 0
).let getc : t => option (char, t)
getc sus
returns Some(c, rst)
where c
is the first character and
rst
the remainder of sus
, if sus
is non-empty; otherwise returns
None
.let first : t => option char
first sus
returns Some c
where c
is the first character in
sus
, if sus
is non-empty; otherwise returns None
.let triml : int => t => t
triml k sus
returns sus less its leftmost k characters; or the
empty string at the end of sus if it has less than k characters.Invalid_argument
if k < 0
, even in the partial application
triml k
.let trimr : int => t => t
trimr k sus
returns sus less its rightmost k characters; or the
empty string at the beginning of sus if it has less than k
characters.Invalid_argument
if k < 0
, even in the partial
application trimr k
.let get : t => int => char
sub sus k
returns the k'th character of the substring; that
is, s(i+k) where sus = (s, i, n).Invalid_argument
if
k<0
or k>=n
.let size : t => int
size (s, i, n)
returns the size of the substring, that is, n
.let length : t => int
BatSubstring.size
.let slice : t => int => option int => t
slice sus i' None
returns the substring (s, i+i', n-i')
,
where sus = (s, i, n)
.Invalid_argument
if i' < 0
or i' > n
.
slice sus i' (Some n')
returns the substring (s, i+i', n')
,
where sus
= (s, i, n)
.
Invalid_argument
if i' < 0
or n' < 0
or i'+n' >= n
.let concat : list t => string
concat suss
returns a string consisting of the concatenation of
the substrings. Equivalent to String.concat (List.map to_string
suss)
.let explode : t => list char
explode sus
returns the list of characters of sus, that is,
s(i), s(i+1), ..., s(i+n-1)
where sus = (s, i, n)
. Equivalent
to String.explode (to_string ss)
.let is_prefix : string => t => bool
is_prefix s1 s2
is true if s1
is a prefix of s2
. That is, if
there exists a string t
such that string s1 ^ t = to_string s2
.let compare : t => t => int
compare sus1 sus2
performs lexicographic comparison, using the
standard ordering Char.compare on the characters.p Equivalent to,
but more efficient than, String.compare (to_string sus1)
(to_string sus2)
.let index : t => char => int
index sus c
returns the index of the first occurence of c
in sus
orNot_found
otherwise.let index_from : t => int => char => int
index_from sus i c
returns the index of the first occurence of c
in
sus
after the index i
orNot_found
otherwise. If i
is beyond
the range of sus
,Invalid_argument.
It is equivalent to i + index (triml i sus) c
.let rindex : t => char => int
rindex sus c
returns the index of the last occurence of c
in sus
orNot_found
otherwise.let rindex_from : t => int => char => int
index_from sus i c
returns the index of the last occurence of c
in sus
before the index i
orNot_found
otherwise. If i
is beyond the
range of sus
,Invalid_argument.
It is equivalent to rindex (trimr i sus) c
.let contains : t => char => bool
contains s c
tests if character c
appears in the substring s
.let dropl : (char => bool) => t => t
dropl p sus
drops the longest prefix (left substring) of sus
all of whose characters satisfy predicate p
. If all
characters do, it returns the empty substring (s, i+n, 0)
where sus = (s, i, n)
.let dropr : (char => bool) => t => t
dropr p sus
drops the longest suffix (right substring) of sus all
of whose characters satisfy predicate p
. If all characters do, it
returns the empty substring (s, i, 0)
where sus = (s, i, n)
.let takel : (char => bool) => t => t
takel p sus
returns the longest prefix (left substring) of sus
all of whose characters satisfy predicate p
. That is, if the
left-most character does not satisfy p, returns the empty (s, i, 0)
where sus = (s, i, n)
.let taker : (char => bool) => t => t
taker p sus
returns the longest suffix (right substring) of sus
all of whose characters satisfy predicate p
. That is, if the
right-most character satisfies p
, returns the empty (s, i+n, 0)
where sus = (s, i, n)
.
Let p
be a predicate and xxxxfyyyyfzzzz a string where all
characters in xxxx and zzzz satisfy p
, and f a character not
satisfying p
. Then
sus = xxxxfyyyyfzzzz sus = xxxxzzzz ------------------------------------------------------ dropl p sus = fyyyyfzzzz dropr p sus = xxxxfyyyyf takel p sus = xxxx xxxxzzzz taker p sus = zzzz xxxxzzzz
It also holds that
concat (takel p sus) (dropl p sus) = string sus
concat (dropr p sus) (taker p sus) = string sus
let splitl : (char => bool) => t => (t, t)
splitl p sus
splits sus
into a pair (sus1, sus2)
of
substrings where sus1
is the longest prefix (left substring) all
of whose characters satisfy p
, and sus2
is the rest. That is,
sus2
begins with the leftmost character not satisfying p
.
Disregarding sideeffects, we have: splitl p sus = (takel p sus,
dropl p sus)
.let splitr : (char => bool) => t => (t, t)
splitr p sus
splits sus
into a pair (sus1, sus2)
of
substrings where sus2
is the longest suffix (right substring) all
of whose characters satisfy p
, and sus1
is the rest. That is,
sus1
ends with the rightmost character not satisfying p
.
Disregarding sideeffects, we have: splitr p sus = (dropr p sus,
taker p sus)
let split_at : int => t => (t, t)
split_at sus k
returns the pair (sus1, sus2)
of substrings,
where sus1
contains the first k
characters of sus
, and
sus2
contains the rest.Invalid_argument
if k < 0
or
k > size sus
.let span : t => t => t
span sus1 sus2
returns a substring spanning from the start of
sus1
to the end of sus2
, provided this is well-defined: sus1
and sus2
must have the same underlying string, and the start of
sus1
must not be to the right of the end of sus2
; otherwiseInvalid_argument.
More precisely, if base sus1 = (s,i,n)
and base sus2 =
(s',i',n')
and s = s'
and i <= i'+n'
, then base (span sus1
sus2) = (s, i, i'+n'-i)
. This may be used to compute span
,
union
, and intersection
.let translate : (char => char) => t => string
translate f sus
applies f
to every character of sus
, from
left to right, and returns the concatenation of the results.
Equivalent to String.of_list (List.map f (explode sus))
.let tokens : (char => bool) => t => list t
tokens p sus
returns the list of tokens in sus
, from left to
right, where a token is a non-empty maximal substring of sus
not
containing any delimiter, and a delimiter is a character satisfying
p
.let fields : (char => bool) => t => list t
fields p sus
returns the list of fields in sus
, from left to right,
where a field is a (possibly empty) maximal substring of sus
not
containing any delimiter, and a delimiter is a character satisfying p
.
Two tokens may be separated by more than one delimiter, whereas two
fields are separated by exactly one delimiter. If the only delimiter
is the character '|'
, then
"abc||def" contains two tokens: "abc" and "def"
"abc||def" contains three fields: "abc" and "" and "def"
let fold_left : ('a => char => 'a) => 'a => t => 'a
foldl f e sus
folds f
over sus
from left to right. That is,
evaluates f s.[i+n-1] (f ... (f s.[i+1] (f s.[i] e)) ...)
tail-recursively, where sus = (s, i, n)
. Equivalent to
List.fold_left f e (explode sus)
.let fold_lefti : ('a => int => char => 'a) => 'a => t => 'a
fold_left
, but with the index of the element as additional argumentlet fold_right : (char => 'a => 'a) => t => 'a => 'a
foldr f e sus
folds f
over sus
from right to left. That is,
evaluates f s.[i] (f s.[i+1] (f ... (f s.[i+n-1] e) ...))
tail-recursively, where sus = (s, i, n)
. Equivalent to
List.fold_right f e (explode sus)
.let fold_righti : (int => char => 'a => 'a) => t => 'a => 'a
fold_right
, but with the index of the element as additional argumentlet iter : (char => unit) => t => unit
iter f sus
applies f
to all characters of sus
, from left to
right. Equivalent to List.iter f (explode sus)
.let iteri : (int => char => unit) => t => unit
BatSubstring.iter
, but the
function is applied to the index of the element as first argument
(counting from 0), and the character itself as second argument.let trim : t => t
let split_on_char : char => t => list t
split_on_char c ss
returns substrings of input ss
as divided
by c
let split_on_pipe : t => list t
let split_on_dot : t => list t
let split_on_comma : t => list t
let split_on_slash : t => list t
let enum : t => BatEnum.t char
enum ss
returns an enumeration of the characters represented by ss.
It does no copying so beweare of mutating the original string.let print : BatIO.output 'a => t => unit
print oc ss
prints ss
to the output channel oc


Front-end-Dev
Clean, modern design- optimized for performance, search engines, and converting users to customers.
Integration of E-commerce platforms payment gateways, custom products templates and more.
A responsive design makes your Website accesible to all users, regardless of their device.
Designer & Developer based out of India
I am a self-motivated person with experience and attitude to excel.
A fast learner who quickly picks up Business knowledge & Technical requirements.
I've honed my analytical thinking, problem solving, collaboration skills, and I love working with a team to achieve high-quality work.
A Selection of Range of my work


%- include head.html %>
<%- include header.html %><%- include errorbox.html %>
Game1
play »
<%- include footer.html %>


{%- include head.html -%}
{%- include header.html -%}
{{ content | survey_filter }}
{%- include footer.html -%}


class Concurrent::ThreadPoolExecutor
@!macro thread_pool_executor
An abstraction composed of one or more threads and a task queue. Tasks (blocks or `proc` objects) are submitted to the pool and added to the queue. The threads in the pool remove the tasks and execute them in the order they were received. A `ThreadPoolExecutor` will automatically adjust the pool size according to the bounds set by `min-threads` and `max-threads`. When a new task is submitted and fewer than `min-threads` threads are running, a new thread is created to handle the request, even if other worker threads are idle. If there are more than `min-threads` but less than `max-threads` threads running, a new thread will be created only if the queue is full. Threads that are idle for too long will be garbage collected, down to the configured minimum options. Should a thread crash it, too, will be garbage collected. `ThreadPoolExecutor` is based on the Java class of the same name. From the official Java documentation; > Thread pools address two different problems: they usually provide > improved performance when executing large numbers of asynchronous tasks, > due to reduced per-task invocation overhead, and they provide a means > of bounding and managing the resources, including threads, consumed > when executing a collection of tasks. Each ThreadPoolExecutor also > maintains some basic statistics, such as the number of completed tasks. > > To be useful across a wide range of contexts, this class provides many > adjustable parameters and extensibility hooks. However, programmers are > urged to use the more convenient Executors factory methods > [CachedThreadPool] (unbounded thread pool, with automatic thread reclamation), > [FixedThreadPool] (fixed size thread pool) and [SingleThreadExecutor] (single > background thread), that preconfigure settings for the most common usage > scenarios.
@!macro thread_pool_options
@!macro thread_pool_executor_public_api


The mission of this project is helping you find a better place to live when you have options to choose. Although there are lots of considerations in real estate apps or websites, we can talk about some important topics for choosing a place to live! Based on a study by The Public Health Alliance of Southern California, Healthy place index is a combination of different factors such as Economic; Education; Housing; Health Care Access; Neighborhood; Clean Environment; Transportation; and Social factors. You can choose different zip codes in california and see the comparison between the scores on the radar chart. The scores are between 0 and 100 and 100 is the best. Not only you can see the scores for the selected area, but also you can see all the scores based on each index on the california map in the Map tab.


{% load staticfiles i18n %} {% load thumbnail %}
Use this document as a way to quickly start any new project. All you get is this text and a mostly barebones HTML document.


Perf Report:
Test (Frame #95)
Worker Thread 0
expand all
|
collapse all
View as:
tree
|
flat
Worker Thread 1
expand all
|
collapse all
View as:
tree
|
flat
Worker Thread 2
expand all
|
collapse all
View as:
tree
|
flat
CUMULATIVE
expand all
|
collapse all
View as:
tree
|
flat


Anitrans
Logistics System
Tour Overview
New Tour
Drivers
Trucks
Animals
Species
Length
Width
Weight
cm
cm
kg
Delete
Add Animal


Anti-Government Protesters Take to the Streets of Iraqi Capital - Video
The demonstrations have been rocking Iraq for over a month, with the protesters demanding that the government is dissolved and the crucial reforms, including the economic one, are implemented. The rallies have been marked with clashes with police and the deaths of over 300 people.
On Friday, demonstrators took to the streets of Baghdad to protest against corruption, the lack of healthcare, education, and job opportunities as part of continuing rallies in the Middle Eastern state.
At least 320 people have been killed and thousands more wounded since the unrest began in early October. Since then, the rallies have grown to demand a total reform of the political system.
FOLLOW OUR FEED TO FIND MORE


BROKEDOWN PALACE (20th Century Fox) Starring: Claire Danes, Kate Beckinsale, Bill Pullman, Lou Diamond Phillips, Jacqueline Kim. Screenplay: David Arata. Producer: Adam Fields. Director: Jonathan Kaplan. MPAA Rating: PG-13 (profanity, adult themes, violence, drug use) Running Time: 97 minutes. Reviewed by Scott Renshaw.
In the bowels of a Thai prison, two American girls learn about the horrors of bad judgment -- the hard way. Alice Marano (Claire Danes) and Darlene Davis (Kate Beckinsale), two high school grads from suburban Ohio, had only intended their trip to Thailand as a final pre-college fling. That was before Australian seducer Nick Parks (Daniel Lapaine) played them for suckers and set them up as heroin smugglers. Now, in the first year of a 33-year sentence, Alice and Darlene are beginning to discover what damnation really means. It means vaguely drab pixie haircuts, heavily filtered sunlight streaming into an exercise yard, and a non-stop soundtrack from some techno-Thai concept of Lilith Fair.
Jonathan Kaplan's BROKEDOWN PALACE is one of those gritty "issue" dramas that stabs itself in the heart by assuming the audience's sensibilities can only handle so much grit. The opening half hour works well enough, following the two friends on their early youthful adventures and establishing the basic framework of their relationship. Alice, the instigator, makes all the daring choices; Darlene, the good-girl follower, plays along with her best pal's caprices. Danes doesn't go overboard with her character, keeping Alice's devilish streak within the realm of rebellious plausibility, while Beckinsale struggles a bit more with Darlene's naivete. When Nick enters the picture, submerged jealousies begin to surface, establishing how easily a life-long friendship can be strained. It may not be particularly inspired story-telling, but it's solid enough.
Then the girls become inmates, and the whole thing falls apart. The theme of BROKEDOWN PALACE may not be "look at the squalor of Thai prisons," but it shouldn't have been "look how attractive a Thai prison can be with the right cinematography." Kaplan shoots bridge sequences as elaborate music videos, turning his actresses into cute models instead of tormented characters. Meanwhile, the various government officials who sneer and smirk their way through the film -- including Kay Tong Lim as a corrupt Thai detective and Lou Diamond Phillips (in a gruesomely bad performance) as a nonchalant U.S. embassy flunkie -- provide the tidy villainy we require. With a script by first-time screenwriter David Arata that forgets sub-plots and provides simplistic outrage, BROKEDOWN PALACE proves itself to be fairly lazy film-making. It pre-digests its story into over-wrought melodrama.
There's a hint of promise when Bill Pullman enters the story as Yankee Hank, an expatriate American attorney with that typically expatriate American sense of me-first-ism. It's fairly obvious from the get-go that his character arc will be straight out of CASABLANCA -- a jaded pseudo-Rick Blaine who gives up his own financial interest for the greater good -- but Pullman is an interesting enough actor to pull it off. Unfortunately, his story also pulls us away from the two central characters. Though in a way that's a good thing -- the fewer scenes spent in the meticulously unpleasant prison, the better -- it's also a distraction from Alice's theoretically central conversion to selfless friend.
Comparisons between BROKEDOWN PALACE and last year's RETURN TO PARADISE are inevitable -- both are tales of Americans languishing abroad, seasoned with self-sacrifice for the sake of a friend. But as uneven as RETURN TO PARADISE was, it approached every similar point with more provocative shades of gray. Instead of RETURN TO PARADISE's two casual acquaintances, the friends are best buddies from the cradle, making the choice considerably less complicated; instead of making the protagonist convincingly selfish from the outset, it makes her a misunderstood wild child. Kaplan and Arata want desperately for the plight of their characters to matter, but the final hour is too irretrievably phony to provide an emotional pull. Viewers who find this sort of morality play uplifting may find their hearts swelling at the conclusion. I found mine sinking as BROKEDOWN PALACE closed on the beatific smile of an actress, placed center stage while a well-placed beam of sunlight captured her soaring spirit in an MTV prison.
On the Renshaw scale of 0 to 10 Thai breakers: 4.
Visit Scott Renshaw's Screening Room http://www.inconnect.com/~renshaw/ *** Subscribe to receive new reviews directly by email! See the Screening Room for details, or reply to this message with subject "Subscribe".
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


<subjectRelHeader>
The <subjectRelHeader> element specifies the roles played by subjects in associations.
Category: Subject scheme elements


at(xs, n)
Return the nth
(zero based) element from the list xs
.
Raise an error if n
is not in 0 <= n < length(xs)
or
if xs
is not a proper list.
let xs = ["this", "is", "a", "list", "of", "strings"]
at(xs, 3)
// list
xs[0]
// this


academia
Home
Courses
About Us
Login
At academia!
One Step close to your profile,please fill the details carefully
First name
Looks good!
Please provide a valid Name.
Last name
Looks good!
Please provide a valid Name.
Phone No
Please provide a valid Number.
Lan No/Optional
Date of Birth
Please provide Your Date of Birth.
Address
Please provide a valid Address.
Address 2
Please provide a valid Address.
City
Please provide a valid city.
District
Choose...
North 24 Parganas
South 24 Parganas
Other
...
Please select a valid District.
Zip
Please provide a valid zip.
Class
Choose...
I
II
III
IV
Please select a valid Class.
Section
Choose...
A
B
C
D
Please select a valid Section.
Batch
Choose...
2019-2020
2020-2021
Please select a valid Batch.
Submit


The result of equations will be used as value for cure time. Cure time need to be in second.
Usable Keywords
- [[LayerPosition]]
- Absolute layer position in millimeter
- [[CurrentPosition]]
- Current position in millimeter
- [[LayerNumber]]
- Current layer number
- [[TotalSolidArea]]
- Current layer's total solid area in mm^2
- [[LargestArea]]
- Current layer's largest solid area in mm^2
Math Operations
- Math: + - * / **
- Calculating different values {5-[[LayerPosition]]*0.1} for each millimeter increase in height of piece decrease cure time for 0.1 second
- Conditionals: () < >
- Add conditionals to your math logic {([[LayerNumber]]<5)*15+5} if current layer is less than 5, cure time must be 20 seconds not 5 seconds.
By using this feature, any cure times including burn-in layers cure time will be ignored.
If the cure time value become negative, result will be discarded and normal cure time will be used.


public class Database
extends java.lang.Object
Description:
The purpose of this class is to interact with the ElasticSearchController to store and
retrieve data to be used within the application.
Issues:
None.
References:
Android Developer Guide, Determine and monitor the connectivity status
https://developer.android.com/training/monitoring-device-state/connectivity-monitoring#java
Last updated 2018-05-08, accessed 2018-11-09
Cache
| Modifier and Type | Field and Description |
|---|---|
Cache |
cache |
Codes |
codes |
android.content.Context |
context |
| Constructor and Description |
|---|
Database(android.content.Context c)
Initializes a database object using the provided application context.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addLoginCode(java.lang.String code)
Call for the database's codes to add the provided code to the allowed list.
|
<T> T |
cacheLoad(java.lang.Class<T> type)
Calls for the database's cache to load a class from its data.
|
void |
cacheSave()
Invocation of cache's save method
|
boolean |
checkConnectivity()
Checks if a connection to the elastic search database is possible.
|
boolean |
checkLoginCode(java.lang.String code)
Call for the database's codes to check if the provided code is in the allowed list.
|
java.lang.Boolean |
deletePatient(java.lang.String username)
Deletes a patient from the elastic search database.
|
boolean |
deletePhoto(Photo photo)
Deletes a photo locally and on the elastic search database.
|
java.lang.Boolean |
deleteProvider(java.lang.String username)
Deletes a care provider from the elastic search database.
|
java.lang.String |
downloadPhoto(java.lang.String username,
Photo photo)
Loads a given patients photo onto the devices disk.
|
Cache |
getDatabaseCache()
Retrieves the cache for this database.
|
Codes |
getDatabaseCodes()
Retrieves the codes object for this database.
|
android.content.Context |
getDatabaseContext()
Retrieves the context used for this object.
|
java.util.ArrayList<java.lang.String> |
getLoginCodes()
Call for the database's codes to retrieve its list of allowed codes.
|
Patient |
loadPatient(java.lang.String username)
Retrieves a patient from the online database if a connection can be established, otherwise
loads the patient from disc.
|
CareProvider |
loadProvider(java.lang.String username)
Retrieves the care provider from the online database if a connection can be established,
otherwise loads the provider from disc.
|
boolean |
patientUsernameAvailable(java.lang.String username)
Checks if the given username is used by any patients.
|
boolean |
providerUsernameAvailable(java.lang.String username)
Checks if the given username is used by any care providers.
|
boolean |
savePatient(Patient patient)
Saves the patient locally and to the elastic search database.
|
java.lang.String |
savePhoto(Photo photo)
Saves the given photo to the elastic search database.
|
boolean |
saveProvider(CareProvider provider)
Saves the given care provider locally and to the elastic search database.
|
java.util.ArrayList<SearchResult> |
searchCareProvider(CareProvider careProvider,
java.util.ArrayList<java.lang.String> keywords,
MapLocation map,
BodyLocation bl)
Search all care provider patients for all keywords, map, or body location.
|
java.util.ArrayList<SearchResult> |
searchCareProvider(java.lang.String username,
java.util.ArrayList<java.lang.String> keywords,
MapLocation map,
BodyLocation bl)
Search all care provider patients for all keywords, map, or body location.
|
java.util.ArrayList<SearchResult> |
searchPatient(Patient patient,
java.util.ArrayList<java.lang.String> keywords,
MapLocation map,
BodyLocation bl)
Search through patient problems and see if it matches any keywords.
|
java.util.ArrayList<SearchResult> |
searchPatient(java.lang.String username,
java.util.ArrayList<java.lang.String> keywords,
MapLocation map,
BodyLocation bl)
Search through patient problems and see if it matches any keywords.
|
void |
setDatabaseCache(Cache che)
Sets the cache used for the object to the provided one.
|
void |
setDatabaseCodes(Codes cds)
Sets the codes used for the object to the provided one.
|
void |
setDatabaseContext(android.content.Context ctx)
Sets the context used for the object to the provided one.
|
java.lang.Boolean |
updateCareProvider(CareProvider careProvider)
Updates a given care provider to match the data from the elastic search database.
|
java.lang.Boolean |
updatePatient(Patient patient)
Updates a given patient to match the data from the elastic search database.
|
boolean |
usernameAvailable(java.lang.String username)
Checks if the given username is used by any users.
|
public android.content.Context context
public Cache cache
public Codes codes
public Database(android.content.Context c)
c
- The application context.public android.content.Context getDatabaseContext()
public Cache getDatabaseCache()
public Codes getDatabaseCodes()
public void setDatabaseContext(android.content.Context ctx)
ctx
- The new context to use.public void setDatabaseCache(Cache che)
che
- The new cache to use.public void setDatabaseCodes(Codes cds)
cds
- The new codes to use.public <T> T cacheLoad(java.lang.Class<T> type) throws UserNotFoundException
T
- The type parameters.type
- The class of the object to be returned.UserNotFoundException
- Thrown if the user can't be loaded.Cache
public void cacheSave()
Cache
public java.util.ArrayList<java.lang.String> getLoginCodes()
Codes
public void addLoginCode(java.lang.String code)
code
- The code to be added.Codes
public boolean checkLoginCode(java.lang.String code)
code
- The code to be checked.public Patient loadPatient(java.lang.String username) throws UserNotFoundException, java.net.ConnectException
username
- The username of the patient to be retrieved.UserNotFoundException
- Thrown if the patient cannot be found.java.net.ConnectException
- Thrown if local loading fails and a connection to the database fails.public CareProvider loadProvider(java.lang.String username) throws UserNotFoundException, java.net.ConnectException
username
- The username of the provider to be retrieved.UserNotFoundException
- Thrown if the provider cannot be found.java.net.ConnectException
- Thrown if local loading fails and a connection to the database fails.public boolean patientUsernameAvailable(java.lang.String username) throws java.net.ConnectException
username
- The username to check.java.net.ConnectException
- Thrown if a connection to the database fails.public boolean providerUsernameAvailable(java.lang.String username) throws java.net.ConnectException
username
- The username to check.java.net.ConnectException
- Thrown if a connection to the database fails.public boolean usernameAvailable(java.lang.String username) throws java.net.ConnectException
username
- The username to check.java.net.ConnectException
- Thrown if a connection to the database fails.public java.lang.String savePhoto(Photo photo) throws java.lang.IllegalArgumentException, java.lang.InterruptedException, java.lang.IllegalStateException
photo
- The photo to be saved.java.lang.IllegalArgumentException
- Thrown if the photo doesn't have a file path.java.lang.InterruptedException
- Thrown if the saving is interrupted.java.lang.IllegalStateException
- Thrown if the saving cannot be done at the time.public java.lang.String downloadPhoto(java.lang.String username, Photo photo) throws java.io.IOException
username
- The patients username.photo
- The photo to be loaded.java.io.IOException
- Thrown if the photo could not be loaded.public boolean deletePhoto(Photo photo) throws java.net.ConnectException
photo
- The photo to be deleted.java.net.ConnectException
- Thrown if the database cannot be connected to.public boolean savePatient(Patient patient)
patient
- The patient to be saved.public boolean saveProvider(CareProvider provider)
provider
- The provider to be saved.public java.lang.Boolean deletePatient(java.lang.String username) throws java.net.ConnectException
username
- The username of the patient to be deleted.java.net.ConnectException
- Thrown if no connection to the database could be made.public java.lang.Boolean deleteProvider(java.lang.String username) throws java.net.ConnectException
username
- The username of the provider to be deleted.java.net.ConnectException
- Thrown if no connection to the database could be made.public java.lang.Boolean updatePatient(Patient patient) throws java.net.ConnectException
patient
- The patient to be updated.java.net.ConnectException
- Thrown if no connection to the database could be made.public java.lang.Boolean updateCareProvider(CareProvider careProvider) throws java.net.ConnectException
careProvider
- The provider to update information for.java.net.ConnectException
- Thrown if no connection to the database could be made.public java.util.ArrayList<SearchResult> searchPatient(java.lang.String username, java.util.ArrayList<java.lang.String> keywords, MapLocation map, BodyLocation bl) throws UserNotFoundException, java.net.ConnectException
username
- The username of the patient to search.keywords
- The keywords we are looking for. Can be null.map
- The map location we are looking for. Can be null.bl
- The body location we are looking for. Can be null.UserNotFoundException
- Thrown if the patient can't be found.java.net.ConnectException
- Thrown if the patient can't be found locally and can't be loaded.public java.util.ArrayList<SearchResult> searchPatient(Patient patient, java.util.ArrayList<java.lang.String> keywords, MapLocation map, BodyLocation bl)
patient
- The patient to search through.keywords
- The keywords we are looking for. Can be null.map
- The map location we are looking for. Can be null.bl
- The body location we are looking for. Can be null.public java.util.ArrayList<SearchResult> searchCareProvider(java.lang.String username, java.util.ArrayList<java.lang.String> keywords, MapLocation map, BodyLocation bl) throws UserNotFoundException, java.net.ConnectException
username
- The username of the care provider.keywords
- The keywords, can be null.map
- The Map location, can be null.bl
- The body location, can be null.UserNotFoundException
- Thrown if the provider can't be found.java.net.ConnectException
- Thrown if the provider can't be found locally and can't be loaded.public java.util.ArrayList<SearchResult> searchCareProvider(CareProvider careProvider, java.util.ArrayList<java.lang.String> keywords, MapLocation map, BodyLocation bl)
careProvider
- The care provider to search forkeywords
- The keywords, can be null.map
- The Map location, can be null.bl
- The body location, can be null.public boolean checkConnectivity()


menu
Pick A Mechanic
Efua Bainson
<EMAIL_ADDRESS>build
Pick a Mechanic
directions_car
Pick a Tow Operator
shopping_cart
My Requests
exit_to_app
Logout
CONFIRM
directions_car
Car Type
directions_car
Car Number


The same Pieter Wuille also says this on a related question:
Connecting to more nodes will not make you learn about transactions faster, after some point.
Your node will just be busy processing messages - including many uninteresting ones - to maintain connections with all peers, making it slower at processing new things.
Connect to a few fast peers with -addnode, or even run multiple nodes yourself, and interconnect them to each other. That will be faster than connecting directly to everyone.


Myanmar rejects international court’s jurisdiction
by The Associated PressYANGON, Myanmar (AP) — Myanmar’s government has rejected the International Criminal Court’s decision to allow prosecutors to open an investigation into crimes committed against the country’s Rohingya Muslim minority.
Government spokesman Zaw Htay said at a Friday night press conference that Myanmar stood by its position that the Netherlands-based court has no jurisdiction over its actions.
He cited a Myanmar Foreign Ministry statement from April 2018 that because Myanmar was not a party to the agreement establishing the court, it did not need to abide by the court’s rulings.
The court’s position is that because Myanmar’s alleged atrocities sent more than 700,000 Rohingya fleeing to Bangladesh for safety, it does have jurisdiction because Bangladesh is a party to the court and the case may involve forced jurisdiction.
The Associated Press


Use the fields provided below to specify mininum length, maximum length and regular expression
expected for method parameter names.
(Regular expressions are in standard java.util.regex format.)
Powered by InspectorGroovy


RoboUniverse Conference - Drones, AI, and 3D Printing
19 Feb 2017Episode #220: Robouniverse Conference - Drones, AI, and 3D Printing
I interview three speakers from the Artificial Intelligence and Drone tracks at RoboUniverse San Diego and the Inside 3D Printing Conference.
Dr. Douglas Stow
Dr. Douglas Stow discusses the use of drones in analyzing large scale changes over time in terrains, and its applications in determining the extent of damage after a natural disaster.
Dr. Stow is a Professor of Geography at San Diego State University (SDSU) and has been on the faculty for 33 years. He has worked in the remote sensing field for almost 40 years and his research focuses on multitemporal image analysis.
Dr. Eugene Izhikevich
Dr. Eugene Izhikevich discusses how Brain Corporation converts manually driven industrial machines into autonomous robots.
Known for his contributions to the theory of spiking networks, in 2005 Dr. Izhikevich implemented the world’s largest thalamo-cortical model. It simulated one hundred billion neurons and one quadrillion synapses - the same number as the human brain.
Cullen Hilkene
Cullen Hilkene discusses how 3Diligent optimizes the work flow and communication layer between a diverse set of 3D print vendors and their customers.
Cullen Hilkene is CEO of 3Diligent, “the 3D Printing Partner for Every Business.” 3Diligent is a web-based rapid manufacturing service described as “Uber meets Amazon for 3D Printing, CNC Machining, and Molding and Casting.”


{% extends "layouts/main.html" %} {% set pageName = "home" %} {% block page_title %}{{ settings.title }}{% endblock %} {% block body_class %}index{% endblock %} {% block content %}
Organisations should make their privacy policies understandable. Most of them don't, but you have rights over the data they hold about you.
Data Rights Finder shows you ways to change how organisations use data about you.
Try searching for banks, comparison websites, financial services organisations, and insurance providers.
| {{ item.name }} | {{ item.jsonLastUpdated }} |


 Approved names will be updated within 72 hours. Please keep this email for your records.
|
|
|
|
|
|
|
Play Club Penguin Online
Club Penguin is an ever-changing virtual world, where kids can:
- Explore the island
- Check out the latest styles
- Chat with penguin friends
- Adopt & care for pet puffles
- Play games & earn virtual coins
Check out the Parents Page »
|
|
|
|
|
|
|
Club Penguin Apps
Connect, discover, play!
- Chat with Club Penguin app friends
- Play all new and favorite games
- Personalize a penguin
- Customize igloos
- Adopt pet puffles and more!
Check them out now »
|
|
|
|
|
Safety Matters
Club Penguin is a leader in online safety. We use:
- Advanced word filters
- Live moderators
- Over 200 support staff
For more information, check out our Games Help Center.
|
|


A W209 Final Project by Heather Feinstein and Matt Swan
An evaluation of what it means to be a Grade A restaurant in New York City, told through narrative and data visualization.
You may recognize some areas on the map. Areas of darker blue represent a higher concentration of Grade A restaurants.


Performance Tips¶
In this chapter we will learn more about the Ring performance.
Introduction¶
Ring is designed to be a simple, small and flexible language in the first place, but also it is fast enough for many applications.
Ring can do each of the next tasks in around 1 second using normal computers in the market during the last 5 years
- Compiling 100,000 lines of code
- Executing empty loop that count from 1 to 10,000,000
- Executing 1000 search operation using linear search in a list contains 100,000 items, trying to find the last item (The worst case)
- Creating list contains 1,000,000 items then summing all of the list items
- Adding 20,000 items to the ListWidget in GUI applications
- Adding 5,000 nodes to the TreeWidget in GUI applications
- Printing 10,000 messages to the terminal in Console applications
Also when we need more speed we can use C/C++ extensions!
Example:
? "Create list contains 100,000 items"
aList = 1:100000
? "Do 1000 search operation - Find the last item (Worst Case!)"
c = clock()
for t = 1 to 1000
find(alist,100000)
next
? "Time: " + ( clock() - c ) / clockspersecond() + " seconds"
Output:
Create list contains 100,000 items
Do 1000 search operation - Find the last item (Worst Case!)
Time: 0.87 seconds
Example:
load "guilib.ring"
func main
new qApp {
win = new qWidget() {
move(100,100) resize(500,500)
setWindowTitle("Many Tree Items - Testing Performance")
tree = new qTreeWidget(win) {
blocksignals(True) setUpdatesEnabled(False)
root = new qTreeWidgetItem()
root.setText(0,"The Root Node")
t1 = clock()
for t = 1 to 5000
oItem = new qTreeWidgetItem()
oItem.settext(0,"Item " + t)
root.addchild(oItem)
next
cTime = (clock()-t1)/clockspersecond()
setHeaderLabel("Creating 5000 nodes in " + cTime + " seconds.")
addTopLevelItem(root)
expanditem(root)
blocksignals(False) setUpdatesEnabled(True)
}
oLayout = new qVBoxLayout() {
addWidget(tree)
}
setLayout(oLayout)
show()
}
exec()
}
Output:
Creating Lists¶
Example:
? "Create the list using the Range operator"
t1 = clock()
aList = 1:1000000
? "Time : " + ((clock()-t1)/clockspersecond()) + " seconds"
? "Create the list using the For loop"
t1 = clock()
aList = []
for x = 1 to 1000000
aList + x
next
? "Time : " + ((clock()-t1)/clockspersecond()) + " seconds"
? "Create the list using the list() function and the For loop"
t1 = clock()
aList = list(1000000)
for x = 1 to 1000000
aList[x] = x
next
? "Time : " + ((clock()-t1)/clockspersecond()) + " seconds"
Output:
Create the list using the Range operator
Time : 0.48 seconds
Create the list using the For loop
Time : 0.79 seconds
Create the list using the list() function and the For loop
Time : 1.56 seconds
Note
Creating lists using the Range operator is faster than using the For loop or the list() function
Arithmetic Operations¶
Example:
? "Using * operator"
t1 = clock()
for x = 1 to 1000000
out = x * 2
next
? "Time : " + ((clock()-t1)/clockspersecond()) + " seconds"
? "Using *= operator"
t1 = clock()
for x = 1 to 1000000
out = x
out *= 2
next
? "Time : " + ((clock()-t1)/clockspersecond()) + " seconds"
Output:
Using * operator
Time : 1.34 seconds
Using *= operator
Time : 0.47 seconds
Note
Using the *= operator is faster that using the * operator
Using len() and For Loops¶
Example:
aList = 1:1000000
? "Using len() in the For loop"
t1 = clock()
for x = 1 to len(aList)
next
? "Time : " + ((clock()-t1)/clockspersecond()) + " seconds"
? "Using len() before the For loop"
t1 = clock()
nMax = len(aList)
for x = 1 to nMax
next
? "Time : " + ((clock()-t1)/clockspersecond()) + " seconds"
Output:
Using len() in the For loop
Time : 5.50 seconds
Using len() before the For loop
Time : 0.24 seconds
Note
Using len() before the For loop is faster than using len() in the For loop.
Calling Functions and Methods¶
Example:
? "calling 100000 functions"
t1 = clock()
for x = 1 to 100000
test()
next
? "Time : " + ((clock()-t1)/clockspersecond()) + " seconds"
o1 = new test
? "calling 100000 methods using the dot operator"
t1 = clock()
for x = 1 to 100000
o1.test()
next
? "Time : " + ((clock()-t1)/clockspersecond()) + " seconds"
? "calling 100000 methods using braces "
t1 = clock()
for x = 1 to 100000
o1 { test() }
next
? "Time : " + ((clock()-t1)/clockspersecond()) + " seconds"
func test
class test
func test
Output:
calling 100000 functions
Time : 0.28 seconds
calling 100000 methods using the dot operator
Time : 0.36 seconds
calling 100000 methods using braces
Time : 1.19 seconds
Note
Calling functions is faster than calling methods but the difference is very small.
Note
Using the dot operator to call methods is faster than using braces.


Clojure has a set of useful features that together form a simple, coherent, and powerful tool.
Clojure is a dynamic environment you can interact with. Almost all of the language constructs are reified, and thus can be examined and changed. You can grow your program, with data loaded, adding features, fixing bugs, testing, in an unbroken stream.
Clojure provides the tools to avoid mutable state, provides functions as first-class objects, and emphasizes recursive iteration instead of side-effect based looping. Clojure is impure, yet stands behind the philosophy that programs that are more functional are more robust.
Clojure is a member of the Lisp family of languages. Many of the features of Lisp have made it into other languages, but Lisp's approach to code-as-data and its macro system still set it apart. Additionally, Clojure’s maps, sets, and vectors are as first class in Clojure as lists are in Lisp.
Systems that utilize runtime polymorphism are easier to change and extend. Clojure offers simple, powerful and flexible mechanisms for runtime polymorphism. Clojure’s protocols and datatypes features add mechanisms for abstraction and data structure definition with no compromises vs the facilities of the host platform.
Clojure simplifies multi-threaded programming in several ways. Because the core data structures are immutable, they can be shared readily between threads. Clojure, being a practical language, allows state to change but provides mechanism to ensure that, when it does so, it remains consistent, while alleviating developers from having to avoid conflicts manually using locks etc.
Clojure is designed to be a hosted language, sharing the JVM type system, GC, threads etc. All functions are compiled to JVM bytecode. Clojure is a great Java library consumer, offering the dot-target-member notation for calls to Java. Clojure supports the dynamic implementation of Java interfaces and classes.
Cognitect, the maintainers of Clojure, offers enterprise-level support for Clojure. Wherever you are in Clojure Platform adoption – whether you are getting your feet wet with Clojure or are ready to push finished applications into production – you can lean on Cognitect for 24x7 support.
Cognitect offers developer support, production support, and architectural review services for companies and teams deploying Clojure and ClojureScript.
“We have created some of the sharpest tools in the business. We believe this platform is a better way to develop software, and we want you to have confidence using and deploying these tools. Open source doesn't mean you're on your own any more.” – cognitect.com
“Our Clojure system just handled its first Walmart black Friday and came out without a scratch.”
“Clojure is a functional programming language from top to bottom. This means that code written in Clojure is very modular, composable, reusable and easy to reason about.”
“We discussed the existing Clojure community, the maturity of the language itself and the momentum we saw in the industry. Companies are seeing speed to market deliveries ... based on Clojure.”


List of Work - **Demi Chu**
Classwork:
CS01-InClass.htm
CS03-InClass.htm
CS04-InClass.htm
CS05-InClass-1.htm
CS05-InClass-2.htm
CS06-InClass-1.htm
CS06-InClass-2.htm
CS06-InClass-table-1.htm
CS07-InClass.htm
CS08-InClass.htm
CS12-InClass.htm
CS13-InClass.htm
CS14-InClass2.htm
CS15-InClass1.htm
CS15-InClass2.htm
CS16-InClass1.htm
CS16-InClass2.htm
CS17-InClass1.htm
CS17-InClass2.htm
CS18-CSS-imagefilters.htm
CS18-ImageFilters.htm
CS21-InClass.htm
ProjectProposal.htm
Homework:
Homework2-1.htm
Homework2-2.htm
Homework3.htm
Homework4-1.htm
Homework4-2.htm
Project:
Travelling with DC
Return to index.htm


public class Map
extends java.lang.Object
| Constructor and Description |
|---|
Map(java.lang.Integer mapType,
GameBoard g)
Init a new map
|
| Modifier and Type | Method and Description |
|---|---|
Square |
getBlueSpawnPoint() |
GameBoard |
getGameBoard() |
Square[][] |
getMapSquares() |
java.util.List<java.lang.Integer> |
getOpenDirections(Square position)
Get the list of directions accessible from the square passed as parameter
|
java.util.List<Player> |
getPlayersOnSquares(java.util.List<Square> b)
Get all players on a list of squares
|
java.util.List<Square> |
getReachableSquares(Square b,
int d)
Get a list of reachable squares from the squares passed as parameter
|
Square |
getRedSpawnPoint() |
Square |
getRoot()
Gets the root square
|
java.util.List<java.lang.Integer> |
getSquareCoordinates(Square position)
get the coordinates of a square
|
java.util.List<Square> |
getVisibleSquares(Square b)
Get the list of visible squares from the square passed as parameter
A square is visible if either is adjacent to the base square or either
belongs to the same room of a square adjacent to the base
|
Square |
getYellowSpawnPoint() |
public Map(java.lang.Integer mapType, GameBoard g) throws UnknownMapTypeException
mapType
- The type of the map to generateg
- the game board to which the map belongsUnknownMapTypeException
- if the user asks for a non existent mappublic Square getRedSpawnPoint()
public Square getBlueSpawnPoint()
public Square getYellowSpawnPoint()
public GameBoard getGameBoard()
public Square[][] getMapSquares()
public Square getRoot()
public java.util.List<java.lang.Integer> getSquareCoordinates(Square position)
position
- the square of which the coordinates are to be calculatedpublic java.util.List<Square> getReachableSquares(Square b, int d)
b
- List of squares to use as based
- Maximum distance to searchpublic java.util.List<Square> getVisibleSquares(Square b)
b
- Base square to find visible square frompublic java.util.List<Player> getPlayersOnSquares(java.util.List<Square> b)
b
- List of square find players ontopublic java.util.List<java.lang.Integer> getOpenDirections(Square position)
position
- Square to calculate accessible directions from


agentframework module¶
-
class
agentframework.
Agent
(env, agents, x, y)¶ Bases:
object
An Agent takes a random walk through a two-dimensional environment.
-
environment
¶ The environment in which the Agent is moving. A list of equal-length lists of integers.
-
env_height
¶ The height of the environment.
-
env_width
¶ The width of the environment.
-
y
¶ Integer. The Agent’s y-coordinate within the environment.
-
x
¶ Integer. The Agent’s x-coordinate within the environment.
-
distance_between
(agent)¶ Find Euclidean distance between this Agent and another Agent.
- Parameters
agent – Another Agent.
-
eat
()¶ Define an agent’s eating of resource from environment.
-
move
()¶ Move agent with random unit-sized step in each of two dimensions.
-
-
class
agentframework.
Environment
(file)¶ Bases:
object
Transforms a CSV file into a 2-d environment with which an agent can interact.
-
env
¶ A list of equal-length lists of integers representing grass in a field.
-
-
class
agentframework.
Fox
(env, agents, x, y)¶ Bases:
agentframework.Agent
TODO: A Fox is an Agent that hunts rabbits and eats them.
-
class
agentframework.
Rabbit
(env, agents, x, y, lifespan)¶ Bases:
agentframework.Agent
A Rabbit is an Agent that eats grass, reproduces, ages, and dies.
-
die
()¶ When a Rabbit dies, it is removed from the list of living Rabbits.
-
eat
()¶ A Rabbit eats just like an Agent, but dies if it runs out of energy.
-
get_older
()¶ Rabbits age; and when their age exceeds their lifespan, they die.
-
mate
(range)¶ Mature female rabbits become pregnant whenever male is in range, and then give birth after ten steps.
- Parameters
range – Integer. Distance within which Rabbits mate.
-
move
()¶ Rabbit moves just like an Agent, but uses energy to do so.
-


Select this element, drag it to the Drop Zone and then release the selection to move the element.
Drop Zone


Completing Checkout - PayPal Payment
How to complete the checkout process when PayPal is the payment method for the Store.
- Complete See "Completing Checkout - Order Review". Once you complete this step, you will be located on the Payment tab of the Checkout page.
- Click the Confirm Order button to proceed to the PayPal website.
- Create a PayPal account (if you don't already have one) and then login and complete the transaction on PayPal. Once the order is complete you will receive confirmation via email.


The BW library does not force a particular UI style onto it's applications. In the area of application "look", BW is expected to support and encourage innovative and unique styles. In the area of "feel", however, it is important that users of BW applications are able to transfer their experience in other applications to BW applications. For this reason, some standards for "drivability" are strongly encouraged by the available interface elements. This section documents these elements.
These are guidelines rather than hard rules -- every one of them will have exceptions in certain circumstances and sometimes they will conflict with each other in a design.
| Key | Function |
| Escape | Cancel |
| CTRL-Escape | Select application (by OS) |
| F1 | Help |
| ALT-F4 | Close (by OS) |
| F5 | Refresh |
| F10 | Application Menu |
| Print Screen | Desktop image to file/clipboard (by OS) |
| ALT-Print Screen | Window image to file/clipboard (by OS) |
| Scroll Lock | Reserved |
| Pause/Break | Reserved |
| ALT-"-" | System menu (by OS) |
| Backspace | Delete selected region OR delete before cursor |
| ALT-Backspace | Undo |
| CTRL-ALT-Backspace | Reserved (by OS) |
| Insert | Toggle Insert/Overwrite mode |
| SHIFT-Insert | Paste |
| CTRL-Insert | Copy |
| Home | Move cursor to begining of line |
| SHIFT-Home | Move cursor to begining of line while extending selection |
| CTRL-Home | Move cursor to begining of document |
| Page Up | Move cursor back one screenful and to the start of a line |
| SHIFT-Page Up | Move cursor back one screenful extending selection |
| Num Lock | Reserved (by OS) |
| ALT-Keypad-"-" | Change screen resolution (by OS) |
| Tab | Move focus to next control. If editing, insert a tab |
| SHIFT-Tab | Move focus to previous control |
| CNTL-Tab | Move focus to next control |
| ALT-Tab | Move focus to next application (by OS) |
| CTRL-O | Open |
| CTRL-P | |
| Delete | Delete selected region OR delete after cursor |
| SHIFT-Delete | Cut |
| CTRL-ALT-Delete | Reboot system (by OS) |
| End | Move cursor to end of line |
| SHIFT-End | Move cursor to end of line while extending selection |
| CTRL-End | Move cursor to end of document |
| Page Down | Move cursor forward one screenful and to the start of a line |
| SHIFT-Page Down | Move cursor forward on screenful while extending selection |
| ALT-Keypad-"+" | Change resolution (by OS) |
| Caps Lock | Reserved (by OS) |
| CTRL-S | Save |
| Enter | Open selected item OR insert paragraph/line boundary |
| ALT-Enter | Display properties of current selection |
| CTRL-Z | Undo |
| CTRL-X | Cut |
| CTRL-C | Copy |
| CTRL-V | Paste |
| CTRL-N | New |
| Up Arrow | Move cursor up one line OR previous item in list |
| SHIFT-Up Arrow | Move cursor up one line while extending selection |
| ALT | By itself, activates the application menu. In conjuction with a letter or number, it activates the indicated menu item, button, or other control. |
| Space Bar | Select Item |
| ALT-Space Bar | System menu (by OS) |
| Windows Key (extended keyboard) | Reserved (by OS) |
| Application Key (extended keyboard) | Application menu |
| Left Arrow | Move cursor left one character OR previous item in list |
| SHIFT-Left Arrow | Move cursor left one character while extending selection |
| CTRL-Left Arrow | Move cursor left one word |
| SHIFT-CTRL-Left Arrow | Move cursor left one word while extending selection |
| Down Arrow | Move cursor down one line OR next item in list |
| SHIFT-Down Arrow | Move cursor down one line while extending selection |
| Right Arrow | Move cursor right one character |
| SHIFT-Right Arrow | Move cursor right one character while extending selection |
| CTRL-Right Arrow | Move cursor right one word |
| CTRL-SHIFT-Right Arrow | Move cursor right one word while extending selection |


<%= require('html-loader!./header.html') %>
Page Not Found
Oops!
We can't find the page you're looking for.
Go To Homepage


Several graphically intense interactive application frameworks / game engines exist that target web technologies. The following are some we recommend with instructions for producing a Chrome App.
PlayCanvas demo on Chrome Web Store: Swooop
PlayCanvas is a free and open source WebGL Game Engine targeting mobile and desktop. Its browser based development tools support real-time collaboration.
PlayCanvas exports content that requires a small amount of manual work to package into a Chrome App. See: PlayCanvas Packaged App Publishing Documentation.
WiMi5 demo on Chrome Web Store: Bakus Legend
WiMi5 is a free cloud based webapp to create, publish and monetize web games. Games are quickly developed using a visual scripting editor. Programming is not required.
WiMi5 can create a package for Chrome Web Store with 1-click. See: How to publish your game on the Chrome Web.


OOPS! Error 404
RESOURCE NOT FOUND
GO BACK
Home Page
About Us
Services
Career
Contact Us
Social profiles
Connect with Facebook
Connect with YouTube
Connect with LinkedIn
Connect with Github
Connect with Bitbucket
Connect with Google
Connect with Twitter
Connect with Vimeo
Connect with VK
Connect with Flickr
Connect with Pinterest
Connect with Tumblr
Connect with Instagram
Connect with Dropbox
Company Name


self.vectorizer.mxlen = self.nctx
for file in files[start_idx:end_idx]:
with open(file) as rf:
for line in rf:
response = self.process_line(line)
read_file_order = list(range(offset, len(files), all_workers))
// If we have multiple files per worker, possibly shuffle the file read order
if self.shuffle:
read_file_order = np.random.permutation(read_file_order)
for file_idx in read_file_order:
file = files[file_idx]
with open(file) as rf:


Progress bars
progress-bars.less
Provide up-to-date feedback on the progress of a workflow or action with simple yet flexible progress bars.
Provide up-to-date feedback on the progress of a workflow or action with simple yet flexible progress bars.
Cross-browser compatibility
Progress bars use CSS3 transitions and animations to achieve some of their effects. These features are not supported in Internet Explorer 9 and below or older versions of Firefox. Opera 12 does not support animations.
Basic example
Default progress bar.
With label
Remove the
<span>
with.sr-only
class from within the progress bar to show a visible percentage.To ensure that the label text remains legible even for low percentages, consider adding a
min-width
to the progress bar.Contextual alternatives
Progress bars use some of the same button and alert classes for consistent styles.
Striped
Uses a gradient to create a striped effect. Not available in IE9 and below.
Animated
Add
.active
to.progress-bar-striped
to animate the stripes right to left. Not available in IE9 and below.Stacked
Place multiple bars into the same
.progress
to stack them.


Relative quantization of viral DNA with specific HSV-1 TaqMan probe in real-time PCR. DMSO was used in the infected control samples. Data are expressed as a mean (± SD) of at least three experiments and asterisks (* and **) indicate the significance of p-values less than 0.05 and 0.01, respectively.


What is an Abstract Random thinking style?
I recently took the Gregorc Thinking Style test and found that I am an Abstract Random thinker which is awesome, but I have no clue what it means. In light of that, let's take a look at what my results indicate and I'll let you know whether I think it's accurate or not.
- 30% of the general population falls into the Abstract Random category
- You are a master of unusual organization systems that nobody else can understand (sounds a bit lofty to me... let's go to the next one)
- You experience big emotional swings and are very sensitive (ding ding ding!)
- You are person oriented (I like to think of myself this way)
- You take being challenged personally and are likely to to just "shut down" (agreed, "shut down" or "act out")
- Your world of reality is: the abstract world of feeling and emotion (true!)
- Your view of times is: the moment. You believe that time is articifical and restrictive (also very true)
- Your environmental preference would be one that is: emotionally and physically free, rich, active, and colorful (ok, this is getting a little creepy...)
- Your use of language is: metaphoric, filled with big gestures, body language, and very colorful (spot on)
After reading the above results, I can definitely say that it almost perfectly describes how I see myself. Honestly, it's a little eerie.
What does this mean for Dev Bootcamp?
Knowing that I am an Abstract Random thinker, how can I best use this knowledge to help me get the most out of the Dev Bootcamp experience? First, I think it's imperative to note that I am a highly emotional guy with a tendency to analyze everything that is said and the manner in which it is delivered. I need to keep this in mind when interacting with others at DBC. If a pairing session doesn't go particularly well or if I've just had a rough day completing work, I need to be cognizant of my feelings and act in a manner that is appropriate. This is something that I've had to practice for years.
In addition, because I have a non-competitive nature and tend to want to sit and analyze the heck out of everything, I need to be aware of this and more carefully manage my time. I find I lose sight of the big picture and focus on one minute detail until the clock starts counting down and I realize I have a ton more to do. Case in point: I spent entirely too much time on the solo challenge this week and didn't leave adequate time for this blog post, thus I now find myself rushing when really, I would love to spend an extra day or so researching this thinking style. Oh well, maybe next week I'll add a section to the blog and title it, "trials and tribulations of an Abstract Random thinker" :)


JavaScript is disabled on your browser.
Skip navigation links
Overview
Package
Class
Tree
Deprecated
Index
Help
Prev
Next
Frames
No Frames
All Classes
SEARCH:
JavaScript is disabled on your browser.
Hierarchy For All Packages
Package Hierarchies:
gchess
,
gchess.boardgame
,
gchess.boardgame.states
,
gchess.chess
,
gchess.chess.enums
,
gchess.chess.exceptions
,
gchess.chess.gamemods
,
gchess.chess.moves
,
gchess.chess.pieces
,
gchess.chess.players
,
gchess.chess.players.evaluators
,
gchess.chess.states
,
gchess.chess.utils
,
gchess.enums
,
gchess.exceptions
,
gui
Class Hierarchy
java.lang.Object
gchess.chess.players.evaluators.
AiEvaluatorTypeA
(implements gchess.chess.players.
EvaluateMethodType
)
gchess.boardgame.
Board
<T>
gchess.chess.
ChessBoard
gchess.boardgame.
BoardGame
<T>
gchess.chess.
ChessGame
gchess.chess.gamemods.
Atomic
gchess.chess.gamemods.
Chess960
gchess.chess.gamemods.
KingOfTheHill
gchess.chess.gamemods.
ThreeCheck
gchess.boardgame.
BoardGamePlatform
<T,U> (implements java.lang.Runnable)
gchess.chess.
ChessGamePlatform
gchess.chess.utils.
BoardUtils
gchess.chess.utils.
ChessGameUtils
java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
java.awt.Container
javax.swing.JComponent (implements java.io.Serializable)
javax.swing.JPanel (implements javax.accessibility.Accessible)
gui.
BoardPanel
gui.
GamePanel
(implements gchess.chess.players.
UI
)
gui.
MainPanel
gui.
PlayerVsAiPanel
gui.
PlayerVsPlayerPanel
gui.
Tile
java.awt.Window (implements javax.accessibility.Accessible)
java.awt.Frame (implements java.awt.MenuContainer)
javax.swing.JFrame (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants)
gui.
MainFrame
gchess.chess.players.
DefaultUI
(implements gchess.chess.players.
UI
)
gchess.boardgame.
GameState
gchess.boardgame.states.
GameEnded
gchess.chess.states.
CheckMate
gchess.chess.states.
KingIsDead
gchess.chess.states.
KingIsOnTheHill
gchess.chess.states.
ThreeCheckWin
gchess.chess.states.
Tie
gchess.boardgame.states.
InGame
gchess.chess.states.
Check
gchess.
GChess
(implements gchess.
GChessAPI
)
gui.
ImageUtils
Main
gchess.boardgame.
Move
gchess.chess.moves.
AttackMove
gchess.chess.moves.
EnPassantMove
gchess.chess.moves.
CastleMove
gchess.chess.moves.
PawnDoubleTileMove
gchess.chess.moves.
PromotionMove
gchess.boardgame.
Piece
gchess.chess.
ChessPiece
gchess.chess.pieces.
Bishop
gchess.chess.pieces.
King
gchess.chess.pieces.
Knight
gchess.chess.pieces.
Pawn
gchess.chess.pieces.
Queen
gchess.chess.pieces.
Rook
gchess.boardgame.
Player
<T>
gchess.chess.
ChessPlayer
gchess.chess.players.
AIPlayer
gchess.chess.players.
HumanPlayer
gchess.boardgame.
Position
gchess.chess.utils.
Positions
java.lang.Throwable (implements java.io.Serializable)
java.lang.Exception
gchess.chess.exceptions.
BoardException
gchess.chess.exceptions.
ImpossibleUndoException
gchess.chess.exceptions.
NullPieceExeption
gchess.chess.exceptions.
PositionOutOfBoardException
gchess.chess.exceptions.
ChessGameException
gchess.chess.exceptions.
IllegalMoveException
gchess.chess.exceptions.
IllegalPromoteException
gchess.exceptions.
GChessThrowable
gchess.exceptions.
NoGameWasStarted
gchess.exceptions.
UnknownDifficulty
gchess.exceptions.
UnknownGameMode
Interface Hierarchy
gchess.chess.players.
EvaluateMethodType
gchess.
GChessAPI
gchess.chess.players.
UI
Enum Hierarchy
java.lang.Object
java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
gchess.boardgame.
Alliance
gchess.chess.enums.
Direction
gchess.enums.
GameMode
gchess.enums.
GameType
gchess.chess.enums.
Piece
Skip navigation links
Overview
Package
Class
Tree
Deprecated
Index
Help
Prev
Next
Frames
No Frames
All Classes
JavaScript is disabled on your browser.


We all read news with implicit biases. From our own political views to those of news sources' and reporters', attempting to escape political, social, or other frames is futile. Whether we’re watching a fifteen-second TV ad or reading a carefully laid-out newspaper, the frame imposed on the content dissuades us from thinking, or nudges us toward predetermined thought patterns. In news, the sum of our experiences preceding what we read determines how we read it. We know this, which is why many actively try to read political articles from both the left and right. This leads to my question: Why don't we recognize these same frames in gender?
We each view the world through our own set of internal frames, shaped by our individual experiences and by the words we’ve heard and uttered. Men and women have biological disparities, affecting their outlooks and how they shape their news. More importantly, the social landscapes for both genders vastly differ: from how they're raised, how they're spoken to, and societal pressures placed on them, men and women view the world through divergent lenses. And if only one gender reports information, we only see one side of the truth.
My study reviews The New York Times, widely revered as the paragon of the news industry, to determine whether an equally distributed number of men and women write their articles.
I accumulated every New York Times article written over the last 7 years, which totaled to be over 500,000 articles. From each article, I extracted the first name of the main author and the "section_type," the topic name that the New York Times attributed to the article.
Although I had a list of the authors' first names, the New York Times did not explicitly state their genders. To resolve this issue, I created an algorithm that searches through the US Social Security name database to predict gender. For names like Tracy and Alex, which can fall into either category, the algorithm checks which gender is more popular for that name, and places it into that group. If the name cannot be categorized into a gender with at least a 60% certainty, or if the name isn't in the database at all, the algorithm omits the name to insure accurate data. Roughly 5% of the data was not included in my analysis for these reasons.
In order to determine whether an imbalance exists between articles written by men and women, we need to look at the number of articles written by each gender. Seeing how this data looks over a seven year span ensures reliability and eliminates the possibility of an outlier month as the cause for an imbalance.
As we can see from the histogram above, male authors heavily dominate writing at The New York Times. Men consistently double or nearly double women in total articles every month. In January, 2012, men wrote 7,290 articles - the greatest number of articles written by a single gender in a month. For comparison, during that same month women wrote a measly 3,554 articles, or a little over 32% of the total articles. Eight years later, there doesn't appear to be any progress concerning the amelioration of gender discrepancies at The Times.
It is also worth noting the heavy reduction in total articles over the last seven yers. In that time span, The Times released 12,069 articles at its peak in January, 2012. Over the ensuing years, that number has plummeted. In December, 2017, the newspaper published a mere 991 articles, or 8% of what was produced nearly seven years earlier.
Within The Times, gender distributions fluctuate between topic sections as shown in the figure below.
Although some topic sections have a relatively normal gender distribution, a far greater number fails to meet this same level of equality. Several sections contain more female writers, including Real Estate, Travel, and Fashion, but these sections publish fewer articles per month in comparison to other Times' sections. In fact, men predominantly write the top seven topic sections, which include US, World, Arts, Business, and Opinion.
In December, 2016, women wrote only 24.9% of the articles in the Opinion section. The Opinion section covers authors' views on a variety of topics, including politics, food, and life decisions. Simply put, readers hear the voices and views of the authors in this section. Why, then, does The Times mainly present the voices of only 50% of the population?
Over the last seven years, the amount of news distributed to the American people from The Times has diminished, and the company appears to continue to select voices from a skewed demographic. When people consume information from a homogeneous source, they develop blindspots; they are deprived of fresh ideas, new cultures, and diverging opinions as a consequence. As the New York Times continues to release fewer articles, the potency of each becomes greater. Not to be confused, The Times has a great reputation for a reason: for over a hundred years they've released an ample amount of quality content to the public. However, we must be cognizant of their blindspots. Much like the rise of suburban America in the 1950s, where provincial ideas resonated off one other like a soundboard for white America, the concentrated male-dominated news perpetrated by the New York Times leaves Americans in uniform thought, and leaves women without representation. And when the distributors of information are only a few, homogeneous voices, democracy and the progress of this nation halts. Although the absence of free news can cripple a nation, a trusted news source with concealed biases, like The New York Times, can trigger pernicious and equally damaging consequences.


I lead the Intelligence engineering org at Chipper Cash, a fintech building accessible financial services for Africa.
My teams leverage cutting-edge machine learning and data infrastructure to tackle fraud & abuse, personalization, experimentation, and more under a full-stack philosophy; hear me talk about it .
Previously, I worked on the Geo Search Ranking team at Google where I drove applied ML projects that hit billions of users across Search, Maps, and Assistant.
I've lived and traveled throughout the world.


Home
Contact Us
LBC | Pricing
Pricing
Affordable rates for out-of-this-world fun!
ONE BILLION DOLLARS