text:
# uploadtool

Super simple uploading of continuous builds (each push) to GitHub Releases. If this is not the easiest way to upload continuous builds to GitHub Releases, then it is a bug.

## Usage

This script is designed to be called from Travis CI after a successful build. By default, this script will _delete_ any pre-existing release tagged with `continuous`, tag the current state with the name `continuous`, create a new release with that name, and upload the specified binaries there. For pull requests, it will upload the binaries to transfersh.com instead and post the resulting download URL to the pull request page on GitHub.

 - On https://github.com/settings/tokens, click on "Generate new token" and generate a token with at least the `public_repo`, `repo:status`, and `repo_deployment` scopes
 - On Travis CI, go to the settings of your project at `https://travis-ci.com/yourusername/yourrepository/settings`
 - Under "Environment Variables", add key `GITHUB_TOKEN` and the token you generated above as the value. **Make sure that "Display value in build log" is set to "OFF"! Also make sure it is only available to your main branch (most of the time, `master`) to avoid leaking it and prevent uploads for any other branches!**
 - In the `.travis.yml` of your GitHub repository, add something like this (assuming the build artifacts to be uploaded are in out/):

```yaml
after_success:
  - ls -lh out/* # Assuming you have some files in out/ that you would like to upload
  - wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
  - bash upload.sh out/*

branches:
  except:
    - # Do not build tags that we create when we upload to GitHub Releases
    - /^(?i:continuous.*)$/
```

It is also possible to use this script with GitHub actions. The `GITHUB_TOKEN` is already available in the main branch but it needs to be passes as an environment variable to the script:

```yaml
- name: Upload files
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  run: |
    set -e
    ls -lh out/* # Assuming you have some files in out/ that you would like to upload
    wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
    bash upload.sh out/*
```

## Environment variables

`upload.sh` normally only creates one stream of continuous releases for the latest commits that are pushed into (or merged into) the repository.

It's possible to use `upload.sh` in a more complex manner by setting the environment variable `UPLOADTOOL_SUFFIX`. If this variable is set to the name of the current tag, then `upload.sh` will upload a release to the repository (basically reproducing the `deploy:` feature in `.travis.yml`).

If `UPLOADTOOL_SUFFIX` is set to a different text, then this text is used as suffix for the `continuous` tag that is created for continuous releases. This way, a project can customize what releases are being created.
One possible use case for this is to set up continuous builds for feature or test branches:
```
  if [ ! -z $TRAVIS_BRANCH ] && [ "$TRAVIS_BRANCH" != "master" ] ; then
    export UPLOADTOOL_SUFFIX=$TRAVIS_BRANCH
  fi
```
This will create builds tagged with `continuous` for pushes / merges to `master` and with `continuous-<branch-name>` for pushes / merges to other branches.

The two environment variables `UPLOADTOOL_PR_BODY` and `UPLOADTOOL_BODY` allow the calling script to customize the messages that are posted either for pull requests or merges / pushes. If these variables aren't set, generic default texts are used.

Set the environment variable `UPLOADTOOL_ISPRERELEASE=true` if you want an untagged release to be marked as pre-release on GitHub.

Note that `UPLOADTOOL*` variables will be used in bash script to form a JSON request, that means some
characters like double quotes and new lines need to be escaped - example: `export UPLOADTOOL_BODY="\\\"Experimental\\\" version.\nDon't use this.\nTravis CI build log: https://travis-ci.com/$TRAVIS_REPO_SLUG/builds/$TRAVIS_BUILD_ID/"`

repository: probonopd/uploadtool

gha_language: Go

repo_name: probonopd/uploadtool


