text:
# Kogito Quarkus Kubernetes Add-On

See the [main README](../../../addons/common/kubernetes) for a full description and examples of this add-on.

## Kubernetes Client

This add-on relies on the Quarkus Kubernetes Client extension to integrate with the Kubernetes API. It should work fine
out of the box without any extra setup. Please refer to the [Quarkus guide](https://quarkus.io/guides/kubernetes-client)
for more information about any needed customization.

## Caching

To avoid round trips to the Kubernetes Core API, this implementation uses the [Quarkus Application Data Caching extension](https://quarkus.io/guides/cache)
with the default configuration.

The default configuration should be enough for most use cases, but if you need to fine tune the cache for your needs,
please refer to the [Quarkus guide](https://quarkus.io/guides/cache#configuring-the-underlying-caching-provider).

You can configure the internal caches by their names: `endpoint-by-name` and `endpoint-by-labels`.

## Usage

This extension exposes the bean [`CachedServiceAndThenRouteEndpointDiscovery`](runtime/src/main/java/org/kie/kogito/addons/quarkus/k8s/CachedServiceAndThenRouteEndpointDiscovery.java).
You can inject it into your custom Kogito service and start using it:

```java
import java.util.Optional;

import org.kie.kogito.addons.k8s.Endpoint;
import org.kie.kogito.addons.k8s.EndpointDiscovery;

@ApplicationScoped
public class EndpointFetcher {

    @Inject
    EndpointDiscovery endpointDiscovery;

    public void queryEndpoint(String namespace, String name) {
        final Optional<Endpoint> endpoint = endpointDiscovery.findEndpoint(namespace, name);
        if (endpoint.isEmpty()) {
            System.out.println("Endpoint not found :(");
        } else {
            System.out.println("This is the url for the service " + name + ": " + endpoint.get().getURL());
        }
    }
}
```

## Kubernetes Service Discovery

The Service discovery documentation can be found at this [link](https://kiegroup.github.io/kogito-docs/serverlessworkflow/latest/cloud/kubernetes-service-discovery.html).

repository: ricardozanini/kogito-runtimes

gha_language: Java

repo_name: ricardozanini/kogito-runtimes


text:
# Graphs
<!-- Short summary or background information -->
This challenge is to implement Graphs data structure

## Challenge
<!-- Description of the challenge -->
The approach I did is create two inner classes Node and Edge. The Node class uses theEdge class and the Graph class uses
both the Node and Edge class to write methods for the Graph class

## Approach & Efficiency
<!-- What approach did you take? Why? What is the Big O space/time for this approach? -->
### Big(O)
* Space: O(1)
* Time: O(n)

## API
<!-- Description of each method publicly available in your Graph -->
### Methods
* AddNode
* AddEdge
* GetNodes
* GetNeighbors
* Size

[Code](..//src/main/java/code401Challenges/Graph/Graph.java) |
[Test](../src/test/java/code401Challenges/Graph/GraphTest.java)

license: MIT

branch_name: refs/heads/master

extension: md

gha_language: JavaScript

gha_license_id: MIT

license_type: permissive


text:
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

# PULSE-MONITOR
Concept work for a heart beat monitor to predict intermittent PVC arrhythmia.

This work is currently ongoing. Primarily the focus is on data acquisition, in order to build a sufficiently large dataset to work with.
Due to the nature of measured intermittent arrhythmia, a large class imbalance in the measurement data is present, at about 1:2000.

# Basic concept:
The idea of this project is to measure heart rythm by means of a ~~IR~~ AD8232 ECG based pulse sensor and predict the onset of premature ventricular contractions based on the last few measured heart-beats.

A prediction model was initially built based on a tensorflow RNN, e.g. LSTM cells, based on various length signal input to accurately capture varying bpms. Due to the computational expense of learning based on time series input as well as output, the model will likely be adapted to use time-deltas and amplitudes as input, rather than raw measurements.

The trained model should then be capable of using live measurement data to accurately predict The onset of PVCs in the following heart-beats.

The main challenges are the following:

- [X] Data acquisition concept
- [X] Automatic data splitting into single or multiple beats (revision may be required for more robustness)
- [ ] Model training in tensorflow --> Google Colab (possible but computationally very expensive in current setup)
- [ ] Model translation for live interpretation (e.g. tflite/EdgeTPU)

Currently three scenarios are envisioned.

1. DAQ runs through a Arduino Nano, routing data by serial to Raspberry Pi for splitting, processing and storing.
1. ~~DAQ runs directly through the Raspberry Pi by means of GPIO, effectively removing the Nano fromt he~~ chain.
1. ~~DAQ and processing run through the Nano, with dedicated SD storage extension shield.~~

## Current Setup

![Measurement System](measurement_system.png "Measurement System")

## Example of signal splitting

![Signal Example](signal_example.png "Signal Example")

## Example prediction based on variable LSTM input and output length
![Prediction](1-1-prediction.png "Beat Prediction")

## Early (failed) example of PVC detection
![PVC Detection](PVC-detection.png "PVC Detection")

## Open Topics / Concept issues
* Serial read frequency (DAQ and transfer should be min ~50Hz)
* Time stamp reset / roll-over check?
* Unstable/nonrobust serial communication between Pi and Uno
* Tensorflow lite model transfer (CPU/GPU --> ARM --> TPU)
* Sensor setup on PI/Nano
* Beat splitting method, may need improvement
* Buffering

## Software/Hardware build versioning

### Raspberry Pi:
**system**
```
Raspberry Pi Model 3 B+
Raspbian GNU/Linux 9.9
Kernel 4.19.42-v7+
```

**python**
```
absl-py==0.7.1
astor==0.8.0
attrs==19.1.0
backcall==0.1.0
bleach==3.1.0
cycler==0.10.0
Cython==0.29.9
decorator==4.4.0
defusedxml==0.6.0
entrypoints==0.3
future==0.17.1
gast==0.2.2
grpcio==1.21.1
h5py==2.9.0
ipykernel==5.1.1
ipython==7.6.1
ipython-genutils==0.2.0
ipywidgets==7.5.0
iso8601==0.1.12
jedi==0.14.0
Jinja2==2.10.1
joblib==0.13.2
jsonschema==3.0.1
jupyter==1.0.0
jupyter-client==5.3.0
jupyter-console==6.0.0
jupyter-core==4.5.0
Keras-Applications==1.0.8
Keras-Preprocessing==1.1.0
kiwisolver==1.1.0
Markdown==3.1.1
MarkupSafe==1.1.1
matplotlib==3.1.0
mistune==0.8.4
mock==3.0.5
nbconvert==5.5.0
nbformat==4.4.0
notebook==5.7.8
numpy==1.16.4
pandas==0.24.2
pandocfilters==1.4.2
parso==0.5.0
PeakUtils==1.3.2
pexpect==4.7.0
pickleshare==0.7.5
prometheus-client==0.7.1
prompt-toolkit==2.0.9
protobuf==3.8.0
ptyprocess==0.6.0
Pygments==2.4.2
pyparsing==2.4.0
pyrsistent==0.15.3
pyserial==3.4
python-dateutil==2.8.0
pytz==2019.1
PyYAML==5.1.1
pyzmq==18.0.2
qtconsole==4.5.1
scikit-learn==0.21.2
scipy==1.3.0
Send2Trash==1.5.0
serial==0.0.97
six==1.12.0
sklearn==0.0
tensorboard==1.13.1
tensorflow==1.13.1
tensorflow-estimator==1.13.0
termcolor==1.1.0
terminado==0.8.2
testpath==0.4.2
tornado==6.0.3
traitlets==4.3.2
wcwidth==0.1.7
webencodings==0.5.1
Werkzeug==0.15.4
widgetsnbextension==3.5.0
```

### Arduino:
**system**
```
Arduino Uno R2
ATMega328P-PU
```

**system**
```
C-Control Nano
ATMega328
```

**system**
```
Arduino Micro
ATMega3204
```

**Arduino  IDE**
```
2:1.0.5+dfsg2-4.1
1.8.9 local
```

# LOG

## 03.12.2019
More measurement data. Power-bank gave up at some point. ~80 events total logged.

## 12.10.2019
More measurement data. Total of 51 events recorded. Possibly enough for feasibiliuty check?

## 30.09.2019
Fixed dates in README.
* Cleaning raw and sample data from repo to reduced total repo size.
* Removed csv / png from tracking with gitignore
* Running BFG on all csv / png and replacing non raw/sample files from backup
* Seems to have worked! Repopulating with raw and sample data (UNTRACKED!)

## 27.08.2019
Trying to preprocess from peak to peak (regular heart beat), and stretching to fixed width.

## 26.08.2019
Preprocessing more recorded data according to -60 +120 around peak. Still not convinced this is the best method. Fixed width is too restrictive.

## 22.08.2019
Recoded 1h of data. Prepared overview plot for visualization.

## 21.08.2019
Installed ST7735S into case. Recorded 2h of data.
* Pi hooked up to cellphone charger doesn't seem to work. Only hooked up to power-bank signals are clean.
* Status LED doesn't respond anymore? To be tested on serial monitor. Possible delay required in python code.

## 19.08.2019
Hooked up ST7735S TFT screen to arduino. Plotting seems to work while keeping 200Hz sampling with Adafruit libraries.
* Plotting failry clean with noise only. To be tested with real ECG sensors.

## 16.08.2019
Tried hooking up 0.96 OLED 1306 screen. Only every second line shows up. Board likely broken (glass chipped in corner).
* Adjusted Uno code to read signal and time into variables

## 29.07.2019
Built enclosure for AD8232 and Uno.
* Adjusted delay to 0.5 after reset for indicator LED
* Preprocessing data with peak -60 +120 samples fixed length as alternative

## 27.07.2019
Recording a bit noisey, interference from somewhere...
* Added status indication LED to arduino. Blue LED on indicates recording.
* Added self quit after 1000 errors.
* Recorded 6 x 10min

## 22.07.2019
Reworked test and training sets.
* Aligned right, with 1 beat input and 1 beat output.
* Residual loss at ~0.6% at 100 epochs.
* Prediction on training and testing looks ok, likely needs a lot more data for better loss values.
* PVC detection as a concept would definitely work!

## 20.07.2019
Combined available data into training and testing. Should be possible to start training on Google COLAB!
* Moved data to Google Drive for faster access.
* GPU LSTM works! Setup generally seems fine and visualization makes sense.
* Normalized data for faster convergence, but can't get below ~46% loss.
* Alternate idea, use single beat input for single beat target, aligned at right (peak position the same for all).

## 19.07.2019
Fixed time stamp rest.
* Issuing DTR pin reset to Arduino before starting
* Sleeping for 0.022s, aparently what UI/IDE does as well
* Skipping first 5 empty rows
* To be tested with 10min actual measurement
* Max measurement interval should not exceed ~71min, limiting to segments of 10min should be no issue

## 18.07.2019
Further development of processing chain.
* Peak detection works on other data as well.
* Splitting tested for peak+70samples (~0.35s) at resting heart rate.
* Splitting could potentially be improved at bottom peak, e.g. lowest peak ~40-80 samples after highest peak.
* Prepared all of the up-to-now recorded data into single peak samples (~7400). First ML RNN model can be fed with this.
* Combine events with following peak for consistency? Following peak strongly influenced in length by event using 70 sample cut. Keeping as is for now for first testing.

## 17.07.2019
Time stamp reset seems too buggy, has been removed.
* Switched from micros() to millis() due to rollover issue after 71min. millis() sould be fine for ~50days.
* Recorded 2x 10min with millis(). Signals good, no significant issues. Time stamp may be of by 10% though...
* Recorded additional 6x 10min. Some interference seems present. Possibly cell phone?
* Fixed micros() with roll over, by switching to next_read and delta checking. Seems feasible. Will ignore time-stamp except for frequency checking and consistency.

## 16.07.2019
Second try at long term monitoring. Recorded 2x 35min, but without writing out file. Manual separation in abort.csv worked.
* Clean signals for about 70min total
* Manual cleaning still required
* Will try breaking files into 10min increments --> seems to work, recorded 2x 10min. Trying more tomorrow

## 15.07.2019
First peak detection started for further processing.
* Fixed arduino code to start recording at ~0s (flush and delay)
* Included peak detection concept in notebook

## 12.07.2019
Attached AD8232 ECG sensor as an alternative to KY039.
* Basic setup based on [Sparkfun guide](https://learn.sparkfun.com/tutorials/ad8232-heart-rate-monitor-hookup-guide/all).
 * Yellow: left arm
 * Red: right arm
 * Green: left leg
* Switched to 57600baud for consistency.
* Reduced to 200Hz DAQ
* STRONG interference of 50Hz from TV/monitor... may require shielding?
* AD8232 requires time to recenter, may not be feasible for being active?
* Nano has issues uploading
* Micro shows same 50Hz issue

## 09.07.2019
Second attempt at reading 60min. Failed at around 2150s (from 3600s). Needs further debugging/file splitting.
* Started development notebook.
* Rolling mean (5-window) reduces noise significantly.
* Peak finding can be tested on data set.

## 08.07.2019
First 60min recording failed.
* Added monitoring print out, and abort saving.

## 04.07.2019
Facing some issues getting the serial communication synced and without mistransmissions.
* Play around with ser.flush(), time.sleep() and timeout settings.
* Added shell script for removing old *.csv files
* Saving files according to start date and time

## 02.07.2019
Added start/stop commands to UNO ("S" Start, "T" Terminate).
* Switched to 3.3V supply on sensor. resolution seems far better.
* Switched to Arduino IDE 1.8.9 for serial plotting support.

## 22.06.2019
Added KY039HS pulse sensor to replace EZ1. Additional code development.
* Ramped sampling rate up tp 200Hz
* Ramped up serial baud rate to 56.6k
* Added initial plotting tool for saved test data
* Added sensor documentation

## 10.06.2019
Set up basic serial communication between Arduino **Uno** (for testing/prototyping purposes) and Pi.
* Restructured project folder
* Using EZ1-Range Finder sensor for testing
* Implemented try/catch on Pi side to limit communcation issues... further testing and development needed
* Set sampling frequnecy to 50Hz

## 01.06.2019
Starting basic setup work for Arduino **Nano** (C-Control compatible board) and Raspberry **Pi** 3 B+.
* Added "blink" example as placeholder to Nano
* Set up python 3.7.3 on Pi

repository: markusmeingast/Pulse-Monitor

repo_name: markusmeingast/Pulse-Monitor


text:
# mol2net
[![DOI](https://zenodo.org/badge/529230671.svg)](https://zenodo.org/badge/latestdoi/529230671)

Network analysis from a list of molecules

![fig_method](https://user-images.githubusercontent.com/112173397/186894549-131b817f-b398-404f-83e6-f362415c16d7.png)

## How to use this code

Run:
```
mol2net.py
```
or alternatively the two individual scripts:

```python
python 1_2_mol2net.py  # Creates networks from a list of molecules
python 3_netAna.py  # Analyzes the network via networkX
```
either separately, or automatically via the bash script:
```
mol2net.sh
```

## Credits
If you use this code for your work, please cite the corresponding paper
```
@article{ruf2022network,
author = {Ruf, Alexander and Danger, Grégoire},
title = {Network Analysis Reveals Spatial Clustering and Annotation of Complex Chemical Spaces: Application to Astrochemistry},
journal = {Analytical Chemistry},
volume = {94},
number = {41},
pages = {14135-14142},
year = {2022},
doi = {10.1021/acs.analchem.2c01271},
note ={PMID: 36209417},
URL = {https://doi.org/10.1021/acs.analchem.2c01271},
eprint = {https://doi.org/10.1021/acs.analchem.2c01271},
keywords={year2022,corresponding,first},
}
```
, and this github repository or the corresponding Zenodo DOI.
```
@software{rufalexan_2022_7025094,
  author       = {rufalexan},
  title        = {rufalexan/mol2net: v0.1.0},
  month        = aug,
  year         = 2022,
  publisher    = {Zenodo},
  version      = {v0.1.0},
  doi          = {10.5281/zenodo.7025094},
  url          = {https://doi.org/10.5281/zenodo.7025094}
}
```

## Licence
This code is licensed under the MIT License.

## Contact
<EMAIL_ADDRESS>

branch_name: refs/heads/main

gha_language: Python


text:
# senseBox MCU [![Build Status](https://travis-ci.org/sensebox/senseBoxMCU-core.svg?branch=master)](https://travis-ci.org/sensebox/senseBoxMCU-core)
senseBox MCU is a Microchip SAMD21 based open-source board for sensors.

![senseBox MCU](https://github.com/watterott/senseBox-MCU/raw/master/hardware/senseBox-MCU_v12.jpg)

* [Microchip ATSAMD21](https://www.microchip.com/wwwproducts/en/ATSAMD21G18) ARM Cortex-M0+ Microcontroller
* [Microchip ATECC608A](https://www.microchip.com/wwwproducts/en/ATECC608A) Crypto Authentication
* [Bosch BMX055](https://www.bosch-sensortec.com/bst/products/all_products/bmx055) Orientation Sensor (Accelerometer + Gyroscope + Magnetometer)
* USB CDC+MSC Bootloader (Arduino compatible)
* XBee compatible sockets (with UART and SPI)
* 5V tolerant IOs, UART, I2C (JST-PH connectors)
* MicroUSB connector for power and data
* Idle power consumption about 20mA (single 5V power supply)
* Open-Source
* **[Documentation on learn.watterott.com](http://learn.watterott.com/sensebox/)**
* This repository is based on [Watterott's Core Package](https://github.com/watterott/senseBox-MCU)

repository: mpfeil/senseBoxMCU-core

repo_name: mpfeil/senseBoxMCU-core


text:
## React-Native Template With Map
In this project the intention was to create a proof of concept to show as fast as possible an APP made in a hybrid platform presenting maps and some points. The standarts for React are not the best but the gradle config and required libs of android are instaled.

### Suporte
- Android Only (I have not implemented map support for ios yet)

#### Requirement

You Need Set Your Api Key On AndroidManifest.xml

- Set on: \android\app\src\main\AndroidManifest.xml

```
<manifest ...
	<application ...
	<meta-data
		  android:name="com.google.android.geo.API_KEY"
		  android:value="<YourApiKey>"/>
		  ...
	</application>
</manifest>
```

#### Develop Mode

Runs your app in development mode.
```
yarn run android
```
or
```
yarn run ios
```

## Customizing App Display Name and Icon

You can edit `app.json` to include [configuration keys]

repository: mneresc/react-native-map-template

repo_name: mneresc/react-native-map-template


text:
# nova-text-currency 1.0.0
### Installation
```sh
$ composer require lathanhvien/nova-text-currency
```
### Usage
```sh
use Pifpif\NovaTextCurrency\Currency;

Currency::make('Total','total')->sign('8364'),
Or:
Currency::make('Total','total'),
```
### Configuration
Optional function sign create currency symbol, base on decimal currency symbol code.
It will show on 3 pages: Index, Detail, Form (edit or create)!
Example:
```sh
Currency::make('Total','total')->sign('8364'),
```
Will create Euro currency symbol.
You can use more currency symbol by reference [UTF-8 Currency Symbols](https://www.w3schools.com/charsets/ref_utf_currency.asp)

If just use Dollar symbol, use it by default:
```sh
Currency::make('Total','total'),
```
Or without any symbol, use it by this:
```sh
Currency::make('Total','total')->sign('32'),
```
### Support
If you have any ideas about this package, feel free to contact me at gmail<EMAIL_ADDRESS>or skype: xprotoprotox
### License
This package is available under the [MIT](https://opensource.org/licenses/mit-license.php) license.

repository: lathanhvien/nova-text-currency

gha_language: Vue

repo_name: lathanhvien/nova-text-currency


text:
# SudokuSolver

A program that works out the solution to a Sudoku puzzle by using human techniques and proofs.
Because it logs the human techniques it uses, you can learn how to get past obstacles you found yourself in.

![Success](Showcase/Success.gif)

It is designed with speed in mind, but there are still many improvements to be had.
The program has been updated to .NET 7.0, but I'm not actively working on the program.
The goal was to write each technique before optimizing further.

The form draws the puzzle and its changes.
If it gets stuck, the candidates for each cell will be shown for debugging:

![Fail](Showcase/Fail.png)

Once design is done, of course, there will be no candidates showing, as every cell will be filled (assuming the input puzzle is valid and has human-solvable steps).

Big thanks to http://hodoku.sourceforge.net and http://www.sudokuwiki.org for providing a lot of information on tough Sudoku techniques.

## To Do

* A way to toggle techniques and logging with the UI
* Remaining techniques
* Unit tests

license: Zlib

repository: Kermalis/SudokuSolver

gha_language: C#

gha_license_id: Zlib

repo_name: Kermalis/SudokuSolver


text:
### [Bank Account Summary II](https://leetcode.com/problems/bank-account-summary-ii)

Table: Users

+--------------+---------+
| Column Name  | Type    |
+--------------+---------+
| account      | int     |
| name         | varchar |
+--------------+---------+
account is the primary key for this table.
Each row of this table contains the account number of each user in the bank.
There will be no two users having the same name in the table.

Table: Transactions

+---------------+---------+
| Column Name   | Type    |
+---------------+---------+
| trans_id      | int     |
| account       | int     |
| amount        | int     |
| transacted_on | date    |
+---------------+---------+
trans_id is the primary key for this table.
Each row of this table contains all changes made to all accounts.
amount is positive if the user received money and negative if they transferred money.
All accounts start with a balance of 0.

Write an SQL query to report the name and balance of users with a balance higher than 10000. The balance of an account is equal to the sum of the amounts of all transactions involving that account.

Return the result table in any order.

The query result format is in the following example.

Example 1:

Input:
Users table:
+------------+--------------+
| account    | name         |
+------------+--------------+
| 900001     | Alice        |
| 900002     | Bob          |
| 900003     | Charlie      |
+------------+--------------+
Transactions table:
+------------+------------+------------+---------------+
| trans_id   | account    | amount     | transacted_on |
+------------+------------+------------+---------------+
| 1          | 900001     | 7000       |  2020-08-01   |
| 2          | 900001     | 7000       |  2020-09-01   |
| 3          | 900001     | -3000      |  2020-09-02   |
| 4          | 900002     | 1000       |  2020-09-12   |
| 5          | 900003     | 6000       |  2020-08-07   |
| 6          | 900003     | 6000       |  2020-09-07   |
| 7          | 900003     | -4000      |  2020-09-11   |
+------------+------------+------------+---------------+
Output:
+------------+------------+
| name       | balance    |
+------------+------------+
| Alice      | 11000      |
+------------+------------+
Explanation:
Alice's balance is (7000 + 7000 - 3000) = 11000.
Bob's balance is 1000.
Charlie's balance is (6000 + 6000 - 4000) = 8000.

url: https://raw.githubusercontent.com/6leetcode/6leetcode/0c0973c634c881bd874bad5a0526b91a2d83f1a0/questions/Database/1587. Bank Account Summary II/README.md

gha_language: C


text:
# NewRelic Kafka Integration

Master: [![Build Status](https://travis-ci.org/sansible/newrelic_integration_kafka.svg?branch=master)](https://travis-ci.org/sansible/newrelic_integration_kafka)
Develop: [![Build Status](https://travis-ci.org/sansible/newrelic_integration_kafka.svg?branch=develop)](https://travis-ci.org/sansible/newrelic_integration_kafka)

* [Installation and Dependencies](#installation-and-dependencies)
* [Tags](#tags)
* [Examples](#examples)

This role install Kafka integration with NewRelic.

## Installation and Dependencies

To install run `ansible-galaxy install sansible.newrelic_integration_kafka` or add this to your
`roles.yml`.

```YAML
- name: sansible.newrelic_integration_kafka
  version: v1.0
```

and run `ansible-galaxy install -p ./roles -r roles.yml`

You can configure agent by passing in yaml object to
`sansible_newrelic_integration_kafka_instances`. For latest configuration options
please check [kafka-config.yml.sample].

## Tags

This role uses tags: **build** and **configure**

* `build` - Installs nri-kafka
* `configure` - Configures kafks integration

## Examples

Simply include role in your playbook

To include zookeeper or bootstrap argument simply include `autodiscover_strategy: zookeeper`
or `autodiscover_strategy: bootstrap`.

```YAML
- name: Install and Configure newrelic_integration_kafka
  hosts: somehost

  roles:
    - role: sansible.newrelic_integration_kafka
      sansible_newrelic_integration_kafka_zookeeper:
        hosts:
          - host: zookeeper.app.internal
            port: 2181
      sansible_newrelic_integration_kafka_instances:
        - name: metric
          command: metrics
          arguments:
            cluster_name: kafka
            autodiscover_strategy: zookeeper
```

[kafka-config.yml.sample]: https://github.com/newrelic/nri-kafka/blob/master/kafka-config.yml.sample


text:
# 00 -- Installation and Setup

## Step 1 -- Install Node.JS/npm

Go to [nodejs.org](https://nodejs.org) to install for your platform.

## Install Serverless Framework

Follow installation instructions [here](https://serverless.com/framework/docs/getting-started/), and instructions for setting up AWS Lambda (here)[https://serverless.com/framework/docs/providers/aws/guide/quick-start/]

**Note:** If you're using a work AWS account, perhaps consider using a separate account, even spinning up a temporary one, for following along with this workshop

## Sign up for IOpipe and get your access token

Sign up [here](https://dashboard.iopipe.com), then click 'Install' on the left menu. Copy your access token into an easily accessible place, or just keep that tab open.

# 01 -- Let's talk about serverless

## What Serverless is:

* A further abstraction of PaaS/IaaS
* Allows you to write code and run it in the cloud without configuring an entire environment
* A very popular new cloud architecture
* A way to further remove the need/responsibility for maintaining your own infrastructure
* Another tool to add to your application development toolbox

## What Serverless isn't:

* An architecture consisting of 0 servers
* A be-all, end-all, fix-all strategy
* A perfect, painless way to deploy and build applications

Serverless, just like any architecture, has upsides and downsides, and is great at some things and not great at others. **The point of this workshop is to teach you not just the "how"s of getting started with serverless architectue, but the "why"s**

## How Serverless Works

* Choose a runtime environment from your serverless provider (today we're using Node.JS 6.10 from AWS Lambda)
* Write a function that will be called, passing context and a callback to be used when the function is ready to send a response
* Deploy that function to your serverless provider
* For some providers, you'll need to add triggers to call the function (We will be adding an API Gateway trigger to our Lambda function)
* Call the function
* Optional (kinda): Look into/add development and monitoring tools (We'll be looking at IOpipe)


text:
This docker will use Ngrok to create a tunnel between your internal plex server to an outside url. Then will update the plex "Custom server access URLs" with the random Ngrok URL using PlexAPI. This allows you to login to plex.tv from any device and have a direct connection to your home plex server. Works from behind Carrier Grade NAT/double NAT and possibly VPN's.

Variable needed are:

Open TCP port 4040 in the Unraid ngrok docker web interface

`NGROK_PORT` = 32400

`NGROK_AUTH` = Ngrok Authtoken from their website after you've created an account

`PLEX_TOKEN` = [Plex Authtoken](https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token)

`PLEX_BASE_URL` = Plex server url like http://<IP_ADDRESS>:32400

`NGROK_PROTOCOL` = set as `TCP`

Below is the original docker info from wernight. This is a fork with a custom python script, PlexAPI and python 3 installed.

[![Docker repository](https://img.shields.io/docker/automated/wernight/ngrok.svg)](https://hub.docker.com/r/wernight/ngrok/) [![Build passing](https://img.shields.io/docker/build/wernight/ngrok.svg)](https://hub.docker.com/r/wernight/ngrok/) [![Codenvy badge](http://beta.codenvy.com/factory/resources/codenvy-contribute.svg)](http://beta.codenvy.com/f?url=https://github.com/wernight/docker-ngrok 'Start development on Codenvy')

# Supported tags and respective `Dockerfile` links

  * [`latest`](https://github.com/wernight/docker-ngrok/blob/master/Dockerfile) [![](https://images.microbadger.com/badges/image/wernight/ngrok.svg)](http://microbadger.com/images/wernight/ngrok "Get your own image badge on microbadger.com")
  * [`armhf`](https://github.com/wernight/docker-ngrok/blob/master/Dockerfile.armhf)

A [Docker][docker] image for [ngrok][ngrok] v2, introspected tunnels to localhost.
It's based on the excellent work of [wizardapps/ngrok][wizardapps/ngrok] and [fnichol/ngrok][fnichol/ngrok].

## Features

  * **Small**: Built using [busybox][busybox].
  * **Simple**: Just link as `http` or `https` in most cases, see below; exposes ngrok server `4040` port.
  * **Secure**: Runs as non-root user with a random UID `6737` (to avoid mapping to an existing UID).

## Configuration

To see command-line options, run `docker run --rm wernight/ngrok ngrok --help`.

## Usage

Supposing you've an Apache or Nginx Docker container named `web_service_container` listening on port 80:

    $ docker run --rm -it --link web_service_container wernight/ngrok ngrok http web_service_container:80

### Environment variables

*Please consider using directly the command-line arguments of Ngrok.*

If you use the default `CMD` (i.e. don't specify the ngrok command-line but only `wernight/ngrok`),
then you can use instead envrionment variables magic below.

You simply have to link the Ngrok container to the application under the `app` or `http` or `https` aliases, and all of the configuration will be done for you by default.

Additionally, you can specify one of several environment variable (via `-e`) to configure your Ngrok tunnel:

  * `NGROK_AUTH` - Authentication key for your Ngrok account. This is needed for custom subdomains, custom domains, and HTTP authentication.
  * `NGROK_SUBDOMAIN` - Name of the custom subdomain to use for your tunnel. You must also provide the authentication token.
  * `NGROK_HOSTNAME` - Paying Ngrok customers can specify a custom domain. Only one subdomain or domain can be specified, with the domain taking priority.
  * `NGROK_USERNAME` - Username to use for HTTP authentication on the tunnel. You must also specify an authentication token.
  * `NGROK_PASSWORD` - Password to use for HTTP authentication on the tunnel. You must also specify an authentication token.
  * `NGROK_PROTOCOL` - Can either be `HTTP` or `TCP`, and it defaults to `HTTP` if not specified. If set to `TCP`, Ngrok will allocate a port instead of a subdomain and proxy TCP requests directly to your application.
  * `NGROK_PORT` - Port to expose (defaults to `80` for `HTTP` protocol).
  * `NGROK_REGION` - Location of the ngrok tunnel server; can be `us` (United States, default), `eu` (Europe), `ap` (Asia/Pacific) or `au` (Australia)
  * `NGROK_BINDTLS` - Toggle tunneling only HTTP or HTTPS traffic. When `true`, Ngrok only opens the HTTPS endpoint. When `false`, Ngrok only opens the HTTP endpoint

#### Full example

 1. We'll set up a simple example HTTP server in a docker container named `www`:

        $ docker run -v /usr/share/nginx/html --name www_data busybox true
        $ docker run --rm --volumes-from www_data busybox /bin/sh -c 'echo "
Yo
" > /usr/share/nginx/html/index.html'
        $ docker run -d -p 80 --volumes-from www_data --name www nginx
        $ curl $(docker port www 80)

Yo

 2. Now we'll link that HTTP server into an ngrok container to expose it on the internet:

        $ docker run -d -p 4040 --link www:http --name www_ngrok wernight/ngrok

 3. You can now access the [API][ngrok-api] to find the assigned domain:

        $ curl $(docker port www_ngrok 4040)/api/tunnels

    or access the web UI to see requests and responses:

        $ xdg-open http://$(docker port www_ngrok 4040)

### Helper

For common cases you may want to create an alias in your `~/.profile` (or `~/.bashrc`, `~/.zshrc`, or equivalent):

    function docker-ngrok() {
      docker run --rm -it --link "$1":http wernight/ngrok ngrok http http:80
    }
    # For ZSH with Oh-My-Zsh! and 'docker' plugin enabled, you can also enable auto-completion:
    #compdef __docker_containers docker-ngrok

Then to run the simple example just do `docker-ngrok web_service_container`.

For non dockerized http targets consider this helper function:

    function expose-ngrok() {
      docker run --rm --net=host -e NGROK_PORT="$1" wernight/ngrok
    }

and then visit [localhost:4040](http://localhost:4040) for receiving the links.

## Feedbacks

Report issues/questions/feature requests on [GitHub Issues][issues].

Pull requests are very welcome!

[issues]:           https://github.com/andriinuts/plex-ngrok-docker/issues
[docker]:           https://www.docker.io/
[ngrok]:            https://ngrok.com/
[ngrok-api]:        https://ngrok.com/docs#client-api
[busybox]:          https://registry.hub.docker.com/_/busybox
[wizardapps/ngrok]: https://registry.hub.docker.com/u/wizardapps/ngrok/
[fnichol/ngrok]:    https://registry.hub.docker.com/u/fnichol/ngrok/

repository: andriinuts/plex-ngrok-docker

repo_name: andriinuts/plex-ngrok-docker


text:
# Catwalk.jl Intro

Catwalk.jl can speed up long-running Julia processes by minimizing the
overhead of dynamic dispatch. It is a JIT compiler that continuosly
re-optimizes dispatch code based on data collected at runtime.

![Speedup demo](assets/catwalk-speeddemo.gif)
[source code of this test](https://github.com/tisztamo/Catwalk.jl/blob/main/test/scheduling.jl)

It profiles user-specified call sites, estimating the distribution of
dynamically dispatched types during runtime, and generates fast
static routes for the most frequent ones on the fly.

The statistical profiler has very low overhead and can be configured
to handle situations where the distribution of dispatched types
changes relatively fast.

To minimize compilation overhead, recompilation only occurs when the
distribution changed enough and the tunable cost model predicts
significant speedup compared to the best version that was previously
compiled.

## When to use this package

Catwalk.jl focuses on use cases when it is not feasible to list the dynamically dispatched concrete types in the source code of the call site, and when the calculation is relatively complex or composed from different codebases. For simpler use cases, or when compilation
overhead should be minimal, you may find better alternatives (See the list below).

Catwalk.jl assumes the followings:

- The process is long running: several seconds, but possibly minutes are needed to break even after the initial compilation overhead.
- Few dynamically dispatched call sites contribute significantly to the running time (dynamic dispatch in a hot loop).
- You can modify the source code around the interesting call sites (add a macro call), and calculation is organized into batches.

## Alternatives

- [SingleDispatchArrays.jl](https://github.com/melonedo/SingleDispatchArrays.jl) gives you fast single dispatch for arrays of non-homogeneous elements.
- JuliaFolds packages in general try to do a weaker version of this, as discussed in: [Tail-call optimization and function-barrier -based accumulation in loops](https://discourse.julialang.org/t/tail-call-optimization-and-function-barrier-based-accumulation-in-loops/25831).
- [ManualDispatch.jl](https://github.com/jlapeyre/ManualDispatch.jl) can serve you better in less dynamic cases, when it is feasible to list the dynamically dispatched types in the source code.
- In even simpler cases using unions instead of a type hierarchy may allow the Julia compiler to "split the union". See for example [List performance improvent by Union-typed tail](https://github.com/JuliaCollections/DataStructures.jl/pull/682/commits/4742228d42ae441f9837e5825feedeb1c013bd99) in DataStructures.jl.
- [FunctionWrappers.jl](https://github.com/yuyichao/FunctionWrappers.jl) will give you type stability for a fixed (?) cost. Its use case is different, but if you are wrestling with type instabilities, take a look at it first.
- [FunctionWranglers.jl](https://github.com/tisztamo/FunctionWranglers.jl) allows fast, inlined execution of functions provided in an array - for that use case it is a better choice than Catwalk.jl.

Miss a package? Please send a PR!

gha_language: Julia

gha_license_id: NOASSERTION


text:
Roots Browserify
================

[![npm](http://img.shields.io/npm/v/roots-browserify.svg?style=flat)](https://badge.fury.io/js/roots-browserify) [![tests](http://img.shields.io/travis/carrot/roots-browserify/master.svg?style=flat)](https://travis-ci.org/carrot/roots-browserify) [![coverage](http://img.shields.io/coveralls/carrot/roots-browserify.svg?style=flat)](https://coveralls.io/r/carrot/roots-browserify) [![dependencies](http://img.shields.io/gemnasium/carrot/roots-browserify.svg?style=flat)](https://gemnasium.com/carrot/roots-browserify)

Roots browserify is an alternate javascript pipeline that uses commonjs and [browserify](http://browserify.org) to build and concatenate scripts.

> **Note:** This project is in early development, and versioning is a little different. [Read this](http://markup.im/#q4_cRZ1Q) for more details.

### Installation

- make sure you are in your roots project directory
- `npm install roots-browserify --save`
- modify your `app.coffee` file to include the extension, as such

  ```coffee
  browserify = require('roots-browserify')

  module.exports =
    extensions: [browserify(files: "assets/js/main.coffee", out: 'js/build.js')]
  ```

### Usage

This extension very directly uses browserify's javascript API under the hood. For basic usage, pass either a string with a file path or an array of file path strings as entry points for browserify, and an output path where all the concatenated scripts should be written, as shown in the example above.

### Options

##### files
String or array of strings pointing to one or more file paths which will serve as the base. See [browserify docs](https://github.com/substack/node-browserify#var-b--browserifyfiles-or-opts) for more info.

##### sourceMap
Generates an inline sourcemap, external if `minify` is `true`. Default is `false`.

##### minify
Minfifies the output. Default is `false`.

##### opts
Any additional options you'd like to be passed in to browserify. Again, documented [here](https://github.com/substack/node-browserify#var-b--browserifyfiles-or-opts). Default is `{ extensions: ['.js', '.json', '.coffee'] }`.

##### out
Where you want to output your built js file to in your `public` folder (or whatever you have set `output` to in the roots settings). There is no default. Recommended is `js/build.js`

##### transforms
If you'd like to add additional custom transforms, you can do it through this option. Pass either a transform function or an array of functions and they will be included in the pipeline. Default is `coffeeify` (add that string to your array if you want to keep coffeeify as well, otherwise it will be overridden).

### License & Contributing

- Details on the license [can be found here](LICENSE.md)
- Details on running tests and contributing [can be found here](contributing.md)

repository: zichul/roots-browserify

branch_name: refs/heads/feature/plugin-support

repo_name: zichul/roots-browserify


text:
# Collaborator Guide

**Contents**

- [Issues and Pull Requests](#issues-and-pull-requests)
- [Accepting Modifications](#accepting-modifications)
  - [Involving the PO/TC](#involving-the-potc)
- [Landing Pull Requests](#landing-pull-requests)
  - [Summarized Technical HOWTO](#summarized-technical-howto)
  - [Detailed Technical HOWTO](#detailed-technical-howto)
  - [I've made a huge mistake](#ive-made-a-huge-mistake)
- [Creating a Release](#creating-a-release)

This document contains information for Collaborators of this project regarding
maintaining the code, documentation and issues.  This is almost exactly the same
as the [Node.js Collaborator Guide](https://github.com/nodejs/node/blob/master/COLLABORATOR_GUIDE.md)
with changes to better fit our needs.

Collaborators should be familiar with the guidelines for new contributors in
[CONTRIBUTING.md](./CONTRIBUTING.md) and also understand the project governance
model as outlined in [GOVERNANCE.md](./GOVERNANCE.md).

Collaborators are users with write access to this repository and work directly
in the main repository.  Collaborators are responsible for merging in pull
requests and making releases.

Contributors are users with read access to this repository and work in their
individual forks of the main repository.

## Issues and Pull Requests

Courtesy should always be shown to individuals submitting issues and pull
requests to this project.

Collaborators should feel free to take full responsibility for managing issues
and pull requests they feel qualified to handle, as long as this is done while
being mindful of these guidelines, the opinions of other Collaborators and
guidance of the PO or TC as defined by the Governance model.

Collaborators may **close** any issue or pull request they believe is not
relevant for the future of this project.  Where this is unclear, the issue
should be left open for several days to allow for additional discussion.  Where
this does not yield input from project Collaborators or additional evidence that
the issue has relevance, the issue may be closed.  Remember that issues can
always be re-opened if necessary.

## Accepting Modifications

All modifications to project code and documentation should be performed via pull
requests, including modifications by Collaborators, PO, and TC members.

For small projects with a single Collaborator (aka, the PO), all modifications
are under the full responsibility of the PO.

All pull requests must be reviewed and accepted by a Collaborator with
sufficient expertise who is able to take full responsibility for the change.  In
the case of pull requests proposed by an existing Collaborator, an additional
Collaborator is required for sign-off.

In some cases, it may be necessary to summon a qualified Collaborator to a pull
request for review by @-mention.

If you are unsure about the modification and are not prepared to take full
responsibility for the change, defer to another Collaborator.

Before landing pull requests, sufficient time should be left for input from
other Collaborators.  Trivial changes may be landed after a shorter delay.

Where this is no disagreement amongst Collaborators, a pull request may be
landed given appropriate review.  Where there is discussion amongst
Collaborators, consensus should be sought if possible.  The lack of consensus
may indicate the need to elevate discussion to the PO or TC for resolution (see
below).

All bug fixes require a test case with demonstrates the defect.  The test should
*fail* before the change, and *pass* after the change.

All pull requests that modify executable code should be subjected to continuous
integration tests on the project CI server.

### Involving the PO/TC

Collaborators may opt to elevate pull requests or issues to the PO/TC for
discussion by assigning the ***tc-agenda***  or ***po-review*** tag.  This
should be done where a pull request:

- has a significant impact on the codebase,

- is inherently controversial; or

- has failed to reach consensus amongst the Collaborators who are actively
  participating in the discussion.

The PO/TC should server as the final arbiter where required.

## Landing Pull Requests

Always modify the original commit message to include additional meta information
regarding the change process:

- A `Reviewed-By: Name <email>` line for yourself and any other Collaborators
  who have reviewed the change.

- A `PR-URL:` line that references the full URL of the original pull request
  being merged so it's easy to trace a commit back to the conversation that led
  up to that change.

- A `Fixes: X` line, where _X_ is either the full URL for an issue, and/or the
  hash and commit message if the commit fixes a bug in a previous commit.
  Multiple `Fixes:` lines may be added if appropriate.

See the commit log for examples if unsure exactly how to format your commit
messages.

Additionally:

- Double check PRs to make sure the person's _full name_ and email address are
  correct before merging.

- Except when updating dependencies, all commits should be self contained
  (meaning every commit should pass all tests).  This makes it much easier when
  bisecting to find a breaking change.

### Summarized Technical HOWTO

The Detailed Technical HOWTO above covers all the bases.  You rarely need to do
many of those steps though.  Here is a summary for the typical landing of a PR.

```shell
$ git checkout develop
$ git fetch -p; git pull origin develop
$ curl -L $ curl -L https://patch-diff.githubusercontent.com/raw/ORG_NAME/REPO_NAME/pull/171.patch?token=VALID_TOKEN | git am -3
$ git rebase -i origin/develop

... squash all commits except for the first one ...

$ git push origin develop
```

If you run into any problem, do a `git rebase --abort` and click the _**Merge**_
button on the PR.

### Detailed Technical HOWTO

Ensure that you are not in a borked `am`/`rebase` state.

```shell
$ git am --abort
$ git rebase --abort
```

Checkout proper target branch

```shell
$ git checkout develop
```

Update the tree

```shell
$ git fetch origin
$ git merge --ff-only origin/develop
```

Apply external patches.  Go to the pull request that is about to get landed and
add `.patch` to the end of the URL and hit return.  It will redirect to a patch
of the changes.  Copy that URL and use it below.

```shell
$ curl -L https://patch-diff.githubusercontent.com/raw/ORG_NAME/REPO_NAME/pull/PR_NUMBER.patch?token=VALID_TOKEN | git am -3
```

Check and re-review the changes, they should match exactly what is in the pull
request.

```shell
git diff origin/develop
```

Check number of commits and commit messages, they should match exactly what is
in the pull request.

```shell
$ git log origin/develop...develop
```

Next, reword the commit to add in the `PR-URL` and `Reveiwed-By` details.  If
there are multiple commits that relate to the same feature or one with a feature
and separate with a test for that feature, you'll need to use `squash` or
`fixup`:

```shell
$ git rebase -i origin/develop
```

This will open a screen like this (in the default shell editor):

```text
pick 6928fc1 crypto: add feature A
pick 8120c4c add test for feature A
pick 51759dc feature B
pick 7d6f433 test for feature B

# Rebase f9456a2..7d6f433 onto f9456a2
#
# Commands:
#  p, pick = use commit
#  r, reword = use commit, but edit the commit message
#  e, edit = use commit, but stop for amending
#  s, squash = use commit, but meld into previous commit
#  f, fixup = like "squash", but discard this commit's log message
#  x, exec = run command (the rest of the line) using shell
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
# However, if you remove everything, the rebase will be aborted.
#
# Note that empty commits are commented out
```

Replace a couple of `pick`s with `fixup` to squash them into a previous commit:

```text
pick 6928fc1 crypto: add feature A
fixup 8120c4c add test for feature A
pick 51759dc feature B
fixup 7d6f433 test for feature B
```

Replace `pick` with `reword` to change the commit message:

```text
reword 6928fc1 crypto: add feature A
fixup 8120c4c add test for feature A
reword 51759dc feature B
fixup 7d6f433 test for feature B
```

Save the file and close the editor.  You'll be asked to enter a new commit
message for that commit.  This is a good moment to fix incorrect commit logs,
ensure that they are properly formatted, and add `Reviewed-By` lines.

Time to push it:

```shell
$ git push origin develop
```

Now add a comment to the pull request with the commit sha that the Pull Request
landed into develop in.  You can get this from the commits page for the develop
branch. Next close the pull request and delete the branch.

### I've made a huge mistake

With `git` there's a way to override remote trees by force pushing
(`git push -f`).  This should generally be seen as forbidden (since you're
rewriting history on a repository other people are working against) but its
allowed for simpler slip-ups such as typos in commit messages.  However, you are
only allowed to force push to any projects branch within 10 minutes from your
original push.  If someone else pushes to the branch or the 10 minute period
passes, consider the commit final.

## Creating a Release

Creating a release basically means bumping the package.json version number,
generating the changelog, and merging the code into the master branch, which
will generate a build that can be deployed to any environment, including
production.

```shell
$ git checkout develop
$ git fetch -p; git pull origin develop
$ jq .version package.json
0.29.0
$ git checkout -b release/0.30.0
$ vim package.json

... update the version from 0.29.0 to 0.30.0 in package.json ...

$ npm run generate-changelog

><EMAIL_ADDRESS>generate-changelog /Users/jyoung/dev/REPO_NAME
> changelog-maker --group

* [[`47d94cbca5`](https://github.com/ORG_NAME/REPO_NAME/commit/47d94cbca5)] - update candidate info (AUTHOR)

... copy the commit lines, they start with * ...

$ vim CHANGELOG.md

... update the changelog, follow the conventions of previous entries, including spacing and capitalization ...

$ git commit -am 0.30.0
$ git checkout master
$ git merge release/0.30.0
$ git push origin master
$ git tag v0.30.0
$ git push origin v0.30.0
$ git checkout develop
$ git merge master
$ git push origin develop
```

Copy the CHANGELOG.md entry you made earlier.  Add the release notes to GitHub.
Goto https://github.com/ORG_NAME/REPO_NAME/tags and click
_**Add Release Notes**_ next to the tag that was pushed up earlier.

Publish the released version to npm.

repository: cnnlabs/generator-cnn-hapi

branch_name: refs/heads/develop

repo_name: cnnlabs/generator-cnn-hapi


text:
## DarkMode-ANE

Enable Dark Mode on macOS Mojave for your AIR app.

## Prerequisites

You will need:

- macOS 10.14 (Mojave) or greater
- IntelliJ IDEA
- AIR 50.1.1+
- [.Net Core Runtime](https://dotnet.microsoft.com/download/dotnet-core/3.1)
- [AIR-Tools](https://github.com/tuarua/AIR-Tools/)

##### The ANE + Dependencies

Change directory into the _example_ folder eg

```bash
cd /MyMac/dev/AIR/DarkMode-ANE/example
```

Run the _"air-tools"_ command (You will need [AIR-Tools](https://github.com/tuarua/AIR-Tools/) installed)

```bash
air-tools install
```

**NEW** This tool now:

1. Downloads the ANE and dependencies.
1. Applies all required Android Manifest, InfoAdditons and Entitlements to your app.xml. See air package.json

### References
* [https://support.apple.com/en-us/HT208976]

repository: tuarua/DarkMode-ANE

gha_language: Shell

repo_name: tuarua/DarkMode-ANE


text:
数据库字典: thuactivities
-----
斜体为*索引*

加粗为**主键**
已添加外键，尚未添加索引

# schedule
* ***id***
* user_id: foreign key
* activity_id: foreign key
* seat_id: foreign key
* ticket: QR code
* presence: whether present in the activity

# user
* ***id***
* name
* gender
* telephone
* wechat_id
* verified: whether verified by administrator
* priority

# activity
* ***id***
* title
* time
* description
* number_of_tickets
* tickets_sold: number of tickets sold
* classroom_id: foreign key

# activity_preference
not constructed yet
* ***user_id***
* ***activity_id***
* prefer_time

# classroom
* ***id***
* name

# seat
* ***id***
* classroom_id: foreign_key
* name


text:
<!-- HTML Chapter 2 pp. 40-61: Text
HTML Chapter 10 pp. 226-245:
JS Chapter 2 pp. 53-84:
JS Chapter 4 pp. 145-162:  -->
### Borrowed from Taylor Thornton
#### HTML Chapter 2: Text
- HTML elements are used to describe the structure of the page.  For example, headings, subheadings and paragraphs
- They also provide semantic information.  For example, where emphasis should be placed, the definition of any acronyms used, when given text is a quotation

- `<p>` = paragraph
- `<b>` = bold
- `<i>` = italic
- `<sup>` = superscript
- `<sub>` = subscript
- `<br>` = line break
- `<hr />` = horizontal line break
- `<strong>` = default shows elements in bold
- `<em>` = defaults shows all in italic
- `<blockquote>` = used for quotes that take up entire paragraph
- `<q>` = quotes that sit within a paragraph
- `<abbr>` = a title attribute used within the opening tag is used to specify the full term being used
- `<cite>` = indicates where a citation is from
- `<dfn>` = used to idnicate the defining instance of a new term
- `<address>` = author details - contains contact detail of author of page
- `<ins>` = shows content inserted into a document
- `<del>` = shows content that has been deleted from it
- `<s>` = indicates something no longer relevant or needed, visually content will be displayedwith a line thru the center; strikeout

#### HTML Chapter 10: Introducing CSS
- CSS treats each HTML element as if it appears inside its own box and uses rules to indicate how that element should look.
- Rules are made up of selectors.  Selectors specify the elements te rule applies to and declarations.  Declarations indicate what these elements should look like.
- Different types of selectors allow you to target your rules at different elements.
- Declarations are made up of two parts: the properties of the element that you want to change, and the values of those properties.  For example, the font-family property sets the choice of font, and the value arial specifies Arial as the preferred typeface.
- CSS rules usually appear in a separate document, although they may appear within an HTML page.

**CSS associates style rules with HTML elements** CSS works by associating rules with HTML elements.  These rules govern how the content of specified elements should be displayed.   You can specify several properties in one declaration, eahch separated by a semi-colon.

`h1, h2, h3 {
    font-family: arial;
    color: yellow;}`

Font-family & color are properties.  Arial and yellow are values.

Listing of common CSS selectors are on page 238.

#### JS Chapter 2 pp. 53-84
- A script is made up of a series of statements.  Each statement is like a step in a recipe.
- Scripts contain very precise instructions.  For example, you might specify that a value must be remembered before creating a calculation using that value.
- Variables are used to temporarily store pieces of infomration use in a script.
- Arrays are special types of varialbes that storemore than on epiece of related information.
- JavaScript distinguishes between numbers, strings and Boolean values.
- Expressions evaluate into a single value.
- Expressions rely on operators to calculate value.

**Statements** Each individual instruction or step in a script. WWhere a script is a series of instructions that a computer follows.  Statements end with a semicolon

/* allows for multiline comment // allows for single line comments

A script will have to temporarily store the bits of info it needs to do its job.  It stores this data in *variables*

**Variables**
- How to declare a variable:
    1. Announce that you want to use it. Requires creating the variable and giving it a name. This is called declaring the variable.
        - Looks like `var quantity;` where var = variable keyword quantity = variable name
- How to assign variables a value:
    1. `quantity = 3;`
        - Where quantity is variable name and 3 is the variable value.  The equal sign is necessecary
- You can use variables to store numbers, strings, quotes inside a string, boolean and change the value of a variable

**Variable Names Rules**
1. Can't start with a number
1. Can start with letter, $ or _
1. Can't use - or . in the name
1. Don't keywords or js words for example var
1. Variables are case sensitive! score is different from Score
1. If variable is more than one word, camel it -- firstName

**Arrays** are a special variable.  It doesn't store one value it stores a list of values.
- Consider using arrays when working with a *list of values* that are *related to each other* use hard brackets to define an array literal.

***Expressions** evalute into, or results in, a single value.  Broadly speaking they are two types of expressions.
1. Expressions that assign a variable
1. Expressions that use two or more values to return a single value

Expressions rely on things called **operators** which allow programmers to create a single value from one or more values.

*There are assignment operators, arithmetic operators, string operators, comparison operators, and logical operators.*

#### JS Chapter 4 pp. 145-162: Decisions and Loops
- Conditional statements allow your code to make decisions about what to do next.
- Comparison operators are used to compare two operands.
- Logical operators allow you to combine more than one set of comparison operators.
- if...else statements allow you to run one set o fcode if a condition is tru and another if it is false
- switch statements allow you to compare a value against possible outcomes and also provides a default option if none match
- Data types can be coerced from one type to another
- all values evaluate to either truthy or falsy
- there are three types of loops: for, while and do...while.  Each repeats a set of statements.

**Comparison Operators: Evaluating Conditions:**
1. == equal to
1. != not equal to
1. === strict equal to
1. 1== strict not equal to
1. `>` greather than
1. < less than
1. `>=` greater than or equal to
1. `<=` less than or equal to

`(score >= pass)` where score & pass are operands and `>=` is the comparison operator. Operans can also be expressions p.154

**Logical operators** allow you to compare the results of more than one comparison operator
1. && logical and.  This operator tests more than one condition
    - where true && true returns true
    - true && false returns false
    - false && true returns false
    - falst && false return false
1. || logical or.  This operator tests at least one condition.
    - where, true || true returns true
    - true || false returns true
    - false || true returns true
    - false || false returns falso
1. ! logical not.  This operator takes a single boolean value and inverts it.
    - where, !true returns false
    - !false returns true

repository: Ryan-Geddes/reading-notes

repo_name: Ryan-Geddes/reading-notes


text:
# for

Looping through letters is possible. I'm amazed at how few people know that.

for($col = 'R'; $col != 'AD'; $col++) {
    echo $col.' ';
}

returns: R S T U V W X Y Z AA AB AC

Take note that you can't use $col < 'AD'. It only works with !=
Very convenient when working with excel columns.

---

The point about the speed in loops is, that the middle and the last expression are executed EVERY time it loops.
So you should try to take everything that doesn't change out of the loop.
Often you use a function to check the maximum of times it should loop. Like here:

```
<?php
for ($i = 0; $i <= somewhat_calcMax(); $i++) {
  somewhat_doSomethingWith($i);
}
?>
```

Faster would be:

```
<?php
$maxI = somewhat_calcMax();
for ($i = 0; $i <= $maxI; $i++) {
  somewhat_doSomethingWith($i);
}
?>
```

And here a little trick:

```
<?php
$maxI = somewhat_calcMax();
for ($i = 0; $i <= $maxI; somewhat_doSomethingWith($i++)) ;
?>
```

The $i gets changed after the copy for the function (post-increment).

---

You can use strtotime with for loops to loop through dates

```
<?php
for ($date = strtotime("2014-01-01"); $date < strtotime("2014-02-01"); $date = strtotime("+1 day", $date)) {
    echo date("Y-m-d", $date)."<br />";
}
?>
```

---

[Official documentation page](https://www.php.net/manual/en/control-structures.for.php)

**[To root](/README.md)**


text:
# CMSC405Project3

## Getting Started

### Developers

For Developers interested in using my application as a base to building their own app or for learning purposes, please see the [LICENSE.md](LICENSE.md).

#### Prerequisites

##### Required
* [NodeJS](https://nodejs.org/en/) - JavaScript Runtime
* [GIT](https://git-scm.com/) - Version Control System

##### Optional
* [YARN](https://yarnpkg.com/en/docs/install) -  Fast, Reliable and Secure Dependency Management.

#### Installing

Clone and run the
[EdFabre/CMSC405Project3](https://github.com/EdFabre/CMSC405Project3.git)
repository to run the application:

```sh
git clone https://github.com/EdFabre/CMSC405Project3.git
cd CMSC405Project3
npm install OR yarn
npm run build
```

## Running the tests

TBA

## Built With

* [ThreeJS](https://threejs.org/) - A Javascript 3D Library
* [Webpack](https://webpack.js.org/) - A robust Module bundler
* [DAT.GUI](http://workshop.chromeexperiments.com/) - A lightweight graphical user interface for changing variables in JavaScript.

## Versioning

v1.0.0

## Authors

* **Ed Fabre** - *Full Stack/Dev* - [Ed's Github Repo](https://github.com/EdFabre)

See also the list of [contributors](https://github.com/EdFabre/CMSC495-FitnessTracker/contributors) who participated in this project.

## License

This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details

## Acknowledgments

Professor King for the inspiration.


text:
{
  "title": "📊 If you spend a lot of time playing w/ ggplot2, this is quite entertaining… \"Mapping ggplot geoms and aesthetic parameters\" ✍ @yihanwu5 https://t.co/joCrOMYPPZ #rstats #dataviz https://t.co/YFI5EDgGOk",
  "date": "2019-01-04"
}

# rstats

> **laura schifman** (@L_Schifman; 140/34): 📊 If you spend a lot of time playing w/ ggplot2, this is quite entertaining…
"Mapping ggplot geoms and aesthetic parameters" ✍ @yihanwu5
https://t.co/joCrOMYPPZ #rstats #dataviz https://t.co/YFI5EDgGOk  [↪](https://twitter.com/dataandme/status/1081249450646011906)

<!-- -->

> **Françoise Morvan** (@FmFrancoise; 56/9): Back to work after the holidays and spending my time figuring out how to decompose variance visually in multilevel models. Here is a way to see the "flow" of variance. Thanks to the riverplot package in #R #Rstats #dataviz. https://t.co/JM8QNG2CRj  [↪](https://twitter.com/dataandme/status/1081274645817577478)

<!-- -->

> **Jason Baik** (@jsonbaik; 41/15): Introduction to Empirical Bayes: Examples from Baseball Statistics, a name-your-own-price book by @drob #rstats https://t.co/R6RtKci8nB  [↪](https://twitter.com/dataandme/status/1081233800519127040)

<!-- -->

> **Kirk Borne** (@KirkDBorne; 19/9): If you are registered or on the fence about the Advanced R Markdown Workshop at @rstudio::conf 2019 with @xieyihui  + myself, more information 👇🏾:
>
https://t.co/a2G2RqN5r9
>
#rstats
>
Excited to be joined by 3 ✨ TAs: @jent103 @haozhu233 @JoannaMelon https://t.co/31l1zbACgz  [↪](https://twitter.com/dataandme/status/1081305268200173568)

<!-- -->

> **Maya Gans** (@Mayacelium; 18/8): Inspired by a recent #dataviz in the Economist (https://t.co/TjrrVKropu), I recreated the approach in R using #NFL data and #ggplot #rstats https://t.co/knlbkDyG53  [↪](https://twitter.com/dataandme/status/1081280114674057216)

<!-- -->

> **Ben L** (@snoylnimajneb; 18/5): Nassim Taleb says
>
"NEVER teach statistics to those who don't know probability"
>
Is he right? Is this why we have so much bad statistics in research?
>
#datascience #statistics #rstats #python #data #statstwitter #epitwitter  [↪](https://twitter.com/dataandme/status/1081249274204250112)

<!-- -->

> **Carl Schmertmann** (@CSchmert; 16/10): Introductory #coding book focuses on tools for manipulating data (importing, creating, modifying, filtering, summarizing, and reshaping data sets) — "Introduction to R for Excel Analysts": https://t.co/6NEJO4b9tR
>
#Rstats #BigData #DataScience #MachineLearning #DataScientists https://t.co/EBd7tLtc86  [↪](https://twitter.com/dataandme/status/1081224778638336001)

<!-- -->

> **Ming Tang** (@tangming2005; 13/3): It's finally out!  And includes references to Psych (@Psych_USA), Spinal Tap, and Memento amongst the #rstats gems...... https://t.co/PrK1ISCh4E  [↪](https://twitter.com/dataandme/status/1081245360411033600)

<!-- -->

> **Dataquest** (@dataquestio; 13/2): i'm so excited about @rstudio conf. last year i was so energized by meeting people and learning what they're doing with #rstats and #rshiny. such a kind and vibrant community!  [↪](https://twitter.com/dataandme/status/1081230005005250560)

<!-- -->

> **Michel Laforge** (@MamlSpatialEcol; 12/4): The #rstats/@Bioconductor pkg limma has been super useful for my research in genetics. It's well-designed, well-documented, and I've been able to help so many colleagues by introducing them to it. Thanks to the helpful @datacamp staff, I've created a course so you can learn too! https://t.co/ytNm7W3BdK  [↪](https://twitter.com/dataandme/status/1081268537635864576)

<!-- -->

> **Gabriel Fernando** (@girsanov; 12/4): Folks interested in calculating IRG from NDVI check out Alec’s new #Rstats package! #WEEL https://t.co/tcU8ReR8aT  [↪](https://twitter.com/dataandme/status/1081253911963598849)

<!-- -->

> **Ashwin Raman** (@AshwinRaman_; 12/0): 2018 Learnings:
1) Bog standard tech tutorials are always winners
2) People love cartoons
3) If you're out of ideas just write the same thing about color everyone else does
4) #rstats users are good readers
5) People lack sophistication and taste
https://t.co/HHmryx2lc3 https://t.co/9wVtH1VNbk  [↪](https://twitter.com/dataandme/status/1081265717700222977)

<!-- -->

> **FC rSTATS** (@FC_rstats; 11/7): Hey #rstats cybersecurity folk! Our planetary-scale internet research pals over at @binaryedgeio have an R package for their API! They've got some *great* data so def check it out! rbinaryedge https://t.co/CEGeAJfEx5  [↪](https://twitter.com/dataandme/status/1081278573237940224)

<!-- -->

> **CRAN Package Updates** (@CRANberriesFeed; 11/6): Our tutorial paper detailing how to summarise and communicate on survival data using a bunch of different statistical measures #rstats is out. #R code provided. In coll. with @WATZILEI @FJavierRubio1 @dk_kipourou among others. #OpenAccess @DovePress
>
https://t.co/Be3Ibs2Fvp  [↪](https://twitter.com/dataandme/status/1081235414185398272)

<!-- -->

> **Robert Arbon 🏳🌈** (@BertieArbon; 11/5): 𝚒𝚛𝚐 is a new #rstats package released today on #CRAN for calculating "springness" or instantaneous rate of green-up from #MODIS #NDVI time series. Check out the website at https://t.co/cDUebRMEzo. (1/3)  [↪](https://twitter.com/dataandme/status/1081251413844520960)

<!-- -->

> **Matthew Kay** (@mjskay; 10/6): #rstats If you’re trying to get US gov’t data, and it’s via a web API, see if the data is also avail. via FTP - seems many FTP servers still up  [↪](https://twitter.com/dataandme/status/1081248327277076480)

<!-- -->

> **Matt Barstead** (@MGB_Research; 10/3): #nflscrapR UPDATE: scrape_game_ids() function returns three additional columns: game_url, home_score, away_score (only final scores) all pre-, post-, regular season #NFL game files with final scores since 2009 are available here: https://t.co/RfLaI0416o #sportsanalytics #rstats  [↪](https://twitter.com/dataandme/status/1081309181095886848)

<!-- -->

> **fonzie** (@OilGains; 9/4): Life as a statistician isn't all numbers and awesomeness. We have our ups and downs too. Yes, even for us, life is a trial ... with n=1, lots of crossovers, and frustratingly short washout periods.
>
#datascience #statistics #rstats #python #data #statstwitter #epitwitter  [↪](https://twitter.com/dataandme/status/1081257498915598336)

<!-- -->

> **Gwen Antell** (@GwenAntell; 8/3): #rstats / @Bioconductor https://t.co/c7hrDYkF5m  [↪](https://twitter.com/dataandme/status/1081262609154879494)

<!-- -->

> **🔥 Kareem Carr 🔥** (@kareem_carr; 8/0): @_ColinFay I'll be there too! 😁 can't wait to meet everyone from last year! And a bunch of new ones too! 🤩 #rstats community is 👍!  [↪](https://twitter.com/dataandme/status/1081275707655888897)

<!-- -->

> **Dr. Ali Monam** (@DrAliMonam; 7/4): #datascience #statistics #rstats #python #data #statstwitter #epitwitter https://t.co/IRhPVqNxid  [↪](https://twitter.com/dataandme/status/1081248389768060928)

<!-- -->

> **MCM** (@MCM_XCI; 7/1): Wonder how @phish relates to @turkquaz? In an effort to learn @neo4j I used #rstats to make a network of the artists I've seen in concert over the past couple years, mapping their relationships through the bands they've played in https://t.co/CHowSPDEQj https://t.co/6pszA0f6EK  [↪](https://twitter.com/dataandme/status/1081244070964453376)

<!-- -->

> **Richard** (@rgardiner90; 6/8): Top 10 #Digital Things To #Learn in 2019 —@billatnapier shares his thoughts
>
#Crypto #pandas #cybersec #BigData #aws #Analytics #DataScience #IoT #IIoT #Python #RStats #TensorFlow #Java #JavaScript #ReactJS #VueJS #GoLang #CloudComputing #Serverless
>
https://t.co/D9aURpxbIB https://t.co/Q6exYLnxxV  [↪](https://twitter.com/dataandme/status/1081263710218448897)

<!-- -->

> **Christophe Dervieux** (@chrisderv; 6/3): #OptaProForum Line Up
>
Presenters
@Torvaney
Carlos Rodriquez
@numberstorm
@joe_mulberry
@MatRosenbaum & Othmane Mounjid
@Mladen_Sormaz & @D4N__
>
Posters
Jakub Michalczyk
@Michocio
Tom Brown
>
Keynotes
@pmarques82
 @MITFitz
>
Pls @ the ones I am missing  [↪](https://twitter.com/dataandme/status/1081269259748233218)

<!-- -->

> **Scott Chamberlain** (@sckottie; 6/3): Thorny star (10M points of a strange attractor) #rstats #maths #creativecoding #ggplot2 https://t.co/te48QkA7d2  [↪](https://twitter.com/dataandme/status/1081232117231771648)

<!-- -->

> **Brian J. Fogarty** (@FogartyUk; 6/2): Fantastic job by @CMU_Stats Carlo Duffy combining his data science and Econ skills to examine #NBA parity overtime #rstats #sportsanalytics https://t.co/CbpCEkh0CD  [↪](https://twitter.com/dataandme/status/1081302145679396864)

<!-- -->

> **Bioconductor** (@Bioconductor; 6/2): On the 12th day of Xmas my true love gave to me, 12 flashy gifs, 11 themes/colours, 10 bars ... 9 violins... 8 points... 7 columns ... 6 variables..., 5 dplyr calls, 4 cleaned up.., 3 summary..., 2 package... and an opinionated tour studio #rstats #rladies https://t.co/mgCIOY4J6D https://t.co/Q2KmefcXAT  [↪](https://twitter.com/dataandme/status/1081280605789118464)

<!-- -->

> **Dr. Ryan Straight** (@RyanStraight; 5/11): Postal mail for marketing purposes still works... #Infographic
#DeepLearning #KSQL #MQTT #IoT #Sensor #BigData #Analytics #MachineLearning #DataScience #AI #IIoT #RStats #TensorFlow #ReactJS #VueJS #GoLang #CloudComputing #Serverless #DataScientist #100daysofcode #CodeNewbie #CX https://t.co/ezpMeNCGD3  [↪](https://twitter.com/dataandme/status/1081231883508187136)

<!-- -->

> **Alec Robitaille** (@robit_alec; 5/4): Just Blogged: rmarcksharpdown #rstats #csharp https://t.co/rW3XZiWQZr  [↪](https://twitter.com/dataandme/status/1081283922867163137)

<!-- -->

> **Matt Dancho** (@mdancho84; 5/2): new ver. #rstats #crul on CRAN - expanded release notes https://t.co/NakLKs94rV - Lots of new features: retry, verb, new vignette, intermediate response headers and more https://t.co/t43ctUPqNF  [↪](https://twitter.com/dataandme/status/1081253083420585985)

<!-- -->

> **Thomas Hütter** (@DerFredo; 5/0): infoviz OR infovis via NodeXL https://t.co/xeUebT63eZ
@dataandme
@fmfrancoise
@wolfgangaigner
@kirkdborne
@infovis_
@nadiehbremer
@echasnovski
@rstats4ds
@_artemisa_v
@mportier
>
Top hashtags:
#dataviz
#infovis
#rstats
#visualanalytics
#siggraph
#ieeevis
#ieeecga  [↪](https://twitter.com/dataandme/status/1081242404265574400)

<!-- -->

> **R-bloggers** (@Rbloggers; 4/2): The new @SLU_Official semester is just over a week away 😬 and we've got a ton of #datascience goodness planned 🥳, beginning with a four-part session on data cleaning in #rstats! Check out our January newsletter for all the details and come join us: https://t.co/2BQSYK2Phk  [↪](https://twitter.com/dataandme/status/1081271039286566914)

<!-- -->

> **Mauro Lepore** (@mauro_lepore; 4/2): Come to next Thursday's SLC #rstats meetup, where we'll hear community ⚡lightning⚡ talks on topics from the state budget to climate research to bay leaves! 🍃
https://t.co/rqVBTU7riA  [↪](https://twitter.com/dataandme/status/1081232195333681153)

<!-- -->

> **Nitish Sharma☯** (@Nitish_Sharma23; 4/1): In case you missed it: December 2018 roundup https://t.co/4Y7ix4flxn #rstats #DataScience  [↪](https://twitter.com/dataandme/status/1081276633347182592)

<!-- -->

> **Jens von Bergmann** (@vb_jens; 4/1): Be sure to check out @ZacharyMayer’s excellent first course with us too. Machine Learning Toolbox in #rstats. Created with the data modeling guru @topepos: https://t.co/bMRflhOddh https://t.co/LcrQduxHxd  [↪](https://twitter.com/dataandme/status/1081269729208090624)

<!-- -->

> **Dr Raj K. Singh Badhan** (@BadhanGroup; 4/1): Apart from more efficient workflows, this also lead to @dshkol and me pushing two #rstats packages to CRAN, cancensus for API access to census data and cansim for socio/economic data. Giving back to the #opendata community that I rely on for many tools I use.  [↪](https://twitter.com/dataandme/status/1081239691154739201)

<!-- -->

> **Christophe Dervieux** (@chrisderv; 4/0): @_ColinFay #rstats 🇫🇷 team!  [↪](https://twitter.com/dataandme/status/1081280579050586115)

<!-- -->

> **William Goedel** (@william_goedel; 4/0): Check out @robit_alec's new #rstats package to calculate instantaneous rate of growth from #NDVI data! https://t.co/jn0rZyp2PK  [↪](https://twitter.com/dataandme/status/1081260624590454784)

<!-- -->

> **Justin Reising** (@ReisingJustin; 3/6): The 10 Commandments of Color Theory #graphicdesign #infographic
#DeepLearning #KSQL #MQTT #IoT #Sensor #BigData #Analytics #MachineLearning #DataScience #AI #IIoT #RStats #TensorFlow #ReactJS #VueJS #GoLang #CloudComputing #Serverless #DataScientist #100daysofcode #CodeNewbie #CX https://t.co/ZWaGF4C7St  [↪](https://twitter.com/dataandme/status/1081229210834751488)

<!-- -->

> **Chase Clark** (@ChasingMicrobes; 3/1): In #rstats #shiny modules #inception namespace hell... https://t.co/6dQ32eKIyW  [↪](https://twitter.com/dataandme/status/1081266532599115776)

<!-- -->

> **Chester Ismay** (@old_man_chester; 3/0): @FC_rstats @Torvaney @numberstorm @joe_mulberry @MatRosenbaum @Mladen_Sormaz @D4N__ @Michocio @pmarques82 @MITFitz @KubaMichalczyk  [↪](https://twitter.com/dataandme/status/1081270960437764096)

<!-- -->

> **Alison Hill** (@apreshill; 2/2): Any Bayesian enthusiast?
Desperately looking for reviews, comments or corrections on my hierarchical zero-altered hurdle model with #R2jags 🤓 #rstats
https://t.co/UhE2tW0K0D  [↪](https://twitter.com/dataandme/status/1081308894457196544)

<!-- -->

> **Nitish Sharma☯** (@Nitish_Sharma23; 2/2): it's an #rstats and #ggplot2 kind of thing to spend ~5 hours perfecting a plot and never question whether it's time well spent  [↪](https://twitter.com/dataandme/status/1081266584440557568)

<!-- -->

> **James Azam** (@james_azam; 2/1): Today I used the #lubridate and #purrr packages to take a set of my r-scripts from over 200 lines down to under 50 each. The end output is still the same, but it felt great to automate and condense my code. #rstats #efficiency  [↪](https://twitter.com/dataandme/status/1081264470855507970)

<!-- -->

> **Patrick Scheid** (@pscheid92; 2/1): First @StackOverflow post in nearly 7 years! I can tell it's going to be a good 2019. #rstats #rmarkdown #xaringan
>
https://t.co/7wsmBTQHn3  [↪](https://twitter.com/dataandme/status/1081258412443197441)

<!-- -->

> **PennMUSA** (@PennMUSA; 2/1): The #rstats package {generics} is such a great idea!
Thanks @hadleywickham et al.
https://t.co/sH2mt5mfMc https://t.co/comvHwH90x  [↪](https://twitter.com/dataandme/status/1081248884205281282)

<!-- -->

> **#rstats data** (@rstatsdata; 2/1): Hey #phdchat, Looking for example visualizations to get ideas on how to plot your data? take a look at "A Tour through the Visualization Zoo" resource available here: https://t.co/xsxydvyidR, or the #rstats top 50 #ggplot2 visualizations found here: https://t.co/lGEBYi9uz9.  [↪](https://twitter.com/dataandme/status/1081237559999647746)

<!-- -->

> **nflscrapR** (@nflscrapR; 2/0): First #TidyTuesday post!  Not sure what level of detail is common. Graphed tweets over time, found those that had the most "favorited" (mean was skewed by small n), then graphed what those individuals talked about using lessons from #tidytext book. #rstats https://t.co/kTvgXHPWSb  [↪](https://twitter.com/dataandme/status/1081282667579092992)

<!-- -->

> **ai korg** (@ai_korg; 2/0): @josemiponciano I'm glad this was helpful! I agree, science is best when people share openly. Stay tuned for my #Github #rstats example to the same end  [↪](https://twitter.com/dataandme/status/1081238001714425858)

<!-- -->

> **CRAN Package Updates** (@CRANberriesFeed; 1/3): RefCurv has now a website with installation instructions and quick guide. Take a look at https://t.co/yEWVbiB1z8 #RefCurv #gamlss #rstats #pediatrics #percentile #MachineLearning https://t.co/WcKEKpROhC  [↪](https://twitter.com/dataandme/status/1081235184551428101)

<!-- -->

> **Elijah Meeks** (@Elijah_Meeks; 1/2): #Rstats help needed! I’m fitting a hierarchical spatial autoregression model with HSAR and my weights matrices are too large for the function to use. Anyone have any insights for making them smaller?  [↪](https://twitter.com/dataandme/status/1081294240154554368)

<!-- -->

> **Mauro Lepore** (@mauro_lepore; 1/2): CRAN updates: ecm FitARMA GDINA gpg memgene phenology RMySQL tibble worrms https://t.co/y5W2NTKSXT #rstats  [↪](https://twitter.com/dataandme/status/1081235023867625473)

<!-- -->

> **Carlos Algara** (@algaraca; 1/2): Lastly, while Democratic majority should be safe in '20--very rare for House maj to flip in presidential cycle--given type of seat won to fuel majority; still rich targets for NRCC to chip away at 18/19 seat deficit (i.e. OK-5,SC-1,ME-2,IA/1-3/etc). Beauty of #rstats #tidyverse !  [↪](https://twitter.com/dataandme/status/1081258878333898752)

<!-- -->

> **Mara Averick** (@dataandme; 1/1): What is your favorite paper in #softwaredevelopment #machinelearning #management #DataScience  #rstats ?
>
I try to build a reading stack for my commute 😊😊  [↪](https://twitter.com/dataandme/status/1081315001049198598)

<!-- -->

> **Alan** (@alandipert; 1/1): #blogdown  #hugo tip. If u have a #rstats blogdown site & want two ways to address it, such as: https://t.co/4u2Epzegdn and https://t.co/52CUgc0GSV, then set relativeurls=true and baseurl="/blog". Assumes blog folder is under public_html/ & subdomain is https://t.co/52CUgc0GSV https://t.co/9umbBfUzt6  [↪](https://twitter.com/dataandme/status/1081298879323226113)

<!-- -->

> **CRAN Package Updates** (@CRANberriesFeed; 1/1): Explaining the 2016 Democratic Primary with Machine Learning. https://t.co/qGYrPy1XVF #MachineLearning #rstats #election2020 https://t.co/CnokQlrCeQ  [↪](https://twitter.com/dataandme/status/1081259470754381825)

<!-- -->

> **Sumit Middha** (@bioinfosm; 1/1): I have easily googled “remove legend ggplot” 500+ times. It’s my R kryptonite. I’m surprised google chrome doesn’t just open at that page or, at least, shout at me to remember this time. #rstats #ggplot2. Anyone else have a similar blind spot for a frequently used piece of code?  [↪](https://twitter.com/dataandme/status/1081249196978647040)

<!-- -->

> **James Azam** (@james_azam; 1/1): Funny article about statistics and dating 😂
How many people should you date before you start settling for something a bit more serious.
https://t.co/Fs5CDImfzj #DataScience #rstats  [↪](https://twitter.com/dataandme/status/1081231230941741056)

<!-- -->

> **🔥 Kareem Carr 🔥** (@kareem_carr; 1/0): Always aim to visualize correlation data as scatterplots, even if you just report them in the supplementary materials. Marquez summarizes 7 options in R for fantastic plots.
>
My fav is no.3 using the Psych package & >pairs.panels()
>
https://t.co/DBo4tOCUed
>
#phdchat #rstats https://t.co/R4AieLxZac  [↪](https://twitter.com/dataandme/status/1081305596572381185)

<!-- -->

> **boB Rudis** (@hrbrmstr; 1/0): this old but good medium post walks through how the unassuming casual R user can import @pewresearch data. thanks @Nhatley #rstats  [↪](https://twitter.com/dataandme/status/1081289372542988288)

<!-- -->

> **Aurélien Belot** (@aurelien_belot; 1/0): Twitter has become so much better since I stopped following some infosec people and focused on #rstats and #datasci . Just get a lot more from it and learn a ton + <drama  [↪](https://twitter.com/dataandme/status/1081285097939238912)

<!-- -->

> **Scott Chamberlain** (@sckottie; 1/0): More student work from this fall: Anqi Li & Yichao Jia replicate Chicago's restaurant inspection algorithm, predicting health inspection failure in #rstats to better allocate inspection resources.
>
Check out their video! https://t.co/vd8W0JCfp1 https://t.co/bozrZPWfJV  [↪](https://twitter.com/dataandme/status/1081283516674031618)

<!-- -->

> **🔥 Kareem Carr 🔥** (@kareem_carr; 1/0): When I import data (files). All fields with strings have class factor. How changue (coercing) class factor by character? @WeAreRLadies @RLangTip @RLadiesSantaFe @mjskay #rstats  [↪](https://twitter.com/dataandme/status/1081281743238426625)

<!-- -->

> **Ashok Nellikar** (@AshokNellikar; 1/0): First subtweet of the year:
>
There's a really nice #rstats package that desperately needs all the unit tests forever  [↪](https://twitter.com/dataandme/status/1081279793671401473)

<!-- -->

> **SLU Data Sci Seminar** (@SLUDSS; 1/0): And finally finished writing my MS thesis on Dermatopathology for my M.D. Ended up using R for cleaning the data and building all the needed models. I count 8 packages (all cited) used in it. Thanks to the #rstats community for providing so much useful code for free :)  [↪](https://twitter.com/dataandme/status/1081273127865380865)

<!-- -->

> **Applied Information Nottinghamshire NHS Healthcare** (@AppliedInfoNott; 1/0): Hey peeps. Sign up if you want to learn how to learn #rstats fast! https://t.co/iijTJuWSQP  [↪](https://twitter.com/dataandme/status/1081244844784259073)

<!-- -->

> **David Murray-Stoker** (@xdmurraystokerx; 1/0): @FC_rstats vmin and vmax will sort it  [↪](https://twitter.com/dataandme/status/1081244308722851840)

<!-- -->

> **ʇɹɐɥıʍs ǝɔnɹq** (@bruce_swihart; 1/0): Doing basic stats using #python is the absolute worst.  #rstats is just so much easier.  OLS regression in #python is just so convoluted.  [↪](https://twitter.com/dataandme/status/1081243594852323329)

<!-- -->

> **Thomas Mock 👨🏼💻** (@thomas_mock; 1/0): TFW you use the find and replace function in #rstats and you make a typo into your "replace" field and wonder why nothing is working when your file path changes too. https://t.co/9w8H7XwWWE  [↪](https://twitter.com/dataandme/status/1081233603990835201)

<!-- -->

> **Rodi Pardo** (@rodipardo_; 1/0): Way to go! #GameOfThrones #WinterIsComing with #statistics #rstats #survival #FridayFeeling
>
“Death is certain, the time is not”: mortality and survival in Game of Thrones https://t.co/NENabqY7vW https://t.co/5Vxdsfcl7j  [↪](https://twitter.com/dataandme/status/1081228120424960000)

<!-- -->

> **R-Ladies Sydney** (@RLadiesSydney; 0/2): In case you missed it: December 2018 roundup via #rbloggers #rstats #datascience https://t.co/cEPim5qbEj  [↪](https://twitter.com/dataandme/status/1081278205238095877)

<!-- -->

> **One R Tip a Day** (@RLangTip; 0/1): #RStats question of the day — I want to connect to an API which forces a redirect_uri using https.
httr::oauth2.0_token always listen on http://localhost/1410 (no https).
Anybody got an idea how to override this?  [↪](https://twitter.com/dataandme/status/1081309058903220224)

<!-- -->

> **Guy Prochilo 🏳🌈** (@GuyProchilo; 0/1): I am learning a lot from tweeter, new blog post: permuation test for significant PCs. #rstats https://t.co/ubopAG9C8E @MattOldach  [↪](https://twitter.com/dataandme/status/1081255837912518656)

<!-- -->

> **gz (not a doctor) thompson** (@gztstatistics; 0/1): @BBCr4today reported today that Jan 6th has the highest number of deaths on average than any other day of the year. @IantheBee #rstats plotted the East Midlands prov registered deaths from @ONS which shows this Jan peak. There is also a Dec lull but that's probably admin. https://t.co/1J9D8TJBES  [↪](https://twitter.com/dataandme/status/1081242172152782849)

<!-- -->

> **Scott Davis** (@scottyd22; 0/0): One important thing to remember when coding: as long as the code works, is understandable, and is reproducible, it is good enough. Don’t spend hours trying to aimlessly optimize an analysis if you can still get the job done and source the code from elsewhere. #rstats #phdlife  [↪](https://twitter.com/dataandme/status/1081308350858608642)

<!-- -->

> **John Blischak** (@jdblischak; 0/0): Would’ve used #rstats but there’s no @rstudio on this server 🤔  [↪](https://twitter.com/dataandme/status/1081297907142311936)

<!-- -->

> **Wildlife Evo-Eco Lab** (@wildlifeevoeco; 0/0): just learning how to use OPeNDAP #rstats so please send any of your best tips/leads! i'm getting data from THREDDS so will dig into this tutorial next week. thanks @usgs @USGS_R https://t.co/kLRTRdIe5a  [↪](https://twitter.com/dataandme/status/1081297579844005893)

<!-- -->

> **Antonio S. Chinchón** (@aschinchon; 0/0): A bounty was just awarded, not by the OP, 8.5 years after the answer on SO today.  Do you need to manage multiple versions of R packages?  Check this out:
>
https://t.co/6kfHtY4hDy
>
#rstats  [↪](https://twitter.com/dataandme/status/1081278469525381121)

<!-- -->

> **Ron Yurko** (@Stat_Ron; 0/0): Posted by David Smith, now on R-bloggers: In case you missed it: December 2018 roundup #rstats https://t.co/tHGVXnuMK1  [↪](https://twitter.com/dataandme/status/1081278381239558144)

<!-- -->

> **Jason Punyon** (@JasonPunyon; 0/0): added a function to package, added demonstration to vignette, now "check" yelling at me that it doesn't recognize the function in the vignette. am properly pointing back to previous chunk to load package etc. lol wut. #rstats  [↪](https://twitter.com/dataandme/status/1081276531790569473)

<!-- -->

> **Scott Chamberlain** (@sckottie; 0/0): #everbetterchallenge is going well. Lots of #rstats practice for 'dummies" #evernote rocks along with your illegitimate sibling @trello and your secret lover #OnenNote ! https://t.co/RoipXMJSLX  [↪](https://twitter.com/dataandme/status/1081276348734324736)

<!-- -->

> **Julia Silge** (@juliasilge; 0/0): We can just write an Excel macro...that's what Doug used to say. #rstats  [↪](https://twitter.com/dataandme/status/1081271598701821954)

<!-- -->

> **Alexis Carteron** (@AlexisCarteron; 0/0): #rdata #rstats: Red cell folate data - https://t.co/W14z812stY  [↪](https://twitter.com/dataandme/status/1081264851903750149)

<!-- -->

> **Sarah Nelson** (@blueyedgenes; 0/0): CRAN updates: CombMSC https://t.co/y5W2NTKSXT #rstats  [↪](https://twitter.com/dataandme/status/1081264530737504256)

<!-- -->

> **Richard S Hanna** (@Richard_S_Hanna; 0/0): CRAN removals: pathClass https://t.co/t6KpMVXnWp #rstats  [↪](https://twitter.com/dataandme/status/1081264514769829889)

<!-- -->

> **Benjamin Wolfe** (@BenjaminWolfe; 0/0): CRAN updates: lpc PoiClaClu https://t.co/y5W2NTKSXT #rstats  [↪](https://twitter.com/dataandme/status/1081249438151204864)

<!-- -->

> **Chris Winkler** (@xi2pi; 0/0): https://t.co/XhtU3wxgSy How To Build Your Own Code Repository for R With an Intern Search Engine #rstats https://t.co/EbicNYrW8b  [↪](https://twitter.com/dataandme/status/1081261741479206912)

<!-- -->

> **Matthias Rueedlinger** (@mrueedlinger; 0/0): I sense another #rstats screencast coming soon! https://t.co/Kdl7rv45ir  [↪](https://twitter.com/dataandme/status/1081257029082198016)

<!-- -->

> **m.a.l** (@isbrutussick; 0/0): @drob It's not the same dataset, but I thought the parallel between the growth of R-related questions on SO and rstats - hashtag tweets was interesting.
>
I liked the plot and preferred to link to the article rather than just linking the plot (it didn't have a caption w/ credit). 😀  [↪](https://twitter.com/dataandme/status/1081255488925380608)

<!-- -->

> **📊⌨Tiago Henriques** (@Balgan; 0/0): I discovered only recently that I can ask travis to automatically rebuild all my #rstats packages everyday! https://t.co/tfUuyPXX5N  [↪](https://twitter.com/dataandme/status/1081254261009334272)

<!-- -->

> **José Pereira** (@jafcpereira; 0/0): new #rstats #worrms patch ver on CRAN - release notes https://t.co/4D0sBJ0ZQ6 https://t.co/0SpYd9QFl0  [↪](https://twitter.com/dataandme/status/1081243547716661248)

<!-- -->

> **Peter McKeever Ô_ō** (@petermckeever; 0/0): '@romain_francois I am learning a lot with you #arrow #rstats code! Could you explain why you use an std::shared_ptr<arrow::Array> intead of a Rcpp::XPtr<arrow::Array> ?  [↪](https://twitter.com/dataandme/status/1081251506609885184)

<!-- -->

> **claudîus** (@dataclaudius; 0/0): New false positive! Current false positive rate = 0.055; alpha = .05 #rstats  [↪](https://twitter.com/dataandme/status/1081248921484226560)

<!-- -->

> **Colin Fay 🤘** (@_ColinFay; 0/0): Any #rstats folks know of a vignette package that produces contracts or service agreements? Would be great to have a template that did this.  [↪](https://twitter.com/dataandme/status/1081248086809341952)

<!-- -->

> **Jessica Gorzo, Ph.D.** (@setophaga; 0/0): Dear Twitter-verse,
I am currently still looking for a great Data Science/Analytics internship opportunity for summer 2019. Proficient in R, Python, and SQL.  https://t.co/XsT5UrjJ6n #DataScience #Analytics #rstats #Python  [↪](https://twitter.com/dataandme/status/1081244067961409537)

<!-- -->

> **CRAN Package Updates** (@CRANberriesFeed; 0/0): The latter is accompanied by #rstats code. So cool!  [↪](https://twitter.com/dataandme/status/1081237561689980930)

<!-- -->

> **Obed** (@elnumerofi; 0/0): Rendering HTML Content in R Graphics - pretty cool stuff for the #rstats coders out there! https://t.co/wybkhqk9t1 https://t.co/zIUDHgDtf6  [↪](https://twitter.com/dataandme/status/1081233891216842777)

<!-- -->

> **Daniel Falbel** (@dfalbel; 0/0): Paralelizando
>
Parallelizing
>
#Rstats https://t.co/4OgX2EjINH  [↪](https://twitter.com/dataandme/status/1081232103768055808)

<!-- -->

> **cor(Bot)** (@CorrelationsBot; 0/0): Cómo mendocino, me interesa saber la actividad de los diputados nacionales que nos representan. Por eso, descargué los datos de @DiputadosAR y desglosé este informe en @ProjectJupyter utilizando a #RStats como kernel. Te invito a que repasemos los datos en este hilo 👇 https://t.co/bpYDsqJfFc  [↪](https://twitter.com/dataandme/status/1081232042644422658)

<!-- -->

> **Kamal Romero** (@kamromero; 0/0): #rstats , does anyone share my problem that @RStudio in Windows will only print to a pdf file (not to the actual printer)?  Has anyone solved it?  [↪](https://twitter.com/dataandme/status/1081229948495544321)

<!-- -->

repository: batpigandme/twitter-blogdown

repo_name: batpigandme/twitter-blogdown


text:
typeahead.demo
==============

This demo shows how to use angular.js typeahead directive from npm. Interactive version is [available here](http://anvaka.github.io/typeahead.demo/).

## Steps to make this work

Install directive from npm:

```
npm i typeahead.an
```

Require npm direcives, before bootstraping your main angular app:

``` js
require('typeahead.an');

var ngApp = angular.module('MyModule', []);
require('an').flush(ngApp);

// Finally bootstrap it:
angular.bootstrap(document, [ngApp.name]);
```

Now your directive is ready to be used inside html:

``` html
<input type="text"
      ng-model="addressModel"
      typeahead="address for address in getLocation($viewValue) | filter:$viewValue"
      typeahead-loading="loadingLocations">
```

Please read more here: [anvaka/an](https://github.com/anvaka/an)


text:
pitray
======

Simply Bottle based Media server intended to be light and run on a raspberry pi

Quick Start
===========
1. clone repo
git clone https://github.com/HParker/pitray.git

2. move to directory
cd pitray

3. get bottle
wget http://bottlepy.org/bottle.py

NOTE: make sure that all of your music has cover art. I recomend cover grabber
https://github.com/thedonvaughn/cover_grabber

4. run
python tray.py

repository: HParker/pitray

repo_name: HParker/pitray


text:
![image](https://user-images.githubusercontent.com/69138026/127688763-0ac2fdb2-3f77-4de5-bacd-f56b3d600f31.png)
# Pagely
## Build blazing fast websites with Notion in light speed ⚡

Launch SEO friendly, blazing fast websites from Notion,Google Sheets, GitHub,  Airtable with Pagely

## What's Pagely

Pagely is a no-code platform that helps you launch websites from your favourite apps such as Notion, GitHub, Google Sheets, Airtable and more 🤯. Instead of letting you handle all the SEO stuff, Pagely automatically makes it SEO friendly for you. Don't like the default styles of Notion? No worries, you can edit the CSS till your heart's content. And one of my most favourite features - custom subdomains. Pagely lets you choose your subdomain of choice Eg. lalit.pagely.site, your-name.pagely.site, etc... Yeah, you got it right - Hashnode does that too. All you need to do is type out the content of your website in Notion and your website gets updated live, in real-time!!. You can make a website for your open source project on GitHub just by adding a `pagely.json` too!!. . There are a ton more features in Pagely.

## Features

1. Free custom subdomains (eg. your-name.pagely.site)
2. **Live updating** website
3. Automatic OG Image generation ( **not with puppeteer** 🤯  read more to find out)
4. Custom styling ( with CSS )
5. Custom `<head>` tags ( for analytics and infinite more integrations )
6. **Showcase** your websites in the [showcase page](https://pagely.site/showcase)
7. Blazing **fast** websites
8. **Custom domains** ( via a workaround until [Vercel supports it](https://github.com/vercel/vercel/discussions/4840#discussioncomment-620716) )
9. Detailed **guides** on how to integrate Pagely with various subpages
10. Custom slugs/subpaths/subroutes/**pretty URLs** for Notion pages ( coming soon )
11. **Password protection** for websites ( via inbuilt StaticShield integration 😜 )
12. **Powerful integrations** such as Crisp.chat, Disqus, Google analytics, Stripe, Gumroad, etc..
13. On Vercel .Your Pagely website is **cached on Vercel's edge network**
14. **Automatic sitemaps** ( coming soon )
15. Custom **fonts**, **favicons**, and more
16. Automatic SSL ( **https** )
17. Create awesome websites from your **mobile phone** 🤯
18. **Full text search** for whole website ( coming soon )
19. **Syntax highlighting** for code blocks
20. **Dark mode** for all websites ( coming by tomorrow )
21. Live twitter preview of your website

## Soem handy links

- Live website → https://pagely.site
- GitHub repo → https://github.com/lalit2005/pagely
- Showcase → https://pagely.site/showcase
- Guides → https://guides.pagely.site
- Example site with Notion → https://lalit.pagely.site
- Example site with StaticShield → https://pagely-with-github.pagely.site/

## Tech Stack 📚

This is one of the most surprising part of the blog. That's because Pagely is completely built with the Jamstack. Yeah, you heard me right. The whole app was made with Next.js (except for the automatic OG image generation service )

-  Next.js - The most amazing React framework on the planet
- Clerk - Authentication
- TailwindCSS - Styling
- Radix UI - Primitive react component library
- Headless UI - UI component library
- Supabase (Postgres) - Database
- Prisma - Database ORM
- Axios - API requests
- React Hook Form - Form validation
- Zod - Validation
- Web3forms - Form submissions
- SWR - Remote data fetching
- Typescript - Type checking
- Vercel - Hosting

## Contributing

You can contribute by submitting templates too!! For more details visit https://pagely.site/templates

- Clone this repo → `git clone https://github.com/Lalit2005/pagely`
- Set up Clerk's environment variables from Clerk's dashboard
- Spin up a free Postgres database in Supabase and get the connection URL/string
- Get your API key from Imgbb [here](https://imgbb.com/) (Only if you are contributing to the Image-uploading section)
- Install the dependencies → `yarn`
- Run the app on localhost → `yarn dev`

repository: ilearnbydoing/pagely

repo_name: ilearnbydoing/pagely


text:
---
layout: post
comments: true
title: Subversion diff with vimdiff
mt_id: 214
date: 2008-06-12 11:03:40 -07:00
---
Side by side diffs are much more legible and useful than those in [unified format](http://en.wikipedia.org/wiki/Diff#Unified_format) or any other linear diff.  By default, the `svn diff` command presents output in the unified format, though it has an option, `--diff-cmd`, which allows you to specify the program that will perform the diff.  Passing `vimdiff` as the diff command doesn't work as the options passed by `svn diff` are a bit complicated:

~/code/perllib/MG$ cat foo.sh
\#!/bin/bash
echo $*
~/code/perllib/MG$ svn diff --diff-cmd foo.sh Proxy.pm
Index: Proxy.pm
-u -L Proxy.pm (revision 21095) -L Proxy.pm (working copy) .svn/text-base/Proxy.pm.svn-base /tmp/svndiff.tmp

Subversion is telling diff to output context (`-u`), show pretty names for the files (`-L`) and then the two files to diff.  To make this work with `vim`, we simply need to cut out the extra options.  To do so, I wrote a simple script:

\#!/bin/bash
shift 5
vimdiff "$@"

I put that in `~/bin/svnvimdiff` and now I can do `svn diff --diff-cmd ~/bin/svnvimdiff Proxy.pm` and view the diff in `vimdiff`.  Since this is a command I use often, I aliased it in my `.bashrc`:

alias svndiffvim='svn diff --diff-cmd ~/bin/svnvimdiff'

repository: dinomite/octopress

extension: markdown

repo_name: dinomite/octopress


text:
---
layout: "sfz/opcode"
opcode_name: "image"
---
## Practical Considerations

Supported in Cakewalk DropZone, sfizz and possibly other players.

- **DropZone** supports bitmap images with transparent alpha channels,
showing one image per instrument and can be placed under any header.
The visible image is approximately 530x150 pixels. If a larger image is loaded,
only the top left part will be visible.
If set multiple times, the last image set in the SFZ file is actually used.
- **Dimension Pro** parses but ignores the opcode.
- **sfizz** supports it under the `<control>` header only, not limited to BMP images.

branch_name: refs/heads/source


text:
A dart library for [Uploadcare](https://uploadcare.com/).

[![Build Status](https://travis-ci.com/amondnet/uploadcare.dart.svg?branch=master)](https://travis-ci.com/amondnet/uploadcare.dart)
![Build](https://github.com/amondnet/uploadcare.dart/workflows/Build/badge.svg?branch=master)
[![codecov](https://codecov.io/gh/amondnet/uploadcare.dart/branch/master/graph/badge.svg)](https://codecov.io/gh/amondnet/uploadcare.dart)

## Usage

A simple usage example:

```dart
import 'package:uploadcare/uploadcare.dart';

main() {
  var cdnPathBuilder = CdnPathBuilder('693037a8-1c7c-4a4d-9d09-361c67c8cb3a');
  print('path: ${cdnPathBuilder.crop(10, 10).build()}');}
```

## Features and bugs

Please file feature requests and bugs at the [issue tracker][tracker].

[tracker]: https://github.com/amondnet/uploadcare.dart/issues