text:
# AnimalFiles

This is the documentation for the AnimalFiles queries against the [RescueGroups.org](https://www.rescuegroups.org/) HTTP API v2.

[Full Documentation on RescueGroups.org](https://userguide.rescuegroups.org/display/APIDG/Object+definitions#Objectdefinitions-animalFiles)

## Define
Performs animalFiles.define query. This gives information about the API interface to your application. These are also used to build this SDK.

### Example Query

    $query = new \RescueGroups\Request\Objects\AnimalFiles\Define();

    $result = $api->executeRequest($query);
## GetList
Performs animalFiles.list list query, typically suitable for filling HTML select fields.

### Example List Query

    $query = new \RescueGroups\Request\Objects\AnimalFiles\GetList();
    $result = $api->executeRequest($query);
## Search
Performs animalFiles.search search query. This query returns an array of [\RescueGroups\Objects\Search\AnimalFile](../../../src/Objects/Search/AnimalFile.php) objects.

### Example Search Query

    $query = new \RescueGroups\Request\Objects\AnimalFiles\Search();
    $query
        ->setResultStart(10)
        ->setResultLimit(20)
        ->setResultSort('objectField')
        ->setResultOrder('asc')
        ->setCalculateFoundRows(true)
        ->addFilter('someObjectField', 'equals', 33)
        ->addField('objectField')
        ->addField('someOtherObjectField');

    $result = $api->executeRequest($query);
## View
Performs animalFiles.view query.

### Example Query

    $query = new \RescueGroups\Request\Objects\AnimalFiles\View();

    $query->setId("File ID");

    $result = $api->executeRequest($query);

## Add
Performs animalFiles.add add query to create an instance of an object. Uses special classes of type [\RescueGroups\Objects\Create\AnimalFile](../../../src/Objects/AnimalFile.php) as input to create a record. There are several fields that differ from the standard edit model. The ID field is ignored. You may specify multiple objects to create multiple records in one request.

### Example Add Query

    $query = new \RescueGroups\Request\Objects\AnimalFiles\Add();

    $addObject = new \RescueGroups\Objects\Create\AnimalFile();
    $addObject->binary = "File"
    $addObject->oldFileName = "Old file name"
    $addObject->description = "Description"
    $addObject->status = "Status"
    $addObject->displayInline = "Inline"
    $addObject->public = "Public"

    $query->addAnimalFile($addObject);

    $result = $api->executeRequest($query);
## Edit
Performs animalFiles.edit edit query to edit an object. Uses classes of type [\RescueGroups\Objects\AnimalFile](../../../src/Objects/AnimalFile.php) as input to perform an edit on a record. The ID field is required to be set for this to work. You may specify multiple objects to perform multiple edits in one request.

### Example Edit Query

    $query = new \RescueGroups\Request\Objects\AnimalFiles\Edit();

    $editObject = new \RescueGroups\Objects\AnimalFile();
    $editObject->id = "File ID"
    $editObject->animalId = "Animal"
    $editObject->description = "Description"
    $editObject->status = "Status"
    $editObject->displayInline = "Inline"
    $editObject->public = "Public"

    $query->updateAnimalFile($editObject);

    $result = $api->executeRequest($query);

repository: salernolabs/rescuegroups

gha_language: PHP

repo_name: salernolabs/rescuegroups


text:
# JSON, CBOR Message Encoding

For JSON and supersets, messages are encoded as an array.

The first element is the message kind, and the following elements are the message fields.

## JSON Example

```json
["CALL", 13, "helloworld", "payload", {}]
```

**OR**

```json
[40, 13, "helloworld", "payload", {}]
```

## Basic Type Mappings

A basic mapped type uses the most specific type in its respective encoding.

For example:

- With JSON, `u8` and `u64` will be encoded to a JSON number.
- With JSON, a JSON number will attempt to decode into a `u8` if it fits or a `u64`.
- With CBOR, a `u8` will be encoded to a `u8`, respectively with `u64` to a `u64`.
- With CBOR, decoding a `u8` and `u64` map the same as with the encoding.

### JSON Mapping

| Type   | Mapping      |
| ------ | ------------ |
| `u8`   | JSON number  |
| `u64`  | JSON number  |
| `str`  | JSON string  |
| `map`  | JSON object  |
| `val`  | JSON value   |

### CBOR Mapping

| Type   | Mapping                         |
| ------ | ------------------------------- |
| `u8`   | CBOR u8                         |
| `u64`  | CBOR u64                        |
| `str`  | CBOR string                     |
| `map`  | CBOR object (with `UTF-8` keys) |
| `val`  | CBOR data item                  |

license: MIT

repository: lrpm-proto/spec

branch_name: refs/heads/master

extension: md

license_type: permissive

repo_name: lrpm-proto/spec


text:
# Rails-Mini-Social-Network
A Mini Social-Network created with Rails!!

# Another Versions
**[React Version](https://github.com/yTakkar/React-Mini-Social-Network)**

**[Vue Version](https://github.com/yTakkar/Vue-Mini-Social-Network)**

**[Golang Version](https://github.com/yTakkar/Go-Mini-Social-Network)**

# Quick Links
1. [Screenshots](#screenshots)
2. [Usage](#usage)

# Screenshots
![alt text](https://raw.githubusercontent.com/yTakkar/Rails-Mini-Social-Network/master/screenshots/Snap%202017-09-19%20at%2015.11.54.png)
![alt text](https://raw.githubusercontent.com/yTakkar/Rails-Mini-Social-Network/master/screenshots/Snap%202017-09-19%20at%2015.14.34.png)
![alt text](https://raw.githubusercontent.com/yTakkar/Rails-Mini-Social-Network/master/screenshots/Snap%202017-09-19%20at%2015.12.22.png)
![alt text](https://raw.githubusercontent.com/yTakkar/Rails-Mini-Social-Network/master/screenshots/Snap%202017-09-19%20at%2015.12.39.png)
![alt text](https://raw.githubusercontent.com/yTakkar/Rails-Mini-Social-Network/master/screenshots/Snap%202017-09-19%20at%2015.12.08.png)
![alt text](https://raw.githubusercontent.com/yTakkar/Rails-Mini-Social-Network/master/screenshots/Snap%202017-09-19%20at%2015.12.16.png)
![alt text](https://raw.githubusercontent.com/yTakkar/Rails-Mini-Social-Network/master/screenshots/Snap%202017-09-19%20at%2015.12.30.png)
![alt text](https://raw.githubusercontent.com/yTakkar/Rails-Mini-Social-Network/master/screenshots/Snap%202017-09-19%20at%2015.12.53.png)

# Usage
1. First install all the dependencies.
```javascript
bundle install
npm install [OR] yarn
```
2. Open PHPMyAdmin, create a `DB` named `rails-mini-social-network` & import `db.sql` file.
3. Create the following environment variables:
```javascript
RAILS_DB_PASSWORD="DB PASSWORD"
RAILS_SOCKET="MySQL Socket"
```
4. Start the server
```javascript
rails s
```
5. Now, open it in browser:
```javascript
localhost:3000
```

# Contribute
Feel free to contribute!!

Show your support by 🌟 the project!!

repository: athiwatp/Rails-Mini-Social-Network

repo_name: athiwatp/Rails-Mini-Social-Network


text:
# FaceMaskDetector

## Description

Implemented a python script to detect whether a person is wearing face mask or not using OpenCV and Keras/TensorFlow.

## Directory layout

```go
 FaceMaskDetector
    +--- dataset
        +--- with_mask
            |
        +--- without_mask
            |
    +--- face_detector // pre trained model for face detection
        +--- deploy.prototxt
        +--- res10_300x300_ssd_iter_140000.caffemodel
    +--- examples // examples images
        | // image files in this folder
    +--- image_script.py // mask detection on images
    +--- mask_detector.model // trained model for mask detection
    +--- MaskDetector.ipynb // jupyter notebook of training mask_detector.model
    +--- maskDL.mp4 // example video file for mask detection
    +--- video_script.py // script to perform mask detection from webcam feed
    +--- video_script_file.py // script to perform mask detection from video file
    +--- video_speed.py // speeds up mask detection by alternating frames
    +--- webcam_test.py // tests if webcam working or not
```

## Required Libraries

- Tensorflow
- opencv-python
- argparse
- imutils

## Steps to run

For detection from image file:

```bash
$ python image_script.py -i example/example_07.png
```

For detection from webcam feed:

```bash
$ python video_script.py
```

For detection from video file:

```bash
$ python video_script_file.py
```

For detection from video file but increased speed:

```bash
$ python video_speed.py
```

## Screenshots

### Example 1

![picture alt](screenshots/output_image_1.png)

### Example 2

![picture alt](screenshots/output_image_2.png)

repository: kshitijalwadhi/FaceMaskDetector

repo_name: kshitijalwadhi/FaceMaskDetector


text:
---
layout: default
---

# 1998-10-26 - Re: UK police chase crooks on CCTV (fwd)

## Header Data

From<EMAIL_ADDRESS>To<EMAIL_ADDRESS>(Cypherpunks Distributed Remailer)

Message Hash: f716ce5832cc9cc009f9417e0a89dfee7a48c0edce1494c6df99f44dbb1da015

Message ID<EMAIL_ADDRESS>Reply To<EMAIL_ADDRESS>UTC Datetime: 1998-10-26 23:25:19 UTC

Raw Date: Tue, 27 Oct 1998 07:25:19 +0800

## Raw message

```
{% raw  %}From<EMAIL_ADDRESS>Date: Tue, 27 Oct 1998 07:25:19 +0800
To<EMAIL_ADDRESS>(Cypherpunks Distributed Remailer)
Subject: Re: UK police chase crooks on CCTV (fwd)
In-Reply-To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

At 08:22 AM 10/21/98 -0500, Suspect Jim Choate wrote:
>> ``The only people entered on to the system will be convicted criminals
>> who, through our intelligence, we believe are habitually committing
>> crimes in the area,'' The Daily Mail quoted police Chief Superintendent
>> Dave Armond as saying. ``If people are not committing crime they have
>> nothing to fear, but if they are among the small minority who are, the
>> message is, 'We are watching out for you.'''
>> The newspaper reported that police initially will use the system to
>> concentrate on catching robbery suspects. In the future, however, it
>
>Excuse me....
>
>Since when does 'suspected of' equate to 'convicted criminal'?
>Also, in order to wath you (sic) they have to watch everyone - in effect
>guilty until proven innocent by the computer software.

The policeman's statement, if honest, implies that the
system needs a real mugshot or more detailed set of pictures to work from,
so they're going to start with feeding it the Usual Suspects,
for whom they can get good data for the system to search.
It probably also has capacity limitations, so they won't be searching
for everybody they have pictures of, just the most likely.

However, looking for more people doesn't take more cameras,
just more backend computers analyzing the video feeds,
so Moore's Law will increase analysis capacity rapidly,
though it will also make it cheap to put more cameras out there.

>What sort of civil recovery are provided for the inevitable software errors?
>I bet nadda, and that's wrong too.

Software errors don't seem to be a major problem here -
false negatives just mean they miss an opportunity to catch somebody, and
false positives mean the system says "Looks like Joe Suspect on Camera 3!" or
"Looks like Joe Suspect on Videotape 32674 at 23:10 entering the bank" -
in either case, the police can then look at the picture and see if it is.

>We need a law or court ruling pretty quickly in the US that sets the
>standard that a group of people have no more or less rights than an
>individual. This will required LEA's to provide probable cause prior to any
>actions against groups of people (such as this).

Ain't gonna happen - are you kidding?  If there is a ruling like that,
it'll be done in some way that restricts citizen rights rather than
expanding them, or expands police powers rather than restricting them.
It's already legal for cops to hang around street corners watching for
suspicious activities or suspicious people, and all video recognition
technology does is increase their effectiveness and speed at doing things
they already are allowed to do.

Unfortunately, I'm being increasingly forced to take the David Brin position of
"Cameras are cheap, get used to it, just make sure we have more cameras
pointing at the cops than they have pointing at us, and make sure
the cameras the government has are citizen-accessible as well."

				Thanks!
					Bill
Bill Stewart<EMAIL_ADDRESS>PGP Fingerprint D454 E202 CBC8 40BF  3C85 B884 0ABE 4639

{% endraw %}
```

## Thread

+ Return to [October 1998](/archive/1998/10)

+ Return to "[bill.stewart@pobox.com](/authors/bill_stewart_at_pobox_com)"
+ Return to "[Jim Choate <ravage@einstein.ssz.com>](/authors/jim_choate_ravage_at_einstein_ssz_com_)"
+ Return to "[Steve Schear <schear@lvcm.com>](/authors/steve_schear_schear_at_lvcm_com_)"

+ 1998-10-21 (Wed, 21 Oct 1998 21:40:13 +0800) - [UK police chase crooks on CCTV (fwd)](/archive/1998/10/fa1f0bb046e8741ecd4a942c94577611f9fadbcf7281f8aa6d01e4e37dbc9390) - _Jim Choate<EMAIL_ADDRESS>  + 1998-10-26 (Tue, 27 Oct 1998 07:25:19 +0800) - Re: UK police chase crooks on CCTV (fwd) -<EMAIL_ADDRESS>  + 1998-10-28 (Thu, 29 Oct 1998 00:38:08 +0800) - [Re: UK police chase crooks on CCTV (fwd)](/archive/1998/10/de24a2f6e0cf8ee7353ef7bd52e1ddab2d28bce3149f99b782fd7fd03329d0c3) - _Steve Schear<EMAIL_ADDRESS>

gha_license_id: MIT


text:
# Stromne Clem. GENUS

#### Status
SYNONYM

#### According to
Index Fungorum

#### Published in
Gen. fung. (Minneapolis) 44 (1909)

#### Original name
Stromne Clem.

### Remarks
null

repository: mdoering/backbone

repo_name: mdoering/backbone


text:
# Deploying kube-opex-analytics using Docker

- [Requirements](#requirements)
- [Deployment](#deployment)
- [Access the web UI](#access-the-web-ui)

## Requirements
`kube-opex-analytics` requires read-only access to the following Kubernetes API endpoints.
  * `/api/v1`
  * `/apis/metrics.k8s.io/v1beta1` (provided by [Kubernetes Metrics Server](https://github.com/kubernetes-sigs/metrics-server), which shall be installed on the cluster if it's not yet the case).

You need to provide the base URL of the Kubernetes API when starting the program.
As aforementioned endpoints would typically require authentication, you have to proceed with one of the following options to authenticated with Kubernetes API:
 * Provide a proxied access to Kubernetes API (e.g. `http://<IP_ADDRESS>:8001`, get through command `kubectl proxy` with sufficient credentials to get access to the above endpoints).
 * Provide a base Kubernetes API (e.g. https://<IP_ADDRESS>:6443), plus additional credentials information to authenticate to the Kubernetes API with sufficient permission to read through the above endpoints (see the list of [configuration variables](./docs/../configuration-settings.md)).

## Deployment
It assumes that you have a proxied access to your Kubernetes cluster from the local machine.

As `kube-opex-analytics` is released as a Docker image, you can quickly start an instance of the service by running the following command:

```
docker run -d \
    --net="host" \
    --name 'kube-opex-analytics' \
    -v /var/lib/kube-opex-analytics:/data \
    -e KOA_DB_LOCATION=/data/db \
    -e KOA_K8S_API_ENDPOINT=http://<IP_ADDRESS>:8001 \
    rchakode/kube-opex-analytics
```

In this command:

 * We provide a local path `/var/lib/kube-opex-analytics` as data volume for the container. That's where `kube-opex-analytics` will store its internal analytics data. You can change this local path to another location, but please keep the container volume `/data` as is.
 * The environment variable `KOA_DB_LOCATION` points to the container path to store data. You may note that this directory belongs to the data volume atached to the container.
 * The environment variable `KOA_K8S_API_ENDPOINT` set the address of the Kubernetes API endpoint.

## Access the web UI
Once the container started you can open access the `kube-opex-analytics`'s web interface at `http://<DOCKER_HOST>:5483/` (e.g. http://<IP_ADDRESS>:5483/). *

`<DOCKER_HOST>` should be actually replaced by the IP address or the hostmane of the Docker server.

 > You typically need to wait almost an hour to have all charts filled. This is a normal operations of `kube-opex-analytics` which is an hourly-based analytics tool.

repository: rchakode/kube-opex-analytics

branch_name: refs/heads/main

gha_language: Python

repo_name: rchakode/kube-opex-analytics


text:
# Belonidium virtembergense (Matheis) Raitv. & Leenurm, 2001 SPECIES

#### Status
SYNONYM

#### According to
The Catalogue of Life, 3rd January 2011

#### Published in
Folia cryptog. Estonica 37: 89 (2001)

#### Original name
Dasyscyphus virtembergensis Matheis, 1977

### Remarks
null

path: /life/Fungi/Ascomycota/Leotiomycetes/Helotiales/Hyaloscyphaceae/Incrucipulum/Incrucipulum virtembergense/ Syn. Belonidium virtembergense/README.md


text:
{
  "title": "I'm curious as to how the R community came to be so supportive and welcoming (as opposed to so much of the tech world). Anyone have ideas? #rstats",
  "date": "2019-04-03"
}

# rstats

> **Data Scientists** (@DataScienceFr; 48/11): I'm curious as to how the R community came to be so supportive and welcoming (as opposed to so much of the tech world). Anyone have ideas? #rstats  [↪](https://twitter.com/dataandme/status/1113547867984027648)

<!-- -->

> **#rstats data** (@rstatsdata; 42/19): Kidnapped and killed citizens of Serbia and Montenegro in wars in
🇸🇮Slovenia (1991),
🇭🇷Croatia (1991-1995) &
🇧🇦Bosnia and Herzegovina (1992-1995)
>
#war #violence #military #Serbia #Montenegro #Croatia #Slovenia #Bosnia #dataviz #rstats #maps https://t.co/Hx1VwjvXNf  [↪](https://twitter.com/dataandme/status/1113520806259089408)

<!-- -->

> **R-bloggers** (@Rbloggers; 29/9): What is a Permutation Test? https://t.co/KA4HCK8bt0 #rstats #DataScience  [↪](https://twitter.com/dataandme/status/1113526657715806208)

<!-- -->

> **Analytics France** (@AnalyticsFrance; 28/8): ICYMI, 📈 quick trick using grid grobs…
💞 "Plots within plots w/ ggplot2 and ggmap" by Kenneth Tay
https://t.co/ELPTNU0qBo #rstats #dataviz https://t.co/X9y5pdLpok  [↪](https://twitter.com/dataandme/status/1113551001112535042)

<!-- -->

> **Emily Darling** (@emilysdarling; 15/10): Cost-effectiveness analysis with multi-state and partitioned survival models: hesim 0.2.0 https://t.co/OSx52v2bxI #rstats #DataScience  [↪](https://twitter.com/dataandme/status/1113522954917355520)

<!-- -->

> **R Ladies Ottawa** (@RLadiesOttawa; 12/3): Long overdue: finally updated my cv into markdown and updated my website to reflect my new awesomeness. 🤩 #rstats learn a little about the rorcid and scholar packages here: https://t.co/Dv7Xp2CQHV  [↪](https://twitter.com/dataandme/status/1113536571926622208)

<!-- -->

> **Analytics France** (@AnalyticsFr; 11/4): One day more!
#rstats #ggplot2 https://t.co/cQoSvDRpbb  [↪](https://twitter.com/dataandme/status/1113515805126397953)

<!-- -->

> **Analytics France** (@AnalyticsFrance; 11/2): Nothing unites people quite like a common enemy #rstats https://t.co/xUbDngHRsY  [↪](https://twitter.com/dataandme/status/1113550948213903362)

<!-- -->

> **Thomas Hütter** (@DerFredo; 8/3): What is this #rstats sorcery !? Yet more ways to tidy messy data frames?
>
This is so good - it's almost as if the #tidyverse is enabling annoying data practices. [Short internal dilemma follows - but retweets anyway] https://t.co/lpALZJ1dGn  [↪](https://twitter.com/dataandme/status/1113551890044702720)

<!-- -->

> **Ben Moretti** (@BenMoretti; 8/3): Good guide to Facet plots with ggplot2 #rstats #tidyverse https://t.co/sFSz7p60Kd  [↪](https://twitter.com/dataandme/status/1113537901491408896)

<!-- -->

> **Devin Incerti** (@DevinIncerti; 7/5): Bayes vs. the Invaders! Part One: The 37th Parallel https://t.co/9groTk3p1D #rstats #DataScience  [↪](https://twitter.com/dataandme/status/1113553127117086721)

<!-- -->

> **Simon Packer** (@simonpacker33; 7/3): Hey "MASS" R package?  Can you, like, NOT? Please??
>
The rest of us are over here trying to manipulate data, and we've decided the word "select" is much more useful in the dplyr package. #rstats #rlang  [↪](https://twitter.com/dataandme/status/1113523448557371393)

<!-- -->

> **Analytics France** (@AnalyticsFr; 5/6): Some of you haven’t done the Code-Error-Recode-Error-GoogleError-Recode-Error Dance on repeat until R became the personified antangonist to your galant data quests and it shows #CodeNewbie #RStats #PhDChat https://t.co/juUIOnwVPV  [↪](https://twitter.com/dataandme/status/1113542555654938624)

<!-- -->

> **I like Dirt, PhD ⚒** (@Samanthosaurus; 4/2): 6 Tech Giants collecting 43 types BigData on Consumers.
>
#infosec #Analytics #MachineLearning #DataScience #MalWare #IIoT #Python #RStats #fintech #VueJS #GoLang #CloudComputing #Serverless #hacking #Hackers #technology #news #BigData #SocialMedia #InfoSecWorld #SmartNews https://t.co/sBF6U6EN4n  [↪](https://twitter.com/dataandme/status/1113565086197489664)

<!-- -->

> **Jorge Segarra** (@SQLChicken; 4/2): And for my next obscure #rmarkdown reference, I give you: out.width="50%". Include in your chunk options for 2 plots side by side. 📊📉. #rstats https://t.co/hJN6hbnIz4  [↪](https://twitter.com/dataandme/status/1113567515488079873)

<!-- -->

> **CRAN Package Updates** (@CRANberriesFeed; 4/1): @angela_gis I like to use #rstats when I need to automate analysis. I get impatient clicking buttons these days, but also when I need to process a bunch of files, R is easier and repeatable. #gischat  [↪](https://twitter.com/dataandme/status/1113528366362021888)

<!-- -->

> **Data Scientists** (@DataScienceFr; 3/7): When API Security Testing is Your Issue [Infographic]
#DeepLearning #KSQL #MQTT #IoT #Sensor #BigData #Analytics #DataScience #AI #IIoT #RStats #TensorFlow #JavaScript #ReactJS #VueJS #GoLang #CloudComputing #Serverless #DataScientist #100daysofcode #CodeNewbie
@Nitish_Sharma23 https://t.co/iYvjeTPk5U  [↪](https://twitter.com/dataandme/status/1113549709380075528)

<!-- -->

> **Dale Barr** (@dalejbarr; 3/6): The CIO's Guide to Quantum Computing!
>
#infosec #Analytics #MalWare #IIoT #Python #RStats #fintech #VueJS #GoLang #CloudComputing #Serverless #hacking #Cloud #Hacked #Hackers #technology #news #BigData #SocialMedia #InfoSecWorld #SmartNews #cloudsecurity #cybercrime https://t.co/wfUjY5kpXk  [↪](https://twitter.com/dataandme/status/1113579682526425088)

<!-- -->

> **Dr. GP Pulipaka** (@gp_pulipaka; 3/4): The exponential growth of data, fuelled by IoT and the use of connected devices, is undisputed.
>
#infosec #Analytics #MalWare #Python #RStats #fintech #VueJS #Golang #Serverless #Linux #hacking #clouds #Hacked #Hackers #technology #news #SocialMedia #InfoSecWorld #SmartNews https://t.co/l1T4YqthiO  [↪](https://twitter.com/dataandme/status/1113534887565230080)

<!-- -->

> **claudîus** (@dataclaudius; 3/4): #RStats desde el principio: curso cero de R
🆓📚🔗https://t.co/kWgF0SBk9W
📁📂🔗https://t.co/FK0VvXobTN
>
#Estadistica #CienciaDeDatos #RStatsEs | #Statistics #DataScience
>
Sígueme (follow me)
- facebook: @fedatascience
- twitter e instagram @guamandseduardo https://t.co/C9GlWPi0ul  [↪](https://twitter.com/dataandme/status/1113575676165197824)

<!-- -->

> **Data Scientists** (@DataScientistsF; 3/3): So I’m trying to teach myself R and I stumbled upon https://t.co/7cX8j9uyJi which is beautiful and silly and is what I’m going to be spending a huge portion of time on for a while #rstats https://t.co/QP5xZ5ly8l  [↪](https://twitter.com/dataandme/status/1113574933987299334)

<!-- -->

> **Data Scientists** (@DataScienceFr; 3/3): OK, going a bit nuts trying to understand how to display `valueBox()` in a shiny flexdashboard.  Can kind shiny wiz explain what's going on here?: https://t.co/lq8CHayK69 #rstats  [↪](https://twitter.com/dataandme/status/1113546842388803584)

<!-- -->

> **Christian Ballejo** (@chrisballejo; 3/2): Simulating metapopulation occupation in a landscape https://t.co/oTnljrDBau #rstats #DataScience  [↪](https://twitter.com/dataandme/status/1113584591846113292)

<!-- -->

> **Thomas Hütter** (@DerFredo; 3/1): Hey @AniMove: I wrote a blogpost with #rstats code documenting how I created this animation. It was intended for #RPubs but the publishing step appears to be broken at the moment. Any interest in posting it on the https://t.co/Pg3byqUhlb blogs page instead?  [↪](https://twitter.com/dataandme/status/1113551557033725952)

<!-- -->

> **Aaron Jacobs** (@unconj1; 3/1): Next paper #dataviz goal: make plot, redraw plot on cookie, bake cookie, take pic of cookie, insert #cookieplot into paper.
I feel like there should be an #rstats package for this though... https://t.co/6CguyQ4w2R  [↪](https://twitter.com/dataandme/status/1113531728059084808)

<!-- -->

> **Housen Chu** (@chuhousen; 3/1): @MicheleTobias Where did you find R #rstats useful during your GEO work? #gischat  [↪](https://twitter.com/dataandme/status/1113526271613521920)

<!-- -->

> **Jewel Barnett, Ph.D.** (@jewelbarnettphd; 3/1): They mean GLMMs and PCA and stuff, right? #rstats? This is why my students should pay attention... https://t.co/3nwkWnf06C  [↪](https://twitter.com/dataandme/status/1113518687380746240)

<!-- -->

> **Jill Dosso** (@jilldosso; 2/7): How can you help protect a workload against an intrusion?
>
#infosec #Analytics #MachineLearning #DataScience #MalWare #IIoT #Python #RStats #fintech #VueJS #GoLang #Serverless #hacking #clouds #Hacked #Hackers #technology #news #BigData #SocialMedia #InfoSecWorld #SmartNews https://t.co/d5kN4NML5w  [↪](https://twitter.com/dataandme/status/1113552503226789888)

<!-- -->

> **claudîus** (@dataclaudius; 2/7): How is #AI causing #Disruption in #Healthcare? #Infographic
#DeepLearning #KSQL #MQTT #IoT #Sensor #BigData #Analytics #MachineLearning #DataScience #IIoT #RStats #TensorFlow #JavaScript #ReactJS #VueJS #GoLang #CloudComputing #Serverless #DataScientist
@Nitish_Sharma23 https://t.co/de9AHVasDC  [↪](https://twitter.com/dataandme/status/1113549223323107328)

<!-- -->

> **Nancy Huynh** (@nh_writes; 2/3): (Trying) to get to the top of R-bloggers emails https://t.co/S9VOmSpR8K #rstats #DataScience  [↪](https://twitter.com/dataandme/status/1113575818385604608)

<!-- -->

> **Michael Sumner** (@mdsumner; 2/2): A new release of my #rstats package, hesim 0.2.0, is on CRAN. Now includes functionality for multi-state and partitioned survival modeling. Leverages #rcpp for speed. https://t.co/1iFge7NZXm  [↪](https://twitter.com/dataandme/status/1113571594209615872)

<!-- -->

> **Fernando Huaman** (@FernandoHuamanX; 2/2): Nos seguimos formando en ciencia de datos, finalizando el curso de gestión de datos epidemiológicos con tidyverse en el INE-ANLIS. @ANLIS_Malbran @INEpidemiologia
#rstats #epitwitter #DataScience https://t.co/rIJ4CFEaMq  [↪](https://twitter.com/dataandme/status/1113554829505437704)

<!-- -->

> **claudîus** (@dataclaudius; 2/2): @AdrianStier @umihoshijima YES! This is amazing, so glad you shared! My #2019goal is to 'do it all' in #ggplot #rstats vs. the final tinker in keynote/ppt. But I'm stuck on multiple fill/colour scales, anyone else? Sadly can't get this to work: https://t.co/8OfdSpJ99n  [↪](https://twitter.com/dataandme/status/1113538999384190977)

<!-- -->

> **Data Scientists** (@DataScientistsF; 2/2): Findings from this week's #TidyTuesday on Seattle bike traffic: 🚲
>
2018 bike traffic in Seattle has been lower than other years. BUT it also looks like two of the counters were down during the peak biking season (summer)
>
code: https://t.co/8gjpx9o3NM
>
#rstats #dataviz https://t.co/7Gh1vnj6l2  [↪](https://twitter.com/dataandme/status/1113539025338601474)

<!-- -->

> **Scott** (@sckottie; 2/2): And here’s a little slice of the code I wrote to make this plot 🤓
>
#rstats #ggplot2 https://t.co/m5JLJNI00i  [↪](https://twitter.com/dataandme/status/1113530886232784896)

<!-- -->

> **Analytics France** (@AnalyticsFrance; 2/1): ‼‼‼Really excited about this, can't wait to see this package as it evolves! Thanks for your work on this! #soil #rstats https://t.co/kHjKfRAY8n  [↪](https://twitter.com/dataandme/status/1113549958291042304)

<!-- -->

> **Aedin Culhane** (@AedinCulhane; 2/1): @alexiagalati @fusaroli @juliafstrand @LisaDeBruine This is a problem whenever students first encounter real data regardless of whether they were taught #rstats. Our students were stymied by real data back when they were learning Excel/SPSS.  [↪](https://twitter.com/dataandme/status/1113532007668228096)

<!-- -->

> **Analytics France** (@AnalyticsFrance; 2/1): PRSim: A new package to for stochastic simulation of streamflow time series using phase randomization.
Now on CRAN:  https://t.co/MAp82r9Gdg
Credits to @ManuelaIBrunner
Accompanying manuscript submitted to HESS Technical Note (hess-2019-14). #rstats https://t.co/f49NOzknpG  [↪](https://twitter.com/dataandme/status/1113518529205161985)

<!-- -->

> **Daniel Palacios** (@danielequs; 1/4): Does the World Need a New AI-based Operating System to ignite the AI Winter? by @insightssuccess. #BigData #Analytics #DataScience #AI #MachineLearning #IoT #IIoT #PyTorch #Python #RStats #JavaScript #ReactJS #GoLang #Serverless #DataScientist #Linux
https://t.co/41R3Ox7LGF https://t.co/hb9w5tExDq  [↪](https://twitter.com/dataandme/status/1113584988807520256)

<!-- -->

> **BioinfoGoogling** (@GooglingBioinfo; 1/3): From @PLOSBiology | PlotsOfData—A web app for visualizing data together with their summaries | #rstats #dataviz #uncorrectedproof  #bioinformatics | https://t.co/GxQnTYgc4m https://t.co/CUQoP37Gql  [↪](https://twitter.com/dataandme/status/1113541575840346114)

<!-- -->

> **nima hejazi** (@nshejazi; 1/2): #HumorEstadístico #Rstats #Python #ML #MachineLearning #DataScience #mathematics https://t.co/MKqXK10FWQ  [↪](https://twitter.com/dataandme/status/1113569953582604290)

<!-- -->

> **claudîus** (@dataclaudius; 1/2): @AdrianStier @umihoshijima How about,
ggplot() +
  geom_raster(data, aes(x, y, fill = DHW)) +
  scale_fill_distiller("Spectral") +
  geom_point(newdata, aes(x, y, fill = bleaching),
                   shape = 21, colour = black) +
 scale_fill #crapalreadyusedafillscale
>
#rstats #ggplot  [↪](https://twitter.com/dataandme/status/1113549784135208962)

<!-- -->

> **Data Scientists** (@DataScientistsF; 1/2): also tidyr::complete is really handy #rstats  [↪](https://twitter.com/dataandme/status/1113540618284871682)

<!-- -->

> **Peter Higgins** (@ibddoctor; 1/2): Even though it's almost 3 years since the talk by @jcheng on effective shiny programming, there is no article or material available on why reactive expressions are monads. #rstats #shiny  [↪](https://twitter.com/dataandme/status/1113530739281223680)

<!-- -->

> **Mara Averick** (@dataandme; 1/1): Posted by Dave Giles, now on R-bloggers: What is a Permutation Test? #rstats https://t.co/41YmZBkoQG  [↪](https://twitter.com/dataandme/status/1113529469891952642)

<!-- -->

> **Elizabeth Monzingo** (@elizamonzi; 1/1): (Trying) to get to the top of R-bloggers emails via #rbloggers #rstats #datascience https://t.co/GdrYzQ7Q0f  [↪](https://twitter.com/dataandme/status/1113577855147966465)

<!-- -->

> **Christos Ioannou** (@C_C_Ioannou; 1/1): (Trying) to get to the top of R-bloggers emails #rstats https://t.co/LXm0vYoigU  [↪](https://twitter.com/dataandme/status/1113578446268043264)

<!-- -->

> **Adam Gruer** (@AdamGruer; 1/1): @lksmth And compareVersion() will compare version character strings.  Base #rstats sparks joy 😊  [↪](https://twitter.com/dataandme/status/1113564951883517952)

<!-- -->

> **Gabe Garcia 👨💻** (@gabegarcia15; 1/1): any animal trackers have some raw #Argos files to share for #rstats package examples/testing?  I particular want the old PRV messages (DAT) or DIAG (DIA) as per https://t.co/V1HdHYgo7k  [↪](https://twitter.com/dataandme/status/1113562512031539200)

<!-- -->

> **Dr. Michele M Tobias** (@MicheleTobias; 1/1): Excited to give a talk at #BioC2019 in NYC! Many thanks to @Bioconductor for the generous travel award! I'll discuss how standard variance moderation improves locally efficient estimators in high-dimensional biology + the biotmle #rstats package (https://t.co/drIBTiErRC)  [↪](https://twitter.com/dataandme/status/1113560786457096193)

<!-- -->

> **Mike Spencer** (@MikeRSpencer; 1/1): @dataveld @TripathiAm3 My suggestion was just go #rstats or #Python for this one  [↪](https://twitter.com/dataandme/status/1113559465511538688)

<!-- -->

> **Craig K. Van Pay** (@CKVanPay; 1/1): I just wrote a post called "Tale of Three Assignment Operators" on Thug R Life! #rstats https://t.co/fRtpBLo5CQ  [↪](https://twitter.com/dataandme/status/1113556812794609667)

<!-- -->

> **S2Stats** (@S2Stats; 1/1): Making R Files Executable (under Windows) #rstats  https://t.co/JWllXBW0JJ  [↪](https://twitter.com/dataandme/status/1113555659566354432)

<!-- -->

> **Analytics France** (@AnalyticsFr; 1/1): I'm convinced that @PyData users are Python users because of the joy that 𝐢𝐦𝐩𝐨𝐫𝐭 𝐩𝐚𝐧𝐝𝐚𝐬 𝐚𝐬 𝐩𝐝 brings #PyData #rstats https://t.co/K22qZtzUm2  [↪](https://twitter.com/dataandme/status/1113543708744527872)

<!-- -->

> **CRAN Package Updates** (@CRANberriesFeed; 1/1): @DocGallJr @spara @angela_gis Ooh! I didn't know about the #rstats packages for census data. Gotta remember that. #gischat  [↪](https://twitter.com/dataandme/status/1113532600583315456)

<!-- -->

> **Conor Mc** (@conormacd; 1/1): Thanks to my @Openenergymon and #rstats I can isolate the energy use of my ventilation system at home. But what causes the ~ 100 W variation within those time periods?! Ideally the base load should be ~ 50 W + ventilation. https://t.co/rxWzLurwoX  [↪](https://twitter.com/dataandme/status/1113530139449622529)

<!-- -->

> **Peter Meissner** (@peterlovesdata; 1/1): @SpacePlowboy @rstatstweet Chaos
#rstats  [↪](https://twitter.com/dataandme/status/1113522910721904641)

<!-- -->

> **Data Scientists** (@DataScienceFr; 1/1): xG in R. Are we talking lots of ifelse statements from coordinate-based buckets? Any other ways of translating x,y to xG? #rstats  [↪](https://twitter.com/dataandme/status/1113516677122150401)

<!-- -->

> **Reinhard Furrer** (@ReinhardFurrer; 0/3): Before any blockchain adoption, it's imperative to identify the most relevant use case.
>
#infosec #Analytics #MachineLearning #DataScience #MalWare #IIoT #Python #RStats #fintech #VueJS #GoLang #hacking #Hackers #technology #news #BigData #SocialMedia #InfoSecWorld #SmartNews https://t.co/D9VR1X8Qnq  [↪](https://twitter.com/dataandme/status/1113519536588886016)

<!-- -->

> **Mɪʟᴏꜱ Pᴏᴘᴏᴠɪᴄ** (@milos_agathon; 0/1): Posted by tealeaf, now on R-bloggers: Bayes vs. the Invaders! Part One: The 37th Parallel #rstats https://t.co/2miVJ6TDLX  [↪](https://twitter.com/dataandme/status/1113558396102414336)

<!-- -->

> **R-bloggers** (@Rbloggers; 0/1): Posted by Devin Incerti, now on R-bloggers: Cost-effectiveness analysis with multi-state and partitioned survival models: hesim 0.2.0 #rstats https://t.co/wrAxlck0t6  [↪](https://twitter.com/dataandme/status/1113526911337226240)

<!-- -->

> **R-bloggers** (@Rbloggers; 0/1): Posted by Hello, world!My name is Justin., now on R-bloggers: (Trying) to get to the top of R-bloggers emails #rstats https://t.co/AYiX0CBZ5F  [↪](https://twitter.com/dataandme/status/1113578530992984066)

<!-- -->

> **Andrew Barnas** (@AndrewBarnas; 0/1): What is a Permutation Test? - https://t.co/myyuM0atPb #rstats  [↪](https://twitter.com/dataandme/status/1113529038281293825)

<!-- -->

> **nathan** (@reproduckible; 0/1): Cost-effectiveness analysis with multi-state and partitioned survival models: hesim 0.2.0 - https://t.co/oy0TB91Xuz #rstats  [↪](https://twitter.com/dataandme/status/1113526412672143367)

<!-- -->

> **Oliver Stringham** (@OliverStringham; 0/1): (Trying) to get to the top of R-bloggers emails - https://t.co/LrFjS9u8XD #rstats  [↪](https://twitter.com/dataandme/status/1113577988459782145)

<!-- -->

> **Andrew Burchill 🐜** (@AndrewBurchill; 0/1): What is a Permutation Test? via #rbloggers #rstats #datascience https://t.co/no8HPLHvFh  [↪](https://twitter.com/dataandme/status/1113528729739890689)

<!-- -->

> **Fernando Huaman** (@FernandoHuamanX; 0/1): Cost-effectiveness analysis with multi-state and partitioned survival models: hesim 0.2.0 via #rbloggers #rstats #datascience https://t.co/5M790EydrJ  [↪](https://twitter.com/dataandme/status/1113526197324013574)

<!-- -->

> **Matt Johnson 🚩** (@mrjoh3; 0/1): Bayes vs. the Invaders! Part One: The 37th Parallel via #rbloggers #rstats #datascience https://t.co/VszCEOBmOG  [↪](https://twitter.com/dataandme/status/1113557602640769030)

<!-- -->

> **Neptanum** (@neptanum; 0/1): What is a Permutation Test? - https://t.co/xBBUTEst0Q #rstats  [↪](https://twitter.com/dataandme/status/1113528432741240832)

<!-- -->

> **Fernando Huaman** (@FernandoHuamanX; 0/1): (Trying) to get to the top of R-bloggers emails - https://t.co/vs77PWU7G7 #rstats  [↪](https://twitter.com/dataandme/status/1113576228504711169)

<!-- -->

> **Fernando Huaman** (@FernandoHuamanX; 0/1): Cost-effectiveness analysis with multi-state and partitioned survival models: hesim 0.2.0 - https://t.co/MljIYhN5b5 #rstats  [↪](https://twitter.com/dataandme/status/1113526568629022720)

<!-- -->

> **Eduardo Guamán Daquilema** (@guamandseduardo; 0/1): (Trying) to get to the top of R-bloggers emails - https://t.co/fsxlJ2UFwX #rstats  [↪](https://twitter.com/dataandme/status/1113576257554350085)

<!-- -->

> **Noam Ross** (@noamross; 0/1): Cost-effectiveness analysis with multi-state and partitioned survival models: hesim 0.2.0 - https://t.co/OTZ3Di7DgM #rstats  [↪](https://twitter.com/dataandme/status/1113525945070178304)

<!-- -->

> **R-bloggers** (@Rbloggers; 0/1): What is a Permutation Test? - https://t.co/8jc7Nv4vHj #rstats  [↪](https://twitter.com/dataandme/status/1113528487493742592)

<!-- -->

> **Andres Karjus** (@AndresKarjus; 0/1): R for engineers #Rstats  [↪](https://twitter.com/dataandme/status/1113584873078284291)

<!-- -->

> **Angelika Gremska** (@angela_gis; 0/1): Cost-effectiveness analysis with multi-state and partitioned survival models: hesim 0.2.0 #rstats https://t.co/OUHlsMDwwz  [↪](https://twitter.com/dataandme/status/1113525436049444868)

<!-- -->

> **Fernando Huaman** (@FernandoHuamanX; 0/1): What is a Permutation Test? #rstats https://t.co/FM66SoCpsQ  [↪](https://twitter.com/dataandme/status/1113529232506982401)

<!-- -->

> **Neptanum** (@neptanum; 0/1): Simulating metapopulation occupation in a landscape #rstats https://t.co/yHxH2cGlpv  [↪](https://twitter.com/dataandme/status/1113584680165609472)

<!-- -->

> **BF Francis Ouellette** (@bffo; 0/1): Always worth reading.
>
Data Is Plural — 2019.04.03 edition https://t.co/uPZcVbN4Td
>
#rstats  [↪](https://twitter.com/dataandme/status/1113578571870523393)

<!-- -->

> **Statisticians and Data Scientists** (@statsanddatasci; 0/1): The Australia Institute published some polling on drink and voting preference, I thought I'd scrape the PDF with tabulizer and push the data into a heatmap.
>
Here's the original document https://t.co/jO50kBn3w3
>
cc @RDNS_TAI
>
#rstats #tidythursday https://t.co/QWK0PCQUlL  [↪](https://twitter.com/dataandme/status/1113577667855433729)

<!-- -->

> **Emily Darling** (@emilysdarling; 0/1): Ever have a question specific to R and don't want slog through tons of results? A neat tool we've used is Rseek #rladies #rstats https://t.co/OGzm39w4Ub  [↪](https://twitter.com/dataandme/status/1113577800252915712)

<!-- -->

> **Nancy Huynh** (@nh_writes; 0/1): CRAN updates: crplyr crunchy mmabig https://t.co/y5W2NTKSXT #rstats  [↪](https://twitter.com/dataandme/status/1113562395878875141)

<!-- -->

> **Anindya Mozumdar** (@radmuzom; 0/1): CRAN updates: longitudinalcascade https://t.co/y5W2NU2tPr #rstats  [↪](https://twitter.com/dataandme/status/1113547253229150208)

<!-- -->

> **Thomas Hütter** (@DerFredo; 0/1): CRAN updates: broomExtra desplot distrMod earth rpsftm sommer https://t.co/y5W2NTKSXT #rstats  [↪](https://twitter.com/dataandme/status/1113577512712511488)

<!-- -->

> **Adam T. Austin** (@just_add_data; 0/1): #rstats in #boston   Nice resource https://t.co/47bVk89iXO  [↪](https://twitter.com/dataandme/status/1113572503497183232)

<!-- -->

> **Hit Game or Not?** (@pofigster; 0/1): Watching all this #rstats/C++ drama on the mailing list like "Am I the only person who'd take the C API over Rcpp?"  [↪](https://twitter.com/dataandme/status/1113565038768295936)

<!-- -->

> **Thomas Hütter** (@DerFredo; 0/1): any #rstats folks want to take over either or both of: rtimes https://t.co/KmOYFQJJ0e rsunlight https://t.co/fB1QLMMjDM - Clients for nytimes APIs & prev. Sunlight Labs APIs, respectively  [↪](https://twitter.com/dataandme/status/1113553090085408768)

<!-- -->

> **Analytics France** (@AnalyticsFr; 0/1): @EvaMaeRey Just remove the indent for the final object, and it makes a nice (more visually obvious) literate data sentence. Take the gapminder data, then filter by year, then filter by continent, then select 2 vars, which creates the new df. #rstats  [↪](https://twitter.com/dataandme/status/1113543619716308993)

<!-- -->

> **Data Scientists** (@DataScientistsF; 0/1): Applied causal analysis book(down) with #rstats covering many of the core concepts, frameworks and methodologies.
>
https://t.co/rlZ7CyRowr  [↪](https://twitter.com/dataandme/status/1113538106790166528)

<!-- -->

> **Ben Moretti** (@BenMoretti; 0/1): Explored #Africapolis data on population growth in Africa from 1950-2015 having come across the link in @jsvine's Data Is Plural newsletter #rstats #gganimate #dataviz https://t.co/ZoOquvRACq #WorkoutWednesday https://t.co/iZUWPB2DPD  [↪](https://twitter.com/dataandme/status/1113536983698112517)

<!-- -->

> **CRAN Package Updates** (@CRANberriesFeed; 0/1): A resourceful list of open source software & #RStats #Python package for flux-related processing. Need to acknowledge that many are contributed by grad students and postdoc of @FluxnetY https://t.co/WoeCEFO5tM  [↪](https://twitter.com/dataandme/status/1113534657029595136)

<!-- -->

> **Samuel Knight** (@5amStats; 0/1): True this #rstats https://t.co/vBxKbI7GS4  [↪](https://twitter.com/dataandme/status/1113526290261467137)

<!-- -->

> **Thomas Hütter** (@DerFredo; 0/1): @thosjleeper @JennyBryan May Duncan Temple Lang be praised for his pioneering in this field but let's be thankful that those RCurl/XML days are long over. #rstats  [↪](https://twitter.com/dataandme/status/1113520316859416580)

<!-- -->

> **claudîus** (@dataclaudius; 0/1): #rdata #rstats: Black crappie study on Swan Lake, Minnesota - https://t.co/SJI4FF4gQ4  [↪](https://twitter.com/dataandme/status/1113517370621026304)

<!-- -->

> **David Keyes** (@dgkeyes; 0/0): Posted by Frederico Mestre, now on R-bloggers: Simulating metapopulation occupation in a landscape #rstats https://t.co/wB1mx5HZ5E  [↪](https://twitter.com/dataandme/status/1113586018383552513)

<!-- -->

> **Dr. Erin Buchanan** (@aggieerin; 0/0): I googled cran watermelon looking for juice and #rstats came up 🤣 https://t.co/vOl5i4uqYz  [↪](https://twitter.com/dataandme/status/1113585740745777153)

<!-- -->

> **Mike Moore** (@mjmoore52; 0/0): Simulating metapopulation occupation in a landscape - https://t.co/xU0iRKk7V9 #rstats  [↪](https://twitter.com/dataandme/status/1113585549489659904)

<!-- -->

> **R-bloggers** (@Rbloggers; 0/0): Simulating metapopulation occupation in a landscape via #rbloggers #rstats #datascience https://t.co/4QC7kle427  [↪](https://twitter.com/dataandme/status/1113585378177499136)

<!-- -->

> **Dr. Michele M Tobias** (@MicheleTobias; 0/0): Simulating metapopulation occupation in a landscape - https://t.co/EL6Tggssrm #rstats  [↪](https://twitter.com/dataandme/status/1113585091777826816)

<!-- -->

> **Kelly Sharpe** (@kelly_jelly97; 0/0): Simulating metapopulation occupation in a landscape - https://t.co/yxud9KU3m8 #rstats  [↪](https://twitter.com/dataandme/status/1113585047280463872)

<!-- -->

repository: batpigandme/twitter-blogdown

repo_name: batpigandme/twitter-blogdown


text:
---
title: journeyStep event identity fields
description: journeyStep event identity fields
feature: Reporting
topic: Content Management
role: User
level: Intermediate
---
# journeyStep event identity fields {#sharing-identity-fields}

This field group is specific to journeyStepEvent: this event is in relation with journey, and doesn't have the identityMap, describing the profile identity, if any.

For journeyStepEvent, we need also to add fields related to the identity:

## profileID

Profile identifier

Type: string

## profileNamespace

Profile identifier namespace

Type: string


text:
---
description: To enable communication you must expose Hyperledger Besu ports appropriately
---

# Configuring ports

To enable communication you must expose Hyperledger Besu ports appropriately. The following shows
an example port configuration for a Besu node on AWS.

![Port Configuration](../../images/PortConfiguration.png)

When running Besu from the [Docker image](../Get-Started/Installation-Options/Run-Docker-Image.md),
[expose ports](../Get-Started/Installation-Options/Run-Docker-Image.md#exposing-ports).

!!! tip

    Besu supports [UPnP](Specifying-NAT.md) for home or small office environments where a wireless
    router or modem provides NAT isolation.

## P2P networking

To enable peer discovery, the P2P UDP port must be open for inbound connections. Specify the P2P
port using the [`--p2p-port`](../../Reference/CLI/CLI-Syntax.md#p2p-port) option. The default is
`30303`.

We also recommend opening the P2P TCP port for inbound connections. This is not strictly required
because Besu attempts to open outbound TCP connections. But if no nodes on the network are
accepting inbound TCP connections, nodes cannot communicate.

Combine the P2P port with the values for the
[`--p2p-host`](../../Reference/CLI/CLI-Syntax.md#p2p-host) and
[`--p2p-interface`](../../Reference/CLI/CLI-Syntax.md#p2p-interface) options when specifying the
[P2P host](../../Reference/CLI/CLI-Syntax.md#p2p-host) and
[P2P network interface](../../Reference/CLI/CLI-Syntax.md#p2p-interface).

!!! info

    By default, peer discovery listens on `<IP_ADDRESS>:30303` (all interfaces). If the device Besu is
    running on must bind to a specific network interface, specify the interface using the
    [`--p2p-interface`](../../Reference/CLI/CLI-Syntax.md#p2p-interface) option.

## JSON-RPC API

To enable access to the [JSON-RPC API](../Interact/APIs/Using-JSON-RPC-API.md), open the HTTP
JSON-RPC and WebSockets JSON-RPC ports to the intended users of the JSON-RPC API on TCP.

Specify the HTTP and WebSockets JSON-RPC ports using the
[`--rpc-http-port`](../../Reference/CLI/CLI-Syntax.md#rpc-http-port) and
[`--rpc-ws-port`](../../Reference/CLI/CLI-Syntax.md#rpc-ws-port) options. The defaults are `8545`
and `8546`.

## Metrics

To enable
[Prometheus to access Besu](../Monitor/Metrics.md#monitor-node-performance-using-prometheus), open
the metrics port or metrics push port to Prometheus or the Prometheus push gateway on TCP.

Specify the ports for Prometheus and Prometheus push gateway using the
[`--metrics-port`](../../Reference/CLI/CLI-Syntax.md#metrics-port) and
[`--metrics-push-port`](../../Reference/CLI/CLI-Syntax.md#metrics-push-port) options. The defaults
are `9545` and `9001`.


text:
---
layout: page
title: Kenneth's Project Portfolio Page
---

### Project: CLITutors

`CliTutors` is a desktop app for **managing private tutoring jobs**, optimized for use via a **Command Line Interface (CLI)** while still having the benefits of a Graphical User Interface (GUI). If you are a private tuition agency with a **big list of tutors to manage**, `CliTutors` can help you to manage matching tutors and students for private tuition faster than using a regular database.

Given below are my contributions to the project.

* **New Feature**: Added the ability to filter tutors after matching to a specific student.
  * What it does: Allows the user to filter the list of matched tutors based on certain parameters.
  * Justification: This feature improves the product significantly because it allows the user to filter out tutors based on specifications by the student.

* **New Feature**: Added a history command that allows the user to navigate to previous commands using up/down keys.

* **Code contributed**: [RepoSense link](https://nus-cs2103-ay2122s1.github.io/tp-dashboard/?search=&sort=groupTitle&sortWithin=title&timeframe=commit&mergegroup=&groupSelect=groupByRepos&breakdown=true&checkedFileTypes=docs~functional-code~test-code~other&since=2021-09-17&tabOpen=true&tabType=authorship&tabAuthor=knotstoks&tabRepo=AY2122S1-CS2103T-T17-2%2Ftp%5Bmaster%5D&authorshipIsMergeGroup=false&authorshipFileTypes=docs~functional-code~test-code&authorshipIsBinaryFileTypeChecked=false)

* **Project management**:
  * Managed releases `v1.2`, `v1.2.1`, `v1.3` (3 releases) on GitHub

* **Enhancements to existing features**:
  * Updated the Add Command to be split into adding tutors and students (Pull requests [\#49](https://github.com/AY2122S1-CS2103T-T17-2/tp/pull/49))

* **Documentation**:
  * User Guide:
    * Add Use Cases: [\#24](https://github.com/AY2122S1-CS2103T-T17-2/tp/pull/24)
    * Did cosmetic tweaks to existing documentation of some commands: [\#102](https://github.com/AY2122S1-CS2103T-T17-2/tp/pull/102)
  * Developer Guide:
    * Added implementation details of the `add` and `list` features: [\#121](https://github.com/AY2122S1-CS2103T-T17-2/tp/pull/121)

* **Community**:
  * PRs reviewed (with non-trivial review comments): [\#52](https://github.com/AY2122S1-CS2103T-T17-2/tp/pull/52), [\#58](https://github.com/AY2122S1-CS2103T-T17-2/tp/pull/58)
  * Reported bugs and suggestions for other teams in the class (examples: [1](https://github.com/knotstoks/ped/issues/2), [2](https://github.com/knotstoks/ped/issues/4), [3](https://github.com/knotstoks/ped/issues/5))

gha_language: Java

gha_license_id: NOASSERTION


text:
# Crontab of some system

Suppose there is a certain system (most likely it is a site).

The site engine provides CLI-interface:

```
$ ./cli.php install db
```

Some of the CLI-tasks must be run by the CRON: garbage collection, statistic counting, log parsing and etc.

Example of crontab file:

```
10 * * * * cd /path/to/site && ./cli.php garbage > /dev/null 2>&1
0 0 * * * cd /path/to/site && ./cli.php logs > /dev/null 2>&1
0 */2 * * * cd /path/to/site && ./cli.php statistic > /dev/null 2>&1
```

Most tasks run from one user (owner of the site directory) but may be necessary and root:

```
0 * * * * indexer --all --rotate
```

And these systems on a single server can be many (all of them will share the same crontab file).

Library allows to describe all this in the config and save at the right time (usually at deploy).

## Config

The config for the above example:

```php
[
    'user' => 'git',
    'dir' => '/path/to/site',
    'cli' => './cli.php',
    'name' => 'example.loc',
    'jobs' => [
        'garbage' => '10',
        'logs' => 'In 0:00',
        'statistics' => 'Every 2 hours',
        'indexer' => [
            'full' => 'indexer --all --rotate',
            'time' => 'every 1 hour',
            'user' => 'root',
        ],
    ],
];
```

## Save

```php
use axy\crontab\Crontab;

$crontab = new Crontab($config);

$crontab->save();
```

This script save crontab for `git` and `root` users from config.
Tasks are written in a specific block of a file.
And each time overwritten once they.
Without affecting tasks not related to the site.

To write crontab files of all users need to run the script as root.

Or `$crontab->save(false)` write to crontab only default user (`git` in the example).

The method returns TRUE if the crontab has been modified.

## List

Or, you can simply print all the tasks to the console.
And then enter them manually.

```php
$crontab->getAllUsers();
```

Returns the list: `user name => crontab content`.

## Format of Config

All properties is optional.

##### user

The default user.
Specified for `crontab` in the option `-u`.
Need for execution from the root.

##### dir

The root dir of the system.
If not specified a job do not contain `cd ... && `.

##### cli

The CLI-script (path relative to the `dir`).

##### name

The name of the system.
To identify blocks within a crontab file.

##### redirect

The output redirect, appended to the end.
`/dev/null 2>&1` by default.

##### jobs

The array of jobs.
Format description see below.

## Job Format

Short syntax: `$task => $time`.

```php
$jobs = [
    'logs' => 'In 0:00',
];
```

Similarly to

```php
$jobs = [
    'logs' => [
        'time' => 'In 0:00',
    ],
];
```

Converted into:

```
0 0 * * * cd {dir} && {cli} logs > {redirect}
```

##### time

The time for running.
Has the extended format (see below).

Required field.

##### user

The owner of crontab.
By default `$config['user']`.

##### full

The full command.
If this field is specified all other fields are ignored.

```php
$jobs = [
    'indexer' => [
        'full' => 'indexer --all --rotate',
        'time' => 'every 1 hour',
        'user' => 'root',
     ],
];
```

##### command

The CLI-command of the site.
By default used the key of the array element.

##### comment

Just a comment for job (added to crontab before the job).

##### redirect

Output redirect.
By default used `$config['redirect']`.

Can be disabled by `NULL`.

## Extended format of time

All expressions are case insensitive.

* `1 2 3 4 5` - standard cron expression.
* `1 2` - short expression, expands to `1 2 * * *`.
* `in 3:30` - the current time for every day `30 3 * * *`.
* `every` - every minute (`* * * * *`).
* `every 2 minutes` - (`*/2 * * * *`). Can be used `m`, `min`, `minute` and `minutes`
* `every 5m + 1` - every 5 minutes with offset 1 (`1/5 * * * *`)
* `every 5m offset 1` - can be used `+` or `offset`
* `every 2h` - (`0 */2 * * *`). Can be user `h`, `hour` or `hours`.
* `every 2 hours in 10 min` - (`10 */2 * * *`).
* `every 5h offset 2 in 10m` - (`10 2/5 * * *`).
* `every hour` - every hour (`0 * * * *`).
* `every hour in 10m` - every hour (`10 * * * *`).
* empty string is `every`

repository: axypro/crontab

repo_name: axypro/crontab


text:
# Manipulation of general linear matrix pencils
| Function | Description |
| :--- | :--- |
| **[`pbalance!`](@ref)** |Balancing arbitrary matrix pencils.  |
| **[`pbalqual`](@ref)** |Balancing quality of a matrix pencils.  |
| **[`klf`](@ref)** |   Computation of the Kronecker-like form exhibiting the full Kronecker structure |
| **[`klf_right`](@ref)** |   Computation of the Kronecker-like form exhibiting the right and finite Kronecker structures |
| **[`klf_rightinf`](@ref)** |   Computation of the Kronecker-like form exhibiting the right and infinite Kronecker structures |
| **[`klf_left`](@ref)** |  Computation of the Kronecker-like form exhibiting the left and finite Kronecker structures |
| **[`klf_leftinf`](@ref)** |  Computation of the Kronecker-like form exhibiting the left and infinite Kronecker structures |
| **[`klf_rlsplit`](@ref)** | Computation of the Kronecker-like form exhibiting the separation of right and left Kronecker structures |
| **[`preduceBF`](@ref)** | Reduction to the basic condensed form  `[B A-λE; D C]` with `E` upper triangular and nonsingular. |
| **[`klf_right!`](@ref)** |   Computation of the Kronecker-like form exhibiting the right and finite Kronecker structures |
| **[`klf_right_refine!`](@ref)** |   Update the Kronecker-like form by splitting the right and infinite Kronecker structures |
| **[`klf_right_refineut!`](@ref)** |   Refine the Kronecker-like form by enforcing upper triangular shapes of blocks in the leading full row rank subpencil |
| **[`klf_right_refineinf!`](@ref)** |   Refine the Kronecker-like form by enforcing upper triangular shapes of blocks in its infinite regular part |
| **[`klf_left!`](@ref)** |   Computation of the Kronecker-like form exhibiting the left and finite Kronecker structures |
| **[`klf_left_refine!`](@ref)** |   Update the Kronecker-like form by splitting the left and infinite Kronecker structures |
| **[`klf_left_refineut!`](@ref)** |   Refine the Kronecker-like form by enforcing upper triangular shapes of blocks in the leading full row rank subpencil |
| **[`klf_left_refineinf!`](@ref)** |   Refine the Kronecker-like form by enforcing upper triangular shapes of blocks in its infinite regular part |

```@docs
pbalance!
pbalqual
klf
klf_right
klf_rightinf
klf_rlsplit
preduceBF
klf_right!
MatrixPencils.klf_right_refine!
MatrixPencils.klf_right_refineut!
MatrixPencils.klf_right_refineinf!
klf_left
klf_leftinf
MatrixPencils.klf_left!
MatrixPencils.klf_left_refine!
MatrixPencils.klf_left_refineut!
MatrixPencils.klf_left_refineinf!
```

gha_language: Julia


text:
---
title: "List owners"
description: "Retrieve a list of owners (directoryObject objects) for an application."
author: "sureshja"
ms.localizationpriority: medium
ms.prod: "applications"
doc_type: apiPageType
---

# List owners

Namespace: microsoft.graph

> [!IMPORTANT]
> APIs under the `/beta` version in Microsoft Graph are subject to change. Use of these APIs in production applications is not supported. To determine whether an API is available in v1.0, use the **Version** selector.

Retrieve a list of owners for an application that are [directoryObject](../resources/directoryobject.md) objects.

## Permissions
One of the following permissions is required to call this API. To learn more, including how to choose permissions, see [Permissions](/graph/permissions-reference).

|Permission type      | Permissions (from least to most privileged)              |
|:--------------------|:---------------------------------------------------------|
|Delegated (work or school account) | Application.Read.All, Directory.Read.All, Application.ReadWrite.All, Directory.ReadWrite.All    |
|Delegated (personal Microsoft account) | Not supported.    |
|Application | Application.Read.All, Application.ReadWrite.OwnedBy, Application.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All |

When an application queries a relationship that returns a directoryObject type collection, if it does not have permission to read a certain derived type (like device), members of that type are returned but with limited information. With this behaviour applications can request the least privileged permissions they need, rather than rely on the set of *Directory.** permissions. For details, see [Limited information returned for inaccessible member objects](/graph/permissions-overview#limited-information-returned-for-inaccessible-member-objects).

> [!NOTE]
> The *Application.ReadWrite.OwnedBy* permission allows an app to call `GET /applications` and `GET /servicePrincipals` to list all applications and service principals in the tenant. This scope of access has been allowed for the permission.
## HTTP request

You can address the application using either its **id** or **appId**. **id** and **appId** are referred to as the **Object ID** and **Application (Client) ID**, respectively, in the Azure portal.
<!-- { "blockType": "ignored" } -->
```http
GET /applications/{id}/owners
GET /applications(appId='{appId}')/owners
```

## Optional query parameters
This method supports the [OData Query Parameters](/graph/query-parameters) to help customize the response.

## Request headers
| Name           | Description                |
|:---------------|:---------------------------|
| Authorization  | Bearer {token}. Required.  |

## Request body
Do not supply a request body for this method.

## Response

If successful, this method returns a `200 OK` response code and collection of [directoryObject](../resources/directoryobject.md) objects in the response body.
## Example
##### Request
Here is an example of the request.

# [HTTP](#tab/http)
<!-- {
  "blockType": "request",
  "name": "application_get_owners"
}-->
```msgraph-interactive
GET https://graph.microsoft.com/beta/applications/{id}/owners
```

# [C#](#tab/csharp)

```csharp

GraphServiceClient graphClient = new GraphServiceClient( authProvider );

var owners = await graphClient.Applications["{application-id}"].Owners
	.Request()
	.GetAsync();

```

 [!IMPORTANT]
 Microsoft Graph SDKs use the v1.0 version of the API by default, and do not support all the types, properties, and APIs available in the beta version. For details about accessing the beta API with the SDK, see [Use the Microsoft Graph SDKs with the beta API](/graph/sdks/use-beta).

 For details about how to [add the SDK](/graph/sdks/sdk-installation) to your project and [create an authProvider](/graph/sdks/choose-authentication-providers) instance, see the [SDK documentation](/graph/sdks/sdks-overview).

repository: microsoftgraph/msgraph-beta-sdk-dotnet

gha_language: C#

repo_name: microsoftgraph/msgraph-beta-sdk-dotnet


text:
# LdapLookup for Ruby [![Gem Version](https://badge.fury.io/rb/ldap_lookup.svg)](https://badge.fury.io/rb/ldap_lookup)

### Description
This module is to be used for anonymous lookup of user attributes in the MCommunity service provide at the University of Michigan. It can be easily modifed to use other LDAP server configurations.

---

### Try it out

Requirements:
* Ruby at least 2.0.0
* Gem 'net-ldap' ~> '0.17.0'
> *The Net::LDAP (aka net-ldap) gem before 0.16.0 for Ruby has a Missing SSL Certificate Validation.*

To try the module out:
1. Clone the repo
2. Edit the configurations by opening ldaptest.rb and set the *CONFIGURATION BLOCK* to your environment.

LdapLookup.configuration do |config|
      config.host = < your host > # "ldap.umich.edu"
      config.port = < your port > # "986" the default is set to "389" so this optional
      config.base = < your LDAP base > # "dc=umich,dc=edu"
      config.dept_attribute = < your dept attribute > # "umichPostalAddressData"
      config.group_attribute = < your group email attribute > # "umichGroupEmail"
end

3. run the ldaptest.rb script
```ruby
ruby ./ldaptest.rb
```

---

### Installation

Add this line to your application's Gemfile:

```ruby
gem 'ldap_lookup'
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install ldap_lookup

In your application create a file config/initializers/ldap_lookup.rb

LdapLookup.configuration do |config|
    config.host = < your host > # "ldap.umich.edu"
    config.port = < your port > # "954" port 389 is set by default
    config.base = < your LDAP base > # "dc=umich,dc=edu"
    config.dept_attribute = < your dept attribute > # "umichPostalAddressData"
    config.group_attribute = < your group email attribute > # "umichGroupEmail"
end

---

### Methods available

__get_simple_name:__ returns the Display Name
```
LdapLookup.get_simple_name(uniqname = nil)
```
__get_dept:__ returns the users Department_name
```
LdapLookup.get_dept(uniqname = nil)
```
__get_email:__ returns the users email address
```
LdapLookup.get_email(uniqname = nil)
```
__is_member_of_group?:__ returns true/false if uniqname is a member of the specified group
```
LdapLookup.is_member_of_group?(uid = nil, group_name = nil)
```
__get_email_distribution_list:__ Returns the list of emails that are associated to a group.
```
LdapLookup.get_email_distribution_list(group_name = nil)
```
__all_groups_for_user:__ Returns the list of groups that a user is a member of.
```
LdapLookup.all_groups_for_user(uniqname = nil)
```

### Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/rsmoke/ldap_lookup. 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 LdapLookup project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/ldap_lookup/blob/master/CODE_OF_CONDUCT.md).

gha_language: Ruby


text:
# {#guide-packages} Sharing and discovering shared Reach packages

Reach makes library packaging very easy: simply push your code to
[GitHub](https://github.com) or
[BitBucket](https://bitbucket.org) and
[tag it](https://git-scm.com/book/en/v2/Git-Basics-Tagging) to mark a
version number.

Packages on GitHub may also activate the
[reach-pkg](https://github.com/topics/reach-pkg)
topic by configuring it in their repo's
["About" configuration](https://docs.github.com/en/github/administering-a-repository/managing-repository-settings/classifying-your-repository-with-topics)
to enjoy greater discoverability.

The [package imports](##ref-programs-import-package) reference section
details Reach's remote module import syntax, and
[the compile command](##ref-usage-compile) reference describes the `--install-pkgs` command-line
argument which allows remote packages to be fetched during compilation.

repository: reach-sh/reach-lang

gha_language: Haskell

repo_name: reach-sh/reach-lang


text:
Kalah Implementation

[**Game Rules**](https://en.wikipedia.org/wiki/Kalah)

[![MIT License][license-badge]][license]

## Table of Contents

## About
Kalah, also called Kalaha, is a copy of the ancient game mancala trademarked in the United States by William Julius Champion, Jr. in 1940. This game is sometimes also called "Kalahari", possibly by false etymology from the Kalahari desert in Namibia.

The game provides a Kalah board and a number of seeds or counters. The board has 6 small pits, called houses, on each side; and a big pit, called an end zone, at each end. The object of the game is to capture more seeds than one's opponent.

1. At the beginning of the game, four seeds are placed in each house. This is the traditional method.
2. Each player controls the six houses and their seeds on the player's side of the board. The player's score is the number of seeds in the store to their right.
3. Players take turns sowing their seeds. On a turn, the player removes all seeds from one of the houses under their control. Moving counter-clockwise, the player drops one seed in each house in turn, including the player's own store but not their opponent's.
4. If the last sown seed lands in an empty house owned by the player, and the opposite house contains seeds, both the last seed and the opposite seeds are captured and placed into the player's store.
5. If the last sown seed lands in the player's store, the player gets an additional move. There is no limit on the number of moves a player can make in their turn.
6. When one player no longer has any seeds in any of their houses, the game ends. The other player moves all remaining seeds to their store, and the player with the most seeds in their store wins.

It is possible for the game to end in a draw.

This solution consists of two applications implemented using Java (Spring Boot Service) and Javascript (Angular Framework) which implements the business logics of the Kalah game, details of each application are pointed below:

* `kalah-backend`: Spring Boot service, responsible for creating and managing the game sessions which are stored in a PostgreSQL database server.

* `kalah-frontend`: Angular project responsible for the user interface, it comunicates with the `kalah-backend` in order to create plays and update the status of the gaming board as well as, beign responsible for presenting the game winner once the game ends.

## Architecture
![Architecture Diagram](images/Diagram.png)

## Technologies
* `Spring Boot v2.5.0`, for creating RESTful API;
* `Spring Data`, for managing the Database Server entities;
* `JUnit`, used for unit testing of the application;
* `Swagger`, used for API documentation;
* `Lombok`, used for annotating getters and setters methods;
* `Model Mapper`, used for object mapping;
* `PostgreSQL`, used to store the necessary data;
* `Docker and Docker-Compose`, containerization of the services and linking containers;
* `Angular v12`, implementation of user interface;
* `Angular Material`, Material Design components used in the application layout;
* `Angular Flex Layout`, creation of responsive layouts;

## Installation
Follow these instructions in order to try the application.

### Prerequisites
Make sure you have installed all of the following prerequisites on your development machine:
* `Node.JS` and `Angular CLI`, for building the `kalah-frontend`;
* `Java 11` and `Maven`, for building the `kalah-backend`;
* `Docker` and `Docker-Compose`, to build and run the application containers;

Also make sure that the following ports are available:
* `80`, used for the nginx container holding the `kalah-frontend`;
* `8080`, used for the openjdk container holding the `kalah-backend`;
* `5050`, used for the pgAdmin application;
* `5432`, used for the PostgreSQL Database Server;

### 1. Kalah Frontend Application
Execute the following commands in order to build and generate the docker container images:
1. Enter the `kalah-frontend` folder:
``$ cd kalah-frontend ``
2. Install the node dependencies:
``$ npm install``
3. Build the distributable application:
``$ ng build``
4. Execute the Docker build to generate the docker container image:
``$ docker build -t kalah-frontend .``

### 2. Kalah Backend Application
Execute the following commands in order to build and generate the docker container images:

1. Enter the `kalah-backend` folder:
``$ cd kalah-backend``
2. Execute the following maven command to clean the target folder and generate the distributable .jar file **(this command will ignore the unit tests)**:
``$ mvn clean install -DskipTests``
3. Execute the Docker build to generate the docker container image:
``$ docker build -t kalah-backend .``

### 3. Kalah Application (Docker-Compose)
From the root folder of this project execute the following commands.
1. First check if the images were successfully generated using the command:
``$ docker image ls``

2. Execute the following command to setup the whole application and deploy:
``$ docker-compose up -d``

3. You can access the frontend application accessing the following address:
``http://localhost``

## Future Improvements
* `kalah-frontend`:
  * Create a user session management module in order to authenticate and enable multi/single player sessions;
  * Creation of a matchmaking module to manage the current available games waiting for new players;
  * Implementation of Lazy Loading on modules in order to keep the frontend application performant;
  * Creation of new components to divide better the responsabilities between the communications with REST APIs;

* `kalah-backend`:
  * Management of players and their sessions using JWT tokens;
  * Matchmaking mechanism to enable online multiplayer gameplay;
  * Implementation of an Artificial Intelligence module to create singleplayer sessions possible;
  * Code instrumentation to collect service metrics (CPU and Memory usage, etc.) and forwarding to services like Elasticsearch or Grafana for data visualization;
  * Implementation of caching systems like Redis to improve performance of the system;
  * New implementations should consider a microservices architecture in order to be scalable to manage as much users/game sessions in parallel as possible;
  * Add more code coverage on unit testing;

* `General`:
  * Project build, versioning and deployment automatization using any CI/CD service;
  * Re-design of the solution to be a Cloud Native application beign capable of handling with autoscaling (Kubernetes and Cloud Native Apps can be considered);

## Contributors
Nathan Ribeiro
* [Github](https://github.com/nathanlogus)
* [LinkedIn](https://www.linkedin.com/in/nathanlogus/)

## LICENSE

[MIT](LICENSE)

[license-badge]: https://img.shields.io/npm/l/@testing-library/react.svg?style=flat-square
[license]: https://github.com/nathanlogus/kalah/blob/main/LICENSE

repository: nathanlogus/kalah

repo_name: nathanlogus/kalah


text:
lae.netbox
=========
[![Build Status](https://img.shields.io/travis/lae/ansible-role-netbox/master.svg?style=for-the-badge)](https://travis-ci.org/lae/ansible-role-netbox)
[![Ansible Galaxy Role](https://img.shields.io/ansible/role/22759.svg?style=for-the-badge)](https://galaxy.ansible.com/lae/netbox)

Deploys and configures DigitalOcean's [NetBox].

This role will deploy NetBox within its own virtualenv either by release tarball
or via git using uWSGI as the application server.

Tested and supported against CentOS 7/Debian 9/Ubuntu 16 and 18.

Note that this role is slightly opinionated and differs from installation
instructions from the NetBox documentation. The main differences are:

* Uses distro-provided systemd instead of supervisord
* Uses uWSGI as an application server instead of gunicorn
* Hardens the NetBox/uWSGI service (see `templates/netbox.service.j2`)
* Will hot reload on upgrades and configuration changes

Quickstart
----------

Provided you have Ansible installed and are using defaults:

```
ansible-galaxy install geerlingguy.postgresql lae.netbox
ansible-playbook -i your.server.fqdn, ~/.ansible/roles/lae.netbox/examples/playbook_single_host_deploy.yml -K
```

This will deploy NetBox and PostgreSQL on `your.server.fqdn`; once complete it
should be accessible on port 80. Modify if needed. Read below for more insight.

You can also use Vagrant, if you prefer, to bring up NetBox at `localhost:8080`:

```
ansible-galaxy install geerlingguy.postgresql lae.netbox
cd ~/.ansible/roles/lae.netbox/
vagrant up
```

Support/Contributing
--------------------

For support or if you'd like to contribute to this role but want guidance, feel
free to join this Discord server: https://discord.gg/cjqr6Fg

Prerequisites
-------------

### Database

This role does not setup a PostgreSQL server (but will create a database if
needed), so you'll need to setup a PostgreSQL server and create a database user
separate from this role. Take a look at the *Example Playbook* section.

Please note that as of v2.2, NetBox requires PostgreSQL 9.4 or higher.

### Redis

If you require webhooks then a redis server instance is required.  This role does not setup or manage the redis instance, see galaxy role [DavidWittman.redis](https://galaxy.ansible.com/davidwittman/redis)

Role Variables
--------------

See `examples/` for some playbooks you could write for different scenarios.
Note that some variables below **must** be defined in your playbook.

    netbox_stable: false
    netbox_git: false

It's **required** to set one of the above variables to `true`. `netbox_stable`
tells the role to deploy by extracting tarball releases from GitHub, while
`netbox_git` tells the role to clone a NetBox git repository - they're mutually
exclusive.

    netbox_stable_version: 2.5.8
    netbox_stable_uri: "https://github.com/digitalocean/netbox/archive/v{{ netbox_stable_version }}.tar.gz"

These can be configured to pin a version (e.g. increment to trigger an upgrade)
or deploy using a tarball located somewhere else. Useful for when you need to
modify something in a release or are deploying while firewalled in your local network.

    netbox_git_version: develop
    netbox_git_uri: "https://github.com/digitalocean/netbox.git"

`netbox_git_version` can be any valid ref within a git repository.
`netbox_git_uri` can be used to point to e.g. an on-premise repo or a fork.

    netbox_superuser_username: admin
    #netbox_superuser_password: changeme
    netbox_superuser_email: admin@localhost

It is **required** to set the superuser password. This role will create a new
superuser if the user does not exist, or will modify an existing user if they're
not a superuser/have a different email or password. (Yes, you can use this to
reset your superuser password if you forget it.)

    netbox_database: netbox
    netbox_database_user: netbox
    #netbox_database_password: changeme
    #netbox_database_host: localhost
    netbox_database_port: 5432
    #netbox_database_socket: /var/run/postgresql

It is **required** to configure either a socket directory (to communicate over
UNIX sockets) or a host/password (to use TCP/IP). See the *Example Playbook*
section for more information on configuring the database.

Note that these are used to configure `DATABASE` in `configuration.py`.

    netbox_config:
      #SECRET_KEY:
      ALLOWED_HOSTS:
        - localhost
        - <IP_ADDRESS>
      MEDIA_ROOT: "{{ netbox_shared_path }}/media"
      REPORTS_ROOT: "{{ netbox_shared_path }}/reports"

This is a dictionary of settings used to template NetBox's `configuration.py`.
See [Mandatory Settings] and [Optional Settings] from the NetBox documentation
for more details, as well as `examples/netbox_config.yml` in this repository.

It is not necessary to define `SECRET_KEY` here - this role will automatically
create one for you and store it in `{{ netbox_shared_path }}/generated_secret_key`.
The `SECRET_KEY` will then be read from this file on subsequent runs, unless you
later do set this in your playbook. Note that you should define the `SECRET_KEY`
if you are deploying multiple NetBox instances behind one load balancer.

`MEDIA_ROOT`/`REPORTS_ROOT`, while not mandatory in the NetBox documentation,
is mandatory in this role in order to prevent missing files. It should be set to
a directory that is permanent and not lost on upgrade (the default, listed
above, can be used without issue).

    netbox_user: netbox
    netbox_group: netbox
    netbox_home: /srv/netbox
    netbox_releases_path: "{{ netbox_home }}/releases"
    netbox_git_repo_path: "{{ netbox_releases_path }}/git-repo"
    netbox_git_deploy_path: "{{ netbox_releases_path }}/git-deploy"
    netbox_stable_path: "{{ netbox_releases_path }}/netbox-{{ netbox_stable_version }}"
    netbox_current_path: "{{ netbox_home }}/current"
    netbox_shared_path: "{{ netbox_home }}/shared"

These are all deployment details that you can modify to change the application
user and application storage locations. `netbox_releases_path` stores all NetBox
releases you've ever deployed. `netbox_git_repo_path` is where the Git repository
will be cloned to and should remain untouched - whilst `netbox_git_deploy_path`
is where a `git archive` using the ref `netbox_git_version` will be extracted to.
`netbox_stable_path` is the extracted folder from a release tarball.
`netbox_current_path` will be symlinked to the selected release and used in
service/configuration files as the location NetBox is installed.
`netbox_shared_path` is intended to store configuration files and other "shared"
content, like logs.

    netbox_socket: "<IP_ADDRESS>:8000"
    netbox_protocol: http
    netbox_processes: "{{ ansible_processor_vcpus }}"

`netbox_socket` defines what the uWSGI service will bind to and can be set to
any valid [ListenStream] address (systemd socket). Set `netbox_protocol` to
`uwsgi` if you want uWSGI to speak WSGI (for instance if you're running nginx
as a load balancer). `netbox_processes` defines how many NetBox workers uWSGI
will bring up to serve requests.

    netbox_application_log: "file:{{ netbox_shared_path }}/application.log"
    netbox_requests_log: "file:{{ netbox_shared_path }}/requests.log"

These define where logs will be stored. You can use external logging facilities
instead of local files if you wish, [as long as uWSGI supports it]. Application
log correlates to `logger` and requests log to `req-logger`.

    netbox_load_initial_data: false

To load the initial data shipped by NetBox, set this to `true`.

    netbox_ldap_enabled: false
    netbox_ldap_config_template: netbox_ldap_config.py.j2

Toggle `netbox_ldap_enabled` to `true` to configure LDAP authentication for
NetBox. `netbox_ldap_config_template` should be the path to your template - by
default, Ansible will search your playbook's `templates/` directory for this.
You can find an example in `examples/`.

    netbox_napalm_enabled: false

Toggle this to enable NAPALM integration in NetBox. You must define
`NAPALM_USERNAME` and `NAPALM_PASSWORD` in the `netbox_config` variable to be
able to use NAPALM.

    netbox_webhooks_enabled: false
    netbox_redis_host: <IP_ADDRESS>
    netbox_redis_port: 6379
    netbox_redis_password: ''
    netbox_redis_database: 0
    netbox_redis_default_timeout: 300

Toggle `netbox_webhooks_enabled` to `true` to enable webhooks for
NetBox.  REDIS server instance is required to use webhooks (see prerequisites)

    netbox_keep_uwsgi_updated: false

Toggle `netbox_keep_uwsgi_updated` to `true` if you wish to ensure your uwsgi
server is the latest release, otherwise uwsgi will not be updated on subsequent
runs of your playbook.

Example Playbook
----------------

The following installs PostgreSQL and creates a user with @geerlingguy's robust
Postgres role, then proceeds to deploy and configure NetBox using a local unix
socket to talk to the Postgres server with the default netbox database user.

    - hosts: netbox.idolactiviti.es
      become: yes
      roles:
        - geerlingguy.postgresql
        - lae.netbox
      vars:
        netbox_stable: true
        netbox_database_socket: "{{ postgresql_unix_socket_directories[0] }}"
        netbox_superuser_password: netbox
        netbox_socket: "<IP_ADDRESS>:80"
        netbox_config:
          ALLOWED_HOSTS:
            - netbox.idolactiviti.es
          MEDIA_ROOT: "{{ netbox_shared_path }}/media"
          REPORTS_ROOT: "{{ netbox_shared_path }}/reports"
        postgresql_users:
          - name: "{{ netbox_database_user }}"
            role_attr_flags: CREATEDB,NOSUPERUSER

Note the `CREATEDB` attribute.

Assuming you have a PG server already running with the user `netbox_prod_user`
created, it owns a database called `netbox_prod`, and it allows the host you're
installing NetBox on to authenticate with it over TCP:

    - hosts: netbox.idolactiviti.es
      become: yes
      roles:
        - lae.netbox
      vars:
        netbox_stable: true
        netbox_superuser_password: netbox
        netbox_socket: "<IP_ADDRESS>:80"
        netbox_config:
          ALLOWED_HOSTS:
            - "{{ inventory_hostname }}"
          MEDIA_ROOT: "{{ netbox_shared_path }}/media"
          REPORTS_ROOT: "{{ netbox_shared_path }}/reports"
        netbox_database_host: pg-netbox.idolactiviti.es
        netbox_database_port: 15432
        netbox_database: netbox_prod
        netbox_database_user: netbox_prod_user
        netbox_database_password: "very_secure_password_for_prod"

See `examples/` for more.

[NetBox]: https://github.com/digitalocean/netbox
[Mandatory Settings]: http://netbox.readthedocs.io/en/stable/configuration/mandatory-settings/
[Optional Settings]: http://netbox.readthedocs.io/en/stable/configuration/optional-settings/
[ListenStream]: https://www.freedesktop.org/software/systemd/man/systemd.socket.html#ListenStream=
[as long as uWSGI supports it]: http://uwsgi-docs.readthedocs.io/en/latest/Logging.html#pluggable-loggers

repository: soehlert/ansible

repo_name: soehlert/ansible


text:
## [UIViewPropertyAnimator](https://developer.apple.com/reference/uikit/uiviewpropertyanimator)

 - [x] [Animating Constraints Using iOS 10’s New<EMAIL_ADDRESS> - [ ] [Popping into UIViewPropertyAnimator](http://holko.pl/2016/07/07/popping-into-uiviewpropertyanimator/)
 - [ ] [iOS 10 Day by Day :: Day 4 :: UIViewPropertyAnimator](https://www.shinobicontrols.com/blog/ios-10-day-by-day-day-4-uiviewpropertyanimator)
 - [ ] WWDC 2016 - 216

gha_language: Swift


text:
# vivid

An Android library provides images picker via gallery and camera, supports multiple photos selection

# Thanks

Inspired by [android-image-picker](https://github.com/esafirm/android-image-picker)

gha_language: Kotlin


text:
---
layout: post
title: "KM and Archivists"
date: 2014-04-04 17:20:34 -0400
comments: true
categories: [academic libraries, knowledge management, LIS658]
---

**Preface:**

This semester I am teaching a knowledge management (KM) course. I
will be posting entries throughout the semester that describe,
critique, summarize, outline, etc. KM articles that my students
are not reading. The purpose here is to leverage the amount of
material I can expose them to.

**Article under discussion:**

This post is about:

Yakel, E. (2000). Knowlege management: The archivist's and records
manager's perspective. *International Management Journal, 34*(3),
24-30. [Link to an openly accessible version on
thefreelibrary.com](http://www.thefreelibrary.com/KNOWLEDGE+MANAGEMENT%3A+The+Archivist%27s+and+Records+Manager%27s...-a064715515)

The article was picked after a simple web search for these terms:
**knowledge management archivists** and selecting the article
after recognizing the author's name.

**Notes and discussion:**

I haven't read any literature before that discusses both archival
work and knowledge management, and I told someone I would try to
find an article that covers both areas. The article I selected
turned out to be a little surprising. Rather than an article about
how archivists manage their own knowledge within their own
organizations, which is what I expected to find for no apparent
reason, the article turned out to be about how archivists and
records managers can use their skills to enhance knowledge
management within their organizations and also, how doing so would
be strategically advantageous for them.

The article beings by arguing that archivists and records managers
should make sure to develop a perception of themselves as more
than "information providers and curators of data" (p. 24) and to
take advantage of new ways of visualizing their mission in order
to promote organizational learning. The key here is
**organizational learning**.

For example:

> Records management professionals must therefore become aware of
> how and when records are used --- and could be used --- rather
> than merely managing them (p. 27).

There is a big challenge here, and it's largely the same challenge
librarians face. Yakel points out that a significant amount if not
the majority of information and knowledge sharing happens in face
to face and similar social interactions. Thus, for records
management professionals and archivists, "the real challenge" is

> to insinuate themselves into such conversations (p. 28).

And to do so using the documentary system that they are
responsible for and have mastery over. It is, as Yakel notes, a
powerful position, but figuring out how to add this material into
the work flow is no easy task.

In fact, it highlights the difficulty of what to do with not just
explicit, codified knowledge (i.e., making sure that knowledge is
easily found, used, and so forth), but of what to do with
explicit, codified knowledge that has aged and has been forgotten
about for some reason or other.

In the end, the challenge for archivists, records managers, and
even librarians is how to make the codified knowledge that they
are responsible for seem as alive, relevant, and pertinent to
their respective communities as the more social day to day
interaction seems.

repository: cseanburns/research-notebook

extension: markdown

repo_name: cseanburns/research-notebook


text:
---
layout: post
title: "Kubernetes: Init Containers promises"
date: 2019-03-11
description: What is really promised as it comes to Kubernetes Init Containers?
category: blog
tag:
- linux
- docker
- deployment
- software
- kubernetes
comments: true
image: assets/containers.jpg
---

Some time ago, I wrote about my current project, and how did we tackle the issue of passing node labels to pods in [Kubernetes](https://kubernetes.io) context. The solution worked (and still does), but there was a caveat to it, which I'd like to share in this short article.

## Brief introduction to the problem

In this article [https://gmaslowski.com/kubernetes-node-label-to-pod/](https://gmaslowski.com/kubernetes-node-label-to-pod/) I described how we've passed k8s node labels to the deployed pods. Not to repeat myself, I used [Init Containers](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/) with a volume mount shared between the init and app container. If you'd like to get more details about it, I advise you to read the aforementioned article.

But, what's worth mentioning for this story, is that the *init container* was able to control our k8s cluster (to obtain node label) and with this script:
{% highlight yaml %}
cp /cassandra/cassandra-rackdc.properties /shared/cassandra-rackdc.properties &&
sed -i.bak s/RACK/$(kubectl get no -Lvm/rack | grep ${NODE_NAME} | awk '{print $6}')/g /shared/cassandra-rackdc.properties
{% endhighlight %}
a template (coming from a `configMap` volume) was filled and copied to a *shared* volume, which then was used by the app containers. Everything was fine and working, because of the [*promises*](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#understanding-init-containers) which are brought by init containers:

- started before app containers are
- always run to completion
- on failure, restart the whole pod (according to its *restartPolicy*)

### Symptoms

So far, so good. With this configuration and the promises in mind, our setup was expected to always have a */etc/cassandra/cassandra-rackdc.properties* file with the following content:
{% highlight yaml %}
dc=customDataCenter
rack=customServer-<X>
{% endhighlight %}
built upon defined template of following form:
{% highlight yaml %}
dc=customDataCenter
rack=RACK
{% endhighlight %}

 Everything was great, until one time we saw, that one of the [Cassandra](http://cassandra.apache.org/) nodes cannot start because the persisted data refer to a different rack (unfortunately I did not preserve the actual log) with value `RACK`.

### Cause

We quickly found out, that the node with the failing cassandra pod had udergone some maintenance work, including [Docker](https://docker.io) upgrade, which forced a docker daemon  restart. Bum. Got you. Deletion of the failing pod solved the issue (by recreating it). Tried restarting docker deamon on another node with cassandra - same issue. At least we're able to recreate the problem ;).

### We need to go deeper (we always do... always)

Further investigation revealed the following:

- with every docker daemon restart, the init containers were restarted as well
- it takes ~5 seconds to complete the `kubectl get no -Lvm/rack | grep ${NODE_NAME} | awk '{print $6}'`command
- the `volume mount` on init container side contains  **proper** `rack` value in cassandra config file
- the mounted file into app container (via `subpath`) contains **wrong** `rack` value in cassandra config file

> this requires some comment, as we run a [Stacked High Available Kubeadm Cluster](https://kubernetes.io/docs/setup/independent/high-availability/) with 3 masters and external LB to route traffic to the api-servers:
![Stacked Topology with etcd]({{ site.url }}/assets/k8s-topology-stacked.jpg) And thus, making the `kubectl` command call slower.

And now, bummer. How can all of it be? Why the init container is being (re)started? Where do the inconsistencies between volume mount inside the init container and app container come from?

## Quick? go through the documentation

So let us review documentation, to gather more information. From [https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#detailed-behavior](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#detailed-behavior)

> Because Init Containers can be restarted, retried, or re-executed, Init Container code should be idempotent. In particular, code that writes to files on EmptyDirs should be prepared for the possibility that an output file already exists.

Ok, that doesn't explain a lot, but at least shows a direction. Our script is not idempotent at all! There's a time interval - a ~5 seconds one - during which the value is the *to-be-substituted*  one. Remember the script?

{% highlight yaml %}
cp /cassandra/cassandra-rackdc.properties /shared/cassandra-rackdc.properties &&
sed -i.bak s/RACK/$(kubectl get no -Lvm/rack | grep ${NODE_NAME} | awk '{print $6}')/g /shared/cassandra-rackdc.properties
{% endhighlight %}

First we copy, than we substitute. Apparently, after the template file was copied, it was picked by the app container (which in our docker-deamon-restart case starts in the same time as the init container). What's more, the init container script gets executed every time the init container runs, regardless of the fact that it had already calculated the proper `rack` value. Can the solution be that simple?

## A really simple solution

So.. turns out that the solution, to the couple-mindfuck-hours-long issue  might be really simple. Changed the script to the following:
{% highlight yaml %}
test -f /shared/cassandra-rackdc.properties && \
           echo 'File exists. Not overwriting.' ||
           (cp /cassandra/cassandra-rackdc.properties /shared/cassandra-rackdc.properties && \
           sed -i.bak s/RACK/$(kubectl get no -Lrvm/rack | grep ${NODE_NAME} | awk '{print $6}')/g /shared/cassandra-rackdc.properties)"
{% endhighlight %}

Retried the failing scenario and... a success! Another job done.

## Mystery?

But one thing still bothers me, and I haven't understood it so far. Why, in the hell, the cassandra app container kept failing every restart? I mean, in the init container the mount volume eventually got the file with right value. So why the app container didn't? It's a shared volume between those two. Is it because of the `subpath volume mount`? I did not go through k8s code to find it out. If you have an answer, just let me know!

## Links
- [https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-initialization/](https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-initialization/)
- [https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#detailed-behavior](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/#detailed-behavior)
- [https://kubernetes.io/docs/setup/independent/high-availability/](https://kubernetes.io/docs/setup/independent/high-availability/)

gha_language: CSS


text:
---
layout: default
---

# 1996-02-21 - Chaotic physical systems as random number sources (fwd)

## Header Data

From: Jim Choate<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash: 84e3d8caa803bc207e34255b11a72f6c7fb715dc85fb6ef9cff9b90c22800511

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1996-02-21 04:14:27 UTC

Raw Date: Wed, 21 Feb 1996 12:14:27 +0800

## Raw message

```
{% raw  %}From: Jim Choate<EMAIL_ADDRESS>Date: Wed, 21 Feb 1996 12:14:27 +0800
To<EMAIL_ADDRESS>Subject: Chaotic physical systems as random number sources (fwd)
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text

Forwarded message:

> Date: Tue, 20 Feb 1996 14:47 EDT
> From: "E. ALLEN SMITH"<EMAIL_ADDRESS>> Subject: Chaotic physical systems as random number sources
>
> 	I'm curious if anyone knows of any attempts to use a chaotic physical
> system (such as the famous double pendulum) as a source of random numbers.

I have used magnetic pendulums for this as well as chaotic dripping (both
with an old C64).

> 	One problem that I can see is that of strange attractors. While the
> path through each time would be different, they're still _close_ to each other,
> and a practical mechanical system might not be sensitive enough to pick up the
> differences.

Not necessarily. In both the magentic pendulum and chaotic pendulums this is
not a problem.

                                              Jim Choate
<EMAIL_ADDRESS>

{% endraw %}
```

## Thread

+ Return to [February 1996](/archive/1996/02)

+ Return to "[Jim Choate <ravage@ssz.com>](/authors/jim_choate_ravage_at_ssz_com_)"

+ 1996-02-21 (Wed, 21 Feb 1996 12:14:27 +0800) - Chaotic physical systems as random number sources (fwd) - _Jim Choate<EMAIL_ADDRESS>


text:
# fycharts
A fully-fledged installable python package for extracting **top 200** and **viral 50** charts off of [spotifycharts.com](http://spotifycharts.com)

In a nutshell, the unofficial Spotify Charts API

**This project replaces the now defunct Spotify-Charts-API**

## INSPIRATION
This was built to fill the gap left when Spotify deprecated their official Spotify charts API. It arose as a needed crawler for the Spotify data analysis and machine learning project done [here](https://kelvingakuo.github.io)

## INSTALLATION
```bash
pip install fycharts
```

## SAMPLE USAGE
Say you want to extract top 200 daily charts for all time, all regions
```python
myCrawler.py

from fycharts import SpotifyCharts

api = SpotifyCharts.SpotifyCharts()
api.top200Daily(output_file = 'top_200_daily.csv')
```
Run your program.
```bash
python myCrawler.py
```
Watch the terminal for helpful information.

## FUNCTIONS AND PARAMETERS
Four functions, for all data you need are required:
1. top200Weekly
2. top200Daily
3. viral50Weekly
4. viral50Daily

All four functions take the following parameters:
#### Compulsory
1. output_file - CSV file to dump the data.

#### Optional
1. start - Start date of range of interest as string YYYY-MM-DD
2. end - End date of range of interest as string YYYY-MM-DD
3. region - Region of interest, as a country abbreviation code. 'global' is also valid

**Refer to 'SUPPORTED COUNTRY CODES SO FAR' below for important information of this.**

If not included, data is extracted for all dates, all regions

## DATA RETURNED
The data extracted from spotifycharts.com is written into a CSV file with the following fields:
1. position - The song's position during that week or day
2. track name - Name of the song
3. artist - Name of artist
4. region - Region of the chart as a code
5. date - Date or range of dates of chart
6. id - Spotify track id
7. streams - Number of streams for that week or day. **Only applicable to top 200 charts**

## SUPPORTED COUNTRY CODES SO FAR
|   |   |   |   |   |   |   |   |
|---|---|---|---|---|---|---|---|
|ad |ca |dk |gr |is |mx |ph |sv |
|ar |ch |do |gt |it |my |pl |th |
|at |cl |ec |hk |jp |ni |pt |tr |
|au |co |ee |hn |lt |nl |py |tw |
|be |cr |es |hu |lu |no |ro |us |
|bg |cy |fi |id |lv |nz |se |uy |
|bo |cz |fr |ie |mc |pa |sg |vn |
|br |de |gb |il |mt |pe |sk |global|

## PASSING DATES AS PARAMETERS
If the date isn't valid, you shall be notified with a list of the closest dates to what you put in, as suggestions.

## STUFF YOU SHOULD KNOW
When extracting data for a range of dates, in loop, the crawler sleeps every iteration for a random number of seconds between 0 and the index of the date. Dig into the code to change this!!!

repository: kaivalyapowale/fycharts

repo_name: kaivalyapowale/fycharts


text:
# mysql-server-build-env
Docker environment to build MySQL server (8.0)

Once built (see instructions in Dockerfile) you can start a container
with your local clone of mysql-server doing something like:

    docker run --rm -i --name buildenvmysql -i -v /Users/fipar/src/mysql-server:/src -v ~/tmp/build:/build fipar/mysql-server-build-env:v1 /bin/bash

You can then attach to it

	docker exec -it buildenvmysql /bin/bash

Build MySQL as you normally would  all the meanwhile editing code on your
local machine using your editor of choice, and accessing the build on
your local /tmp/build (which, if you're not on linux, you can then
mount on another container to test the build).

        cmake . -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/lib/boost/

repository: fipar/mysql-server-build-env

repo_name: fipar/mysql-server-build-env