Synthesize positive controls
synthesizePositiveControls( connectionDetails, cdmDatabaseSchema, oracleTempSchema = cdmDatabaseSchema, exposureDatabaseSchema = cdmDatabaseSchema, exposureTable = "drug_era", outcomeDatabaseSchema = cdmDatabaseSchema, outcomeTable = "cohort", outputDatabaseSchema = outcomeDatabaseSchema, outputTable = outcomeTable, createOutputTable = FALSE, exposureOutcomePairs, modelType = "poisson", minOutcomeCountForModel = 100, minOutcomeCountForInjection = 25, minModelCount = 5, covariateSettings = FeatureExtraction::createCovariateSettings(useDemographicsAgeGroup = TRUE, useDemographicsGender = TRUE, useDemographicsIndexYear = TRUE, useDemographicsIndexMonth = TRUE, useConditionGroupEraLongTerm = TRUE, useDrugGroupEraLongTerm = TRUE, useProcedureOccurrenceLongTerm = TRUE, useMeasurementLongTerm = TRUE, useObservationLongTerm = TRUE, useCharlsonIndex = TRUE, useDcsi = TRUE, useChads2Vasc = TRUE, longTermStartDays = 365, endDays = 0), prior = Cyclops::createPrior("laplace", exclude = 0, useCrossValidation = TRUE), control = Cyclops::createControl(cvType = "auto", startingVariance = 0.1, noiseLevel = "quiet", threads = 10), firstExposureOnly = FALSE, washoutPeriod = 183, riskWindowStart = 0, riskWindowEnd = 0, endAnchor = "cohort end", addIntentToTreat = FALSE, firstOutcomeOnly = FALSE, removePeopleWithPriorOutcomes = FALSE, maxSubjectsForModel = 1e+05, effectSizes = c(1, 1.25, 1.5, 2, 4), precision = 0.01, outputIdOffset = 1000, workFolder = "./SignalInjectionTemp", cdmVersion = "5", modelThreads = 1, generationThreads = 1 )
| connectionDetails | An R object of type |
|---|---|
| cdmDatabaseSchema | Name of database schema that contains OMOP CDM and vocabulary. |
| oracleTempSchema | For Oracle only: the name of the database schema where you want all temporary tables to be managed. Requires create/insert permissions to this database. |
| exposureDatabaseSchema | The name of the database schema that is the location where the exposure data used to define the exposure cohorts is available. If exposureTable = DRUG_ERA, exposureDatabaseSchema is not used by assumed to be cdmSchema. Requires read permissions to this database. |
| exposureTable | The table name that contains the exposure cohorts. If exposureTable <> DRUG_ERA, then expectation is exposureTable has format of COHORT table: cohort_concept_id, SUBJECT_ID, COHORT_START_DATE, COHORT_END_DATE. |
| outcomeDatabaseSchema | The name of the database schema that is the location where the data used to define the outcome cohorts is available. If exposureTable = CONDITION_ERA, exposureDatabaseSchema is not used by assumed to be cdmSchema. Requires read permissions to this database. |
| outcomeTable | The table name that contains the outcome cohorts. When the table name is not CONDITION_ERA This table is expected to have the same format as the COHORT table: SUBJECT_ID, COHORT_START_DATE, COHORT_END_DATE, COHORT_CONCEPT_ID (CDM v4) or COHORT_DEFINITION_ID (CDM v5 and higher). |
| outputDatabaseSchema | The name of the database schema that is the location of the tables containing the new outcomesRequires write permissions to this database. |
| outputTable | The name of the table names that will contain the generated outcome cohorts. |
| createOutputTable | Should the output table be created prior to inserting the outcomes? If TRUE and the tables already exists, it will first be deleted. If FALSE, the table is assumed to exist and the outcomes will be inserted. Any existing outcomes with the same IDs will first be deleted. |
| exposureOutcomePairs | A data frame with at least two columns:
|
| modelType | Can be either "poisson" or "survival" |
| minOutcomeCountForModel | Minimum number of outcome events required to build a model. |
| minOutcomeCountForInjection | Minimum number of outcome events required to inject a signal. |
| minModelCount | Minimum number of negative controls having enough outcomes to fit an outcome model. |
| covariateSettings | An object of type |
| prior | The prior used to fit the outcome model. See
|
| control | The control object used to control the cross-validation used
to determine the hyperparameters of the prior (if
applicable). See |
| firstExposureOnly | Should signals be injected only for the first exposure? (ie. assuming an acute effect) |
| washoutPeriod | Number of days at the start of observation for which no signals will be injected, but will be used to determine whether exposure or outcome is the first one, and for extracting covariates to build the outcome model. |
| riskWindowStart | The start of the risk window relative to the start of the exposure (in days). When 0, risk is assumed to start on the first day of exposure. |
| riskWindowEnd | The end of the risk window (in days) relative to the endAnchor. |
| endAnchor | The anchor point for the end of the risk window. Can be "cohort start" or "cohort end". |
| addIntentToTreat | If true, the signal will not only be injected in the primary
time at risk, but also after the time at risk (up until the
obseration period end). In both time periods, the target
effect size will be enforced. This allows the same positive
control synthesis to be used in both on treatment and
intent-to-treat analysis variants. However, this will
preclude the controls to be used in self-controlled designs
that consider the time after exposure. Requires
|
| firstOutcomeOnly | Should only the first outcome per person be considered when modeling the outcome? |
| removePeopleWithPriorOutcomes | Remove people with prior outcomes? |
| maxSubjectsForModel | Maximum number of people used to fit an outcome model. |
| effectSizes | A numeric vector of effect sizes that should be inserted. |
| precision | The allowed ratio between target and injected signal size. |
| outputIdOffset | What should be the first new outcome ID that is to be created? |
| workFolder | Path to a folder where intermediate data will be stored. |
| cdmVersion | Define the OMOP CDM version used: currently support "4" and "5". |
| modelThreads | Number of parallel threads to use when fitting outcome models. |
| generationThreads | Number of parallel threads to use when generating outcomes. |
A data.frame listing all the drug-pairs in combination with requested effect sizes and the real inserted effect size (might be different from the requested effect size because of sampling error).
This function will insert additional outcomes for a given set of drug-outcome pairs. It is assumed
that these drug-outcome pairs represent negative controls, so the true relative risk before
inserting any outcomes should be 1. There are two models for inserting the outcomes during the
specified risk window of the drug: a Poisson model assuming multiple outcomes could occurr during a
single exposure, and a survival model considering only one outcome per exposure.
It is possible to use bulk import to insert the generated outcomes in the database. This requires
the environmental variable 'USE_MPP_BULK_LOAD' to be set to 'TRUE'. See
?DatabaseConnector::insertTable
for details on how to configure the bulk upload.
Schuemie MJ, Hripcsak G, Ryan PB, Madigan D, Suchard MA. Empirical confidence interval calibration for population-level effect estimation studies in observational healthcare data. Proc Natl Acad Sci U S A. 2018 Mar 13;115(11):2571-2577.


UID
Type
Abstraction level
Origins
Creators
Categories
Name
Description
Long Description
Rationale
Fitcriteria
Satisfaction
Dissatisfaction
Documentation Links
Related Requirements
Sub Reqirements
Reviewed


Knight, bench play boosts Campbell past Jacksonville 62-57
BUIES CREEK, N.C. (AP) - Ladarius Knight had 11 points off the bench to carry Campbell to a 62-57 win over Jacksonville on Monday night.
Ja’Cor Nelson had 10 points and six rebounds for Campbell (4-1). Jesus Carralero added five assists.
David Bell had 14 points and 11 rebounds for the Dolphins (3-5). Bryce Workman added seven rebounds.
Campbell faces Georgia Southern on Friday. Jacksonville takes on NC A&T; on the road on Saturday.
For more AP college basketball coverage: https://apnews.com/Collegebasketball and http://twitter.com/AP_Top25
This was generated by Automated Insights, http://www.automatedinsights.com/ap, using data from STATS LLC, https://www.stats.com
Sign up for Daily Newsletters
Copyright © 2019 The Washington Times, LLC.
Please read our comment policy before commenting.


me idea is a "stalk button". I'm often looking for players with exclusive dogtags, like the "5 times Mortar Medal", to knife them. Today I'm allways typin the player's name in the search box to check if the player is online and playin, because nearly nobody is accepting my freinds request. It would be a massive improvement, if i had a list, where i can directly see the online status (like the friends list).
I'm thinking of a button like the "Radar Button", for example "Stalk Button". By clickin these button the player will be added to a stalk list. By clickin on the stalk list, i can see all my added players with their online status and if available a server link where i can join.
What do you think?
BrainFooLong
Administrator
BBLog will never add a feature like this. We don't support dogtag hunters because it's horrible when somebody can't play without being stalked all day long (Like the DICE Employees).
You can ask for it in the plugin section.


 If you like our coffee, then give us a follow Follow Us! >
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim. Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu. In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo. Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Learn More >
"blah blah blah blah blah"
As all fo the conversation about climate change and humans ruining the planet is stronger than ever, we find ourselves at GC revisiting the way we harvest and produce our coffee. Thus our "brain child" GreanTree Initiative was created. GreanTree Initiave is our way to give back to the planet and keep this big ball rolling, or spinning.
Grean Tree Initiative works as a donation with benefits. For every pound of coffee you order, you get to plant a tree. You can pick our natural unroasted "Grean" coffee, or you can choose to have your coffee roasted to order. You have the option to choose from a selection of tree species that are highly endangered and near extinction. Giving you the feel good feeling of enjoying your hand roasted coffee in the morning, realizing that with every sip, you are saving an ecosystem, one seed at a time


