text:
# Auth0 Application Deletion

In the event you want to delete all things related to an application/client within Auth0, here is something you can use.

This is an application to be able to delete all things associated with an application/client id. This should be used in the event you have a client/application that you want to delete and would like all things associated with it deleted (Connections, Users, etc...)

## Flow

These operations are hitting the Auth0 API

* Perform GET /api/v2/clients/{id} with the `client_id` to ensure that the client/application exists

  * if no result is found display message about client/application not being found

* Perform GET /api/v2/connections to find all connections that only have client/application id associated with it and store the list of connection ids

  * if no connection is found display message about no connections

* Perform GET /api/v2/users to find all users associated with a connection and store the list of user ids

  * if no users associated display message about no users associated with the connection id

* Perform DELETE /api/v2/users/{id} for users list. **Note** there is no [bulk delete](https://community.auth0.com/t/is-there-a-way-to-bulk-delete-users/10832) users endpoint. Should batch delete requests to not exceed Auth0's [rate limits](https://auth0.com/docs/policies/rate-limits#management-api-v2)

* Perform DELETE /api/v2/connections/{id} for connections list

* Perform DELETE /api/v2/clients/{id} for application

**Note:** All of the operations above have an option to log to console and a file the requests being made as well as the results. By default the operations will only be printed to the console.

gha_language: Python


text:
---
layout: post
title:      "Tech for Good: Rails Final Project"
date:       2019-04-11 10:55:30 -0400
permalink:  tech_for_good_rails_final_project
---

When a [local community organisation](https://novanew.org.uk/) decided it was time to go 100% digital, I used my rails final project as an opportunity to explore how I might help. I’ve used Salesforce and other CRMs in the past and had always hoped to learn how to build my own one day. Past experience with CRMs gave me some idea on how I wanted to map out my models and associations, but I did run into trouble along the way that I will detail here in hopes of saving others some time going forward.

**Hiccup 1 **

I first ran into trouble when my controllers weren’t referencing the corresponding ids for their nested routes. If you're not calling the right :id in your controllers, your routes will quickly get tangled in your console and in your mind!

```
#routes.rb

resources :organisations do
    resources :programmes
end
```

```
rake routes

organisation_programme_path

GET      /organisations/:organisation_id/programmes/:id(.:format)
```

```
#programmes_controller.rb

def show
    @programme = Programme.find(params[:id])
    @client = Client.new
  end
```

**The :id in your controller must match the one in the nested route**, specifically the one that is being nested. Otherwise, you will be using a foreign key, such as :organisation_id as shown in the example above.

**Hiccup 2 **

Despite the fact that the ```has_and_belongs_to_many``` association was a better fit for my use case, this project required that I include the ability to add a writable attribute.

> <IP_ADDRESS> Additional Column Methods
>
> If the join table for a has_and_belongs_to_many association has additional columns beyond the two foreign keys, these columns will be added as attributes to records retrieved via that association. Records returned with additional attributes will always be read-only, because Rails cannot save changes to those attributes.
>
> **The use of extra attributes on the join table in a has_and_belongs_to_many association is deprecated. If you require this sort of complex behavior on the table that joins two models in a many-to-many relationship, you should use a has_many :through association instead of has_and_belongs_to_many.**

Unfortunately I realised this a bit late and thereforce had to do a bit of backtracking to change my associations and create a join table.

**Hiccup 3**

In theory, scope methods are simple to understand. However, I found rendering data less straightforward and the documentation a little thin. After reading the documention repeatedly, here are the two videos that finally helped me.

[Active Record Scope Methods](https://www.youtube.com/watch?v=akwUv3KzRcc)

[Custom scopes in model files in a Rails application](https://www.youtube.com/watch?v=OHS4OXPMRfc)

look forward to developing this further over the coming weeks with the hopes of Nova CRM becoming a useful open source and completely customisable tool for the non-profit community. Please check it out, comments and contributions welcome! https://github.com/VirginiaDooley/nova-new

branch_name: refs/heads/master

extension: markdown

license_type: permissive


text:
# Snake Game

[![GitHub license](https://img.shields.io/github/license/abhilashmuraleedharan/Snake-Game)](https://github.com/abhilashmuraleedharan/Snake-Game/blob/master/LICENSE)
[![GitHub issues](https://img.shields.io/github/issues/abhilashmuraleedharan/Snake-Game)](https://github.com/abhilashmuraleedharan/Snake-Game/issues)
[![GitHub stars](https://img.shields.io/github/stars/abhilashmuraleedharan/Snake-Game)](https://github.com/abhilashmuraleedharan/Snake-Game/stargazers)
[![GitHub forks](https://img.shields.io/github/forks/abhilashmuraleedharan/Snake-Game)](https://github.com/abhilashmuraleedharan/Snake-Game/network)
[![GitHub last commit](https://img.shields.io/github/last-commit/abhilashmuraleedharan/Snake-Game)](https://img.shields.io/github/last-commit/abhilashmuraleedharan/Snake-Game)

This is my [Udacity C++ Nanodegree](https://www.udacity.com/course/c-plus-plus-nanodegree--nd213) Capstone Project.

In this project I have extendend the [Snake-Game](https://github.com/udacity/CppND-Capstone-Snake-Game) by adding my own custom game features using the principles and techniques I learned in this Nanodegree.

<img src="snake_game.gif"/>

## Dependencies for Running Locally
* cmake >= 3.11.3
  * All OSes: [click here for installation instructions](https://cmake.org/install/)
* make >= 4.1 (Linux, Mac), 3.81 (Windows)
  * Linux: make is installed by default on most Linux distros
  * Mac: [install Xcode command line tools to get make](https://developer.apple.com/xcode/features/)
  * Windows: [Click here for installation instructions](http://gnuwin32.sourceforge.net/packages/make.htm)
* gcc/g++ >= 7.4.0
  * Linux: gcc / g++ is installed by default on most Linux distros
  * Mac: same instructions as make - [install Xcode command line tools](https://developer.apple.com/xcode/features/)
  * Windows: recommend using [MinGW](http://www.mingw.org/)
* SDL2 >= 2.0
  * All installation instructions can be found [here](https://wiki.libsdl.org/Installation)
  * Note that for Linux, an `apt` or `apt-get` installation is preferred to building from source.
  * Additionally, there are detailed instructions in the LazyFoo SDL tutorial page [here](https://lazyfoo.net/tutorials/SDL/01_hello_SDL/index.php)
  * Below are the steps I followed to install the SDL2 in my machine.
    - Downloaded the source code from [here](http://www.libsdl.org/release/SDL2-2.0.12.tar.gz)
    - Extracted the SDL2-2.0.12 folder from the downloaded tar.gz file.
    - Executed following commands to build and install SDL2 in my system.
    ```
    cd SDL2-2.0.12
    ./configure
    make all
    sudo make install
    ```
* SDL2 Mixer >= 2.0
  * All installation instructions can be found [here](https://www.libsdl.org/projects/SDL_mixer)
  * SDL2 Mixer requires SDL2-2.0.12 to be already installed in the system.
  * Below are the steps I followed to install the SDL2 Mixer in my machine.
    - Downloaded the source code from [here](https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.4.tar.gz)
    - Extracted the SDL2_mixer-2.0.4 folder from the downloaded tar.gz file.
    - Executed following commands to build and install SDL2 Mixer in my system.
    ```
    cd SDL2_mixer-2.0.4
    ./configure
    make all
    sudo make install
    ```

## Basic Build Instructions

1. Clone this repo.
2. `cd` into Snake-Game directory and make a build directory: `mkdir build && cd build`
3. Compile: `cmake .. && make`
4. Run it: `./SnakeGame`.

## Expected behaviour when you run the game

- On launch, an ASCII art depicting the name of the game - SNAKE, will be displayed on the terminal.
- The player will be prompted to enter his/her name.
- If the person is a new player, he/she will be introduced to the game controls and the current leader
  of the scoreboard.
- If the person has already played this game before, the player will be shown his/her previous score and
  the current leader of the scoreboard.
- If the person happens to be a new player but the chosen name is already taken, the player will be allowed
  to choose a different name by pressing the 'c' key and then the enter key.
- When the person press the 's' key and hit enter, the game will start by opening a new game window.
- The above listed leaderboard features will only be available if the scoreboard.txt file is present in the
  assets folder. When you clone this project, you will get a scoreboard.txt file with an entry already present.
- If this scoreboard.txt file is tampered with, for instance if the file gets deleted or is empty or contain
  invalid entries, then the game will automatically disable the leaderboard feature during the loading process.
- The game has a retro-style block graphics. The game will run with 60 FPS. The duration of each frame is controlled
  to give a consistent user experience irrespective of hardware.
- The window title will show the player name, current score and the highest score (if the leaderboard feature
  is not disabled by the game while loading).
- Food will appear in a randomly-generated space.
- The goal is to direct the snake to the food, which the snake will eat when it hits the correct square.
- The snake can be controlled using arrow keys as well as using the 'w','a','s','d' keys.
- If no key is pressed, the snake will continue in the same direction.
- When the snake eats food, the snake's length will increases by 1 square, its speed will increase slightly
  and the player's score will increase by 10 points.
- You can quit the game in the middle of the play by pressing 'q' key or by closing the game window.
- When the snake eats food a biting sound effect will be produced.
- When the snake head ends up hitting its own body, the snake dies and the game will be over.
- A 'dud' sound effect will be produced when the snake eats itself.
- If the snake is dead, the game window will close and the results will be displayed on the terminal.
- The result will always contain the player name and the score.
- If the leaderboard feature was not disabled by the game in the beginning, the results will also show
  the scoreboard.
- Each entry of the scoreboard will contain a player name and his/her score.
- If the player score has crossed the previous highest score, a congratulations message will also be displayed.

## Basic file and class structure

All source code is in `src/` path. There is a `main.cpp` which calls the game loop and a series of classes each having a `.h` and a `.cpp` file. These classes are

1. Game       - The abstraction for generically running a game. Defines the game loop and scoring mechanism. Acts as the central infrastructure, orchestrating the control flow between the user input, the visualisation, the filesystem and the game mechanics.
2. Controller - A handler for user input. Uses SDL2 in its implementation.
3. Renderer   - A handler for visualisation and sound effects. Uses SDL2 and SDL2 Mixer in its implementation.
4. Snake      - The object the user controls within the game. Has methods to move and actions to perform when it eats food.

The scoreboard.txt file and the sound effect files are present in the `assets/` path.

## How to contribute to this project

Contributions are what make the open source community such an amazing place to learn, inspire, and create.
Any contributions you make are greatly appreciated.

1. Fork the Project
2. If you wish to add a new feature, create a feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'feat: Add some AmazingFeature'`)
4. Push your branch to the remote repo (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
6. If you found a bug, create a bugfix branch (`git checkout -b bugfix/bug`)
7. Commit your changes (`git commit -m 'fix: Add your fix'`)
8. Push your branch to the remote rep (`git push origin bugfix/bug`)
9. Open a Pull Request

I followed Udacity Git Commit Message Style [Guide](https://udacity.github.io/git-styleguide/).
Please follow the same guidelines when you make your commits.

license: MIT

repository: abhilashmuraleedharan/Snake-Game

extension: md

repo_name: abhilashmuraleedharan/Snake-Game


text:
# Task 5.1.1 - Create the model in Paint3D

Creating a 3D model of our products will open up a world of opportunities. We can 3D print prototype noses, render them in 3D to visualize how they look, or even see them for ourselves in Virtual Reality!

3D Paint is a simple tool in the Windows 10 Creators Update that allows us to create and paint 3D models. Perfect for this task!

## Prerequisites

This walkthrough assumes that you have:
* Windows 10 Creators Update
* Paint 3D

## Task

#### The Nose 3D model

The first part of this task is to create the Nose 3D model itself, with a base color.

1. Launch **Paint 3D** using the Windows Start Menu. If the Welcome Screen is displayed, dismiss it.
2. You will see a blank white scene when Paint 3D has launched. This is the canvas you will be working on to create your Knowzy nose prototype.
3. The top-center menu allows you to select what tools you want to use. The first one is Art Tools for paining and coloring, while the next (cube icon) is for acctually creating 3D objects. Select this menu tab.
    ![3D objects tool](images/511_1.png)
4. In the 3D objects menu tab, select the Sphere tool (should be selected by default) by clicking the Sphere icon under 3D objects.
5. This allows you to draw a Sphere on the canvas. Before doing so, use the Color Selector below the tool to select what color you want the nose to have as a base. Note, by changing the dropdown above the color selector from Matte to Gloss will make the nose look shiny - play with this to get the nose YOU want to design!
6. Draw the Sphere on the canvas by placing the mouse pointer where you want it, left clicking and draging it to the size you want. You can force the size to be uniform by holding **SHIFT** while dragging. This is how our first prototype looked like:
    ![Base nose](images/511_2.png)

#### Painting the Nose
The second task is to give the nose some details. This can be stickers, color variations and drawings.
1. Select the Art Tools tab to see what tools you have for drawing.
> Note: For these steps, it is very important to not draw on the white canvas itself as it will make it a part of the 3D model itself.

2. You can now use any of the Art Tools to draw on the model itself. Feel free to be creative here! For our first prototype, we simply used the Caligraphy Tool with the Thickness set to 36px to draw to nose holes on the bottom of the nose.

    ![Adding color](images/511_3.png)

3. The third menu tab is for placing Stickers on the model. Feel free to play around with the various tools to become familiar with the software - this allows you to be very creative when designing new protoypes for us!

#### Saving and Exporting
The last task here is to save the model, and export it as FBX to be used with Unity or BabylonJS (by converting to OBJ, see BabylonJS task).

1. Save the Project itself as a Paint 3D project by clicking the Folder icon on the top-left corner of the window, and give it a proper name.
2. Now, export the scene by clicking the same folder icon on the top-left corner of the window, and select FBX under Export:

    ![Export as FBX](images/511_4.png)

3. Save it in a location you can remember for the tasks ahead.

Congratulations, you have now mastered Paint 3D and how to use it to create Nose Prototypes in 3D!

## References
The FBX export of our first Nose Prototype:
[Nose Prototype (FBX)](./Reference/NosePrototype.fbx)

repository: stammen/BuildTourHack

repo_name: stammen/BuildTourHack


text:
# mug
Create a PNG image of a webpage

## Usage
mug -u `https://some.site/` -o `image.png`

# imgdiff
Compare images.

repository: jvdanker/mug

repo_name: jvdanker/mug


text:
# Upspin architecture

Each user of the system is represented by an Upspin user name, which looks like
an email address; a public/private key pair; and the network address of a
directory server:

That directory server holds a hierarchical tree of names pointing to the user's
data, which is held in a store server, possibly encrypted.
Each item in the tree is represented by a directory entry containing a list of
references that point to data in the store server:

All the users are connected through a central key server at `key.upspin.io`,
which holds the public key and directory server address for each user.

This is how the pieces fit together:

From top to bottom, these represent:

- Shared directory and store servers used by multiple users.
- A single-user system with a combined directory and store server.
- A camera served by a special-purpose combined directory and store server.

To illustrate the relationship between these components, here is the sequence
of requests a client exchanges with the servers to read the file
<EMAIL_ADDRESS>

1. The client asks the key server for the record describing the owner of the
   file, which is the user name at the beginning of the file name (`augie@upspin.io`).
   The key server's response contains the name of the directory server holding
   that user's tree (`dir.upspin.io`) and Augie's public key.
2. The client asks the directory server for the directory entry describing the
   file. The response contains a list of block references, which include the
   name of the store server (`store.upspin.io`).
3. The client can then ask the store server for each of the blocks, pipelining
   the requests for efficiency.
4. The client decrypts the blocks (using Augie's public key) and concatenates
   them to assemble the file.

repository: upspin/upspin

gha_language: Go

repo_name: upspin/upspin


text:
---
layout: default
title: Upgrade mesheryctl and Meshery
description: How to Upgrade mesheryctl
permalink: guides/upgrade
type: Guides
---
Various components of Meshery will need to be upgraded as new releases become available. Meshery is comprised of a number of components including a server, adapters, UI, and CLI.

## Upgrade Meshery Server, Adapters, and UI
All three of these components are released as part of the same set of artifacts. In order to upgrade Meshery server, UI and adapters, you may execute the following command:

```
mesheryctl system upgrade
```

## Upgrade Meshery Client (mesheryctl)

### Upgrading mesheryctl using Homebrew

To upgrade `mesheryctl`, execute the following command:

```bash
brew upgrade mesheryctl
```

Example output of a successful upgrade:

```bash
➜  ~ brew upgrade mesheryctl
==> Upgrading 1 outdated package:
layer5io/tap/mesheryctl 0.3.2 -> 0.3.4
==> Upgrading layer5io/tap/mesheryctl
==> Downloading https://github.com/layer5io/meshery/releases/download/v0.3.4/mesheryctl_0.3.4_Darwin_x86_64.zip
==> Downloading from https://github-production-release-asset-2e65be.s3.amazonaws.com/157554479/17522b00-2af0-11ea-8aef-cbfe8
######################################################################## 100.0%
🍺  /usr/local/Cellar/mesheryctl/0.3.4: 5 files, 10.2MB, built in 4 seconds
Removing: /usr/local/Cellar/mesheryctl/0.3.2... (5 files, 10.2MB)
Removing: /Users/lee/Library/Caches/Homebrew/mesheryctl--0.3.2.zip... (3.9MB)
==> Checking for dependents of upgraded formulae...
==> No dependents found!
```

### Upgrading mesheryctl using Bash

Upgrade `mesheryctl` and run Meshery on Mac or Linux with this script:

```bash
curl -L https://git.io/meshery | bash -
```

### Upgrading mesheryctl using Scoop

To upgrade `mesheryctl`, execute the following command:

```bash
scoop update mesheryctl
```

repository: sharmaadityaHQ/meshery

repo_name: sharmaadityaHQ/meshery


text:
---
title: Click Outside action
description: The ClickOutside action calls a function when something outside of the target element is clicked on.
keywords: click outside, click action, svelte click action, svelte materialify click
related:
  - actions/ripple
  - actions/intersect
  - components/menus
---

# ClickOutside

The `ClickOutside` directive calls a function when something outside of the target element is clicked on. This is used internally by components like `Menu` and `Dalog`.

## Usage

The `ClickOutside` action allows you to provide a handler to be invoked when the user clicks outside of the target element.
<Components.Example file="ClickOutside/usage" />

repository: TheComputerM/svelte-materialify

gha_language: Svelte

gha_license_id: MIT

repo_name: TheComputerM/svelte-materialify


text:
------------------------------------------------------------------------
AGL-UNICENS binding expose UNICENS-V2 APIs through AGL framework
------------------------------------------------------------------------

Cloning Audio-Binding from Git
-------------------------------------------------------

```
git clone --recurse-submodules https://github.com/iotbzh/unicens2-binding
cd  unicens2-binding
```

AFB_daemon dependency on Standard Linux Distributions
-------------------------------------------------------
    # handle dependencies > (OpenSuse-42.2, Fedora-25, Ubuntu 16.04.2LTS)
    gcc > 4.8
    systemd-devel (libsystemd-dev>=222)
    libuuid-devel
    file-devel(OpenSuSe) or libmagic-dev(Ubuntu)
    libjson-c-devel
    alsa-devel
    ElectricFence (BUG should not be mandatory)
    libopenssl-devel libgcrypt-devel libgnutls-devel (optional but requested by libmicrohttpd for https)
    libxml2-devel

    OpenSuse >=42.2
      zypper in gcc5 gdb gcc5-c++ git cmake make ElectricFence systemd-devel libopenssl-devel  libuuid-devel alsa-devel libgcrypt-devel libgnutls-devel libjson-c-devel file-devel libxml2-devel

    Ubuntu >= 16.4 libuuid-devel
      apt-get install cmake git electric-fence libsystemd-dev libssl-dev uuid-dev libasound2-dev libgcrypt20-dev libgnutls-dev libgnutls-dev libjson-c-dev libmagic-dev libxml2-dev

    libmicrohttpd>=0.9.55 (as today OpenSuse-42.2 or Ubuntu-.16.4 ship older versions)
    afb-daemon from AGL Gerrit git clone https://gerrit.automotivelinux.org/gerrit/src/app-framework-binder

```
    # Might want to add following variables into ~/.bashrc
    echo "#----------  AGL options Start ---------" >>~/.bashrc
    echo "# Object: AGL cmake option for  binder/bindings" >>~/.bashrc
    echo "# Date: `date`" >>~/.bashrc
    echo 'export CC=gcc-5; export CXX=g++-5' >>~/.bashrc   # if using gcc5
    echo 'export INSTALL_PREFIX=$HOME/opt' >>~/.bashrc
    echo 'export LD_LIBRARY_PATH=$INSTALL_PREFIX/lib64:$INSTALL_PREFIX/lib' >>~/.bashrc
    echo 'export LIBRARY_PATH=$INSTALL_PREFIX/lib64:$INSTALL_PREFIX/lib' >>~/.bashrc
    echo 'export PKG_CONFIG_PATH=$INSTALL_PREFIX/lib64/pkgconfig:$INSTALL_PREFIX/lib/pkgconfig' >>~/.bashrc
    echo 'export PATH=$INSTALL_PREFIX/bin:$PATH' >>~/.bashrc
    echo 'export RSYNC_TARGET=MY_TARGET_HOSTNAME' >>~/.bashrc
    echo 'export RSYNC_PREFIX=./opt' >>~/.bashrc

    echo "#----------  AGL options End ---------" >>~/.bashrc
    source ~/.bashrc

    # install LibMicroHttpd
    LIB_MH_VERSION=0.9.55
    wget https://ftp.gnu.org/gnu/libmicrohttpd/libmicrohttpd-${LIB_MH_VERSION}.tar.gz
    tar -xzf libmicrohttpd-${LIB_MH_VERSION}.tar.gz
    cd libmicrohttpd-${LIB_MH_VERSION}
    ./configure --prefix=${INSTALL_PREFIX}
    make
    sudo make install-strip

    # retrieve last AFB_daemon from AGL
    git clone https://gerrit.automotivelinux.org/gerrit/src/app-framework-binder

    # Warning: previous GCC options should be set before initial cmake (clean Build/*)
    cd app-framework-binder; mkdir -p build; cd build
    cmake -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX ..
    make
    make install
```

# Compile binding

```
    source ~/.bashrc  # or any other file where your have place your compilation preferences
    mkdir -p build
    cd build
    cmake -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX ..
    make

    afb-daemon --workdir=.. --ldpaths=build --port=1234  --roothttp=./htdocs --token="" --verbose

    speaker-test -twav -D hw:ep01 -c 2
    firefox http://localhost:1234
```

# Archive

```
VERSION=0.1
GIT_TAG=master
PKG_NAME=UNICENS-agent
git archive --format=tar.gz --prefix=${PKG_NAME}-${VERSION}/ ${GIT_TAG} -o ${PKG_NAME}_${VERSION}.orig.tar.gz
```

# Local Source Debug with GDB

Warning: technically AGL bindings are shared libraries loaded thought 'dlopen'. GDB supports source debug of dynamically
loaded libraries, but user should be warn that the actual path to sharelib symbols is directly inherited from DLOPEN.
As a result if you change your directory after binder start with --workdir=xxx then GDB will not find symbols anymore

```
    Examples:

    # WORK when running in direct
    afb-daemon --workdir=.. --ldpaths=build --port=1234 --roothttp=./htdocs

    # FAIL when using GDB with warning: Could not load shared library ....
    gdb -args afb-daemon --workdir=.. --ldpaths=build --port=1234 --roothttp=./htdocs
    ...
    warning: Could not load shared library symbols for ./build/ucs2-afb/afb-ucs2.so.
    Do you need "set solib-search-path" or "set sysroot"?
    ...
```

To debug sharelib symbol path: start your binder under GDB. Then break your session after the binder has
loaded its bindings. Finally use "info sharedlibrary" and check 'SymsRead'. If equal to 'No' then either you start GDB
from the wrong relative directory, either you have to use 'set solib-search-path' to force the path.

```
    gdb -args afb-daemon --workdir=.. --ldpaths=build --port=1234 --roothttp=./htdocs
    run
        ...
        NOTICE: API UNICENS added
        NOTICE: Waiting port=1234 rootdir=.
        NOTICE: Browser URL= http://localhost:1234
    (hit Ctrl-C to break the execution)
    info sharedlibrary afb-*
```

# Running an debugging on a target

```
export<EMAIL_ADDRESS>export RSYNC_PREFIX=/opt    # WARNING: installation directory should exist

mkdir $RSYNC_TARGET
cd    $RSYNC_TARGET

cmake -DRSYNC_TARGET=$RSYNC_TARGET -DRSYNC_PREFIX=$RSYNC_PREFIX ..
make remote-target-populate

    ./build/target/start-${RSYNC_TARGET}.sh
    firefox http://localhost:1234    # WARNING: do not forget firewall if any

    ssh -tt ${RSYNC_TARGET} speaker-test -twav -D hw:ep01 -c 2
```

Note: remote-target-populate will
 - create a script to remotely start the binder on the target in ./build/target/start-on-target-name.sh
 - create a gdbinit file to transparently debug remotely in source code with gdb -x ./build/target/gdb-on-target-name.ini
 - to run and debug directly from your IDE just configure the run and debug properties with the corresponding filename

Note that Netbeans impose to set debug directory to ./build/pkgout or it won't find binding symbols for source debugging

# Default Volume of Amplifiers
The binding currently supports two use cases for amplifiers.
1. Amplifiers are initialized with a default volume. The head unit uses software volume
   to change the volume of streaming data.
2. Amplifiers are initialized muted. The head unit uses hardware volume (e.g. HAL-MOST-UNICENS)
   to change the volume of amplifiers remotely.

Use case 2 is the default use case. If you like to use this binding without hardware volume support
please adopt the ```config_multichannel_audio_kit.xml``` as explained below.

```
<!-- Register 7: Master Volume (Max Volume=07 00 00 and Min Volume=07 03 FF) -->
<!--   - together with HAL-MOST-UNICENS binding use "07 03 FF" = muted after start -->
<!--   - otherwise use "07 01 50" = default volume -->
<I2CPortWrite Address="0x2A" Payload="07 03 FF"/>
```

repository: bedarkarshantanu/agl-services

repo_name: bedarkarshantanu/agl-services


text:
# REST API IN SLIM PHP

Example of REST API with [Slim PHP micro framework](https://www.slimframework.com).

![alt text](extras/img/slim-logo.png "Slim PHP micro framework")

Main technologies used: `PHP 7, Slim 3, MySQL, Redis, dotenv, PHPUnit and JSON Web Tokens.`

Also, I use other aditional tools like: `Docker & Docker Compose, Travis CI, Swagger, Code Climate, Scrutinizer, Sonar Cloud, PHPStan, PHP Insights, Heroku and CORS.`

## :gear: QUICK INSTALL:

### Requirements:

- Git.
- Composer.
- PHP 7.3+.
- MySQL/MariaDB.
- Redis (Optional).
- or Docker.

### With Git:

In your terminal execute this commands:

```bash
$ git clone https://github.com/supimpa/marveldextra.git && cd marveldextra
$ cp .env.example .env
$ composer install
$ composer restart-db
$ composer test
$ composer start
```

## :package: DEPENDENCIES:

### LIST OF REQUIRE DEPENDENCIES:

- [slim/slim](https://github.com/slimphp/Slim): Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs.
- [respect/validation](https://github.com/Respect/Validation): The most awesome validation engine ever created for PHP.
- [palanik/corsslim](https://github.com/palanik/CorsSlim): Cross-origin resource sharing (CORS) middleware for PHP Slim.
- [vlucas/phpdotenv](https://github.com/vlucas/phpdotenv): Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.
- [predis/predis](https://github.com/nrk/predis/): Flexible and feature-complete Redis client for PHP and HHVM.
- [firebase/php-jwt](https://github.com/firebase/php-jwt): A simple library to encode and decode JSON Web Tokens (JWT) in PHP.

### LIST OF DEVELOPMENT DEPENDENCIES:

- [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit): The PHP Unit Testing framework.
- [phpstan/phpstan](https://github.com/phpstan/phpstan): PHPStan - PHP Static Analysis Tool.
- [pestphp/pest](https://github.com/pestphp/pest): Pest is an elegant PHP Testing Framework with a focus on simplicity.
- [nunomaduro/phpinsights](https://github.com/nunomaduro/phpinsights): Instant PHP quality checks from your console.
- [rector/rector](https://github.com/rectorphp/rector): Instant Upgrades and Instant Refactoring of any PHP 5.3+ code.

## :traffic_light: TESTING:

Run all PHPUnit tests with `composer test`.

```bash
$ composer test
> phpunit
PHPUnit 9.2.3 by Sebastian Bergmann and contributors.

...............................................................   63 / 63 (100%)

Time: 00:00.165, Memory: 18.00 MB

OK (63 tests, 388 assertions)
```

## :books: DOCUMENTATION:

### ENDPOINTS:

#### INFO:

- Help: `GET /`

- Status: `GET /status`

#### USERS:

- Login User: `POST /login`

- Create User: `POST /api/v1/users`

- Update User: `PUT /api/v1/users/{id}`

- Delete User: `DELETE /api/v1/users/{id}`

#### CHARACTERS:

- Get All Character: `GET /api/v1/public/characters`

- Get One Character: `GET /api/v1/public/characters/{id}`

- Create Character: `POST /api/v1/public/characters`

- Update Character: `PUT /api/v1/public/characters/{id}`

- Delete Character: `DELETE /api/v1/public/characters/{id}`

- Get Character Comics: `GET /api/v1/public/characters/{id}/comics`

- Get Character Series: `GET /api/v1/public/characters/{id}/series`

- Get Character Stories: `GET /api/v1/public/characters/{id}/stories`

- Get Character Events: `GET /api/v1/public/characters/{id}/events`

Also, you can see the API documentation with Postman [full list of endpoints](extras/docs/Marvel.postman_collection.json).

https://documenter.getpostman.com/view/988183/T1DmCy76?version=latest

### HELP AND DOCS:

For more information on how to use the REST API, see the following documentation available on [Postman Documenter](https://documenter.getpostman.com/view/1915278/RztfwByr).

### IMPORT WITH POSTMAN:

All the information of the API, prepared to download and use as postman collection: [Import Collection](https://www.getpostman.com/collections/707bde2aa3c39f2a8c1a).

[![Run in Postman](https://run.pstmn.io/button.svg)](https://app.getpostman.com/run-collection/707bde2aa3c39f2a8c1a)

## :rocket: DEPLOY:

You can deploy this API with Heroku Free ( TO DO ).

## :page_facing_up: LICENSE

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

[ico-license]: https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat

repository: victortoaldo/marveldextra

gha_language: PHP

repo_name: victortoaldo/marveldextra


text:
# WS Trade Info
Collection of information about Stocks in the Toronto Stock Exchange, New York Stock Exchange and NASDAQ traded in Wealthsimple Trade

# Asset Information
The `stock_info` folder contains information about assets traded in Canada, NASDAQ and NYSE
The `etf_info` folder contains information about ETFs traded in Canada, NASDAQ and NYSE
I made the decision to keep Canadian Assets together since Wealthsimple does not charge fees to trade them.

### Canada
Currently lists *747* Canadian Stocks traded in TSX, TSX-V and NEO, from `Aftermath Silver Ltd` (AAG) to `Sleep Country Canada Holdings Inc` (ZZZ)
It also lists *978* Canadian ETFs, from `Middlefield Ltd - Middlefield American Core Dividend ETF` (ACZ) to `BMO Tactical Dividend ETF Fund` (ZZZD)

### NASDAQ
Currently lists *1405* American Stocks traded in the NASDAQ, from `Appian Corp (Class A)` (APPN) to `Zynga Inc (Class A)` (ZNGA)
It also lists *106* NASDAQ ETFs, from `BTC iShares MSCI All Country Asia ex Japan ETF` (AAXJ) to `BTC iShares Exponential Technologies ETF` (XT)

### NYSE
Currently lists *1560* American assets traded in the NYSE, from `Agilent Technologies Inc.` (A) to `Zymeworks Inc` (ZYME)
It also lists *571* NYSE ETFs, from `VanEck Vectors Africa Index ETF` (AFK) to `ProShares UltraShort Silver` (ZSL)

# Recently Changed / Added

The `change_info` folder contains information about assets that went through change recently. For example, it contains recent and to be added IPOs. It also contains all the de-listed and split stocks. This info might not be up to date at the time of your reading, since it requires daily changes. Last updated October 7th 2020.

repository: zwilhelmm/WS-Trade-Info

branch_name: refs/heads/main

repo_name: zwilhelmm/WS-Trade-Info


text:
# France

## Rover Setup

### Coordinate System

Choose a coordinate system based on the `RGF93` datum (such as `RGF93 / CC42`).

### Vertical Datum

Choose the `NGF-IGN69 height` vertical datum.

The `RAF18` geoid is used to perform the transformation.

## Base Setup

Your base or NTRIP service should be in `RGF93`.

When setting up a base station on a benchmark, enter `RGF93` geographic coordinates (lat/long) and ellipsoidal height in the ReachView 3 *Settings / Base mode*.

repository: kkoliuk/emlid-docs

repo_name: kkoliuk/emlid-docs


text:
---
title: "update_firmware.go"
description: "update_firmware.go"
date: "2017-11-23"
classes:
    - "SoftLayer_Hardware_Server"
tags:
    - "baremetalservers"
---

```go
/*
Update the firmware in a Bare Metal server

The script makes a single call to SoftLayer_Hardware_Server::createFirmwareUpdateTransaction
method to update the firmware in a bare metal server.
See below for more details

Important manual pages:
http://sldn.softlayer.com/reference/services/SoftLayer_Hardware_Server/createFirmwareUpdateTransaction

License: http://sldn.softlayer.com/article/License
Author: SoftLayer Technologies, Inc<EMAIL_ADDRESS>*/
package main

import (
	"fmt"
	"github.com/softlayer/softlayer-go/session"
	"github.com/softlayer/softlayer-go/services"
)

func main() {
	// SoftLayer API username and key
	username := "set me"
	apikey   := "set me"

	// The id of bare metal server you wish to update the firmware
	hardwareId := 438878

	// Firmware update parameters.
	// Set with "1" to update and "0" to skip
	ipmi 		:= 1
	raidController  := 1
	bios 		:= 1
	harddrive 	:= 0

	// Create SoftLayer API session
	sess := session.New(username, apikey)

	// Get SoftLayer_Hardware_Server service
	service := services.GetHardwareServerService(sess)

	// Update the firmware by using the createFirmwareUpdateTransaction() method
	// It will bring your server offline for approximately 20 minutes while the updates
	// are in progress.
	result, err := service.Id(hardwareId).CreateFirmwareUpdateTransaction(&ipmi,&raidController,&bios,&harddrive)
	if err != nil {
		fmt.Printf("\n Unable to update the firmware:\n - %s\n", err)
		return
	}

	fmt.Print(result)
}

```

gha_language: HTML

gha_license_id: NOASSERTION


text:
# PIFBot

PIFBot implements SLAM and Navigation with ROS. Base control uses STM32 micro-controller to communicate with ROS over rosserial protocol. PIFBot equiped Lidar, RGB-D camera, IMU to compatible with many SLAM methods. This tutorial shows system design of PIFBot and the result when running SLAM and Navigation using RTAB-Map package. Many SLAM methods such as GMapping, Hector, Karto,... has been integrated in this ROS package and easy to implement.

### 1. Design system

#### Mechanical

#### Hardware

#### Firmware

#### ROS

### 2. Practice

### 3. Result

#### Mapping

#### Navigation

#### Loop-closure detection

#### Multi-session SLAM

### 4. Problem

### 5. Contact

E-mail<EMAIL_ADDRESS>

repository: mfkiwl/PIFBot

repo_name: mfkiwl/PIFBot


text:
# vsext-vizz

VisualStudio Extension - Numeric list visualizer for Visual Studio 2017

#### How to use?

* Build the project
* Take the resulting .dll and place it in:
`My Documents\Visual Studio 2017\Visualizers`.
* Run another project in Debug mode
* Hover over any `List<T>` (or find some in Watch or Locals window panes)
* Click a small magnifying glass icon and choose `Vizzualize this!`

repository: kornelijepetak/vsext-vizz

repo_name: kornelijepetak/vsext-vizz


text:
# 7.0 to 8.0
* Angular 14 is no longer supported.

# 6.x to 7.0
* Angular 13 is no longer supported.

# 5.x to 6.0
* Angular 12 is no longer supported.
* Internet Explorer is no longer supported.

# 4.x to 5.0
* Angular 10 and 11 is no longer supported
* Tree Grid no longer supports the `rows` input. Use `(rowChange)="rows = $event"` instead.

# 3.x to 4.0
* Angular 9 is no longer supported.
* The `hpe-*` icon set has been removed. Use the `ux-icon` component instead.
* The `valid` input has been removed from `ux-number-picker`. Use Angular form validation instead.

# 2.1.x to 3.0
* Angular 8 is no longer supported.
* If you are using ng2-file-upload and ngx-mask packages in your application, you will need to install manually.
* The package for `angular-tree-component` has been renamed.
    1. Run `npm remove angular-tree-component` and run `npm install @circlon/angular-tree-component`.
    1. Replace all imports of the deprecated package with `@circlon/angular-tree-component`.
    1. Add the angular tree component stylesheet to the `angular.json` file. See [Getting Started](https://github.com/CirclonGroup/angular-tree-component#getting-started) for details.

# 1.8.x to 2.0
* Angular 6 is no longer supported.
* AngularJS components and `HybridModule` have been removed, and from now on must be imported from `@ux-aspects/ux-aspects-ng1`. Refer to the [UX Aspects (AngularJS) documentation](https://uxaspects.github.io/UXAspects-ng1/#/changelog) for details.
* The `dist` folder has now been removed from the published package. Any import paths referring to<EMAIL_ADDRESS>can be replaced with<EMAIL_ADDRESS>* With the removal of AngularJS components, all dependencies are now resolved through NPM and the package no longer contains third party code; therefore the Licenses file has been removed.
* All styles relating to AngularJS components have been removed. These styles are available in the `@ux-aspects/ux-aspects-ng1` package if required.
* Removed [Angular i18n](https://angular.io/guide/i18n) attributes. Localizable text is now provided via inputs:
    * Color Picker
        * `colorAriaLabel`
        * `switchModeAriaLabel`
        * `inputAriaLabel`
    * Facet Container
        * `clearAriaLabel`
        * `deselectFacetAriaLabel`
    * Media Player
        * `muteAriaLabel`
        * `playAriaLabel`
        * `fullscreenAriaLabel`
        * `selectSubtitlesAriaLabel`
        * `goToStartAriaLabel`
        * `goToEndAriaLabel`
        * `subtitlesTitleAriaLabel`
        * `subtitlesOffAriaLabel`
        * `noSubtitlesAriaLabel`
        * `mediaPlayerAriaLabel`
        * `seekAriaLabel`
    * Item Display Panel
        * `closeAriaLabel`
    * Filter
        * `clearAriaLabel`
* Removed the following deprecated inputs/outputs:
    * Tabs
        * `select`
        * `deselect`
    * Page Header
        * `familyBackground`
        * `familyForeground`
        * `titleTemplate`
    * Item Display Panel
        * `title`
    * Marquee Wizard
        * `icon`
    * Floating Action Button
        * `icon`
    * Tag Input
        * `trackAriaDescendant`
* Updated the [angular-split](https://bertrandg.github.io/angular-split/#/documentation) dependency, which provides the splitter functionality. Two selectors have changed with this update:
    * `split` is now `as-split`
    * `split-area` is now `as-split-area`
* `label` no longer has a 5px bottom margin by default.
* Any component that extends `ConduitZoneComponent` must now manually call `super.ngOnInit()` and `super.ngOnDestroy()` if the component is using those lifecycle hooks.

repository: UXAspects/UXAspects

gha_language: TypeScript

repo_name: UXAspects/UXAspects


text:
---
title: Advice for Databases
pageid: topic-db
keywords: a addresses admin adminprivilege after a_id allowed also an and append are as attribute attributes b be camelcase case conventions created database deleted deletes describes email emailaddresses emailprimary emailsecondary etc example extend for foreign from general has have how id if in individual instead it item joins key link linking modified multiple name named naming of on only override pascalcase plural preserve privilege record row rows rules should single singular soft stored such table tables the there these two use used user users when will would you
---

These rules extend and override the [general rules][general-rules].

Naming Conventions
------------------

Tables will use PascalCase and attributes of a record will use camelCase.

Linking tables will be named after the two tables it joins, such as how AdminPrivilege would link Admin and Privilege.

Database tables will be named in the singular when an individual row in the table describes a single item.  For example you will use `User` instead of `Users`.  The table `EmailAddresses` (a plural item) would only be used if a single record has multiple email addresses, such as `emailPrimary`, `emailSecondary`, etc.

The foreign key from A.id will be stored in B as B.A_id (preserve case on table name, append "_id").

Rows should have a `created` and `modified` attribute.  If soft deletes are allowed, there should also be a `deleted` attribute on the record.

{% include links.html %}


text:
# py-generic-project

 [![Logo](https://raw.githubusercontent.com/Springerle/py-generic-project/master/docs/_static/img/logo.png)](https://py-generic-project.readthedocs.io/)

A cookiecutter template that creates a basic Python setuptools project,
which can be later on augmented with various optional accessories.
See the [demo](https://github.com/Springerle/py-generic-project/tree/master/demo)
for getting a 1ˢᵗ impression on how this Cookiecutter template can be used,
including screenshots of the terminal session.

 [![Logo](https://raw.github.com/Springerle/py-generic-project/master/docs/_static/img/springerle-logo.png)](http://springerle.github.io/)
 [![Groups](https://img.shields.io/badge/Google_groups-springerle--users-orange.svg)](https://groups.google.com/forum/#!forum/springerle-users)
 ![MIT+CC0 licensed](http://img.shields.io/badge/license-MIT+CC0-red.svg)
 [![Travis CI](https://api.travis-ci.org/Springerle/py-generic-project.svg)](https://travis-ci.org/Springerle/py-generic-project)
 [![GitHub Issues](https://img.shields.io/github/issues/Springerle/py-generic-project.svg)](https://github.com/Springerle/py-generic-project/issues)
 [![GitHub Release](https://img.shields.io/github/release/Springerle/py-generic-project.svg)](https://github.com/Springerle/py-generic-project/releases)

## Features

The resulting project uses
[rituals](https://github.com/jhermann/rituals)
and [invoke](https://github.com/pyinvoke/invoke/)
for task automation, and
[setuptools](https://bitbucket.org/pypa/setuptools)
for building and distributing the project.
A provided [autoenv](https://github.com/kennethreitz/autoenv) script takes care
of creating a fully boot-strapped `virtualenv` – it can also be used manually
if you don't want to install `autoenv`.

Other integrated tools are `pylint` for code quality checking,
`pytest` for testing support, and a Travis CI configuration.

:books: | Get to know all the details on [Read The Docs](https://py-generic-project.readthedocs.io/).
----: | :----

## Split Licensing

Since the files contained in the ``{{cookiecutter.repo_name}}`` archetype itself
will comprise the foundation of your project, they're unlicensed using the
“Creative Commons Zero v1.0 Universal” license.
All other files outside the ``{{cookiecutter.repo_name}}`` directory are
MIT-licensed – this effectively means you only have to attribute this project
if you re-use all or parts of the contained templating mechanics and documentation.

* [![Project License](http://img.shields.io/badge/license-MIT-red.svg)](https://github.com/Springerle/py-generic-project/blob/master/LICENSE_MIT) for the project.
* [![Template License](http://img.shields.io/badge/license-CC0-blue.svg)](https://github.com/Springerle/py-generic-project/blob/master/LICENSE_CC0) for the template proper (everything in `{{cookiecutter.repo_name}}`), unless specified otherwise within the file itself.

## References

**Similar Archetypes**

* [cookiecutter-pyvanguard](https://github.com/robinandeer/cookiecutter-pyvanguard)
* [cookiecutter-pylibrary](https://github.com/ionelmc/cookiecutter-pylibrary)
* [audreyr/cookiecutter-pypackage](https://github.com/audreyr/cookiecutter-pypackage)
* [tony/cookiecutter-pypackage](https://github.com/tony/cookiecutter-pypackage)
* [Nekroze/cookiecutter-pypackage](https://github.com/Nekroze/cookiecutter-pypackage)
* [darvid/cookiecutter-pylibng](https://github.com/darvid/cookiecutter-pylibng)
* [transcode-de/cookiecutter-django-project](https://github.com/transcode-de/cookiecutter-django-project)
* [mozilla/sugardough](https://github.com/mozilla/sugardough)

**Related Tools**

* [PyScaffold](https://github.com/blue-yonder/pyscaffold)
* [weber-minimal](https://github.com/vmalloc/weber-minimal) – A Flask application skeleton with Ansible deployment.

See also the full list at [Cookiecutter's README](https://github.com/audreyr/cookiecutter#python).


text:
# Pentest Monkey Generator

This project is designed to simplify using pentest monkey reverse shells. Rather
than requiring you to always visit the webpage and find it, this will generate the
reverse shell for you with the IP and port you want.

repository: kkirsche/pentestmonkey

repo_name: kkirsche/pentestmonkey


text:
# Future State Enterprise Library

A collection of components to accelerate the development of robust, maintainable line of business application on a .NET technology stack.

##  Key components:
- Utility Libraries
- Data Access
- Validation
- ETL Batch
- Data Flow
- Microservices

## Build Status

[![Build status](https://ci.appveyor.com/api/projects/status/aqh7hjoa5rlgw518?svg=true)](https://ci.appveyor.com/project/ArisNikolaou/futurestate)

## Building

This solution relies on [Cake](https://cakebuild.net/) to build, test and publish components. Assembly versioning can be assigned through the command line argument using the following command line parameters.

    ./build.ps1 -Target Publish-Packages -ScriptArgs "-BUILD_VERSION=0.3.0"

## [Technical Docs](http://futurestate.readthedocs.io/en/latest/index/)

repository: riskvista/futurestate-forked

repo_name: riskvista/futurestate-forked


text:
# Device model

Caution: This page may contain information that is specific to the legacy
version of the driver framework (DFv1).

## Introduction

In Fuchsia, device drivers are implemented as ELF shared libraries (DSOs), which are
loaded into Driver Host processes. The Driver Manager process,
contains the Device Coordinator which keeps track of drivers and devices, manages
the discovery of drivers, the creation and direction of Driver Host processes, and
maintains the Device Filesystem (devfs), which is the mechanism through which userspace
services and applications (constrained by their namespaces) gain access to devices.

The Driver Manager views devices as part of a single unified tree.
The branches (and sub-branches) of that tree consist of some number of
devices within a Driver Host process. The decision as to how to sub-divide
the overall tree among Driver Hosts is based on system policy for isolating
drivers for security or stability reasons and colocating drivers for performance
reasons.

## Devices, Drivers, and Driver Hosts

Here's a (slightly trimmed for clarity) dump of the tree of devices in
Fuchsia running on Qemu x86-64:

```sh
$ driver dump
[root]
   <root> pid=1509
      [null] pid=1509 /boot/driver/builtin.so
      [zero] pid=1509 /boot/driver/builtin.so
   [misc]
      <misc> pid=1645
         [console] pid=1645 /boot/driver/console.so
         [dmctl] pid=1645 /boot/driver/dmctl.so
         [ptmx] pid=1645 /boot/driver/pty.so
         [i8042-keyboard] pid=1645 /boot/driver/pc-ps2.so
            [hid-device-001] pid=1645 /boot/driver/hid.so
         [i8042-mouse] pid=1645 /boot/driver/pc-ps2.so
            [hid-device-002] pid=1645 /boot/driver/hid.so
   [sys]
      <sys> pid=1416 /boot/driver/bus-acpi.so
         [acpi] pid=1416 /boot/driver/bus-acpi.so
         [pci] pid=1416 /boot/driver/bus-acpi.so
            [00:00:00] pid=1416 /boot/driver/bus-pci.so
            [00:01:00] pid=1416 /boot/driver/bus-pci.so
               <00:01:00> pid=2015 /boot/driver/bus-pci.proxy.so
                  [bochs_vbe] pid=2015 /boot/driver/bochs-vbe.so
                     [framebuffer] pid=2015 /boot/driver/framebuffer.so
            [00:02:00] pid=1416 /boot/driver/bus-pci.so
               <00:02:00> pid=2052 /boot/driver/bus-pci.proxy.so
                  [e1000] pid=4628 /boot/driver/e1000.so
                     [ethernet] pid=2052 /boot/driver/ethernet.so
            [00:1f:00] pid=1416 /boot/driver/bus-pci.so
            [00:1f:02] pid=1416 /boot/driver/bus-pci.so
               <00:1f:02> pid=2156 /boot/driver/bus-pci.proxy.so
                  [ahci] pid=2156 /boot/driver/ahci.so
            [00:1f:03] pid=1416 /boot/driver/bus-pci.so
```

The names in square brackets are devices. The names in angle brackets are
proxy devices, which are instantiated in the "lower" driver host, when process
isolation is being provided. The pid= field indicates the process object
id of the driver host process that device is contained within. The path indicates
which driver implements that device.

Above, for example, the pid 1416 driver host contains the pci bus driver, which has
created devices for each PCI device in the system. PCI device 00:02:00 happens
to be an intel ethernet interface, which we have a driver for (e1000.so).
A new driver host (pid 2052) is created, set up with a proxy device for PCI 00:02:00,
and the intel ethernet driver is loaded and bound to it.

Proxy devices are invisible within the Device filesystem, so this ethernet device
appears as `/dev/sys/platform/pci/00:02:00/e1000`.

### Driver Framework Version 2 (DFv2)
In driver framework version 2, devices are referred to as nodes and the dump of
the tree of nodes will look slightly different:

```sh
$ driver dump
[root] pid=4766 fuchsia-boot:///#meta/platform-bus.cm
   [sys] pid=4766
      [platform] pid=4766
         [pt] pid=4766 fuchsia-boot:///#meta/platform-bus-x86.cm
            [acpi] pid=4766
               [acpi-pwrbtn] pid=4766 fuchsia-boot:///#meta/hid.cm
               [acpi-_SB_] pid=4766
               [acpi-PCI0] pid=4766
               [acpi-ISA_] pid=4766
               [acpi-RTC_] pid=7264 fuchsia-boot:///#meta/intel-rtc.cm
                  [rtc] pid=7264
               [acpi-KBD_] pid=7359 fuchsia-boot:///#meta/pc-ps2.cm
                  [i8042] pid=7359
                     [i8042-keyboard] pid=7359
                     [i8042-mouse] pid=7359
               [acpi-MOU_] pid=4766
               [acpi-COM1] pid=4766
               [acpi-PRES] pid=4766
               [acpi-GPE0] pid=4766
               [acpi-FWCF] pid=4766
               [acpi-S00_] pid=4766
               [acpi-S08_] pid=4766
               [acpi-S10_] pid=4766
               [acpi-S18_] pid=4766
               [acpi-S20_] pid=4766
               [acpi-S28_] pid=4766
               [acpi-S30_] pid=4766
               [acpi-S38_] pid=4766
               [acpi-S58_] pid=4766
               [acpi-HPET] pid=4766
               [acpi-LNKE] pid=4766
               [acpi-LNKF] pid=4766
               [acpi-LNKG] pid=4766
               [acpi-LNKH] pid=4766
               [acpi-GSIE] pid=4766
               [acpi-GSIF] pid=4766
               [acpi-GSIG] pid=4766
               [acpi-GSIH] pid=4766
               [acpi-GFBY] pid=4766
               [acpi-GFEV] pid=4766
               [acpi-GFPP] pid=4766
               [acpi-GFFB] pid=4766
               [acpi-GFAU] pid=4766
               [acpi-GFSK] pid=4766
               [acpi-GFRT] pid=4766
               [acpi-GFRO] pid=4766
               [acpi-CPUS] pid=4766
               [acpi-_TZ_] pid=4766
            [PCI0] pid=4766 fuchsia-boot:///#meta/bus-pci.cm
               [bus] pid=4766
                  [00_00_0] pid=4766
                  [00_00_0_] pid=4766
                  [00_01_0] pid=4766
                  [00_01_0_] pid=4766
                  [00_02_0] pid=4766 fuchsia-boot:///#meta/virtio_block.cm
                     [virtio-block] pid=4766 fuchsia-boot:///#meta/block.core.cm
                        [block] pid=4766 fuchsia-boot:///#meta/fvm.cm
                           [fvm] pid=4766
                              [blobfs-p-1] pid=4766 fuchsia-boot:///#meta/block.core.cm
                                 [block] pid=4766
                              [data-p-2] pid=4766 fuchsia-boot:///#meta/block.core.cm
                                 [block] pid=4766 fuchsia-boot:///#meta/zxcrypt.cm
                                    [zxcrypt] pid=4766
                                       [unsealed] pid=4766 fuchsia-boot:///#meta/block.core.cm
                                          [block] pid=4766
                  [00_02_0_] pid=4766
                  [00_03_0] pid=4766
                  [00_03_0_] pid=4766
                  [00_04_0] pid=4766 fuchsia-boot:///#meta/virtio_ethernet.cm
                     [virtio-net] pid=4766 fuchsia-boot:///#meta/netdevice-migration.cm
                        [netdevice-migration] pid=4766 fuchsia-boot:///#meta/network-device.cm
                           [network-device] pid=4766
                  [00_04_0_] pid=4766
                  [00_05_0] pid=4766
                  [00_05_0_] pid=4766
                  [00_06_0] pid=4766
                  [00_06_0_] pid=4766
                  [00_07_0] pid=4766
                  [00_07_0_] pid=4766
                  [00_0b_0] pid=4766
                  [00_0b_0_] pid=4766
                  [00_1f_0] pid=4766
                  [00_1f_0_] pid=4766
                  [00_1f_2] pid=4766
                  [00_1f_2_] pid=4766
                  [00_1f_3] pid=4766
                  [00_1f_3_] pid=4766
         [00_00_2d] pid=4766 fuchsia-boot:///#meta/ramdisk.cm
            [ramctl] pid=4766
         [00_00_2e] pid=4766
         [00_00_2f] pid=4766 fuchsia-pkg://fuchsia.com/virtual_audio#meta/virtual_audio_driver.cm
            [virtual_audio] pid=4766
         [00_00_30] pid=4766
         [00_00_1b] pid=4766 fuchsia-boot:///#meta/sysmem.cm
            [sysmem] pid=4766
```

The names in square brackets are nodes. The pid= field indicates the process
object id of the driver host process that device is contained within. The URL is
the component manifest of the driver that is bound to the node. Nodes that do
not have a URL do not have a driver bound to them.

repository: gnoliyil/fuchsia

repo_name: gnoliyil/fuchsia


text:
Mcpp
====

A gem to wrap the libmcpp C preprocessor.

Mcpp itself can be found at [http://mcpp.sourceforge.net](http://mcpp.sourceforge.net)

Installation
============

1. Install [mcpp](http://mcpp.sourceforge.net) as a shared library.
1. `gem install mcpp`

[ffi](https://github.com/ffi/ffi) is a requirement, but should be installed
automatically by this gem if not already installed.

Use
===

Mcpp is a very simple wrapper that exposes a single method, `preprocess`,
that expects 0 or more arguments that correspond to the arguments that
you would pass to mcpp if running it on the command line.

The examples are hopefully more enlightening than the previous paragraph was.

The actual arguments that can be passed are identical to those used by the
command line program, and are enumerated in the mcpp man page, or online at
[http://mcpp.svn.sourceforge.net/viewvc/mcpp/trunk/doc/mcpp-manual.html](http://mcpp.svn.sourceforge.net/viewvc/mcpp/trunk/doc/mcpp-manual.html)

Examples
--------

    require 'mcpp'

    # Read from stdin, write to stdout
    Mcpp.preprocess

    # Read from a file, write to stdout
    Mcpp.preprocess '/path/to/file.c'

    # Read from a file, write to another file
    Mcpp.preprocess '/path/to/infile.c', '/path/to/outfile'

    # More arguments
    Mcpp.preprocess '-DSOME_DEFINE', '-N', '-P', '-eutf8', 'relative/path/to/infile.c', 'path/to/outfile.cpp'

repository: xxx/mcpp

repo_name: xxx/mcpp


text:
### KOWbot ###

KOWbot is currently in beta testing. Please report problems when found!
Working :
* user select game window from BlueStacks instances
* automaticaly find play area and scaling
* scaling to any window size
* automaticaly find it Operation Falcon event is available
* automaticaly run Operation Falcon until there is no Fuel
* send the maximum number of scouts according to your HQ
* return to Home/World screen when done

# Install #
* Python 3.7 (https://www.python.org/downloads/release/python-370/)
* please, use a virtual environment (https://mothergeo-py.readthedocs.io/en/latest/development/how-to/venv-win.html)
* pip install -r requirements.txt

# How to #

Open file app.py to run the bot.

Select the appropriate window with the arrows left and right.

Once you found it, press enter. You will be ask to enter your HQ level.

Then, answer 'y' to add more instance or 'n' to execute the current setup.

No other configuration is needed.

At any time you can press

	'ctrl+alt+p' to pause the bot

	'ctrl+alt+x' to exit after the current task

	'ctrl+alt+esc' to exit now

repository: DJMOC/KOWbot

repo_name: DJMOC/KOWbot


text:
# Tests

Tests assume there is a simple static website running on <IP_ADDRESS>:80 (backend).

- haproxy:1.5
- nginx:1.9.4

Tested using ApacheBench, for running the tests, see below.

# Results

These are results on my local machine, your mileage may vary.

*haproxy*

```
Concurrency Level:      10
Time taken for tests:   7.733 seconds
Complete requests:      10000
Failed requests:        18
   (Connect: 0, Receive: 0, Length: 18, Exceptions: 0)
Total transferred:      7057274 bytes
HTML transferred:       4741450 bytes
Requests per second:    1293.19 [#/sec] (mean)
Time per request:       7.733 [ms] (mean)
Time per request:       0.773 [ms] (mean, across all concurrent requests)
Transfer rate:          891.25 [Kbytes/sec] received
```

*nginx*

```
Concurrency Level:      10
Time taken for tests:   7.923 seconds
Complete requests:      10000
Failed requests:        0
Total transferred:      7070000 bytes
HTML transferred:       4750000 bytes
Requests per second:    1262.15 [#/sec] (mean)
Time per request:       7.923 [ms] (mean)
Time per request:       0.792 [ms] (mean, across all concurrent requests)
Transfer rate:          871.43 [Kbytes/sec] received
```

It looks like _haproxy_ is slightly faster. This can be even more boosted when the "check" parameter is dropped from the backend nodes (up to 1348.71 req/s). However, it had a few failures, where nginx seems more stable.

# How-to

## Method

Round-robin

## Build dockers

Alternatively edit and build the dockers yourself.

*haproxy*

```
docker build -t haproxy-benchmark ./haproxy
```

*nginx*

```
docker build -t nginx-benchmark ./nginx
```

## Run dockers

*haproxy*

```
docker run -p 8080:80 -d --name haproxy-benchmark haproxy-benchmark
```

*nginx*

```
docker run -p 8081:80 -d --name nginx-benchmark nginx-benchmark
```

## Start tests

*haproxy*

```
ab -n 10000 -c 10 http://<IP_ADDRESS>:8080/
```

*nginx*

```
ab -n 10000 -c 10 http://<IP_ADDRESS>:8081/
```

repository: safety-mirror/loadbalancer-benchmarks

repo_name: safety-mirror/loadbalancer-benchmarks


text:
# DevOps Bootcamp

### Additional Resources and Misc Reading

### Table of Contents
- Computer Science Degree Resources
- DevOps Bootcamp Resources
- Web Development Bootcamp Resources

#### Computer Science Degree Resources

- Great concise list of minimum CS courses for self-taught softare engineers, [Teach Yorself CS](https://teachyourselfcs.com/).

- This is an awesome collection of FREE online courses that result in the equivalent of a Degree in Computer Science. [Open Source Society University: Computer Science](https://github.com/ossu/computer-science)

#### DevOps Bootcamp Resources

- Oregon State University offers a free online DevOps Bootcamp course. [OSU DevOpsBootcamp](http://devopsbootcamp.osuosl.org/)

#### Web Development Bootcamp Resources

- This great option if you don't have the cash to attend a onsite dev bootcamp, [Free Code Camp](https://www.freecodecamp.org/) offers a free dev bootcamp online. If you are a self starter, then this is a good option.

repository: JessicaGreben/DevOpsBootcamp

repo_name: JessicaGreben/DevOpsBootcamp


text:
# RAML Data Type Expansion

> Often, tools need the full expansion of RAML data types where there are no references. This module gives you a utility tool to expand a given type and create a canonical form.

## Installation

### NPM

```
npm install datatype-expansion
```

### Developer Environment

To run this project and build the different packages for Java or Javascript, you need to install `leiningen`. You can use [homebrew](http://brew.sh/) for that.

```
brew install leiningen
```

## RAML type expanded form

The RAML expanded form for a RAML type, resolves references and fills missing information to compute a fully expanded representation of the type.
The form and the algorithm to compute is [documented here](doc/algorithms.md).

### Usage Clojure

The Clojure interface for the library offers a function to compute the expanded form using the `datatype-expansion.expanded-form/expanded-form` function.
The function accepts an in-memory representation of the RAML type (keywordize) and a map from type names to types with the same representation.
It returns the expanded form.

The following example shows a usage example:

``` clojure
;; A type context with some types definitions
(def types-context {"Songs.Song" {:properties {:title "string"
                                               :length "number"}}
                    "Songs.Album" {:properties {:title "string"
                                                :songs "Songs.Song[]"}}})

(is (= (datatype-expansion.expanded-form/expanded-form (get types-context "Songs.Album") types-context)
       {:type "object"
        :properties
        {"title" {:type "string" :required true}
         "songs" {:type "array"
                  :items {:type "object"
                          :properties
                          {"title"  {:type "string" :required true}
                           "length" {:type "number" :required true}}
                          :additionalProperties true
                          :required true}
                  :required true}}
        :additionalProperties true
        :required true}))
```

### Usage Node.js

The Node.js interface for the library offers the `expandedForm` function to compute the expanded form.
It accepts an in-memory JSON representation of the type, the types mapping and a callback function.
If the invocation succeeds, it will return the expanded form as an argument to the provided callback function.

``` javascript
var tools = require("datatype-expansion");

var typesContext = {"Songs.Song": {"properties": {"title": "string",
                                                 "length": "number"}},
                    "Songs.Album": {"properties": {"title": "string",
                                                   "songs": "Songs.Song[]"}}};
tools.expandedForm(typesContext["Songs.Album"], typesContext, function(err, expanded) {
  // expanded contains the computed expanded form
  //{
  //  "properties": {
  //    "title": {
  //      "type": "string",
  //      "required": true
  //    },
  //    "songs": {
  //      "type": "array",
  //      "items": {
  //        "properties": {
  //          "title": {
  //            "type": "string",
  //            "required": true
  //          },
  //          "length": {
  //            "type": "number",
  //            "required": true
  //          }
  //        },
  //        "additionalProperties": true,
  //        "type": "object",
  //        "required": true
  //      },
  //      "required": true
  //    }
  //  },
  //  "additionalProperties": true,
  //  "type": "object",
  //  "required": true
  //}
  console.log(JSON.stringify(expanded,null,2));
});
```

## RAML type canonical form

The canonical form computes inheritance and pushes unions to the top level of the type structure of an expanded RAML type. It is described in the [documentation section](doc/algorithms.md) of this repository.

### Usage Clojure

The Clojure interface to compute the canonical form is implemented in the `datatype-expansion.canonical-form/canonical-form` function.
The function accepts and expanded RAML type and returns the canonical form for the same type.

``` clojure
;; A type context with some types definitions
(def types-context {"Songs.Song" {:properties {:title "string"
                                               :length "number"}}
                    "Songs.Album" {:properties {:title "string"
                                                :songs "Songs.Song[]"}}})

(-> types-context
    (get "Songs.Song")
    (datatype-expansion.expanded-form/expanded-form types-context)
    datatype-expansion.canonical-form/canonical-form)
```

### Usage Node.js

The Node.js version of the canonical form function is defined in the `canonicalForm` function of the library module.
It accepts a JSON in-memory representation of an expanded RAML type and a callback function. It returns the canonical form or an exception:

``` javascript
var tools = require("datatype-expansion");

var typesContext = {"Songs.Song": {"properties": {"title": "string",
                                                 "length": "number"}},
                    "Songs.Album": {"properties": {"title": "string",
                                                   "songs": "Songs.Song[]"}}};
tools.expandedForm(typesContext["Songs.Album"], typesContext, function(err, expanded) {

   tools.canonicalForm(expanded, function(err, canonical) {
    // canonical contains the computed canonical form
    console.log(canonical);
   });

});
```

## Running tests

Tests for the library can be run for the clojure version using leiningen:

``` shell
$ lein test
```

The JavaScript tests can be run with the following leiningen invocation:

``` shell
$ lein doo node test
```

## Building the NPM package

The ClojureScript code of the library can be packaged as a NPM library using the following leiningen comand:

``` shell
$ lein cljsbuild once default
```

This command will compile the ClojureScript code into JavaScript code that can be published as a NPM package using the provided `packages.json` file.


text:
**breaking changes**

**python 2 incorrectness:**
- `long`
  - when adding two long objects the result is likely to be an `int`
- `method`
  - unbound methods are no longer supported
- The `base` class for all type objects will be `object` even if the base class is not specified

**skulpt api**
- `Sk.builtin.object.prototype.genericGetAttr` -> `Sk.generic.getAttr`
- `Sk.builtin.object.prototype.genericSetAttr` -> `Sk.generic.setAttr`
- `Sk.builtin.typeLookup` removed
- `biginter.js` replaced by the [jsbi](https://github.com/GoogleChromeLabs/jsbi) library
- `Sk.abstr.inherits` removed - inheritance exclusively dealt with by `Sk.abstr.setUpInheritance`
- `Sk.misceval.objectRepr` returns a js string (previously `Sk.builtin.str`)
- `Sk.__future__.python3` becomes the default. Those wishing to use `python2` must define this in the `Sk.configure` object.
- `Sk.abstr.binary_op_`, `Sk.abstr.binary_iop_`, `Sk.abstr.unary_op_` removed - use `Sk.abstr.numberBinOp`, `Sk.abstr.numberInplaceBinOp`, `Sk.abstr.numberUnaryOp` instead.

**slot changes**
*only relevant for those developers and those writing slotfunctions directly - hopefully very few users*
- `mp$length` replaced by `sq$length` in the codebase
- `sq$ass_item`/`sq$ass_slice` replaced with `mp$ass_subscript`
- `nb$nonzero` replaced with `nb$bool` and switch version takes care of mapping the appropriate dunder method.
- `mp$del_subscript` replaced by `mp$ass_subscript` (as per Cpython)
  - deleting vs setting an item is based on the call signature
  - `mp$ass_subscript(key, value)` -> set item
  - `mp$ass_subscript(key)` -> delete item
- If a dunder func is defined on a user defined class then the slot function is guaranteed.
  - e.g. `__len__` defined guarantees `sq$length`.
  - A slot function defined by skulpt in this way throws the appropriate errors and converts the return value to the appropriate object.
  - `sq$length`: `__len__` is called using `Sk.misceval.callsim(OrSuspend)Array`.
  - The result is checked to be an `int` and then converted to `number` since `sq$length` expects a `number`.
- `tp$str` removed from some builtins as per Python 3.8 changes
- If `tp$richcompare` is defined - wrapper functions `ob$eq` etc are created during - this way `Sk.misceval.richCompareBool` need only check for the existance of an `ob$*` slot.
  - in fact - the existance of these slots is guaranteed since they are inherited from `Sk.builtin.object`
- `tp$mro`/`tp$bases` are Js Arrays rather than `Sk.builtin.tuple`
- `tp$str` and `$r` for errors were changed as per Cpython.
- `nb$int_` -> `nb$int`
- `nb$lng` -> `nb$long`
- `nb$float_` -> `nb$float`
- return values for certain slot functions have changed
  - `tp$hash` - should return a javascript number less than `Number.MAX_SAFE_INTEGER` can be postive or negative
  - `nb$index` - should return a javascript number or BigInt (older browsers should be a JSBI BigInt)
  - `tp$richcompare`/`ob$*` - should return a javascript boolean
- `tp$name` was removed from instances of `Sk.builtin.func` and `Sk.buitin.method` in favour of `$name` since it's `tp$name` should be the `type name`

**flags**
- `sk$acceptable_as_base_class` used for some type objects
- `sk$object` every skulpt object will have this flag. An easy way to determine if you have a skulpt object or a javascript object
- `hp$type` all instance of `sk$klass` types
- `sk$prototypical` do we need to walk up the MRO or can we just check the `prototype`
- `sk$builtinBase` the most derived base which is a native skulpt class
- `sk$baseClass` builtin classes that are direct childs of `object`

**other internal changes**
- the use of `numPromoteFunc` was removed for performance improvements in the implementation of `Sk.asbtr.numberBinOp`
  - It was performance beneficial to leave the promoting to the respective `nb$` slots
  - `int` binop slots only deal with instance of `int`
  - `float` binop slots deal with instances of `float` and `int`
  - `complex` binop slots deal with instances of `complex`, `float` and `int`
- since `long` was effectively removed when a number is larger than `Number.MAX_SAFE_INTEGER` it's `.v` value is a `BigInt`. if `BigInt` is not available in the browser then the `JSBI` library is used to replicate `BigInt` functionality.
- `set` and `frozenset` now share much of their implementation
- `collections` module rewritten using new api
- `itertools` module rewritten using new api - these are now type objects rather than instances of `generator`
- `operator` module rewritten using new api
- `math` module adapted to the new api
- `dict` and `set` throw errors if the objects change size during iteration as per Cpython.
  - fully tested
- `Sk.builtin.check*` moved to `src/check.js`
- `number.js` removed
- `numtype.js` removed
- `seqtype.js` removed
- `Sk.builtin.check*` moved to `src/check.js`
- `mp$subscript` should not be called by a js object (see changes in `random.js`)
- `quick$lookup` added to `dict.prototype` which is a fast way to lookup up `str` keys
- `dict.prototype.entries` rather than has values that are `arrays` of key value pairs
- `object.prototype.tp$hash` will no longer add `$savedHash_` to the object - instead it uses a javascript map and assigns objects to a random number less than `Number.MAX_SAFE_INTEGER` rather than incrementing the hash value each time.
- `float.prototype.tp$hash` for integers this will be the same value as `Sk.builtin.int.prototype.tp$hash` for non integers this will be a random number less than `Number.MAX_SAFE_INTEGER`. Previously this was the number rounded down - but this creates a lot of collisions.

**call signatures of builtins**
- `new` is required for (almost) all builtin types
  - 3 exceptions - `Sk.builtin.bool`, `Sk.builtin.none`, `Sk.builtin.NotImplemented`
  - These 3 will always return their respective constant(s) and are thus not required to be used as constructors.
- Restricted parameters for directly accessing a constructor of an `Sk.builtin` type
- assertion failures raised in dev mode if `new` is not used

| type  | params   | notes |
|---|---|---|
| `Sk.builtin.int_`  | `{number| JSBI (bigint)| string| undefined}`  | can also be called with a python object that has `nb$int` defined |
| `Sk.builtin.float_`  | `{number | undefined}`  | can also be called with a python objet that has `nb$float` defined |
| `Sk.builtin.complex`  | `{number, number}`  | |
| `Sk.builtin.list`  | `{Array=}`  | Array of py objects or can be called with a python iterable|
| `Sk.builtin.tuple`  | `{Array=}`  | Array of py objects can be called with a python iterable|
| `Sk.builtin.set`  | `{Array=}`  | Array of py objects or can be called with a python iterable|
| `Sk.builtin.dict`  | `{Array=}`  | key/value pairs - only python objects |
| `Sk.builtin.str`  | `{*}`  | |
| `Sk.builtin.bool`  | `{*}`  | |

**Major changes**
- All type objects are now callable using their respective `tp$call` methods inherited from `Sk.builtin.type`
- All native type objects will require a `tp$new` and `tp$init` method (maybe inherited by `Sk.builtin.object`)
- All type objects are javascript instances of `Sk.builtin.type`
- All single inherited objects follow javascript inheritance
- All native type objects now have the following and replaces the use of `Sk.builtin.func` for all dunder function/methods.
  - `wrapper_descriptors` aka `slot_wrappers`
  - `method_descriptors`
  - `classmethod_descriptors`
  - `getset_descriptors` aka `attributes`/`member_descriptors`
- `Sk.builtin.sk_method` is an alternative to `Sk.builtin.func` and is used by the above `descriptor` types
- mangled names are never passed to the user but instead are an attribute on `Sk.builtin.str` instances as `$mangled`
- `mappingproxy` added
- `$d` removed on all type objects.
- `attributes` of a type object now only appear on the `prototype`. Previously these appeared on both the `type` object and the `prototype`

**Additions**
- `dict`, `set`, `tuple` are suspendable
- `map`, `filter`, `zip`, `reversed`, `enumerate` are suspendable
- `classmethod`, `property`, `staticmethod` have native skulpt implementations
- `super` can now be unbound [see this explanation](https://stackoverflow.com/questions/30190185/how-can-i-use-super-with-one-argument-in-python/30190341#30190341)
- `Sk.builtin.func` objects gain a `qualname` in compile code
- API for building native types
  - `Sk.abstr.buildNativeClass`
- `range_iterator` class added
- `reverse` iterators added for `list`, `dict_views`, `range`
- `|` operator valid for `dict`, `dict_keys`, `dict_items`
- `Couter` has number slots added

**`Sk.abstr.`**
- `objectHash`
- `buildNativeClass`
- `buildIteratorClass`
- `setUpBuiltinMro`
- `setUpMethods`
- `setUpGetSets`
- `setUpSlots`
- `setUpClassMethod`
- `setUpBaseInheritance`
- `setUpModuleMethod`
- `checkNoKwargs`
- `checkNoArgs`
- `checkOneArg`
- `checkArgsLen`
- `copyKeywordsToNamedArgs`

**`Sk.generic.`**
- `getAttr`
- `setAttr`
- `selfIter`
- `new`
- `newMethodDef`
- `iterNextWithArray`
- `iterNextWithArrayCheckSize`
- `iterLengthHintWithArrayMethodDef`
- `iterReverseLengthHintMethodDef`
- `getSetDict`

**`Sk.misceval.`**
- `asIndex` - will return the internal representation of the integer - or undefined if tho indexable - could be a number or a bigint (JSBI) only used
- `asIndexOrThrow` - does `asIndex` but throws an error if the number is not indexable - with an optional message parameter.
- `asIndexSized` - throws an error if the object is not indexable, returns a Number always, Option to throw an error if the index is larger than `Number.MAX_SAFE_INTEGER`. This is the goto method for most buitins now.
- `Iterator` - a python class that easily wraps an iterator
- `arrayFromIterable` - optional canSuspend implementation that returns an array from a python iterator

**`slotdefs.js`**
- contains all the information about mapping slots to dunders and vice versa.

repository: timmartin/skulpt

repo_name: timmartin/skulpt


text:
Cookie
======

A Minecraft Modpack web backend, for creating and managing modpacks!

* [Cookie (Backend)](https://github.com/hedgehog1029/Cookie/)
* [Chip (Frontend)](https://github.com/hedgehog1029/Chip/)

### Contents
- [Introduction](#introduction)
- [Installation](#installation)
- [Copyright + Licensing](#copyright--license)

Introduction
======

##### What is Cookie?

Cookie is a JS and Node-based app that helps you manage Minecraft modpacks. It is made up of two parts, a HTML & JS-based web frontend to provide a clean and easy to use UI, and a NodeJS-based backend to serve the necessary files.

##### How would I use it?

- A simple client program, written in [insert language here] to connect to the backend and download the necessary files will be available at release for manual downloads.
- A custom version of MultiMC5 that can parse JSON to create modpack instances will be available soon after release.

Installation
======

[insert installation details here]
Cookie isn't released yet! When a working version has been written this section will be updated.

Copyright + License
======

Copyright (c) Henry Le Grys 2014
Licensed under MIT.

gha_language: JavaScript


text:
# NYC School Crimes

Check out the finished project [here](http://schools.brianhamilton.me/).

## Installation

1. Download Python and [PostgreSQL](https://www.postgresql.org/).

2. Install the [psycopg2](http://initd.org/psycopg/) and [geopy](https://github.com/geopy/geopy) Python libraries.

3. Set up a local database called **school_data** (or anything you'd like).

4. Clone the repository or download the zip file for this project.

5. Use terminal/cmd/powershell/something similar to navigate to the directory with the files and type the command below. This will build out the local database you've set up.

    ```
    python initialize_db.py
    ```

---

The geocoding and finished output/analysis function calls are commented out for simplicity. Just simply uncomment them to run them. For now, the geocoded coordinates and output files are included in this repository.

In order to run the geocoding API calls youself, you will need to get a Google Maps API key.

The rest of the project, including the source code for the Node.js/React.js, application will be added soon.

repository: hmltnbrn/nyc-school-crimes

repo_name: hmltnbrn/nyc-school-crimes


text:
# SimFeedback-Unity
Unity Library for use with SimFeedback

WIP

SimFeedbackUnityTelemetry contains the telemetry provider code. It also contains a release folder which you can copy into simfeedback.

provider/SFUTelemetryProviderConfig.xml allows you to customise the provider details/images.

SimFeedbackUnity contains the unity project, you can copy the contents of the assets folder into your own project.

Scenes/SampleScene.unity is an example scene, atm it's just a cube with the SFUExample.cs script on it. All it basically does is assign the transform to the SimFeedbackUnity instance and start serving packets over udp.

Both the version of SFUAPI.cs in SimFeedbackUnityTelemetry and the version of SFUAPI.cs in SimFeedbackUnity must match, if you change one update the other and recompile.

There's some work in progress graphs under SFUTelemetry/Graps menu option that allow you to view what is being sent to the provider.

This has not been tested with a motion simulator so the setup in the current profile may have axis reversed, etc...


text:
# Description
To Create a spreadsheet application like Google sheets using Javascript, RxJS, and CSS.

User Requirements:

User should be able to add rows to the spreadsheet using a plus button.
User should be able to add columns to the spreadsheet using a plus button.
User should be able to delete rows on the spreadsheet using a minus button.
User should be able to delete columns on the spreadsheet using a minus button.
User should be able to select multiple rows or columns and display their sum in a cell by using a formula. The formula should be of the format "=SUM(START_CELL:END_CELL)". Example "=SUM(A1:A10)" to display the sum of all items from cell A1 to A10. Any changes to the cell content in the selected range should update the sum.
User should be able to perform simple algebraic operations (+, -, *, /) with cell references. Example "=A1+A2".
User should be able to export the sheet as a CSV file.
User should be able to load a CSV from the node server on clicking a load button.

Technical Requirements:

The goal of this assignment is to learn about JavaScript events & RxJS.
Events for the formula should be implemented using RxJS and buttons can use simple event listeners.
On clearing formula, all subscribers and events should be cleared from the page.
No javascript frameworks should be used except RxJS.
No CSS frameworks should be used.
Should use ES6 syntax.
Should document your code extensively.
Should have .gitignore, ReadMe.md files.
ReadMe.md file should have markdown with project description and instructions to run the project.

STEPS TO RUN -
-> Clone the repo from the respective github using the command - git clone
-> open the assignment6.html file from the repo to launch the web page

## Requirements
-> Have a web browser installed in your machine (chrome,safari..etc)
-> github link

## Technologies Used
    * Javascript
    * RxJS
    * HTML
    * CSS

## License
[MIT License](https://opensource.org/licenses/MIT)