text:
Project based on [ElixirWithGleam](https://github.com/midas-framework/elixir_with_gleam) to add Rustler on top of it.

To compile run

````sh
curl https://sh.rustup.rs -sSf | sh # (Proceed with default install)
mix deps.get
mix compile
````

Then to run

````elixir
iex -S mix
ElixirWithGleam.hello()
:hello.greeting()
RustFFI.add(2, 3)
RustFFI.read_file("README.md")
:hello.read_file_with_gleam("README.md")
````

repository: codec-abc/gleam-mix-rustler

branch_name: refs/heads/master

extension: md

license_type: permissive

repo_name: codec-abc/gleam-mix-rustler


text:
# arxiv-search

This was a project to partially rewrite and extend [arxiv sanity](https://github.com/karpathy/arxiv-sanity-preserver) by [Andrej Karpathy](https://github.com/karpathy) to all of the [arXiv](https://arxiv.org/) and add features such as

* Faceted search
* UI improvements, e.g. infinite scroll
* Elasticsearch as a backend database

We also started rewriting the ingest pipeline to work through Amazon AWS using Lambdas.

Ultimately, we decided to end the project due to time constraints and improvements in the native arxiv interface (see [https://ericphanson.com/blog/2018/arxiv-search/](https://ericphanson.com/blog/2018/arxiv-search/)).

## Build instructions

First time:
```
pip3 install -r requirements.txt
yarn install
```
After that:
```
yarn build
sh ./runserve.sh
```

You can also use `yarn watch` to watch the source files.

## Directories

### `client`

This contains all of the source code to build the static files referenced by the website.

### `static`

This contains the generated static assets of the website. This is generated by calling `yarn build`.

### `server`

The source code to run the server.

### `keys`

You must add a directory `./keys/` containing the following keys:
- `AWS_ACCESS_KEY.txt`
- `AWS_SECRET_KEY.txt`
- `cache_key.txt`
- `log_AWS_ACCESS_KEY.txt`
- `log_AWS_SECRET_KEY.txt`
- `secret_key.txt`
- `ES_USER.txt`
- `ES_LOG_USER.txt`
- `ES_PASS.txt`
- `ES_LOG_PASS.txt`

You must add a directory `./user_db` where the file `as.db` will go to store the user data.

license: MIT

repository: gimseng/arxiv-search

repo_name: gimseng/arxiv-search


text:
# Linux tips

### Unban IP from fail2ban :)
```Bash
fail2ban-client -i
status sshd  # IP in ban list
set sshd unbanip <IP_ADDRESS>
status sshd  # IP not in ban list
```

### Creating SWAP
```Bash
fallocate -l 8G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo "/swapfile   none    swap    sw    0   0">>/etc/fstab
echo "
vm.swappiness = 10
vm.vfs_cache_pressure = 50
">>/etc/sysctl.conf
```

### Linux details info
```Bash
uname -a
cat /etc/os-release
```

repository: itcrab/dev-tips

repo_name: itcrab/dev-tips


text:
# Thor

Thor is a wallet cli & wallet api project which operates on jormungandr network.

WARNING: main purpose of the wallet is testing. Do NOT use it on production.

## Build & Install

In order to build hersir in main project folder run:
```
cd testing/hersir
cargo build
cargo install --path . --force
```

## Quick Start

### CLI

Thor can be used as a wallet cli. It is capable of sending transactions or pull data from node. The simplest usage example is available by using commands:

* register new wallet based on secret key:
`thor wallets import --alias darek --password 1234 secret.file`

* connect to node rest API:
`thor connect https://jormungandr.iohk.io/api`

* use recently created wallet for rest of commands:
`thor wallets use darek`

* sync with the node regarding wallet data:
`thor wallets refresh`

* send transaction:
`thor send tx --ada 5 --address ca1q5srhkdfuxqdm6h57mj45acxcdr57cr5lhddzkrjqyl8mmw62v9qczh78cu -pin 1234`

### API

Thor also allows you to use it as Api to perform any wallet operations from the code:

```
    use thor::{Wallet, FragmentSender, FragmentSenderSetup, FragmentVerifier};

    let receiver = thor::Wallet::default();
    let mut sender = thor::Wallet::default();

    // node bootstrap
    let jormungandr = ...

    let fragment_sender = FragmentSender::from_with_setup(
        jormungandr.block0_configuration(),
        FragmentSenderSetup::no_verify(),
    );

    fragment_sender
        .send_transaction(&mut sender, &receiver, &jormungandr, 1.into())
        .unwrap();

```

## Configuration

Thor api doesn't use any configuration files. However cli uses small cache folder on filesystem (located in: `~/.thor`).
The purpose of this configuration is to store wallet lists as well as secret keys guarded by pass phrase.

### full list of available commands

Full list of commands is available on `thor --help` command.

```
thor 0.1.0
Command line wallet for testing Jormungandr

USAGE:
    thor <SUBCOMMAND>

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    address                 Gets address of wallet in bech32 format
    clear-tx                Clears pending transactions to confirm. In case if expiration occured
    confirm-tx              Confirms successful transaction
    connect                 Sets node rest API address. Verifies connection on set
    help                    Prints this message or the help of the given subcommand(s)
    logs                    Prints entire fragment logs from the node
    pending-transactions    Prints pending transactions (not confirmed)
    refresh                 Pulls wallet data from the node
    send                    Sends fragments to nodes
    status                  Prints wallet status (balance/spending counters/tokens)
    statuses                Prints pending or already sent fragments statuses
    wallets                 Allows to manage wallets: add/remove/select operations
```

repository: input-output-hk/jormungandr

gha_language: Rust

repo_name: input-output-hk/jormungandr


text:
# PINGO - Pivoting off of Jannine's idea - FOR THE LAZY USER

Worst case or mostly used scenario where API keys can explode: on vacation, or you're finally exploring the city.
- 12 - 16 hrs of movement.

Average-case: Saturday - you're going to see a movie in the area, and then a meal.

Best case: you're going to work and back.

## Ideas
1. no process environment variables - how to store secrets?
  - make every user get their own key?
2. optimization: automatic turn on/off after 30 min.

Permissions to give you notifications even when it's off.

Use case: sometimes, when you're on a route that you normally don't go down.

Possibility: widget to turn on/off - but this would make lazy user upset.

Publishers/Subscribers

PUBSUB

OMRI:
You could probably work with a similar kind of idea. For example, instead of just notifying someone that they're close to a place, maybe there could be "publishers" who specify locations and are allowed to trigger certain messages when people get near any of their locations, and "subscribers" who can find various publishers, subscribe to them, and then if they end up in a publisher's radius, something happens

I'm sort of imagining it could be used like radio / youtube / instagram / twitter / news services, but with locality built into it

OMRI:
Omri Bernstein [4:52 PM]
Haha yeah I hope so, cause I've been pretty vague.
Let me provide a random example. Let's say I have a friend Lizzy who is a foodie and likes to share random restaurant recommendations. And that I'd like to hear those recommendations, but she's got like 8000 recommendations. So she would use this app and anytime she wanted to make a recommendation, she'd just have a text + photo post that she geo-tags by the location of that restaurant. Then I use the app and subscribe to her feed. Instead of seeing everything she says all the time, I only see her posts when I'm near where she geo-tagged them. So if I end up in the same neighborhood near a restaurant she recommended, I could see that in her feed (or maybe I'd even get a push notification if / when I get nearby).
So I guess sort of like facebook / twitter, but all the feeds are local?
The example I gave was for text + photos, but video / audio media could also be useful / interesting
And also, it wouldn't have to be _only_ for recommendations. It could be a fun way of geo-caching some random posts for my friends, or texting people the wifi password when they get close to my apartment, or giving a video tutorial to people coming to the ramen shop I own (again which triggers when they get close to that shop)

Note: I do have a foodie friend Lizzy with great food recommendations, but I do not own a ramen shop

What makes this app different from existing apps, and why will people use it?
Centralizes individual locations/stores/people's feeds/advertisements/events

It follows the route of a person throughout the day - so that they wouldn't have to go out of their way for it, but it will provide them insight as to how close things really are.

people's feeds => instagram/recommendations.

Connected to people's social media.

Subscribe to specific stores/locations. i.e. Central Park, Washington Sq. Park

Example:

SUBSCRIBER
- Instant: your friends want to go out for dinner, but you're not familiar with the area. The app will show you your current feed of what's nearby based off your subscriptions of other people/location's publishments.
- On the train: your phone will be notified when you are passing by.
- Notified of different deals - user doesn't normally hunt for deals, but if they are accessible b.c of the pub/sub & user's current location, the user is more likely to go to that location for deals.
- for users who may be in a rush, or normally do not look around their environment. it will look for them.

PUBLISHER
- stores: can promote locally without needing people/signs to express it
  - help gauge interest - (data) are you reaching out to the right people? do you need to change your business model :O
- person's blog: followers/social status - they don't have to look through their site to see what's nearby.
-

repository: the-sarahm-project/local-c-ity

repo_name: the-sarahm-project/local-c-ity


text:
# Url2png::Plus

Generates URL2PNG urls for Ruby projects and integrations with popular web frameworks, like Rails, Sinatra, etc.

## Why `url2png-plus` and not `url2png`?

The `url2png` gem is way more complicated than it needs to be:

1. It tries to be compatible with a bunch of different versions of the url2png HTTP APIs. The client shouldn't worry about this, at least I can't rationalize it.

2. Its insecure out of the box by using the `http` protocol. Configuring the protocol is difficult because the base URL is a "magic string" inside the gem.

3. The project has roughly 1,000 LOC. This project has 40 LOC. That doesn't mean much, but it is less stuff that can break.

This gem only attempts to integrate with the most recent version of URL2PNG, which is v6 at the time of this writing. If URL2PNG upgrades their APIs, this client will be updated to use the new API without any attempt to remain compatible with the old APIs. That burden will be put on using an older version of the gem.

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'url2png-plus'
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install url2png-plus

## Usage

```ruby
url2png = Url2png::Plus::Client.new(api_key: "APIKEY", secret: "SECRET")
# The `URL2PNG_API_KEY` and `URL2PNG_SECRET` environment variables are used as a default.
# for web applications you'd set those and initialize via `Url2png::Plus::Client.new`.
url2png.url "https://www.example.com/rabit.png", viewport: "100x100", fullpage: true
```

That's it. Read URL2PNG docs at https://www.url2png.com/docs to know what parameters you can use.

If you'd like to use in Rails or other web applications, include the helper wherever you need it:

```ruby
class ApplicationController
  include Url2png::Plus::Helper

  # Example implementation in a controller
  def redirect_to_image
    redirect_to url2png_url(request.url, viewport: "1024x768")
  end
end
```

## Configuration

If you need to configure in Rails, create `./config/initializers/url2png.rb` and:

```ruby
Url2png::Plus.config do |c|
  c.api_key = "APIKEY"
  c.secret = "SECRET"
  # Why would you change this to `http`? Defaults to `https`
  c.scheme = "http"
end
```

## Development

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

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

## Contributing

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

## License

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

## Code of Conduct

Everyone interacting in the Url2png::Plus project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/polleverywhere/url2png-plus/blob/master/CODE_OF_CONDUCT.md).


text:
---
title: Soochit
layout: page
---

### Not just another medicine reminder.

## Problem Statement
* It's hard for people to keep a physical folder for their medical prescription history.
* People (like us) are lazy enough to procrastinate setting medicine reminders primarily because they have to do the hard task of manually labelling the reminder, setting the time, and setting the frequency of the medicines.

## Solution

Soochit: a fullly automated e-prescription tracker and medicine reminder.

* The doctor will write digital prescriptions on our app which will be saved on user's profile.
* We will send out automatical reminders for the patients to take their medicines (entirely based off what is written in the prescription.)

## Use Cases

* Patients won't have to set reminders manually. Hence, there is no way for them to procrastinate.
* Patients won't have to keep a physical binder to maintain their medical history.
* Patients won't have to confuse themselves by reading the (mostly incomprehensible) handwriting of the doctor once they forget their medicines, dosage, or timings.

## Unique Selling Point (USP)
it is a medicine reminder app, but you don't have to set reminders for your medicines. 😉

## Getting Started
In order to setup the project locally, check the defined setup instructions [here](/setup-instructions.md).

## Contributors ✨

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

Rachit Gupta
💻 🎨

AB Satyaprakash
💻

Ajitesh Panda
💻

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!

repository: Imperial-lord/MLHPortfolio

gha_language: SCSS

gha_license_id: MIT

repo_name: Imperial-lord/MLHPortfolio


text:
![nginx latest](https://img.shields.io/badge/nginx-latest-brightgreen.svg)[![build status](https://gitlab.com/adi90x/rancher-active-proxy/badges/master/build.svg)](https://gitlab.com/adi90x/rancher-active-proxy/commits/master)  ![License MIT](https://img.shields.io/badge/license-MIT-blue.svg)   [![Docker Pulls](https://img.shields.io/docker/pulls/adi90x/rancher-active-proxy.svg)](https://hub.docker.com/r/adi90x/rancher-active-proxy/)  [![Docker Automated buil](https://img.shields.io/docker/automated/adi90x/rancher-active-proxy.svg)](https://hub.docker.com/r/adi90x/rancher-active-proxy/)

## Rancher Active Proxy

Rancher Active Proxy is an all-in-one reverse proxy for [Rancher](http://rancher.com), supporting Letsencrypt out of the box !

Rancher Active Proxy is based on the excellent idea of [jwilder/nginx-proxy](https://github.com/jwilder/nginx-proxy).

Rancher Active Proxy replace docker-gen by Rancher-gen-rap [adi90x/rancher-gen-rap](https://github.com/adi90x/rancher-gen-rap) ( a fork of the also excellent [janeczku/go-rancher-gen](https://github.com/janeczku/go-rancher-gen) adding some more function )

Rancher Active Proxy use label instead of environmental value.

I would recommend to use latest image from DockerHub or you can use tag versions. Keep in mind that branch are mostly development features and could not work as expected.

### Easy Setup with catalog

Add `https://github.com/adi90x/rancher-active-proxy.git` to your custom catalog list( Rancher > Admin > Settings ).

Then go to catalog and install Rancher Active Proxy !

### Usage

Minimal Params To run it:

    $ docker run -d -p 80:80  adi90x/rancher-active-proxy

Then start any containers you want proxied with a label `rap.host=subdomain.youdomain.com`

    $ docker run -l rap.host=foo.bar.com  ...

The containers being proxied must [expose](https://docs.docker.com/reference/run/#expose-incoming-ports) the port to be proxied, either by using the `EXPOSE` directive in their `Dockerfile` or by using the `--expose` flag to `docker run` or `docker create`.

Provided your DNS is setup to forward foo.bar.com to the a host running rancher-active-proxy, the request will be routed to a container with the rap.host label set.

#### Summary of available labels for proxied containers.

|       Label                |            Description         |
| ---------------------------|------------------------------- |
| `rap.host`                 | Virtual host to use ( several value could be separate by `,` )
| `rap.port`                 | Port of the container to use ( only needed if several port are exposed ). Default `Expose Port` or `80`
| `rap.proto`                | Protocol use to contact container ( http,https,uwsgi ). Default : `http`
| `rap.cert_name`            | Certificat name to use for the virtual host. Default `rap.host`
| `rap.https_method`         | Https method (redirect, noredirect, nohttps). Default : `redirect`
| `rap.le_host`              | Certificat to create/renew with Letsencrypt
| `rap.le_email`             | Email to use for Letsencrypt
| `rap.le_test  `            | Set to true to use stagging letsencrypt server
| `rap.http_listen_ports`    | External Port you want Rancher-Active-Proxy to listen http for this server ( Default : `80` )
| `rap.https_listen_ports`   | External Port you want Rancher-Active-Proxy to listen https for this server ( Default : `443` )
| `rap.server_tokens`    	 | Enable to specify the server_token value per container
| `rap.client_max_body_size` | Enable to specify the client_max_body_size directive per container

#### Summary of environment variable available for Rancher Active Proxy.

|       Label        |            Description         |
| ------------------ | ------------------------------ |
| `DEBUG`            | Set to `true` to enable more output. Default : False.
| `CRON`             | Cron like expression to define when certs are renew. Default : `0 2 * * *`
| `DEFAULT_HOST`     | Default Nginx host.
| `DEFAULT_EMAIL`    | Default Email for Letsencrypt.
| `RAP_DEBUG` 		 | Define Rancher-Gen-Rap verbosity (Valid values: "debug", "info", "warn", and "error"). Default: `info`
| `DEFAULT_PORT` 	 | Default port use for containers ( Default : 80 )
| `SPECIFIC_HOST` 	 | Limit RAP to only containers of a specific host name

#### Quick Summary of interesting volume to mount.

|       Path            |            Description         |
| --------------------- | ------------------------------ |
| `/etc/letsencrypt`    | Folder with all certificates used for https and Letsencrypt parameters
| `/etc/nginx/htpasswd` | Basic Authentication Support ( file should be `rap.host`)
| `/etc/nginx/vhost.d`  | Specifc vhost configuration ( file should be `rap.host`) . Location configuration should end by `_location`

#### Special Attention for standalone containers

Rancher Active Proxy is also able to work for standalone containers on the host it is launch.

There is only one limit to this : You should not use the same host name ( `rap.host` label ) for a standalone container and for a service.

This feature even enable you to proxy rancher-server, just start it with something like that :

`docker run -d --restart=unless-stopped -p 8080:8080 --name=rancher-server -l rap.host=admin.foo.com -l rap.port=8080 -l rap.le_host=admin.foo.com -l<EMAIL_ADDRESS>-l io.rancher.container.pull_image=always rancher/server`

In this case `admin.foo.com` will enable you to acces rancher administration, but it is better to keep port 8080 expose and use `http://foo.com:8080` as the host registration URL.

#### Let's Encrypt support out of box

Rancher Active Proxy is using `certbot` from Let's Encrypt in order to automatically get SSL certificates for containers.

In order to enable that feature you need to add `rap.le_host` label to the container ( you probably want it to be equal to `rap.host`)

And you should either start Rancher Active Proxy with environment variable `DEFAULT_EMAIL` or specify `rap.le_email` as a container label.

If you are developping I recommend to add `rap.le_test=true` to the container in order to use Let's Encrypt stagging environment and to not exceed limits.

#### SAN certificates

Rancher Active Proxy support SAN certifcates ( one certificate for several domains ).

To create a SAN certificate you need to separate hostname by ";" ( instead of "," for separate domains)

`rap.le_host=admin.foo.com;api.foo.com;mail.foo.com`

This will create a single certificate matching : admin.foo.com, api.foo.com, mail.foo.com .
The certificate created will be name `admin.foo.com` but symlink will be create to match all domain.

### Multiple Ports

If your container exposes multiple ports, Rancher Active Proxy will use `rap.port` label, then use the expose port if there is only one port exposed, or default to `DEFAULT_PORT` environmental variable ( which is set by default to `80` ).
Or you can try your hand at the Advanced `rap.host` syntax.

### Advanced `rap.host` syntax

Using the Advanced `rap.host` syntax you can specify multiple host names to each go to their own backend port.
Basically provides support for `rap.host`, `rap.port`, and `rap.proto` all in one field.

For example, given the following:

```
rap.host=api.example.com=>http:80,api-admin.example.com=>http:8001,secure.example.com=>https:8443
```

This would yield 3 different server/upstream configurations...

 1. Requests for api.example.com would route to this container's port 80 via http
 2. Requests for api-admin.example.com would route to this containers port 8001 via http
 3. Requests for secure.example.com would route to this containers port 8443 via https

### Multiple Listening Port

If needed you can use Rancher-Active-Proxy to listen for different port.

`docker run -d -p 8081:8081 -p 81:81  adi90x/rancher-active-proxy`

In this case, you can specify on which port Rancher Active Proxy should listen for a specific hostname :

`docker run -d -l rap.host=foo.bar.com -l rap.listen_http_ports="81,8081" -l rap.port="53" containerexposing/port53`

In this situation Rancher Active Proxy will listen for request matching `rap.host` on both port `81` and `8081` of you host
and route those request to port `53` of your container.

Likewise, `rap.listen_https_ports` will work for https request.

If you are not using port `80` and `443` at all you won't be able to use Let's Encrypt Automatic certificates.

### Specific Host Name

Using environmental value SPECIFIC_HOST you can limit Rancher Active Proxy to containers running on a single host.

Just start Rancher Active Proxy like that : `docker run -d -p 80:80 -e SPECIFIC_HOST=Hostnameofthehost adi90x/rancher-active-proxy`

### Remove Script

Rancher Active Proxy pack an easy script to revoke/delete a certificate.

You can run it : `docker run adi90x/rancher-active-proxy /app/remove DomainCertToRemove`

Script is adding '*' at the end of the command therefore `/app/remove foo` will delete `foo.bar.com , foo.bar.org, foo.bar2.com ..`

Special attention if you are using it with SAN certificates you need to be careful and run it for each domain in the SAN certificate.

Do not forget to delete the label on the container before using that script or it will be recreated on next update.

If you are starting it with Rancher do not forget to set Auto Restart : Never (Start Once)

### Per-host server configuration

If you want to 100% personalize your server section on a per-`rap.host` basis, add your server configuration in a file under `/etc/nginx/vhost.d`
The file should use the suffix `_server`.

For example, if you have a virtual host named `app.example.com` and you have configured a proxy_cache `my-cache` in another custom file, you could tell it to use a proxy cache as follows:

    $ docker run -d -p 80:80 -p 443:443 -v /path/to/vhost.d:/etc/nginx/vhost.d:ro adi90x/rancher-active-proxy

You should therefore have a file `app.example.com_server` in the `/etc/nginx/vhost.d` folder that contain the whole server block you want to use :

```
server {
        server_name app.example.com
        listen 80;
        access_log /var/log/nginx/access.log vhost;

        location / {
                proxy_pass http://app.example.com;
        }
}

```

If you are using multiple hostnames for a single container (e.g. `rap.host=example.com,www.example.com`), the virtual host configuration file must exist for each hostname.
If you would like to use the same configuration for multiple virtual host names, you can use a symlink.

### Per-host server default configuration

If you want most of your virtual hosts to use a default single `server` block configuration and then override on a few specific ones, add a `/etc/nginx/vhost.d/default_server` file.
This file will be used on any virtual host which does not have a `/etc/nginx/vhost.d/{rap.host}_server` file associated with it.

***

The below part is mostly taken from jwilder/nginx-proxy [README](https://github.com/jwilder/nginx-proxy/blob/master/README.md) and modify to reflect Rancher Active Proxy

### Multiple Hosts

If you need to support multiple virtual hosts for a container, you can separate each entry with commas.  For example, `foo.bar.com,baz.bar.com,bar.com` and each host will be setup the same.

### Wildcard Hosts

You can also use wildcards at the beginning and the end of host name, like `*.bar.com` or `foo.bar.*`. Or even a regular expression, which can be very useful in conjunction with a wildcard DNS service like [xip.io](http://xip.io), using `~^foo\.bar\..*\.xip\.io` will match `foo.bar.<IP_ADDRESS>.xip.io`, `foo.bar.<IP_ADDRESS>.xip.io` and all other given IPs. More information about this topic can be found in the nginx documentation about [`server_names`](http://nginx.org/en/docs/http/server_names.html).

### SSL Backends

If you would like the reverse proxy to connect to your backend using HTTPS instead of HTTP
set `rap.proto=https` on the backend container.

### uWSGI Backends

If you would like to connect to uWSGI backend, set `rap.proto=uwsgi` on the backend container.
Your backend container should than listen on a port rather than a socket and expose that port.

### Default Host

To set the default host for nginx use the env var `DEFAULT_HOST=foo.bar.com` for example :

    $ docker run -d -p 80:80 -e DEFAULT_HOST=foo.bar.com adi90x/rancher-active-proxy

### SSL Support

SSL is supported using single host, wildcard and SNI certificates using naming conventions for certificates
or optionally specifying a cert name (for SNI) as an environment variable.

To enable SSL:

    $ docker run -d -p 80:80 -p 443:443 -v /path/to/certs:/etc/nginx/certs  adi90x/rancher-active-proxy

The contents of `/path/to/certs` should contain the certificates and private keys for any virtual
hosts in use.  The certificate and keys should be named after the virtual host with a `.crt` and
`.key` extension.  For example, a container with label `rap.host=foo.bar.com` should have a
`foo.bar.com.crt` and `foo.bar.com.key` file in the certs directory.

If you are running the container in a virtualized environment (Hyper-V, VirtualBox, etc...),
/path/to/certs must exist in that environment or be made accessible to that environment.
By default, Docker is not able to mount directories on the host machine to containers running in a virtual machine.

### Diffie-Hellman Groups

If you have Diffie-Hellman groups enabled, the files should be named after the virtual host with a
`dhparam` suffix and `.pem` extension. For example, a container with `rap.host=foo.bar.com`
should have a `foo.bar.com.dhparam.pem` file in the certs directory.

### Wildcard Certificates

Wildcard certificates and keys should be named after the domain name with a `.crt` and `.key` extension.
For example `rap.host=foo.bar.com` would use cert name `bar.com.crt` and `bar.com.key`.

### SNI

If your certificate(s) supports multiple domain names, you can start a container with `rap.cert_name=<name>`
to identify the certificate to be used.  For example, a certificate for `*.foo.com` and `*.bar.com`
could be named `shared.crt` and `shared.key`.  A container running with `rap.host=foo.bar.com`
and `rap.cert_name=shared` will then use this shared cert.

### How SSL Support Works

The SSL cipher configuration is based on [mozilla nginx intermediate profile](https://wiki.mozilla.org/Security/Server_Side_TLS#Nginx) which
should provide compatibility with clients back to Firefox 1, Chrome 1, IE 7, Opera 5, Safari 1,
Windows XP IE8, Android 2.3, Java 7.  The configuration also enables HSTS, and SSL
session caches.

The default behavior for the proxy when port 80 and 443 are exposed is as follows:

* If a container has a usable cert, port 80 will redirect to 443 for that container so that HTTPS
is always preferred when available.
* If the container does not have a usable cert, a 503 will be returned.

Note that in the latter case, a browser may get an connection error as no certificate is available
to establish a connection.  A self-signed or generic cert named `default.crt` and `default.key`
will allow a client browser to make a SSL connection (likely w/ a warning) and subsequently receive
a 503.

To serve traffic in both SSL and non-SSL modes without redirecting to SSL, you can include the
label  `rap.https_method=noredirect` (the default is `rap.https_method=redirect`).  You can also
disable the non-SSL site entirely with `rap.https_method=nohttp`. `rap.https_method` must be specified
on each container for which you want to override the default behavior.  If `rap.https_method=noredirect` is
used, Strict Transport Security (HSTS) is disabled to prevent HTTPS users from being redirected by the
client.  If you cannot get to the HTTP site after changing this setting, your browser has probably cached
the HSTS policy and is automatically redirecting you back to HTTPS.  You will need to clear your browser's
HSTS cache or use an incognito window / different browser.

### Basic Authentication Support

In order to be able to secure your virtual host, you have to create a file named as its equivalent `rap.host` label on directory
/etc/nginx/htpasswd/`rap.host`

```
$ docker run -d -p 80:80 -p 443:443 \
    -v /path/to/htpasswd:/etc/nginx/htpasswd \
    -v /path/to/certs:/etc/nginx/certs \
    adi90x/rancher-active-proxy
```

You'll need apache2-utils on the machine where you plan to create the htpasswd file.
Or you can use an nginx container to create the file ( using OpenSSL as explained in [Nginx Readme](http://wiki.nginx.org/Faq#How_do_I_generate_an_.htpasswd_file_without_having_Apache_tools_installed.3F) )

`docker run -it nginx printf "Username_to_use:$(openssl passwd -crypt Password_to_use)\n" >> /path/to/htpasswd/{rap.host}`

### Custom Nginx Configuration

If you need to configure Nginx beyond what is possible using environment variables, you can provide custom configuration files on either a proxy-wide or per-`rap.host` basis.

### Replacing default proxy settings

If you want to replace the default proxy settings for the nginx container, add a configuration file at `/etc/nginx/proxy.conf`. A file with the default settings would
look like this:

```Nginx
# HTTP 1.1 support
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Host $http_host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $proxy_connection;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $proxy_x_forwarded_proto;
proxy_set_header X-Forwarded-Port $proxy_x_forwarded_port;

# Mitigate httpoxy attack (see README for details)
proxy_set_header Proxy "";
```

***NOTE***: If you provide this file it will replace the defaults; you may want to check the nginx.tmpl file to make sure you have all of the needed options.

***NOTE***: The default configuration blocks the `Proxy` HTTP request header from being sent to downstream servers.  This prevents attackers from using the so-called [httpoxy attack](http://httpoxy.org).  There is no legitimate reason for a client to send this header, and there are many vulnerable languages / platforms (`CVE-2016-5385`, `CVE-2016-5386`, `CVE-2016-5387`, `CVE-2016-5388`, `CVE-2016-1000109`, `CVE-2016-1000110`, `CERT-VU#797896`).

### Proxy-wide

To add settings on a proxy-wide basis, add your configuration file under `/etc/nginx/conf.d` using a name ending in `.conf`.

This can be done in a derived image by creating the file in a `RUN` command or by `COPY`ing the file into `conf.d`:

```Dockerfile
FROM adi90x/rancher-active-proxy
RUN { \
      echo 'server_tokens off;'; \
      echo 'client_max_body_size 100m;'; \
    } > /etc/nginx/conf.d/my_proxy.conf
```

Or it can be done by mounting in your custom configuration in your `docker run` command:

    $ docker run -d -p 80:80 -p 443:443 -v /path/to/my_proxy.conf:/etc/nginx/conf.d/my_proxy.conf:ro adi90x/rancher-active-proxy

### Per-VIRTUAL_HOST

To add settings on a per-`rap.host` basis, add your configuration file under `/etc/nginx/vhost.d`. Unlike in the proxy-wide case, which allows multiple config files with any name ending in `.conf`, the per-`rap.host` file must be named exactly after the `rap.host`.

In order to allow virtual hosts to be dynamically configured as backends are added and removed, it makes the most sense to mount an external directory as `/etc/nginx/vhost.d` as opposed to using derived images or mounting individual configuration files.

For example, if you have a virtual host named `app.example.com`, you could provide a custom configuration for that host as follows:

    $ docker run -d -p 80:80 -p 443:443 -v /path/to/vhost.d:/etc/nginx/vhost.d:ro adi90x/rancher-active-proxy
    $ { echo 'server_tokens off;'; echo 'client_max_body_size 100m;'; } > /path/to/vhost.d/app.example.com

If you are using multiple hostnames for a single container (e.g. ``rap.host`=example.com,www.example.com`), the virtual host configuration file must exist for each hostname. If you would like to use the same configuration for multiple virtual host names, you can use a symlink:

    $ { echo 'server_tokens off;'; echo 'client_max_body_size 100m;'; } > /path/to/vhost.d/www.example.com
    $ ln -s /path/to/vhost.d/www.example.com /path/to/vhost.d/example.com

### Per-VIRTUAL_HOST default configuration

If you want most of your virtual hosts to use a default single configuration and then override on a few specific ones, add those settings to the `/etc/nginx/vhost.d/default` file. This file
will be used on any virtual host which does not have a `/etc/nginx/vhost.d/{rap.host}` file associated with it.

### Per-VIRTUAL_HOST location configuration

To add settings to the "location" block on a per-`rap.host` basis, add your configuration file under `/etc/nginx/vhost.d`
just like the previous section except with the suffix `_location`.

For example, if you have a virtual host named `app.example.com` and you have configured a proxy_cache `my-cache` in another custom file, you could tell it to use a proxy cache as follows:

    $ docker run -d -p 80:80 -p 443:443 -v /path/to/vhost.d:/etc/nginx/vhost.d:ro adi90x/rancher-active-proxy
    $ { echo 'proxy_cache my-cache;'; echo 'proxy_cache_valid  200 302  60m;'; echo 'proxy_cache_valid  404 1m;' } > /path/to/vhost.d/app.example.com_location

If you are using multiple hostnames for a single container (e.g. `rap.host=example.com,www.example.com`), the virtual host configuration file must exist for each hostname. If you would like to use the same configuration for multiple virtual host names, you can use a symlink:

    $ { echo 'proxy_cache my-cache;'; echo 'proxy_cache_valid  200 302  60m;'; echo 'proxy_cache_valid  404 1m;' } > /path/to/vhost.d/app.example.com_location
    $ ln -s /path/to/vhost.d/www.example.com /path/to/vhost.d/example.com

### Per-VIRTUAL_HOST location default configuration

If you want most of your virtual hosts to use a default single `location` block configuration and then override on a few specific ones, add those settings to the `/etc/nginx/vhost.d/default_location` file. This file
will be used on any virtual host which does not have a `/etc/nginx/vhost.d/{rap.host}` file associated with it.

## Contributing

Do not hesitate to send issues or pull requests !

Automated Gitlab CI is used to build Rancher Active Proxy therefore send any pull request/issues to [Rancher Active Proxy on Gitlab.com](https://gitlab.com/adi90x/rancher-active-proxy/)

repository: airdata/rancher-catalog-xxl

gha_language: Shell

repo_name: airdata/rancher-catalog-xxl


text:
UMN Courses Listing
===============================

A flask app to display and search for UMN courses

Quickstart
----------

Then run the following commands to bootstrap your environment.

    git clone https://github.com/frisk028/flask-app-umn-courses
    pip install virtualenv
    virtualenv courses
    source courses/bin/activate
    cd flask-app-umn-courses
    pip install -r requirements/dev.txt
    python manage.py server

You will see a pretty welcome screen.

Deployment
----------

In your production environment, make sure the ``COURSES_ENV`` environment variable is set to ``"prod"``.

Shell
-----

To open the interactive shell, run ::

    python manage.py shell

By default, you will have access to ``app``.

Running Tests
-------------

To run all tests, run ::

    python manage.py test

repository: mcfriske/flask-app-umn-courses

repo_name: mcfriske/flask-app-umn-courses


text:
# Display Object

* `id` Number - Unique identifier associated with the display.
* `rotation` Number - Can be 0, 90, 180, 270, represents screen rotation in
  clock-wise degrees.
* `scaleFactor` Number - Output device's pixel scale factor.
* `touchSupport` String - Can be `available`, `unavailable`, `unknown`.
* `bounds` [Rectangle](rectangle.md)
* `size` [Size](size.md)
* `workArea` [Rectangle](rectangle.md)
* `workAreaSize` [Size](size.md)

The `Display` object represents a physical display connected to the system. A
fake `Display` may exist on a headless system, or a `Display` may correspond to
a remote, virtual display.

repository: brenca/electron

repo_name: brenca/electron


text:
<!--
title: Serverless - Platform Documentation
menuText: Platform
layout: Doc
menuItems:
  - {menuText: emit, path: /framework/docs/platform/commands/emit/}
  - {menuText: login, path: /framework/docs/platform/commands/login/}
  - {menuText: logout, path: /framework/docs/platform/commands/logout/}
  - {menuText: run, path: /framework/docs/platform/commands/run/}
-->

<!-- DOCS-SITE-LINK:START automatically generated  -->
### [Read this on the main serverless docs site](https://www.serverless.com/framework/docs/platform)
<!-- DOCS-SITE-LINK:END -->

# Serverless Platform (Beta)

The Serverless Platform is currently in experimental beta. If you'd like to participate in the beta, please refer to the [full platform docs.](https://github.com/serverless/platform)

## Beta CLI Commands

Logging in to the platform enables access to beta features of the Serverless framework.

### [`serverless emit`](./commands/emit.md)
Emit an event to an event-gateway.

### [`serverless login`](./commands/login.md)
Register or log in to the platform.

### [`serverless logout`](./commands/logout.md)
Logout of the platform.


text:
[![Build Status](https://travis-ci.org/arjunshukla/hapi-intacct.svg?branch=master)](https://travis-ci.org/arjunshukla/hapi-intacct)
[![Coverage Status](https://coveralls.io/repos/github/arjunshukla/hapi-intacct/badge.svg?branch=master)](https://coveralls.io/github/arjunshukla/hapi-intacct?branch=master)
[![npm version](https://badge.fury.io/js/hapi-intacct.svg)](https://badge.fury.io/js/hapi-intacct)
[![Dependency Status](https://david-dm.org/arjunshukla/hapi-intacct.svg)](https://david-dm.org/arjunshukla/hapi-intacct)
[![devDependency Status](https://david-dm.org/arjunshukla/hapi-intacct/dev-status.svg)](https://david-dm.org/arjunshukla/hapi-intacct#info=devDependencies)
# hapi-intacct
Hapi Plugin for Intacct API's

# Install and Run
Add your .env file first!
```
npm install
npm run start
```

Visit [here](http://localhost:3000/intacct/invoice?query=RAWSTATE%20%3D%20%27A%27%20AND%20PAYPALINVOICEMESSAGE%20not%20like%20%27Invoice%20Sent%20Successfully%27%20AND%20%20WHENCREATED%20%3E%20%277%2F31%2F2017%27)

For now you can pass any URL encoded string as query parameter.  The above link is the query we had in the other application.  It has no invoices because of the WHENCREATED.  This [one](http://localhost:3000/intacct/invoice?query=RAWSTATE%20%3D%20%27A%27%20AND%20PAYPALINVOICEMESSAGE%20like%20%27Invoice%20Sent%20Successfully%27) will get you some invoices.

# Usage

See test/server.ts file

repository: arjunshukla/hapi-intacct

gha_language: TypeScript

repo_name: arjunshukla/hapi-intacct


text:
# Harry Potter Characters Search Engine WebApp

This is a Harry Potter Characters Search Engine WebApp.

## Getting started

You don't need to clone or install this repo to play. Just click on the following link [Harry Potter Characters Search Engine](#) and have fun!

## Contributing

You are more than welcome to contribute to this code with any new ideas and/or suggestions. This is done to learn, the more it grows the better! :)

## Technology

This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
It also uses [Front-awesome library for React](https://fontawesome.com/how-to-use/on-the-web/using-with/react).

### Components workflow diagram

![DIAGRAM](/src/images/HarryPotterWebApp-diagram_v02.png)
[link to diagram](https://creately.com/diagram/jw3pl27b1)

## License

This project is licensed under the [MIT License](https://en.wikipedia.org/wiki/MIT_License).

## Useful resources for this project (vanilla JavaScript)

### - Technically

- [Labels and a11y](https://a11yproject.com/posts/how-to-hide-content/)
- [Replace vertical scroll with horizontal](https://stackoverflow.com/questions/47443850/replace-vertical-scroll-by-horizontal-scroll-vanilla-javascript)
- [Flex-basis transition](https://codepen.io/thomas-eilermann/pen/grjEjE)
- [Using Web Fonts](https://www.w3schools.com/css/css3_fonts.asp)
- [more here](https://www.balbooa.com/knowledgebase/32-documentation-faq-joomla/176-how-to-add-custom-font-to-website-through-fontface)
- [CSS Animations](http://leaverou.github.io/animatable/)
- [React transitions](https://blog.jakoblind.no/react-animation-example/)
- [Front-awesome for React](https://fontawesome.com/how-to-use/on-the-web/using-with/react)
- [React cheatsheet](https://fontawesome.com/cheatsheet?from=io)

### - Visually

- [horizontal display](https://digitaldosis.com/works)

## Authors

- Original idea: **Adalab** | [Github](https://github.com/Adalab) | [website](http://adalab.es/) |
- Development and variations: **Carmen Torrecillas** | [Github](https://github.com/) | [Twitter](https://twitter.com/carmen_TM_) |

---

## TODO List (general)

- [x] Set up the project, installing react, react router and node sass
- [x] Configure GitHub Page
- [x] Create project architecture (components and workflow)
- [x] Fetch API and get data
- [x] Render characters from API
- [x] Add detail page
- [x] Create filter section with controlled components (from App state)
- [x] Make filters logic
- [x] Add components diagram
- [x] Styles, favicon, fonts etc
- [x] Update components diagram with last version
- [x] Review code and clean
- [x] Clean README

## TODO List (extra)

- [x] Improve loading component
- [] Try more filters (for example: families with checkboxs)
- [] Improve filter logic (if no results, show a message)
- [] Buttons for next/prev character
- [] Mediaqueries for mobile size (simple flex, not horizontal scroll)
- [] Implement Modules CSS
- [] Link images from [Harry Potter wiki](https://harrypotter.fandom.com/wiki/Main_Page) or similar.

gha_language: HTML


text:
Open popover datepicker by press the <kbd>Spacebar</kbd> or click on the icon

#### Events

`focus`, `blur` event emitted

`date-change` custom event emitted when the control lose focus or if the `readonly` attribute is set and the date is selected using the date picker

repository: vikignt/svelte-mui

gha_language: Svelte

repo_name: vikignt/svelte-mui


text:
# Talend74Base
Talend 7.4 base docker image. This installs the Talend runtime on a Centos 7 image.
Can be used as a base to build other images.

Download and copy the TOS_ESB-20201110_1014-V7.4.1M4.zip file from the Talend website before building this.

branch_name: refs/heads/main


text:
# Playing Minecraft with behavioural cloning
This repository contains the final ranked submission of UEFDRL team to the [MineRL 2019 challenge](https://www.aicrowd.com/challenges/neurips-2019-minerl-competition),
reaching fifth place.

Long story short: Behavioural cloning on the provided dataset, _i.e._ predict what actions humans would take. No RNNs.

See this paper for full details: [Playing Minecraft with Behavioural Cloning](https://arxiv.org/abs/2005.03374).

## Contents

Code is in the submission format, and can be ran with the instructions at [submission template repository](https://github.com/minerllabs/competition_submission_starter_template).
`requirements.txt` contains Python modules required to run the code, and `apt.txt` includes any Debian packages required (used by the Docker image in AICrowd evaluation server).

The core of our submission resides in `train_keras_imitation.py`, which contains the main training loop.

## Running

[Download](http://minerl.io/dataset/) and place MineRL dataset under `./data`. Alternatively point environment variable `MINERL_DATA_ROOT` to the downloaded dataset.

Run `train.py` to train the model. Afterwards run `test.py` to run the evaluation used in the AICrowd platform. This code prints out per-episode rewards.

After 200 games, the average episodic reward should be around 10-13. The results very from run-to-run, and we also
noticed our local evaluations having consistently lower score than on AICrowd platform (achieved +15 results).

repository: Miffyli/minecraft-bc

gha_language: Python

repo_name: Miffyli/minecraft-bc


text:
---
# Display name
title: Eric Heiden

# Username (this should match the folder name)
authors:
- admin

# Is this the primary user of the site?
superuser: true

# Role/position
role: Research Scientist

# Organizations/Affiliations
organizations:
- name: NVIDIA
  url: "https://www.nvidia.com"

# Short bio (displayed in user profile at end of posts)
bio: My research interests include autonomous robots, simulators, and motion planning.

interests:
- Robot learning
- Physics simulators
- Autonomous robots
- Task and Motion Planning

education:
  courses:
  - course: PhD Computer Science
    institution: University of Southern California
    year: 2022
  - course: MSc Computer Science (Intelligent Robotics)
    institution: University of Southern California
    year: 2017
  - course: BSc Computer Science
    institution: University of Rostock, Germany
    year: 2015

# Social/Academic Networking
# For available icons, see: https://sourcethemes.com/academic/docs/widgets/#icons
#   For an email link, use "fas" icon pack, "envelope" icon, and a link in the
#   form<EMAIL_ADDRESS>or "#contact" for contact widget.
social:
- icon: envelope
  icon_pack: fas
  link: '#contact'  # For a direct email link, use<EMAIL_ADDRESS>- icon: google-scholar
  icon_pack: ai
  link: https://scholar.google.com/citations?user=iWmtv7gAAAAJ
- icon: github
  icon_pack: fab
  link: https://github.com/eric-heiden
- icon: twitter
  icon_pack: fab
  link: https://twitter.com/eric_heiden
- icon: linkedin
  icon_pack: fab
  link: https://www.linkedin.com/in/eheiden
# Link to a PDF of your resume/CV from the About widget.
# To enable, copy your resume/CV to `static/files/cv.pdf` and uncomment the lines below.
# - icon: cv
#   icon_pack: ai
#   link: files/cv.pdf

# Enter email to display Gravatar (if Gravatar enabled in Config)
email: ""

# Organizational groups that you belong to (for People widget)
#   Set this to `[]` or comment out if you are not using People widget.
user_groups:
- Researchers
- Visitors
---

I am a research scientist at NVIDIA, working on physics simulators and their applications in robotics.
My research is focused on reducing the sim2real gap. I am investigating simulators as semantic models of the world that can be updated from measurements. Such models are parameterized by physically meaningful variables and can enable robots to perform complex tasks.

I obtained my Ph.D. degree in Computer Science from the [University of Southern California (USC)](http://www.usc.edu") advised by [Gaurav Sukhatme](http://robotics.usc.edu/~gaurav/) and was supported by a [Google PhD Fellowship](https://ai.googleblog.com/2020/10/announcing-2020-google-phd-fellows.html). I received a Master's degree from USC, and a Bachelor's degree from the [University of Rostock](https://www.uni-rostock.de/) (Germany).

repository: eric-heiden/academic-website

repo_name: eric-heiden/academic-website


text:
vim-node-syntax
===============

additional JavaScript/TypeScript syntax highlight for Node.js

## How to use
### using pathogen
Install [pathogen](https://github.com/tpope/vim-pathogen).
Then download or git clone this repository to your bundle directory:

	cd ~/.vim/bundle && \
	git clone git@github.com:peecky/vim-node-syntax.git

### manual install
Download [syntax files](https://github.com/peecky/vim-node-syntax/tree/master/syntax) to somewhere.
Then add the followings to your `.vimrc`

	autocmd Syntax javascript source ~/.vim/node/javascript.vim
	autocmd Syntax typescript source ~/.vim/node/typescript.vim

where `~/.vim/node/` is the path you downloaded the files.

### TypeScript
Because the syntax of TypeScript is not pre-installed to vim, you should also install [leafgarland/typescript-vim](https://github.com/leafgarland/typescript-vim).

repository: peecky/vim-node-syntax

repo_name: peecky/vim-node-syntax


text:
# phpcs sniffs for Magento

Based off the Zend standards, plus some logical inclusions like:

 - Ensuring proper indentation and line endings
 - Disallowing temporary debug functions and commented-out code
 - etc.

repository: colinodell/phpcs-magento

repo_name: colinodell/phpcs-magento


text:
---
layout: default
---

# 1997-01-27 - (Fwd) Just Say No to Telcom "Reform"

## Header Data

From: "Ross Wright"<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash: 066e48542ee384e6d5b32b8277490aabac375b762a95cc52526bf5d2f8938bde

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1997-01-27 01:00:15 UTC

Raw Date: Sun, 26 Jan 1997 17:00:15 -0800 (PST)

## Raw message

```
{% raw  %}From: "Ross Wright"<EMAIL_ADDRESS>Date: Sun, 26 Jan 1997 17:00:15 -0800 (PST)
To<EMAIL_ADDRESS>Subject: (Fwd) Just Say No to Telcom "Reform"
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

Thought this might interest you guys.

------- Forwarded Message Follows -------
Date:          Sun, 26 Jan 1997 13:00:14 -0800 (PST)
From:          Audrie Krause<EMAIL_ADDRESS>Subject:       Just Say No to Telcom "Reform"
To<EMAIL_ADDRESS>
* * * * * * * * * * * * * * * * * * * * * * * * *
ACTION ALERT     Please re-post where appropriate
* * * * * * * * * * * * * * * * * * * * * * * * *

Dear Friends,

On February 8, the first anniversary of the Telecommunications Reform
Act of 1996, NetAction and the Center for Educational Priorities are
launching a month-long Internet demonstration to call attention to the
wide gap between the rhetoric and reality of this sweeping
legislation.

President Clinton and Congress promised the American people that
enactment of the Telecommunications Reform Act would lead to a
cornucopia of technological innovations that would change the nation's
cultural frontiers, expand our choices, dazzle our eyes, and inform
our minds.  Instead, we've been censored in cyberspace, subjected to
TV ratings systems, and prevented from experiencing the benefits of a
truly competitive marketplace by the emergence of "cartels" created by
mega-mergers in the telecommunications and media industries.

This is not reform!  And it's not too late to demand that our decision
makers deliver on what they promised us on February 8, 1996: MORE
competition, MORE consumer choices, MORE widespread access to
information technology.

The Center for Educational Priorities and NetAction are spearheading
this demonstration in an effort to pressure the Federal Communications
Commission and other state and national regulatory agencies to ensure
that the Act is implemented in a way that truly benefits the public.
We invite you to join this effort by linking to the site at
<http://www.cep.org/protest.html> for one month beginning on February
8.  By linking to the protest site, you will be adding your voice to a
united demand for true telecommunications reform.

The site is currently under development.  When completed, it will
feature brief summaries of the impact the Act has had in its first
year on telecommunications and technology policy, media ownership and
content, and censorship, along with suggested actions to help ensure
that implementation of the Act truly benefits the public.  We are also
creating extensive links to other organizations working on these
issues, as well as to other sites with current information on
censorship, mega-mergers, universal service, school hook-ups, and the
v-chip. We welcome suggestions for additional links to add.

Please let us know if you will participate in the demonstration by
contacting NetAction, by email at<EMAIL_ADDRESS>or by phone at
415-775-8674. Thanks!

=-=-=-=-=-=-
Ross Wright
King Media: Bulk Sales of Software Media and Duplication Services
http://www.slip.net/~cdr/kingmedia
Voice:<PHONE_NUMBER>

{% endraw %}
```

## Thread

+ Return to [January 1997](/archive/1997/01)

+ Return to<EMAIL_ADDRESS>(Dr.Dimitri Vulis KOTM)](/authors/dlv_at_bwalk_dm_com_dr_dimitri_vulis_kotm_)"
+ Return to "["Ross Wright" <rwright@adnetsol.com>](/authors/ross_wright_rwright_at_adnetsol_com_)"
+ Return to "[Toto <toto@sk.sympatico.ca>](/authors/toto_toto_at_sk_sympatico_ca_)"

+ 1997-01-27 (Sun, 26 Jan 1997 17:00:15 -0800 (PST)) - (Fwd) Just Say No to Telcom "Reform" - _"Ross Wright"<EMAIL_ADDRESS>  + 1997-01-27 (Sun, 26 Jan 1997 19:33:47 -0800 (PST)) - [Re: (Fwd) Just Say No to Telcom "Reform"](/archive/1997/01/2b0a6395cf5fcbc0c733c2550a1211b523b39e0ff46cf4ed5b450ef138869e08) - _Toto<EMAIL_ADDRESS>    + 1997-01-27 (Sun, 26 Jan 1997 19:50:27 -0800 (PST)) - [Re: (Fwd) Just Say No to Telcom "Reform"](/archive/1997/01/e29fa3301f3d4ea4e08f9c3e3fde24b7b5715fe5bd2719eff04f03d00c05284e) -<EMAIL_ADDRESS>(Dr.Dimitri Vulis KOTM)_


text:
[![Build status](https://ci.appveyor.com/api/projects/status/so4anml73ut5cjnp?svg=true)](https://ci.appveyor.com/project/christaylorcodes/webrootunity)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/5a6a2b309d3c4e71a1ef28021fcd58f3)](https://www.codacy.com/manual/christaylorcodes/WebrootUnity?utm_source=github.com&utm_medium=referral&utm_content=christaylorcodes/WebrootUnity&utm_campaign=Badge_Grade)
[![Gallery](https://img.shields.io/powershellgallery/v/WebrootUnity?label=PS%20Gallery&logo=powershell&logoColor=white)](https://www.powershellgallery.com/packages/WebrootUnity)

![Webroot](https://www-cdn.webroot.com/9614/7500/7505/brand-page-webroot-secureanywhere-logo-green.png)

## This is a PowerShell wrapper for the [Webroot Unity REST API](https://unityapi.webrootcloudav.com/Docs/en/APIDoc)

This module makes it easy to leverage PowerShell to automate tasks in Webroot's online services and can be easily installed from the [PowerShellGallery](https://www.powershellgallery.com/packages/WebrootUnity)

> `Install-Module 'WebrootUnity'`

The Wiki has some great information on [how to get started](https://github.com/christaylorcodes/WebrootUnity/wiki/Getting-Started---Authentication) with the module.

See [WebrootUnity_Functions](WebrootUnity_Functions.md) for a list of commands available in this module.

Checkout the [Examples](https://github.com/christaylorcodes/WebrootUnity/tree/master/Examples) folder to see other ways to use the module.

## [Contributing](CONTRIBUTING.md)

If you use this project please give it a star and follow so you can get updated when new features are released. This also lets me know what projects are getting used and what ones I should dedicate more time to. If you want to get more involved please see the [contributing page](CONTRIBUTING.md). Projects need all kinds of help even if you don't know how to code.

Want to share something you created using the module? Submit it to be featured as a Community Package.

## [Donating](https://paypal.me/ChrisTaylorCodes)

If you cant take time to contribute maybe you would like to help in other ways.

It takes time to maintain this project. Does the time spent on this module help you do cool things? Is that time worth a beer or two?

[Donations](https://paypal.me/ChrisTaylorCodes) allow me to spend more time on this project and implement your feature requests.

| BTC                                                                                | ETH                                                                                |
| ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------ |
| ![bc1qtfghmwqa6tshkpf03nsjlf40a6vahwg2n4vvqv](./Donate/BTC.png "bc1qtfghmwqa6tshkpf03nsjlf40a6vahwg2n4vvqv") | ![0x4aDC4F156D0A285ac9FB8C9Bd1513fe64FE35F1B](./Donate/ETH.png "0x4aDC4F156D0A285ac9FB8C9Bd1513fe64FE35F1B") |
| `bc1qtfghmwqa6tshkpf03nsjlf40a6vahwg2n4vvqv`                                                                 | `0x4aDC4F156D0A285ac9FB8C9Bd1513fe64FE35F1B`                                                                 |

repository: Nerdshade/WebrootUnity

repo_name: Nerdshade/WebrootUnity


text:
# uglify-es-brunch

A fork of the official [uglify-js-brunch](https://github.com/brunch/uglify-js-brunch)
that depends on [uglify-es](https://www.npmjs.com/package/uglify-es) instead of
the uglify-js@{2,3} packages by default.

This repository has no useful purpose (like many js repos) except that it is configured
slightly differently.  Instead of using this repository, you should use the updated
version of uglify-js-brunch when it is [released](https://github.com/brunch/uglify-js-brunch/pull/41),
and then specify the appropriate version of uglify-js in your `package.json`.

## License

The MIT License (MIT)

Copyright (c) 2012-2017 Paul Miller (http://paulmillr.com)

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

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

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

repository: rapiditynetworks/uglify-es-brunch

gha_language: JavaScript

repo_name: rapiditynetworks/uglify-es-brunch


text:
# total-release-cli [![Build Status](https://travis-ci.org/CodeDotJS/total-release-cli.svg?branch=master)](https://travis-ci.org/CodeDotJS/total-release-cli)

> CLI tool to find the total releases of a node package available on npm.

## Install

```
$ npm install --global total-release-cli
```

## Usage

```
 Usage: total-release <package-name>

 Example:
   $ total-release express

```

## Related

- __[`total-release`](https://github.com/CodeDotJS/total-release)__ `: API for this tool.`

- __[`packstat`](https://github.com/CodeDotJS/packstat-cli)__ `: Displays metrics about npm modules from command line.`

- __[`packages-by`](https://github.com/CodeDotJS/packages-by-cli)__ `: Fetch total packages published by a npm user.`

- __[`curver`](https://github.com/CodeDotJS/curver-cli)__ `: Easily fetch the latest version of node module available on npm.`

## License

MIT © [Rishi Giri](http://rishigiri.com)

repository: CodeDotJS/total-release-cli

repo_name: CodeDotJS/total-release-cli


text:
# json-log-preview

_Note: This is experimental software and has not been extensively tested in production environments!_

This is a utility web app for near-real-time previewing of structured JSON logs.
It is currently designed to consume output from applications which use the
[pino](https://github.com/pinojs/pino) library, but support for arbitrary structured
JSON log formats is planned.

_Screenshot – Log overview panel:_

![Screenshot of json-log-preview](./doc/screenshot-1.png "Screenshot of json-log-preview")

_Screenshot – Log entry details view:_

![Screenshot of json-log-preview](./doc/screenshot-2.png "Screenshot of json-log-preview")

The utility runs on Node.js, and uses websockets to stream log information to a locally running web interface.

## Installation (WIP)

Publishing this package is currently work-in-progress. In the meanwhile, you can run the following commands to install it locally:

```shell
$ git clone https://github.com/aarokorhonen/json-log-preview
$ cd json-log-preview
$ yarn install
$ yarn workspace frontend run build
$ yarn global add file:$PWD
```

The last command adds it to your yarn global workspace, and then it should be available by just running `json-log-preview`. Alternatively if you dont want it in global PATH, you can skip the last command and run it directly with node (`node ~/path-to/json-log-preview`).

## Usage

This app consumes input from the stdin stream, so setup a pipe for the log-producing app (use `cat` or `tail -f` if your logs are in a file).

By default, the app will be served at [http://localhost:3001](http://localhost:3001). This can be modified by specifying the `PORT` environment variable.

Using the sidebar controls, you can filter the log entry view by log level, or by the `package` field of JSON objects.

As long as you remain scrolled to the bottom of the log panel, the view will auto-follow
to scroll down to new log entries as they appear.

For convenience, this app also forwards stdin to stdout, you can also see all log entries in your terminal in addition to the web interface. You can also pipe them to other utilities.

## Some planned features

-   [ ] Full documentation with usage
-   [ ] Support for arbitrary JSON log formats (field names, loglevels etc.)
-   [ ] Publish package
-   [ ] Improved JSON field discovery for setting filters
-   [ ] Support for `jq`-style syntax for filter expressions
-   [ ] Automatic test suite
-   [ ] Improved JSON viewing experience
-   [ ] Responsive design
-   [x] Binary usage support
-   [x] Full-text search as a filter
-   [x] Graceful handling of app shutdown
-   [x] Hide log entry details behind modal view by default
-   [x] Performance improvements (heavy logging will eventually result in huge DOM and slow down this experimental version of the app, so don't forget to shut it down after use!)
-   [x] Optional page auto-scroll
-   [x] Per-component health checks

Etc.

repository: jussimalinen/json-log-preview

repo_name: jussimalinen/json-log-preview


text:
# Changelog

## 0.1.3

- Allow angular 6

## 0.1.2

- Fix type of `off` to fix crash when destroying component in DDC.
- Dart fmt

## 0.1.1

- Add `build.yaml` file so theme css files are included in build.

## 0.1.0

- Upgrade to dart 2 and angular 5

## 0.0.6

- Upgrade to angular 4.0.0

## 0.0.5

- Update README

## 0.0.3

- Split example out of main repo

## 0.0.1

- Initial version, created by Stagehand


text:
# donatetohospitals-web
The main webapp project for [donatetohospitals.com](https://donatetohospitals.com)

DonateToHospitals.com will be where normal people who have stocked excess medical supplies beyond their needs will be able to donate those supplies to hospitals that need them to save lives while facing covid19

Architecture
-
- Will be a single server-rendered golang webapp to start
- `SUPPLIERS` (everyday people probably) will submit information about what supplies they have
- No authentication or sessions. People simply input their email address along with what items they have and we email them when there is a match
- We will manually match users to hospitals on our end for now

Collaboration
-
- Github for code
- [Github project board](https://github.com/donatetohospitals/donatetohospitals-web/projects/1) and issues for project management
- [Discord for chatter](https://discord.gg/tbAmwZR) This is the best starting place to see how you can chip in

Stack
-
- golang for language
- http/template for templates
- `chi`
- postgres for db
- aws s3 for media
- digitalocean for hosting
- nginx
- cloudflare
- fastmail for email UI

Application
-

Schema
-
- `SUPPLIERS` - These will be batches of `ITEMS` a user has
```
ID
EMAIL: string (kept private, only used to contact when matched with hospital)
SUPPLIER_ID: foreign key
STATE: int (will arbitrarily assign an int 1-50 to each state)
IMAGE_URL: string
```
- `ITEMS` - This is an individual type of item a supplier has (gloves, masks, etc)
```
COUNT: int
TITLE: string
SUPPLIER_ID: foreign key
```

Hospitals won't even be in the db for now. We will correspond with them via email and do matching with `SUPPLIERS` by state manually.
We must identify that they're legit, what supplies they need, and where/how they'd like it to be sent or dropped off

Landing page
 -
- Jumbotron explains what it is. Name and single sentence should explain it

- Two big buttons
1. I HAVE SUPPLIES - This goes to flow (A)
2. I AM HOSPITAL STAFF - this goes to flow (B)

- A list of the most recent 5-10 submitted `SUPPLIERS` (looks like a twitter feed)

A1 - supplier submission form. Includes email, state. If international go to (A2)

A2 - Form where the user enters their email and country to be notified if donatetohospitals.com is
added to their country

B1 - The hospital is directed to the contact email and guided on what information we need to start getting them supplies

repository: nopestack/donatetohospitals-web

repo_name: nopestack/donatetohospitals-web


text:
## Kula Hapa Website
[Project site]( https://yonkokilasi.github.io/kulahapa)

##Contributors:
* [Philip Mutua](https://github.com/pmutua)-Product Owner/Software Engineer
* [Collins Mwiti ](https://github.com/collinsmwiti)-Scrum Master/Software Engineer
* [Marcelline Guto](https://github.com/gmercylyne2)-Software Engineer
* [Yonko Kilasi](https://github.com/Yonkokilasi)-Software Engineer

## Description
Ever been to a restaurant or hotel and you struggled to get a menu . Well we have to and that is what lead to the creation of Kula Hapa.
What we aim to do is eliminate the use of hard copy menu's . We believe that in this ever advancing digital world Analog Menu's have no place in it. Kula Hapa also supports going green thus we aim to protect trees as Menu's will no longer need to be printed.
Even though some food establishments alreadt have digital menu's , we feel that is a hastle for an end-user to download the menu for each establishment.That is a lot of work in a world where everything is a click away.
## How it Works
In Kula Hapa we have the menu's for all the food establishments that have partnered with us.The twist comes in whereby you can only access the menu of the establishment while you are in the establishment.That way all you need to do is connect to the establishment's wifi and you will have the menu in seconds.

### Technologies Used
* HTML
* CSS
* Bootstrap
* Javascript

## Setup and Installation
Make sure you have git installed. On the terminal, navigate to your workspace directory and run

```bash
$ git clone https://github.com/Yonkokilasi/kulahapa.git

```
## Contributing
pull requests are encouraged

## Contact us for any information
* Philip<EMAIL_ADDRESS>* Collins<EMAIL_ADDRESS>* Marcelline<EMAIL_ADDRESS>* Yonko<EMAIL_ADDRESS>

## License
This project is released under the [MIT License](./LICENSE.md)

repository: Yonkokilasi/kulahapa

repo_name: Yonkokilasi/kulahapa


text:
zonesync
========

## Description
Syncing zone between 2 systems for cold standby

## Prerequisites

* Passwordless ssh root access

## Example crontab entry

   0 7 * * * /usr/bin/zonesync "zone" "remote system"

repository: swestdijk/zonesync

repo_name: swestdijk/zonesync


text:
# SpeechTest App

A Typescript React app that checks if your pronunciation of a language is understandable.
Supports a large variety of languages.
Built as an experience to test the latest WebAudio API features available to modern browsers.
Built with React 16 and Typescript and bundled with Rollup.

## Demo

Available here

## Getting Started

```bash
git clone git@github.com:andregoncalves/react-speech-test-app.git
cd react-speech-test-app
git remote rm origin
```

# Install dependencies

```bash
npm install
```

# Developing

```bash
npm run start
```

# Linting

```bash
npm run lint
```

# Production

```bash
npm run build
```

repository: andregoncalves/react-speech-test-app

repo_name: andregoncalves/react-speech-test-app


text:
+++
title = "Currency Converter"
pagetitle = "Currency Converter"
description = "Converter plugins"
icon = "fa-exchange"
weight = 4
alwaysopen = false
+++

Currency converter is an optional plugin and permits to apply currency conversion over all the prices in one Option.

## CurrencyX

This plugin receives an Option and a currency and returns the same option with currency conversion applied over all the prices. It reads the information about rates from a file allocated in our ftp, is mandatory that this file exists in the ftp and satisfy all the requirements below. In other cases, an error will be returned.

### File Format

The file should be in the below format:

* **Encoding**: UTF-8
* **File Name**: currency\_map.csv
* **Header Row**: Code, Rate
* **Delimiter**:  Comma (“,”)
* **Directory**: ftp://ftp.xmltravelgate.com/Purchasing/

#### Sample File

**Name**: currency\_map.csv

**Data**:

```csv
Code,Rate
AED,4.74
CAD,1.61
CHF,1.26
EUR,1.09
GBP,1.00
INR,84.40
MAD,12.17
THB,42.91
USD,1.29
```

In addition, is necessary that option currencies and parameter currency are in ftp file.

### Execution example

```
{

    "plugins": {

        "step": "RESPONSE\_OPTION",

        "pluginsType": [

            {

                "type": "CURRENCY\_CONVERSION"

                "name": "currencyX"

            }

        ]

    }

}
```

repository: heyeu/documentation-site

repo_name: heyeu/documentation-site


text:
laughing-lamp

Application to come out packaged items with most efficient weight and cost.

## Table of Contents

- [Table of Contents](#table-of-contents)
- [Installation](#installation)
- [Input File Format !IMPORTANT!](#input-file-format)
  - [Step 1: Set up the Development Environment](#step-1-set-up-the-development-environment)
  - [Step 2: Install dependencies](#step-2-install-dependencies)
  - [Step 3: Running Locally](#step-3-running-locally)
- [Usage Tutorial](#usage-tutorial)
- [Features](#features)
  - [Express](#express)
  - [Typescript](#typescript)
  - [EsLint](#EsLint)
- [License](#license)
## Input File Format !IMPORTANT!
**example file**

10 : (1,53.38,€45) (2,88.62,€98) (3,78.48,€3)

8 : (1,15.3,€34)

10 : (1,85.31,€29) (2,14.55,€74) (3,3.98,€16)

20 : (1,90.72,€13) (2,33.80,€40) (3,43.15,€10)

**example file**

mw : (i,w,c) (i,w,c)

mw = max weight capacity

i = item index capacity

w = item weight

c = item cost

**Constraints**

-maximum number of item per line: 15

-maximum weight capacity : 100

-maximum weight and cost of item : 100

## Installation

Clone this repo to your local machine.

**Install [Node.js and NPM](https://nodejs.org/en/download/)**
- on OSX use [homebrew](http://brew.sh) `brew install node`
- on Windows use [chocolatey](https://chocolatey.org/) `choco install nodejs`

> NOTE : If you work with a mac, we recommend to use homebrew for the installation.

### Step 2: Install dependencies
**Install the dependencies**

Navigate to the **Main folder** directory and run the below command in your terminal :
```bash
$ npm install
```

### Step 3: Running Locally
**start the application**

Navigate to the **Main folder** directory and run the below command in your terminal :
```bash
$ npm run build
```
then
```bash
$ npm run start:dev
```

## Usage Tutorial
navigate to http://localhost:3000/api/{fileName}

example with valid available file:

- http://localhost:3000/api/example_input

- http://localhost:3000/api/example_input2

> NOTE: port can be change, please navigate to index.ts and update the port then rebuild
## Error Status
FILE_NOT_FOUND_OR_INVALID = File not found or invalid
FILE_IS_EMPTY = Empty file
MAXIMUM_WEIGHT_CAPACITY_EXCEEDED = Package capacity should not more than the limit (100)
MAXIMUM_ITEM_WEIGHT_EXCEEDED = item weight should not more than the limit (100)
MAXIMUM_ITEM_COST_EXCEEDED = item cost should not more than the limit (100)
MAXIMUM_ITEM_NUMBER_EXCEEDED = number of item should not more than the limit (15) per line

## Features

### Express

Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications.

### Typescript

TypeScript is an open-source programming language developed and maintained by Microsoft. It is a strict syntactical superset of JavaScript, and adds optional static typing to the language. TypeScript is designed for development of large applications and transcompiles to JavaScript.

### EsLint

EsLint is an extensible static analysis tool that checks TypeScript code for readability, maintainability, and functionality errors

## License

[![License](http://img.shields.io/:license-mit-blue.svg?style=flat-square)](http://badges.mit-license.org)

- **[MIT license](http://opensource.org/licenses/mit-license.php)**

repository: leoalfando/laughing-lamp

repo_name: leoalfando/laughing-lamp


text:
# Changelog

## 0.8.3

2022-12-27

- psql improvements: host/post handling, better detection of SQL failures

## 0.8.2

2019-11-26

- Lock the evolutions table (PostgreSQL, MySQL) so concurrent runs
  (e.g. starting a clustered application) should work correctly
- Tests now compatible with MySQL 5.6, 5.7
- Mark package as Python 3 only

## 0.8.1

2019-11-23

- Small packaging improvements

## 0.8.0

2019-11-22

- Initial release

repository: arobertn/evolutions

repo_name: arobertn/evolutions


text:
---
layout: post
title:  BIOS Security to Protect your Files
image:  bios/bootloader.jpg
tags:   Security
---
Almost everyone is taught that if they use strong passwords on their computer, that it will keep attackers out. However, with physical access to an unhardened computer, anyone could easily circumvent the login and directly access your data, including online accounts you're logged into and sensitive documents. Many people are not taught to protect against physical attacks or they dismiss them as improbable, but if an attacker can physically reach a machine, these attacks can be very reliable and easy even for an amature. In this post you will be shown how to do one such attack and how to prevent it. At the end you will have a safer system and even be able to recover files when you get locked out of your system!

NOTE: It is slowly becoming more common for computers to ship with the necessary protections or for organizations to enable them on company laptops, so although many many computers will remain vulnerable, this tutorial may not work on yours if it's protected already (great!).

## The Attack
*Disclaimer: This is for educational purposes only. Do not bypass security on systems you neither own nor are explicitly authorized to attack by the owner.*

We will use an approach similar to what a computer repair person may use to recover your files. When booting, normally your computer's BIOS finds a valid bootable OS on your hard drive and attempts to run it. We will prepare a second bootable system on a thumb drive and tell the BIOS to boot into it instead. Once booted, you can mount your main drive and access any files on the other drive without using your login credentials from the main system.

### Step 1: Prepare Thumb Drive
You will need...
- A live OS. As an example, I'll use [SystemRescueCD](https://www.system-rescue.org/Download/).
- A thumb drive at least 1GB (or as large as the ISO).
- A program to flash the OS to the thumb drive. I recommend [Balena Etcher](https://www.balena.io/etcher/).

When picking your thumb drive, please ensure you are okay LOSING ALL DATA on it. Copy the data somewhere before proceeding!

Now open Etcher, copy and paste the download link for the 64 bit .iso file, and select the thumb drive where you want to flash the OS. Once it's done, congratulations! You now have a handy data recovery tool to serve you now and anytime you need to recover data from an unusable system.

### Step 2: Boot into SystemRescueCD
Restart the computer and as soon as the lights turn on, quickly repeatedly press whatever key on your computer opens the BIOS' boot menu until it appears. This is often F2 or F12. It may take a couple tries for you to get the timing and the correct keys. You may be able to check online how to reach the boot menu for your model of computer.

In the boot menu, you should see a list of drives.  Has it booted the other OS? Great work! You just completed the step we will prevent attackers from later.

### Step 3: Access the Data
Because you booted into a different OS that doesn't need your login but has access to your hardware, none of your files are protected by your password.

1. When the teal bootloader comes up, press enter on the first option.

   ![bootloader](/images/bios/bootloader.jpg)

2. When the black command line appears, type `startx`.

   ![command line](/images/bios/terminal.jpg)

3. Click on the hard drive logo in the taskbar to open GParted.
4. Recognize which partition your main OS is on based on the size and the name in the list.
5. Open the terminal with the black square in the taskbar.
6. Type `mount /dev/sda1 /mnt/`, substituting `/dev/sda1` for your partition path from step 4.
7. Double click on the "File System" button in the corner of the desktop, and go to mnt -> Users -> YourUsername

   ![desktop](/images/bios/desktop.jpg)

There you see all of your files! The "AppData" folder is where your applications store most of your offline data, including passwords you've saved in your browser and cookies for sites you haven't logged out of.

This may have been many steps for us, but an attacker can prepare a thumb drive to automatically do all the steps in this section in half a jiffy (pun intended).

## The Defense
You will set a BIOS password to ensure no one else can modify how the computer boots. We need to restart again while pressing a special key to get to the BIOS admin menu. This is often F12 or F10 but (like the boot menu) varies. In this menu you probably can only navigate with the up, down, left, right arrow keys. You want want to find where you set 1-3 passwords.

These may protect:
- Reaching this admin menu
- Reaching the boot menu you used earlier
- Booting the computer at all

Be very certain not to forget this password or you could permanently lock yourself out!

Remember the password? Save the settings and restart. Try repeating step 2 to check that your protection works. Did it work? Great job! You are now protected from one of the easiest exploits in the book!

However, this isn't the end of the story. Security isn't a destination; it's a process. See below for a brief summary of other physical attacks and links for further learning.

## Remaining Attacks and Mitigations
Attackers with time to spare could still bypass login by physically removing the drive and connecting it to another machine. To protect your data, you want [full disk encryption](https://en.wikipedia.org/wiki/Disk_encryption#Full_disk_encryption). You will then enter a password or use a [hardware token](https://en.wikipedia.org/wiki/Security_token) to decrypt the drive before loading the rest of the system. We did not cover this because the process varies drastically depending on your operating system, but here is Windows' [help page](https://support.microsoft.com/en-us/windows/device-encryption-in-windows-10-ad5dcf4b-dbe0-2331-228f-7925c2a3012d) on it.

Full disk encryption combined with a strong password is a great measure that can protect you from even very tech savvy thieves. However, other users sharing the machine also need to decrypt the drive to see their files, so they can use step 3 combined with the encryption key to see your files without your login. If you have very determined adversaries, you should know about [evil maid attacks](https://en.wikipedia.org/wiki/Evil_Maid_attack), which could be partially mitigated with [secure boot](https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface#Secure_boot).


text:
---
title: "Environment Variables"
linkTitle: "Environment Variables"
weight: 1
---
Environment variables are variables that are available to your service, based on the environment they're running in. Your service can reference them without having to define them. Environment variables are useful for when you want to pass in data to your service that's specific to a particular environment (your test database name versus your production database name, for example).

Accessing environment variables is usually simply based on the language you're using. Here are some examples of getting an environment variable called `DATABASE_NAME` in a few different languages.

__Go__
```golang
dbName := os.Getenv("DATABASE_NAME")
```

__Javascript__
```javascript
var dbName = process.env.DATABASE_NAME;
```

__Python__
```python
database_name = os.getenv('DATABASE_NAME')
```

### What are the default Environment Variables?

By default, the Copilot CLI passes in some default environment variables for your app to use.

* `COPILOT_APPLICATION_NAME` - this is the name of the application this service is running in.
* `COPILOT_ENVIRONMENT_NAME` - this is the name of the environment the service is running in (test vs prod, for example)
* `COPILOT_SERVICE_NAME` - this is the name of the current service.
* `COPILOT_LB_DNS` - this is the DNS name of the Load Balancer (if it exists) such as _kudos-Publi-MC2WNHAIOAVS-588300247.us-west-2.elb.amazonaws.com_. One note, if you're using a custom domain name, this value will still be the Load Balancer's DNS name.
* `COPILOT_SERVICE_DISCOVERY_ENDPOINT` - this is the endpoint to add after a service name to talk to another service in your environment via service discovery. The value is `{app name}.local`. For more information about service discovery checkout our [service discovery guide](docs/developing/service-discovery).

### How do I add my own Environment Variables?

Adding your own environment variable is easy. You can add them directly to your [manifest](docs/manifests) in the `variables` section. The following snippet will pass a environment variable called `LOG_LEVEL` to your service, with the value set to `debug`.

```yaml
# in copilot/{service name}/manifest.yml
variables:
  LOG_LEVEL: debug
```

You can also pass in a specific value for an environment variable based on the environment. We'll follow the same example as above, by setting the log level, but overwriting the value to be `info` in our production environment. Changes to your manifest take effect when you deploy them, so changing them locally is safe.

```yaml
# in copilot/{service name}/manifest.yml
variables:
  LOG_LEVEL: debug

environments:
  production:
    variables:
      LOG_LEVEL: info
```

Here's a quick guide showing you how to add environment variables to your app by editing the manifest 👇

<img src="https://raw.githubusercontent.com/kohidave/ecs-cliv2-demos/master/env-vars-edit.svg?sanitize=true" class="img-fluid" style="margin-bottom: 20px;">

### How do I know the name of my DynamoDB table, S3 bucket, RDS database, etc?

When using the Copilot CLI to provision additional AWS resources, such as DynamoDB tables, S3 buckets, Databases, etc, any output values will be passed in as environment variables to your app. For more information, check out the [additional resources guide](docs/developing/addons).

repository: budlight/copilot-cli

repo_name: budlight/copilot-cli


text:
# Dijkstra's Algorithm

This is a super-clever algorithm for figuring out the shortest path between two points on a graph and can run in O(n log n) time if implemented with a priority queue. (O(n^2) otherwise.)

## Implementation

Imagine the United States is made up of 12 major cities, and that's all.  All of these cities are connected to some others. They're all connected either directly (e.g. San Francisco is directly connected to Salt Lake City) or indirectly (e.g. San Francisco is connected to Salt Lake City, and Salt Lake City is connected to Omaha.)

Very importantly, the graph also shows the weights (distances, in the simplist case) of the connections between the cities.

Now out of this giant graph of cities, we want to figure out the fastest path from New York to L.A. so we can set the new cross-country speed record. (The record currently stands at 28 hours, 50 minutes; average speed of 98 MPH with 3 fuel stops. Do not attempt.)

We're going think about this problem in reverse.

### Stuff we'll need:

- A graph of cities and their distances to other cities, something like this:

        graph = {
            'LA': {'San Francisco':600, 'Las Vegas':250},
            'San Francisco': {'LA':600, 'Seattle':800},
            // etc.
        }

- A set of cities that aren't yet visited, and some associated data with these unvisited cities. Eventually it will be populated something like this:

        Unvisited = {
            'LA': {
                distance: 0,
                parent: null
            },
            'San Francisco': {
                distance: 999999,
                parent: null,
            },
            'Las Vegas': {
                distance: 250,
                parent: 'LA'
            },
            // etc.
        };

### Setup

1. We'll start from our destination: L.A.

2. Take every city, including the destination, and put them in the set `Unvisited`.

   These are the cities we still have to inspect to see if they're on the shortest path.

3. For every city in the `Unvisited` set, add an associated distance to our destination (L.A.). Initialize the distance associated with the destination to `0`. ("The destination is zero miles from the destination.") Initialize all the other distances to `infinity` (or some approximation thereof).

   Also add an associated `parent` pointer to each city in the `Unvisited` set. Initialize it to `null`.

### Running:

1. Look at all cities in the `Unvisited` set. Find the one with the smallest distance. Call this `currentCity`.

   On the first pass, the destination will be the smallest with `0`. On the second pass, they will all tie for smallest with infinite distance, so just choose any.

   We're interested in the one with the smallest distance computed so far. No point in following paths we know are longer, so we just keep following whichever one is currently shortest.

2. Look at `currentCity`'s direct neighbors and _relax_ any that need to.

   Relaxing is the process of reducing that neighbor's distance from it's current value (remember they start at `infinity`) to a smaller value **and** setting its parent pointer to the city that's within the closer distance.

   For example, San Francisco starts at distance `infinity` from L.A., but the graph shows it's connected to L.A. by an edge that's `600` miles long. Since `600` is less than `infinity`, San Francisco's distance is _relaxed_ from `infinity` to `600`. **Also** San Francisco's parent pointer is set to point to L.A.

3. Remove `currentCity` from the `Unvisited` set. We now know its distance from the destination city.

   We won't find any shortcuts that bypass it later--we find all shortcuts first because we always look at the currest closest city in Step 1.

4. Repeat back at Step 1 until you're finished.

   You're finished if (A) `currentCity` is your _source_ city (found the way!), (B) all the cities in `Unvisited` have infinite distance (meaning they're on an island somewhere) or (C) if the `Unvisited` set is empty, meaning you couldn't find the source at all. Destroyed... by the Empire.

### Getting the route from all that

If your `currentCity` arrived at your source city, congratulations: you've found the shortest path!

All you need to do now is:

1. Start at the _source_ city.

2. Print out the name of the city (or whatever you want to do to visualize it).

3. Follow it's parent pointer to the next city in line.

4. Repeat until you reach your _destination_ city.

## Variants

- You should be able to build the `Unvisited` set as you go instead of adding all cities to it initially. Some of the cities will never even be considered.

- One of the key speedups in the algorithm is how you go about finding the the nearest city. You could use linear search O(n), but you can get O(log n) with a [priority queue](https://en.wikipedia.org/wiki/Priority_queue).

## Alternate Implementation

IIRC, the above is from Cormen's Algorithms. [Wikipedia has a different, equivalent algorithm](https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm#Pseudocode).

The included code in `example/` uses the Wikipedia algorithm.

## Dijkstra's D3 Demo

Basic framework for running Dijkstra's algorithm and displaying the results on an undirected graph via d3.

`chrome d3_demo.html`

to view the d3 demo. Integrate this with the included `DijkstrasAlgorithm.js` for cool technology.

## Dijkstra.js

Swap the commented lines in the file to perform Dijkstra's Algorithm on the tree defined on the Dijkstra's Algorithm wikipedia page. Leave the current comment structure to build a dynamic graph randomly and solve it with Dijkstra's Algorithm.

    let graph_spec = gen_graph(1000, 5);
    let tree = build_tree(graph_spec.V, graph_spec.E);
    //let tree = build_tree(V,E);
    //console.log(JSON.stringify(tree,null,2));

## Assignment

1. Get a graph built from a list of verts and edges.

2. Implement Dijkstra's algorithm over that graph.

3. Integrate the solver with the D3 demo; make it quick and dirty to just get it going.

4. Add text fields for starting and ending cities.

5. Refactor from quick and dirty integration into an nice React app.

6. ...

7. Profit!


text:
Some experimental materials created for this project.

```LiHopfield&BAM``` conducts experiment on Li-Hopfield Network and Bidirectional Associative Memory.

```odor.csv``` is a small dataset of common chemicals, their odors, and legal limit. ```odor_EDA``` is an attempt of exploratory data analysis on it.

```Designed relations among abstract odors, tastes, and preference``` is one simple way I thought of to represent stimuli. It can be a starting point.

```neural_network``` is a simple neural network that I am currently mainly working on, and ```simple_neural_network_animation``` is a script for live animating the neural_network class. An example (```animation.gif```):

![Animation](animation.gif)

This neural network actually only has sensory receptors, olfaction and gustation. Olfactory stimuli can be sensed from any distance, but gustatory stimuli can only be sensed within a circle around a stimulus source.

The three jupyter-notebooks, ```inference```, ```cue combination```, and ```prediction``` are not necessarily relavent to this project, but are attempts to construct neural networks with feedforward, feedback, and prior drives. They are actually parts of my computational neuroscience final project, and are based on David Heeger's *Theory of Cortical Function* (*PNAS*, 2017).


text:
---
layout: post
title: "Chemical-protein relation extraction with ensembles of SVM, CNN, and RNN models"
date: 2018-02-05 03:42:36
categories: arXiv_CL
tags: arXiv_CL OCR Relation_Extraction CNN RNN Relation
author: Yifan Peng, Anthony Rios, Ramakanth Kavuluru, Zhiyong Lu
mathjax: true
---

* content
{:toc}

##### Abstract
Text mining the relations between chemicals and proteins is an increasingly important task. The CHEMPROT track at BioCreative VI aims to promote the development and evaluation of systems that can automatically detect the chemical-protein relations in running text (PubMed abstracts). This manuscript describes our submission, which is an ensemble of three systems, including a Support Vector Machine, a Convolutional Neural Network, and a Recurrent Neural Network. Their output is combined using a decision based on majority voting or stacking. Our CHEMPROT system obtained 0.7266 in precision and 0.5735 in recall for an f-score of 0.6410, demonstrating the effectiveness of machine learning-based approaches for automatic relation extraction from biomedical literature. Our submission achieved the highest performance in the task during the 2017 challenge.

##### Abstract (translated by Google)
文本挖掘化学品和蛋白质之间的关系是一个越来越重要的任务。 BioCreative VI中的CHEMPROT跟踪旨在促进可以自动检测运行文本中化学 - 蛋白质关系（PubMed摘要）的系统的开发和评估。这个手稿描述了我们的提交，这是一个包括支持向量机，卷积神经网络和递归神经网络三个系统的集合。他们的产出是根据大多数投票决定的。我们的CHEMPROT系统获得了0.7266的精确度和0.5735的回忆率，f评分为0.6410，证明了基于机器学习的方法从生物医学文献中提取自动关系的有效性。在2017年的挑战中，我们的投稿达到了最高的执行效果。

##### URL
[http://arxiv.org/abs/1802.01255](http://arxiv.org/abs/1802.01255)

##### PDF
[http://arxiv.org/pdf/1802.01255](http://arxiv.org/pdf/1802.01255)