The genus Flavivirus includes several pathogenic agents that cause severe illness in humans. Re-emergence of West Nile virus in Europe and continuous spread of certain flaviviruses such as dengue, yellow fever and Japanese encephalitis viruses represent a global danger to public health. Therefore, a rapid and accurate molecular method is required for diagnostics and epidemiological surveillance of flaviviruses.
A Pan-Flavi quantitative RT-PCR assay using a Locked-Nucleic Acid probe targeting the flavivirus NS5 gene was developed and optimized to detect a wide range of flaviviruses simultaneously. The specificity and sensitivity of the Pan-Flavi assay were tested using RNA of different flaviviruses and non-flaviviruses. Furthermore, the assay was compared directly to flavivirus species-specific assays for the ability to detect flaviviruses sensitively.
Two degenerate primers and one Locked-Nucleic Acids probe were designed to amplify most of the flaviviruses. To increase the specificity and fluorescence signal of the Pan-Flavi assay for detection of yellow fever virus and dengue virus 4, additional primers and probes were included. Viral RNA of thirty different flaviviruses was detected, verifying the broad range specificity. The testing of this assay was successful, using standard plasmid and RNA dilutions of yellow fever virus vaccine strain, dengue virus 1 and tick-borne encephalitis virus, with a sensitivity limit of 10–100 genome copies/reaction. Also comparatively good results were achieved for detecting different flaviviruses by the Pan-Flavi assay when compared to the flavivirus species-specific assays.
The assay is rapid, broad-range flavivirus-specific and highly sensitive making it a valuable tool for rapid detection of flaviviruses in livestock samples, epidemiological studies or as useful complement to single flavivirus-specific assays for clinical diagnosis.
The genus Flavivirus of the family Flaviviridae consists of more than 70 virus species including many arthropod-borne viruses. It contains highly pathogenic agents such as the name-giving member yellow fever virus (YFV), West Nile virus (WNV), Japanese encephalitis virus (JEV), tick-borne encephalitis virus (TBEV) and dengue virus (DENV), which can cause encephalitis or hemorrhagic fever and pose some of the most challenging emerging diseases in humans [ 1 ].
Flaviviruses comprise three epidemiologically distinct groups; the mosquito-borne group, the tick-borne group and the unknown vector viruses [ 2 ]. They are enveloped positive-stranded RNA viruses with a genome of approximately 11 kb. The viral genome encodes a large single polyprotein from which three structural proteins, Capsid (C), Envelope (E) and Membrane (M) and seven non-structural proteins, NS1, NS2A, NS2B, NS3, NS4A, NS4B and NS5, are produced [ 3 ].
Flaviviruses pose a threat to public health worldwide, especially in developing countries. In recent years, there has been a dramatic increase in cases of DENV infections globally. The disease is endemic in more than 100 countries in Africa, the Americas, the Eastern Mediterranean, South-east Asia, and the Western Pacific. About 50–100 million cases of DENV infection are reported worldwide every year, resulting in 500,000 cases of hemorrhagic fever requiring hospitalization and 25,000 fatalities [ 4 ]. Yellow Fever is endemic in 45 countries throughout Africa and Latin America, with approximately 200,000 cases of human infections worldwide, and 30,000 mortalities [ 5 ]. WNV is one of the most widespread flaviviruses. WNV lineage 1 is endemic in the Americas, India, and Australia. Both lineages 1 and 2 are found in Africa and Europe [ 6 - 8 ]. The recent WNV outbreak reported in August 2010 in Greece was the first large outbreak in humans in Europe since the Romanian outbreak in 1996–1997 [ 9 ]. JEV is the leading cause of viral encephalitis in Asia with 30,000–50,000 clinical cases reported annually and 10,000 deaths [ 10 ]. TBEV, virus-causing infection of the central nervous system, has spread extensively in some European regions. According to ECDC [ 11 ], human cases of TEBV infections have increased in the past 30 years dramatically posing a danger to public health in European countries.
A number of flaviviruses have repeatedly demonstrated their ability to expand their geographical range. Some current examples are the introduction of Usutu virus and Bagaza virus into central Europe [ 12 , 13 ], or Zika virus into Yap island and Cambodia [ 14 ]. In recent years, also a high number of mosquito-only flaviviruses including Culex and Aedes flaviviruses were discovered throughout the world [ 15 - 18 ]. Apart from the human pathogenic and mosquito-only flaviviruses, several novel flaviviruses were latterly discovered: Nounane in Cote d’Ivoire [ 19 ], T’Ho virus in Mexico [ 20 ], Lammi virus in Finnland [ 21 ], and Duck tembusu virus in China [ 22 ]. In contrast to mosquito-only flaviviruses, these novel flaviviruses were shown to be phylogenetically related to human pathogenic flaviviruses.
The clinical diagnosis of flavivirus infections is not unambiguous due to unspecific symptoms varying from mild, febrile illness to viral hemorrhagic fever. Many of these viruses have a common transmission vector and can co-circulate in the same area. All these factors make a precise identification of the pathogen difficult.
Today most diagnostic laboratories use serological assays for flavivirus testing. These tests are commonly based on the enzyme-linked immunosorbent assay (ELISA) and detect virus-specific IgM and IgG antibodies. Antibodies are undetectable prior to 5–7 days after onset of infection which hampers the usefulness of the serological methods. Molecular techniques, in contrast, can be used already in the acute phase and are known to be rapid, highly specific and sensitive.
Since the early 1990s, several group-specific and generic molecular assays for detection of flaviviruses have been developed as reviewed previously [ 23 - 25 ]. A number of attempts to detect several flaviviruses in a single reverse transcription-polymerase chain reaction (RT-PCR) assay have been made [ 26 ]. These assays vary in the selected target region, assay format and detection method. The highly conserved NS3 and NS5 genes have been used predominantly for flavivirus testing, mainly as nested, hemi-nested RT-PCR or SYBR green real-time PCR, without using a probe for sequence verification.
The aim of this study was to develop a rapid, sensitive and reliable TaqMan probe-based quantitative RT-PCR (qRT-PCR) assay for simultaneous detection of several flaviviruses, using the conserved NS5 gene region. The introduction of Locked-Nucleic Acid (LNA) bases in the probe increases robustness, specificity and sensitivity of the assay and has been shown to allow quantification of the viral load.
Primers from publication [ 26 - 28 ] were aligned against genomic sequences of all flaviviruses deposited in the NCBI database to verify their flavivirus-generic amplification capacity. Degenerate primers were selected based on these published sequences, but modified in order to increase the spectrum of flaviviruses included. As alternative approach individual specific flavivirus species-specific primers were combined to avoid unspecificity due to base combinations contained in the degenerate primers not matching exisiting viral sequences. In particular we used 17 forward and 15 reverse primers and another four reverse primers targeting different locations. Testing of the primer mix with viral RNA revealed that the performance of the primer mixes was not improved compared to the results obtained with the degenerate primers. Also for the probes we tested 22 individual flavivirus-specific sequences covering all known sequence variants at the binding site and established mixtures yielding comparable threshold cycle (Ct) values for all virus species tested, but the signal level was significant lower than for degenerate LNA-probes (data not shown). In conclusion, neither the set of individual primers nor the set of probes improved the detection limit nor the range of viruses detected and we continued the evaluation with the degenerate set of primers combined with one of the three LNA-probes.
In total, six combinations assembled from two degenerate primer sets (Flavi all S & Flavi all AS1 and Flavi all S & Flavi all AS2) and three probes (Flavi all probe 1, Flavi all probe 2 and Flavi all probe 3) were tested using RNA from flaviviruses and other viruses to check the performance of these Pan-Flavi assays. Combinations with Flavi all probe 3 showed earlier Ct values (Table 1 ). Best results among these six combinations were obtained with Flavi all S, Flavi all AS2 primers and Flavi all probe 3, but detection of DENV type 4 was insufficient. Analysis by gel electrophoresis revealed missing amplification, except a faint band for primer combination Flavi all S and AS1, correlating to a low signal and very late Ct value (Table 1 ).
Comparison of designed two degenerate primer sets and three probes containing wobble and LNA bases in six combinations for detection of the different flavivirus RNA
| Sample No | Virus |
Ct value obtained through testing the combination of Flavi all degenerate primers
and probe
|
|||||
|---|---|---|---|---|---|---|---|
| S/AS1/probe1 | S/AS1/probe2 | S/AS1/probe3 | S/AS2/probe1 | S/AS2/probe2 | S/AS2/probe3 | ||
|
1
|
DENV-1
|
31.50
|
17.57
|
15.66
|
27.95
|
17.84
|
15.61
|
|
2
|
DENV-2
|
22.69
|
22.21
|
19.76
|
22.27
|
22.19
|
19.92
|
|
3
|
DENV-3
|
No Ct
|
21.25
|
19.14
|
No Ct
|
20.63
|
18.57
|
|
4
|
DENV-4
|
No Ct
|
35.50
|
35.48
|
No Ct
|
No Ct
|
No Ct
|
|
5
|
JEV
|
20.40
|
21.63
|
20.93
|
18.99
|
19.98
|
19.27
|
|
6
|
RSSEV
|
27.69
|
29.38
|
27.31
|
24.67
|
26.13
|
23.81
|
|
7
|
TBEV K23
|
17.68
|
21.81
|
16.99
|
16.73
|
18.63
|
16.32
|
|
8
|
TBEV Louping ill
|
26.00
|
28.75
|
23.78
|
22.13
|
24.8
|
21.22
|
|
9
|
Usutu virus
|
25.63
|
33.96
|
25.91
|
22.96
|
30.3
|
23.48
|
|
10
|
WNV Uganda
|
30.22
|
30.27
|
30.68
|
28.46
|
28.45
|
28.26
|
|
11
|
WNV Israel
|
21.76
|
21.83
|
20.78
|
20.06
|
21.68
|
19.8
|
|
12
|
SLEV
|
25.85
|
26.95
|
25.57
|
24.41
|
24.90
|
23.49
|
|
13
|
YFV 17D
|
19.82
|
22.48
|
18.41
|
20.03
|
22.12
|
18.92
|
|
14
|
YFV Asibi
|
23.71
|
26.98
|
22.82
|
24.17
|
26.83
|
23.53
|
|
15
|
YFV Brasil
|
21.35
|
23.73
|
20.48
|
21.75
|
23.82
|
21.43
|
|
16
|
YFV Ivory Coast
|
21.35
|
23.98
|
20.36
|
21.47
|
23.94
|
21.44
|
|
18
|
Chikungunya virus
|
No Ct
|
No Ct
|
No Ct
|
No Ct
|
No Ct
|
No Ct
|
|
19
|
RVFV
|
No Ct
|
No Ct
|
No Ct
|
No Ct
|
No Ct
|
No Ct
|
|
20
|
Sindbis virus
|
No Ct
|
No Ct
|
No Ct
|
No Ct
|
No Ct
|
No Ct
|
|
21
|
H1N1 Influenza A
|
No Ct
|
No Ct
|
No Ct
|
No Ct
|
No Ct
|
No Ct
|
|
22
|
H5N1 Influenza A
|
No Ct
|
No Ct
|
No Ct
|
No Ct
|
No Ct
|
No Ct
|
| 17 | Negative control | No Ct | No Ct | No Ct | No Ct | No Ct | No Ct |
DENV: Dengue virus, JEV: Japanese encephalitis virus, RSSEV: Russian spring-summer encephalitis virus, WNV: West Nile virus, TBEV: Tick-borne encephalitis virus, SLEV: Saint Louis encephalitis virus, RVFV: Rift valley fever virus, YFV: Yellow fever virus.
S: Flavi all S, AS1: Falvi all AS1, AS2: Flavi all AS2, probe1: Flavi all probe 1, probe 2: Flavi all probe 2, probe 3: Flavi all probe 3.
To overcome this deficit the combination Flavi all S/AS2/probe 3 was supplemented with an additional DEN4 F primer and all tests were repeated. DENV type 4 was now detectable with Ct values similar to the specific assay. The additional DEN4 F primer had no influence on the detection of all other flaviviruses tested (Table 2 ). Evaluation of the Pan-Flavi assay was performed using primers Flavi all S/DEN4 F and Flavi all AS2. Changing primers to Flavi all S/Flavi all S2/ Flavi all AS4 allowed to detect also Nounane virus (Table 3 ), without changing specificity and sensitivity of Pan-Flavi assay for the other viruses (data not shown).
Representative results of the Pan-Flavi assay to detect different flaviviruses, and its comparison with flavivirus species-specific assays
| Virus | Strain/ Acc. No. |
Pan-flavi assay*
,#
|
Virus-specific assay
#
|
|||||
|---|---|---|---|---|---|---|---|---|
| Mean of Ct value | SD of Ct value | Mean of GC/ml | Mean of Ct value | SD of Ct value | Mean of GC/ml | Reference | ||
|
Flavivirus
|
||||||||
| DENV-1
|
ATCC VR-344
|
15.64
|
0.02
|
2.0 × 10
9
|
15.93
|
0.03
|
4.6 × 10
9
|
[
29
]
|
| DENV-2
|
ATCC VR-345
|
20.76
|
0.20
|
6.6 × 10
7
|
18.77
|
0.11
|
6.7 × 10
8
|
|
| DENV-3
|
ATCC VR-1256
|
19.36
|
0.01
|
1.7 × 10
8
|
20.30
|
0.01
|
2.4 × 10
8
|
|
| DENV-4
|
ATCC VR-1257
|
16.33
|
0.19
|
1.3 × 10
9
|
16.18
|
0.29
|
3.9 × 10
9
|
|
| YFV 17D
|
X03700
|
19.17
|
0.17
|
1.9 × 10
8
|
20.51
|
0.17
|
5.6 × 10
8
|
[
30
]
|
| YFV ASIBI
|
RKI reference strain
|
23.73
|
0.05
|
9.1 × 10
6
|
23.72
|
0.28
|
4.7 × 10
7
|
|
| YFV Brazil
|
RKI reference strain
|
21.18
|
0.07
|
5.0 × 10
7
|
22.50
|
0.10
|
1.2 × 10
8
|
|
| YFV Ivory Cost
|
RKI reference strain
|
21.44
|
0.21
|
4.2 × 10
7
|
21.29
|
0.05
|
3.1 × 10
8
|
|
| WNV Uganda
|
AY532665, lineage 1
|
28.74
|
0.06
|
3.2 × 10
5
|
26.83
|
0.27
|
3.4 × 10
6
|
[
31
]
|
| WNV Israel
|
lineage 2
|
19.81
|
0.15
|
1.2 × 10
8
|
19.86
|
0.01
|
4.0 × 10
8
|
|
| TBEV K23
|
AF091010
|
16.33
|
0.03
|
1.3 × 10
9
|
16.78
|
0.14
|
2.1 × 10
8
|
[
32
]
|
| RSSEV
|
RKI reference strain
|
24.20
|
0.32
|
6.7 × 10
6
|
19.35
|
0.01
|
4.1 × 10
6
|
|
| TBEV Louping ill
|
RKI reference strain
|
20.59
|
0.22
|
7.4 × 10
7
|
20.43
|
0.06
|
2.0 × 10
7
|
|
| JEV | ATCC SA14-14-2 | 19.36 | 0.01 | 2.4 × 10 8 | 16.73 | 0.01 | 7.7 × 10 8 | In house assay |
GC: genome copies, Ct: threshold cycle, SD: standard deviation.
DENV: Dengue virus, JEV: Japanese encephalitis virus, RSSEV: Russian spring-summer encephalitis virus, WNV: West Nile virus, TBEV: Tick-borne encephalitis virus, YFV: Yellow fever virus.
*Pan-Flavi assay was performed using Flavi-all S, Flavi all AS2, DEN4 F primer and Flavi all probe3 mix.
#The same amount of RNA (5 μl) was applied to both pan-Flavi assay and virus species-specific one-step qRT-PCR assays.
Performance of the Pan-Flavi assay to detect different flaviviruses. Five μl of viral RNA extracted from virus cell culture supernatant were applied to both pan-Flavi assay and RT-PCR
| Virus | Virus abbreviation |
Strain/Reference
|
Pan-flavi assay
|
RT-PCR *
|
|---|---|---|---|---|
| Ct value | Confirmation by gel | |||
|
Flaviviridae
|
||||
| St. Louis Encephalitis virus
|
SLEV
|
ATCC VR-1265
|
22.19
|
N.d.
|
| Usutu virus
|
USUV
|
AY453411
|
22.48
|
N.d.
|
| Kunjin virus
|
KUNV
|
PI.France
|
24.97
|
N.d.
|
| Kedougou virus
|
KEDV
|
ArD 14701
|
29.62
|
Positive
|
| Koutango virus
|
KOUV
|
AnD 5443
|
30.29
|
Positive
|
| Spondweni virus
|
SPOV
|
SA Ar 94
|
26.02
|
Negative
|
| Uganda S virus
|
UGSV
|
ArD 109325
|
29.48
|
Positive
|
| Wesselsbron
|
WESSV
|
ArB 4177
|
24.73
|
Positive
|
| Zika virus
|
ZIKV
|
PI, Senegal
|
22.45
|
Positive
|
| Sepik virus
|
SEPV
|
MK 7148
|
16.77
|
Positive
|
| Dakar bat virus
|
DBV
|
AnD 249
|
32.57
|
Positive
|
| Yaounade virus
|
YAOV
|
ArY 276/68
|
17.52
|
Positive
|
| Bouboui virus
|
BOUV
|
ArB 490
|
31.88
|
Negative
|
| Saboya virus
|
SABV
|
AnD 4600
|
27.50
|
Negative
|
| Nounane virus
#
|
NOUV
|
B3 isolate
|
No ct
|
N.d.
|
|
Bunya viridae
|
||||
| Rift valley fever virus
|
RVFV
|
RKI
|
No ct
|
N.d.
|
|
Togaviridae
|
||||
| Chikungunya virus
|
|
LR 2006
|
No ct
|
N.d.
|
| Chikungunya virus
|
|
ST05,African isolate
|
No ct
|
N.d.
|
| Sindbis virus
|
|
RKI
|
No ct
|
N.d.
|
|
Influneza virus
|
||||
| H1N1 Hamburg
|
|
A/Hamburg/04/2009 H1N1
|
No ct
|
N.d.
|
| H1N1 California
|
|
A/California/04/2009 H1N1
|
No ct
|
N.d.
|
| H5N1 | A/dk/Germany R603/06 H5N1 | No ct | N.d. |
N.d.: not done, Ct: threshold cycle, * RNA of African flaviviruses were detected using reference method described previously [ 33 ]. # Nounane virus was detected using final optimized primer sets Flavi all S/Flavi all S2/Flavi all AS4 and Flavi all probe 3 mix.
The specificity of the final version of the Pan-Flavi assay was tested using a panel of mosquito- and tick-borne flaviviruses, one insect-only novel flavivirus and one flavivirus with unknown vector, one virus of the Bunyaviridae family, three of the Togaviridae family and three of the Orthomyxoviridae family . Viral RNA of thirty different flaviviruses was detected, verifying the broad range specificity. However, one insect-only novel flavivirus was not detected. Neither non-flaviviruses nor negative controls resulted in signals, demonstrating the absence of cross-reactivity of the Pan-Flavi assay with non-flaviviruses (Tables 2 and 3 ).
To determine the linearity of the assay, 10-fold serial dilutions of the standard plasmid were tested. The Pan-Flavi assay was shown to be linear over a range of 5 log
Standard curve constructed using ten-fold serial dilution of standard plasmid containing NS5 gene of yellow fever virus. The detection thresholds (Ct values) are plotted against the log of known standard plasmid (pYFV) copy numbers.
The Pan-Flavi assay was performed as a one-step qRT-PCR. The sensitivity of the Pan-Flavi assay to detect viral RNA was compared to three virus species-specific one-step qRT-PCR assays for DENV, TBEV and YFV, all assays could be thus compared in one run. The RNA stocks of DENV-1, YFV strain 17D and TBEV strain K23 were quantified by virus species-specific qRT-PCR as described previously [ 29 , 30 , 32 ]. Then, 10-fold serial dilution of the RNA was prepared from quantified stocks to cover a range of 10 1 to 10 7 genome copies/reaction. The detection limit of Pan-Flavi assay was determined using these pre-quantified RNA dilutions. Detection limit of the Pan-Flavi assay was 100 genome copies for YFV 17D, 10 genome copies for DENV-1 and 10 genome copies for TBEV K23 (Table 4 ).
Test of sensitivity of Pan-Flavi assay with pre-quantified viral RNA dilutions
| Quantity (Genome copies/reaction) | Ct values for DENV-1 | Ct values for TBEV strain K23 | Ct values for YFV strain 17D |
|---|---|---|---|
| 1 × 10
7
|
16.8
|
16.6
|
-
|
| 1 × 10
6
|
20.5
|
19.5
|
20.8
|
| 1 × 10
5
|
23.4
|
23.0
|
24.2
|
| 1 × 10
4
|
27.4
|
26.2
|
27.6
|
| 1 × 10
3
|
30.2
|
29.4
|
30.1
|
| 1 × 10
2
|
37.1
|
31.7
|
36.4
|
| 1 × 10 1 | 39.7 | 33.0 | No Ct |
GC: genome copies, Ct: threshold cycle.
YFV: Yellow fever virus, TBE: Tick-borne encephalitis virus, DENV: Dengue virus.
The same amounts of RNA (5μl) from DENV, WNV, YFV, TBEV and JEV were detected quantitatively by using virus species-specific qRT-PCR assays, and the results were compared with those obtained by the Pan-Flavi assay for these viruses (Table 2 ). All four serotypes of DENVs were detected by the Pan-Flavi assay, with almost identical Ct values and GC/ml; although for DENV the Pan-Flavi assay showed delayed Ct values corresponding to one log dilution. For all YFV isolates tested the results were similar to those with the YFV-specific assay. Also WNV lineage 2 gave the same results as the WNV-specific assay, while the Ct values for lineage 1 virus were delayed. All three subtypes of TBEV were detected by both the Pan-Flavi assay and a TBEV-specific assay. The Ct values and genome copies/ml determined by both methods were identical except for RSSEV. For the detection of JEV, the Pan-Flavi assay had half a log lower sensitivity compared to the JEV-specific assay. WNV- and JEV-specific assays were performed in a two-step format which could explain their higher sensitivity compared to the Pan-Flavi assay.
In summary, the performance of the Pan-Flavi assay was comparable to virus species-specific assays except for minor differences for some strains of flaviviruses.
The ongoing emergence of flaviviruses poses major public health concerns worldwide. Techniques used for molecular testing and surveillance of flaviviruses should be able to detect and identify a wide range of flavivirus species rapidly, with a high level of specificity and sensitivity. For this purpose, an LNA probe-based qRT-PCR (Pan-Flavi assay) for detection of RNA of various flaviviruses was developed. We tested several important human-pathogenic flaviviruses to demonstrate the ability to detect relevant members of the flavivirus genus. The Pan-Flavi assay was also tested with other viruses, in particular phleboviruses, alphaviruses and influenza viruses, to determine absence of cross-reactivity.
In recent years, generic approaches targeting highly conserved NS3 and NS5 genes have been described for the detection of flaviviruses as summarized previously [ 24 , 26 ]. These methods were predominantly in the format of nested RT-PCR or SYBR green qRT-PCR which required post-amplification methods such as sequencing or melting temperature analysis to verify the result. In general, these methods have shown variable or lower sensitivity than species-specific approaches when evaluated during EQA exercises for the molecular diagnosis of different flavivirus [ 29 , 34 ]. Only in some cases assays were comparable to those from the species-specific methods [ 27 ].
In the past 10 years, the primer sets targeting a conserved region of NS5 have been developed and optimized for a broad detection of flaviviruses. This approach was not only useful to detect known flaviviruses, but has also led to discovery of novel flaviviruses [ 18 , 35 , 36 ].
For the novel Pan-Flavi assay, the degenerate primer sequences share the conserved NS5 region (Figure 2) targeted by the previous published primers (Figure 3). These primers exhibited good efficiency in detecting a broad range of common and exotic flaviviruses (Tables 2 and 3 ) but failed to detect the RNA of DENV type 4 or Nounane virus. The alignment for the Flavi all S primer revealed mismatches at 6th and 8th position from the 3′-end which would have been rated as non-critical (Figure 2). However, only addition of DEN4 F primer improved the assay for DENV type 4 (Tables 1 and 2 ). Remarkably, the 3rd position from 3′-end mismatch in the reverse primer Flavi all AS2 for YFV, DENV type 2 and Usutu virus did not have any impact as these three viruses were detected well by Pan-Flavi assay (Figure 2). These results underline that the in-silico analysis provides only a limited prediction for the primer specificity, which still requires to be confirmed by laboratory testing. Designing of a single probe for detection of all flaviviruses is challenging because of the genetic diversity and the restricted length of conserved regions. One approach is the use of oligonucleotide mixtures covering many target sequence variants, which was applied for detection of DENV and Crimean-Congo Hemorrhagic fever virus (CCHF) [ 37 , 38 ]. Other approaches to design broad range probes are the use of a short conserved sequence in combination of minor groove binding (MGB) or LNA modifications [ 39 , 40 ]. First, we used 22 specific probes for flaviviruses generic detection, but the amplification signals were insufficient. To overcome this problem, probes with LNA bases were designed for the Pan-Flavi assay. Major advantages of LNA probes in comparison to other real-time PCR formats are the shorter probe length, stability, increased sensitivity, specificity and quenching efficiency which have been demonstrated by many studies [ 30 , 41 - 45 ]. One of three designed and tested LNA-based probes (Flavi all probe) successfully targeted a broad spectrum of different flaviviruses. The signal for detection of YFV and DENV type 4 were optimized by adding small fractions of specific probes (Table 5 ).
Sequence alignment of primers and probe with 26 flaviviruses conserved region of NS5 gene. + Symbol under oligonucleotides indicates position of locked nucleotides.
The published and Flavi-all primer sites in the Yellow fever 17D genome (NC 002031) with locations of genes. In dark green: forward primer, in light green: reverse primer, in red: site of probe used in this study. The figure is prepared using Geneious pro version (5.4.3) created by Biomatters.
Oligonucleotide sequence of primers and probes used in Pan-Flavi qRT-PCR assay
| Primer & Probe | Sequence | Concentration | Orientation a | Position b | Tm (°C) |
|---|---|---|---|---|---|
|
Flavi all S
|
TACAACATgATggggAARAgAgARAA
|
10 pmol
|
S
|
8993–9019
|
54.7
|
|
DEN4 F
|
TACAACATgATgggRAAACgTgAGAA
|
10 pmol
|
S
|
8996–9019
|
60.18
|
|
Flavi all AS 1
|
gTCCCANCCDgCKgTRTC
|
10 pmol
|
AS
|
9236–9253
|
52.5
|
|
|
gTCCCATCCAgCKgTRTCATC
|
5 pmol
|
AS
|
9236–9256
|
57.1
|
|
Flavi all AS 2
|
gTgTCCCAgCCNgCKgTgTCATCWgC
|
10 pmol
|
AS
|
9232–9260
|
69.6
|
|
Flavi all probe 1
|
FAM-AARggHAgYMgNgCCA
+ TH
+ T + g + g + T-BBQ
|
5 pmol
|
S
|
9044–9065
|
69–83
|
|
Flavi all probe 2
|
FAM-Tg
+ gTWYATgTggYTNg
+ gRgC--BBQ
|
5 pmol
|
S
|
9062–9082
|
62–75
|
|
Flavi all probe 3 mix
|
FAM-Tg
+ gTWYATgT
+ ggYTNg
+ gRgC—BBQ
c
|
5 pmol
|
S
|
9062–9082
|
66-79
|
|
|
FAM-CCgTgCCATATggTATATgTggCTgggAgC-BBQ
d
|
0.5 pmol
|
S
|
9052–9081
|
74.7
|
|
|
FAM-TTTCTggAATTTgAAgCCCTgggTTT-BBQ
e
|
0.5 pmol
|
S
|
9086–9012
|
68
|
|
Flavi all S2
|
TACAACATgATgggMAAACgYgARAA
|
10 pmol
|
S
|
8996–9019
|
58.2
|
| Flavi all AS4 | gTgTCCCAGCCNgCKgTRTCRTC | 10 pmol | S | 9235–9260 | 64.1 |
Tm: temperature, Locked-Nucleic Acid bases are written as ‘ + _’, e.g., +A.
Degenerate bases: R = (A/G), W = (A/T), K = (T/G), Y = (C/T), N = (A/G/T/C).
a S: sense orientation, AS: antisense orientation.
b YFV strain; accession no: NC 002031.
c Flavi all probe, d Flavi probe YFV, e Flavi probe DEN4.
Final Pan-Flavi assay comprise of Flavi all S, Flavi all S2 & Flavi all AS4 primer and Flavi all probe 3 mix.
At present, RT-PCR in nested or hemi-nested format is used most frequently. It requires sequencing for the identification of viruses and needs approximately one day for experimentation. In addition, this carries a high risk of contamination caused by open handling of PCR products, increasing the potential for false positives. In contrast, the Pan-Flavi assay presented here requires only some 50 minutes for specific and sensitive detection of several flaviviruses in one reaction. The detection sensitivity of YFV, DENV, TBEV, JEV and WNV, using the described Pan-Flavi assay, was close to or as good as the species-specific qRT-PCR assays. These differences may have resulted from deviant reactions conditions, enzyme kits and instruments, which were used as published or in-house established, and it is to mention, that WNV and JEV assays were performed in a two-step PCR which is known to be more sensitive than the one-step procedure [ 46 ].
The sensitivity of the Pan-Flavi assay to detect RNA was demonstrated by using 10-fold serial dilutions of viral RNA from DENV-1, YFV and TBEV. The assay was able to detect 10–100 viral RNA copies per reaction, depending on the respective flavivirus. The assay allows the quantification of flavivirus RNA by use of standard plasmids or standardised in-vitro RNA, providing information regarding viral load and can be easily established in other laboratories. Therefore, the Pan-Flavi assay could be used to confirm the presence of flaviviruses in a sample without post amplification steps or complement species-specific flavivirus assays. The amplicon length is about 260 bp, which is sufficient to distinguish and identify different the virus by (pyro) sequencing or using for example an array.
The Pan-Flavi assay allows rapid detection of a broad range of flaviviruses including local-endemic and exotic species with a high level of sensitivity and is cost-effective, making it suitable for screening of livestock samples, monitoring viral activity, outbreak investigation as well as surveillance studies of flaviviruses, and might help finding and identifying novel flaviviruses. We expect that the assay can be also helpful for testing clinical samples from patients with symptoms especially in an early phase of infection and without knowledge about locally prevalent flaviviruses or travel history in order to avoid parallel testing on several flaviviruses, although a negative test will of course not prove absence of a flavivirus infection.
Re-emergence of West Nile virus in Europe and continuous spread of certain flaviviruses such as dengue, yellow fever and Japanese encephalitis viruses represent a global danger to public health. The Pan-Flavi assay presented here has been developed and evaluated in comparison with flavivirus species-specific qPCR assays to detect a broad range of flaviviruses simultaneously in a single-tube. This assay represents a valuable tool for the detection of flaviviruses in livestock samples, and will support molecular diagnosis as well as surveillance studies of various vectors and non-human hosts.
All flavivirus and non-flavivirus strains listed below were derived from cell culture and provided by the Robert Koch Institute, Berlin, Germany. The following inactivated and stable virus preparations were used in this study: DENV-1 VR344 (Thai 1958); DENV-2 VR345 (TH-36 strain); DENV-3 VR216 (H87 strain); DENV-4 VR217 (H241 strain); WNV Uganda strain (AY532665); WNV Israel (H. Bin, Sheba Medical Center, Israel), kunjin virus (Institute Pasteur, France), usutu virus (AY453411); JEV (ATCC SA14-14-2); Saint Louis encephalitis virus (SLEV) (ATCC VR-1265); TBEV strain K23 (AF091010); YFV strain 17D (X03700); YFV strain ASIBI (AY640589); YFV strain Brazil; YFV strain Ivory Coast; Russian Spring Summer Encephalitis virus (RSSEV); chikungunya virus (LR 2006); chikungunya virus African isolate; sindbis virus; Rift Valley Fever virus and influenza A virus subtype H5N1 (A/dk/Germany R603/06 H5N1).
Two different standard preparations of H1N1 influenza viruses (A/California/04/2009 and A/Hamburg/04/2009) used in this study were provided by the European Network for Diagnostics of Imported Viral Diseases (ENIVD). RNA of Nounane virus was kindly provided by Dr. Fabian Leendertz from NG2, Robert Koch Institute, Berlin. RNA of eleven African flaviviruses (Table 3 ) were kindly provided by Dr. Amadou A Sall and testing of these viruses was done at Institut Pastuer Dakar, Senegal.
Viral RNA from above described viruses was isolated from 140 μl aliquots of cell culture supernatants, using the QIAamp Viral Mini Kit (Qiagen, Hilden, Germany) according to the manufacturer’s instructions. RNA was eluted in 100 μl of elution buffer and stored at -80°C until further use.
The flaviviral NS5 gene contains conserved regions often used for PCR testing. Our laboratory results but also the literature [ 27 ] revealed that the commonly used primers [ 26 - 28 ] exhibit a low sensitivity and we failed to detect rare flaviviruses such as Nounane virus. The primer binding region were aligned against all Genbank (NCBI) deposited flavivirus sequences including partial entries for the NS5 region only using the MEGA5 software. Based on the alignment, 32 primers and 22 probes representing all known variants of flavivirus sequences were selected to be used as mixture in one reaction (data not shown). In an alternative approach two degenerate generic primer sets and three degenerate probes containing LNA nucleotides were designed to match ‘all’ flaviviruses. LNA nucleotides contain a 2 ′–5 ′ bridge, increasing the duplex stability, which in turn allows the use of shorter sequence probes matching the conserved sequence motif.
The Pan-Flavi qRT-PCR assay (Pan-Flavi assay) was run with the Transcriptor One-Step RT-PCR Kit (Roche Diagnostics Mannheim, Germany) according to the manufacturer’s instructions. In brief, 5 μl of RNA, 10 pmol of primers Flavi all sense, Flavi all antisense 2 and DEN4 F, and a mixture of three probes (Table 5 ) were added to the master mix. Optimized run conditions were as follows: reverse transcription at 55°C for 2 min, denaturation at 95°C for 30 s and 45 cycles of 95°C for 10 s and 60°C for 25 s. The amplification was performed on a Roche LightCycler 480 instrument, software version 1.5. The spectrum of the assay can be expanded by using Flavi all S2 instead of DEN4 F primer (Table 5 ).
Serial dilutions of a standard (10–10 6 copies/μl) were run in duplicate for quantification. Standard plasmid was prepared by cloning the PCR product obtained from YFV using a TOPO TA Cloning Kit (Invitrogen, Karlsruhe, Germany) according to the manufacturer’s instructions and quantified by spectrophotometric method.
Except for DENV and JEV we used published group-specific assays for comparison.
For TBEV, we used an assay targeting the NS1 gene as described previously [ 32 ]. qRT- PCR was carried out in one-step format on an ABI 7500 cycler (Applied Biosystems, California, USA), using the Superscript III Platinum OneStep qRT-PCR Kit (Invitrogen).
A WNV-specific qRT-PCR assay for detection of lineages 1 and 2 was used to detect and quantify genome copies (GC) of WNV as described previously [ 31 ]. qRT-PCR was performed in two-step format on a Stratagene MX 3000 cycler (Agilent Technologies, Santa Clara, USA).
YFV-specific primer combination YFV FP/RP and probe YFV LNA2 were used to detect and quantify genomic RNA of YFV as described previously [ 30 ]. The assay was performed in one-step format on the LightCycler 480 instrument using the QuantiTect Virus Kit (Qiagen, Hilden, Germany).
DENV-genomic RNA was tested and quantified by an in-house qRT-PCR as described previously [ 29 ]. The assay is a DENV group-specific assay and was carried out in one-step format on an ABI 7500 real-time PCR system using the AgPath-ID One-Step RT-PCR Kit. Plasmid standards were used for the quantification of the DENV GE.
A JEV-specific in-house qPCR assay was used for detection and quantification of JEV GE. qPCR was performed in two-step format on a Stratagene MX 3000 cycler. cDNA was generated using SuperScript II (Invitrogen) and was stored at -20°C until use. The test was performed using Platinum Taq polymerase (Invitrogen) in a total volume of 25 μl containing 5 μl of cDNA, 2 μl of 10x Reaction Mix, 4 mM MgCl
The pan-flavi assay was evaluated using forward primers Flavi all S and DEN4 F, reverse primer Flavi all AS2 and Flavi all probe 3 mix. Based on an alignment of latterly available NS5 gene flavivirus sequences, we substituted primer DEN4F by Flavi all S2 and Flavi all AS2 by Flavi all AS4 to include some novel flaviviruses (Table 3 ).
RT: Reverse transcription; Tm: Melting temperature; Ct: Threshold cycle; GC: Genome copies; DENV: Dengue virus; YFV: Yellow fever virus; TBEV: Tick-borne encephalitis virus; WNV: West nile virus; JEV: Japanese encephalitis virus; LNA: Locked-nucleic acids.
The authors declare that they have no competing interests.
PP, MK conceived and designed the experiments; OL, MK, PP participated in the sequence alignment/assay design; PP, TK, UL, OF performed the Experiments; PP, OL, MK analysed the data; AS, OL, MN contributed reagents/materials/analysis tool, PP wrote paper. All authors have read and approved this manuscript.
Pranav Patel is working as a scientist at Department of Centre for Biological Security 1, Robert Koch Institute, Berlin, Germany and has vast experience on developing rapid diagnostic assays and platforms for detection of emerging pathogens.
Oligonucleotides were kindly provided by the Tib-Molbiol, Berlin. The authors are grateful to Anette Teichmann and Patricia Bußmann for technical support. We also thank Eduardo Thuroff and Regina Schädler for their critical review of the manuscript and Ursula Erikli for copy editing.
This work was supported by the consultant laboratory for tick-borne encephalitis virus at Center for Biological Security 1 (ZBS1), Robert Koch institute as a part of research activities.