Are you wanting to grow something but are bored of the typical plant? If so then try an aquatic plant. Marimo balls are easy to take care of and can be petted. All you need to do is change the water every two weeks. Marimo balls can be housed in any clear jar.
10mins


| Word: | Definition: | |
|---|---|---|
| rational number | a number that can be written as a ratio of two integers a and b, where b is not zero. | |
| terminating decimals | decimals that come to an end | |
| repeating decimals | one or more digits that repeat infintely. | |
| set | a group of items | |
| subset | contained of the second set | |
| opposite or additive inverse | is the same distance from 0 on a number line as the original number, but on the other side of 0. |
| Word: | Definition: | |
|---|---|---|
| unit rates | comparison of two quantities that have different units, such as miles and hours. Rates are often expressed as unit rates, that is, with a denominator of 1 unit. | |
| complex fraction | a fraction that has a fraction in its numerator, denominator, or both. | |
| rate of change | rate that describes how one quantity changes in relation to another quantity. | |
| proportional relationship | between two quantities is one in which the rate of change is constant, or one in which the ratio of one quantity to the other is constant. | |
| proportion | a statement that two rates or ratios are equivalent | |
| constant or proportionality | y = kx, it represents the constant rate of change |
| Word: | Definition: | |
|---|---|---|
| conversion factor | ratio of two equivalent measurements | |
| Percent increase | describes how much a quantity increase in comparison to the original amount | |
| Percent decrease | describes how much a quantity decreases in comparison to the original amount | |
| Simple interest | fixed percent of the principal. | |
| principal | original amount of money borrowed or deposited |
| Word: | Definition: | |
|---|---|---|
| Similar Shapes | have the same shape, but not necessarily the same size. | |
| Corresponding angles and correspoding sides | two or more similar shapes are in the same relative position | |
| indirect measurement | using similar shapes and proportions to find a measure | |
| radius | line segment with one endpoint at the center of the circle and the other endpoint of the circle. | |
| diameter | a line segment that passes through the center of the circle and whose endpoints lie on the circle. The length of the diameter is twice the length of the radius. | |
| circumference | circle is the distance around the circle. |
| Word: | Definition: | |
|---|---|---|
| experiment | an activity involving chance in which results are observed | |
| trial | Each observation of an experiment | |
| outcome | each result | |
| event | a set of one or more outcomes is an event. | |
| Probability | measures the likelihood that the event will occur, written P(event) | |
| sample space | set of all possible outcomes for an event. | |
| complement | is the set of all outcomes in the sample space that are not included in the event. | |
| experimental probability | an event that is found by comparing the number of times the event occurs to the total number of trials. | |
| simple event | when there is only one outcome for an event | |
| simulation | model of an experiment that would be difficult or inconvenient to actually perform | |
| compound event | an event that includes two or more simple events, such as flipping a coin and rolling a number cube. | |
| Theoretical probability | probability that an event occurs when all the outcomes of the experiment are equally likely. |
| Word: | Definition: | linear relationships | one quantity changes by a constant amount, th other quantity also changes by a constant number. |
|---|---|---|
| Word: | Definition: | |
|---|---|---|
| net | two-dimensional pattern of shapes that can be folded into a three-dimensional figure. | |
| pyramid | three-dimensional shape whose base is a polygon and whose other faces are all triangles. | |
| lateral faces | parallelograms that connect the bases. Each face that is not a base is a lateral face. | |
| lateral area | sum of the areas of all the lateral faces | |
| surface area | sum of areas of all the surfaces of a figure expressed in square units. |


ACCESS DEMO PAGE
You can test with username:
perkikiki
or
<EMAIL_ADDRESS>Password:
poilonez
No registration yet!


22 Introduction to {charpente}
22.1 Motivations
Translating an HTML template into an R API requires the creation of a package. This is not a good practice to proceed as follows:
ui <- fluidPage(
useShinydashboard(),
tags$script(
[1172 chars quoted with '"']
),
box2(
title = textOutput("box_state"),
"Box body",
inputId = "mybox",
collapsible = TRUE,
plotOutput("plot")
),
actionButton("toggle_box", "Toggle Box")
)
server <- function(input, output, session) {
output$plot <- renderPlot({
req(!input$mybox$collapsed)
plot(rnorm(200))
})
output$box_state <- renderText({
state <- if (input$mybox$collapsed) "collapsed" else "uncollapsed"
paste("My box is", state)
})
observeEvent(input$toggle_box, {
updateBox2("mybox")
})
}
shinyApp(ui, server)
Imagine if we had to repeat the process for more than twenty components. The R package structure provides many advantages like:
- Develop a comprehensive documentation of the underlying API
- Design unit tests to guaranty code robustness and improve long term plan
- Relevant file organization
22.2 General idea
{charpente} is a game changer for custom template creation. It is not yet on CRAN but has been widely used to help developing RinteRface packages. charpente drastically:
- Eases the import of external dependencies.
- Speeds up the HTML to R conversion, which is quite frankly a rather boring process,
allowing to focus on the features rather than the syntax. This feature builds on top of the
{html2R}
shiny app by Alan Dipert, already mentioned in Chapter 2. - Eases JS code management, leveraging esbuild.
Let’s try below with html_2_R
:
##
## ── Converting code ... ──
##
## ✓ Code converted with success.
## ℹ Copy and paste the following R code
## ────────────────────────────────────────────────────────────────────────────────
## tags$div(
## class = "divclass",
## id = "someid"
## )
html_2_R
has a prefix parameter which adds a tags$
prefix if TRUE. It is
TRUE by default which prevents errors with non exported Shiny tags like nav
.
The second main benefit of charpente is the dependency management system.
22.3 A case study: {shinybulma}
In the following, we’ll illustrate charpente’s workflow, through the R in Pharma workshop exercises focused on shinybulma.
bulma is a more and more popular open source CSS framework for the web. Importantly, there isn’t any JavaScript in the bulma core code. We’ll see later that the recent bulma JS provides such an implementation. For now, we only focus on HTML and CSS.
To initialize a charpente package, run:
path <- file.path(tempdir(), "mypkg")
create_charpente(path, license = "mit")
This sets up a minimal viable package with git and optionally GitHub remote setup, Figure 22.2.
By default, the package DESCRIPTION
Imports
field has shiny
, htmltools
and
utils
. charpente is never required to be a dependency of your package since it might
be invasive.
In the ./R
folder, charpente creates a mypkg-utils.R
script containing:
- Tools to facilitate HTML dependency management like
add_dependencies
(see corresponding section below). - Some validation functions mentioned in Chapter 21.
Finally, you may see some exotic folders and files like srcjs
, package.json
, package-lock.json
and node_modules
. Fear not, we describe them later in 22.3.6. Overall, they are here to support to JS code management.
22.3.1 Build the HTML dependency
The interested reader may have a look at the Getting started guide, so as to know more how to get bulma. To install bulma dependencies, there are several ways:
- The CDN method (content delivery network) which consists in getting dependencies from a dedicated server. Files are not stored locally which may be a problem if one does not have internet.
- The local method consists in downloading the production files (minified CSS).
- Using npm that installs bulma sources as well as production files. It means one can modify sources at anytime, which is not recommended since it would be hard to maintain.
In our case, we show the two first methods, the third being out of the scope of this book.
As shown in previous Chapter 17, we could build the bulma dependency as follows:
library(htmltools)
bulma_deps <- htmlDependency(
name = ...,
version = ...,
src = c(href = ...),
stylesheet = ...
)
add_bulma_deps <- function(tag) {
tagList(..., bulma_deps)
}
but this already takes too much time. This is where charpente comes into play.
Specifically, the create_dependency
function automatically downloads/points to the specified dependency by just providing its name. This means you have to know what you are looking for. Best practice is to look at the jsdelivr website (charpente is built on top of jsdelivr) and find the correct repository, as shown Figure 22.3. create_dependency
will also create the add_<DEP_NAME>_deps
function in a <DEP_NAME>--dependencies.R
script and open it.
charpente_options(local = FALSE)
allows you to fine tune the behavior. If local is FALSE,
charpente points to the CDN without downloading any files. However, your end users will require
an internet connection to be able to access static assets required by the Shiny app.
Therefore, package developers should prefer the option local = TRUE
to ensure dependencies are always accessible.
Extra parameters like tag control the downloaded version since HTML templates
may have several flavors. It is always good to be able to test multiple versions and select
the best option.
Once satisfied, we simply run the below code to get the latest version, or a specific version if tag is used:
# CDN method
create_dependency("bulma", options = charpente_options(local = FALSE))
create_dependency("bulma", tag = "0.7.0", options = charpente_options(local = FALSE))
# local method (default)
create_dependency("bulma")
Moreover, create_dependency
is able to filter all files, through the charpente_options
:
-
minified targets all files with
.min
, if TRUE. -
bundle targets all files containing
.bundle
, if TRUE. -
lite targets files with
lite
keyword, if TRUE. -
rtl target all files with
.rtl
, if TRUE. rtl design stands for right to left and is common in some countries for instance.
You may imagine that charpente_options
targets .min
files by default. If you don’t find
any script, you probably have to change options. For instance, some templates
like Bootstrap and Framework7 have bundle.min
files (charpente_options(bunlde = TRUE)
), whereas bulma doesn’t.
We can test our new dependency:
devtools::load_all()
findDependencies(add_bulma_deps(div()))
which works like a charm. If you chose the local option, you also get an inst/bulma-<BULMA-VERSION>
folder
with all relevant files sorted by type. The bulma-dependencies.R
script contains the
newly created add_bulma_deps
function, either pointing to the CDN or the local
files, depending on the chosen strategy:
# local dependency script output
#' bulma dependencies utils
#'
#' @description This function attaches bulma. dependencies to the given tag
#'
#' @param tag Element to attach the dependencies.
#'
#' @importFrom htmltools tagList htmlDependency
#' @export
add_bulma_deps <- function(tag) {
bulma_deps <- htmlDependency(
name = "bulma",
version = "0.9.3",
src = c(file = "bulma-0.9.3"),
stylesheet = "css/bulma.min.css",
package = "mypkg",
)
tagList(tag, bulma_deps)
}
# -----------------------------------------------
# CDN dependencies
#' bulma dependencies utils
#'
#' @description This function attaches bulma. dependencies to the given tag
#'
#' @param tag Element to attach the dependencies.
#'
#' @importFrom htmltools tagList htmlDependency
#' @export
add_bulma_deps <- function(tag) {
bulma_deps <- htmlDependency(
name = "bulma",
version = "0.9.3",
src = c(href = "https://cdn.jsdelivr.net/npm/bulma@0.9.3/"),
stylesheet = "css/bulma.min.css"
)
tagList(tag, bulma_deps)
}
charpente sets the roxygen skeleton so that you don’t have to worry about function imports.
22.3.2 Set up the minimal page template
According to the bulma documentation, the starter page template is:
<!DOCTYPE html>

