text:
# [DEPRECATED] node-ses-any-promise

This is a fork of [node-ses](https://github.com/aheckmann/node-ses) with [any-promise](https://github.com/kevinbeaty/any-promise) support. No feature is added or removed.

All functions that require callback function in the original project now return a promise:

``` javascript
// register your favorite promise library, default would be the native global promise
require('any-promise/register/bluebird');

var ses = require('node-ses-any-promise');
var client = ses.createClient({ key: 'key', secret: 'secret' });

// Give SES the details and let it construct the message for you.
client.sendEmail({
  to<EMAIL_ADDRESS>  from<EMAIL_ADDRESS>  cc<EMAIL_ADDRESS>  bcc<EMAIL_ADDRESS><EMAIL_ADDRESS>  subject: 'greetings',
  message: 'your <b>message</b> goes here',
  altText: 'plain text'
};
.then(function(data, res) {
  // do something
})
.catch(function(err) {
  // do something
});

// ... or build a message from scratch yourself and send it.
client.sendRawEmail({
  from<EMAIL_ADDRESS>  rawMessage: rawMessage
})
.then(function(data, res) {
  // do something
})
.catch(function(err) {
  // do something
});
```

For more detial, see the documentation of `node-ses` and `any-promise`.

## Licence

[MIT](https://github.com/haoliangyu/node-ses-any-promise/blob/master/LICENSE)

repository: haoliangyu/node-ses-any-promise

repo_name: haoliangyu/node-ses-any-promise


text:
### Hi there 👋

```clojure
((defn func [] (println (clojure.string/join "\u000a" ["|_|O|_|" "|_|_|O|" "|O|O|O|"]))))
```

```python
print('👨🏻💻 by day && night 🎮')
```

```prolog
job_title(X) :-
    member(X, ['Software Engineer', 'Security Researcher']),
    \+ member(X, ['Cyberflow']).
```

[![Krypton's GitHub stats](https://github-readme-stats.anuraghazra1.vercel.app/api?username=Ace-Krypton&count_private=true&include_all_commits=true&hide=contribs&show_icons=true&theme=radical)](https://github.com/Ace-Krypton)
[![Top Langs](https://github-readme-stats.vercel.app/api/top-langs/?username=Ace-Krypton&exclude_repo=Ace-Krypton.github.io,free-for-dev&layout=compact&langs_count=8&theme=radical)](https://github.com/Ace-Krypton)

![](https://komarev.com/ghpvc/?username=Ace-Krypton&color=yellow)

  More about me

It was a joke, there is no more info here  `¯\_(ツ)_/¯`

If you want to know more about me just send me a mail to<EMAIL_ADDRESS>and I would gladly answer your questions or try to help you out with whatever you need!

In fact, if you think about it, this above was actually more information about me :)

license: MIT

branch_name: refs/heads/main

extension: md

gha_license_id: MIT

license_type: permissive


text:
Kushillu
========

Kushillu: Means "Monkey" in kichwa. This is a simple Continuous Integration based on Django and docker with excellent github integration.

Supports:
* **Build Badge** showing status (building, passing, failing) for use in readme files.
* **Github webhooks** to kick off builds
* **Github status updates** to mark commits and pull requests as passing/failing.
* **intelligent setup caching** for faster build. A persistent attached volume on the docker image allows you to check the hash of your pre test setup (eg. python's `requirements.txt` file) and copy it into place if it exists instead of rebuilding it.
* **prebuild/build** split, so you can visually and logically split CI setup and actual setup.
* **Coverage** the output can be parsed for the coverage value which which is then listed next to builds.

## Basic Setup

Run the following:

    cd /var/www/
    git clone git@github.com:codeadict/kushillu.git
    cd kushillu/
    virtualenv env
    source env/bin/activate
    pip install -r requirements.txt
    grablib grablib.json
    ./manage.py syncdb

## To run the dev server

This assumes you have docker installed and working.

    ./manage.py runserver

## To deploy with Nginx

This assumes:
* you already have Nginx working
* this repository is cloned to `/var/www/kushillu`
* the setup above is permformed (virtualenv, grablib, syncdb)
* docker is installed and setup to be usable by you web server user (www-data)

We're going to run kushillu as the `www-data` user, if you wish to use sqlite (you shouldn't) give `www-data` access to the project dir.

    sudo chown -R kushillu:www-data /var/www/kushillu

Edit one of the `setup/conf_nginx.conf ` to set your server

Copy it to `available-sites` and enable it

    sudo cp setup/conf_nginx.conf /etc/nginx/sites-available/kushillu.conf
    sudo ln -s /etc/nginx/sites-available/kushillu.conf /etc/nginx/sites-enabled/

Check the user id for `www-data`

    id -u www-data

set `uid` and `gid` to that value in `setup/uwsgi.ini`

Start `uwsgi`:

    sudo /var/www/kushillu/env/bin/uwsgi --ini /var/www/kushillu/setup/uwsgi.ini

You can check the log to see if it's started ok:

    sudo tail -n 100 /var/log/kushillu-uwsgi.log

If everything has gone ok you can restart nginx:

    sudo service nginx restart

You can make sure the system start after reboot by adding the following to `/etc/rc.local`:

    /var/www/kushillu/setup/start_uwsgi.sh

## Docker Setup

Follow [the docker instructions](https://docs.docker.com/) to install docker.

Make sure you can use docker without super user privileges **and that www-data can do the same**.

To enable www-data to use docker:

    sudo gpasswd -a www-data docker
    sudo service docker.io restart

Then "log in" www-data again, the easiest way is `sudo reboot`.

Kushillu needs a docker image to use for builds, by default this is called `kushillu` (can be changed on project setup)
to create such an image from the example docker file `docker/Dockerfile` run

    docker build -t kushillu docker/Dockerfile

## localsettings.py and S3

You should overwrite some of the vital system settings in localsettings.py, but is not included in the repo for security reason.

This also allows you to configure kushillu to save code backups in S3.

    # to allow django to send you emails on system errors, examples uses gmail for convienience
    EMAIL_USE_TLS = True
    EMAIL_HOST = 'smtp.gmail.com'
    EMAIL_PORT = 587
    EMAIL_HOST_USER = '<< username >>'
    EMAIL_HOST_PASSWORD = '<< password >>'

    DATABASES = {'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'kushillu',
        'USER': 'postgres',
        'PASSWORD': 'kushillu',
        'HOST': 'localhost',
        'PORT': '',
        'CONN_MAX_AGE': None
    }}

    SECRET_KEY = '!!! set a random string here !!!'

    ADMINS = (('<< your name >>', '<< your email address >>'),)
    MANAGERS = ADMINS

    # to use S3 for saving backups, use the following
    DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
    AWS_QUERYSTRING_AUTH = True
    AWS_S3_SECURE_URLS = True
    AWS_DEFAULT_ACL = 'private'
    AWS_QUERYSTRING_EXPIRE = 600
    AWS_ACCESS_KEY_ID = 'aws access key'
    AWS_SECRET_ACCESS_KEY = 'aws secret key'
    AWS_STORAGE_BUCKET_NAME = 'aws bucket name'

    MEDIA_URL = 'https://s3.amazonaws.com/%s/' % AWS_STORAGE_BUCKET_NAME

repository: codeadict/kushillu

branch_name: refs/heads/master

repo_name: codeadict/kushillu


text:
0. You should have the Android SDK installed and download important stuff via SDK Manager. I suggest you use an IDE like Eclipse (Android Studio will work too, but I didn't try)

1. Clone this repository to your local harddrive: `git clone https://github.com/cubei/FlappyCow.git`

2. Open your IDE (with a new workspace)

3. `Import Android Code` -> choose the cloned folder "FlappyCow"

4. Get rid of the the ad errors. Choose option a or b.

* a) The ads need the Google Play Services. You can set up a library project [like this](https://developers.google.com/mobile-ads-sdk/docs/). Android Studio should have this already built in.
* b) Remove the ads: Go into the `AndroidManifest.xml` and delete the ad related stuff. They should be marked as an error. Now you will see only remaining errors in the `Game.java` file. Delete the faulty lines in *setLayouts()*, *onResume()* and the ad imports.

Enjoy the code.

repository: yongandroid/NyamCat

repo_name: yongandroid/NyamCat


text:
# Use NetApp's OnCommand Performance Manager to send stats about your NetApp clusters to InfluxDB and then visualise them in Grafana
Normally, OCPM supports an "external data provider", in the form of Graphite, which is.. kinda outdated.
Thankfully, InfluxDB, a more modern and optimised time series database provides a Graphite compatibility mode, with the use of templates which "translate" Graphite's format into InfluxDB's.
I have compiled an InfluxDB template, a doc and a simple Grafana dashboard to start using OCPM with InfluxDB with Grafana(the most popular visualisation choice with Graphite, InfluxDB and others).

# Prerequisites

* NetApp OCPM
* InfluxDB 0.13+
* Grafana 3+
* Network connectivity between Grafana and InfluxDB, and between OCPM and InfluxDB

# Configure InfluxDB to accept and translate OCPM's stats

Before sending data from OCPM, you need to configure InfluxDB how to accept it. In the [influxdb.conf](./influxdb.conf) I have provided an example Graphite configuration to append to your InfluxDB conf file(usually in /etc/influxdb/influxdb.conf).
If you already have an existing graphite configuration, you can only copy the templates part, which is all that matters.
Then restart the InfluxDB service and everything is ready here.

# Configure OCPM to send data to InfluxDB

Follow [this guide](https://library.netapp.com/ecmdocs/ECMP1552962/html/GUID-DD62BEF8-AE57-4382-BF08-D22E94A26A9A.html) from NetApp, inputing the IP/fqdn of your InfluxDB server with the proper port(by default 2003).

# Check data is comming in
Wait a few minutes(at least 5), and then connect to the InfluxShell by running influx on your InfluxDB server. Then choose the graphite database, and select it's measurements:

```
$ # influx
Visit https://enterprise.influxdata.com to register for updates, InfluxDB server management, and monitoring.
Connected to http://localhost:8086 version 0.13.0
InfluxDB shell version: 0.13.0
> use graphite
Using database graphite
> show measurements

```

And here you should get a nice list measurements(aggregates, ports, etc.). If there's nothing, wait some more and retry, and check the InfluxDB logs (by default /var/log/influxdb/influxdb.log) if anything was received. If not, it's probably a network connectity issue.

# Getting started with Grafana
There's an example dashboard in [netapps_overview_ocpm.json](./netapps_overview_ocpm.json). Open it and change every occurence of "InfluxDB graphite" with your datasource name, and then import it to Grafana.

# Advanced
If you want better granularity than OCPM's 5 mins, and more details, you can install NetApp Harvest(downloadable from NetApp's website along with its installation guide), and use [this project](https://github.com/Oxalide/netapp-harvest-influxdb) to achieve similar results(send all the data in InfluxDB instead of Graphite and visualise it with Grafana).

# License
This project is licensed under the MIT License, available in [LICENSE.txt](./LICENSE.txt)

repository: Oxalide/NetApp-OCPM-InfluxDB

repo_name: Oxalide/NetApp-OCPM-InfluxDB


text:
# Projects-Dump
A dump of older, yet interesting projects in C++ and Python

Listed in order of creation 2014-2016

# Edos explorer
An ASCII roguelike in C++. The idea was that I programmed a game and others created text levels for it since they couldn't program very well. My first big project. Even has sounds and colors!

# Army Sim
An ASCII army simulator attempt with C++. Uses multiple inheritance, A\* pathfinding. Will crash if you enter too many soldiers

# Snake Python
A not-so-original remake of a classic in Python. Uses pretty sprites :)

# Merger and Drawer
Merger is a big project that aimed to do the impossible - combine two arbitrary shapes into one. The requirements are very subjective, yet I was surprised to find out nobody has done it before (at least I couldn't find anything similar). There's lots of math involved. In the end, it does the job pretty well. There were a few other things that I wanted to do but couldn't.

Drawer is a tool that I used to create lists with coordinates to use them in Merger project when combining shapes.

repository: EdvardasDlugauskas/Projects-Dump

repo_name: EdvardasDlugauskas/Projects-Dump


text:
# Generate Your Own Voxel Data
You can provide your own voxel generator by extending VoxelGenerator in either GDScript or C++.

Note: Your generator must be thread safe.

Create MyStream.gd with the following contents:

```
extends VoxelGenerator

export var channel:int = VoxelBuffer.CHANNEL_TYPE

func get_used_channels_mask () -> int:
        return 1<<channel

func generate_block(buffer:VoxelBuffer, origin:Vector3, lod:int) -> void:
	if lod != 0: return
	if origin.y < 0: buffer.fill(1, channel)
	if origin.x==origin.z and origin.y < 1: buffer.fill(1,channel)
```

In your terrain generation script, add this:

```
const MyStream = preload ("MyStream.gd")
var terrain = VoxelTerrain.new()

func _ready():
	terrain.stream = MyStream.new()
	terrain.view_distance = 256
	terrain.viewer_path = "/root/Spatial/Player"    # Set this path to your player/camera
	add_child(terrain)
```

Though `VoxelBuffer.fill()` is probably not what you want to use, the above is a quick example. Generate_block generally gives you a block of 16x16x16 cubes to fill all at once, so you'll want to use `VoxelBuffer.set_voxel()` to specify each one. You can change the channel to `VoxelBuffer.CHANNEL_SDF` to get smooth voxels.

In the fps_demo, there is a [custom gdscript stream](https://github.com/tinmanjuggernaut/voxelgame/blob/master/project/fps_demo/scripts/MyStream.gd) that makes a sine wave. This was copied from the [C++ version](../generators/voxel_generator_waves.cpp), which runs a lot faster.

---
* [Next Page](07_performance-tips.md)
* [Doc Index](01_get-started.md)

gha_license_id: NOASSERTION


text:
# Data scraping from YouTube Channels

# Introduction

This script was developed for the analysis of Portuguese. I hope it
helps colleagues in the LC area and popularize the use of R. It is part
of our research project developed with CNPQ. Please drop me a line if
you have any doubts or need any help.

# Purpose of this repository

This git brings the scripts for my article:

-   Lima-Lopes R.E. (forthcoming). Beyond the Binary: Trans Women’s
    Video Activism on YouTube. Accepted for publication at *Digital
    Scholarship in the Humanities*.

This script is specifically about **data scraping**.

# Packages

For data scraping and manipulation we are going to need some packages,
each has a different function

-   abjutils: diacritic removal in Brazilian Portuguese
-   tm, tidytext, tidyverse, magrittr: data manipulation and cleaning
-   ggridges: graph plotting
-   formattable: table formating
-   reticulate: interface between R and Python

Please, note that \<`your Python instalation`\> refers to your Python
executable path.

``` r
library(abjutils)
library(tidytext)
library(reticulate)
reticulate::use_python("<your Python instalation>", required = TRUE)
library(tidyverse)
library(magrittr)
library(stm)
library(tm)
library(ggridges)
library(formattable)
options(scipen = 999)
```

# Creating and running the basic command

Those are the fields we are going to use for scraping the data from
YouTube channels.

``` r
basic.fields <- c("id", "title", "alt_title", "creator", "release_date",
                "timestamp", "upload_date", "duration", "view_count",
                "like_count", "dislike_count", "comment_count")
```

Now we are going to format the fields, using &&& as separators

``` r
fields <- basic.fields %>%
  map_chr(~paste0("%(", ., ")s")) %>%
  # use &&& as fiels separator
  paste0(collapse = "&&&") %>%
  # add quotes in the beging and end of each stream
  paste0('"', ., '"')
```

The next variable is the link for the video or channel you intend to
research. Please, note that due to ethical reasons I cannot provide the
links I used for the article.

``` r
url <- "<your channel or video URL>"
```

Next, let us make the query command

``` r
cmd_raw <- str_glue("youtube-dl -o {fields} -i -v -w --skip-download --write-auto-sub --sub-lang pt --sub-format vtt {url}")
```

Now we need to tell the system where the subtitles will be saved

``` r
Captions.Folder <- "<path to the folder>" # Informs the folder location
fs::dir_create(Captions.Folder) # Creates the folder
download.captions <- str_glue("cd {Captions.Folder} && {cmd_raw}") # Creates the actual command
```

Finally we run the dollowing command and wait.

``` r
system(download.captions)
```

Please, note that it will be necessary to repeat this code for each
channel.


text:
This is re-write of the [ReactiveX IxJS](http://https://github.com/ReactiveX/IxJS) library. This version is re-written in TypeScript, and includes several new operators.

# The Interactive Extensions for JavaScript (IxJS)... #

*...is a set of libraries to compose synchronous and asynchronous collections and [Array#extras](http://blogs.msdn.com/b/ie/archive/2010/12/13/ecmascript-5-part-2-array-extras.aspx) style composition in JavaScript*

The Interactive Extensions for JavaScript (IxJS) is a library for creating and composing asynchronous sequences using both the `Iterable` and `AsyncIterable` classes.

## `Iterable`

The `Iterable` class a way to create and compose synchronous collections much like Arrays, Maps and Sets in JavaScript using the Array#extras style using the familiar methods you are used to like `map`, `filter`, `reduce` and more.

```js
const Iterator = require('ix').Iterator;

Iterator.from([1,2,3,4])
  .filter(x => x % 2 === 0)
  .map(x => x * 2)
  .forEach(x => console.log(`Next ${x}`));

// => 4
// => 8
```

The `Iterable` class implements the iterator pattern in JavaScript by exposing the `[Symbol.iterator]` method which in turn exposes the `Iterator` class.  The iterator yields values by calling the `next()` method which returns the `IteratorResult` class.

```typescript
interface Iterable<T> {
  [Symbol.iterator](): Iterator<T>;
}

interface Iterator<T> {
  [Symbol.iterator](): Iterator<T>;
  next(): IteratorResult<T>;
}

interface IteratorResult<T> {
  value: T;
  done: Boolean;
}
```

## `AsyncIterable`

The `AsyncIterator` class is based off the ECMAScript Proposal for [Asynchronous Iterators](https://github.com/tc39/proposal-async-iteration).  This would allow us to create asynchronous collections of Promises and be able to use such methods as the `map`, `filter`, `reduce` and other Array#extras methods that you are used to using.

```js
const AsyncIterable = require('ix').AsyncIterable;

async function *gen() {
  yield Promise.resolve(1);
  yield Promise.resolve(2);
  yield Promise.resolve(3);
  yield Promise.resolve(4);
}

AsyncIterable.from(gen())
  .filter(x => x % 2 === 0)
  .map(x => x * 2)
  .forEachAsync(x => console.log(`Next ${x}`))
  .catch(err => console.log(`Error ${err}`));

// => 4
// => 8
```

The `AsyncIterable` class implements the async iterator pattern in JavaScript by exposing the `[Symbol.asyncIterator]` method which in turn exposes the `AsyncIterator` class.  The iterator yields values by calling the `next()` method which returns a Promise which resolves a `IteratorResult` class.

```typescript
interface AsyncIterable<T> {
  [Symbol.asyncIterator](): AsyncIterator<T>;
}

interface Iterator<T> {
  [Symbol.asyncIterator](): Iterator<T>;
  next(value): Promise<IteratorResult<T>>;
  [optional] throw(value): Promise<IteratorResult<T>>;
  [optional] return(value): Promise<IteratorResult<T>>;
}

interface IteratorResult<T> {
  value: T;
  done: Boolean;
}
```

## License ##

The MIT License (MIT)

Copyright (c) Christy Haragan

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

 IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

## Original License ##

The MIT License (MIT)

Copyright (c) ReactiveX

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

 IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

repository: christyharagan/IxJS

gha_language: TypeScript

repo_name: christyharagan/IxJS


text:
### [CVE-2021-40345](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-40345)
![](https://img.shields.io/static/v1?label=Product&message=n%2Fa&color=blue)
![](https://img.shields.io/static/v1?label=Version&message=n%2Fa&color=blue)
![](https://img.shields.io/static/v1?label=Vulnerability&message=n%2Fa&color=brighgreen)

### Description

An issue was discovered in Nagios XI 5.8.5. In the Manage Dashlets section of the Admin panel, an administrator can upload ZIP files. A command injection (within the name of the first file in the archive) allows an attacker to execute system commands.

### POC

#### Reference
No PoCs from references.

#### Github
- https://github.com/ARPSyndicate/cvemon
- https://github.com/ArianeBlow/NagiosXI-RCE-all-version-CVE-2021-40345
- https://github.com/SYRTI/POC_to_review
- https://github.com/WhooAmii/POC_to_review
- https://github.com/nomi-sec/PoC-in-GitHub
- https://github.com/soosmile/POC
- https://github.com/trhacknon/Pocingit

repository: trickest/cve

gha_language: HTML

repo_name: trickest/cve


text:
## Objectives:
   #### To create an easy-to-use GUI for monitoring and changing the various states
     - It might consist of a futuristic UI with interactive animations
     - enables user to login to jarvis and
     - monitor system functions
     - provides an alternative to voice controlled actions

## Tentative platforms(in increasing order of preference and decreasing order of difficulty to implement):
  - Naive solution - rainmeter theme
  - desktop application using tkinter(python)
  - desktop application using electron.js
  - a standalone OS which can be flashed on a desktop


text:
<!-- .slide: data-background="../img/background/agile.jpg" -->
# Agile & DevOps

---

<!-- .slide: data-background="../img/background/agile.jpg" -->
> The significant difference between Agile and DevOps is that the former forgot to invite experts from the second half of the software development lifecycle.

<!-- .slide: data-background="../img/background/agile.jpg" -->
> The only way to say that something is done is to run it in production successfully. Everything else is faking the status.

<!-- .slide: data-background="img/assembly-agile-01.png" data-background-size="contain" -->

<!-- .slide: data-background="img/assembly-agile-02.png" data-background-size="contain" -->

<!-- .slide: data-background="img/assembly-agile-03.png" data-background-size="contain" -->

<!-- .slide: data-background="img/assembly-agile-04.png" data-background-size="contain" -->

<!-- .slide: data-background="img/assembly-agile-05.png" data-background-size="contain" -->

<!-- .slide: data-background="../img/background/agile.jpg" -->
> The problem of coupling creative design work with repetitive tasks of an assembly line often exists no matter whether you're using Waterfall or Agile processes.


text:
## bosch_imu_driver
A driver for the sensor IMU Bosch BNO055. It was implemented only the UART communication interface
(correct sensor mode should be selected).

Parameters:
- **port** (default: '/dev/ttyUSB0') - path to USB port where device was connected.
- **frame_id** (default: 'imu_link') - the frame in which sensor data will be published.
- **frequency** (default: 100) - the frequency of reading from device and publishing data in Hz.
- **operation_mode** (default: OPER_MODE_NDOF) - the operation mode of sensor BNO055. Other modes could be found in sensor [datasheet](https://www.bosch-sensortec.com/bst/products/all_products/bno055).

Publishes:
- **/imu/data** [(sensor_msgs/Imu)](http://docs.ros.org/api/sensor_msgs/html/msg/Imu.html)
- **/imu/raw** [(sensor_msgs/Imu)](http://docs.ros.org/api/sensor_msgs/html/msg/Imu.html)
- **/imu/mag** [(sensor_msgs/MagneticField)](http://docs.ros.org/api/sensor_msgs/html/msg/MagneticField.html)
- **/imu/temp** [(sensor_msgs/Temperature)](http://docs.ros.org/api/sensor_msgs/html/msg/Temperature.html)

gha_language: JavaScript


text:
Debugging Hugo made easy
=========================

Usage
------

Import as a Hugo module
```bash
hugo mod get github.com/atishay/hugo-debug-utils
```

Add in your template.

```go-html-template
{{- partial "debug/debug.html" (dict "context" .) -}}
```

If you need the template information, in each template provide

```go-html-template
{{- partial "debug/debug.html" (dict "context" . "template" "layouts/<your template location>") -}}
```

For printing to JavaScript console while development:
```go-html-template
{{ partial "console" $someVariable }}
```

Contents
--------

### Debug Menu

* Based on JugglerX's debug bar - https://github.com/JugglerX/hugo-debug-bar
* Which includes Kaushal modi's debug print - https://github.com/kaushalmodi/hugo-debugprint

### Debug JSON helper
* Based on Scherb's helper - https://discourse.gohugo.io/t/easier-debugging-hugo-variables-using-the-javascript-console/22873

repository: hugoinaction/hugoinaction

gha_language: Smarty

repo_name: hugoinaction/hugoinaction


text:
---
published: true
layout: post
title: "Chapter 12 - Who Is The Most Frightening Individual"
category: heaven-awakening
previous_chapter: 11
next_chapter: 13
---
“ Hey hey, don’t just create trouble here!”

 Mo Lin rushed ahead to drag Xi Fan away. The sudden appearance of Lu Ping produced a burst of excitement in him. As he once again looked at Lu Ping effortlessly taking care of Luo Yin, a Liked One, he almost jumped up. At the moment, he was even more curious and full of expectations towards Lu Ping. As for Xi Fan, he couldn’t bother to be emotionally moved because of his attempts in saving his life, on the contrary, he was actually a little bit annoyed by him for being a hindrance in Lu Ping’s actions.
<!--more-->

“ Where is that other person?”

Even in death, Xi Fan won’t be able to convince himself that the ‘other person’ is Lu Ping. He was again looking around himself in an attempt to find that another person. However, he truly was at his limit. Although his Strength’s soul was at third Heavenly Layer, it was still not enough to resist from being foolishly dragged around to the side. After being dragged to the side, he once again lost his strength and collapsed on the ground.

“ Don’t move around on your own. I just stopped your bleeding.” Mo Lin said as he fiddled inside his bag, but eighty percent of his vision was still concentrating on Lu Ping. What is the real strength of Lu Ping, he doesn’t wish to miss a single moment.

“ Who are you?”  At this moment, he didn’t felt like laughing and chatting as he was doing just a moment ago.

“ Garbage…” Xi Fan was spitting blood and trying to say something towards Lu Ping. It seems like, in the end,  he was still unable to find that ‘ the other person’ in his mind.

“ Hehe.” Lu Ping laughed, he didn’t mind Xi Fan’s way of addressing him. He also didn’t introduce himself to Luo Chong. WIthout bothering to put up any kind of defense, he just walked towards Luo Chong.

Luo Chong didn’t immediately move forward to face him. He was waiting, waiting for the intel perceived by Luo Xing behind his body.

Luo XIng is a Linked One of Infusion’s soul. Fourth level ability “True Detection” is an extremely precise kind of perceiving skill. Employing it to perceive the realm of an individual is basically same as using a sledgehammer to crack a nut. A faint radiance flashed in both of Luo Xing’s eyes, she thought this should suffice.

But, she was unable to gain anything.

“ There is no realm…..”. She very shakily forced out these words from her mouth.

“ What?”

Luo Chong heard her but he asked for confirmation, believing that he had misheard.

“ I will look one more time…” Luo Xing herself was absolutely unable to believe this answer. She intensified the radiance her eyes, she wanted to obtain the results of intensified “True Detection” but Lu Ping had already arrived in their front.

He was still not in any kind of stance, he just raised his hand and punched.

As he did, Luo Chong bent down with an incredulous expression in his eyes.

Right from the first step Lu Ping took till he waved his hand, he was unblinkingly concentrating all of his attention on the movements of Lu Ping. There wasn’t any sort of unusual rhythm or aggression in his movements.

Then, he raised his hand and waved his fist.

But right after that, his clenched fist suddenly disappeared followed by a sharp pain in stomach.

Intolerable pain. Luo Chong didn’t know what words he could use to describe this kind of pain. A single fist’s pain was causing him to feel as if his whole body is withering, as if his five visceras and six bowels are exploding.

The dagger in his hand fell down, he couldn’t be bothered with such a thing. There was only one thought in his mind, that was pain!

He wildly bent down his waist and then vomited severely.

Luo Chong started at an age of nine years. He carried out a total of two hundred and forty-seven assassinations. One hundred and ninety-nine times were smooth, forty-eight times he messed up, seventy times he suffered serious injuries and seventeen times he survived by the skin of his teeth.

People killed by him had been countless, injuries sustained by him were also countless. Enduring a brief assault is even more like having a meal at home. But never ever had been a time when he had vomited due to being hit, vomited due to pain.

Not only did he vomited, he is even crying!

He is crying due to pain.

He is a kind of man who would prefer to shed blood rather than to shed tears. Just by a frown or clenching his teeths, he would be able to pull through the pain inflicted by serious injuries.

But at this moment, he was crying due to pain. Tears and snivel both were flowing uncontrollably. Within a moment, it turned into sobbing. Surface of the ground turned into a mess due to his vomit. And all of this was due to a single punch.

Luo Xing’s complexion had already turned different. She couldn’t bother to investigate opponents realm through intensified “ True Detection” now.

She moved.

Luo Xing is definitely not weak. Xing Luo, unexpectedly, the name of their organization is actually named after her. She is not just an analyst in this four member organization. The people who know Xing Luo in depth are hundred percent aware of the fact that when Luo Xing is on the move, Xing Luo’s fighting strength is at maximum.

Stary Needle!

Without holding back anything, Luo Xing employed her ultimate move.

A person who can casually toss out Luo Yin, a person who can cause Luo Chong to shed tears through just one fist, she can’t afford to have any reservations against such an opponent.

She threw the needle. One needle divided itself into two, two into four, four into eight…..

Third level skill…..Enveloping Starlight!

Countless Stary Needles fluttered about the body of Lu Ping. These all were only illusionary light rays. Their dazzling would cause people to be confused and have blurry vision. However, among these illusionary rays, one was real. It was aimed straight towards Lu Ping’s throat. In such a blur, this one ray of light was not the least bit eye catching. In this exact way, without a breath or sound, who knows how many people’s life were claimed by this one ray of light.

Just because of this one move, Xing Luo was named after Luo Xing.

Just because of this one move, Luo Xing was the elder sister of Xing Luo.

Sure enough, Lu Ping had to exert himself in order to deal with this move. Compared with Luo Yin and Luo Chong, at least, he used both of his hands in order to deal with Enveloping Starlight.

Lu Ping slapped both of his hands, producing a sound like that of opening of a switch. Enveloping Starlight disappeared all at once, leaving behind just one ray of light fluttering between the palm of his hands.

Lu Ping revealed a bit of satisfied expression as if he has taken care of a mosquito just now.

Then he casually tossed Luo Xing’s cherished Stary Needle to the side.

Luo Chong was still vomiting, still crying.

Within a moment, Stary Needle was rinsed with tears, snivel and vomit.

But, Luo Xing couldn’t pay much attention to it, Lu Ping was approaching her step by step. All of her tricks were completely employed. Ultimately, she had only one weapon left.

She was a very good looking woman. Quite a few times, because her opponent had tender feelings for the opposite gender, she was able to turn defeat into victory.

So what about this time?

Although the other person just looks like a child, at least, he is a boy of fifteen or sixteen years.

It clenched into a fist, afterwards, she was also unable to see anything. Right after her face went askew and she bumped into Luo Chong.

In an instant, her beautiful face was not so beautiful anymore. Her chin was crooked, her perfect teeths, seven of them fell down, five were sent flying and two were swallowed….

Mo Lin was foolishly looking at it.

He knew Lu Ping is very strong, extremely strong. But being strong ought to have a limit, right? Now, he is already incapable of thinking about what realm is Lu Ping in. Three Linked one’s, one was casually grabbed and tossed, one was punched to vomit and the last one was given a makeover by just a punch.

It’s three Linked One’s Oi!

Xing Luo Oi!

When he got that writ for the assassination of Luo Ming, one of the members of Xing Luo, he hesitated for three days whether to continue or not. Then he took another twenty-four days to study the four members of Xing Luo. Another eight days for daily habits and routine of Luo Ming. Then he waited for what seemed like a suitable opportunity, then bracing himself for death, he eventually managed to kill Luo Ming by poison. Even after this, he was found out and chased to death by Xing Luo.

And what about now?

Frightening Xing Luo while facing Lu ping, even twenty seconds haven’t passed and all three members got completely destroyed.

Luo Yin?

How was Luo Yin?

Mo Lin has already seen the appearances of Luo Chong and Luo Xing. But what about Luo Yin who was thrown away? Mo Lin raised his body up and looked in the direction where Luo Yin was thrown. He eventually managed to found Luo Yin who was……already planted inside the Flower Garden.

That region was the swamp created due to Earthworm grass. Surprisingly, Luo Yin was planted into the ground by just a throw, the Strength’s soul Lu Ping used behind that throw, Mo Lin was unable to imagine its intensity.

“ Finally, who is…..this?” Xi Fan who was collapsed on the ground was also muttering to himself. Too much have occurred. He still hasn’t recovered from dizziness. And after all this, it would be even more difficult to recover.

“ This is what you call Garbage.”

As Mo Lin was speaking, he bent down to take a look at Xi Fan’s condition again. Even his speed in stopping the bleeding of Xi Fan was less than the speed at which Lu Ping took care of Luo Chong and Luo Xing.

 He was foolishly staring at what he considered to be Garbage, for whom he was racking his brain, wishing to drive him out of the courtyard. At present, he didn’t know what to say.

“ You say, why did this person come?” However, Mo Lin still wished to chat with him.

“ I don’t know.”

Xi Fan said. He only knew that Lu Ping and Su Tang were brought back by the Dean when he returned three years ago. It was said that both of them were completely orphan, and from thereafter, the institute became their family. Soon after, Su Tang began to display outstanding talent, whereas Lu Ping had been called as Garbage for three years. He was treated with indifference everywhere. However, he continued on being the same as he always was, regardless of what others said. All kinds of mock and ridicule, all kinds of suppression, he silently endured all of it. As a result, it never led to any kind of conflict.

Due to it, it further let everybody think that he is without any future prospects, without any courage, just a useless kind of person.

However now….

Xi Fan only feels that everyone should rejoice like him that Lu Ping is like this, ‘without any future prospects’, ‘without any courage’ and ‘a useless kind of person’.


text:
# Readarr

[Readarr](https://github.com/Readarr/Readarr) is an ebook and audiobook collection manager for Usenet and BitTorrent users.

> When application is installed, a container will be launched with **root** privileges.
> This is required in order to apply the correct permissions to the `Readarr` directories.
> Afterward, the `Readarr` container will run as a **non**-root user (Default: `568`).
> All mounted storage(s) will be `chown`ed only if the parent directory does not match the configured user.

repository: truenas/charts

repo_name: truenas/charts


text:
---
title: Frequently Asked Questions
permalink: /malaysia/rgl/faq
third_nav_title: Reciprocal Green Lane
---

- [Application Process for Residents in Malaysia](#faq-residents-malaysia)
- [Application Process for Residents in Singapore](#faq-residents-singapore)

## **Application Process for Residents in Malaysia**

### **Application**

#### 1. Who is eligible to apply to travel to Singapore under the RGL?

Persons of all nationalities who are legally resident in Malaysia, who need to make single-entry, short-term essential travel for business and official purposes, between Singapore and Malaysia.

#### 2. I am a Singapore Citizen / Singapore Permanent Resident / Singapore Long-Term Pass holder* who is resident in Malaysia. Am I eligible to apply for the RGL?

Yes. All residents in Malaysia who need to make short-term essential business or official travel between Singapore and Malaysia are eligible to apply for the RGL.

* Singapore Long-Term Pass holders who are eligible to apply for RGL travel include holders of MOM-issued work passes (e.g. Employment Pass, EntrePass, Personalised Employment Pass, S Pass, Work Permit, Dependent’s Pass) and holders of the ICA-issued Long-Term Visit Pass.

#### 3. What is a SafeTravel Pass?

A SafeTravel Pass is required for residents in Malaysia to seek short-term entry into Singapore under the RGL. It is non-transferable and will be valid for one single entry into Singapore anytime within the stipulated week (0000hrs Monday to 2359hrs Sunday). Travellers must enter Singapore within this stipulated week.

SafeTravel Passes will be issued on a limited basis in order to manage the risk of imported COVID-19 cases.

Please send an email to<EMAIL_ADDRESS>if you have further queries related to the SafeTravel Pass.

#### 4. How do residents in Malaysia apply for a SafeTravel Pass to travel to Singapore under the RGL? What are the steps from the time I put in an application to the time I obtain a SafeTravel Pass? How long is the processing time? What documents do I need to submit?

Residents in Malaysia seeking to travel to Singapore via the RGL must be hosted by a company or a government agency in Singapore. The host company can file the application for a SafeTravel Pass on behalf of the traveller either directly at <https://eservices.ica.gov.sg/STO>, or through a sponsoring government agency.1.

When applying for the SafeTravel Pass, Proof of Residency in Malaysia is required. Malaysian Citizens should present a copy of their passport for submission. Non-Malaysian Citizens who are resident in Malaysia should present a copy of their Malaysian long-term pass ID for submission. The applicant will also be required to submit the controlled itinerary for the traveller(s)’ first 14 days of stay in Singapore, which is limited to travel between places of business and accommodation, with limited contact with the community.

The application for the SafeTravel Pass will be open 2 to 5 weeks before the week of the traveller’s planned departure. The processing of the application can take up to 7 days (excluding the day of application). You are encouraged to apply for the SafeTravel Pass as early as possible, factoring in the time necessary for the processing of the SafeTravel Pass application, visa application (if needed) and taking a pre-departure COVID-19 polymerase chain reaction (PCR) test.

When the SafeTravel Pass application is approved, an approval letter will be issued to the sponsoring company / government agency by email within 3 working days. With this letter, an approved applicant who is a visa-required passport holder will proceed to apply for a visa for travel to Singapore through the usual channels (Singapore overseas missions, authorised visa agents, local contact or companies) at least 4 working days before departure. If the applicant already has an existing valid visa, the visa suspension will be lifted when the SafeTravel Pass is approved, and he/she need not apply for a new visa. The applicant can check his/her visa status through <https://eservices.ica.gov.sg/esvclandingpage/save>.

Those who do not require a visa prior to the COVID-19 pandemic (e.g. Malaysian citizens) will not need to apply for a visa for RGL travel. Please refer to <https://www.ica.gov.sg/enteranddeparting/before/entryvisa/> for more information on Singapore’s visa requirements.

The approved applicant will have to submit pre-trip health and travel history declarations as well as declare his/her accommodation electronically via the SG Arrival Card (<https://eservices.ica.gov.sg/sgarrivalcard/>), within 3 days prior to the date of arrival in Singapore.

Prior to the traveller’s departure from Malaysia, the sponsoring company or government agency should submit the traveller’s **certificate of negative result for COVID-19 test** taken within 72 hours before departure and **latest controlled itinerary in Singapore** at <https://eservices.ica.gov.sg/STO>.

Travellers arriving in Singapore by air are required to present their valid SafeTravel Pass, valid visa (for visa-required passport holders), return air ticket and negative result for a COVID-19 PCR test for pre-boarding checks at the airlines’ check-in counter and immigration counter. Otherwise, he/she may be refused boarding.

Travellers arriving in Singapore via land checkpoints are required to present their valid SafeTravel Pass, valid visa (for visa-required passport holders), and negative result for COVID-19 PCR test result.

Travellers who are granted entry into Singapore are generally issued with a Visit Pass, of which the duration would be aligned to that accorded to the passport holder prior to the COVID-19 pandemic.

#### 5. What are the responsibilities of the host company?

When a company is sponsoring a traveller, it will have to be responsible for the application of the SafeTravel Pass on behalf of the traveller as well as the timely submission of the accompanying documents.

The host company should also ensure that the traveller abides by the terms and conditions of the Singapore-Malaysia RGL, and the prevailing health measures during his/her stay in Singapore. Authorities may ask for proof of adherence, including physical verification or SafeEntry Pass records (e.g. screenshots), to the controlled itinerary and other terms and conditions when the traveller is in Singapore.

You can access the terms and conditions of the Singapore-Malaysia RGL at <https://safetravel.ica.gov.sg/malaysia/rgl/terms-and-conditions>. Actions will be taken against the traveller and the host company in the event of non-compliance.

#### 6. Can tourists apply for SafeTravel Passes?

SafeTravel Passes are only issued to travellers making short-term essential business and official travel. These passes are not applicable for tourists.

#### 7. Can my SafeTravel Pass be transferred to my family member, friend, colleague or business partner?

SafeTravel Passes are not transferable to others.

#### 8. Do I need to pay to apply for a SafeTravel Pass?

No payment is required.

#### 9. Is there a limit to the number of times I can apply for a SafeTravel Pass?

There is no limit to the number of times a traveller can apply for a SafeTravel Pass. However, please note that there may be penalties for repeated non-utilisation. Every entry to Singapore requires a new SafeTravel Pass application.

If the traveller’s SafeTravel Pass has expired, he/she should submit a new application.

#### 10. What visa will I be eligible for under the RGL, and what is the duration of stay that I will be eligible for in Singapore?

Every application for a visa, including the type of visa granted, will be considered on its own merits and subject to approval. If the applicant already has an existing valid visa, the visa suspension will be lifted when the SafeTravel Pass is approved, and he/ she need not apply for a new visa. The applicant can check his/her visa status through <https://eservices.ica.gov.sg/esvclandingpage/save>.

Those who do not require a visa prior to the COVID-19 pandemic (e.g. Malaysian citizens) will not need to apply for a visa for RGL travel. Please refer to <https://www.ica.gov.sg/enteranddeparting/before/entryvisa/> for more information on Singapore’s visa requirements.

Travellers who are granted entry into Singapore are generally issued with a Visit Pass, of which the duration would be aligned to that accorded to the passport holder prior to the COVID-19 pandemic.

#### 11. My travel plans have changed/some information in my application is incorrect. How can I amend the details of my SafeTravel Pass application/approved SafeTravel Pass?

Both the SafeTravel Pass application and issued SafeTravel Pass cannot be amended. Please ensure that all details of the application form are accurate at the point of submission.

#### 12. What if I have changes to my controlled itinerary?

The host company should be responsible for monitoring and reporting any deviation in your controlled itinerary. The host company should resubmit the updated controlled itinerary on behalf of the traveller via the ‘Submit Supporting Documents’ Form, at <https://eservices.ica.gov.sg/STO>. Please have the approved STP reference number and documents on hand for submission, and ensure that the amendments or deviation from the controlled itinerary are in accordance with the stipulated guidelines.

#### 13. Can the sponsoring company / agency or traveller check the status of the SafeTravel Pass application?

The sponsoring company/agency or traveller may enquire the status of their application(s) via <https://eservices.ica.gov.sg/STO>. Please have on hand the traveller’s identification details and intended date of entry in Singapore as declared in the STP application.

#### 14. Why was my application rejected?

SafeTravel Pass applications may be rejected for reasons, including the following

- Inadequate justifications provided for reason of travelinformation provided.
- Non-compliant controlled itinerary submitted.
- Wrong proof of residency submitted.

#### 15. Can I use the RGL to come to Singapore for long-term work?

The RGL is only for short-term essential business and official travel, and not for long-term work. Travellers seeking to enter Singapore for long-term work may wish to visit the SafeTravel Website (<https://safetravel.ica.gov.sg>) for more information on the Periodic Commuting Arrangement (PCA), or visit [www.mom.gov.sg/passes-and-permits](https://www.mom.gov.sg/passes-and-permits) for more information on a separate scheme.

#### 16. Can I use the RGL to come to Singapore for long-term study?

The RGL is only for short-term essential business and official travel, and not for long-term study. Travellers seeking to enter Singapore for study may wish to visit <https://www.ica.gov.sg/news-and-publications/media-releases/media-release/entry-approval-required-for-all-long-term-pass-holders> for more information.

#### 17. Are there restrictions on how I can travel to Singapore?

Under the RGL, travellers can travel to Singapore on a non-stop flight from any airport in Malaysia, as well as by land via the Causeway and Second Link.

For travel by land, travellers may drive into Singapore in their own vehicle (including Malaysia-registered vehicles, subject to LTA's regulations and fees as outlined on the [One Motoring website](https://onemotoring.com.sg/content/onemotoring/home/driving/entering_and_exiting_singapore/cars-and-motorcycles-registered-in-malaysia.html).

#### 18. Can I use the RGL to transit through Singapore?

The RGL is only for short-term essential business and official travel between Singapore and Malaysia, and not for transit through Singapore.

### **Pre-Departure Measures in Malaysia**

#### 19. What health measures must I take in Malaysia before departing for Singapore?

Travellers must remain in Malaysia and have not travelled out of the country for at least 14 days prior to departure for Singapore. They must monitor their health status before departure from Malaysia, undergo a pre-departure PCR test in Malaysia at least once within 72 hours before departure, and obtain a certificate of having tested negative for COVID-19 from the accredited laboratories by the Ministry of Health Malaysia [here](http://covid-19.moh.gov.my/garis-panduan/garis-panduan-kkm/Annex_4a_Agihan_Makmal_Ujian_18072020.pdf).

The list of accredited private clinics and private hospitals by the Ministry of Health Malaysia that conduct the COVID-19 test can be found [here](http://medicalprac.moh.gov.my/v2/modules/mastop_publish/?tac=Senarai%20KPJKS%20yang%20telah%20diluluskan%20bagi%20COVID-19).

#### 20. What documentation do I need to present before I depart from Malaysia to Singapore?

Travellers by air and land are required to produce the following documents to the airline for pre-boarding checks and at the immigration counter respectively:
1. A valid SafeTravel Pass approval letter (the date of entry into Singapore must fall within the period of entry stated in the letter);
2. A valid visa to enter Singapore (for visa-required passport holders who are short-term visitors to Singapore); and
3. A valid certificate of negative result for a COVID-19 PCR test taken within 72 hours before departure for Singapore (the certificate must be from the accredited laboratories by the Ministry of Health Malaysia).

### **Test Arrangements Upon Arrival in Singapore**

#### 21. What COVID-19 tests will I be subject to upon arrival in Singapore? Where will the COVID-19 PCR test be administered? What are the payment modes accepted for the COVID-19 PCR test?

RGL travellers from Malaysia will be directed to take a COVID-19 PCR test upon arrival at Changi Airport, Seletar Airport, Woodlands Checkpoint or Tuas Checkpoint in Singapore. To qualify for exemption from the Stay-Home-Notice (SHN) requirement, the Traveller must take the COVID-19 PCR test at the assigned swabbing station within the airport and land checkpoints. Please approach the airport ground staff and land checkpoint authorities upon arrival for assistance.

Travellers entering Singapore by air are encouraged to pre-register and pre-pay for the COVID-19 PCR test prior to your entry into Singapore. Pre-registration and pre-payment can be made on the online portal at <https://safetravel.changiairport.com>. Travellers should expect to pay around S$300 (inclusive of GST) for the test upon arrival at the airport.

Travellers entering Singapore by land will make payment at the testing station located at Woodlands and Tuas Checkpoint. Only card payments or PayPal are accepted. Travellers should expect to pay around S$200 (inclusive of GST) for the test upon arrival at the land checkpoints.

#### 22. What if I test positive for COVID-19 in Singapore?

Travellers who test positive for COVID-19 will be given medical treatment accordingly. Travellers will be responsible for charges for COVID-19 treatment if symptoms develop during his/her stay in Singapore. Singapore Citizens and PRs who travelled on permitted travel arrangements may access Government subsidies and MediShield Life/Integrated Shield Plan to help pay for their bills. Long-Term Pass Holders who travelled on permitted travel arrangements may tap on their usual financing arrangements, such as foreign worker insurance.  Travellers should furnish the relevant supporting documents to indicate their status as a RGL traveller.

Note that all Short-Term Pass Holders will be accorded the necessary medical treatment at his/her cost.

### **Health Measures in Singapore**

#### 23. What health measures will I be subjected to upon arrival in Singapore?

RGL travellers from Malaysia must take a COVID-19 PCR test upon arrival in Singapore, and remain isolated in a declared self-sourced accommodation (non-residential address only) until negative test results are released (typically within 48 hours). Transportation from the airport/land checkpoints to the declared accommodation will have to be provided by the host company or government agency subject to prevailing health measures.3 Travellers will bear the costs of the post-arrival COVID-19 PCR test in Singapore and stay in the declared accommodation.

If the result indicates that the traveller has tested negative for COVID-19, the host company or government agency will ensure that the traveller is transported directly from the declared accommodation to the workplace and back according to the submitted controlled itinerary for the traveller’s stay in Singapore. The traveller may not use public transportation for this purpose, with the exception of private hire cars/taxis or cohorted company transport.4

Travellers to Singapore must use the TraceTogether app and SafeEntry5, take their temperature twice daily, report their health status to the host company or government agency, and adhere to prevailing public health requirements for the duration of their stay in Singapore.

#### 24. What is the TraceTogether app? Does the Singapore Government track my movements via the app?

The TraceTogether app supports nationwide efforts to combat COVID-19 by enabling community-driven contact tracing. It facilitates the contact tracing process by exchanging Bluetooth signals with nearby phones running the same app. The proximity data collected allows the identification of people who were in close contact with an infected person more efficiently. The proximity data collected is stored locally in the user’s phone, and is only shared with the Singapore Ministry of Health if the user tests positive for COVID-19. The TraceTogether app does not collect or track location data.

The app works best on phones with Android version 5.1 and above. More information on the app can be found at <https://www.tracetogether.gov.sg>.

#### 25. What is SafeEntry?

SafeEntry is a national digital check-in system that logs the NRIC/FINs and mobile numbers of individuals visiting hotspots, workplaces of essential services, as well as selected public venues to prevent and control the transmission of COVID-19 through activities such as contact tracing and identification of COVID-19 clusters.

More information can be found at <https://www.safeentry.gov.sg>.

### **Returning to Malaysia**

#### 26. Do I need to be tested again in Singapore before I return to Malaysia? Do I need to be quarantined or be tested again upon return to Malaysia?

RGL returnees to Malaysia currently do not need to be tested again in Singapore before returning to Malaysia.

Upon their arrival back in Malaysia, they must adhere to the prevailing COVID-19 prevention and control measures of the Malaysian government. As the specific requirements may change over time, the returnee should verify the latest requirements with the relevant Malaysian authorities.

-----

1 The term “sponsor” refers to the company or government agency making the application on behalf of the traveller.

The term “host” refers to the company or government agency that receives the traveller in the destination country/region. For company-sponsored travellers, the sponsor will also be the host company.

2 Cohorted company transport refers to an arrangement whereby inbound travellers on the same trip are transported in the same vehicle.

3 Travellers are allowed to use private hire cars or taxis, but not public transport.

4 Cohorted company transport refers to an arrangement whereby inbound travellers on the same trip are transported in the same vehicle.

5 Travellers can scan the SafeEntry QR code to submit their personal particulars using the TraceTogether app or [a recommended QR scanner app](https://www.safeentry.gov.sg/individual_help).

-----

Back to Top ↑

## **Application Process for Residents in Singapore**

### **Application**

#### 1. Who is eligible to apply to travel to Malaysia under the RGL?

Persons of all nationalities who are legally resident in Singapore (i.e., Singapore Citizens, Permanent Residents, Long-Term Pass holders) who need to make single-entry, short-term essential travel for business and official purposes, between Singapore and Malaysia.

#### 2. How do Singapore residents apply to travel to Malaysia under the RGL?

Residents in Singapore seeking to travel to Malaysia for short-term essential business or official travel via the RGL must be sponsored by either a company or a government agency in Malaysia, which will file an application on behalf of the applicant on the MyTravelPass website (<http://mtp.imi.gov.my/>) at least 10 working days before departure.

When making the online application, the sponsor should provide the following:
1. Letter of invitation specifying entry for business/official purposes
2. Traveller’s passport copy
3. Traveller’s proof of hotel accommodation
4. Traveller’s pre-trip health and travel history declaration
5. Traveller’s controlled itinerary stating the location, date, and time of all appointments and programmes

The traveller should work with his/her local host company or government agency to verify that he/she has fulfilled the RGL requirements of the Malaysian authorities prior to departure for Malaysia. This includes taking a pre-departure COVID-19 PCR test and obtaining a negative test result within 72 hours before departure, and remaining in Singapore for at least 14 days prior to departure. Besides taking a pre-departure COVID-19 PCR test and obtaining a negative test result within 72 hours before departure, this may also include other requirements.

Please check with the [Malaysian Immigration Department](https://www.imi.gov.my/portal2017/index.php/ms/sumber-dan-arkib/pengumuman/1833-malaysia-singapore-border-crossing-arrangement.html) for more information on entering Malaysia under the RGL.

#### 3. Is the RGL meant for long-term work and study?

The RGL is only for short-term essential business and official travel, and not for long-term work or study.

Those seeking to enter Malaysia for purposes other than essential business and official travel should contact the Malaysian High Commission in Singapore for further details.

#### 4. Are there restrictions on how I can travel to Malaysia?

Under the RGL, travellers can travel to Malaysia by air via any non-stop flight route between airports in Singapore and Malaysia, as well as by land via the Causeway and Second Link.

#### 5. Who can I contact for more information on the arrangements in Malaysia, e.g., accommodation and transport?

The traveller may contact his/her host company or government agency in Malaysia to make the necessary arrangements in Malaysia.

### **Testing Arrangements**

#### 6. Where do I take a pre-departure PCR test in Singapore? How much does it cost to take the PCR test, and can I pay for it with MediSave or insurance?

The RGL traveller departing for Malaysia can make an appointment in advance at designated clinics in Singapore for a pre-departure test at the traveller’s cost. The traveller must take the test within 72 hours before departure, and obtain a health certificate of having tested negative for COVID-19.

The list of clinics that can perform pre-departure COVID-19 PCR tests and details on the procedure to book an appointment are at **[ANNEX A](#annexa)**. Testing for RGL travel should only be carried out at these clinics at the moment. An eligible RGL traveller should contact the clinic directly for testing.

The traveller will need to adhere to the clinic’s cut-off timings for the pre-departure tests to ensure that he/she is able to obtain the test results in time to be allowed to check-in for his/her flight if travelling by air.

The traveller must present at the clinic, a copy of the Malaysia-issued travel pass which confirms that he/she was granted approval by the relevant authorities to travel to Malaysia under the Singapore-Malaysia RGL, before the swab test can be administered.

The traveller should expect to pay up to S$200 (inclusive of GST) for the pre-departure test. This is not payable by MediSave, MediShield Life and Integrated Shield Plans.

#### 7. I had a swab done previously for Acute Respiratory Infection (ARI). Can I use the test results for travel under the RGL?

Travellers with ARI symptoms should not travel. They should postpone their travel plans.

#### 8. What tests will I be subject to upon arrival in Malaysia? Will I be subject to a serology test in Malaysia?

A RGL traveller to Malaysia will be subject to a COVID-19 PCR test at the point of entry or within 24 hours upon arrival.

#### 9. What if I test positive for COVID-19 in Malaysia?

If tested positive for COVID-19 in Malaysia, the traveller will be accorded the necessary medical treatment by the Malaysian government at his/her cost.

### **Pre-Departure in Singapore**

#### 10. What documentation do I need to present to the airline staff at check-in before I will be allowed to board a flight from Singapore to Malaysia?

Minimally, a traveller should have on hand his/her negative COVID-19 PCR test result, a valid visa and a Letter of Invitation issued by the Malaysian government specifically for essential business or official travel under the RGL.

For travellers departing via land checkpoints, the traveller is required to produce the same documentation as listed above, at the immigration counter at the land checkpoints before being allowed to leave Singapore.

### **Health Measures in Malaysia**

#### 11. Do I need to be quarantined upon arrival in Malaysia?

After undergoing a PCR test upon arrival, the traveller must remain under isolation until the test results are released. The traveller will be required to be transported directly by the sponsor to a non-residential accommodation, and be isolated while awaiting the test result. The traveller has to bear the costs of the post-arrival test and the isolation in the designated accommodation.

If the traveller tests negative for COVID-19, the host company or government agency will ensure that the traveller is transported directly from the declared accommodation to the workplace and back according to the submitted controlled itinerary for the traveller’s stay in Malaysia.

#### 12. What other health measures will I be subject to in Malaysia? What would qualify as a “controlled itinerary” in Malaysia?

The traveller must follow local COVID-19 prevention and control measures for the duration of his/her stay in Malaysia, including downloading the MySejahtera contact tracing apps as required by the Malaysian authorities.

The host company or government agency will ensure that the itinerary is adhered to, and provide private transport for the traveller for up to 14 days of the traveller’s stay in Malaysia. The traveller is not allowed to use public transportation, taxis, or ride-hailing services.

The traveller can only commute between his/her residence and the workplace via private hire cars/taxis or cohorted company transport (i.e., no public transport allowed).

The traveller should verify the latest requirements of the Malaysian authorities with his/her local host company or government agency.

### **Returning to Singapore**

#### 13. What health measures will I be subject to upon returning to Singapore after my RGL travel?

Singapore-based travellers returning from their travel on the Singapore-Malaysia Reciprocal Green Lane will be exempted from the prevailing SHN policy applicable to incoming travellers to Singapore, if they:
- Undertake a COVID-19 PCR test at the airport/checkpoint at their own cost upon arrival in Singapore and remain in isolation until they have been notified of their on-arrival test results. For air arrivals, you are strongly encouraged to pre-register and make advance payment for the PCR test via this link to minimise processing time at the airport: <https://changiairport.com/safetravel/>; and
- Produce the MyTravelPass issued by the Malaysia Immigration Department which confirms that he/she was granted approval to travel under the Singapore-Malaysia RGL to ICA at Singapore Immigration;

You may wish to refer to <https://www.ica.gov.sg/covid-19> for the latest details and updates on border control measures as well as <https://www.ica.gov.sg/covid-19/ArrivalSG> for information on the prevailing health measures for inbound travellers.

Please disregard the electronic SHN which you may receive via email upon submission of the Electronic Health Declaration through ICA’s SG Arrival Card e-Service, provided that the conditions above are met. If the above conditions are not met, travellers will be subjected to the prevailing health regulations in Singapore upon arrival in Singapore, including the requirement to serve SHN. For more information about the SHN issued by ICA, please refer to <https://www.ica.gov.sg/covid-19/shn>.

#### 14. Do I have to pay for my COVID-19 medical bills if I am found to have COVID-19 upon return from Malaysia?

Travellers will be responsible for charges for COVID-19 treatment if symptoms develop within 14 days of arrival. Singapore Citizens and PRs who travelled to Malaysia on the Singapore-Malaysia RGL may access Government subsidies and MediShield Life/Integrated Shield Plan to help pay for their bills. Long-Term Pass Holders who travelled to Malaysia on the Singapore-Malaysia RGL may tap on their usual financing arrangements, such as foreign worker insurance.

Singapore Citizens, Permanent Residents and Long-Term Pass holders should retain the PDF copy of the Malaysia-issued travel pass which confirms that he/she was granted approval by the relevant authorities to travel to Malaysia under the RGL. The document is to be presented to the hospital as an indication of eligibility for Government subsidies, MediShield Life/Integrated Shield Plan or any other form of coverage (if applicable), should he/she be tested positive for COVID-19 upon return from Malaysia via the RGL.

### **ANNEX A**

#### Pre-Departure COVID-19 Tests in Singapore

##### Booking an appointment

##### 1. At which clinics can I take the pre-departure Polymerase Chain Reaction (PCR) test?

Pre-departure COVID-19 PCR tests for fast lane arrangements may only be performed at [selected clinics](/pre-departure-test) for eligible fast lane travellers.

Please call the clinic to make an appointment and verify your eligibility to be swabbed, before proceeding for the swab. Pre-departure swabs may not be performed if you do not have an appointment or are unable to produce proof of eligibility.

##### 2. What is the latest I have to be at the clinic, based on my departure flight timing?

You should make an appointment that fits your required testing window, and be present at the clinic early for the appointment.

You must be present at least 2 hours prior to, and no later than, the stipulated cut-off timing in the table below. Travellers who do not adhere to this cut-off timing will not be able to obtain the results in time for departure.

| Flight departure time | Latest Cut-off Test Timing |
|-----------------------|-----------------------------------------|
| 12:00am to 9:29am | 10.00am two calendar days before flight |
| 9:30am to 3:29pm | 4:00pm two calendar days before flight |
| 3.30pm to 11.59pm | 10:00am the day before flight |

*Example:*
*If a traveller’s departure flight time is 12pm on 30 September and the required test must be done within 72 hours of departure, the traveller should take the swab from 12pm on 27 September onwards, until the cut-off timing.*

*The latest the traveller can present himself/herself is by 4pm on 28 September.*

##### 3. How can I make an appointment for pre-departure PCR testing?

For Malaysia, the pre-departure test must be done within 72 hours prior to departure.

Please call the clinic and book your test slot before the Cut-Off Test Timing in the schedule above. This is to ensure that you will have sufficient time to meet the RGL requirements.

##### 4. How far in advance should I make an appointment for the pre-departure PCR test?

Due to limited slots, please make your appointment with the clinic **as early as possible**, once your flight timing and RGL requirements are confirmed.

Please refer to the **Schedule for the “Latest Cut-off Test Timing” and book your test slot within the indicated timing**. This is to ensure that you meet the RGL requirements.

If you do not make a prior appointment, please note that:
1. There is no guarantee that there will be a test slot for you; and
2. You may not get your results in time for your flight to qualify for RGL arrangements. Travellers who miss the cut-off test timing will not be able to obtain a test result in time for their flight.

##### 5. What details will I need to book an appointment for the PCR test?

Please have the following information on hand when making an appointment for your test:
1. Identification or passport numbers
2. Departure flight timing
3. Possible times for your test slot: Please refer to the Test Schedule to confirm your timing.
4. Address in Singapore
5. Contact number
6. Email address

##### 6. What documents should I bring for my appointment?

Please bring the following:
1. Identity card or passport
2. PDF copy of the Malaysia-issued travel pass which confirms that you are granted approval by the relevant authorities to travel to Malaysia under the Singapore-Malaysia RGL
3. Softcopy booking reference showing your departure flight timing

##### Testing

##### 7. What if I miss my test timing? What if I take my test after the Cut-off Test Timing?

Travellers who miss the Cut-off Test Timing will not be able to obtain a test result in time for their scheduled departure.

Please make arrangements early for your test slot so that you can qualify for the RGL.

##### 8. What happens if the clinic assesses that I am unable to receive the PCR test for unforeseen circumstances?

If you are unable to receive the test, you may wish to reschedule your departure, if you still wish to tap on the RGL.

##### Test Results

##### 9. When can I expect to get my PCR test results?

You will receive your PCR test results and memo at least three hours before your scheduled departure.

The clinic will email the results to your email address. You will need to print and bring the memo overseas yourself.

Back to Top ↑

repository: GuanweiSTO/govtech-stp

repo_name: GuanweiSTO/govtech-stp


text:
# MongoDB Tools and Services [Video]
This is the code repository for [MongoDB Tools and Services [Video]](https://www.packtpub.com/application-development/mongodb-tools-and-services-video?utm_source=github&utm_medium=repository&utm_campaign=9781788297202), published by [Packt](https://www.packtpub.com/?utm_source=github). It contains all the supporting project files necessary to work through the video course from start to finish.
## About the Video Course
The course takes you through real world examples that you can watch and use directly for your application. You will learn the ins and outs through the hacks covered in the course. This is your one stop course to boost your application performance for your audience.

In this video course, we will explore the profiling and performance tools for MongoDB. We will make it even more accessible by moving to MongoDB cloud services, including analytics, automation, and even database-as-a-service. Finally, we will show different MongoDB cluster architectures affect application performance, scalability and reliability.

What You Will Learn

Profiling and performance tools included with MongoDB

Moving to MongoDB’s cloud services

Cloud analytics, automation, and databaseasaservice

Enhance application performance and reliability

Scale applications with minimum downtime

## Instructions and Navigation
### Assumed Knowledge
To fully benefit from the coverage included in this course, you will need:

This video is for database developer who knows the basic of MongoDB and wants to learn the MongoDB cloud services. If you know basic of MongoDB and now want to get started with the tools and services for MongoDB then this course is for you.
### Technical Requirements
This course has the following software requirements:

NA

## Related Products
* [MongoDB Tools and Services [Video]](https://www.packtpub.com/application-development/mongodb-tools-and-services-video?utm_source=github&utm_medium=repository&utm_campaign=9781788297202)

* [MongoDB Tools and Services [Video]](https://www.packtpub.com/application-development/mongodb-tools-and-services-video?utm_source=github&utm_medium=repository&utm_campaign=9781788297202)

* [MongoDB Tools and Services [Video]](https://www.packtpub.com/application-development/mongodb-tools-and-services-video?utm_source=github&utm_medium=repository&utm_campaign=9781788297202)


text:
# jest-sonarcloud-reporter

This is a fork of [`jest-sonar-reporter`](https://www.npmjs.com/package/jest-sonar-reporter) in TypeScript.
It fixes the systemic generation of absolute paths in `test-report.xml` by adding the support of a new parameter:

    "jestSonar": {
        "withRelativePaths": true,
        ...
    }

When the flag `withRelativePaths` is set to true, test file paths will be generated with relativePaths instead of absolute paths.

That's it, there is nothing more, it just includes what is supported already in `jest-sonar-reporter`.

repository: bhoudu/jest-sonarcloud-reporter

branch_name: refs/heads/develop

repo_name: bhoudu/jest-sonarcloud-reporter


text:
## Machine Learning-driven Data Science

Slides and Workshop material (under development) for the Machine Learning classes from NUS ISS Stackup.

- [Setup](#setting-up-your-machine)
- [Module Index](#module-index)

### Setting up your machine

[Windows Setup](https://www.youtube.com/watch?v=DzIIjWz11Fc)

[![Windows Setup](https://img.youtube.com/vi/DzIIjWz11Fc/0.jpg)](https://www.youtube.com/watch?v=DzIIjWz11Fc)

[MacOS Setup](https://www.youtube.com/watch?v=fjzx9HKGEzQ)

[![MacOS Setup](https://img.youtube.com/vi/fjzx9HKGEzQ/0.jpg)](https://www.youtube.com/watch?v=fjzx9HKGEzQ)

### Module index

The index contains links to HTML renderings of the Jupyter notebooks for browsing convenience.

To run the workshop exercises, you can clone this [repository](https://github.com/lisaong/mldds-courseware).

- 1 Getting Started
  - 1.1 Introduction [[html](https://lisaong.github.io/mldds-courseware/01_GettingStarted/intro.slides.html), [ipynb](https://github.com/lisaong/mldds-courseware/blob/master/01_GettingStarted/intro.ipynb)]
  - 1.2 NumPy [[html](https://lisaong.github.io/mldds-courseware/01_GettingStarted/numpy.slides.html), [ipynb](https://github.com/lisaong/mldds-courseware/blob/master/01_GettingStarted/numpy.ipynb)]
  - 1.3 Pandas [[html](https://lisaong.github.io/mldds-courseware/01_GettingStarted/pandas.slides.html), [ipynb](https://github.com/lisaong/mldds-courseware/blob/master/01_GettingStarted/pandas.ipynb)]
  - 1.4 Matplotlib [[html](https://lisaong.github.io/mldds-courseware/01_GettingStarted/matplotlib.slides.html), [ipynb](https://github.com/lisaong/mldds-courseware/blob/master/01_GettingStarted/matplotlib.ipynb)]
  - 1.5 My First Model [[html](https://lisaong.github.io/mldds-courseware/01_GettingStarted/my-first-model.slides.html), [ipynb](https://github.com/lisaong/mldds-courseware/blob/master/01_GettingStarted/my-first-model.ipynb)]

- 2 Basic Machine Learning Algorithms
  - 2.1 Training Basics [[html](https://lisaong.github.io/mldds-courseware/02_BasicMLAlgorithms/training-basics.slides.html), [ipynb](https://github.com/lisaong/mldds-courseware/blob/master/02_BasicMLAlgorithms/training-basics.ipynb)]
  - 2.2 Linear Regression [[html](https://lisaong.github.io/mldds-courseware/02_BasicMLAlgorithms/linear-regression.slides.html), [ipynb](https://github.com/lisaong/mldds-courseware/blob/master/02_BasicMLAlgorithms/linear-regression.ipynb)]
  - 2.2 Classification [[html](https://lisaong.github.io/mldds-courseware/02_BasicMLAlgorithms/classification.slides.html), [ipynb](https://github.com/lisaong/mldds-courseware/blob/master/02_BasicMLAlgorithms/classification.ipynb)]
  - 2.3 Clustering [[html](https://lisaong.github.io/mldds-courseware/02_BasicMLAlgorithms/clustering.slides.html), [ipynb](https://github.com/lisaong/mldds-courseware/blob/master/02_BasicMLAlgorithms/clustering.ipynb)]
  - 2.4 Decision Trees [[html](https://lisaong.github.io/mldds-courseware/02_BasicMLAlgorithms/decision-trees.slides.html), [ipynb](https://github.com/lisaong/mldds-courseware/blob/master/02_BasicMLAlgorithms/decision-trees.ipynb)]
  - 2.5 Dimensionality Reduction [[html](https://lisaong.github.io/mldds-courseware/02_BasicMLAlgorithms/dimensionality.slides.html), [ipynb](https://github.com/lisaong/mldds-courseware/blob/master/02_BasicMLAlgorithms/dimensionality.ipynb)]

- 3 Image Recognition and Text Processing
  - 3.1 Neural Networks [[html](https://lisaong.github.io/mldds-courseware/03_TextImage/neural-networks.slides.html), [ipynb](https://github.com/lisaong/mldds-courseware/blob/master/03_TextImage/neural-networks.ipynb)]
  - 3.2 Image Recognition [[html](https://lisaong.github.io/mldds-courseware/03_TextImage/image.slides.html), [ipynb](https://github.com/lisaong/mldds-courseware/blob/master/03_TextImage/image.ipynb)]
  - 3.3 Transfer Learning [[html](https://lisaong.github.io/mldds-courseware/03_TextImage/transfer-learning.slides.html), [ipynb](https://github.com/lisaong/mldds-courseware/blob/master/03_TextImage/transfer-learning.ipynb)]
  - 3.4 Adversarial Learning [[html](https://lisaong.github.io/mldds-courseware/03_TextImage/adversarial.slides.html), [ipynb](https://github.com/lisaong/mldds-courseware/blob/master/03_TextImage/adversarial.ipynb)]
  - 3.5 Text Processing and Word Embeddings
  - 3.6 Document Summarization
  - 3.7 Recurrent Neural Networks
  - 3.8 Text Sentiment

- 4 Time Series Forecasting and Speech Recognition
  - 4.1 Time Series Forecasting [[html](https://lisaong.github.io/mldds-courseware/04_SpeechTimeSeries/timeseries.slides.html), [ipynb](https://github.com/lisaong/mldds-courseware/blob/master/04_SpeechTimeSeries/timeseries.ipynb)]
  - 4.2 Speech Recognition [[html](https://lisaong.github.io/mldds-courseware/04_SpeechTimeSeries/speech.slides.html), [ipynb](https://github.com/lisaong/mldds-courseware/blob/master/04_SpeechTimeSeries/speech.ipynb)]

- 5 Best Practices
  - 5.1 Data Gathering
  - 5.2 Data Analysis
  - 5.3 Feature Engineering
  - 5.4 Debugging

### Viewing Slides
The non-coding portions of the Jupyter notebooks can be presented as a slide show. To view as a slide show:
```
conda install -c damianavila82 rise
```

Then from the Jupyter notebook:
- Alt-r, "Enter/Exit Live Reveal Slideshow
- Shift-i, Toggle slide
- Shift-u, Toggle subslide
- Shift-f, Toggle fragment

##### StackUp | Institute of Systems Science | National University of Singapore


text:
# GraphQL Groups

[![Gem Version](https://badge.fury.io/rb/graphql-groups.svg)](https://badge.fury.io/rb/graphql-groups)
[![Build Status](https://github.com/hschne/graphql-groups/workflows/Build/badge.svg)](https://github.com/hschne/graphql-groups/workflows/Build/badge.svg)
[![Maintainability](https://api.codeclimate.com/v1/badges/692d4125ac8548fb145e/maintainability)](https://codeclimate.com/github/hschne/graphql-groups/maintainability)
[![Test Coverage](https://api.codeclimate.com/v1/badges/692d4125ac8548fb145e/test_coverage)](https://codeclimate.com/github/hschne/graphql-groups/test_coverage)

Run group- and aggregation queries with [graphql-ruby](https://github.com/rmosolgo/graphql-ruby).

## Installation

Add this line to your application's Gemfile and run `bundle install`.

```ruby
gem 'graphql-groups'
```
```bash
$ bundle install
```

## Usage

Suppose you want to get the number of authors, grouped by their age. Create a new group type by inheriting from `GraphQL::Groups::GroupType`:

```ruby
class AuthorGroupType < GraphQL::Groups::Schema::GroupType
  scope { Author.all }

  by :age
end
```

Include the new type in your schema using the `group` keyword, and you are done.

```ruby
class QueryType < GraphQL::Schema::Object
  include GraphQL::Groups

  group :author_group_by, AuthorGroupType
end
```

You can then run the following query to retrieve the number of authors per age.
```graphql
query myQuery{
  authorGroupBy {
    age {
      key
      count
    }
 }
}
```
```json
{
  "authorGroupBy":{
    "age":[
      {
        "key":"31",
        "count":1
      },
      {
        "key":"35",
        "count":3
      },
      ...
    ]
  }
}
```

## Why?

`graphql-ruby` lacks a built in way to retrieve statistical data, such as counts or averages. It is possible to implement custom queries that provide  this functionality by using `group_by` (see for example [here](https://dev.to/gopeter/how-to-add-a-groupby-field-to-your-graphql-api-1f2j)), but this performs poorly for large amounts of data.

`graphql-groups` allows you to write flexible, readable queries while leveraging your database to aggreate data. It does so by performing an AST analysis on your request and executing exactly the database queries needed to fulfill it. This performs much better than grouping and aggregating in memory. See [performance](#Performance) for a benchmark.

## Advanced Usage

For a showcase of what you can do with `graphql-groups` check out [graphql-groups-demo](https://github.com/hschne/graphql-groups-demo)

Find a hosted version of the demo app [on Heroku](https://graphql-groups-demo.herokuapp.com/).

### Grouping by Multiple Attributes

This library really shines when you want to group by multiple attributes, or otherwise retrieve complex statistical information
within a single GraphQL query.

For example, to get the number of authors grouped by their name, and then also by age, you could construct a query similar to this:

```graphql
query myQuery{
  authorGroups {
    name {
      key
      count
      groupBy {
       age {
        key
        count
       }
      }
    }
 }
}
```

```json
{
  "authorGroups":{
    "name":[
      {
        "key":"Ada",
        "count":2,
        "groupBy":  {
          "age": [
            {
            "key":"30",
            "count":1
            },
            {
            "key":"35",
            "count":1
            }
          ]
        }
      },
      ...
    ]
  }
}
```

`graphql-groups` will automatically execute the required queries and return the results in a easily parsable response.

### Custom Grouping Queries

To customize which queries are executed to group items, you may specify the grouping query by creating a method of the same name in the group type.

```ruby
class AuthorGroupType < GraphQL::Groups::Schema::GroupType
  scope { Author.all }

  by :age

  def age(scope:)
    scope.group("(cast(age/10 as int) * 10) || '-' || ((cast(age/10 as int) + 1) * 10)")
  end
end
```

You may also pass arguments to custom grouping queries. In this case, pass any arguments to your group query as keyword arguments.

```ruby
class BookGroupType < GraphQL::Groups::Schema::GroupType
  scope { Book.all }

  by :published_at do
    argument :interval, String, required: false
  end

  def published_at(scope:, interval: nil)
    case interval
    when 'month'
      scope.group("strftime('%Y-%m-01 00:00:00 UTC', published_at)")
    when 'year'
      scope.group("strftime('%Y-01-01 00:00:00 UTC', published_at)")
    else
      scope.group("strftime('%Y-%m-%d 00:00:00 UTC', published_at)")
    end
  end
end
```

You may access the query `context` in custom queries. As opposed to resolver methods accessing `object` is not possible and will raise an error.

```ruby
class BookGroupType < GraphQL::Groups::Schema::GroupType
  scope { Book.all }

  by :list_price

  def list_price(scope:)
    currency = context[:currency] || ' $'
    scope.group("list_price || ' #{currency}'")
  end
end
```

### Custom Scopes

When defining a group type's scope you may access the parents `object` and `context`.

```ruby
class QueryType < GraphQL::Schema::Object
  field :statistics, StatisticsType, null: false

  def statistics
    Book.all
  end
end

class StatisticsType < GraphQL::Schema::Object
  include GraphQL::Groups

  group :books, BookGroupType
end

class BookGroupType < GraphQL::Groups::Schema::GroupType
  # `object` refers to `Book.all`
  scope { object.where(author_id: context[:current_person]) }

  by :name
end
```

### Custom Aggregates

Per default `graphql-groups` supports aggregating `count` out of the box. If you need to other aggregates, such as sum or average
you may add them to your schema by creating a custom `GroupResultType`. Wire this up to your schema by specifying the result type in your
group type.

```ruby
class AuthorGroupResultType < GraphQL::Groups::Schema::GroupResultType
  aggregate :average do
    attribute :age
  end
end
```

```ruby
class AuthorGroupType < GraphQL::Groups::Schema::GroupType
  scope { Author.all }

  result_type { AuthorGroupResultType }

  by :name
end
```

Per default, the aggregate name and attribute will be used to construct the underlying aggregation query. The example above creates
```ruby
scope.average(:age)
```

If you need more control over how to aggregate you may define a custom query by creating a method matching the aggregate name. The method *must* take the keyword arguments `scope` and `attribute`.

```ruby
class AuthorGroupResultType < GraphQL::Groups::Schema::GroupResultType
  aggregate :average do
    attribute :age
  end

  def average(scope:, attribute:)
    scope.average(attribute)
  end
end
```

For more examples see the [feature spec](./spec/graphql/feature_spec.rb) and [test schema](./spec/graphql/support/test_schema)

## Performance

While it is possible to add grouping to your GraphQL schema by using `group_by` (see [above](#why)) this performs poorly for large amounts of data. The graph below shows the number of requests per second possible with both implementations.

![benchmark](benchmark/benchmark.jpg)

The benchmark queries the author count grouped by name, using an increasing number of authors. While the in-memory approach of grouping works well for a small number of records, it is outperformed quickly as that number increases.

Benchmarks can be generated by running `rake benchmark`. The benchmark script used to generate the report be found [here](./benchmark/benchmark.rb)

## Limitations and Known Issues

Please refer to the [issue tracker](https://github.com/hschne/graphql-groups/issues) for a list of known issues.

## Credits

[graphql-groups](https://github.com/hschne/graphql-groups) was created at [meister](https://www.meisterlabs.com/)

## Development

After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).

## Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/hschne/graphql-groups. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.

## License

The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).

## Code of Conduct

Everyone interacting in the Graphql::Groups project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/graphql-groups/blob/master/CODE_OF_CONDUCT.md).


text:
## Perf Tests for GSI CI

# Status
   Authored basic tests and running them. Will add more tests after inital set of tests run consistently

# Usage
	Pre-reqs:
	1. MUST set below url
	export CBAUTH_REVRPC_URL="http://<username>:<password>@<ip:port>/query"
	Example:
	export CBAUTH_REVRPC_URL="http://Administrator:asdasd@<IP_ADDRESS>:9000/query"

	2. Build cbindexperf and n1qlperf tools
	cd cmd/cbindexperf
	go build
	cd tools/n1qlperf
	go build

	ToDo:  Make this part of code. Currently there is an error even after setting env in code

	StorageMode:
    To run in memdb mode, specify  "IndexUsing": "memdb" in cbconfig file
	To run in forestdb mode, specify "IndexUsing": "gsi" in cbconfig file

	Scan tool to use:
	The scan perf tests can be run cbindexperf or n1qlperf tool
	Use -perftool switch to specify cbindexperf or n1qlperf as tool to be used for scanning

	Example:
	go test -v -test.run TestPerfScanLatency_Lookup_StaleOk  -perftool cbindexperf
	go test -v -test.run TestPerfScanLatency_Lookup_StaleOk  -perftool n1qlperf

	Number of documents to load:
	Use -numdocs switch to specify number of documents to load

	Marking test pass/fail: NA for now
	TODO - the below section is not finalized. For now, there is no pass/fail support
	The same tests can be run in various environments. To determine pass/fail, pass minimum throughput, average throughput and maximum build time as parameters to the go test command

	Example:
	go test -v -test.run TestPerfInitialIndexBuild -maxbuildtime 60
	go test -v -test.run TestPerfScanLatency_Lookup_StaleOk  -perftool cbindexperf -minthroughput 19000 -maxlatency 10000000
	go test -v -test.run TestPerfScanLatency_Lookup_StaleOk  -perftool n1qlperf -minthroughput 19000 -maxlatency 12000000

	The throughput and latency numbers also change between n1qlperf tool and cbindexperf tool and hence needs to be provided depending on the tool used

repository: amithk/indexing

extension: markdown

repo_name: amithk/indexing


text:
---
title: Flux MQTT package
list_title: MQTT package
description: >
  The Flux MQTT package provides functions for working with MQTT protocol.
  Import the `experimental/mqtt` package.
menu:
  influxdb_2_0_ref:
    name: MQTT
    parent: Experimental
weight: 301
influxdb/v2.0/tags: [functions, mqtt, package]
---

Flux MQTT functions provide tools for working with Message Queuing Telemetry Transport (MQTT) protocol.
Import the `experimental/mqtt` package:

```js
import "experimental/mqtt"
```

{{< children type="functions" show="pages" >}}

gha_language: SCSS


text:
# Day 3 Write a Failing Test

Unit Tests

Unite tests check individual components (units) of code for intent. The example in this cookbook is written with chefspec.

A cookbook unit test file goes in spec/unit/recipes/cookbookname_spec.rb

Write unit tests that check to see if
* the httpd package is installed
* a /var/www/index.html tempate is created
* the httpd service is enabled
* the httpd service is started

Run the test in the cookbook root:
`chef exec rspec`

This should fail as we have not written any code yet

```
Finished in 0.72082 seconds (files took 2.13 seconds to load)
4 examples, 3 failures

Failed examples:

rspec ./spec/unit/recipes/default_spec.rb:30 # mywebserver::default installs httpd
rspec ./spec/unit/recipes/default_spec.rb:35 # mywebserver::default creates a template for the home page
rspec ./spec/unit/recipes/default_spec.rb:39 # mywebserver::default enables and starts the httpd servce
```

repository: sbates/Evolve

repo_name: sbates/Evolve