SVGKit License
Dual MIT/Academic Free (same as MochiKit)
Copyright (c) 2006-2010 Jason Gallicchio Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.  IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


GISTNU DEMO
Leaflet + TurfJS
Advanced geospatial analysis for browsers
Leaflet is the leading open-source JavaScript library for mobile-friendly interactive maps.


Home
Create a Post
Family Posts
Family Map
Profile
Logout
Your Profile
Profile Picture
My Avatar
Choose an avatar
Or
Upload Image
Personal Info
* Required fields
Email
Full Name
*
Date of Birth
Security
New Family Code
New Password
Confirm New Password
Update Profile

Cancel
Are you sure to save your updates?


Hooray, this is your static site! Viewing the Webpack version. Make some edits, see the changes get loaded on save.
"io" got bundled into "dumbReloader.slim.js". So "io" is limited to that scope


Enthuse Learning
Research
Solutions
LMS Platforms
Community Resources
Contact Us
Resources in the academic community
As a community service, we are listing resources we have found to be valuable.
Societies and Associations
SoLAR – Society for Learning Analytics Research
The eLearning Guild
IEEE Technical Committee on Learning Technology
International Society for Technology in Education
Society for Applied Learning Technology
Peer Reviewed Journals
Journal of Educational Technology & Society
Journal of Research on Technology in Education
Online Learning Journal
Journal of Interactive Online Learning
Educational Technology Research and Development
Academic Research Papers
The Impact of Education Technology on Student Achievement: What the Most Current Research Has To Say
Design-based research and technology-enhanced learning environments
Educational technology research that makes a difference: Series introduction
What happens when teachers design educational technology? The development of technological pedagogical content knowledge
Identifying the pitfalls for social interaction in computer-supported collaborative learning environments: a review of the research
The importance of educational technology in teaching
Higher Education in the Digital Age
Notable Books
Handbook of research on educational communications and technology
Effective Teaching with Technology in Higher Education: Foundations for Success
Deep Learning for a Digital Age: Technology's Untapped Potential To Enrich Higher Education.
The Role of Technology in Distance Education (Routledge Revivals)