<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Hello Bulma!</title>
<link rel="stylesheet"<EMAIL_ADDRESS>

Hello World

My first website with Bulma!

Adding some charpente magic with html_2_R
, we set the path parameter to /html
to get the entire template. We, replace ...
with the appropriate content (see above). Since the copied HTML contains double quotations marks like

, we put the string in single quotation marks.
html_2_R('

<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Hello Bulma!</title>
<link rel="stylesheet"<EMAIL_ADDRESS>

Hello World

My first website with Bulma!

',
path = "/html"
)
##
## ── Converting code ... ──
##
## ✓ Code converted with success.
## ℹ Copy and paste the following R code
## ────────────────────────────────────────────────────────────────────────────────
## tags$html(
## tags$head(
## tags$meta(charset = "utf-8"),
## tags$meta(
## name = "viewport",
## content = "width=device-width, initial-scale=1"
## ),
## tags$title("Hello Bulma!"),
## tags$link(
## rel = "stylesheet",
## href =<EMAIL_ADDRESS>## )
## ),
## tags$body(tags$section(
## class = "section",
## tags$div(
## class = "container",
## tags$h1(
## class = "title",
## "Hello World"
## ),
## tags$p(
## class = "subtitle",
## "My first website with",
## tags$strong("Bulma"),
## "!"
## )
## )
## ))
## )
At run time, shiny adds html
around the UI, thereby making it not necessary to include.
We also don’t need the link(rel = "stylesheet", href =<EMAIL_ADDRESS>since add_bulma_deps
does already attach the dependencies to the page.
The prefix
parameter defaults to TRUE, so that we don’t have to worry about whether tags functions are exported
by shiny (see Chapter 2).
The bulma_page
function is defined below, that we save in the R
package folder:
bulma_page <- function(..., title = NULL) {
tagList(
tags$head(
tags$meta(charset = "utf-8"),
tags$meta(
name = "viewport",
content = "width=device-width, initial-scale=1"
),
tags$title(title)
),
add_bulma_deps(tags$body(...))
)
}
With some practice, going from step one to the bulma page templates literally takes three minutes, while it would have taken more than 30 minutes by hand. At any time, you may replace the dependency with another version. Be careful, since charpente does not make snapshots of old versions.
22.3.3 Exercise: add bulmaJS
As stated in the above, bulma only contains CSS code! It means we need to either develop custom JS code to add interactivity or rely on any third party existing API. bulma JS is one of these!
This example has been written and tested with bulmaJS 0.12.1
.
Some features may change in future releases.
- Using charpente, create a bulma js dependency. We point to vizuaalog/bulmajs since some bulmajs already exist and is not what we want. Run the following code in the R console.
get_dependency_assets("@vizuaalog/bulmajs")
## ℹ Trying with https://data.jsdelivr.com/v1/package/npm/@vizuaalog/bulmajs
## ✓ Success!
## ────────────────────────────────────────────────────────────────────────────────
## $url
## [1] "https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>##
## $files
## name hash
## 1 alert.js 0Tq89d1U9WqE3xunn1SJLwD3qQvoiDU/ujdOQAxNGME=
## 2 bulma.js vbERfMn7TdJ3ZyBfxd+sGJf/fWG/GnWmvMn88FdhfAE=
## 3 dropdown.js a4jYH26F8++608JkISGhK0djf4oBOfa+MeKGzi0yM3U=
## 4 file.js auA7tFsecFictV+ZLehk+avAsr6QHjDvxXXGEyq2bbw=
## 5 message.js xIxQKW6ezuEuLxsEGB+voTYg0ZWjIldWZoZltlJIUjA=
## 6 modal.js hBvcaTjLTgUEz5N2JhIeJz2jXagbOVG7KNxn406heMI=
## 7 navbar.js kZ1bvDA2eaAtPwCmyZJyQDlhmhXVXGmJot30R6iEXDY=
## 8 notification.js DLFq8emqUPpFOt948fP+iWl1/SdJdYRiFA1yLEeowpw=
## 9 panel.js NSnEBEPnog3obqVUCnTAn4d9+333/jvQpQsNlYDoYUk=
## 10 panelTabs.js YYhbFo+xIExSfq9YIa/gDkKunSv852A+Lay4qbP6/+w=
## 11 tabs.js /DBuPkvCsQJ6pg+nqBqwFsOHXphtW12e2TQmIs9+tNU=
##
## $hasSubfolders
## [1] FALSE
As shown in the code output, bulmajs does not have minified JS and CSS files. Therefore, to install the dependency, we have to specify the charpente_options(minified = FALSE)
:
create_dependency(..., options = charpente_options(minified = FALSE))
Notice how many files are added to the dependency. Below, we only work with notifications:
- Only keep
notification.js
and remove all the unnecessary files - Only keep
bulma.js
that gather all plugins in 1 script.
The best practice is usually to keep only what we need since some scripts may be heavy to load!
- Run
devtools::load_all()
. Modify the below code to test the newly created dependency. Hint: toggle the HTML inspector to check all appropriate dependencies are there!
# Where should the html dependency be added?
ui <- bulma_page()
server <- function(input, output, session) {}
shinyApp(ui, server)
22.3.4 Add custom JS
Notifications are always useful to send user feedback. Shiny has a notification system through shiny::showNotification
. Like Shiny, Bulma notifications are entirely built from JS (no need for any HTML code).
The API works as follows:
-
Bulma(target).notification(config)
creates the notification based on a JSON option list (config).target
expects a jQuery selector. -
show
toggles the newly instantiated notification
In other words the below code attaches the notification to the body
:
In the following we design the R interface and JavaScript handler (which is no more than an event listener).
charpente has a function that creates both pieces, namely create_custom_handler
:
create_custom_handler("notification")
We obtain the notification-handler.R
script:
send_notification_message <- function(
id = NULL,
options = NULL,
session = shiny::getDefaultReactiveDomain()
) {
message <- list(
# your logic
)
session$sendCustomMessage(type = "notification", message)
}
and the corresponding JavaScript piece in notification.js
,
derived from the golem::add_js_handler
function:
By default, the JS file is created in the srcjs
directory. This is a special directory
where we store all JavaScript files that depend on the package author. For instance,
bulmaJS is an external dependency and is very unlikely to be edited by the package author. For that reason,
it remains in the inst
folder like all other external dependencies.
22.3.5 Add custom input/output bindings
In part 12.2, we created better shinydashboard boxes that one
may programmatically collapse, close, and restore. Until now, there was no way to
setup an input binding skeleton and one had to copy and paste each time the same
code. charpente has a create_input_binding
and create_output_binding
(functions that
you can also find in the development version of golem). Contrary to the custom handler case,
create_input_binding
only generates the JavaScript piece since the R part is highly variable from
one input to another. To get a plug-and-play box input binding, we call:
create_input_binding("boxBinding")
which gives the input-boxBinding.js
script in the srcjs
folder:
var boxBinding = new Shiny.InputBinding();
$.extend(boxBinding, {
find: function(scope) {
// JS logic $(scope).find('whatever')
},
getValue: function(el) {
// JS code to get value
},
setValue: function(el, value) {
// JS code to set value
},
receiveMessage: function(el, data) {
// this.setValue(el, data);
},
subscribe: function(el, callback) {
$(el).on('click.boxBinding', function(e) {
callback();
});
},
unsubscribe: function(el) {
$(el).off('.boxBinding');
}
});
Shiny.inputBindings.register(boxBinding, 'shiny.whatever');
This function has multiple options:
-
initialized is FALSE by default. If TRUE, it adds an
initialized
method to the binding. -
dev adds some
console.log
elements whenever relevant to help in the debugging process. -
event is a list containing events related to the binding. By default, it generates
a
click
event without any rate policy. To add extra events we dolist(name = c("click", "whatever"), rate_policy = c(FALSE, TRUE))
.
Similarly, the create_output_binding
function creates a ready to use output binding JS script,
in the srcjs
folder (create_output_binding("menuOutput")
):
22.3.6 Organize your JS code
This naturally leads us to this part which is about JS code organization. Shiny developers
may have a lot of custom JS scripts, and it is generally a bad idea to put them all
under inst
. Instead, we store them in srcjs
. charpente has a function providing
a tool to bundle the JS code for production or development, that is build_js()
:
- It compresses, mangles all JS files and concatenate them in one minified file called
mypkg.min.js
. If mode isdev
, the files are not minified. - In production mode (mode is
prod
, by default), it additionally generates source maps.
esbuild concatenates file by the order provided in the ./srcjs/main.js
entry point, automatically generated by create_charpente()
. The configuration is provided by charpente in the package.json
file.
The script mypkg.min.js
is not human readable but the generated source map
allows to reconstruct the original code, which location is under the web browser srcjs
folder, like all Shiny JS files. From there, we can access any mapped script and start the debugging process like setting break points.
In production, the variable names, functions, are mangled. For instance, a variable
config
could be called t
in the minified file, which may lead to confusion.
Additionally, build_js
creates the mypkg-dependencies.R
file containing the HTML
dependency pointing to the newly generated JS file (below for production):
#' mypkg dependencies utils
#'
#' @description This function attaches mypkg dependencies to the given tag
#'
#' @param tag Element to attach the dependencies.
#'
#' @importFrom utils packageVersion
#' @importFrom htmltools tagList htmlDependency
#' @export
add_mypkg_deps <- function(tag) {
mypkg_deps <- htmlDependency(
name = "mypkg",
version = packageVersion("mypkg"),
src = c(file = "mypkg-<IP_ADDRESS>00"),
script = "js/mypkg.min.js",
package = "mypkg",
)
tagList(tag, mypkg_deps)
}
Switching between prod
and dev
automatically updates the mypkg-dependencies.R
JS files.
Finally, under the hood, create_js()
, create_input_binding()
, create_output_binding()
and create_custom_handler()
add a reference to the newly created script in the main.js
entry point, which may look like:
export and import must be called from the top level of a script. For instance,
they cannot live inside the $( document ).ready(function(...)});
, as this would trigger a build error.
charpente currently does not provide a similar process for CSS, as this is still work in progress. Other tools exist like {packer}
by John Coene, which leverages webpack to handle JS code.
22.3.7 Combine multiple dependencies
add_dependencies
allows to select any dependency available in the ./R
folder,
provided that they follow the convention <depName>_dependencies.R
(which is always the case if you use charpente):
#' Attach all created dependencies in the ./R directory to the provided tag
#'
#' This function only works if there are existing dependencies. Otherwise,
#' an error is raised.
#'
#' @param tag Tag to attach the dependencies.
#' @param deps Dependencies to add. Expect a vector of names. If NULL, all dependencies
#' are added.
#' @export
#'
#' @examples
#' \dontrun{
#' library(htmltools)
#' findDependencies(add_dependencies(div()))
#' findDependencies(add_dependencies(div(), deps = "bulma"))
#' }
add_dependencies <- function(tag, deps = NULL) {
if (is.null(deps)) {
temp_names <- list.files("./R", pattern = "dependencies.R$")
deps <- unlist(
lapply(temp_names, strsplit, split = "-dependencies.R")
)
}
if (length(deps) == 0) stop("No dependencies found.")
deps <- lapply(deps, function(x) {
dep <- eval(
parse(
text = sprintf(
"htmltools::findDependencies(add_%s_deps(htmltools::div()))",
x
)
)
)
dep
})
# flatten list by one level
deps <- unlist(deps, recursive = FALSE)
htmltools::tagList(tag, deps)
}
For instance add_dependencies(div(), deps = c("bulma", "bulmajs"))
adds bulma (first) and
bulmajs dependencies to a div
tag. You may change the order as you see fit, as most
of the time, the order matters. We update bulma_page
to benefit from the new dependencies:
bulma_page <- function(..., title = NULL) {
tagList(
tags$head(
tags$meta(charset = "utf-8"),
tags$meta(
name = "viewport",
content = "width=device-width, initial-scale=1"
),
tags$title(title)
),
add_dependencies(
tags$body(...),
deps = c("bulma", "mypkg")
)
)
}
As mentioned above, add_dependencies
belongs to the mypkg-utils.R
script
so that you don’t have to import charpente in the DESCRIPTION
Imports
field.
22.3.8 Other {charpente}
helpers
Let’s finish this section by listing other useful charpente tools.
We know create_dependency
to install an external dependency.
As shown earlier, this code installs bulma dependencies:
create_dependency("bulma")
However, we don’t necessarily know all package versions and may need
bulma 0.9.3
or bulma 0.7.0
. get_dependency_versions
allows to look for
all existing versions:
get_dependency_versions("bulma")
## ℹ Trying with https://data.jsdelivr.com/v1/package/npm/bulma
## ✓ Success!
## ────────────────────────────────────────────────────────────────────────────────
## [1] "0.9.3" "0.9.2" "0.9.1" "0.9.0" "0.8.2" "0.8.1" "0.8.0" "0.7.5"
## [9] "0.7.4" "0.7.3" "0.7.2" "0.7.1" "0.7.0" "0.6.2" "0.6.1" "0.6.0"
## [17] "0.5.3" "0.5.2" "0.5.1" "0.5.0" "0.4.4" "0.4.3" "0.4.2" "0.4.1"
## [25] "0.4.0" "0.3.2" "0.3.1" "0.3.0" "0.2.3" "0.2.1" "0.2.0" "0.1.2"
## [33] "0.1.1" "0.1.0" "0.0.28" "0.0.27" "0.0.26" "0.0.25" "0.0.24" "0.0.23"
## [41] "0.0.22" "0.0.21" "0.0.20" "0.0.19" "0.0.18" "0.0.17" "0.0.16" "0.0.15"
## [49] "0.0.14" "0.0.13" "0.0.12" "0.0.11" "0.0.10" "0.0.9" "0.0.8" "0.0.7"
## [57] "0.0.6" "0.0.5" "0.0.4"
get_dependency_versions("bulma", latest = TRUE)
## ℹ Trying with https://data.jsdelivr.com/v1/package/npm/bulma
## ✓ Success!
## ────────────────────────────────────────────────────────────────────────────────
## [1] "0.9.3"
Specifying latest = TRUE
ensures to recover the very last stable version
(it excludes alpha/beta versions).
You may explore also the dependency files with get_dependency_assets
, even for
a specific version with tag:
get_dependency_assets("bulma")
## ℹ Trying with https://data.jsdelivr.com/v1/package/npm/bulma
## ✓ Success!
## ────────────────────────────────────────────────────────────────────────────────
## $url
## [1]<EMAIL_ADDRESS>##
## $files
## name hash
## 1 bulma.css QWzsjhiaNlONAp479EIeaY+tQvrt3v1iOYtBMVZ7RJc=
## 2 bulma.css.map 039vv4Mje70ZS33gGww4tRQgCnEKI2C87RydZz8KHig=
## 3 bulma.min.css UDtbUHqpVVfXmdJcQVU/bfDEr9xldf3Dbd0ShD0Uf/Y=
## 4 bulma-rtl.css TUHS7Sxzy8yNpSvZw/kemcmvnax3Js9PHq1cPdo7i7U=
## 5 bulma-rtl.css.map jrQYx00fN25Pxm81v1gPZtcutWE2KvnijIX5nR/V9uc=
## 6 bulma-rtl.min.css LchhQrhf3t9LP/bBuIq1SvOWEIiX8bpgQedoeytbSV0=
##
## $hasSubfolders
## [1] TRUE
This is helpful to further fine tune charpente_options
, as stated previously. It is indeed possible
that you don’t want bundles, minified, lite or rtl versions of scripts. Internally, create_dependency
relies on get_dependency_assets
.
get_installed_dependency
allows to inspect which dependencies are installed. It only works
if the dependencies were created locally, that is charpente_options(local = TRUE)
.
Finally, one may ask how to update a given dependency. update_dependency
does this, provided that
the dependency is installed locally. By default, it installs the latest version of the targeted dependency.
It gives a diagnosis comparing the current installed version
with the latest available version. The are 3 possible cases: dependencies are up to date
and update_dependency("bulma")
yields:
ℹ Trying with https://data.jsdelivr.com/v1/package/npm/bulma
✓ Success!
──────────────────────────────────────────────────────────────────────────────
Error in update_dependency("bulma") : Versions are identical
The installed dependencies are outdated (we have 0.7.0 with create_dependency("bulma", tag = "0.7.0", options = charpente_options(local = TRUE))
), the function shows the targeted version as well as
the last one:
ℹ Trying with https://data.jsdelivr.com/v1/package/npm/bulma
✓ Success!
──────────────────────────────────────────────────────────────────────────────
ℹ current version: 0.7.0 ||
target version: 0.9.3 ||
latest version: 0.9.3
! Upgrading bulma to 0.9.3
✓ Directory inst/bulma-0.9.3/css successfully created
! Remove existing file R/bulma-dependencies.R
The last use case is a downgrade, which may be possible if the package maintainer realizes
that the dependency version is too unstable. In the following, we have bulma-0.9.3
installed
and downgrade to 0.7.0 with update_dependency("bulma", version_target = "0.7.0")
:
ℹ Trying with https://data.jsdelivr.com/v1/package/npm/bulma
✓ Success!
──────────────────────────────────────────────────────────────────────────────
ℹ current version: 0.9.3 ||
target version: 0.7.0 ||
latest version: 0.9.3
! Downgrading bulma to 0.7.0
✓ Directory inst/bulma-0.7.0/css successfully created
! Remove existing file R/bulma-dependencies.R
22.4 Other tips
22.4.1 Validate JavaScript
We could not finish this chapter without mentioning tools to validate JavaScript code. JSHint, which comes with {jstools}. Below is an example of how to check all the shinyMobile JavaScript input bindings at once:
shinyMobileJS <- system.file(
sprintf(
"shinyMobile-%s/js/shinyMobile.js",
packageVersion("shinyMobile")
),
package = "shinyMobile"
)
# jstools print messages to the console
# We don't want to see them all in the book ...
invisible(capture.output(
temp <- jshint_file(
input = shinyMobileJS,
options = jshint_options(
jquery = TRUE,
globals = list("Shiny", "app")
)
)
))
head(tibble::as_tibble(temp$errors[, c("line", "reason")]))
##
[38;5;246m# A tibble: 6 x 2
[39m
## line reason
##
[3m
[38;5;246m<int>
[39m
[23m
[3m
[38;5;246m<chr>
[39m
[23m
##
[38;5;250m1
[39m 33 'template literal syntax' is only available in ES6 (use 'esversion: 6').
##
[38;5;250m2
[39m 37 'template literal syntax' is only available in ES6 (use 'esversion: 6').
##
[38;5;250m3
[39m 41 'template literal syntax' is only available in ES6 (use 'esversion: 6').
##
[38;5;250m4
[39m 42 'template literal syntax' is only available in ES6 (use 'esversion: 6').
##
[38;5;250m5
[39m 52 'arrow function syntax (=>)' is only available in ES6 (use 'esversion: …
##
[38;5;250m6
[39m 64 'arrow function syntax (=>)' is only available in ES6 (use 'esversion: …
You may fine tune the jshint_file
behavior with the jshint_options
. One is often tempted to call eval
in JS code, which will result in a JSHint error. An option called evil
exists to disable the corresponding test. However, we recommend to play the game, accept those error and try to fix them instead of cheating with options! An important remark about validation is that it does not check whether your code
does what it should do. It just focus on checking whether the code could probably execute! To test
the JavaScript logic, please refer to Chapter <IP_ADDRESS>.
Be extremely careful: if we consider the example mentioned in section 10.6.2, the
following code is valid JavaScript:
const sendNotif = (message, type, duration) => {
Shiny.notification.show({
html: `<strong>${message}</strong>`,
type: type,
duration: duration
});
};
sendNotif('Hello')
and will pass the validation step without any error:
jshint(
"const sendNotif = (message, type, duration) => {
Shiny.notification.show({
html: `<strong>${message}</strong>`,
type: type,
duration: duration
});
};
sendNotif('Hello');
",
options = jshint_options(
esversion = 6,
jquery = TRUE,
globals = list("Shiny", "app")
)
)$errors
## NULL
Yet the code won’t work since Shiny.notification
does not exist.
22.4.2 Beautify JS code
If you work with the RStudio IDE, your JS code maybe sometimes messy with bad indentation.
jstools also provides a function and addin to fix the problem. prettier_js(code)
and
prettier_file(input = "path/to/file.js", output = "path/to/reformated.js")
does this.
I often use the Prettier
addin which is way faster than typing the function call (Figure 22.4).
22.4.3 Test JS code
charpente provides a starting point to test the JS code with test_js()
, by leveraging the mocha library. All tests are assumed to be contained within the srcjs/test
folder. Inside, we find test_basic.js
, which was created upon package initialization, as a boilerplate:
This test starts with a describe
function, similar to the testthat context()
function, where you provide the general idea behind the test. it
is equivalent to test_that()
, where we describe what specific feature is being tested. Inside, we write a series of instructions, some of them failing, others passing. Naturally, mocha
works better with other assertions libraries like expect.js or should.js, whose details are out of the scope of this book.


Search
| Activity Name | Schedule | Organization Name | Location Name | Department Name | Enquiry Contact | Favourite |
| Group Member | Wordload |
|---|---|
| Ng Ka Sing<PHONE_NUMBER> |
|
| Yip Tsz Hong<PHONE_NUMBER> |
|
| LEUNG Tsz Hin<PHONE_NUMBER> |
|
Flush data: get the JSON file from the website. First, we get the total number of data in the request. Since the number of maximum loaded record is restricted to 100 (dafault 10), so we split up the process by (total number of data / 100) to get all data.
Search: retrieve the data from mongodb with search keyword. If the serach field is empty, all data will be retrived. Otherwise, we will use regex to find all matched keywords in the database.
Password: we use SHA-256 library to hash the password string, so that this hashed string will be stored in mongodb. In additoin, everytime the user enter the password, we convert it to hash string to authorize.
This is a longer card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.
| Activity Name | Schedule | Organization Name | Location Name | Department Name | Enquiry Contact | Favourite |
Loading...


GHOST IN THE SHELL A film review by Dan Gold Copyright 1996 Dan Gold
** 1/2 out of ****
GHOST IN THE SHELL (1995) is a manga based movie of a futuristic worldin which the electronic net and cities are as one and cybernetically enhanced people are the norm. The story revolves around Major Motoko Kusanagi, a woman cyborg agent of the Internal Bureau whose mission is to track down the mysterious hacker known as "The Puppet Master." She and her colleagues learn that the Puppet Master is in fact a creation of the Ministry of Foreign Affairs. Furthermore, the MFA's Project 2501 (aka The Puppet Master) claims to be self aware and its objective becomes to find a host body in order to have physical existence. The Internal Bureu agents question their own existence and Motoko is forced to decide between forfilling her mission or aiding Project 2501 in accomplishing its own goal.
More important to an anime feature than its story is its animation. The innovative use of computer rendered graphics is integrated well into the hand-drawn animated action of the story. Blending traditional anime style people in an environment (that sometimes resembles photorealism) as vast as the world it portrays. Thus, the animation of GHOST IN THE SHELL serves the purpose in immersing the audience into a completely different environment. The one aspect in which the animation fell short was the coloring; the shades of GHOST IN THE SHELL are just too gloomy. This does not serve to enhance the story or the setting. Some more brightness would have made this feature a more pleasant experience.
The wonderful exaggerated dramatization of portions of the action (such as the opening in which we see the formation of our heroine's artificial body) serve as the most delightful scenes. Since animation of GHOST IN THE SHELL is of very high caliber, the rating would have been higher had it not taken its plot so seriously. The fact is that nothing is new about the technological, socialogical, or philosophical ideas that GHOST IN THE SHELL calls upon to give itself drama. The feature manages to use them without making them appear as tired as they might be in other science fiction stories, but it does not give the profound impact it would pretend to deserve.
Like a lot of anime, the story is grand in scope and so it is written in a manner that gives it false complexity. What results is often nonsensical. The problem is perhaps worsened in the English version by some translation problems. This disregard for conventional methods of storytelling is nothing new to anime, but in GHOST IN THE SHELL. There are unnecessary scenes making the feature drag at times and overall the feature is too long. The ending of GHOST IN THE SHELL is pretty silly.
In conclusion, GHOST IN THE SHELL has plenty of ups and downs to it. Overall GHOST is an enjoyable experience and for anime fans, it is a must see.
Additional Information http://www.polygram.com/manga/ghost/ghost.html http://www.msstate.edu/M/title-exact?+=Ghost+in+the+shell
This review and many more on Sci-Fi films and the WWW Science Fiction Film Page http://weber.u.washington.edu/~ataraxus/sfmenu.html
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Iran planning attacks on Israel: Netanyahu
by ATEF SAFADIJERUSALEM — Israeli Prime Minister Benjamin Netanyahu on Sunday accused Iran of planning attacks against the Jewish state and said everything possible would be done to prevent them.
The premier, who was indicted on corruption charges on Thursday and is seen to be battling for his political life, made his remarks on a visit to an army base near the border with conflict-ravaged Syria.
"Iran's aggression in our region, and against us, continues," Netanyahu said.
He was speaking on the day U.S. General Mark Milley, chairman of the Joint Chiefs of Staff, was in the country to meet his Israeli counterpart Aviv Kohavi.
The two generals discussed "operational questions and regional developments", an army statement said.
Speaking on the Israeli-annexed Golan Heights, Netanyahu said "we are taking all necessary actions to prevent Iran from entrenching here in our region."
"This includes the activity necessary to thwart the transfer of lethal weaponry from Iran to Syria, whether by air or overland.
"We will also take action to thwart Iran's effort to turn Iraq and Yemen into bases for launching rockets and missiles" at Israel, he added.
On Wednesday, in a rare confirmation of such operations, Israel said its warplanes carried out a "very intense" attack against Iranian forces and Syrian army targets in Syria.
Britain-based monitoring group the Syrian Observatory for Human Rights said 23 people were killed in the strikes -- 21 fighters and two civilians.
The previous day, Israel's "Iron Dome" missile defense system had intercepted four rockets fired from Syria, with the army blaming an "Iranian force".
Attorney General Avichai Mandelblit announced Thursday he had charged Netanyahu with bribery, fraud and breach of trust, prompting speculation that the end of the premier's decade-long tenure was nigh.
© 2019 AFP


PyAlgoViz Privacy Policy
Personal info
When you login to PyAlgoViz, we only receive your email address, which will be
the only personal information we obtain and store about you.
How we collect info
When you run code snippets, save them, and share them, your activity is labeled
and recorded using your email address as the unique identifier.
How we use your info
We only use your email address to identify what algorithms you run,
and remember what code snippets you save and share with others.
When we share your info
We do not share any details of your activity with any third party other than
by listing your published contributions on our main site.
How we store your info
Where your info lives
Your email address lives in our database as an attribute of the code
that you save and/or share with others.
How long we keep your info
The email address associated with your code is stored as long as your code is
published. To delete all your code, edit your files and delete them, in order to
erase all public references to your account at this site.
About
Chris Laffra


Home
Dashboard
Logout
The Victor's Tech Blog
{{#if logged_in}}
profile
|
logout
{{else}}
login
{{/if}}


{# Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. #} {% from 'appbuilder/loading_dots.html' import loading_dots %} {% macro dataset_next_run_modal(id=None, classes=None) %}
{% endmacro %}


Constructors
constructor
Defined in node_modules/angular2/ts/src/http/static_response.ts:75
Parameters
Properties
Private _body
_body: string | Object
Defined in node_modules/angular2/ts/src/http/static_response.ts:75
bytesLoaded
bytesLoaded: number
Defined in node_modules/angular2/ts/src/http/static_response.ts:62
headers
Defined in node_modules/angular2/ts/src/http/static_response.ts:73
ok
ok: boolean
Defined in node_modules/angular2/ts/src/http/static_response.ts:36
status
status: number
Defined in node_modules/angular2/ts/src/http/static_response.ts:48
statusText
statusText: string
Defined in node_modules/angular2/ts/src/http/static_response.ts:55
totalBytes
totalBytes: number
Defined in node_modules/angular2/ts/src/http/static_response.ts:68
type
Defined in node_modules/angular2/ts/src/http/static_response.ts:32
url
url: string
Defined in node_modules/angular2/ts/src/http/static_response.ts:42
Methods
arrayBuffer
Defined in node_modules/angular2/ts/src/http/static_response.ts:113
Returns any
blob
Defined in node_modules/angular2/ts/src/http/static_response.ts:89
Returns any
json
Defined in node_modules/angular2/ts/src/http/static_response.ts:94
Returns any
text
Defined in node_modules/angular2/ts/src/http/static_response.ts:107
Returns string
Legend
Module
Object literal
Variable
Function
Function with type parameter
Index signature
Type alias
Enumeration
Enumeration member
Property
Method
Interface
Interface with type parameter
Constructor
Property
Method
Index signature
Class
Class with type parameter
Constructor
Property
Method
Accessor
Index signature
Inherited constructor
Inherited property
Inherited method
Inherited accessor
Protected property
Protected method
Protected accessor
Private property
Private method
Private accessor
Static property
Static method
Creates
Response
instances from provided values.Though this object isn't usually instantiated by end-users, it is the primary object interacted with when it comes time to add data to a view.
Example
http.request('my-friends.txt').subscribe(response => this.friends = response.text());
The Response's interface is inspired by the Response constructor defined in the Fetch Spec, but is considered a static value whose body can be accessed many times. There are other differences in the implementation, but this is the most significant.


View local content from zip file
You can drag & drop a
.zip
or
.pano
file on this page or
browse to select it
.


Appends to the contents of the file with aSeq. Returns self.
Opens the receiver in read only mode, reads the whole
contents of the file into a buffer object, closes the file and returns the buffer.
Returns a Number containing the byte at the specified
byte index or Nil if the index is out of bounds.
Writes the byte value of byteNumber to the file position
positionNumber. Returns self.
Returns File's name without an extension (returned Sequence consists of all characters up to final period ["."] character).
Closes the receiver if open, otherwise does nothing. Returns self.
When the file was opened via popen, sets either exitStatus or
termSignal to the exit status on normal exit, or the signal causing
abnormal termination.
containingDirectory
Deprecated. See parentDirectory.
contents
Returns contents of the file as a mutable Sequence of bytes.
copyToPath(destinationPath)
Copies the file to the specified path.
copyToPathWithoutYielding(destinationPath)
Copies the file to the specified path without yielding.
create
Creates an empty file at the file's path. Returns self on success, nil on failure.
descriptor
Returns the file's descriptor as a number.
exists(optionalPath)
Returns true if the file path exists, and false otherwise.
If optionalPath string is provided, it tests the existance of that path instead.
exitStatus
System's close status (after file close).
flush
Forces any buffered data to be written to disk. Returns self.
foreach(optionalIndex, value, message)
For each byte, set index to the index of the byte
and value to the number containing the byte value and execute aMessage.
Example usage:
aFile foreach(i, v, writeln("byte at ", i, " is ", v))
aFile foreach(v, writeln("byte ", v))
foreachLine(optionalLineNumber, line, message)
For each line, set index to the line number of the line
and line and execute aMessage.
Example usage:
aFile foreachLine(i, v, writeln("Line ", i, ": ", v))
aFile foreach(v, writeln("Line: ", v))
groupId
Returns a Number containing the group id associated with the file's path.
isAtEnd
Returns true if the file is at its end. Otherwise returns false.
isDirectory
Returns true if the receiver's path points to a directory, false otherwise.
isLink
Returns true if the receiver's path points to a link, false otherwise.
isOpen
Returns self if the file is open. Otherwise returns Nil.
isPipe
Returns true if the receiver is a pipe, false otherwise.
isRegularFile
Returns true if the receiver's file descriptor is a regular file, false otherwise.
isSocket
Returns true if the receiver's file descriptor is a Socket, false otherwise.
isUserExecutable
Returns true if the receiver is user group executable, false otherwise.
lastAccessDate
Returns a Date object containing the last date and
time the file was accessed.
lastDataChangeDate
Returns a Date object containing the last date and
time the file's contents were changed.
lastInfoChangeDate
Returns a Date object containing the last date and
time the file's meta info was changed.
mode
Returns the open mode of the file(either read, update or append).
moveTo(pathString)
Moves the file specified by the receiver's path to the
new path pathString. Raises a File doesNotExist exception if the
file does not exist or a File nameConflict exception if the file
nameString already exists.
name
Returns the last path component of the file path.
open(optionalPathString)
Opens the file. Creates one if it does not exist.
If the optionalPathString argument is provided, the path is set to it before
opening. Returns self or raises an File exception on error.
openForAppending(optionalPathString)
Sets the file mode to append (writing to the end of the file)
and calls open(optionalPathString).
openForReading(optionalPathString)
Sets the file mode to read (reading only) and calls open(optionalPathString).
openForUpdating(optionalPathString)
Sets the file mode to update (reading and writing) and calls
open(optionalPathString). This will not delete the file if it already exists.
Use the remove method first if you need to delete an existing file before opening a new one.
parentDirectory
Returns a File for the directory that is the parent directory of this object's path.
path
Returns the file path of the receiver.
popen
Open the file as a pipe. Return self.
Closing a popen'ed file sets exitStatus or termSignal
to reflect the status or cause of the child processes' termination.
position
Returns the current file pointer byte position as a Number.
positionAtEnd
Sets the file position pointer to the end of the file.
protectionMode
Returns a Number containing the protection mode
associated with the file's path.
readBufferOfLength(aNumber)
Reads a Buffer of the specified length and returns it.
Returns Nil if the end of the file has been reached.
readLine
Reads the next line of the file and returns it as a
string without the return character. Returns Nil if the
end of the file has been reached.
readLines
Returns list containing all lines in the file.
readStringOfLength(aNumber)
Reads a String of the specified length and returns it.
Returns Nil if the end of the file has been reached.
readToBufferLength(aBuffer, aNumber)
Reads at most aNumber number of items and appends them to aBuffer.
Returns number of items read.
readToEnd(chunkSize)
Reads chunkSize bytes (4096 by default) at a time until end of file is reached. Returns a sequence containing the bytes read from the file.
remove
Removes the file specified by the receiver's path.
Raises an error if the file exists but is not removed. Returns self.
reopen(otherFile, mode)
Reopens otherFile and redirects its stream to this file's path using mode.
If mode is omitted, it is copied from otherFile.
Returns self or raises a File exception on error.
rewind
Sets the file position pointer to the beginning of the file.
setContents(aSeq)
Replaces the contents for the file with aSeq. Returns self.
setPath(aString)
Sets the file path of the receiver to pathString.
The default path is an empty string. Returns self.
setPosition(aNumber)
Sets the file position pointer to the byte specified by aNumber. Returns self.
setStreamDestination(aBuffer)
Set the buffer to be used for future stream operations.
size
Returns the file size in bytes.
standardError
Returns a new File whose stream is set to the standard error stream.
standardInput
Returns a new File whose stream is set to the standard input stream.
standardOutput
Returns a new File whose stream is set to the standard output stream.
startStreaming
Begin streamed read to stream destination set by setStreamDestination(aBuffer).
stat
Updates the receiver's meta info cache.
statSize
Returns the file's size in bytes as a Number.
streamDestination
The buffer object to be used for future stream operations.
streamReadSize
Size of stream buffer used for streaming operations
streamTo(aBuffer)
Perform streamed reading to given buffer. The buffer will be appended with chunks of size streamReadSize until EOF. The final chunk may be less than streamReadSize.
streamToWithoutYielding(aBuffer)
Perform streamed reading to given buffer without yielding between reads.
temporaryFile
Returns a new File object with an open temporary file. The file is
automatically deleted when the returned File object is closed or garbage collected.
termSignal
Pipe's terminating signal (after file close opened via popen).
thisSourceFile
Returns a File representing the system file in which this Io code exists.
truncateToSize(numberOfBytes)
Truncates the file's size to the numberOfBytes. Returns self.
userId
Returns a Number containing the user id associated with the file's path.
with(aPath)
Returns a new instance with the provided path.
write(aSequence1, aSequence2, ...)
Writes the arguments to the receiver file. Returns self.


Before Change
results = [[] for out in outputs]
for feed_dict in generator:
feed_dict = {
self.layers[k.name].out_tensor: v
for k, v in six.iteritems(feed_dict)
}
feed_dict[self._training_placeholder] = 0.0
After Change
// Gather results for each output
results = [[] for out in outputs]
n_samples = 0
n_enqueued = [0]
final_sample = [None]
if self.queue_installed:
enqueue_thread = threading.Thread(
target=_enqueue_batch,
args=(self, generator, self._get_tf("Graph"), self.session,
n_enqueued, final_sample))
enqueue_thread.start()
for feed_dict in self._create_feed_dicts(generator, False):
if self.queue_installed:
// Don"t let this thread get ahead of the enqueue thread, since if
// we try to read more batches than the total number that get queued,


15 Healthy Meal-Prep Recipes That Will Help You Fight Lunchtime Cravings All Week Long
by Tarah ChieffiSome days it seems like temptation is everywhere . . . especially when lunchtime rolls around. Saying no to takeout or a drive-through is much easier when you've devoted some time to meal prep and have a healthy meal waiting for you in the fridge, so we've pulled together 15 healthy recipes that are just as craveable as whatever your coworkers try to tempt you with on any given day.
While these meals run the gamut from soups and salads to lettuce wraps, lentil bakes, and burrito bowls, they all have a few things in common. They use fresh, natural ingredients, they're made with lean or plant-based proteins, and they're all easy to portion out and pack up for lunch. It'll be tough to choose a favorite, but read on to give it your best shot.
1 Avocado Chicken Salad
While this recipe only makes enough for one serving, you can easily add a few portions to kick-start your week. Just store the chicken salad separate from the other sandwich ingredients until ready to serve.
Get the recipe: avocado chicken salad
2 Cucumber, Corn, Black Bean, Tomato, and Avocado Salad
What's not to love about this fresh and flavorful salad? There are beans for protein, avocado for healthy fats, and corn, peppers, and cucumbers for that all-important crunch.
Get the recipe: cucumber, corn, black bean, tomato, and avocado salad
3 Red Pepper and Lentil Bake
This combo of red peppers and lentils bakes in one dish and is a good alternative to salad when you want something warm for lunch. It's the perfect meal-prep dish for vegetarians.
Get the recipe: red pepper and lentil bake
4 Roasted Sweet Potato and Quinoa Salad
Mason jar salads were made for meal prep. This one is made with quinoa, roasted sweet potatoes, and a mango balsamic vinaigrette that'll leave you feeling satisfied until dinner.
Get the recipe: roasted sweet potato and quinoa salad
5 Dandan Noodles Cups
Instant noodles can't compete with this healthier version, made with zucchini noodles and a flavorful tahini-based sauce. The recipe includes instructions for prepping and storing enough food for four meals.
Get the recipe: dandan noodles cups
6 Black Bean Burrito Bowl Salad
To keep this (or any) salad crisp and fresh, store it in a mason jar with the dressing and other wet ingredients, like tomatoes, at the bottom and the lighter ingredients, like lettuce, on top.
Get the recipe: black bean burrito bowl salad
7 Red Pepper and Tomato Meatball Soup
Soups work well for meal prep because most recipes make at least six servings, and leftovers can easily be refrigerated or frozen for later. We especially love the turkey meatballs and parmesan cheese in this hearty soup.
Get the recipe: red pepper and tomato meatball soup
8 Mexican Cobb Salad
Some salads just don't have enough staying power to get you through to dinner, but this is not one of them. To keep the ingredients fresh, try storing them in a compartmentalized container, where you can keep the veggies, lettuce, and protein separate, then add the avocado just before serving.
Get the recipe: Mexican Cobb salad
9 Italian Stuffed Peppers
Many dishes don't work well for lunch because they aren't easy to pack, but these Italian stuffed peppers are healthy, portable, and delicious. You can make as many as you need and reheat them in the microwave when hunger calls.
Get the recipe: Italian stuffed peppers
10 Harissa Roasted Sweet Potato Power Salad
We cannot get over the bright, fresh colors and flavors in this sweet potato, kale, and avocado salad. Kale is heartier than other greens, so things won't get soggy even if you prep the whole thing ahead of time.
Get the recipe: harissa roasted sweet potato power salad
11 Vegan Burrito Bowls
It's hard to believe, but the "meat" used in these burrito bowls is actually made with walnuts and cauliflower. Along with roasted veggies and rice, you've got yourself one tasty lunch.
Get the recipe: vegan burrito bowls
12 Mexican Avocado Egg Salad
We guarantee this will not be like any other egg salad you've eaten before. It's spicy, nutritious, and gets all wrapped up in lightly steamed collard green leaves.
Get the recipe: Mexican avocado egg salad
13 Moroccan Carrot Soup With Chickpeas
This soup is thick, creamy, and loaded with warm Moroccan spices. The recipe makes six servings, but it's pretty low in calories, so we suggest topping with yogurt or crunchy chickpeas (or both).
Get the recipe: Moroccan carrot soup with chickpeas
14 Veggie Burger Taco Salad
If you're looking for a creative way to use frozen veggie burgers, look no further than this taco salad. Store prepped ingredients separately until ready to serve or layer in mason jars, pouring in the chipotle tahini dressing first.
Get the recipe: veggie burger taco salad
15 Beef Chili
This veggie-filled chili is made with ground beef, but you could just as easily swap in turkey or chicken, and with five servings, you'll have lunches all week.
Get the recipe: beef chili


All Workflows
Bioinformatic Workflow Dashboard.
| ID | System | Node | Status | Progress | Total Jobs | Completed Jobs | Running Jobs | Failed Jobs | Start Date | End Date | Username | ||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{workflow.id}} | {{workflow.system}} | {{workflow.node}} | {% if workflow.status == "Completed" %}{{ workflow.status }} | {% elif workflow.status == "Running" %}{{ workflow.status }} | {% elif workflow.status == "Failed" %}{{ workflow.status }} | {% else %}{{ workflow.status }} | {% endif %}
{{workflow.progress}}%
|
{{workflow.total_jobs}} | {{workflow.completed_jobs}} | {{workflow.running_jobs}} | {{workflow.failed_jobs}} | {{workflow.start_date}} | {% if workflow.end_date == None %}- | {% else %}{{workflow.end_date}} | {% endif %}{{workflow.user.username}} |


Badger
Badger
Badger
Badger
Badger
Badger
Badger
Badger
Badger
Badger
Badger
Badger
Badger
Badger
Badger
Badger
Animate


Randon Quotes for FreeCodeCamp
Some of my favorite quotes!
Quote:
Author:
Get New Quote
Tweet New Quote


DishWish
Home
About
What is DishWish?
Help
Getting orders
Set up menu
How does it benefit my clients?
Sign Up
Current location?
Search
Foodtrucks around you
Kung Fuud
Thai, $ 5-15
Range: $ 5-15
Goal: $2000
Ron's Truck
Luis's Truck
Alex's Truck
Vin's Truck
Luis's Truck
Hi


About
A Mechanical Engineer seeking to obtain a challenging position, where the commitment of excellence equals or exceeds my job role and find opportunities to utilise my creative and technical knowledge and competencies with a positive attitude. Holds excellent communication, planning, and problem solving, decision-making and time management skills. Expecting challenging and efficient work environment to implement my knowledge and hard work to attain the expected goals and targets of the organization.
Competencies
Experiences
Math teacher Jusoor Syrians Forward Together(NGO).
Teach math curriculum, Do activities and entertainments, Show them the benefits to be educated, Help them to get rid of their problems
Sales engineer Elite construction company
Market for Giacomini products (Italian brand), it is included floor heating equipment’s, Present products for consulting company and make deal with them.
Education
Web Stack Training Codi
A Mechanical Engineer seeking to obtain a challenging position, where the commitment of excellence equals or exceeds my job role and find opportunities to utilise my creative and technical knowledge and competencies with a positive attitude. Holds excellent communication, planning, and problem solving, decision-making and time management skills. Expecting challenging and efficient work environment to implement my knowledge and hard work to attain the expected goals and targets of the organization.
Mechanical Engineer Damascus Univercity
A Mechanical Engineer seeking to obtain a challenging position, where the commitment of excellence equals or exceeds my job role and find opportunities to utilise my creative and technical knowledge and competencies with a positive attitude. Holds excellent communication, planning, and problem solving, decision-making and time management skills. Expecting challenging and efficient work environment to implement my knowledge and hard work to attain the expected goals and targets of the organization.
Hobbies
- Basketball
- Football
- Reading
Contact
-<EMAIL_ADDRESS>- Skype
- BaselBarghouth
- Phone/Whatsapp
- +96176703011
- Github
- BaselBarghouth
- Basel Barghouth
- Basel Barghouth


Soldier Orbyu:
I heard that you successfully completed the mission. Well done!
(You have already completed this quest.)


I took risperidone for, I'm not sure, a few months. It was prescribed, mostly, for hallucinations during manic episodes of bipolar disorder, when I would hear, see and feel things that did not exist. The one thing I can say for sure was that there was a very real sense of duality. I don't remember actions, or objects, so this experience may lack some of the groundedness and retrospect of others, but the emotions are almost as clear now as they were then. Looking back, this lack of memory was probably also an effect of the drug, as I remember blacking out quite frequently.
The first thing that struck me, hours after taking the first pill (they did take a long time to kick in), was how numb I was. Honestly, everything was truly, completely meaningless. I could not find happiness - nor sadness - in anything. I was aware of myself, but not as myself, if you know what I mean. Dead weight seemed to hold my body - and my thoughts - down. I was aware of everything, but my senses were dulled.
Then, everything was slow. First, it was just me, but soon, time - existance, even - seemed to truly stretch. The road was wider. The walls were further away. Movement took longer.
The one experience I can say I remember, for sure, occurred a few days into the medication. I knew it was cold. I took an incredibly long time to make the decision to turn the heating up, concentrating heavily the whole time, and I put it on full. I held the radiator, kind of leaning on it. It burnt me, not particularly severely, but burnt me nonetheless. I knew it was burning me, but I couldn't physically feel it. It didn't register. My mother came to turn the heating down, and saw me holding the radiator. She took my hands away from it, incredibly slowly (though that is probably just how I remember it), and I fell to the floor. Again, I knew I'd hit my head, but it just didn't register.
It's worth noting that I felt incredibly knowledgeable at this point, but incredibly detatched - as if I was some kind of higher being. I still don't know how to explain it. I was conscious of everything, but I couldn't really respond to it. Everything else about me felt completely dead. I was aware of its existance (it being 'everything else about me', such as emotions, physical senses, the importance of anything) but it was so insignificant to suggest that it could've not existed and I would not have noticed.
There was fear, too - the second half of the duality. I'd sit there and think 'this is not right'; nothing was. I felt I needed to escape, but I could not. That, there, whatever it was, should not have been. It didn't belong. I did not belong. I was scared, more than I ever had been, but at the same time, I did not care. I had to get away, but as much as I tried, I couldn't make it matter. Unless you have experienced it yourself, and I truly hope you do not, I don't feel anything can describe the potency of these emotions, and the clear, tearing duality that existed in everything. Being scared completely positively witless, and not caring about it, is more scary than the actual fear itself.
Physically, I was tight. My muscles felt thick, almost, like they were physically bigger and heavier. My mouth felt dry, but I salivated excessively. Often on myself, because I couldn't really control my lips. I thought about this drooling, long and hard, but I could not seem to come to any kind of comprehension. I knew I was drooling, but I didn't understand it.
After a while of this, I decided I'd had enough. Making a decision like this in this state was impossible, but getting hit by a car kind of made my decision for me. For the record, I don't at all remember getting hit, or anything leading up to it, other than how cloudy the sky was. At this point, I had absolutely no trust in the psychiatrists. I positively - point blank - refused to go back. If the drugs they gave me had this effect, I would never trust them again. Sure, they stopped the hallucinations, the paranoia, and the mood swings, but I felt the expense was far too large.
I wouldn't go against the advice of a professional, but if you are prescribed this drug, be very very careful with it, and if you're considering taking it as a recreational drug, just don't.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


This documentation is for version {{ version }}, which is not released yet.
You can check it out from github or look for released versions in the Python Package Index.
{% else %}Current version: {{ version }}
Get pyvisdk from the Python Package Index, or install it with: easy_install pyvisdk
{% endif %}Have a look at the Wiki.
You can also open an issue at the tracker.


RESERVATIONS
4 Burger4 Regular Fries4 Regular Coca Cola4 Cornetto Price 15$Only 12$
2 Zinger Burger1 Club Sandwich1 Chicken Burger1 Qtr Broast1 Regular Fries1.5 Litre PepsiPrice 20$Only 15$


Made it though January!! 😅
Now, only a couple more weeks then we're out of
lockdown here in the UK.
Thanks to everyone that has signed up over the
last seven days, if there's something you don't
like or want to see more of hit reply and let me
know, I'm listening.
More fonts!
There's some more coding fonts related links
this week, everyone likes to have something nice
to look at when coding. 😊
New subscribers tripled 🤯
Subscriber count has tripled over the last three
days, thank you again for subscribing.
Mishap! 🙃
Last week I thought I sent out a holding
template, I didn't 😅 I then sent out the same
email with a different subject, apologies for
that, I'm still learning. 🙏


Saxon-JS 2.1 xmlEdit v1.1
Update Changes
No file selected yet. Select a xml file on your computer. Edit text values and download.


Maltese dog
From: Wikipedia: Maltese dog
The Maltese had been recognized as an FCI breed under the patronage of Italy in 1954, at the annual meeting in Interlaken, Switzerland. The current FCI standard is dated November 27, 1989, and the latest translation from Italian to English is dated April 6, 1998.[citation needed] The American Kennel Club recognized the breed in 1888,[6] its latest standard being from March 10, 1964. Parti-colour and solid colour dogs were accepted in the show ring from 1902 until 1913 in England,[7] and as late as 1950 in Victoria, Australia.[8] However, white Maltese were required to be pure white. Coloured Maltese could be obtained from the south of France.[8] Little is known about the origin and spread of the Maltese dog. It probably did not originate from the island of Malta, the town of Melita in Italy, nor the island of Melita in the Adriatic, but from spitz-type dogs in south-central Europe, where it may at first have resembled the modern Pomeranian.[3]
Cockatiel
From: Wikipedia: Cockatiel
The cockatiel's distinctive erectile crest expresses the animal's emotional state. The crest is dramatically vertical when the cockatiel is startled or excited, gently oblique in its neutral or relaxed state, and flattened close to the head when the animal is angry or defensive. The crest is also held flat but protrudes outward in the back when the cockatiel is trying to appear alluring or flirtatious. When the cockatiel is tired, the crest is seen positioned halfway upwards, with the tip of the crest usually curling upward.[8] In contrast to most cockatoos, the cockatiel has long tail feathers roughly making up half of its total length. At 30 to 33 cm (12 to 13 in), the cockatiel is the smallest of the cockatoos which are generally larger at between 30 and 60 cm (12 and 24 in). Wild cockatiels, Australia The "normal grey" or "wild-type" cockatiel's plumage is primarily grey with prominent white flashes on the outer edges of each wing. The face of the male is yellow or white, while the face of the female is primarily grey or light grey, and both sexes feature a round orange area on both ears, often referred to as "cheddar cheeks". This orange colouration is generally vibrant in adult males, and often quite muted in females. Visual sexing is often possible with this variant of the bird. Cockatiels are relatively vocal birds, the calls of the male being more varied than that of the female. Cockatiels can be taught to sing specific melodies and speak many words and phrases. They have also learned to imitate certain human or environmental sounds without being taught how to do so.
Turtle
From: Wikipedia: Turtle
Turtles are reptiles of the order Testudines characterized by a special bony or cartilaginous shell developed from their ribs and acting as a shield.[3] "Turtle" may refer to the order as a whole (American English) or to fresh-water and sea-dwelling testudines (British English).[4] The order Testudines includes both extant (living) and extinct species. The earliest known members of this group date from the Middle Jurassic,[1] making turtles one of the oldest reptile groups and a more ancient group than snakes or crocodilians. Of the 356 known species[2] alive today, some are highly endangered.[2] Turtles are ectotherms—animals commonly called cold-blooded—meaning that their internal temperature varies according to the ambient environment. However, because of their high metabolic rate, leatherback sea turtles have a body temperature that is noticeably higher than that of the surrounding water. Turtles are classified as amniotes, along with other reptiles, birds, and mammals. Like other amniotes, turtles breathe air and do not lay eggs underwater, although many species live in or around water. A group of turtles is known as a bale.[5]


Redis 6.2 GEOSEARCH Example (click map to start)
Please click on the map to set lat/long then choose radius or box and enter a radius or box height and width!
Radius
Box
Search


Should correctly detect the category of each file
Returns the movies
Returns the tv-shows
Constant MOVIES_TYPE
Constant TV_SERIES
List of videos extension
missing parameter
Not an existent path
existent paths
create a perfect copy of instance
empty instance(s)
Should work without parameters
default boolean parameters search
default number parameters search
default string parameters search
Should not be able to remove not present files
Should be able to remove a movie
Should be able to remove an tv-serie episode
Should be able to remove multiples files : Tv-serie
Should not be able to remove files : wrong custom parser
Scan without user provided paths
Scan with user provided paths
Scan with user provided paths and custom parser
Scan with user provided paths and wrong custom parser
return a valid stringified JSON


{% extends "base.html" %} {% block title %}{{ title }}{% endblock %} {% block middle %} There are no projects to localize yet. {% if perms.base.can_manage_project %} Set up your first project {% endif %} {% endblock %}
There are no projects to localize yet.