text:
# preload

Current version: 1.1.2. [See version history](https://github.com/jspsych/jsPsych/blob/main/packages/plugin-preload/CHANGELOG.md).

This plugin loads images, audio, and video files. It is used for loading files into the browser's memory before they are needed in the experiment, in order to improve stimulus and response timing, and avoid disruption to the experiment flow. We recommend using this plugin anytime you are loading media files, and especially when your experiment requires large and/or many media files. See the [Media Preloading page](../overview/media-preloading/) for more information.

The preload trial will end as soon as all files have loaded successfully. The trial will end or stop with an error message when one of these two scenarios occurs (whichever comes first): (a) all files have not finished loading when the `max_load_time` duration is reached, or (b) all file requests have responded with either a load or fail event, and one or more files has failed to load. The `continue_after_error` parameter determines whether the trial will stop with an error message or end (allowing the experiment to continue) when preloading is not successful.

## Parameters

In addition to the [parameters available in all plugins](../overview/plugins.md#parameters-available-in-all-plugins), this plugin accepts the following parameters. While there are no specific parameters that are required, the plugin expects to be given a set of files to load through one or more of the following parameters: `auto_preload` or `trials` (for automatic loading), and/or `images`, `audio`, `video` (for manual loading). To automatically load files based on a timeline of trials, either set the `auto_preload` parameter is `true` (to load files based on the main timeline passed to `jsPsych.run`) or use the `trials` parameter to load files based on a specific subset of trials. To manually load a set of files, use the `images`, `audio`, and `video` parameters. You can combine automatic and manual loading methods in a single preload trial.

All other parameters can be left unspecified if the default value is acceptable.

| Parameter             | Type           | Default Value                    | Description                              |
| --------------------- | -------------- | -------------------------------- | ---------------------------------------- |
| auto_preload          | boolean        | false                            | If `true`, the plugin will preload any files that can be automatically preloaded based on the main experiment timeline that is passed to `jsPsych.run`. If `false`, any file(s) to be preloaded should be specified by passing a timeline array to the `trials` parameter and/or an array of file paths to the `images`, `audio`, and/or `video` parameters. Setting this parameter to `false` is useful when you plan to preload your files in smaller batches throughout the experiment. |
| trials                | timeline array | []                               | An array containing one or more jsPsych trial or timeline objects. This parameter is useful when you want to automatically preload stimuli files from a specific subset of the experiment. See [Creating an Experiment: The Timeline](../overview/timeline) for information on constructing timelines. |
| images                | array          | []                               | Array containing file paths for one or more image files to preload. This option is typically used for image files that can't be automatically preloaded from the timeline. |
| audio                 | array          | []                               | Array containing file paths for one or more audio files to preload. This option is typically used for audio files that can't be automatically preloaded from the timeline. |
| video                 | array          | []                               | Array containing file paths for one or more video files to preload. This option is typically used for video files that can't be automatically preloaded from the timeline. |
| message               | HTML string    | null                             | HTML-formatted message to show above the progress bar while the files are loading. If `null`, then no message is shown. |
| show_progress_bar     | boolean        | true                             | If `true`, a progress bar will be shown while the files are loading. If `false`, no progress bar is shown. |
| continue_after_error  | boolean        | false                            | If `false`, then the experiment will stop during this trial if either (a) one or more of the files fails to load, and/or (b) all files do not finish loading before the `max_load_time` duration is reached. The trial will display the `error_message`, as well as the detailed error messages if `show_detailed_errors` is `true`. If `true`, the experiment will continue even if loading fails or times out, and information about loading success/failure will be stored in the trial data (see "Data Generated" below). |
| error_message         | HTML string    | 'The experiment failed to load.' | HTML-formatted message to be shown on the page after loading fails or times out. Only applies when `continue_after_error` is `false`. |
| show_detailed_errors  | boolean        | false                            | If `true`, and if `continue_after_error` is `false`, then a list of detailed errors will be shown below the `error_message`. This list will contain the file paths for any files that produced a loading failure, as well as a message indicating that loading timed out, if that was the case. This setting is intended to help the researcher with testing/debugging. If `false`, and if `continue_after_error` is `false`, then only the `error_message` will be shown if loading fails or times out. |
| max_load_time         | numeric        | null                             | Duration to wait, in milliseconds, for all files to load before loading times out. If one or more files has not finished loading within this time limit, then the trial will stop with an error (if `continue_after_error` is `false`), or the trial will end with information about the loading time-out in the trial data (see "Data Generated" below). If `null`, the trial will wait indefinitely for all files to either load or produce an error. |
| on_error              | function       | null                             | Function to be called immediately after a file loading request has returned an error. The function receives a single argument, which is the file path that produced the error. This callback is cancelled as soon as the trial ends. See example below. |
| on_success            | function       | null                             | Function to be called immediately after a file has successfully loaded. The function receives a single argument, which is the file path that finished loading. This callback is cancelled as soon as the trial ends. See example below. |

## Data Generated

In addition to the [default data collected by all plugins](../overview/plugins.md#data-collected-by-all-plugins), this plugin collects the following data for each trial.

| Name           | Type    | Value                                    |
| -------------- | ------- | ---------------------------------------- |
| success        | boolean | If `true`, then all files loaded successfully within the `max_load_time`. If `false`, then one or more file requests returned a failure and/or the file loading did not complete within the `max_load_time` duration. |
| timeout        | boolean | If `true`, then the files did not finish loading within the `max_load_time` duration. If `false`, then the file loading did not timeout. Note that when the preload trial does not timeout (`timeout: false`), it is still possible for loading to fail (`success: false`). This happens if one or more files fails to load and all file requests trigger either a success or failure event before the `max_load_time` duration. |
| failed_images  | array | One or more image file paths that produced a loading failure before the trial ended. |
| failed_audio   | array | One or more audio file paths that produced a loading failure before the trial ended. |
| failed_video   | array | One or more video file paths that produced a loading failure before the trial ended. |

## Simulation Mode

In `visual` simulation mode, the plugin will run the trial as if the experiment was running normally. Specifying `simulation_options.data` will not work in `visual` mode.

## Install

Using the CDN-hosted JavaScript file:

```js
<script src="https://unpkg.com/<EMAIL_ADDRESS>```

Using the JavaScript file downloaded from a GitHub release dist archive:

```js
<script src="jspsych/plugin-preload.js"></script>
```

Using NPM:

```
npm install @jspsych/plugin-preload
```
```js
import preload from '@jspsych/plugin-preload';
```

## Examples

???+ example "Automatically preloading based on other trials"
    === "Code"

        ```javascript
        var preload = {
            type: jsPsychPreload,
            auto_preload: true
        }

        var trial_1 = {
            type: jsPsychImageButtonResponse,
            stimulus: 'img/happy_face_1.jpg',
            choices: ['Next']
        }

        var trial_2 = {
            type: jsPsychImageButtonResponse,
            stimulus: 'img/happy_face_2.jpg',
            choices: ['Next']
        }

        var trial_3 = {
            type: jsPsychImageButtonResponse,
            stimulus: 'img/happy_face_3.jpg',
            choices: ['Next']
        }
        ```
        The `stimulus` parameter from the `image-button-response` trials will be automatically preloaded.

    === "Demo"

    Open demo in new tab

???+ example "Manually preloading an image"
    === "Code"

        ```javascript
        var preload = {
            type: jsPsychPreload,
            images: ['img/sad_face_1.jpg']
        }

        var trial_1 = {
            type: jsPsychHtmlButtonResponse,
            stimulus: `
                <p>Study this face</p>
                <img src="img/sad_face_1.jpg"></img>
            `,
            choices: ['Next']
        }
        ```
        Because the image is embedded inside HTML from the `html-button-response` plugin, it will not be automatically preloaded. Instead we can preload manually.

    === "Demo"

    Open demo in new tab

???+ example "Loading files in batches"
    === "Code"

        ```javascript
        var jsPsych = initJsPsych();

        var trial_1 = {
            type: jsPsychImageButtonResponse,
            stimulus: 'img/happy_face_1.jpg',
            choices: ['Next']
        }

        var trial_2 = {
            type: jsPsychImageButtonResponse,
            stimulus: 'img/happy_face_2.jpg',
            choices: ['Next']
        }

        var trial_3 = {
            type: jsPsychImageButtonResponse,
            stimulus: 'img/happy_face_3.jpg',
            choices: ['Next']
        }

        var block_1 = {
            timeline: [trial_1, trial_2, trial_3]
        }

        var trial_4 = {
            type: jsPsychImageButtonResponse,
            stimulus: 'img/sad_face_1.jpg',
            choices: ['Next']
        }

        var trial_5 = {
            type: jsPsychImageButtonResponse,
            stimulus: 'img/sad_face_2.jpg',
            choices: ['Next']
        }

        var trial_6 = {
            type: jsPsychImageButtonResponse,
            stimulus: 'img/sad_face_3.jpg',
            choices: ['Next']
        }

        var block_2 = {
            timeline: [trial_4, trial_5, trial_6]
        }

        var preload_block_1 = {
            type: jsPsychPreload,
            trials: [block_1]
        }

        var preload_block_2 = {
            type: jsPsychPreload,
            trials: [block_2]
        }

        jsPsych.run([preload_block_1, block_1, preload_block_2, block_2])
        ```
        You can put trials using the `preload` plugin throughout your experiment to distribute when files are loaded. In the example above, there are two blocks of trials and the images for each are preloaded just before the corresponding block.

    === "Demo"

    Open demo in new tab

???+ example "Showing a detailed error message for debugging loading issues"
    === "Code"

        ```javascript
        var preload = {
            type: jsPsychPreload,
            images: ['img/bad_file_path.png'],
            show_detailed_errors: true
        }
        ```

    === "Demo"

    Open demo in new tab

For more examples, see the `jspsych-preload.html` file in the `/examples` folder of the release and the [Media Preloading](../overview/media-preloading) documentation page.

repository: nadavWeisler/jsPsych

repo_name: nadavWeisler/jsPsych


text:
# inbloom (Python)

- https://github.com/EverythingMe/inbloom/tree/master/py
- https://pypi.python.org/pypi/inbloom/

Package inbloom implements a portable bloom filter that can export and import
data to and from implementations of the same library in different languages.

This implementation is a C extension which wraps libbloom (https://github.com/jvirkki/libbloom)

## Installation

```bash
pip install inbloom
```

## Usage

```python
import inbloom

bf = inbloom.Filter(entries=100, error=0.01)
bf.add("abc")
bf.add("def")

assert bf.contains("abc")
assert bf.contains("def")
assert not bf.contains("ghi")

bf2 = inbloom.Filter(entries=100, error=0.01, data=bf.buffer())
assert bf2.contains("abc")
assert bf2.contains("def")
assert not bf2.contains("ghi")
```

##### Serialization

```python
import inbloom
import binascii

payload = '620d006400000014000000000020001000080000000000002000100008000400'
assert binascii.hexlify(inbloom.dump(inbloom.load(binascii.unhexlify(payload)))) == payload
```

repository: AlexStocks/inbloom

branch_name: refs/heads/master

extension: md

license_type: permissive

repo_name: AlexStocks/inbloom


text:
# Data Representation and Querying project: Eliza ChatBot

Name : Peter Larkin

ID: G00332346

Course: Software Development

Year: Third Year

# How to run Eliza:

1: First clone my repository:

	Enter "git clone https://github.com/Mrlarkin24/Eliza.git" into command prompt

2: Find cloned repository on system and build Chat.go (that is a capital (C)hat.go)

	Enter "go build Chat.go" into command prompt

3: Run Chat.exe by double clicking it

4: Go to your web browser and enter <IP_ADDRESS>:8080 or localhost:8080 to load webpage

# Some examples of what to ask Eliza:

"Hello"

"What is your name?"

"How are you?"

*Please make sure to enter full sentences*

# Some of my References:

(https://data-representation.github.io/)

(https://stackoverflow.com/)

(https://www.w3schools.com/jquery/)

(http://api.jquery.com/jquery.ajax/)

# Screenshot of Program:

![alt text](https://raw.githubusercontent.com/Mrlarkin24/Eliza/master/Screenshot.png)


text:
---
layout: post
title:  "Extending the Patient Model"
date: 2017-02-06 12:00:00 -0500
categories: spring rest
---

Our basic Patient domain object is not very exciting and lacks the typical data
elements that one might expect.  If we do a little research on sites like
[schema.org](https://schema.org/), we can see that there are definitions
already out there for a [Patient](https://health-lifesci.schema.org/Patient).

Let's use some of that information to start filling out the domain.

# Make the Patient model a bit more... interesting

Add the following attributes to the Patient entity (and Add the associated
getter/setters using your IDEs code generator if possible):

```java
    private String givenName;
    private String familyName;
    private LocalDate birthDate;
```

Using curl again submit a Patient add request:

```bash
curl -sS -H "Content-Type: application/json" -X POST localhost:8080/patients -d '{"givenName":"Max","familyName":"Colorado","birthDate":"1942-12-11"}' | jq
```

400 Error?

So the LocalDate type is causes a JsonMappingException.  We need to add a
Jackson module dependency to the project so it knows how to handle JSR 310
Dates (introduced in Java 8).

Add this dependency to the project `pom.xml`:

```xml
<dependency>
    <groupId>com.fasterxml.jackson.datatype</groupId>
    <artifactId>jackson-datatype-jsr310</artifactId>
</dependency>

```

Refresh the dependencies and restart the application (Spring Boot will
automatically register this module with the default Jackson ObjectMapper).

Now if we execute the `curl` again, we see an odd looking date structure:

```json
"birthDate": [
    1942,
    12,
    11
  ]
```

While an accurate date, that isn't exactly the JSON structure what we want.
There is _yet another configuration change_ we need here to tell Jackson to
format the date correctly.

Update the `application.properties` in resources and include the property:

```properties
spring.jackson.serialization.WRITE_DATES_AS_TIMESTAMPS=false
```

This somewhat confusingly named configuration option tells Jackson to output
Dates in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) textual value.
This is probably the configuration that you'll want to use in most
applications.

But wait.

If we look at how the date was actually stored in the database through the H2
console, it looks like a BLOB.  That isn't a good choice since we might want to
be able to query against it later.

// TODO: Discuss why JPA doesn't support LocalDate?

# Fixing the LocalDate Time Database Mapping

Okay, I lied.  I said not to worry about the actual database implementation at
this point, but we are going to take this one detour.

In general, you shouldn't normally need worry too much about the type mappings
until much later in the design process but this specific issue can be resolved
fairly easy during the initial project set up.

As of the time of writing, JPA does not natively support the JSR 310 dates.
Fortunately, Hibernate stepped in and provides an additional library to help
with managing the type conversions.  You can read more about it [here](http://www.thoughts-on-java.org/hibernate-5-date-and-time/).

Thankfully, it is just as simple as adding the following dependency to your
`pom.xml`:

```xml
    <dependency>
      <groupId>org.hibernate</groupId>
      <artifactId>hibernate-java8</artifactId>
      <version>${hibernate.version}</version>
    </dependency>
```

This library will introduce the appropriate type converters that will deal with
the new date types in a more elegant fashion.  When you refresh the
dependencies and restart the application, you will see in the logs that the
table is now being create with a proper DATE type:

```sql
Hibernate:
    create table patient (
        id bigint generated by default as identity,
        birth_date date,
        family_name varchar(255),
        given_name varchar(255),
        primary key (id)
    )
```

The need for this additional library will eventually go away when Spring Boot
upgrades to Hibernate 5.2 (see the [Hibernate Migration Guide 5.2](https://github.com/hibernate/hibernate-orm/wiki/Migration-Guide---5.2)).

repository: ssherwood/spring-boot-jpa

gha_language: Java

repo_name: ssherwood/spring-boot-jpa


text:
# Tajo UDFs

Apache Tajo is a robust big data relational and distributed data warehouse system for Apache Hadoop. This project is a collection of user defined functions for Tajo. See the [User Manual](http://tajo.apache.org/docs/current/getting_started.html) for more details about Tajo.

This project supports following functions:

* GREATEST
* LAST_DAY
* NVL
* NVL2
* REPLACE
* SYSDATE

## Requirements

* Mac OS X or Linux
* Java 1.7 or higher
* Maven 3.2.3+ (for building)

## License
[Apache License Version 2.0](http://www.apache.org/licenses/LICENSE-2.0)

## Building Tajo UDFs

It is a standard Maven project. Simply run the following command from the project root directory:

    mvn clean install

On the first build, Maven will download all the dependencies from the internet and cache them in the local repository (`~/.m2/repository`), which can take a considerable amount of time. Subsequent builds will be faster.

It has a comprehensive set of unit tests that can take several minutes to run. You can disable the tests when building:

    mvn clean install -DskipTests

If you want to add new UDF, the prefix of your package name must be ``org.apache.tajo.engine.function``.

## Deploying UDFs
* Copy the UDF jar file into ``$TAJO_HOME/lib`` on all nodes
* Restart Tajo cluster.

## References
* [Nexr Hive UDF](https://github.com/nexr/hive-udf)
* [Oracle 11g SQL Functions](http://docs.oracle.com/cd/B28359_01/server.111/b28286/functions001.htm#i88893)

repository: blrunner/tajo-udf

repo_name: blrunner/tajo-udf


text:
# Amazon Product Recommendation System using Spark and Python

Online E-commerce websites like Amazon, Filpkart uses different recommendation models to provide different suggestions to different users.
Amazon currently uses item-to-item collaborative filtering, which scales to massive data sets and produces high-quality recommendations in real time.
This type of filtering matches each of the user's purchased and rated items to similar items, then combines those similar items into a recommendation list for the user.
In this project we are going to build recommendation model for the different products of Amazon.

# Attribute Information:

● overall: Rating of the corresponding product by the corresponding user

● verified: Every user is either reviewed or not

● reviewTime: Time when review is provide

● reviewerID: Every user identified with a unique id

● asin: Every product identified with a unique id

● reviewerName: Name of the user

● timestamp: Time of the rating

# Objective:

Objective for this Project is to Recommend Products to the User based on their previous reviews to the various items. To achieve this goal we will be using K-Means and Naive Bayes algorthim. We will also compare the the result with ALS (Alternative Least Square)
method which is widely used method for Recommendation Systems.

# References:

References are properly cited in the report. (19250990_Alok_Kumar_Singh_MSc_Data_Science_And_Analytics_Thesis.pdf)

license: MIT


text:
# PWM Tests

Testing and Deployment related package for Powered Mobility Project

## Running Tests:

Assuming your catkin workspace is in `${HOME}/catkin_ws`:

```bash
catkin run_tests pwm_tests && catkin_test_results ~/catkin_ws
```

repository: olinrobotics/Powered-Mobility

repo_name: olinrobotics/Powered-Mobility


text:
This repo is to demonstrate how an Oraclize smart-contract is used in managing an ISP and its customers account by debiting the ISP account anytime there is a breach in contract in the offtime value gotten from the API using Truffle & the Ethereum-Bridge to do most of the heavy lifting for you. Head on over to the `./test` folder to examine the javascript files that thoroughly test the smart-contract, which latter you will find in `./contracts`.

## :page_with_curl:  _Instructions_

**1)** Fire up your favourite console & clone this repo somewhere:

__`❍ git clone https://github.com/vahiwe/Uptime-Verification-Oraclize.git`__

**2)** Enter this directory & install dependencies:

__`❍ cd Uptime-Verification-Oraclize && npm install`__

**3)** Install npx if not already installed:

__`❍ sudo npm install -g npx `__

**4)** Launch Truffle:

__`❍ npx truffle develop`__

**5)** Open a _new_ console in the same directory & spool up the ethereum-bridge:

__`❍ npx ethereum-bridge -a 9 -H <IP_ADDRESS> -p 9545 --dev `__

**6)** Once the bridge is ready & listening, go back to the first console with Truffle running & compile the contract code

__`❍ truffle(develop)> compile`__

**7)** Migrate the contract to the network:

__`❍ truffle(develop)> migrate `__

**8)** Set the tests going!

__`❍ truffle(develop)> test`__

**9)** Open a _new_ console in the same directory & Start up the ÐApp:

__`❍ npm run dev `__

## :camera: Passing Tests:

![The passing tests](uptime-verification-test.png)

## :globe_with_meridians: ÐApp Homepage:

![ÐApp Homepage](homepage.jpg)

## :information_source: Links:

* Click [here](https://youtu.be/na_UsrvnQfw) to view a video on setting up the system
* This is a [link](https://twitter.com/PROFXELFINITO/status/1141230082226364416?s=19) to images of the IoT Device used in keeping record of time

__*Happy developing!*__


text:
---
layout: news
post-type: announcement
permalink: /news/2.12.1
title: "Scala 2.12.1 is now available!"
---
We are pleased to announce the availability of Scala 2.12.1!

## Changes

Significant changes since 2.12.0 include:

* [#5516](https://github.com/scala/scala/pull/5516) Improved runtime speed for Vector, restoring previous performance
* [#5509](https://github.com/scala/scala/pull/5509) SI-10032 Fix code gen with returns in nested try-finally blocks
* [#5482](https://github.com/scala/scala/pull/5482) Fix 2.12 regression, backend crash: Cannot create ClassBType from non-class symbol; also fix SI-7139
* [#5469](https://github.com/scala/scala/pull/5469) SI-10020 SI-10027 Scaladoc: keep Java comment scanning stack-friendly
* [#5376](https://github.com/scala/scala/pull/5376) Make -Xexperimental features available separately
* [#5284](https://github.com/scala/scala/pull/5284) SI-7046 partial fix to knownDirectSubclasses for reflection users and macro authors
* [#5410](https://github.com/scala/scala/pull/5410) Upgrade to scala-xml 1.0.6

  * see [1.0.6 release notes](https://github.com/scala/scala-xml/releases/tag/v1.0.6)

In total, this release resolves [28 issues](https://issues.scala-lang.org/issues/?jql=project%20%3D%20SI%20AND%20resolution%20%3D%20Fixed%20AND%20fixVersion%20in%20%28%22Scala%202.12.1%22%29%20ORDER%20BY%20component%20ASC%2C%20priority%20DESC).  We merged [88 pull requests](https://github.com/scala/scala/pulls?q=is%3Apr+is%3Amerged+milestone%3A2.12.1).

As usual for minor releases, Scala 2.12.1 is binary compatible with the whole Scala 2.12 series.

## Contributors

A big thank you to everyone who's helped improve Scala by reporting bugs, improving our documentation, spreading kindness in discussions around Scala, and submitting and reviewing pull requests! You are all magnificent.

According to `git shortlog -sn --no-merges v2.12.0..v2.12.1`, 28 people contributed to this minor release: A. P. Marki, Jason Zaugg, Lukas Rytz, Seth Tisue, Adriaan Moors, Stefan Zeiger, Dale Wijnand, Miles Sabin, Daniel Barclay, Pap Lőrinc, Iulian Dragos, Rex Kerr, Sakthipriyan Vairamani, Kenji Yoshida, Jakob Odersky, Mohit Agarwal, Paul Kernfeld, Pavel Petlinsky, Boris Korogvich, Sébastien Doeraene, Tim Spence, Viktor Klang, Vladimir Glushak, Chris Okasaki, Lifu Huang, Janek Bogucki, Martijn Hoekstra, Masaru Nomura.

## Scala 2.12 Notes

The [release notes for Scala 2.12.0](http://scala-lang.org/news/2.12.0) have important information applicable to the whole 2.12 series.

## Obtaining Scala

Scala releases are available through a variety of channels, including (but not limited to):

* Bump the `scalaVersion` setting in your sbt-based project
* Download a distribution from [scala-lang.org](http://scala-lang.org/download/2.12.1.html)
* Obtain JARs via [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.scala-lang%22%20AND%20v%3A%222.12.1%22)

repository: adriaanm/scala-lang

gha_language: CSS

repo_name: adriaanm/scala-lang


text:
#### Integrations
##### IPinfo v2
- ***Breaking Change:*** Updated the **brand name** for indicators extracted and their relationships, to match the context path `IPinfo`, previously `ipinfo_v2`.

repository: demisto/content

gha_language: Python

gha_license_id: MIT

repo_name: demisto/content


text:
## Description

<!--
(Note: for guidance on how to use `scikit-image`, please post instead on https://forum.image.sc/tag/scikit-image)
-->

## Way to reproduce
```python
# Place the full code we need to recreate your issue here
# upload all necessary images to github too!
```

## Version information
```python
# Paste the output of the following python commands
from __future__ import print_function
import sys; print(sys.version)
import platform; print(platform.platform())
import skimage; print("scikit-image version: {}".format(skimage.__version__))
import numpy; print("numpy version: {}".format(numpy.__version__))
```

```python
# your output here

```

repository: intellivoid/CoffeeHousePy

repo_name: intellivoid/CoffeeHousePy


text:
---
layout: post
title:  "How to develop a mobile Application"
author: sal
categories: [ Useful, tutorial, Android ]
tags: [coding, Android]
image: https://developer.android.com/studio/images/studio-homepage-hero.jpg
---

### Android Studio

This is the software required by you to develop an application for Android Devices.
Android takes more than 85% of the entire mobile market in the world. So many developers are needed for this huge market.
We can also develop applcations for Android along with Apps for IOS using latest Technologies like _React Native_ and _Flutter_
which helps you to take the entire market. You can read more about those technologies by scrolling down.

>Installing Android Studio with all the required packages and tools is the half-way done in the process of building apps using this software.
This is because its a heavy software which has many tools and takes a lot of space and memory on your computer.

**The minimum RAM required to run this software is 4GB and 8GB is the Ideal one along with a Good Processor with more clock speed.**

If you are a beginner and your Laptop doesn't support you, I suggest you to go with React Native which doesn't require these heavy softwares and has many great features while developing apps when compared with Android Studio. The one feature which I like most in React is that it has live-Reloading(_Changes are appeared as you keep on modifying them_) which is very handy whereas in Android Studio you have to build your app for every small change made to check whether its working or not.

Download Android Studio from this [link](https://developer.android.com/studio/).After successful Installation of this software start a new project and Create a **Emulator (Virtual Device)** to run your application on a virtual device which runs on your PC but takes out more Memory to run. After this you can check out the following links to learn Android or you can check out courses on [Udemy](https://udemy.com) (If you want an Organized way to learn Android) or you can check out **free tutorials** on [youtube](https://www.youtube.com/). You can download many paid **Udemy Courses** for free on this [website](https://www.freetutorials.eu/) if don't want to pay any rupee for any course.

### Android Basics Tutorials and links

Android App Samples [here](https://developer.android.com/samples/).

Codelabs tutorials are available [here](https://codelabs.developers.google.com/?cat=Android).

You can refer this post for more [info](https://starksources.github.io/myblog/useful/android/2018/11/15/Android.html)

Goal-Kicker Android tutorial pdf [link](https://books.goalkicker.com/AndroidBook/)

Google developers training [link](https://developers.google.com/training/courses/android-fundamentals)

Android Concepts by Google:[link](https://google-developer-training.github.io/android-developer-fundamentals-course-concepts/en/index.html).

Android Practicals by Google [link](https://google-developer-training.github.io/android-developer-fundamentals-course-practicals/en/index.html)

Android Fundamentals official youtube [playlist](https://www.youtube.com/playlist?list=PLlyCyjh2pUe9wv-hU4my-Nen_SvXIzxGB).

#### Emulator

This is the virtual device on which you run your mobile applications. You can also run your apps directly on your mobile too.Here is a short video describing what are the things that you can do on Emulator.
<video center controls poster="/studio/images/run/thumbnail-emulator_2x.png" style="width:300px;height:400px;">
  <source src="https://storage.googleapis.com/androiddevelopers/videos/studio-emulator-overview_2-2.mp4" type="video/mp4">
</video>

##### React Native

![React Native](https://kaysharbor.com/wp-content/uploads/2018/05/all-about-react-native-apps-776x415.png)

This is from facebook.

React Native helps you to build native-mobile applications using JavaScript(not like web-apps using HTML5) both for Android and IOS platform at one go.This helps to reach a larger Audience.

{% highlight react linenos %}
import React, { Component } from 'react';
import { Text, View } from 'react-native';

export default class HelloWorldApp extends Component {
  render() {
    return (
      <View>
        <Text>Hello world!</Text>
      </View>
    );
  }
}
{% endhighlight %}

This is the code for Hello World Application in React which is very easy when compared to java and xml code in Android Studio.

[Official Docs and tutorials for learning React Native](http://facebook.github.io/react-native/)

[React.js](https://reactjs.org/)

> I Suggest you to learn React Native from the above official link as it is constantly being updated. You might get into trouble if you follow any tutorial because the code might not work now as the community is constantly adding new features(_The thing which happened with me while I am learning this and made me to quit from learning React Native_).

#### Flutter

![Flutter](https://i.ytimg.com/vi/fq4N0hgOWzU/maxresdefault.jpg)

link [here](https://flutter.io/)

Flutter is developed by Google. It helps you to develop apps faster. Flutter allows you to build beautiful native apps on iOS and Android from a single codebase. Learn Flutter from the above link.

### Ionic

![Ionic](https://www.quape.com/wp-content/uploads/2017/07/ionic.jpg)

[Link here](https://ionicframework.com/)

Ionic lets web developers build, test, and deploy cross-platform hybrid mobile apps easier than ever. check out the above link to know more.

### Andoid Assets Studio for Icons

![Assets Studio](https://i1.wp.com/www.snyxius.com/wp-content/uploads/2018/04/android-asset-studio.png?ssl=1)
[Link here](https://romannurik.github.io/AndroidAssetStudio/index.html)

This is useful for you to create Icons for your Apps.

> Thank you for reading this blog. Make sure to comment for any help.

gha_language: HTML


text:
# Bisection Method Finite State Machine Logisim
Implementing Bisection Method as a single purpose processor using Finite State Machine with Datapath. Assume first given numbers are always integers.

### C code

### State Diagram

### State Transition Table

### Boolean


text:
easy-example-module-cmd
===========
[![Build Status](https://travis-ci.org/DANS-KNAW/easy-example-module-cmd.png?branch=master)](https://travis-ci.org/DANS-KNAW/easy-example-module-cmd)

<!-- Remove this comment and extend the descriptions below -->

SYNOPSIS
--------

    easy-example-module-cmd (synopsis of command line parameters)
    easy-example-module-cmd (... possibly multiple lines for subcommands)

DESCRIPTION
-----------

An example module generated with easy-module-archetype stripped down to only command line interface.

ARGUMENTS
---------

    Options:

    --someOption  <arg>   Description of the option
            --help                Show help message
            --version             Show version of this program

EXAMPLES
--------

    easy-example-module-cmd -o value

INSTALLATION AND CONFIGURATION
------------------------------

1. Unzip the tarball to a directory of your choice, typically `/usr/local/`
2. A new directory called easy-example-module-cmd-<version> will be created
3. Add the command script to your `PATH` environment variable by creating a symbolic link to it from a directory that is
   on the path, e.g.

        ln -s /usr/local/easy-example-module-cmd-<version>/bin/easy-example-module-cmd /usr/bin

General configuration settings can be set in `cfg/application.properties` and logging can be configured
in `cfg/logback.xml`. The available settings are explained in comments in aforementioned files.

BUILDING FROM SOURCE
--------------------

Prerequisites:

* Java 8 or higher
* Maven 3.3.3 or higher

Steps:

        git clone https://github.com/DANS-KNAW/easy-example-module-cmd.git
        cd easy-example-module-cmd
        mvn install

repository: DANS-KNAW/easy-example-module-cmd

gha_language: Scala

repo_name: DANS-KNAW/easy-example-module-cmd


text:
# SPLAT Notes
Welcome to the [wiki](https://github.com/l2wilson94/SPLAT-Notes/wiki) for my personal notes and docs for the SPLAT language.<br>

repository: TodePond/SPLAT-Notes

repo_name: TodePond/SPLAT-Notes


text:
# smartcrop-cli

[![Build Status](https://travis-ci.org/jakewarren/smartcrop-cli.svg?branch=master)](https://travis-ci.org/jakewarren/smartcrop-cli/)
[![GitHub release](http://img.shields.io/github/release/jakewarren/smartcrop-cli.svg?style=flat-square)](https://github.com/jakewarren/smartcrop-cli/releases])
[![MIT License](http://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](https://github.com/jakewarren/smartcrop-cli/blob/master/LICENSE)
[![Go Report Card](https://goreportcard.com/badge/github.com/jakewarren/smartcrop-cli)](https://goreportcard.com/report/github.com/jakewarren/smartcrop-cli)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=shields)](http://makeapullrequest.com)
> smartcrop finds good image crops for arbitrary crop sizes

A command line client for the wonderful [smartcrop](https://github.com/muesli/smartcrop) library.

## Install
### Option 1: Binary

Download the latest release from [https://github.com/jakewarren/smartcrop-cli/releases/latest](https://github.com/jakewarren/smartcrop-cli/releases/latest)

### Option 2: From source

```
go get github.com/jakewarren/smartcrop-cli
```

## Usage

ℹ The width and height parameters are used to determine the aspect ratio; the generated image likely will not have the requested size.

```
❯ smartcrop-cli --help
usage: smartcrop-cli [<flags>] <input>

smartcrop finds good image crops for arbitrary crop sizes

Optional flags:
      --help        Show context-sensitive help (also try --help-long and --help-man).
  -w, --width=250   preferred width of image (px)
  -h, --height=250  preferred height of image (px)
  -q, --quality=90  image quality of output file
  -o, --output-file="./smartcrop.jpg"
                    name of the output file
  -V, --version     Show application version.

Args:
  <input>  input file
```
## Changes

All notable changes to this project will be documented in the [changelog].

The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/).

## License

MIT © 2018 Jake Warren

[changelog]: https://github.com/jakewarren/smartcrop-cli/blob/master/CHANGELOG.md

repository: jakewarren/smartcrop-cli

gha_language: Go

repo_name: jakewarren/smartcrop-cli


text:
# Pityrodia coerulea (F.Muell. & Tate) E.Pritz. SPECIES

#### Status
ACCEPTED

#### According to
International Plant Names Index

#### Published in
null

#### Original name
Chloanthes coerulea F.Muell. & Tate

### Remarks
null

repository: mdoering/backbone

repo_name: mdoering/backbone


text:
#

is a highly scalable CS:GO cheat base for **GNU/Linux**. It has some basic interfaces and a mouse menu, so you can easily start building your cheat from there.

#

### Special thanks to:
 [@Vulgar1s](https://github.com/Vulgar1s), [@daansayajin](https://github.com/daansayajin) and [@cristeigabriel](https://github.com/cristeigabriel) for help with Ruvi development.

Screenshots

![menu](https://raw.githubusercontent.com/iFloody/ruvi-csgo-linux/master/resource/image.png)

### Acknowledgments

Ruvi available under the [MIT License](https://github.com/cristeigabriel/ruvi-csgo-linux-full/blob/master/LICENSE)

Written using
[fgui](https://github.com/iFloody/fgui) framework.

repository: zxvnme/ruvi-csgo-linux-sdk

repo_name: zxvnme/ruvi-csgo-linux-sdk


text:
# [→ @qaisjp][qaisjp]

<!--
**qaisjp-stripe/qaisjp-stripe** is a ✨ _special_ ✨ repository because its `README.md` (this file) appears on your GitHub profile.

Here are some ideas to get you started:

- 🔭 I’m currently working on ...
- 🌱 I’m currently learning ...
- 👯 I’m looking to collaborate on ...
- 🤔 I’m looking for help with ...
- 💬 Ask me about ...
- 📫 How to reach me: ...
- 😄 Pronouns: ...
- ⚡ Fun fact: ...
-->

This is my work profile, which is used for things that only this account can do.

All my work and activity is done on my main profile: [@qaisjp][qaisjp].

[qaisjp]: https://github.com/qaisjp

repository: qaisjp-stripe/qaisjp-stripe

repo_name: qaisjp-stripe/qaisjp-stripe


text:
Errors

The Birdr API uses the following error codes:

Code | Meaning
---------- | -------
400 | Bad Request -- Your request sucks
404 | Not Found -- The specified kitten could not be found
409 | Gone -- The kitten requested has been removed from our servers
500 | Internal Server Error -- We had a problem with our server. Try again later.

repository: birdrapp/documentation

repo_name: birdrapp/documentation


text:
---
title: PalladiumOS v1.4 for RMX2001
description: Custom ROM for Realme 6, 6s, 6i and Narzo (RMX2001/02/03)
date: 2021-08-30
slug: ROM/RMX2001/PalladiumOS/v1.4
image: PalladiumOS.png
categories:
    - OFFICIAL
tags:
    - ROM
---

## About ROM
Palladium OS is a Custom ROM based on Android 11 and the element palladium.Palladium OS is a community-driven OS. Anyone can request or remove a feature. This flexible system is implemented by a system app,the PalladiumOS-Community with which the users can interact/create polls and posts for discussion. Lastly, this is complemented by the Meteor Drop OTAs. These are exclusive OTAs which add new features and easter eggs inside the OS based on the suggestions from pdC. Enough pondering now, hop in and experience Android at its finest!

## Whats Working
F-I | F-II | S-I | S-II
---------|---------|---------|---------
SELinux | Video/Screen/Audio REC | ✓ | ✓
RIL (Data,SMS,Calls) | Audio | ✓ | ✓
Userdata encryption[FDE] | GPS | ✓ | ✓
Fingerprint sensor | NFC | ✓ | ✓ (EU)
WiFi (2.4Ghz/5Ghz) | Sensors | ✓ | ✓
Bluetooth | Video Playback | ✓ | ✓
Camera | VoLTE | ∂ (Partial) | ∂ (Partial)

### Known Issues
* Night light flickers
* IMS (ViLTE, VoWiFi)
* Extra cameras

## Latest Changelog
* 2021-09-07
  * Latest Source, SecPatch (5 August 2021)
  * Added realme-Dirac & realme-Parts
  * Added GcamGO & PMControl Prebuilt-apps
  * Compile Kernel with Proton-clang v13.0
  * Update status bar pading overlay (portrait & landscape)
  * Added support for unlimited backup on Google Photos
  * Fix some sepolicy neverallow (rild, fingerprint, etc)
  * realmeDirac: Fix tint color icon & Correct icon on QS tile

## Downloads
[⬇ Download](https://www.pling.com/p/1513489/) | [🌆 Screenshot](https://t.me/SYNTXchannel/180) | [XDA Thread](https://forum.xda-developers.com/t/rom-11-official-palladiumos-v1-4-07-09-2021.4273873/)

```
FILE: Palladium-v1.4-RMX2001-20210907-OFFICIAL (VANILLA & GAPPS)
MD5SUM: 1271637b1a79384c1053d5e32b18ba50
FILESIZE: 680 MB (Vanilla), 1.08 GB (GApps)
```

## Info & Sources
* Device Info
  * Kernel: 4.14.x
  * Chipset: Mediatek MT6785 Helio G90T - ARMv8.2-A (64-bit)

* Sources
  * Common Tree: [android_device_realme_mt6785-common](https://github.com/officialputuid/android_device_realme_mt6785-common)
  * Device Tree: [android_device_realme_RMX2001](https://github.com/officialputuid/android_device_realme_RMX2001)
  * Kernel Tree: [android_kernel_realme_RMX2001](https://github.com/officialputuid/android_kernel_realme_RMX2001)
  * Proprietary blobs: [proprietary_vendor_realme](https://github.com/officialputuid/proprietary_vendor_realme)
>  Special Thanks to [SamarV121](https://github.com/SamarV-121) for Tree & [HimanshuTyagi](https://github.com/ManshuTyagi) for Many Help

### Support Group
[@SYNTXChat](https://t.me/SYNTXchat) | [SYNTXChannel](https://t.me/SYNTXchannel) | [SYNTXLogs](https://t.me/SYNTXlogs) managed by [officialputuid](https://t.me/officialputuid)

## Old Changelog
* 2021-05-014
  * Latest Sources & SecPatch
  * SELinux Enforcing
  * Source built kernel
  * Passes safetynet without Magisk
  * Make padding in overlay status bar look good
  * Fixes can't wakeup device in offline charging mode
  * Added RealmeParts → Additional Settings

* 2021-05-08
  * Initial Unofficial Build

branch_name: refs/heads/main


text:
# blog-api

This is a api interface of the CMS system, using express and mongodb, I started learning nodejs and non-relational databases through this simple project, I hope it can help others.

### config
- Replace the configuration in the "conf/database.js" file with your configuration
- Replace the variable "admin" in "init.js" with the one you want

### install
```shell
npm install
```
If you are running this project for the first time, you also need to use the following command to initialize some data.

```shell
node init.js
```

### run
```shell
npm start
```

### description
Supported front-end projects, please move to
https://github.com/WindWen/angular-blog-static

repository: EthianWong/cms-api

repo_name: EthianWong/cms-api


text:
### Class EmrExecutor(Executor)

**class com.griddynamics.dsl.ml.executors.executors.EmrExecutor**

Class for running spark jobs on EMR AWS. Inherited from [Executor](https://github.com/griddynamics/ml-dsl/blob/master/docs/executors/Executor.md).

#### Properties

|property   | description
|-----------|---------------------------------------------|
| __job   | [PysparkJob](https://github.com/griddynamics/ml-dsl/blob/master/docs/jobs/PySparkJob.md) job to run on an Emr cluster.|
| __session   | [Session](https://github.com/griddynamics/ml-dsl/blob/master/docs/sessions/Session.md) of a job on Emr cluster.|
| __client    | Emr client to interact with the Emr cluster. Defined using Boto3 python library.|
| __yarn_app| List of yarn statuses for a job on Emr AWS.|
| __cluster_uuid| Id of Emr cluster.|
| __source_emr| Path where application artifacts and their configuration directories are installed.|
| __step_ids| List of steps to run on EMR cluster.|
| __job_description| Python dictionary of the EMR  job description.|
| job_status| Python dictionary with states of job flow steps.|

#### Methods
> **retry_on_throttling(exc)**
> > Decorator utility function. Retry on Throttling Exception of calling Emr cluster.
>
> **__check_cluster(client)**
> > Take a current EMR client, check clusters in state “WAITING” and “RUNNING”  and return available to run a spark job.
>
> **__prepare_job_args(start_job_list: List[str])**
>
> **__prepare_job_options()**
>
> > Prepares arguments of a spark job for adding to job flow.
> **define_job_flow_step(name: str, action_on_failure: str, hadoop_jar_step: str)**
> > Takes arguments describing  flow step for running spark job and returns a dictionary with step description which appends to Steps [] argument of Boto3 Emr client’s add_job_flow_steps() method.
>
> **define_copy_file_step(name: str, action_on_failure: str)**
> > Takes arguments describing job flow steps for copying files on EMR cluster and returns a dictionary with step description which appends to Steps [] argument of Boto3 Emr client’s add_job_flow_steps() method.
>
> **submit_job(run_async: bool = False, action_on_failure: str ='CANCEL_AND_WAIT')**.
> > Takes bool arguments run_async for the running job asynchronously and action_on_failure to define cluster action on failing jobs, add job flow steps and return a python dictionary description of the job in case of asynchronously running or run __wait_for_job() method.
>
> **__wait_for_job()**
> > Waits for running job flow to complete. Returns current job description.
>
> **_get_step_status(step_id: str)**
> > Checks status of current step in job flow. Returns state, step id and flag if step is done.
>
> **get_job_state()**
> > Returns current job flow step.
>
> **_get_job()**
> > Returns current job description.
>
> **cancel_job()**
> > Cancels current job.
>
> **__upload_files_to_s3(files: List[str])**
> > Uploads files to S3 if necessary.
>
> **upload_file_to_s3_job_path(file_path)**
> > Uploads file to given s3 path.
>
> **upload_script_to_s3_job_path(script: [PyScript](https://github.com/griddynamics/ml-dsl/blob/master/docs/PyScript.md))**
> > Upload [PyScript](https://github.com/griddynamics/ml-dsl/blob/master/docs/PyScript.md) script .
>
> **__construct_path(name)**
> > Construct path to file if file copies from local to s3.
>
> **delete_s3_folder_source()**
> > Delete folder on s3.
>
> **__file_path_to_s3_path(path)**
> > Constructs path to file on s3 where it uploads.
>
> **job_description()**
> > Run __build_job_description() method.
>
> **__build_job_description()**
> > Returns python dictionary with spark job description.

repository: griddynamics/ml-dsl

repo_name: griddynamics/ml-dsl


text:
---
title: "Thoughts: Curation and Automation"
date: "2018-10-05"
layout: post
draft: false
path: "/posts/thoughts-curation-and-automation/"
tags:
  - "thoughts"
description: "Notes on an interview with Riva-Melissa Tez. Life is a game. Spread critical reasoning tools. On being creative. Benefits of writing."
---

I want to start a blog series where I share links and talk about the ideas/topics I've been thinking about. Always looking to hear different perspectives so reach out if you want to talk more!

* * *

## **Curation**

https://twitter.com/BenedictEvans/status/677977465373896704

[https://www.ben-evans.com/benedictevans/2016/1/31/lists-are-the-new-search](https://www.ben-evans.com/benedictevans/2016/1/31/lists-are-the-new-search)

A recent problem that I have been thinking about is how we separate signal from noise. In an age of information abundance, finding and discovering high quality information is a hard problem. Curated lists are fundamental to how we navigate information abundance. Google creates lists of links by search terms. Netflix curates lists of movies and tv shows. Facebook curates lists of posts by our friends. Pinterest allows users to create lists of imagery and links that inspire them.

Whether curated algorithmically, by humans or a mix of both, curation plays a fundamental role in saving people enormous amounts of time finding information.

I really enjoyed these three pieces by [Robin Good](https://medium.com/@robingood) that go into detail on the varied approaches, benefits and the future of curation. One key learning was recognizing that the curator role is just as important as the creator role.

- [Content Curation Approaches: Types and Formats](https://medium.com/content-curation-official-guide/content-curation-approaches-types-and-formats-ae2b33fe6a18)
- [The Key Benefits of Content Curation](https://medium.com/content-curation-official-guide/the-key-benefits-of-content-curation-7d83837c2163)
- [Content Curation Future Impact](https://medium.com/content-curation-official-guide/content-curation-future-impact-3434b7dccdef)

Extending on this was an article by [Steve Buttry](https://stevebuttry.wordpress.com/) that went into the [specific value that curators add](https://stevebuttry.wordpress.com/2012/07/19/curation-techniques-types-and-tips/).

[Maria Popova](https://www.brainpickings.org/about/) wrote about how curation plays a fundamental role in discovery and also in identifying underlying themes by connecting knowledge. Curation is an art and those who do it serve as a trusted guide to new ideas.

- [Networked Knowledge and Combinatorial Creativity](https://www.brainpickings.org/2011/08/01/networked-knowledge-combinatorial-creativity/)

With the excess of information, making sense of it and turning it into a story is becoming more important than generating it. [Fred Wilson](https://avc.com/) argued media companies can shift to an [aggregation/curation model](https://avc.com/2009/06/aggregate-curate-publish-to-create-local-media/) sifting the web for information and then crafting a story around it.

## **Automation**

https://twitter.com/matthewwsiu/status/1047288368743104517?s=12

An [article by the Atlantic](https://www.theatlantic.com/technology/archive/2018/10/agents-of-automation/568795/?single_page=true) sparked a new exploration into automation for me. While automation is creating huge surplus value, much of the value is being captured by a small group that owns production. While Keynes argued automation would liberate large portions of the individuals time, most individuals still work for significant portions of the week. Automation has unfortunately only exacerbated economic inequality.

Links shared in the Atlantic article above along with conversations on this [Hacker News thread](https://news.ycombinator.com/item?id=18120322) brought up a growing movement of software programmers automating themselves out of a job.

In looking to explore this more, here are some resources that provide practical information/tools on how to automate tasks in your own work.

- [How I automated my job with Node.js](https://medium.com/dailyjs/how-i-automated-my-job-with-node-js-94bf4e423017)
- [Automate the Boring Stuff with Python](https://automatetheboringstuff.com/)

- [Sikuli](http://www.sikuli.org/) (Visual automation tool)

- Scheduling or rerunning a service (cronjob, shell, ruby)
- Browser automation (Selenium IDE and Webdriver)
- Zapier

Long term solutions that allow the largest possible group to benefit will require policy and/or economic changes. Universal Basic Income is an interesting proposal.

## **Miscellaneous**

A couple other things I've been thinking about recently..

**Tweetstorms**

https://twitter.com/MatthewWSiu/status/1044472950244560896

https://twitter.com/MatthewWSiu/status/1045536345719013382

https://twitter.com/MatthewWSiu/status/1046503494251769856

repository: Siunami/site

repo_name: Siunami/site


text:
---
layout: post
title: "Functional Map of the World"
date: 2017-11-23 04:55:20
categories: arXiv_CV
tags: arXiv_CV Prediction Detection
author: Gordon Christie, Neil Fendley, James Wilson, Ryan Mukherjee
mathjax: true
---

* content
{:toc}

##### Abstract
We present a new dataset, Functional Map of the World (fMoW), which aims to inspire the development of machine learning models capable of predicting the functional purpose of buildings and land use from temporal sequences of satellite images and a rich set of metadata features. The metadata provided with each image enables reasoning about location, time, sun angles, physical sizes, and other features when making predictions about objects in the image. Our dataset consists of over 1 million images from over 200 countries. For each image, we provide at least one bounding box annotation containing one of 63 categories, including a "false detection" category. We present an analysis of the dataset along with baseline approaches that reason about metadata and temporal views. Our data, code, and pretrained models have been made publicly available.

##### Abstract (translated by Google)
我们提出了一个新的数据集，世界功能图（fMoW），旨在激发机器学习模型的发展，能够从时间序列的卫星图像和丰富的元数据特征预测建筑物和土地利用的功能目的。随着每个图像提供的元数据能够推断有关位置，时间，太阳角度，物理尺寸和其他功能的预测图像中的对象。我们的数据集包含来自200多个国家的超过100万张图片。对于每个图像，我们提供至少一个包含63个类别之一的边界框注释，其中包括“错误检测”类别。我们提出了数据集的分析以及基于元数据和时间视图的基准方法。我们的数据，代码和预训练模型已经公开发布。

##### URL
[https://arxiv.org/abs/1711.07846](https://arxiv.org/abs/1711.07846)

##### PDF
[https://arxiv.org/pdf/1711.07846](https://arxiv.org/pdf/1711.07846)


text:
---
layout: page
title: "About this Site"
footer: true
sharing: false
---
Welcome to my home on the web.  Here you can find occasional notes about various tech subjects if I think others
might find my insights useful (or if I really just need to write it down somewhere so I don't forget).

The site uses [Octopress](http://octopress.org/), a blogging framework for developers.  Behind the scenes, its using some handy tools,
like [Ruby](http://www.ruby-lang.org/en/) and [Sinatra](http://www.sinatrarb.com/).  The site is hosted on [Heroku](http://www.heroku.com/).

Acknowledgements
----------------

 * [Brandon Mathis](http://brandonmathis.com/), for creating the blogging framework that powers this site!
 * The folks at Github for creating [Jekyll](https://github.com/mojombo/jekyll), on which Octopress is based

Licensing
---------

The content of davidvg.com is licensed under a [Creative Commons Attribution 3.0 Unported License](http://creativecommons.org/licenses/by/3.0/), which means
that you are free to copy and reuse my content, as long as you clearly tell people where it was originally published.
Normally this just means linking to my site and giving me credit.  For more details, see the above link.

extension: markdown


text:
# Building a Smalltalk Skill

After completing the exercises in the lesson you will be able to:

- Understand the default Smalltalk skill
- Update the default Smalltalk skill with questions related to your company
- Add variations to your Smalltalk questions
- Test the smalltalk skill within the agent

## Exercise 1: Default Smalltalk Skill

Smalltalk is a form of Q&A skill that allows you to build a personality for your agent
to represent the organization. It can be used across agents developed by the organization.
Smalltalk has lesser priority as compared to Q&A skill.

Examples for smalltalk questions are:

>> _Who built you?_
>>
>> _Who is your CEO?_
>>
>> _Which is your favourite sports team?_

Open the smalltalk skill in the skill builder and see what questions are already answered.
Create a list of questions and answers that would want your agent to answer.

## Exercise 2: Creating a Smalltalk Skill

- In the Agent page, navigate to the _Skills_ option in the left navigation menu,
click _Add skill_ button in the Agent skills page.

- In the Skill builder page, select _Smalltalk_ and click _Create_.

- Specify the following details and click _Create_:

![New Smalltalk skill dialog](contents/smalltalk/images/smalltalk-create-dialog.png)

## Exercise 3: Adding Variations to your Smalltalk Questions

**TBD Add lesson from PNC training**

## Exercise 4: Train Question and Answer Pairs with Variations

**TBD Add lesson from PNC training**

## Exercise 5: Test Smalltalk in your Agent

**TBD Add lesson from PNC training**

repository: dgwartney/pandoc-book-template

repo_name: dgwartney/pandoc-book-template


text:
# Clojure Documentation

This guide will go over how to use Eva Client Java using Clojure.

<!-- toc -->

- [Creating a Connection](#creating-a-connection)
- [Transact](#transact)
- [Query](#query)
- [Pull](#pull)
- [Invoke](#invoke)
- [to-tx-eid](#to-tx-eid)
- [ident](#ident)
- [entid](#entid)
- [Inline Functions](#inline-functions)
  * [Query](#query-1)
  * [latestT](#latestt)
  * [entid](#entid-1)
  * [ident](#ident-1)
  * [first](#first)
  * [ffirst](#ffirst)

<!-- tocstop -->

## Creating a Connection

The first thing you need to do is create a connection. You can create a connection by passing a map to the `connect` function.

```clj
(ns eva101.core
    (:require [eva.client.core :as eva]))

(def conn (eva/connect {:tenant "tenant"
							 :category "category"
							 :label "label" }))
```

## Transact

You can then transact as you normally would:
```clj
(eva/transact conn [[:db/add (eva/tempid :db.part/user) :book/title "First Book"]])
```

## Query

Once you've transacted some data, you'll be able to perform queries to retrieve that data. The first step in being able to query is getting your `Database`.
```clj
(def db (eva/db conn))
```

This will get you a database that you can query against the latest state with. If you wish to query against an older version of the database you can do that as so:

```clj
(def historical-db (eva/as-of db 123))
```

Now that you have the `Database` that you wish to query against, you can perform your queries.
```clj
(eva/q '[:find ?title :in $ :where [?b :book/title ?title]], db)
```

You can also pass arguments to your queries:
```clj
(eva/q [:find ?title :in $ ?year :where
			[?b :book/year_published ?year]
			[?b :book/title ?title]], db, 2017)
```

## Pull

Pull is also done the same as you normally do with the Eva API.

```clj
(eva/pull db '[*]<PHONE_NUMBER>236)
```

## Invoke

It is also possible to invoke functions with the Eva Client Service through invoke.

```clj
(eva/invoke db :db.fn/cas db 0 :db/doc "The default database partition." "Testing")
```

## to-tx-eid

Given a transaction id, you can get the entity id of that transaction

```clj
(eva/to-tx-eid db 1)
```

## ident

Ident gives you the ability to get the ident of an entity, with a given entity id.

```clj
(eva/ident db 1)
```

## entid

This does the reverse of ident, it gives you the ability to get an entity id with a given ident.

```clj
(eva/entid db :db.fn/cas)
```

## Inline Functions

In the cases where you want to chain together Eva Client functions, you might have to do multiple requests.
To cut down on this you might be able to use inline functions. Inline functions can be passed as arguments to Eva Client functions
and will be evaluated by the client service.

For example, if you wanted to create a `Database` to query with and wanted a specific tx id for the `as-of` you would
normally have to perform a query to first to get that `tx-id` before creating your `Database` object. With an inline function
however you could do the same thing without having to make that request.

```clj
(ns examples.eva101.core
  (:require [com.workiva.eva.client.inline-function :as inline]))

(def inline-as-of
	(inline/ffirst
		(inline/q '[:find ?tx :in $ ?t :where [?b :book/title ?t ?tx]] db "First Book")))

(def historicalDb (eva/as-of db inline-as-of))
```

In this example, we create an `InlineFunction` that will perform a query to get the tx that we need for our `as-of` value.
Since this query would return a value that looked like this `[[ 123 ]]`, we need to use another function to pull that tx out of the nested vectors.
This is why our inline query is wrapped in the `InlineFunction` `ffirst` so that we can get the value inside the nested vectors.

The inline functions that are currently supported are:

### Query

Performs a query

```clj
(inline/q '[:find ?tx :in $ ?t :where [?b :book/title ?t ?tx]] db "First Book")
```

### latestT

Gets the latest tx id on a `Connection`

```clj
(inline/latest-t conn)
```

### entid

Determines the entity id of an ident

```clj
(inline/entid db :db.part/tx)
```

### ident

Determines the ident of an entity id.

```clj
(inline/ident db 1)
```

### first

Returns the first item in a collection.

```clj
inline/first(
  (inline/q '[:find ?ident :in $ eid :where [?eid :db/ident ?ident]] db))
```

### ffirst

Returns the first item of the first item in a collection. This is equivalent to wrapping a `first` in another `first`.

```clj
(inline/ffirst
  (inline/q '[:find ?tx :in $ ?t :where [?b :book/title ?t ?tx]] db "First Book"))
```

repository: Workiva/eva-client-java

gha_license_id: NOASSERTION

repo_name: Workiva/eva-client-java


text:
---
title: Black-Scholes Equation
author: ''
date: '2021-01-24'
---

The Black-Scholes Model was developed as a way to use mathematics to price stock options. It is a differential equation that estimates price over time, and won the authors a Nobel prize in economics. You can find their original work [here](https://www.cs.princeton.edu/courses/archive/fall09/cos323/papers/black_scholes73.pdf).

Model Components: asset price; strike price; interest rates; time to expiration; and volatility. Most of these terms should be familiar, but the **strike price** is the set price at which an option can be bought/sold. The *time to expiration* is the the exact date and time when the contract to buy/sell is rendered void.

The mathematical formula can be expressed as follows:
$$C=S_tN(d_1)-Ke^{-rt}N(d_2)$$
\textbf{where:}
$$d_1=\frac{\ln\big(\frac{S_t}{K}\big)+\big(r+\frac{\sigma_v^2}{2}\big)t}{\sigma_s\sqrt{t}}\quad\text{and}\quad d_2=d_1-\sigma_s\sqrt{t}$$
\textbf{where:}
\begin{align*}
C&=\text{Call option price}\\
S&=\text{Current stock (or other underlying) price}\\
K&=\text{Strike price}\\
r&=\text{Risk-free interest rate}\\
t&=\text{Time to maturity}\\
N&=\text{A normal distribution}\\
\end{align*}

The Black-Scholes theory was that stocks and futures contracts have a lognormal distribution of prices, with constant drift and volatility.

The Black-Scholes model requires several assumptions:
- The only options being mapped are European options exercised at the moment of expiration.
- The option pays no dividends
- Market movements themselves cannot be predicted
- Transactions are cost-free
- Asset returns are log-normally distributed
- And, the rate of return is risk-free and the option volatility is known

As anyone familiar with stocks should note, some of the assumptions are less than ideal. We would be able to shed certain assumptions if we were able to adapt the model for use on in quantum system.

*A quantum version of the Black-Scholes Model is under development by the author of this site, pending completion in 2022. There will be a link available "here" when the content is available.*

If we are content with this explanation of the Black-Scholes Equation, click [here](https://amoderninvestor.netlify.app/) to return to the main page.

*Image from fineartamerica.com*

repository: aaadriano/CryptoProject

repo_name: aaadriano/CryptoProject


text:
## env
The manifest.json file describes what kind of app this is and is used by TIBCO Cloud Integration to carry out building and deploying your app. As with all code it can have multiple deployments (production, staging, development, etc.) and although your code must stay the same, certain configuration muse be different (e.g. the username for a database login). With this command you can add and remove environment variables from the manifest.json file so you can use them with `process.env` in your Node.js code

### options
* `--varname <name>` the name of the environment variable (**required**)
* `--type <type>` the type of the environment variable (**required _only for addvar_**)
* `--value <value>` the default value for the variable in the manifest

### examples
```
tibcli-node env addvar --varname DB_USER --type string --value admin
```
This will add a new environment variable called **DB_USER** of type **string** with a default value of **admin** to your manifest.json. To use this command the `manifest.json` has to exist in the current directory.

Now you can use the variable `DB_USER` in your code and change it during or after deployment so you don't have to change all your code. In your code you can use
```
const user = process.env.DB_USER || 'admin';
```
This code will look to see if your environment variable has been set and will use the vaue `admin` if it hasn't. Note that even though a default value has been provided in your manifest, the default value doesn't carry across into the runtime. You explicitly need to set your default value (for example using the code above) to make sure it gets used properly. The default value is used to show in the TIBCO Cloud Integation Web UI.

If you no longer want to use the environment variable you can remove it from the manifest with the below command
```
$ tibcli-node env delvar -N DB_USER
```

repository: TIBCOSoftware/tibcli-node

gha_language: JavaScript

repo_name: TIBCOSoftware/tibcli-node


text:
# hubot-jenkins-simple
Jenkins integration for Hubot with simple interface

## Usage

jekins_config expects a JSON object structured like this

```
jekins_config = {
  "foo": {
    "job": "build-foo",
    "params": "paramKey1,paramKey2"
  }
}
```
- "foo" (String) Human readable job you want to invoke.
- "job" (String) Name of the Jenkins job you want to invoke.
- "params" (String) Comma seperated string of all the parameter keys to be passed to the Jenkins job.

Build jenkins job from hubot

```
@hubot build foo paramValue1 paramValue2
```

repository: hideakihal/hubot-jenkins-simple

repo_name: hideakihal/hubot-jenkins-simple


text:
---
layout: default
title: Per-Package Documentation
permalink: articles/per_package_documentation.html
abstract: This article describes the requirements and design of ROS 2’s per-package documentation system.
author: Marya Belanger
date_written: 2020-10
last_modified: 2020-10
published: true
---

{:toc}

# {{ page.title }}

<div class="abstract" markdown="1">
{{ page.abstract }}
</div>

Authors: {{ page.author }}

Date Written: {{ page.date_written }}

Last Modified: {% if page.last_modified %}{{ page.last_modified }}{% else %}{{ page.date_written }}{% endif %}

## Background

ROS 2 is lacking a process for the conglomeration of package documentation.
Discoverability for package documentation (and documentation in general) is one of the most frequent user complaints.

The goal of this design is to make ROS 2 documentation as accessible as possible for all ROS users.
To achieve this we are seeking to standardize a documentation process for ROS 2 packages that will encourage maintainers to robustly document their packages, in turn making ROS 2 package documentation more available.
The results will be presented in a consistent way alongside the general ROS 2 documentation, making the documentation as a whole discoverable and predictable.

In general, the vision for the system is:

- Package maintainers document their packages in their repositories following some recommended guidelines or templates
- Package documentation (API documentation, other package related content) from the repositories is built on the ROS 2 infrastructure and deployed to the ROS 2 documentation site in an automatic process maintainers can opt in to by adding a `doc` block to the `distribution.yaml`
  - See [REP 141](https://www.ros.org/reps/rep-0141.html) for more context.
- Package documentation is indexed alongside ROS 2's generic content on the docs site

## Context

The per-package documentation plan is an extension of the general ROS 2 documentation project, which introduced some requirements that affect the context of the per-package documentation:

- All documentation will be hosted on `docs.ros.org`
- All documentation will be versioned by ROS 2 distribution names
- The URL structure will be `docs.ros.org/<lang>/<distro>/...` for generic documentation and `docs.ros.org/<lang>/<distro>/p/<package_name>/...` for package documentation
  - See the diagram below for more context on where documentation will fall under this URL structure:
  ![Content placement in the new URL structure - flowchart](per_package_documentation/Version_package_flowchart.png)

## Requirements

The [Primary requirements](#1-primary-requirements) are those that must be in place for the system to be functional and achieve its purpose.
The [Secondary requirements](#2-secondary-requirements) are also absolute requirements, however they are not necessary to roll out the first stage of implementation.
They will be carried out following the initial roll out.

### 1. Primary requirements

**1.1 All package documentation must be available with the rest of the ROS 2 documentation under a single domain**

Package documentation will be treated the same as the generic ROS 2 documentation.
Its presence as part of the docs site should be made well-known from the site's overview as well as from any entry point into the docs site, and be intuitive from the organization and layout of the site.

**1.2 Package documentation must have an easily navigable and intuitive URL structure**

Every package's "home page" should be reachable with minimal effort by the scheme `docs.ros.org/<lang>/<distro>/p/<package_name>/`

**1.3 Package documentation must be maintainable in its repository without going through a third party**

Maintainers and contributors will only have to work on their package's documentation within its repository.
The details of building and hosting will not be a concern of package maintainers.

Despite being hosted alongside the generic documentation, working on a package's documentation will not require any work on the repositories of the generic documentation (currently `ros2/ros2_documentation`) or the site repository (currently `ros-infrastructure/rosindex`).

**1.4 The system must support C++ and Python API docs generation**

The system will automatically extract API docs for these languages from the source code in package repositories and build the output on the docs site.

**1.5 Package documentation must be written and formatted in rst (reStructuredText)**

Rst is the file format currently utilized by the ROS 2 documentation.
Package documentation should continue to utilize rst for consistency.

**1.6 The system must allow package documentation to be versioned per ROS 2 distribution**

The docs site and buildfarm will allow documentation for the latest version of a package corresponding to each ROS 2 distribution the docs site supports versioning for.
The package repository can still maintain its own docs for previous versions.

While multiple package versions per distribution will not initially be supported, the URL structure will support the addition of this feature in the future (mentioned under [Secondary requirements](#2-secondary-requirements) below).

**1.7 The buildfarm must automatically build package documentation**

Changes to the documentation in a package repository shouldn't require the maintainer to manually trigger a build.

**1.8 The system must automatically generate listing content for a package so it's listed on docs.ros.org even if the package maintainer does not explicitly set up anything in the package repository**

By default some package info will be listed for every package added to a rosdistro.

**1.9 The systems must support cross-referencing between packages**

A stable linking process will be in place to cross-reference between package docs despite their originating from separate repositories.

**1.10 The system must prevent the possibility of package file names (created by maintainers) colliding with auto-generated content (from the system's side)**

When writing package documentation, maintainers should not have to concern themselves with auto-generated content, like the current `/changelogs` and `/symbols` directories in the current `docs.ros.org` API docs structure for ROS 1.

### 2. Secondary requirements

**2.1 Package maintainers should have the ability to include free form documentation, like tutorials, design docs, etc., alongside generated API docs on docs.ros.org**

**2.2 The system should provide a standardized interface for generating an index page/landing page for packages, consistent across ROS 2**

**2.3 The system should provide a standardized method for generating package documentation locally, including build error alerts**

**2.4 The system should be extensible for more languages**

**2.5 Users should be able to switch between versions (distributions) while viewing a package's documentation**

**2.6 The system should support building documentation for more than one version of a package per ROS 2 distribution**

**2.7 Changes to documentation pushed in a package repository should be immediately deployed to the documentation site**

**2.8 The system should support bi-directional cross-referencing (“backwards” to dependents)**

## Design

The design covers the solution for satisfying the primary requirements.
Some secondary requirements are also satisfied inherently through the primary design decisions.

In summary, the design for the system is:

- Utilize [Sphinx][1], [Doxygen][2] and [Breathe][3] tools to satisfy both C++ and Python API documentation (1.4), cross-referencing across packages (1.9) and consistent use of RST (1.5)
- Develop a new doc tool integrated into the build system (1.7) for maintainers to run on their packages (1.3) that encompasses Sphinx, Doxygen and Breathe, and builds the docs locally (2.3).
- The output of the tool is uploaded to docs.ros.org (1.1) by the build farm, to the correct URL address (1.2, 1.10)
- A package’s inclusion in a rosdistro (as per normal release process*) will version its documentation to that distribution (1.6) and list the package under that distribution’s listing of packages on docs.ros.org (1.8)
    - Via the inclusion of a doc block in a distribution.yaml in [github.com/ros/rosdistro](https://github.com/ros/rosdistro)

The design description is laid out in the following subsections:

- The [Documentation System](#documentation-system) section, which describes, at a high level, the functionality of the doc tool for both the user side of package documentation as well as how it interacts with the buildfarm.
- The [URL Structure](#url-structure) section, which shows how directories under `docs.ros.org` will be organized in the new system.
- The [Considerations](#considerations) section, which addresses some other options that were considered for various aspects of the design, and why they were decided against.

### Documentation System

#### User process

The doc tool will invoke everything necessary to document a work space according to our requirements and vision for the new documentation site.
It can be run on any ROS 2 package.

The tool may be developed to run standalone, or it may be necessary for maintainers to add a one liner to their package.xml, rosdoc.yaml, etc. telling the tool whether it should be building C++ docs, Python docs, or both.

The tool works by first building the package to ensure all the generated code is accounted for and able to be documented.
Then, the tool checks for a `doxyfile` or C++ code.
If either are present, the tool will run Doxygen.

If the package maintainer wants their C++ code documented, they should include a `doxyfile`.
We can provide a standard template for the `doxyfile`, which maintainers can then customize the contents of, to the specifications of their package’s needs.

Maintainers can also choose to not include a `doxyfile`, in which case the tool will substitute a default doxyfile if it finds C++ code, providing standard configuration for the package.

Doxygen will produce API docs for any C++ code it is run on, and the maintainer has the option to further elaborate on their API docs by including Doxygen comment blocks within their source code.

Once Doxygen is completed, or if it never ran because the tool did not find any `doxyfile` or C++ code, the tool will proceed to running Breathe and Sphinx.

Breathe imports the symbols from Doxygen’s output to Sphinx.
It will allow C++ API docs to be built by Sphinx to maintain consistency across ROS 2 API docs and allow cross-referencing between all packages.

If there is no Doxygen output (no C++ documentation), Sphinx will run without Breathe.
All packages will need a Sphinx configuration file.
If a package doesn’t have one, the tool can use a default one.
Python packages will need Sphinx directives explicitly integrated into the source code to produce API documentation (standard for Sphinx API documentation).

Once complete, the tool will output the package documentation build locally.
Users will be able to see any build errors as well as how their documentation will look once built to `docs.ros.org`.

##### Support for other languages

This section addresses how the system will potentially satisfy requirement 2.4 in the future.
In general, the goal is to treat additional languages the same as the system treats Python and Doxygen.
That is, a library in any additional language should be able to utilize its native/standard documentation tool.
There should then be a bridge between the output of that tool and Sphinx, like how Breathe bridges Doxygen and Sphinx.
This will most likely not be an out-of-box solution for most languages, but the assumption is that extension will be possible.

Bridging with Sphinx allows the assumption that cross-referencing will be possible.
It also maintains the standard landing page requirement; the top level entry point will be Sphinx regardless of a package’s language.
The landing page will provide access to the other generated documentation.

For packages with documentation for multiple languages, the landing pages will provide access to each generator (e.g. “Click here for Doxygen content, Click here for Javadoc content”).
Supporting multiple documentation engines will require that each generator outputs into its own designated directory (see [URL Structure - /generated](#generated)).

#### Buildfarm process

To opt in to having documentation built on docs.ros.org, maintainers will have to add a `doc` block to their `distribution.yaml` file that indicates the rosdistro branch and a path to the repository.
Opting-in this way will cause the tool to automatically generate an index landing page for the package.

The buildfarm will invoke the same tool used in the user process, run on ***n*** packages, to generate the documentation for `docs.ros.org`.
It will require some additional settings, for example the URL where content should generate into.

A webhook between GitHub and the buildfarm will indicate when there is a new commit to a repository (for the branches being tracked for documentation) so the documentation can be automatically regenerated and immediately deployed.

Some files will be auto-generated during this process (changelogs, tag files, etc.).
The auto-generated content won’t be saved to the upstream repositories, but it will be built to `docs.ros.org`.

There is a possibility of collision occurring between maintainer created files and generated files.
To prevent this to the best of the system's ability, the system will place auto-generated content in a restricted directory (see [URL Structure - /generated](#generated)).

##### Cross-referencing between sibling packages

This section addresses requirement 2.8, cross-referencing between sibling packages.
As packages integrate their documentation into the system, cross-referencing between packages will be inconsistent.
It may require multiple builds of all the packages in the system to eventually reach a consistent state for cross-references.
How exactly this will be executed will be determined.

### URL structure

![The URL structure of the new documentation system](per_package_documentation/url-structure.png)

#### `index` pages

The index pages indicate the default page that is rendered when the directory level immediately before is visited without any specific `.html` page following.

For example, visiting docs.ros.org/en/foxy would render `index1`, docs.ros.org/en/foxy/p would render `index2`, and docs.ros.org/en/foxy/p/<package_name> would render `index3`.

`index1` is the general ROS 2 documentation overview page, what is currently seen when visiting index.ros.org/doc/ros2/

`index2` will be the package listing page for each ROS 2 distribution.

`index3` will be each specific package’s homepage.
This will be generated by the tool, but a user-generated index page should also be able to be merged or augmented with the auto-generated page to prevent collision.

#### Versioning at the `<package_name>` level

To support the goal of being able to support multiple versions of packages documented within the context of one distro (2.6) we plan to reserve URL space and have a plan to migrate forward but not to implement it at first.

When functionality is added to the documentation system for more than one version of package documentation per rosdistro, those versions will be appended to the package name in the URL.
For example, `/p/rclcpp` can have versioned content added to `/p/rclcpp-2.1.0` and `/p/rclcpp-3.0.0`.
After enabling versioning, the unversioned URL will be a link to the version currently indexed in the rosdistro.

See [Considerations - Package version directory](#package-version-directory) for an explanation of the naming convention.

#### `/generated`

The purpose of this directory is to allocate a place where automatically generated content can be placed without risk of collision with user-created content.
The tool will throw warnings to ensure users do not write any manual content into `/generated`; it is ultimately up to maintainers to prevent collision.
Manually created content will override auto-generated content it collides with.

The index page for each package will link to the generated API docs, changelogs, etc.

#### `user generated`

Within a package’s repo, the tool will generate a `/docs` directory where maintainers can place any manually created rst files they would like, like tutorials, architecture articles, etc.

The tool will direct Sphinx to generate the content in the `/docs` directory, which will output to the top level when deployed (sibling to `/generated` and `index3`).

However, it may become evident during development of the system that it is necessary to add an additional subdirectory/subdirectories at this level to contain the manually created content.
This decision will be confirmed before deployment of the new site.
For now, the URL structure uses `user generated` as a placeholder for either case.

#### ROS 1 documentation

Besides the addition of `/en`, the structure and functionality of ROS 1’s API documentation will remain the same.
Necessary redirects will be implemented.

### Considerations

#### Other doc tools

There are many documentation tools available, but ultimately Sphinx, Doxygen and Breathe were the best choices to satisfy our requirements.

Sphinx and Doxygen are well-established and ubiquitous for documenting their respective languages
This ensures the robustness of the system more so than any of the non-standard tools, and also that our users will have easy access to resources to aid them in documenting their packages with these tools.

With Breathe, it is simple to satisfy the requirement of coordinating C++ and Python documentation, and basing the system off of Sphinx allows simple customization with Python modules.

Another tool, [Exhale][4] has been considered for future addition to the system.
Exhale adds some extra features available in pure Doxygen that Breathe alone doesn’t import into Sphinx.

#### Allowing pure Doxygen use

If a package maintainer insists on using Doxygen alone, they are of course welcome to.
However, this is not a use case we plan to support.

The standard entry point should be utilizing our tool, which will run Doxygen but then also run Breathe and Sphinx over it so the output can be uniform with the rest of our documentation.
Using Doxygen by itself will sacrifice that consistency and also the ability to cross-reference to and from that package, both major driving points for this project.
The tool should mostly mask the complexities of the Sphinx/Breathe/Doxygen system, making the difference between using “pure” Doxygen and using the new tool negligible for maintainers.

#### Package version directory

To satisfy secondary requirement 2.6, the first obvious consideration for the structure was `.../p/<package_name>/<version>`, but, as indicated in the URL structure section above, the decision is to use `.../p/<package_name-version.number.n>`.

The chosen structure doesn’t force another directory, which allows versioned package documentation to be added later on in the development of the system without leaving an unused directory level in the meantime.
Adding package versions in the future will not disrupt the meaning of the URL structure, because `/<package_name>/` without any appended `-version.number.n` will always implicitly indicate the latest version.

<!-- ## Reference -->

[1]: https://www.sphinx-doc.org/en/master/
[2]: https://www.doxygen.nl/index.html
[3]: https://breathe.readthedocs.io/en/latest/
[4]: https://exhale.readthedocs.io/en/latest/

branch_name: refs/heads/gh-pages


text:
---
hrs_structure:
  division: '3'
  volume: '12'
  title: '30'
  chapter: 557A
  section: 557A-408
type: hrs_section
tags:
  - Property
  - Family
menu:
  hrs:
    identifier: HRS_0557A-0408
    parent: HRS0557A
    name: 557A-408 Insubstantial allocations not required
weight: 82095
title: Insubstantial allocations not required
full_title: 557A-408 Insubstantial allocations not required
---
**PART III. RECEIPTS NORMALLY APPORTIONED**

**[§557A-408] Insubstantial allocations not required.** If a trustee determines that an allocation between principal and income required by sections 557A-409 through 557A-412 or section [557A-415] is insubstantial, the trustee may allocate the entire amount to principal if one of the circumstances described in section 557A-104(c) does not apply to such an allocation. This power may be exercised by a co-trustee in the circumstances described in section 557A-104(d), and it may be released for the reasons and in the manner described in section 557A-104(e). An allocation shall be presumed to be insubstantial if:

(1) The amount of the allocation would increase or decrease an accounting period's net income, as determined before the allocation, by less than ten per cent; or

(2) The value of the asset producing the receipt for which the allocation would be made is less than ten per cent of the total value of the trust's assets at the beginning of the accounting period. [L 2000, c 191, pt of §1]

repository: SamMade/BlueAndKrabby

repo_name: SamMade/BlueAndKrabby


text:
# Node-Red SonosPollyTTS

[![NPM version][npm-version-image]][npm-url]
[![NPM downloads per month][npm-downloads-month-image]][npm-url]
[![NPM downloads total][npm-downloads-total-image]][npm-url]
[![MIT License][license-image]][license-url]
[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)
[![Donate via PayPal](https://img.shields.io/badge/Donate-PayPal-blue.svg?style=flat-square)](https://www.paypal.me/techtoday)
[![Facebook][facebook-image]][facebook-url]

# BIG UPDATE ANNOUCEMENT
On 24 December 2020 a new big update has been released with the new node [TTS-Ultimate](https://github.com/Supergiovane/node-red-contrib-tts-ultimate).

Now, all nodes developed by Supergiovane, does have the "-ultimate" suffix, so you can find it and rely on sturdy and well developed nodes.

TTS-Ultimate supports now both Amazon Polly and Google TTS!

Check it out and install TTS-Ultimate instead of SonosPollyTTS

# UPDATE PATH FROM SONOSPOLLYTTS TO TTS-ULTIMATE
Supergiovane takes care about your brain and your time.

Install TTS-Ultimate. Both SonosPollyTTS and TTS-Ultimate can cohexist.

Then just delete your old SonosPollyTTS nodes and replace it with TTS-Ultimate nodes.

The cache will remain the same. Your own audio files and hailing files won't be touched. You'll find it again in TTS-Ultimate

# DEPRECATION WARNING
On 24 December 2020 this node has been deprecated and superseeded by [TTS-Ultimate](https://github.com/Supergiovane/node-red-contrib-tts-ultimate).

SonosPollyTTS will not be developed anymore.

[license-image]: https://img.shields.io/badge/license-MIT-blue.svg
[license-url]: https://github.com/Supergiovane/node-red-contrib-sonospollytts/master/LICENSE
[npm-url]: https://npmjs.org/package/node-red-contrib-sonospollytts
[npm-version-image]: https://img.shields.io/npm/v/node-red-contrib-sonospollytts.svg
[npm-downloads-month-image]: https://img.shields.io/npm/dm/node-red-contrib-sonospollytts.svg
[npm-downloads-total-image]: https://img.shields.io/npm/dt/node-red-contrib-sonospollytts.svg
[facebook-image]: https://img.shields.io/badge/Visit%20me-Facebook-blue
[facebook-url]: https://www.facebook.com/supergiovaneDev


text:
# as-inliner-image

[AssemblyScript](https://github.com/AssemblyScript/assemblyscript) transform to inline images as arrays of RGBA values 🚀

Based on https://github.com/surma/as-inliner

## Install

```sh
npm i as-inliner-image -D
```

## Use

```typescript
const image: StaticArray<u8> = Inliner.inlineImageAsRgbaStaticArray(
    "../assets/image.png"
);
```

Inlining works through [ASC transforms](https://www.assemblyscript.org/transforms.html#transforms):

```sh
npx asc assembly/index.ts --transform as-inliner-image
```

or place it in your `asconfig.json`:

```json
{
  ...
  "options": {
    "transform": ["as-inliner-image"]
  }
}
```

Or extend the `asconfig.json` here:

```json
{
  "extend": "as-inliner-image/asconfig.json"
}
```

## Limitations

Currently supported image formats:

- PNG

## Licence

[MIT](https://github.com/ttulka/as-inliner-image/blob/main/LICENSE)

repository: ttulka/as-inliner-image

repo_name: ttulka/as-inliner-image


text:
---
title: Chen Jen Hao 陈人浩
permalink: /guides/singapore/people/chen-jen-hao/
breadcrumb: Chen Jen Hao
collection_name: singapore-people
third_nav_title: A - H
published: true
---

### Guide Index

* [Introduction](#introduction)
* [Selected books on Chen Jen Hao](#selected-books-on-chen-jen-hao)
* [Selected articles on Chen Jen Hao](#selected-articles-on-chen-jen-hao)
* [Selected newspaper articles on Chen Jen Hao](#selected-newspaper-articles-on-chen-jen-hao)
* [Selected oral history interviews on Chen Jen Hao](#selected-oral-history-interviews-on-chen-jen-hao)
* [Selected works by Chen Jen Hao](#selected-works-by-chen-jen-hao)

### Introduction

Chen Jen Hao (陈人浩; 1908 – 1976) was a pioneer artist and educator. Best known for his Chinese calligraphy, he was also adept at western painting. He received his art education in both Shanghai and Paris and took up a professorship at Shanghai Art Academy upon returning from Paris. Chen came to Malaya in 1937 upon the outbreak of the Second Sino-Japanese War and took up a teaching position in Muar. He moved to Singapore in 1956 where he was appointed the headmaster (afternoon session) of Kallang West Government Chinese Middle School (now Dunman High School) and later became its principal. Chen was active in the local art scene, such as participating in several art exhibitions and serving as president of the Society of Chinese Artists and honorary advisor to the Lee Kong Chian Museum of Asian Art at Nanyang University among others. He also actively participated in educational societies in both Malaya and Singapore.

### Selected books on Chen Jen Hao

* 黄明宗. (主编). [Huang, M. Z. (Ed.).] (1975?). [中华美术研究会四十周年纪念特刊1975](http://eservice.nlb.gov.sg/item_holding_s.aspx?bid=12824863)  [Society of Chinese Artists 40th Anniversary Magazine 1975]. 新加坡: 中华美术研究会.
Call no.: Chinese RSING 759.95957 SOC
This anniversary magazine provides the history of the Society of Chinese Artists and brief biographies and artworks of its members. It also contains a preface by Chen Jen Hao, who was the Vice-President of the Society then, his biography and an image of Chen’s oil painting, Luoma Jiyou (Travels in Rome; 罗马纪游).

* 柯木林. (主编). [Ke, M. L. (Ed.).] (1995). [新华历史人物列传](http://eservice.nlb.gov.sg/item_holding_s.aspx?bid=84500628) [Who’s who in the Chinese community of Singapore]. 新加坡: 教育出版公司, p. 67.
Call no.: Chinese RSING 959.570092 WHO-\[HIS\].
The book contains the biographies of 1,175 Chinese personalities in Singapore, covering the period from 1819 to 1990. Each biography contains the birth and death dates, dialect group, occupation and affiliated organisations of the Chinese personality. Chen Jen Hao’s biography is also included.

* 方百成, 杜南发. (编委主任). [Fang, B. C. and Du, N. F. (Ed.).] (2012). [世界福建名人录, 新加坡编](http://eservice.nlb.gov.sg/item_holding_s.aspx?bid=200125706). [Prominent figures of the world Fujian communities: Singapore]. 新加坡: 新加坡福建会馆, pp. 51–53.
Call no.: Chinese RSING 920.05957 PRO
The book contains the biographies of 155 Chinese Hokkien personalities in Singapore, covering the period from 1819 to 2012. Chen Jen Hao’s biography in this book highlighted his contribution towards education and the arts.

### Selected articles on Chen Jen Hao

* 刘抗 [Liu, K.] (1981). 兼教育者的画家陈人浩 [Chen Jen Hao, the artist who is also an educator]. In [刘抗文集](http://eservice.nlb.gov.sg/item_holding_s.aspx?bid=84492559). 新加坡: 教育出版社, pp. 116–121.
Call no.: Chinese RSING 709.2 LK
This article provides a brief biography of Chen Jen Hao and comments on his artworks in various genres, such as calligraphy and western painting.

* Maulod, A. (2016). [Chen Jen Hao](http://eresources.nlb.gov.sg/infopedia/articles/SIP_1474_2009-02-25.html). Retrieved from Infopedia.
This brief biography of Chen Jen Hao also highlights Chen’s contribution to the art scene in Singapore.

### Selected newspaper articles on Chen Jen Hao

* [麻坡青年励志社筹办美术展览会筹赈 首次委员会议决定进行要案——展览会职员已分别选定](http://eresources.nlb.gov.sg/newspapers/Digitised/Article/nysp19380428-<IP_ADDRESS>). (1938, April 28). 南洋商报, p. 15. Retrieved from NewspaperSG.
The article reports on an art exhibition organised by the Qingnian Lizhi She (青年励志社; Youth Association) in Muar to raise funds for the war relief efforts in China. Chen Jen Hao was nominated as the vice-chairperson of the organising committee and the article included a brief introduction of Chen.

* [麻坡中化校长陈人浩辞职乃欲有较多之时间从事美术研究工作](http://eresources.nlb.gov.sg/newspapers/Digitised/Article/nysp19541029-<IP_ADDRESS>). (1954, October 29). 南洋商报, p. 6. Retrieved from NewspaperSG.
This article announces the resignation of Chen Jen Hao as principal of Chung Hwa High School in Muar as he wished to pursue his research in fine arts. The article also included a short write-up on Chen and his career in Chung Hwa High School.

* [The artist who chose to teach](http://eresources.nlb.gov.sg/newspapers/Digitised/Article/nysp19260211-<IP_ADDRESS>). (1984, March 24). The Straits Times, p. 15. Retrieved from NewspaperSG.
This article highlights comments made by Ho Kah Leong on Chen Jen Hao when Ho opened the exhibition of Chinese calligraphy and paintings by Chen.

### Selected oral history interviews on Chen Jen Hao

* Quah, I. (Interviewer). (1996, January 25). Oral history interview with Liu Thai Ker [Accession No. 001732, reels 1-4 of 29]. Retrieved from National Archives of Singapore website: http://www.nas.gov.sg/archivesonline/
An interview with Liu Thai Ker, nephew of Chen Jen Hao. In the selected reels, Liu Thai Ker spoke about his uncle, and the influence that he had on him.

* Tan, B. L. (Interviewer). (1983, January 13.) Oral history interview with Liu Kang [Accession No. 000171, reels 42 of 74]. Retrieved from National Archives of Singapore website: http://www.nas.gov.sg/archivesonline/
An interview with Liu Kang, close friend and brother-in-law of Chen Jen Hao. In this reel, Liu Kang briefly talked about him and their friendship.

### Selected works by Chen Jen Hao

* 陈人浩.. [Chen, R. H.] (2006). [陈人浩书画](http://eservice.nlb.gov.sg/item_holding_s.aspx?bid=12774791) [Chinese calligraphy works and paintings by Chen Jen Hao]. 新加坡: 啸涛篆刻书画会.
Call no.: Chinese RSING 745.619951 CJH
In conjunction with the 30th anniversary of the passing of Chen Jen Hao, Siaw-Tao Chinese Seal-Carving Calligraphy & Painting Society organised an exhibition on Chen’s works and published this book. It contains plates of paintings, calligraphy and writings by Chen Jen Hao, as well as photographs and biography of and articles on Chen.

* 陈人浩.. [Chen, R. H.] (1984). [人浩书画](http://eservice.nlb.gov.sg/item_holding_s.aspx?bid=84446651) [The collection of Chinese calligraphy & paintings by the late Mr. Chen Jen Hao]. 新加坡: 新加坡中华书学协会.
Call no.: Chinese RSING 759.95957 CJH
This book is a compilation of plates of selected calligraphy and paintings by Chen Jen Hao, and includes a biography of and writings on Chen.

repository: nlbnls/nlb-reference

repo_name: nlbnls/nlb-reference