FileNotFound
Indicates that the resource file {0} could not be loaded.
Cannot find the file {0}.
DivByZero
A division by 0 was going to be computed.
Invalid parameter.


§286-109.6 Limited access to driver's license anatomical gift data. The examiner of drivers shall adopt rules pursuant to chapter 91 to allow an organ procurement organization twenty-four-hour telephone access to the driver's license database information, solely for the purpose of determining whether a driver has indicated a willingness to be an organ donor pursuant to section 286-109.5.
As used in this section, "organ procurement organization" shall have the same meaning as procurement organization in section 327-2. [L 1999, c 88, pt of §2; am L 2008, c 122, §2]
Note
Developing an organ donor registry. L 2008, c 165.


I'm a full-stack engineer by training but concentrating on Front-End Development with tools like React, ES6, Gatsby, SASS, and Next.js.
I spent several years helping startups of various sizes as a CSM. Eventually I realized that my interest pointed towards designing and building the products that I was helping the customers with. One full-stack bootcamp at UT Austin later and now I'm building things as a career.
View ResumeThis is a client website I built for Daigle Sales Group. I did the design work myself. We wanted the design to be clean, simple, and somewhat formal. It's a simple site with two purposes -- to make it easy for customers to find the relevant products or to contact the company directly. Built with ReactJS and deployed with Firebase.
This is a group project done in school. It is a DIY app that saves you time for your DIY projects. It's function is to do calculations for total area given a certain room size. If you only know one wall is ten feet, but the room is a rectangle, the app gives you the rest of the dimension, plus how much paint you'll need.
This one is getting a facelift currently. It is a simple workout tracking application. Feel free to check out the current simple version. Stay tuned.
A Progressive web app to track expenses on the go. CRUD tasks mixed with a graph component. Incorporates a MySQL Mongo Database and graph plugin to show you your item/item trend.
This is an Node app built with jest for testing and some node plugins. It allows you to add employees and different information types to a database and then renders them in an org chart. It also has optional tests that the information is correct.
Drop me a note if you're interested in working with me.
Or connect with me on one of the networks at the bottom.


{% extends "jumpstart/base.html" %} {% block content %}
Please enjoy some Rush while we set things up for you!


Question Description
enter a code name for question
Test cases
Output
Select image for code if needed(jpg only)


All Classes
| Class | Description |
|---|---|
| Bucket |
Models a Couchbase bucket by keeping track of all indices and documents.
|
| Collection |
Models a Collection in a Mongo database by keeping track of specific
properties of a collections.
|
| Column |
Resembles an SQL column and contains column info.
|
| CouchbaseConn |
Establishes a connection with a Couchbase bucket based on the password,
username, host, and bucket name provided.
|
| Database |
The model for the functions that all database representations should contain.
|
| DatabaseDifferenceCheckerException |
Used to wrap exception that occur throughtout the program.
|
| DbConn |
Establishes a connection with a database and runs the necessary statements to
get schema information.
|
| DBDiffCheckerGUI |
A JFrame that has several tabs and includes the entire frontend.
|
| FileHandler |
Deals with all data coming from and going out to files.
|
| Index |
Resembles a generic index and contains index info.
|
| MongoConn |
Establishes a connection with a Mongo database based on the password,
username, host, port, and database name provided.
|
| MongoDB |
Models a Mongo Database by keeping track of all collections.
|
| MySQLConn |
Establishes a connection with a MySQL database based on the password,
username, port, host, and database provided.
|
| MySQLTable |
Resembles a table in MySQL and contains info about the Ttable's columns and
indices.
|
| Schema |
Holds common methods and instance variables for Schema subclasses.
|
| SQLDatabase |
Models an SQL database schema.
|
| SQLDbConn |
Establishes a connection with an SQL database and runs the necessary SQL
statements to get schema information.
|
| SQLiteConn |
Establishes a connection with an SQL database based on the path to the
database and database name.
|
| SQLiteTable |
Resembles a table in SQLite and contains info about the table's columns and
indices.
|
| StopWatch |
Models a stopwatch and can determine how much time has elapsed since the last
start and end method calls.
|
| Table |
Resembles a table in an SQL database and contains info about the table's
columns and indices.
|
| View |
Resembles a view in an SQL database and contains view info.
|


type-is
Infer the content-type of a request.
Install
This is a Node.js module available through the
npm registry. Installation is done using the
npm install
command:
$ npm install type-is
API
var http = require('http')
var typeis = require('type-is')
http.createServer(function (req, res) {
var istext = typeis(req, ['text/*'])
res.end('you ' + (istext ? 'sent' : 'did not send') + ' me text')
})
typeis(request, types)
Checks if the request
is one of the types
. If the request has no body,
even if there is a Content-Type
header, then null
is returned. If the
Content-Type
header is invalid or does not matches any of the types
, then
false
is returned. Otherwise, a string of the type that matched is returned.
The request
argument is expected to be a Node.js HTTP request. The types
argument is an array of type strings.
Each type in the types
array can be one of the following:
- A file extension name such as
json
. This name will be returned if matched. - A mime type such as
application/json
. - A mime type with a wildcard such as
*/*
or*/json
orapplication/*
. The full mime type will be returned if matched. - A suffix such as
+json
. This can be combined with a wildcard such as*/vnd+json
orapplication/*+json
. The full mime type will be returned if matched.
Some examples to illustrate the inputs and returned value:
// req.headers.content-type = 'application/json'
typeis(req, ['json']) // => 'json'
typeis(req, ['html', 'json']) // => 'json'
typeis(req, ['application/*']) // => 'application/json'
typeis(req, ['application/json']) // => 'application/json'
typeis(req, ['html']) // => false
typeis.hasBody(request)
Returns a Boolean if the given request
has a body, regardless of the
Content-Type
header.
Having a body has no relation to how large the body is (it may be 0 bytes). This is similar to how file existence works. If a body does exist, then this indicates that there is data to read from the Node.js request stream.
if (typeis.hasBody(req)) {
// read the body, since there is one
req.on('data', function (chunk) {
// ...
})
}
typeis.is(mediaType, types)
Checks if the mediaType
is one of the types
. If the mediaType
is invalid
or does not matches any of the types
, then false
is returned. Otherwise, a
string of the type that matched is returned.
The mediaType
argument is expected to be a
media type string. The types
argument
is an array of type strings.
Each type in the types
array can be one of the following:
- A file extension name such as
json
. This name will be returned if matched. - A mime type such as
application/json
. - A mime type with a wildcard such as
*/*
or*/json
orapplication/*
. The full mime type will be returned if matched. - A suffix such as
+json
. This can be combined with a wildcard such as*/vnd+json
orapplication/*+json
. The full mime type will be returned if matched.
Some examples to illustrate the inputs and returned value:
var mediaType = 'application/json'
typeis.is(mediaType, ['json']) // => 'json'
typeis.is(mediaType, ['html', 'json']) // => 'json'
typeis.is(mediaType, ['application/*']) // => 'application/json'
typeis.is(mediaType, ['application/json']) // => 'application/json'
typeis.is(mediaType, ['html']) // => false
Examples
Example body parser
var express = require('express')
var typeis = require('type-is')
var app = express()
app.use(function bodyParser (req, res, next) {
if (!typeis.hasBody(req)) {
return next()
}
switch (typeis(req, ['urlencoded', 'json', 'multipart'])) {
case 'urlencoded':
// parse urlencoded body
throw new Error('implement urlencoded body parsing')
case 'json':
// parse json body
throw new Error('implement json body parsing')
case 'multipart':
// parse multipart body
throw new Error('implement multipart body parsing')
default:
// 415 error code
res.statusCode = 415
res.end()
break
}
})


PlaceSlideShow
The first thing PlaceSlideShow wants from you when you open it is the folder where it can find the PNG files it is meant to present. Once you choose that, it will present the first image from the folder along with two sliders, a Start Slideshow button, and some image information along the right hand side of the window.
Moving the larger slider will update which image is shown in the viewer along with the currently shown frame number along the right hand side of the window.
Start Slideshow will let you start and stop the slideshow. The slider next to it will let you change the frames shown per second. For reference, movies in a theater will play at 24 frames per second, most moder console games play between 30 and 60 frames per second. The slider for the slideshow can go from -200 frames per second (backwards) and 200 frames per second.
Resizing the window, scrolling over the image, or zooming into the image will update the info on the right hand side of the window to represent the visible area of the image in the viewer at any point in time, which can be useful when figuring out what portion of the timeline you would want to save as an MP4.
The Main Viewer


Welcome to my self-inflicted course on Compilers, Formal Grammars and Programming Languages!
This is a subject I had been wanting to explore for a long time. It wasn’t taught as part of my BSc in Software Engineering, and my other degrees were about Automation and Optimization, so it fell off the table.
Yet, I felt I could not stand this large missing piece of knowledge for very long. Thus, I gathered the best MOOC and the 2 best books on the arguments and started studying.
True to my own ideas on MOOCs I decided to self-assign to myself a complex project: to build a new programming language, without using any of the automated tools available out there, in order to practice and implement with my own hands all concepts.
The overall learning experience has been fantastic, and its results are:
- A series of articles/classes on the subject (start from here!).
- A GitHub repository for a new programming language.
Get in touch
MOOCs are only half-useful without other students’ feedback. I warmly encourage you to get in touch for questions, comments and suggestions. You can:
- Reach out via my LinkedIn page
- Open a GitHub issue


COVID-19 has already impacted us in a big way, and the situation may get worse in near future.The global recession, induced by COVID-19, will accompany an era of opportunities for new-age industries to sprout and will also shape consumer behaviour for decades.
Winston Churchill once said “Never let a good crisis go to waste”.
With these golden words in consideration , Innovators Quest is organising a webinar on the topic- 'Entrepreneurship and career opportunities Post covid'.
By Abishek Surendran founding member of Exfinity Ventures.
Artificial intelligence has been playing a critical role in industries for decades. AI has only recently begun to take a leading role in healthcare. The on-going crisis situation of the Corona virus pandemic is another example of how AI could be of great help to healthcare workers. It might take us much longer for discovering vaccine if it were not for AI giving scientists a helping hand.
With a plethora of issues to overcome, driven by well-documented factors like an aging population and growing rates of chronic disease, the need for new innovative solutions in healthcare is clear and Artificial Intelligence is paving a way for them.
By Sanjeev Thukral CEO, neurIOT technology
Greetings! Coding Blocks is an online platform founded in 2014 with a mission to create skilled Software Engineers for our country and the world.
This Sunday, Coding Blocks in collaboration with IEEE-PES, IEEE-IAS and IQuest bring to you an insightful online workshop on Competitive Programming.The workshop will be conducted by none other than Apaar Kamal, a summer intern at Samsung R&D Institute and Mentor at Coding Blocks.
Shaaran Lakshminarayanan is the founder of Celebrify also World API Winner has extremely impressive precocious talent, his contagious enthusiasm, and above all his pleasing personality and friendly nature. He has been selected in InterCon Top 50 Tech Innovator Awardee also selected as Forbes 30 Under 30 2020 Nominee
Don't miss the opportunity to learn something new on June 1st at 4PM in Airmeet live.
By Shaaran Lakshminarayanan, founder at Celebrify, World API Winner
Innovator's Quest in collaboration with prep bytes is organising an online event Crack the code..
24 hours Online coding contest on 15th May 2020.
Participation in the contest is fully free.
It will provide a great platform for you guys to reconnect to the coding world in this pandemic. And will also help you assess your competitive skills
By PrepBytes
LIGHT / DARK MODE


---
layout: default
---
Service Level Agreement
During the Term of the applicable GoldFynch Agreement (the “Agreement”), the GoldFynch web interface will be operational and available to Customers at least 99% of the time in any calendar month (the “GoldFynch SLA“). If GoldFynch does not meet the GoldFynch SLA, and if Customer meets its obligations under this GoldFynch SLA, Customer will be eligible to receive the Service Credits described below. This GoldFynch SLA states Customer’s sole and exclusive remedy for any failure by GoldFynch to meet the GoldFynch SLA.
The following definitions shall apply to the GoldFynch SLA.:
Monthly Uptime Percentage value based on the paid subscription value of the Service added to the end of the Service term, at no charge to Customer
< 99% – ≥ 97.5% 2
< 97.5% – ≥ 95% 5
< 95.0% 10
Customer Must Request Service Credit
In order to receive any of the Service Credits described above, Customer must notify GoldFynch within thirty days from the time Customer becomes eligible to receive a Service Credit. Failure to comply with this requirement will forfeit Customer’s right to receive a Service Credit.
Maximum Service Credit
The aggregate maximum number of Service Credits to be issued by GoldFynch to Customer for all Downtime that occurs in a single calendar month shall not exceed ten percent of Service subscription fee added to the Customer’s account as a credit term. Service Credits may not be exchanged for, or converted to, monetary amounts.
Scheduled Maintenance
Errors Requests that result from Scheduled Maintenance do not count against the SLA. There will be no more than 10 hours of aggregate Scheduled Maintenance per monthly billing cycle.
Cloud SLA Exclusions
The GoldFynch SLA does not apply to any services that expressly exclude this GoldFynch SLA (as stated in the documentation for such services) or any performance issues: (i) caused by factors described in the “Limitation of Liability” section of the GoldFynch Terms of Service Agreement; (ii) that resulted form Customer or third party software or hardware, or as a result of action or inaction on behalf of the Customer or third party; (iii) that resulted from Customer’s web browser performance; (iv) that resulted from Rackspace and Linode service disruptions outside the control of GoldFynch; (v) Problems outside of GoldFynch’s reasonable control.


v1.0.0
Get the source code from the repository - https://github.com/PavlosTze/crypto-transaction-decoder
For any feedback kindly open an issue or email me at pavlostze@gmail.com


Place your order here:
Name for Order
Pizza Size
Small
Medium
Large
Choose your toppings
Pepperoni
Pinapple
Jalapeño
Mushrooms
Olives
Notes
Place My Order!
, here is your Recipt:
You have ordered a
Pizza with
toppings:
Your Total will be $
Your Instructions:
Order Agian!


EBD - Easton Bible DIctionary
Massa
MASSA
"MASSA "a lifting up, gift, one of the sons of Ishmael, the founder of an Arabian tribe (
Genesis 25:14
); a nomad tribe inhabiting the Arabian desert toward Babylonia.


Hi There!
Welcome to My Website
My Name is Sahar Zahran
A front end developer
I have worked with a range of technologies in the Web-Developement world from back-end to design, in addition to work in digital marketing specifically in drop-shipping.
HTML, CSS, Bootstrap
JS, jQuery.
and node.js
Java, and Spring framework.
Using websites like:
Shopify to creat a website,
and Alibaba for products.
Browsers, HTML, CSS
JS, JSON, Java
node.js, Bootstrap
jQuery, and MySQL.


" #split T/B horizontal split
% #split L/R vertical split
c #new window
, #rename window
x #kill window
space #rotate windows / change layout
arrow keys #move to active window (direction)
n #next window
p #previous window
[0-9] #go to specific window number
d #detach from a session
tmux ls #list tmux sessions
tmux attach -t <session> #attach to a specific session
s #send a pane into another pane, ie C+b + s + 1 to send to pane 1
j #grab pane from another pane and join it here
#requires j and s to send and join in tmux.conf
[ #enter "copy" / "scroll" mode
z #'zoom' on a pane and make it full screen, again to zoom out
{ #swap the pane to the left
} #swap the pane to the right
C a #goto beginning of line
C e #goto end of line
Alt . #cycle through last typed words
? #pulls up all keybinds
rebind prefix key if you want to do 'nested' tmux sessions, etc
~/.tmux.conf
#rebind prefix key to C a
set -g prefix C-a
bind C-a send-prefix
unbind C-b
#quality of life stuff
set -g history-limit 10000 #super long scrollback
set -g allow-rename off #prevents auto rename after manually renaming
#join windows
bind-key j command-prompt -p "join pane from:" " join-pane -s '%%'"
bind-key s command-prompt -p "send pane to:" " join-pane -t '%%'"
#search mode vi (default is emac)
set-window-option -g mode-keys vi #emulate vi in "copy" mode
run-shell /opt/tmux-logging/logging.tmux #C b + alt + shift + p to save pane into log file


| tl_sizes {tinytex} | R Documentation |
Use the command tlmgr info --list
to obtain the sizes of LaTeX
packages.
tl_sizes(show_total = TRUE, pkgs = NULL, only_installed = TRUE, field = "size")
show_total |
Whether to show the total size. |
pkgs |
A character vector of package names (by default, all packages). |
only_installed |
Whether to list installed packages only. |
field |
A character vector of field names in the package information. See https://www.tug.org/texlive/doc/tlmgr.html#info for more info. |
By default, a data frame of three columns: package
is the
package names, size
is the sizes in bytes, and size_h
is the
human-readable version of sizes. If different field names are provided in
the field
argument, the returned data frame will contain these
columns.


INSTRUCTIONS
$ bundle install
$ gem build
$ gem install yarrrml_template_builder-{VERSION}.gem
VERSION is some version that will appear in the filename of the gem.
Execute a CDE Transformation from CSV
0) Default folder structure, relative to where you will run the transformation script:
.
./data/ (this folder is mounted into sdmrdfizer - see step 1 below)
./data/mydataX.csv (input csv files)
./data/mydataY.csv...
./data/triples/ (output FAIR data ends up here)
./config/
./config/***_yarrrml_template.yaml (*** is a one-word tag of the "type" of data, e.g. "height")
1) Need to have sdmrdfizer running on port 4000 with a folder ./data mounted as /data
docker run --name rdfizer --rm -d -p 4000:4000 -v $PWD/data:/data markw/sdmrdfizer_ejp:0.1.0
2a) Run build_xxx_template to build the appropriate templates (see “Example of creating a template”, below). Remember the names of the CSV columns
2b) Generate CSV with headers sufficient to fill the template
3) Run YARRRML_Transform to genereate nTriples
More specifically
1) in the ./data folder, create a csv file with the necessary headings for your desired transform.
2) create (or select) the appropriate YARRRML template (in the ./config folder, e.g. “height_yarrrml_template.yaml”). See “example of creating a template” below if you need to create one from-scratch.
3) Identify the “tag” of the YARRML template you want to use (e.g. 'height' for “height_yarrrml_template.yaml” ). This tag is used to coordinate between many of the components during the automation steps, so it must match exactly with the “tag” portion of the template name.
4) execute the transformation:
y = YARRRML_Transform.new(datafile: "./data/myHeightData.csv", datatype_tag: "height")
y.yarrrml_transform
y.make_fair_data # output goes to ./data/triples
Example of creating a template:
General Discussion:
The objective of the library is to make it easy to generate a YARRRML template that matches your situation. There is a fair amount of flexibility in what parameters are used, which are optional, and which have defaults (SIO-compliant). NOTE: What comes out of the yarrrml_template_builder is NOT a complete YARRRML file! It has place-holders for the source filename and reference formulation. you add those when calling the yarrrml_transform library.
personid_column and unique_id column are absolutely mandatory, and do not have a default.
There are three ways of representing a data column (or its default, if that column doesn't exist):
-
You can specify the default value (these parameters are designated “xxxx” for example “process_type”.
-
You can specify the column header. These parameters are designated “xxxxxx_column” - for example 'process_type_column'. Specifying “process_type_column” will override any value you provided in “process_type”
-
You can specify nothing, in which case the internal defaults will be used (based on the “base” type for that node in SIO. Some data is allowed to be nil, and those nodes will not be created.
Almost all cases will allow any of those three methods (see detailed documentation for more)
“tags” are used for creating human-readable section names in the output YARRRML. They may not contain spaces or other odd characters… letters and underscores are fine. This is not currently sanity-checked, so…
With that said, here's what a template-building script looks like:
require "yarrrml-template-builder"
# this is the header of the CSV we are going to transform
# "pid,uniqid,qualityURI,qualityLabel,measurementURI,measurementLabel,processURI,processLabel,height,unitURI,unitLabel,date,comments"
b = YARRRML_Template_Builder.new({
baseURI: "http://marks.test/this/", # this should resolve to wherever you are going to serve the data from.
# RDF URLs become e.g. http://marks.test/this/individual_X_Y#patientRole
source_name: "patient_height"}
)
b.person_identifier_role_mappings({
personid_column: "pid",
uniqueid_column: "uniqid",
identifier_type: "https://ejp-rd.eu/vocab/identifier",
person_type: "https://ejp-rd.eu/vocab/Person",
person_role_tag: "patientRole",
role_type: 'obo:OBI_0000093'
role_label: "Patient"
})
b.role_in_process({
process_type_column: "processURI",
process_tag: "some_height_measuring_process",
process_label_column: "processLabel",
process_start_column: "date",
process_end_column: nil,
})
b.person_has_quality({
quality_type_column: "qualityURI",
quality_tag: "height_quality",
quality_label_column: "qualityLabel",
})
b.process_hasoutput_output({
output_nature: "quantitative",
output_type_column: "measurementURI",
output_type_label_column: "measurementLabel",
output_value_column: "height",
output_value_datatype: "xsd:float",
output_comments_column: "comments",
})
b.output_has_unit({
output_unit_column: "unitURI",
output_unit_label: "unitLabel"
})
puts b.generate
Note that this will output the template to STDOUT, so capture it to a file. For everything else to work “correctly” that file should be named XXXXXX_yarrrml_template.yaml, and should live in the ./config folder. XXXXXX is the 'tag' of the data type (e.g. 'height')
The “run_me_to_test.rb” script will run as a demo - using the demo height data in the ./data folder, and the template that is created by the code above. Output will appear in the ./data/triples folder.


Pablo Honey is the debut studio album by the English alternative rock band Radiohead, released on 22 February 1993 by Parlophone Records in the United Kingdom and by Capitol Records in the United States. The album was produced by Sean Slade and Paul Q. Kolderie, and was recorded at Chipping Norton Recording Studios and Courtyard Studio in Oxfordshire, England from September to November 1992. The album's title comes from a Jerky Boys prank call skit in which the prank caller says to his victim, "Pablo, honey? Please come to Florida!" This is sampled on the song "How Do You?".
The album received a generally favourable reception from critics, but was criticised by many for its derivative grunge sound and its inclusion of underdeveloped songs, and is often held in a negative light in comparison to the band's subsequent studio albums. However, some retrospectives have shown it in a more positive light. The album produced three charting singles, "Anyone Can Play Guitar", "Stop Whispering", and perhaps the band's most well-known hit on mainstream radio, "Creep". Pablo Honey peaked at #22 on the UK Albums Chart, and was certified platinum in the UK and other countries.
The Bends is the second studio album by the English alternative rock band Radiohead, released on 13 March 1995 by Parlophone Records in the United Kingdom and by Capitol Records in the United States. The album was produced by John Leckie at EMI Studios in London, England and was engineered by Nigel Godrich, who would go on to co-produce all future albums by the band. The Bends marked the beginning of a shift in aesthetics and themes for the band, with greater use of keyboards, and more abrasive guitar tracks, while balancing them with subtler ones. The introspective grunge-influenced style of their debut studio album Pablo Honey (1993) evolved into more multi-layered rock with cryptic lyrics and larger ideas, as the band and its lead singer and songwriter Thom Yorke reacted against the rigors of their near-constant world tours.
OK Computer is the third studio album by the English alternative rock band Radiohead, released in 1997 on Parlophone and Capitol Records. OK Computer was the first self-produced Radiohead album, with assistance from Nigel Godrich. Radiohead recorded the album in Oxfordshire and Bath between 1996 and early 1997, mostly in the historic mansion St. Catherine's Court. The band made a deliberate attempt to distance themselves from the guitar-oriented, lyrically introspective style of their previous album, The Bends. OK Computer's abstract lyrics, densely layered sound and wide range of influences laid the groundwork for Radiohead's later, more experimental work.
Kid A is the fourth studio album by the English rock band Radiohead, released on 2 October 2000 by Parlophone. On the verge of a breakdown after promoting Radiohead's 1997 album OK Computer, songwriter Thom Yorke envisioned a radical change in direction. Radiohead replaced their rock sound with synthesisers, drum machines, the ondes Martenot, string orchestras and brass instruments, incorporating influences from genres such as electronic music, krautrock, jazz, and 20th-century classical music. They recorded Kid A with OK Computer producer Nigel Godrich in Paris, Copenhagen, Gloucestershire and their hometown Oxford, England. The sessions produced over 20 tracks; Radiohead saved many of them for their subsequent album, Amnesiac, released the following year.
Amnesiac is the fifth studio album by the English rock band Radiohead, released on 5 June 2001 internationally by Parlophone. Recorded during the same sessions for the band's previous album Kid A (2000) with producer Nigel Godrich, the album incorporates similar influences of electronic music, 20th century classical music, jazz and krautrock. Singer Thom Yorke described it as "another take on Kid A, a form of explanation." Its lyrics and artwork explore themes influenced by memory and reincarnation, with influences from ancient Greek and Egyptian mythology.
Hail to the Thief is the sixth album by the English rock band Radiohead, produced by longtime Radiohead producer Nigel Godrich. The final album released under Radiohead's recording contract with EMI, it was released on 9 June 2003 by EMI subsidiary Parlophone Records.
Following Radiohead's albums Kid A (2000) and Amnesiac (2001), which incorporated jazz, classical and electronic influences, Hail to the Thief features more traditional rock instrumentation but retains electronic elements such as drum machines, synthesisers and digital manipulation. To avoid the protracted recording sessions of previous albums, Radiohead recorded Hail to the Thief quickly, focusing on recording live takes rather than overdubs. Songwriter Thom Yorke wrote many of the lyrics in response to the War on Terror and the resurgence of right-wing politics in the west.
In Rainbows is the seventh studio album by the English rock band Radiohead, self-released on 10 October 2007 as a pay-what-you-want download. It was followed by a physical release internationally by XL Recordings on 3 December 2007 and in the United States on 1 January 2008 by TBD Records. It was Radiohead's first release after their six-album recording contract with EMI ended with their previous album Hail to the Thief (2003).
Radiohead worked on In Rainbows for more than two years, beginning in early 2005. In mid-2006, after their initial recording sessions with their new producer Spike Stent proved fruitless, the band toured Europe and North America performing In Rainbows material, before re-enlisting their longtime producer Nigel Godrich. The album's songwriting is more personal than previous Radiohead albums, with singer Thom Yorke describing most of the songs as his versions of "seduction songs".[4] Radiohead incorporated a variety of musical styles and instruments, using electronic instruments, string arrangements, pianos, and the ondes Martenot.
The King of Limbs is the eighth studio album by the English rock band Radiohead, released on the band's website on 18 February 2011 as a download in MP3 and WAV formats. CD and 12" vinyl versions were released on 28 March 2011 through Radiohead's Ticker Tape imprint and by XL Recordings in the United Kingdom, TBD Records in the United States and by Hostess Entertainment in Japan.
Following the protracted recording and more conventional alternative rock instrumentation of Radiohead's previous studio album In Rainbows (2007), Radiohead developed much of The King of Limbs by sampling and looping their recordings. The album was produced by longtime Radiohead producer Nigel Godrich. Lead singer and songwriter Thom Yorke described the album as "an expression of wildness and mutation". Radiohead released no singles from the album, but released a music video for "Lotus Flower" that spawned a viral Internet meme.
A Moon Shaped Pool is the ninth studio album by the English rock band Radiohead, released as a download and on paid streaming services on 8 May 2016. CD and LP releases followed in June 2016 through XL Recordings. Radiohead also sold a special edition, containing two extra tracks and additional artwork, from their website.
Radiohead recorded A Moon Shaped Pool in southern France with longtime producer Nigel Godrich. It includes several songs written some years earlier; "True Love Waits" dates to at least 1995, "Burn the Witch" to 2000 and "Present Tense" to 2008. Several tracks feature strings and choral vocals arranged by Radiohead guitarist Jonny Greenwood and performed by the London Contemporary Orchestra. "Ful Stop" features additional drumming from Clive Deamer, who performed with Radiohead on the King of Limbs tour. The artwork was created by longtime Radiohead collaborator Stanley Donwood.


public class DestinationData extends AbstractOffDocumentItem implements Resolvable
AFTER_PAGE, END_OF_DOC, IMMEDIATELY, START_OF_DOC, whenToProcess
| Constructor and Description |
|---|
DestinationData(Destination destination)
Create a new pdf destination data object.
|
DestinationData(java.lang.String idRef)
Create a new named destination.
|
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
getIDRef()
Get the idref for this destination
|
java.lang.String[] |
getIDRefs()
Get the array of idrefs of this resolvable object.
|
java.lang.String |
getName()
Return a human-readable name for this ODI (for error messages, etc.)
|
PageViewport |
getPageViewport()
Get the PageViewport object that this destination refers to
|
boolean |
isResolved()
Check if this resolvable object has been resolved.
|
void |
resolveIDRef(java.lang.String id,
java.util.List<PageViewport> pages)
Resolves the idref of this object by getting the PageViewport
object that corresponds to the IDRef
This method allows the Resolvable object to resolve one of
its unresolved idrefs with the actual set of PageViewports
containing the target ID.
TODO check to make sure it works if multiple bookmark-items
have the same idref
|
getWhenToProcess
public DestinationData(Destination destination)
destination
- the fo:bookmark objectpublic DestinationData(java.lang.String idRef)
idRef
- the id reference of the destinationpublic java.lang.String getIDRef()
public java.lang.String[] getIDRefs()
getIDRefs
in interface Resolvable
public PageViewport getPageViewport()
public boolean isResolved()
isResolved
in interface Resolvable
public void resolveIDRef(java.lang.String id, java.util.List<PageViewport> pages)
resolveIDRef
in interface Resolvable
id
- an ID matching one of the Resolvable object's
unresolved idref's.pages
- the list of PageViewports with the given IDpublic java.lang.String getName()
getName
in interface OffDocumentItem
getName
in class AbstractOffDocumentItem
Copyright 1999-2020 The Apache Software Foundation. All Rights Reserved.


Initial work
- Transferred Resnet to classify mines specifically
- Used > 30GB of kaggle imagery
- Strong early results:
Initial success
Since then
- Scraping an additional 60GB of Sentinel satellite imagery - best data available to the public
- Creating image chips of known mines in India
- Approximately 7200 new mine images, more than doubling the training set
- Automated all spatial and image processing
Automated html synthesis for visual review of new chips
Next steps
- Downloading and processing still underway, will finish in a day or two
- Finish setting up environment on Google Cloud
- Scrape and create chips for all of India (test set)
- Begin training!
- Visualize findings - web app and/or 1-pager


{{ page.content | markdownify }}
{% for event in site.events %}
{% assign loopindex = forloop.index | modulo: 2 %}
{% capture class %}
{% if loopindex == 0 %}
timeline-inverted
{% endif %}
{% endcapture %}
-
{{ event.date }}
{{ event.description | markdownify }}
{% endfor %}
-
Planning Phase: Time to get that engine revving. Get that project idea ready, document your project. Prioritize parts of the project, set thoughful deliverables and sane deadlines to achieve them. If you need help, come let's talk on slack and help each other. Inspire and motivate others by tweeting your plans with #communitytocode and #codethroughsummer.
Coding Phase: With thorough plans, it's time to gear up and start your journey. Remember to follow the rules to maximize your productivity. We'll keep in touch to interact, learn, inspire and help each other. Daily tweets with #communitytocode and #codethroughsummer hashtags will help group all the work done by our community together.
Partying Phase: All work and no play makes Jack a dull boy. It's time to be proud of our work. Those of us who decide to open source their projects, we'll group and promote them all.


With textbook readers and digital downloads proliferating, it is easy to imagine a time when printed books will vanish. Such forecasts miss the mark, argue Jeffrey Schnapp and Matthew Battles. Future bookshelves will not be wholly virtual, and libraries will thrive—although in a variety of new social, cultural, and architectural forms. Schnapp and Battles combine deep study of the library’s history with a record of institutional and technical innovation at metaLAB, a research group at the forefront of the digital humanities. They gather these currents in The Library Beyond the Book, exploring what libraries have been in the past to speculate on what they will become: hybrid places that intermingle books and ebooks, analog and digital formats, paper and pixels.
Libraries have always been mix-and-match spaces, and remix is their most plausible future scenario. Speculative and provocative, The Library Beyond the Book explains book culture for a world where the physical and the virtual blend with ever increasing intimacy.
Throughout The Library Beyond the Book are a series of provocations for thinking about the future of libraries—some practical, some fanciful. Cristoforo Magliozzi remixed these provocations into playable card deck using and reworking the existing design elements and images of the book. These decks are available for purchase upon request.
Inspired by the closing chapter of The Library Beyond the Book, Cold Storage is a 24-minute documentary short film directed by Cristoforo Magliozzi interlinked with an expanding collection of intertextual media artifacts, an archive of experiments and experiences in and around the Harvard Depository (“HD”), Harvard’s off-site library storage facility. Taken together, the film and its associated media collection explore how libraries have changed from the “shrines to knowledge” of the past to the evolving networks that interconnect vast warehouses and patrons of the present. By looking at objects as varied as books, databases, and air-conditioning systems, what conversations about libraries of the future may be prompted? View documentary.
Developed in partnership with Harvard University Press, the series provides a platform for emerging currents of experimental scholarship, documenting key moments in the history of networked culture, and promoting critical thinking about the future of institutions of learning. The volumes’ eclectic, improvisatory, idea-driven style advances the proposition that design is not merely ornamental, but a means of inquiry in its own right. Accessibly priced and provocatively designed, the series invites readers to take part in reimagining print-based scholarship for the digital age. The first three books in the series are:
Matthew Battles, Jeffrey T. Schnapp, The Library Beyond the Book
Johanna Drucker, Graphesis – Visual Forms of Knowledge Production
Todd Presner, David Shepherd, Yoh Kawano, HyperCities – Thick Mapping in the Digital Humanities
Please direct inquiries about the book, playing card deck, and film to


My passions include obscure bands and kombucha. Coding is cool.
My favorite websites are
This text was made to be smaller using the "small" HTML tag.
This text was made bold using the "strong" HTML tag.
Text can be made italic using the "i" HTML tag
The above line break was created using the "br" HTML tag.
Here are some pictures of me:


{{- partial "head.html" . -}}
text from list.html
{{- partial "menu.html" . -}} {{- partial "header.html" . -}} {{- partial "hero.html" . -}} {{- partial "products.html" . -}} {{- partial "footer.html" . -}} {{- partial "script.html" . -}}


Problem:
My webserver is behind a firewall/router and therefor it has an lan ip adr. (<IP_ADDRESS> ex.), i also have a publich ip adr.
and forwarded the ports (works)
But the dashboard grab the local ip adr.
So is there any place to change the path/ip adr. so it will use the publich adr.?
Re: Dashboard wan - lan url
No One with any input on this problem?
I even tried with some nat settings in my firewall, with no luck
Re: Dashboard wan - lan url
Hello Larsjo, sorry for a slow reply on this, it might be possible to manually enter the path at the top of emoncms/Modules/dashboard/Views/dashboard_view.php? but it is / or is it strange that all the other javascript libraries load fine?
try setting $path = "http://YOURIPADDRESS/emoncms/";
Re: Dashboard wan - lan url
Hi,
Unfortunately i have the same problem with my PI;
I put the behind a Public router:I forwarded the Pi port to the public ip:888
But No graph on the dashboards and the the symptom is the same.
I tried to fix with the within the php code to $path = "http://YOURIPADDRESS/emoncms/";
but no effect;
I've tried to debug the problem within the generated html code:
there is a code within the "dashboard_view.php" wich - i think - which will generate the private addresses for the graphs:

<?php echo $dashboard['content']; ?>

I hardcoded the Public URL to the "dashboard_view.php" - instead of the generated one:the graph is magicaly showed up;
Somebody have any clue how to fix this?
Regards, Krisztian
Re: Dashboard wan - lan url
Have you had any success resolving the issue? I have a similar problem with Emoncms behind a firewall. Initially I built a CentOS based Emoncms server on my LAN and this worked perfectly. I then moved my server to my DMZ so I could get data sent from a remote site. When I came to access any of the Emoncms from my LAN to DMZ the web interface was extremely slow, often timing out before displaying the page. I have SELINUX and the CentOS firewall disabled. The default Apache web page on the root of the web server works fine. As do other services from LAN to DMZ, eg ssh.
I have recently moved the server back into the LAN and opened a pin hole to port 80 on the server. When I access Emoncms from my remote location I get the same symptoms, ie slow response often resulting in a timeout. Interestingly though sending readings from the remote location works fine. To do this I am using:
http://server/emoncms/input/post?time=xxxxxxxxx&json={Meter:1.23}&apikey=abcdef
Not really sure if this a networking issue or Emoncms issue. I'm using the commercial firewall Astaro with a home users license so it not like it’s a cheap ADSL router. Does anyone one have any ideas?
Cheers, Jason
Re: Dashboard wan - lan url
I had a similar issue with my Pi the Iframe on the dashboard references the internal IP. I have found a work around and that is to edit the content field in the database so that the iframe src is relative rather than the fully qualified path.
Re: Dashboard wan - lan url
jonbev,
Can you please give us some directions on where to edit the database and how to change the link to relative? I'm running my own server on a Raspberry Pi and this problem prevents any of the graphs from appearing when accessed from outside my home network.
Thank you very much in advance.
Victor Newman
Re: Dashboard wan - lan url
If you are familiar with MySQL you just need to run this update statement -
update dashboard set content=replace(content, 'src="http://<IP_ADDRESS>/emoncms/', 'src="/emoncms/');
Just change the local ip for your own.
If you need more instruction on MySQL just let me know.
Jon
Re: Dashboard wan - lan url
Jon,
I'm only minimally familiar with *nix and effectively not at all with MySQL. I understand what this fix does, and I know how to work from a command prompt, but what I'm not sure of is where/how I run it, so yes, I would be infinitely appreciative of some hand-holding (figuratively speaking, of course) here.
Thank you very much,
Victor Newman
Re: Dashboard wan - lan url
OK no problem.
Log into command line and run mysql with this command "mysql -uroot -p emoncms" then enter password.
You should get a mysql> prompt. Enter the update statement here.
update dashboard set content=replace(content, 'src="http://<IP_ADDRESS>/emoncms/', 'src="/emoncms/');
You should get the following response -
Query OK, 1 rows affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0
Then type exit to leave mysql.
Re: Dashboard wan - lan url
Jon,
Thank you very much for the help. I ran into problems.
>Log into command line and run mysql with this command "mysql -uroot -p emoncms" then enter password.
I did, and that worked, but it never asked me for a password.
>You should get a mysql> prompt. Enter the update statement here.
>update dashboard set content=replace(content, 'src="http://<IP_ADDRESS>/emoncms/', 'src="/emoncms/');
I did that, and it returned an error saying I was in the wrong database. I tried entering "use emoncms" and it gave me an error there too.
Any ideas?
Thank you very much for your help.
Victor Newman
Re: Dashboard wan - lan url
I guess your database has a different name. Check the name in the settings.php file and use that. Mine shows -
$username = "root";
$password = "password";
$server = "localhost";
$database = "emoncms";
Jon
Re: Dashboard wan - lan url
I get exactly the same thing:
$username = "root";
$password = "mypassword";
$server = "localhost";
$database = "emoncms";
:-/
Victor Newman
Re: Dashboard wan - lan url
I wonder if this will do it, the absolute path is set on line 22 of index.php
$path = get_application_path();
would it work to change that to:
$path = "http://EXTERNALIP/emoncms/";
Pretty much all css, js and menu links uses the $path variable. You may need to refresh the iframes in the dashboard to change over to the new path for it to work for them.
Trystan
Re: Dashboard wan - lan url
Update: Success!
I had originally tried following your instructions working from the desktop of the pi. This time I tried it through Putty. It worked.
Thank you very, very much for your patient assistance.
Victor Newman
Re: Dashboard wan - lan url
Trystan - is there a need for it to be absolute can't they all be relative?
Victor - Glad I could help.
Re: Dashboard wan - lan url
Exactly, all paths need to be relative instead of absolute. Using on two different IPs will most likely be very common once people start using Raspberries as their primary server.
There shouldn't be any downsides to this at all, will be testing it now.
Edit: Another case where absolute URLs are a bad idea is if the server doesn't have a fixed IP/DNS, or if you decide to change IPs for some reason. That would break all your dashboards.
Re: Dashboard wan - lan url
Have been running with $path = '/'; since yesterday without any problems.
Re: Dashboard wan - lan url
When I set up my EmonCMS the first time I encountered this problem and having just set it up again 6 months later I'm disappointed to find I had the same problem. Is there somewhere I can report this as a bug, and can anyone point me towards whichever file creates this problem in the first place IE puts the internal IP address into the database?


Make sure you are on a system with WebGPU enabled. In Safari, first make sure the Developer Menu is visible (Preferences → Advanced), then Develop → Experimental Features → Enable WebGPU.


You can access this dialog window by clicking the symbol of Trudy in the side-channel attack against the hybrid encryption protocol dialog.
This dialog offers detailed information about Trudy..
Next to the portrait of Trudy there is a window logging all the important actions Trudy executed during the side-channel attack.
In the list box below you can find all session keys that Trudy created to attack Bob's server. Each of them is based on the original session key and was modified by Trudy according to a certain algorithm.
After completion of the side-channel attack you can find the session key which Alice determined. Trudy uses this session key to decrypt the original message. The result of the decryption is located in the textfield below the session key.


Home page
This elective module introduces basic digital fabrication technologies like CAD, laser cutting, 3D printing, electronics & programming.
This elective module introduces basic digital fabrication technologies like CAD, laser cutting, 3D printing, electronics & programming.


Ashland beats Rockland on High School Gameday
by Butch StearnsDEDHAM - The Ashland Clockers dream season continues as they go into Veterans Memorial Stadium in Rockland and beat the previously undefeated Rockland Bulldogs 33-16.
With the win, Ashland moves on to the Divsion 6 playoff final next week.
Ashland was led by Quarterback Dominic Cavanugh who rushed for two touchdowns and ran the offense to near perfection against a very tough Rockland defense.
Ashland has dedicated this entire season to two former teammates who passed away in the past year from the same form of Cancer. Both Jake Silver and PJ Ferrier died from Osteosarcoma within three months of each other. The players on this current Ashland team played with Jake and knew PJ.


FRIEND FINDER
Questions
Tell us about yourself!
Name*
Photo*
Question 1
You are always optimistic:
1 (Strongly Disagree)
2
3
4
5 (Strongly Agree)
Question 2
Its difficult for you to handle pressure situation:
1 (Strongly Disagree)
2
3
4
5 (Strongly Agree)
Question 3
You are very much into the sports:
1 (Strongly Disagree)
2
3
4
5 (Strongly Agree)
Question 4
You like to travel around the world:
1 (Strongly Disagree)
2
3
4
5 (Strongly Agree)
Question 5
You can get along with any kind of people:
1 (Strongly Disagree)
2
3
4
5 (Strongly Agree)
Question 6
You really care about other people's feelings:
1 (Strongly Disagree)
2
3
4
5 (Strongly Agree)
Question 7
You are one of those people who doesn't like to lie:
1 (Strongly Disagree)
2
3
4
5 (Strongly Agree)
Question 8
You believe in practical life over dreaming it:
1 (Strongly Disagree)
2
3
4
5 (Strongly Agree)
Question 9
You are the porson who listen first and then speaks:
1 (Strongly Disagree)
2
3
4
5 (Strongly Agree)
Question 10
You would stay home at the weekends and call your friends to meet:
1 (Strongly Disagree)
2
3
4
5 (Strongly Agree)
Submit
×
Here is your Perfect Match


Tenant Resource Information of
[Menu]
|
[Refresh]
|
[Back]
Error detail here
Customer Name
Company ID
Name for display.
Node Resource Information
Node
Appliance Type
Resource Permission
Purpose
Vendor Name
Node Type
OS Type
OS Version
Management IpAddress
Resource Occupancy
Operation
Node
Set this Resource end scheduled date
Select Node
add Node Resource
Port Resource Information
Node
ifName
Resource Permission
Interface Type
Bandwidth
Neighbor Port
Temporary Neighbor Port
Last Edit time
Resource Occupancy
Operation
Set this Resource end scheduled date
Select Node
Show Ports
Select Port
add Port Resource
Vlan Resource Information
Vlan ID
Operational Status
Note
Last Edit time
Resource Occupancy
Operation
Set this Resource end scheduled date
Select VLAN ID
If it does not appear in this pull-down, please pay out on the VLAN page at first.
add Vlan Resource
IP Subnet Resource Information
IP Subnet
Vlan ID
Last Edit time
Resource Occupancy
Operation
Set this Resource end scheduled date
Select IP Subnet
If it does not appear in the pull-down, please pay out on the Subnet page.
add Subnet Resource


We go shopping every week, online or offline. Coupon, discount, promotion are good friends for shopping. Mailboxes, both physical and digital ones, are always stuffed with coupons and newsletters. However, most of them are not that helpful or even relevant, waisting our time to read and discard them. But we do love price cut. When we want to shop some brands or look for a hotel in Las Vegas, we sign up an account and hope to get some promotions right in time. Unfortunately, expected discounts seldom come, but email campaigns and nice printings will keep coming on schedule in the future.
Depends on personal habits and what we shop, sometimes we need to do a little bit research before making a purchase decision. What kinds of research we do today? Maybe google the product and check the Amazon reviews could help. But what we get from Google or Amazon review are more product specs and reviews made by people we don’t know. It is better than nothing, but does it answer our questions? We may still be not sure whether the product fit us or not.
Apparently retailers are not as worried about the explosive amount of advertisement as potential customers. But there is always a cost to print them out, or to leave a good impression in user’s email account. Retailers are always welcome to new advertisement channel and more efficient targeting offering process.
What are the factors that will affect someone’s purchase decision? In my opinions, price, quality, time (delivery or traffic for in-store shopping), and fitness are the top four in general, followed by factors that are more personal, like brand preference, apparel, etc. In this concept design, the target user is set as shoppers that care a lot in price, quality, and fitness. They have time to do some research for shopping, and want to find the right product instead of shopping something urgent, or just because it is very cheap.
The app is organized in a shopping list, where end user creates wished item. After a wished item is created, for example a SLR camera, popular options with lowest price and detailed descriptions will be provided and kept updated by the system after crawling major retailer websites. Meanwhile, partner retailers will have access to how many people is looking for certain items, so they can consider creating customized coupons for customers.
Besides price, quality and fitness also key factors for us to make a satisfied purchase. There are already lots of helpful review articles and social reviews. But they are not good enough, because they may know the product, they don’t know the customer. Our friends know us better. If they are also looking for or have already bought something similar, their comments and suggestions could be much more trustworthy and valuable. This is why social module is added, and the app will show you how many more friends are also looking for such options and provides a place for discussion per wished item.


Class Field
Field
- Passbook\Pass\Field implements Passbook\Pass\FieldInterface
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
protected
string
|
$changeMessage |
|
#
Format string for the alert text that is displayed when the pass is updated. The format string may contain the escape %@, which is replaced with the field’s new value. For example, “Gate changed to<EMAIL_ADDRESS>|
protected
array
|
$key |
|
#
The key must be unique within the scope of the entire pass. For example, “departure-gate”. |
protected
string
|
$label |
|
#
Label text for the field. |
protected
string
|
$textAlignment |
|
#
Alignment for the field’s contents. Must be one of the following values: PKTextAlignmentLeft, PKTextAlignmentCenter, PKTextAlignmentRight, PKTextAlignmentNatural |
protected
mixed
|
$value |
|
#
Value of the field. For example, 42. |


Please register in order to checkout more quickly
Create an account?
Check Payments
Cash On Delivery
PayPal
Subscribe to our newsletter and get 20% off your first purchase


PolyTycoon
1
UnityTransportTycoontypegame.
Class Index
a
|
b
|
c
|
d
|
f
|
g
|
h
|
i
|
m
|
n
|
o
|
p
|
r
|
s
|
t
|
u
|
v
|
w
a
f
IVehicleManager
ProductProcessorBehaviour
TooltipHandle
IWorldToScreenManager
ProductProcessorController
TooltipText
AbstractAStarNode
FactoryData
m
ProductProcessorView
TrafficIntersectionMask
AbstractPathFindingAlgorithm
FactoryNeededProductView
ProductSelectionView
Trainstation
AbstractStorageContainer
FactoryProductToolTip
MapPlaceable
ProductStorage
TransportRoute
AirPathFinding
g
MapPreview
ProductView
TransportRouteCreationView
Airport
MeshData
ProgressionManager
TransportRouteElement
AmountProductView
GameHandler
MeshSettings
ProgressionUnlockView
TransportRouteElementView
b
GameSettings
MoneyAnimationBehaviour
ProgressionUnlockViewElement
TransportRouteManager
h
MoneyController
r
TransportRouteOverviewElementView
BarChartController
MoneyUiView
TransportRouteOverviewView
BarChartValue
Harbor
n
Rail
TransportRouteProductView
BarChartValueView
HeightMap
RailAStarPathFinding
TransportRouteSetting
BarChartView
HeightMapSettings
NeededProduct
RouteCreationSettingsManager
TransportVehicle
BuildingData
HideOnPlay
NeededProductView
RouteCreationStationManager
TransportVehicleController
BuildingManager
i
NeededSpace
RouteCreationVehicleChoiceSubView
TransportVehicleData
BuildingProducerData
NetworkAStarPathFinding
RouteData
TransportVehicleView
c
IBuildingManager
NetworkNode
RouteMover
TraversalPoints
ICityBuilding
NoiseSettings
s
TreeBehaviour
CameraBehaviour
ICityManager
o
TreeManager
CityBuilding
ICityPlaceable
ScheduledMover
u
CityData
IComplexMapPlaceable
OnVisibilityChangeCallback
ShaderSimpleNoise
CityGrowthBehaviour
IMapPlaceable
Outline
ShortCutManager
UiMouseEnterOverAnimationController
CityMainBuilding
InputFieldSelectionUtility
p
SimpleMapPlaceable
UpdatableData
CityManager
IPathFinder
StorageContainerView
UserNotificationView
CityPlaceable
IPathFindingNode
Path
Street
v
CityView
IPathNode
PathFinder
t
CityWorldToScreenView
IPlacementController
PathFindingConnector
VehicleManager
CloudBehaviour
IProductEmitter
PathFindingNode
TerrainChunk
VehicleOptionView
ColliderInfo
IProductManager
PathFindingTarget
TerrainChunk2D
w
CompassView
IProductReceiver
PauseMenueView
TerrainGenerator
ComplexMapPlaceable
ISimpleMapPlaceable
PlacementController
TerrainGenerator2D
Warehouse
ConstructionElementView
ITerrainGenerator
PlacementData
TerrainGenerator2DView
WayPoint
ConstructionView
ITransport
PlacementView
ThreadedDataRequester
WaypointMover
d
ITransportRouteManager
ProceduralCityBuilding
ThreadsafePlaceable
WaypointMoverController
ITransportRouteOverview
ProceduralNeededSpace
TileAStarPathFinding
WaypointMoverFollower
DestructionController
ITreeManager
ProductData
TileNode
WorldToScreenElement
DestructionView
IUserNotificationView
ProductManager
TimeScaleView
WorldToScreenManager
a
|
b
|
c
|
d
|
f
|
g
|
h
|
i
|
m
|
n
|
o
|
p
|
r
|
s
|
t
|
u
|
v
|
w
Generated by
1.8.18


{% block scripts %} {% endblock %}
Presence analyzer
Presence by weekday
Presence mean time
Presence start-end
{% block content %} {% endblock %}


Facebook unites payment service across apps with Facebook Pay
(Reuters) - Facebook Inc (FB.O) said on Tuesday it was launching Facebook Pay, a unified payment service through which users across its platforms including WhatsApp and Instagram can make payments without exiting the app.
The social network said the service would allow users to send money or make a payment with security options such as PIN or biometrics on their smartphones.
Chief Executive Officer Mark Zuckerberg said earlier this year the company is planning to unify the messaging infrastructure across its platforms.
He said the company would encrypt conversations on more of its messaging services and make them compatible as direct messaging was likely to dwarf discussion on the traditional, open platform of Facebook’s news feed in a few years.
Facebook said the new service will collect user information such as payment method, date, billing and contact details when a transaction is made and that it would use the data to show targeted advertisements to users.
Advertising practices of Facebook have been in the spotlight for the past few years amid growing discontent over its approach to privacy and user data.
Facebook Pay will be available on Facebook and Messenger this week in the United States, the company said in a blog post.