text:
---
templateKey: tour-gen
order: 89
path: /french-way-to-santiago-bike-tour/
productcode: SANTIAGO 03
featured: false
language: en
image: /img/santiago1.png
title: The Way of St. James BikeTour - The French Way
packagetype: PackageTour
tourtype: Bike
tourcategory:
  - Bike
tags:
  - Santiago Compostela
  - Cycling Holiday
  - Porto
  - North
  - Biketour
  - road bicycle
  - e-bike
  - electric bicycle
  - Spain
meta:
  description: >
    Start cycling in France in this demmanding adventure that is very well known
    buy our team...discover the way with us!
  keywords: >-
    FRENSH WAY TO SANTIAGO DE COMPOSTELA IN A BICYCLE, ORIGINAL ROUTE TO
    SANTIAGO DE COMPOSTELA INA BICYCLE
  robots: INDEX
  title: 'Guided Bike tour to Santiago de Compostela in the french way '
groupSizeMax: 1
groupSizeMin: 20
minAge: 16
skillLevel: 1
distance: 791
distanceUnit: km
duration: 16
durationUnit: Days | 15 Nights
difficulty: 4
physicality: 1
#rating: []
mapUrl: 'https://www.google.com/maps/d/u/1/embed?mid=1HO1scn3_ETs8wsMq-TzxiymjG6iY5ydf'
itinerary:
  - day: '1'
    description: Reception at Saint-Jean-Pied-De-Port
    location:
      lat: '43.1629528'
      lng: '-1.2380528'
    title: Day 1 - Saint-Jean-Pied-De-Port
  - day: '2'
    description: >-
      This amazing cycling trip starts in the little village of
      Saint-Jean-De-Port. This place is famous, because it is a starting point
      to the Camino Francés. This road crosses the Pyrenees with several
      medieval streets ending in Spain, in Roncesvalles. This village is known
      as the first resting point for all pilgrims.
    location:
      lat: '43.009286'
      lng: '43.009286'
    title: Day 2 - Saint-Jean-Pied-De-Port - Roncesvalles / 27 Km
  - day: '3'
    description: >-
      Today's route passes through the interior of Spain. The destination is
      Puente la Reina. Prepare to see lots of nature and amazing views. During
      this path there is some little villages to stop. Puente la Reina lies
      between Pamplona and Estella on the Way of St. James pilgrimage route to
      Santiago de Compostela. It is the first town after the junction of the
      French Way and the Aragonese Way.
    location:
      lat: '42.6717107'
      lng: '-1.8155291'
    title: Day 3 -  Roncesvalles - Puente la Reina / 67 km
  - day: '4'
    description: >-
      Continuing through the interior of Spain, the next stop is Logrono. This
      town is a centre of the trade in Rioja wine, for which the area is noted.
      It also produces wood, metal, and textile products. This village is also
      known for its Tapas, offering 50 taperías (tapas restaurants) located
      within a four-block area near the city center.
    location:
      lat: '42.4661196'
      lng: '-2.4396676'
    title: Day 4 - Puente la Reina - Logrono / 76 km
  - day: '5'
    description: >-
      The next destination is Santo Domingo de la Calzada. In this day you will
      see several fishermen and diverse agricultural lands, with several vines,
      since this place is famous for the Rioja wine. The town of Santo Domingo
      is a municipality situated on the banks of the Oja River. Its name refers
      to its founder, Dominic de la Calzada, who built a bridge, hospital, and
      hotel for pilgrims on the Way of St. James.
    location:
      lat: '42.44293826'
      lng: '-2.95695305'
    title: Day 5 -  Logrono - Santo Domingo / 52 km
  - day: '6'
    description: >-
      The ride today has severeal rivers and streams and the destination is the
      city of Burgos. This city has many historical landmarks, of particular
      importance; the Cathedral of Burgos, declared World Heritage Site by
      UNESCO in 1984, seat of the Metropolitan Roman Catholic Archdiocese of
      Burgos. The city is known as a main crossroad of northern Spain along the
      Camino of Santiago, which runs parallel to the River Arlanzón.
    location:
      lat: '42.343926'
      lng: '-3.696977'
    title: Day 6 - Santo Domingo - Burgos /72 km
  - day: '7'
    description: >-
      Continuing the Camino, the next stop is Carrión de los Condes. Carrión de
      los Condes was taken from the Moors by Alonso Carreño, around 791–842. Don
      Carreño took the name Carrión at this time. This city was known for the
      strong presence of the Jews. Although they outnumbered the Christians both
      in numbers and in property, they submitted in 1126 to the victorious King
      Alfonso VI.
    location:
      lat: '42.3385404'
      lng: '-4.6017128'
    title: Day 7 -  Burgos - Carrión de los Condes / 85 km
  - day: '8'
    description: >-
      You will spend one day resting in the city of Sahugún or in the city of
      Leon. Leaving Carrión de los Condes and continuing the cycling trip, the
      destination is Sahugún. This town is located in the province of León.
      Sahagún contains some of the earliest examples of the mudéjar style of
      architecture. The city of Leon is located on the Camino de Santiago, which
      is ranked as a UNESCO World Heritage Site. Some of the city's most
      prominent historical buildings are the Cathedral, the finest example of
      French gothic classical style architecture in Spain.
    location:
      lat: '42.5989995'
      lng: '-5.5682413'
    title: Day 8 - Carrión de los Condes – Sahugún - Léon (extra night)
  - day: '9'
    description: Discover Léon city
    location:
      lat: '42.5989995'
      lng: '-5.5682413'
    title: Day 9 – Rest day
  - day: '10'
    description: >-
      The road is to Astorga. This path is made on clay and with many viewpoints
      to admire the landscape. Arriving to the city center of Astorga, you can
      admire several monuments, such as the Cathedral the Episcopal Palace and
      the walls that surround the town built at the time of Ancient Rome.
    location:
      lat: '42.4553555'
      lng: '-6.0529025'
    title: Day 10 - León - Astorga / 51 km
  - day: '11'
    description: >-
      Upon departing Astorga, the next town is Cacabelos. On this day the way
      presents us with diverse agricultural lands and forest areas. You can also
      admire the rails until reaching Cacabelos, which are from the time of the
      Medieval Era. Arriving to Cacabelos, you can taste its famous wines, while
      admiring the medieval bridge that passes over the Cua river.
    location:
      lat: '42.5988042'
      lng: '-6.7259329'
    title: Day 11 -  Astorga - Cacabelos / 70 km
  - day: '12'
    description: >-
      Triacastela will be this day's destination. This route is one of the most
      beautiful of the caminho, where you can admire the vast mountains, covered
      with nature and small villages. The city of Triacastela is a famous stop
      point for the pilgrims, where they exchange experiences on the path they
      have traveled.
    location:
      lat: '42.7563403'
      lng: '-7.2397461'
    title: Day 12 - Cacabelos – Tríacastela / 55 km
  - day: '13'
    description: >-
      After Breakfast, the next destination is Portomarin. This route is famous
      for it's up's and down's, but once again you will be rewarded with
      beautiful landscapes. This camino offers you a lot of bridges and stone
      routes of the Medieval time, until you arrive to Portomarin.
    location:
      lat: '42.808161'
      lng: '-7.6156139'
    title: Day 13 -  Tríacastela - Portomarin / 46 km
  - day: '14'
    description: >-
      Leaving Portomarin the next destination is Melide. This path is mainly
      treaded in the middle of forests, where you can contemplate all the nature
      that there is to offer. Arriving to Melide, you can taste the famous
      octopus and admire the several churchs and the town castle.
    location:
      lat: '42.9145741'
      lng: '-8.0136139'
    title: Day 14 -  Portomarin - Melide 62 Km / 39 km
  - day: '15'
    description: >-
      The final destination is Santiago de Compostela. In this day you start to
      see more and more pilgrims and everyone wishes “Buen Camino”. Reaching to
      Santiago you will find lots of pilgrims, happy for their achivement and,
      of course, you will find the magnificent cathedral of Santiago that, each
      year, continues to win more and more people to make this religious /
      spiritual route.
    location:
      lat: '42.8804219'
      lng: '-8.5458608'
    title: Day 15 -  Melide - Santiago de Compostela / 54 km
  - day: '16'
    description: Departure
    location:
      lat: '42.8804219'
      lng: '-8.5458608'
    title: Day 16 - Santiago de Compostela
gallery:
  - alt: FRENCH CAMINO IN A BYCICLE
    image: /img/french-camino-in-a-bycicle.png
  - alt: FRENCH CAMINO IN A BYCICLE
    image: /img/french-camino-in-a-bycicle2.png
  - alt: FRENCH CAMINO IN A BYCICLE
    image: /img/french-camino-in-a-bycicle3.png
  - alt: FRENCH CAMINO IN A BYCICLE
    image: /img/french-camino-in-a-bycicle4.png
pricing:
  - bestValue: false
    discount: 0
    highSeasonPriceSupplement: 100
    package: Guided bike tour
    packageContents:
      - icon: ✓
        title: Accommodations W/ Breakfast
        value: 'Yes (3 and 4 stars, farms or rural houses)'
      - title: Luggage shuttling
        value: 'Yes'
      - title: San Sebatian Airport Transfers
        value: 'Yes'
      - icon: '-'
        title: Trains or Bus Tickets
        value: ''
      - title: Van Support
        value: 'Yes'
      - icon: '-'
        title: GPS With route per booking
        value: ''
      - title: Bike rent
        value: 'Yes'
      - title: Guide
        value: 'Yes'
      - title: Mechanical Assistance
        value: 'Yes'
      - title: 14 lunches (6 lunches reduce route)
        value: 'No'
      - title: 14 Dinners (6 dinners reduced route)
        value: 'No'
      - title: Personal Accident Insurance
        value: 'Yes'
      - title: Liability Insurance
        value: 'Yes'
      - title: 7 Nights / 8 Days ( price per person)
        value: 1.986€
      - title: 15 Nights /16 Days (price per person)
        value: 3.960 €
      - title: 'July, August and September Prices'
        value: + 150 €
      - title: Min. Participants
        value: '10'
    price: 1986
    type: '1'
  - discount: 0
    highSeasonPriceSupplement: 100
    observations: 4.896 €
    package: Guided bike tour Plus*
    packageContents:
      - icon: ✓
        title: Accommodations W/ Breakfast
        value: 'Yes (3 and 4 stars, farms or rural houses)'
      - title: Luggage shuttling
        value: 'Yes'
      - title: San Sebatian Airport Transfers
        value: 'Yes'
      - icon: '-'
        title: Trains or Bus Tickets
        value: ''
      - title: Van Support
        value: 'Yes'
      - icon: '-'
        title: GPS With route per booking
        value: ''
      - title: Bike rent
        value: 'Yes'
      - title: Guide
        value: 'Yes'
      - title: Mechanical Assistance
        value: 'Yes'
      - title: 14 lunches (6 lunches reduce route)
        value: 'Yes'
      - title: 14 Dinners (6 dinners reduced route)
        value: 'Yes'
      - title: Personal Accident Insurance
        value: 'Yes'
      - title: Liability Insurance
        value: 'Yes'
      - title: 7 Nights / 8 Days ( price per person)
        value: 2.596 €
      - title: 15 Nights /16 Days (price per person)
        value: 4.180 €
      - title: 'July, August and September Prices'
        value: + 150 €
      - title: Min. Participants
        value: '10'
    price: 2596
    type: '1'
afterpricing: >-
  **Observations:**

  * Prices are based for 2 people sharing the same room;

  * Prices can suffer updates due high season, holidays or weekends

  * Beverages are not included at lunch and dinner when included in the package

  * If in a triple room with parents Children up to 10 years old - 35% discount.
  Children from 11 to 14 years old - 20% discount. Children from 15 to 17 years
  old - 15% discount.

  **Extras**

  * Electric bicycles price: 300 €

  * Electric bicycles price reduce route: 175 €

  * Supplement for single room: 650 €

  * Supplement for single room reduce route: 329 €

  * Extra nights: on request
feature:
  align: center
  image: /img/furadouro-forest-in-a-bicycle.jpg
  imageAlign: center
  subtitle: Guided and unguided cycling tours Portugal
  textcolor: white
  title: Guided and unguided cycling tours Portugal
---
# The Way of St. James BikeTour

## The French Way

Going from Saint Jean Pied de Port, in the Pyrenees, all the way to Santiago de Compostela, the French way is probably the most known route of the St. James Way. Its use goes back to the IXth century, when the route only extended from Oviedo to Santiago de Compostela.

Thousands of pilgrims choose this amazing route each year, not only for its authenticity, but also for all the amazing places one finds him/herself in, while on the road.

**Route description:**

* On this long route all kind of terrains are to be expected. Route with long and difficult climbs.
* 12.000 meters with cumulated ascents

\
**Itinerary:**

\
Day 1 - Saint-Jean-Pied-De-Port reception

Day 2 - Saint-Jean-Pied-De-Port - Roncesvalles / 27 Km

Day 3 -  Roncesvalles - Puente la Reina / 67 km

Day 4 -  Puente la Reina - Logrono / 76 km

Day 5 -  Logrono - Santo Domingo / 52 km

Day 6 -  Santo Domingo - Burgos /72 km

Day 7 -  Burgos - Carrión de los Condes / 85 km

Day 8 - Carrión de los Condes - Sahugún (optional)- León / 97 km

Day 9 -  León (rest day)

Day 10 -  León - Astorga / 51 km

Day 11 -  Astorga - Cacabelos / 70 km

Day 12 -  Cacabelos – Tríacastela / 55 km

Day 13 -  Tríacastela - Portomarin / 46 km

Day 14 -  Portomarin - Melide 62 Km / 39 km

Day 15 -  Melide - Santiago de Compostela / 54 km

Day 16 -  Santiago de Compostela – departure
\
\
**Itinerary reduced route:**

**Km:** 315 km

Day 1 -  León (Descanso)

Day 2 -  León - Astorga / 51 km

Day 3 -  Astorga - Cacabelos / 70 km

Day 4 -  Cacabelos – Tríacastela / 55 km

Day 5 -  Tríacastela - Portomarin / 46 km

Day 6 -  Portomarin - Melide 62 Km / 39 km

Day 7 -  Melide - Santiago de Compostela / 54 km

Day 8 -  Santiago de Compostela – departure

repository: omegasenior/topbiketoursportugal

repo_name: omegasenior/topbiketoursportugal


text:
# ![](docs/img/logo_sm.png) Visual Analysis for State Changes in RNNs

More information about LSTMVis, an introduction video, and the link to the live demo can be found at **[lstm.seas.harvard.edu](http://lstm.seas.harvard.edu)**

Also check out our new work on Sequence-to-Sequence models on [github](https://github.com/hendrikstrobelt/seq2seq-vis) or the live demo at **[http://seq2seq-vis.io/](http://seq2seq-vis.io/)**

## Changes in V2.1
- update to Python 3.7++ (thanks to @nneophyt)

## Changes in V2
- new design and server-backend
- discrete zooming for hidden-state track
- added annotation tracks for meta-data and prediction
- added training and extraction workflow for tensorflow
- client is now ES6 and D3v4
- some performance enhancements on client side
- Added Keras tutorial [here](docs/keras.md) (thanks to Mohammadreza Ebrahimi)

## Install

Please use **python 3.7 or later** to install LSTMVis.

Clone the repository:

```bash
git clone https://github.com/HendrikStrobelt/LSTMVis.git; cd LSTMVis
```

Install python (server-side) requirements using [pip](https://pip.pypa.io/en/stable/installing/):

```bash
python -m venv  venv3
source venv3/bin/activate
pip install -r requirements.txt
```

Download & Unzip example dataset(s) into `<LSTMVis>/data/05childbook`:

[Children Book - Gutenberg](https://drive.google.com/file/d/0B542UFSlrvMjMHcxWHluNzh3clU/view?usp=sharing) - 2.2 GB

[Parens Dataset - 10k small](https://drive.google.com/file/d/0B3yX0IkfCkLvWUowazhOZHFuSms/view?usp=sharing&resourcekey=0-JPmD2S5SFne6iTyOzAT3_w) - 0.03 GB

start server:

```bash
source venv3/bin/activate
python lstm_server.py -dir <datadir>
```

For the example dataset, use `python lstm_server.py -dir data`

open browser at [http://localhost:8888](http://localhost:8888/client/index.html) - eh voila !

## Adding Your Own Data

If you want to train your own data first, please read the [Training](docs/chapter/train.md) document. If you have your own data at hand, adding it to LSTMVis is very easy. You only need three files:

* HDF5 file containing the state vectors for each time step (e.g. `states.hdf5`)
* HDF5 file containing a word ID for each time step (e.g. `train.hdf5`)*
* Dict file containing the mapping from word ID to word (e.g. `train.dict`)*

A schematic representation of the data:

![Data Format](docs/img/docu_data.png)

*If you don't have these files yet, but a space-separated `.txt` file of your training data instead, check out our [text conversion tool](docs/chapter/tools.md#convert-.txt-to-.h5-and-.dict)

### Data Directory
LSTMVis parses all subdirectories of `<datadir>` for config files `lstm.yml`.
A typical `<datadir>` might look like this:

```
<datadir>
├── paren  		        <--- project directory
│   ├── lstm.yml 		<--- config file
│   ├── states.hdf5 	        <--- states for each time step
│   ├── train.hdf5 		<--- word ID for each time step
│   └── train.dict 		<--- mapping word ID -> word
├── fun ..
```

### Config File

a simple example of an `lstm.yml` is:

```yaml
name: children books  # project name
description: children book texts from the Gutenberg project # little description

files: # assign files to reference name
  states: states.hdf5 # HDF5 files have to end with .h5 or .hdf5 !!!
  train: train.hdf5 # word ids of training set
  words: train.dict # dict files have to end with .dict !!

word_sequence: # defines the word sequence
  file: train # HDF5 file
  path: word_ids # path to table in HDF5
  dict_file: words # dictionary to map IDs from HDF5 to words

states: # section to define which states of your model you want to look at
  file: states # HDF5 files containing the state for each position
  types: [
        {type: state, layer: 1, path: states1}, # type={state, output}, layer=[1..x], path = HDF5 path
        {type: state, layer: 2, path: states2},
        {type: output, layer: 2, path: output2}
  ]

```

## Intrigued ? Here is more..

Check out our documents about:

* [details about configuring the states file input](docs/chapter/config_states.md)
* [adding annotation files for result heatmaps](docs/chapter/meta.md)
* [training a model with torch](docs/chapter/train.md)
* NEW !!! [training a model with tensorflow (link)](https://github.com/sebastianGehrmann/tensorflow-statereader)
* [tools that make your life easier](docs/chapter/tools.md)

## Credits

LSTMVis is a collaborative project of Hendrik Strobelt, Sebastian Gehrmann, Bernd Huber, Hanspeter Pfister, and Alexander M. Rush at Harvard SEAS.

repository: HendrikStrobelt/LSTMVis

branch_name: refs/heads/master

extension: md

gha_language: Jupyter Notebook

license_type: permissive

repo_name: HendrikStrobelt/LSTMVis


text:
# mooin_fix_H5P_resize
Dirty hack of someone else's dirty hack; fixes resizing of H5P frame on https://mooin.oncampus.de; won't be necessary for too long.

On a mooin course page that contains H5P content, copy this script into a new text area in source mode and enclose it with <script> at the top and with </script> at the bottom.

license: Unlicense


text:
## How to contribute

We are glad you want to contribute to the `vagrant-parallels` plugin!
First of all,  clone this repository:

```
$ git clone https://github.com/Parallels/vagrant-parallels
$ cd vagrant-parallels
```

### Dependencies and Unit Tests

To hack on our plugin, you'll need a [Ruby interpreter](https://www.ruby-lang.org/en/downloads/)
(>= 3.0) and [Bundler](https://bundler.io/) which can be installed with a simple
`gem install bundler`. Afterwards, do the following:

```
$ bundle install
$ bundle exec rake
```

This will run the unit test suite, which should come back all green!
Then you're good to go!

If you want to run Vagrant without having to install the `vagrant-parallels`
gem, you may use `bundle exec`, like so:

```
$ bundle exec vagrant up --provider=parallels
```

### Building Provider from Source
To build a `vagrant-parallels` gem just run this command:

```
$ bundle exec rake build
```

The built "gem" package will appear in the `./pkg` folder.

Then, if you want to install plugin from your locally built "gem", use the
following commands:

```
$ vagrant plugin uninstall vagrant-parallels
$ vagrant plugin install pkg/vagrant-parallels-<version>.gem
```

Now that you have your own plugin installed, check it with the command
`vagrant plugin list`

### Sending a Pull Request
If you're ready to send your changes, please follow the next steps:

1. Fork the 'vagrant-parallels' repository and ad it as a new remote (`git add
remote my-fork <fork_url>`)
2. Create a branch (`git checkout -b my-new-feature`)
3.  Push the branch to your fork (`git push fork my-new-feature`)
5. Create a pull request from your `my-new-feature` branch into `master` of
`vagrant-parallels` repo

### Acceptance Tests

Vagrant also comes with an acceptance test suite that does black-box
tests of various Vagrant components. Note that these tests are **extremely
slow** because actual VMs are spun up and down. The full test suite can
take hours.

To run the acceptance test suite, first copy `vagrant-spec.config.example.rb`
to `vagrant-spec.config.rb` and modify it to valid values. The places you
should fill in are clearly marked. Highly recommend to download a box and
specify a local path to it.

Run acceptance tests:

```
$ bundle exec rake acceptance:run
...
```

### Releasing a New Provider Version

_Note: Only the owners of `vagrant-parallels` gem on https://rubygems.org are permitted
to release new versions._

1. Build and test the new gem version (see details above):
```
$ bundle exec rake build
```

2. Update the gem version in `./lib/vagrant-parallels/version.rb`

3. Update change log in `./CHANGELOG.md`

4. Commit those changes and also tag the release with the version:
```sh
$ git tag vX.Y.Z
$ git push --tags
```

4. Push a new gem version to rubygems.org:
```sh
$ gem push ./pkg/vagrant-parallels-<version>.gem
```

5. Create a new Release on Github from the newly pushed tag: https://github.com/Parallels/vagrant-parallels/tags.
   More info on the doc page: [Managing releases in a repository](https://docs.github.com/en/repositories/releasing-projects-on-github/managing-releases-in-a-repository)

license: MIT

repository: Parallels/vagrant-parallels

gha_language: Ruby

gha_license_id: MIT

repo_name: Parallels/vagrant-parallels


text:
[![Gem Version](https://badge.fury.io/rb/rubygene.svg)](https://badge.fury.io/rb/rubygene)
[![Build Status](https://travis-ci.org/brunobatista25/RubyGene.svg?branch=master)](https://travis-ci.org/brunobatista25/RubyGene)
[![Test Coverage](https://api.codeclimate.com/v1/badges/6ac63623b0699225f219/test_coverage)](https://codeclimate.com/github/brunobatista25/RubyGene/test_coverage)
[![Maintainability](https://api.codeclimate.com/v1/badges/6ac63623b0699225f219/maintainability)](https://codeclimate.com/github/brunobatista25/RubyGene/maintainability)

# Readme version translate

  Version [Portuguese-br] (https://github.com/brunobatista25/RubyGene/blob/master/docs/Readme_pt.md)

# Update Information

Case needs to know what was added or removed from the gem just access
 [Update History](https://github.com/brunobatista25/RubyGene/blob/master/history.md)

# RubyGene

The aim of RubyGene is to generate test automation projects already configured for a Web, Mobile or Api project. All of them based on the structure of a cucumber and Rspec project, page objects and reports. was based on the gem https://github.com/concretesolutions/magneton

## Installation

Add this command to the terminal:

```ruby
gem install rubygene
```

# Using gem

# In a project with Cucumber

## Generate a web project

```ruby
rubygene new_web nome_do_projeto
```

Where will generate a project of this model, already with everything configured:

Specfications: Where is the functionality of the project?

Steps: Where the actual tests are performed;

Pages: Where is mapped the elements and methods of a particular page;

Support: Where is the project settings?

Results: Where is the result of the tests and reports.

## Generate an API project

```ruby
rubygene new_api nome_do_projeto
```

Where will generate a project of this model, already with everything configured:

Specfications: Where is the functionality of the project?

Steps: Where the actual tests are performed;

Services: Where the service settings are;

Support: Where is the project settings?

Results: Where is the result of the tests and reports.

## Generate a Mobile project

```ruby
rubygene new_mobile nome_do_projeto
```

Where will generate a project of this model, already with everything configured:

Specfications: Where is the functionality of the project?

Steps: Where the actual tests are performed;

Screens: Where is mapped the elements and methods of a given screen;

Support: Where is the project settings?

Results: Where is the result of the tests and reports.

And it is also possible to generate the steps, features, services, pages etc ... alone

## Generate a step

```ruby
rubygene generate step nome_do_step
```

## Generate a feature

```ruby
rubygene generate feature nome_da_feature
```

## Generate a page

```ruby
rubygene generate page nome_da_page
```

## Generate a screens

```ruby
rubygene generate screen nome_da_screen
```

## Generate a services

```ruby
rubygene generate service nome_do_service
```

Now if you need to create a feature, page and step, you also have a shortcut to it :)

## Generate feature,page,step

```ruby
rubygene generate all_web nome_do_arquivo
```

Now if you need to create a feature, screens and step also have a shortcut to this :)

## Generate feature,screens,step

```ruby
rubygene generate all_mobile nome_do_arquivo
```

Now if you need to create a feature, services and step also has a shortcut to it :)

## Generate feature,services,step

```ruby
rubygene generate all_api nome_do_arquivo
```

By default everything is generated in English if you need to use `--lang=pt`

```ruby
rubygene generate all_api nome_do_arquivo --lang=pt
```

# In an Rspec project

## Generate a web project

```ruby
rubygene new_rspec_web nome_do_projeto
```

Where will generate a project of this model, already with everything configured:

Specs: Where the actual tests are performed;

Pages: Where is mapped the elements and methods of a particular page;

Support: Where is the project settings?

Results: Where is the result of the tests and reports.

## Generate an API project

```ruby
rubygene new_rspec_api nome_do_projeto
```

Where will generate a project of this model, already with everything configured:

Specs: Where the actual tests are performed;

Services: Where the service settings are;

Support: Where is the project settings?

Results: Where is the result of the tests and reports.

## Generate a spec

```ruby
rubygene generate spec nome_do_spec
```

## Generate a page

```ruby
rubygene generate rspec_page nome_da_page
```

## Generate a services

```ruby
rubygene generate rspec_service nome_do_service
```

Now if you need to create a page and spec you also have a shortcut to it :)

## Generate page,spec

```ruby
rubygene generate all_web_rspec nome_do_arquivo
```

Now if you need to create a services and spec it also has a shortcut to it :)

## Generate services,spec

```ruby
rubygene generate all_api_rspec nome_do_arquivo
```

By default everything is generated in English if you need to use `--lang=pt`

```ruby
rubygene generate all_api_rspec nome_do_arquivo --lang=pt
```

## For next versions

- Add generator to JsonSchema
- Add calabash project generator
- Add generator for Rspec projects to Mobile.
- Add driver generator (download specific driver and install in the correct location)

## Contribution

Bug reports and receiving requests are welcome on GitHub at
https://github.com/brunobatista25/rubygene. This project is intended to be a safe and welcoming space for collaboration, and taxpayers 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
 [MIT License](https://opensource.org/licenses/MIT).

## Code of conduct

Everyone who interacts with the RubyGene project codebases, problem trackers, chat rooms, and mailing lists is expected to follow the
 [code of conduct](https://github.com/brunobatista25/rubygene/blob/master/CODE_OF_CONDUCT.md).


text:
---
name: Feature request
about: Recommend a feature to be added
title: Feature description
labels: enhancement
assignees: ''

---

**Describe the feature**
Include as much detail as possible, including example (imagined or desired) use cases, etc.

repository: ContextLab/CDL-bibliography

gha_language: TeX

repo_name: ContextLab/CDL-bibliography


text:
# SudoSolver

SudoSolver is a python 3 script that solves Sudoku puzzles using a backtracking algorithm.

## Installation

Download repository.

## Usage
in SudoSolver folder, change the file in.txt that contains the Sudoku puzzle, then launch SudoSolver.py to solve the puzzle, all steps are logged in the file out.txt

## 2.0
This is 1.0 version, it uses backtracking only, 2.0 uses recursive elimination with backtracking, it solves the puzzle much faster

## Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

## License
[MIT](https://choosealicense.com/licenses/mit/)

repository: KetchupOnWaffles/SudoSolver

gha_language: Python

repo_name: KetchupOnWaffles/SudoSolver


text:
# JSON::Class

A Role to allow Raku objects  to be constructed and serialised from/to JSON.

![Build Status](https://github.com/jonathanstowe/JSON-Class/workflows/CI/badge.svg)

## Synopsis

```raku

    use JSON::Class;

    class Something does JSON::Class {

        has Str $.foo;

    }

    my Something $something = Something.from-json('{ "foo" : "stuff" }');

    ...

    my Str $json = $something.to-json(); # -> '{ "foo" : "stuff" }'

```

or with 'opt-in' serialization:

```raku

    use JSON::Class;
    use JSON::OptIn;

    class Something does JSON::Class[:opt-in] {

        has Str $.foo is json;
        has Str $.secret = 'secret';

    }

    my Something $something = Something.from-json('{ "foo" : "stuff" }');

    ...

    my Str $json = $something.to-json(); # -> '{ "foo" : "stuff" }'

```

## Description

This is a simple role that provides methods to instantiate a class from a
JSON string that (hopefully,) represents it, and to serialise an object of
the class to a JSON string.  The JSON created from an instance should
round trip to a new instance with the same values for the "public attributes".
"Private" attributes (that is ones without accessors,) will be ignored for
both serialisation and de-serialisation.  The exact behaviour depends on that
of [JSON::Marshal](https://github.com/jonathanstowe/JSON-Marshal) and
[JSON::Unmarshal](https://github.com/tadzik/JSON-Unmarshal) respectively.

If the `:skip-null` adverb is provided to `to-json` all attributes
without a defined value will be ignored in serialisation. If you need
finer grained control then you should apply the `json-skip-null`
attribute trait (defined by `JSON::Marshal` ) to the attributes you
want to skip if they aren't defined (`:skip-null` will still have
the same effect though.)

If you don't need prettified, human readable JSON output then you can supply
the `:!pretty` adverb to `to-json`.

The  [JSON::Marshal](https://github.com/jonathanstowe/JSON-Marshal) and
[JSON::Unmarshal](https://github.com/tadzik/JSON-Unmarshal) provide traits
for controlling the unmarshalling/marshalling of specific attributes which are
re-exported by the module.

If your application exposes the marshalled data via, for example, an API, then
you may choose to use the `:opt-in` parameter to the role, which will cause only
those attributes that are explicitly marked to be marshalled, avoiding the risk
of inadvertently exposing sensitive data.  This is described in more detail in
[JSON::Marshal](https://github.com/jonathanstowe/JSON-Marshal).

## Installation

Assuming you have a working Rakudo installation you should be able to install this with *zef* :

    # From the source directory

    zef install .

    # Remote installation

    zef install JSON::Class

## Support

Suggestions/patches are welcomed via github at:

https://github.com/jonathanstowe/JSON-Class

## Licence

This is free software.

Please see the (LICENCE)[LICENCE] file in the distribution for the details.

© Jonathan Stowe 2015, 2016, 2017, 2019, 2020, 2021

repository: jonathanstowe/JSON-Class

repo_name: jonathanstowe/JSON-Class


text:
---
layout: default
title: Variables
description: A few variables accessible in swup instance that could be helpful
nav_order: 4
parent: API
permalink: /api/variables
---

# Variables
A few variables accessible in swup instance that could be helpful.

## transition
Holds information about latest transition in a form of object.
Variable is always set right at the beginning of transition (after `loadPage` method call) so it can be used further on.

```javascript
swup.transition = {
    from: 'homepage',   // route of previous page
    to: 'docs',         // route of next page
    custom: 'slide-in'  // content 'data-swup-transition' attribute or content of customTransition property passed to loadPage method
}
```

## options
Holds currently set options after merging set options.

## scrollToElement
Holds id of element that swup needs to scroll to after content replace (`href="/docs#this_is_scrollToElement"`).

## plugins
Array of all plugin instances currently enabled on swup.

repository: Robin-GH/docs

repo_name: Robin-GH/docs


text:
# SOAP-sink built with Zeep

A small microservice to post data to a SOAP endpoint.
All entities must have a "_soapheaders" attribute.

[![Build Status](https://travis-ci.org/sesam-community/proarc.svg?branch=master)](https://travis-ci.org/sesam-community/proarc)

##### Environment options

* `PORT` - which port this service should run on
* `url` - URL to ProArc SOAP API
* `proarc_user` - Proarc user id to be used in SOAP requests
* `AUTH` - authentication schema to use
    * empty string - use without authenticaiton
    * wssecurity - use Web Services Security
    * basic - use basic authentication
* `username` - user name for basic authentication
* `password` - password for basic authentication
* `file_url` - input entity attribute that contains URL to file
that need to be uploaded to Proarc
* `file_name` - input entity attribute that contains name of file
to be uploaded to Proarc
* `FILE_DOWNLOADER_URL` - URL to CIFS/SMB service (if used) that can download/(upload?)
files from CIFS share (Proarc stores files on such shares)
* `PROARC_SHARE_NAME` - Proarc share name
* `PROARC_SHARE_PATH` - Proarc path to shared folder (relative to share name)

##### Example entity
```
{
  "_ts":<PHONE_NUMBER>194780,
  "_previous": null,
  "_hash": "50d93095f6fb68e7517ea89e62c60af8",
  "_id": "29932",
  "_deleted": false,
  "_updated": 8,
  "_soapheaders": {
    "header": {
      [...]
    }
  },
  "Medarbeider": {
    [...]
  }
}
```
##### Example configuration:

```
{
  "_id": "proarc-service",
  "type": "system:microservice",
  "docker": {
    "environment": {
      "FILE_DOWNLOADER_URL": "http://proarc-file-loader-service:5000",
      "PROARC_SHARE_NAME": "ProArc",
      "PROARC_SHARE_PATH": "subfolder1/subfolder2/subfolder3",
      "authentication": "basic",
      "file_name": "file_name",
      "file_url": "file_url",
      "logLevelDefault": "DEBUG",
      "password": "$SECRET(password)",
      "proarc_user": "$ENV(username)",
      "transit_decode": "true",
      "url": "http://<proarc service URL>/FileManager.svc?wsdl",
      "username": "$ENV(username)"
    },
    "hosts": {
      "proarc.hostname.url": "<proarc IP address>"
    },
    "image": "sesamcommunity/proarc",
    "port": 5000
  },
  "verify_ssl": true
}

```

repository: sesam-community/proarc

repo_name: sesam-community/proarc


text:
# springboot-graphql-example
[![Build Status](https://travis-ci.org/gregwhitaker/springboot-graphql-example.svg?branch=master)](https://travis-ci.org/gregwhitaker/springboot-graphql-example)

An example of a [GraphQL](http://graphql.org/) service implemented in [Spring Boot](https://projects.spring.io/spring-boot/).

The example exposes a GraphQL API that allows the user to store and query `Link` objects containing a url and a short description.

## Running the Example
1. Start the example by running the following Gradle command:

        $ ./gradlew bootRun

2. Once the application has started, use the embedded [GraphiQL](https://github.com/graphql/graphiql) environment to interact with the API at [http://localhost:8080/graphiql](http://localhost:8080/graphiql).

3. To list all `Link` objects, execute the following graphql query in the [GraphiQL interface](http://localhost:8080/graphiql):

        {
          allLinks {
            url
            description
          }
        }

    You should see the following response:

        {
          "data": {
            "allLinks": [
              {
                "url": "https://www.netifi.com",
                "description": "Autonomous microservices platform"
              },
              {
                "url": "http://howtographql.com",
                "description": "Your favorite GraphQL page"
              },
              {
                "url": "http://graphql.org/learn/",
                "description": "The official docks"
              }
            ]
          }
        }

4. Next, add a new `Link` by executing the following graphql mutation in the [GraphiQL interface](http://localhost:8080/graphiql):

        mutation linkCreate {
          linkCreate(
            url: "https://www.google.com",
            description: "Google"
          ) {
            url
            description
          }
        }

    If the mutation was successful you should see the following response:

        {
          "data": {
            "linkCreate": {
              "url": "https://www.google.com",
              "description": "Google"
            }
          }
        }

5. Finally, execute the `allLinks` query again by running the following graphql query in the [GraphiQL interface](http://localhost:8080/graphiql):

        {
          allLinks {
            url
            description
          }
        }

    You should see the link you added now being returned in the response:

        {
          "data": {
            "allLinks": [
              {
                "url": "https://www.netifi.com",
                "description": "Autonomous microservices platform"
              },
              {
                "url": "http://howtographql.com",
                "description": "Your favorite GraphQL page"
              },
              {
                "url": "http://graphql.org/learn/",
                "description": "The official docks"
              },
              {
                "url": "https://www.google.com",
                "description": "Google"
              }
            ]
          }
        }

## Bugs and Feedback
For bugs, questions, and discussions please use the [Github Issues](https://github.com/gregwhitaker/springboot-graphql-example/issues).

## License
MIT License

Copyright (c) 2018 Greg Whitaker

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: zolekm/springboot-graphql-example

repo_name: zolekm/springboot-graphql-example


text:
# Entoloma acuminatum E. Horak, 1980 SPECIES

#### Status
ACCEPTED

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

#### Published in
Beih. Nova Hedwigia 65: 183 (1980)

#### Original name
Nolanea apiculata Petch, 1924

### Remarks
null

repository: mdoering/backbone

repo_name: mdoering/backbone


text:
---
layout: post
title:  "Throwing Shield  (1200 GP)"
date:   2016-03-10 12:36:11 +0100
categories: jekyll update
excerpt: "Confers the same AC bonus as a regular shield, and can be used as a thrown weapon."
published: false
---

Confers the same AC bonus as a regular shield, and can be used as a thrown weapon. Can travel IN A STRAIGHT LINE up to 30 feet, and deals 1d8 + STR/Prof. Damage.
IT DOESN’T COME BACK TO YOU AFTERWARDS. AND DON’T TRY TO RICOCHET THIS SHIT.

Download Fight Club XML File

extension: markdown

gha_language: HTML


text:
Task: SQuAD2
=============
Description: Open-domain QA dataset answerable from a given paragraph from Wikipedia, from Rajpurkar & Jia et al. '18.

Link: http://arxiv.org/abs/1806.03822

Tags: #SQuAD2, #All, #QA

repository: facebookresearch/ParlAI

branch_name: refs/heads/main

repo_name: facebookresearch/ParlAI


text:
---
layout: guidepost
title: When To Bold Text
categories: ["guide", "Lettering"]
---

This is a point of contention among creators so I decided to break it out into its own section.

**Some letterers believe bolding should be used to emphasize key points in dialogue.** The idea is that you should be able to read just the bolded points and still get a clear understanding of what’s going on.

“Have you been **outside** today? The **weather** has been crazy. So **hot**. By the way, **Jim** is **dead**.”

That’s an exaggeration but you get the idea. If you noticed, I use this technique with the guide.

The problem with this style is that it often breaks the natural reading flow of the text. Because of this, **some letterers believe that bolding should be reserved for emphasis in speech**.

Personally I tend to agree with the second group since I find the excessive use of bolding gets obnoxious after a while. It’s a bit like putting commas, everywhere, in your, dialogue. That said, if you’re going for a classic comic feel you might want to consider that first approach.

gha_language: CSS


text:
#  Learning to Segment from Scribbles using Multi-scale Adversarial Attention Gates

Code for the paper:

> Valvano, Gabriele, Andrea Leo, and Sotirios A. Tsaftaris. "Learning to Segment from Scribbles using Multi-scale Adversarial Attention Gates." IEEE Transactions on Medical Imaging (2021).

The official project page is [here](https://vios-s.github.io/multiscale-adversarial-attention-gates).
An online version of the paper can be found [here](https://arxiv.org/abs/2007.01152).

## Citation:
```
@ARTICLE{9389796,
  author={Valvano, Gabriele and Leo, Andrea and Tsaftaris, Sotirios A.},
  journal={IEEE Transactions on Medical Imaging},
  title={Learning to Segment from Scribbles using Multi-scale Adversarial Attention Gates},
  year={2021},
  volume={},
  number={},
  pages={1-1},
  doi={10.1109/TMI.2021.3069634}
}
```

<img src="https://github.com/vios-s/multiscale-adversarial-attention-gates/blob/main/images/banner.png" alt="mscale_aags" width="600"/>

----------------------------------

## Notes:

You can find the entire tensorflow model inside `expriments/acdc/model.py`. This file contains the main class that is used to train on the ACDC dataset. Please, refer to the class method `define_model()` to see how to correctly build the CNN architecture. The structure of the segmentor and the discriminator alone can be found under the folder `architectures`.

Once you download the [ACDC dataset](https://www.creatis.insa-lyon.fr/Challenge/acdc/databases.html) and the [scribble annotations](https://vios-s.github.io/multiscale-adversarial-attention-gates/data), you can pre-process it using the code in the file `data_interface/utils_acdc/prepare_dataset.py`.
You can also train with custom datasets, but you must adhere to the template required by `data_interface/interfaces/dataset_wrapper.py`, which assumes the access to the dataset is through a tensorflow dataset iterator.

Once preprocessed the data, you can start the training running the command:
```
python -m train --RUN_ID="${run_id}"_${perc}_${split} --n_epochs=450 --CUDA_VISIBLE_DEVICE=${CUDA_VD} --data_path=${dpath} --experiment="${path}" --dataset_name=${dset_name} --verbose=True --results_dir=${res_dir} --n_sup_vols=${perc} --split_number=${split}
```
This will train the model and do a final test on the ACDC dataset.
If you also want to test the results using the challenge server, after running the above command, you must run:
```
python -m test_on_acdc_test_set --RUN_ID="${run_id}"_${perc}_${split} --CUDA_VISIBLE_DEVICE=${CUDA_VD} --data_path=${dpath} --experiment="${path}" --dataset_name=${dset_name} --verbose=False --n_sup_vols=${perc} --split_number=${split}
```
and then submit the results as explained [here](https://acdc.creatis.insa-lyon.fr/description/databasesTesting.html).

Refer to the file `run.sh` for a complete example.

## Requirements
This code was implemented using TensorFlow 1.14.
We tested it on a TITAN Xp GPU, and on a GeForce GTX 1080, using CUDA 8.0, 9.0 and 10.2.


text:
# JSS Health Check Utility (Beta)

The JSS Health Check Utility is a lightweight tool for JSS administrators to run inside of their environments to perform automated health checks. It performs checks for things that commonly appear during scheduled health checks, like having too little RAM, expiring items, bad scripts, etc. Simply provide the tool the JSS URL, Username, and Password. The tool will perform API GETs to the JSS, get the JSS Summary, as well as run some commands on the system, and then display a report to the end user. Nothing is ever edited, only read. The goal of this tool is to help administrators identify issues with their environment before the issues arise. This tool was written in Java, to be cross platform and available to as many as possible.
**This tool is provided "AS IS", therefore no support from JAMF Software is guaranteed.**

## Getting Started

The latest release will always be available in the "Releases" button above. (See screenshot)

![Download Help](http://i.imgur.com/M1bFLiq.png "Download Help")

The tool runs cross platform on Mac, Windows and headless Linux, with the Linux version using a text interface. It requires Java 7+. There is a single binary that runs across all platforms. A configuration XML file is read by the tool to find values to use in health calculation. The configuration file available for download in the releases tab contains general data, but it can be easily tweaked for your specific environment. Simply point the tool to the path to this file, on first run, and then everything is complete. (If the xml file is in the same directory as the jar, it will auto-discover the xml file).

### Downloading and Running

* Grab (Download) the latest release of the healthcheck.jar as well as the config.xml. (Chrome may warn you that this .jar file may harm your computer, but this can be ignored. The tool never writes anything to either the system, or server.)
* If you are Windows or Mac OS X simply double click the tool to open it. (If you have gatekeeper enabled, you may have to right click the .jar file, then select "Open")
* If you are running Linux, or would like more debugging available, run the tool with this command:

```
java -jar healthcheck.jar
```

Everything generated by the tool can be outputted by starting it with this command:

```
java -jar healthcheck.jar > output.txt
```

If you would like to run the headless, text only version on OS X or Windows run the program with the -h flag:

```
java -jar healthcheck.jar -h
```

* Provide a JSS URL and user account that has, at least, full read permissions.

_The JSS URL must include the full fqdn. EG: https://jss.jamfsw.com:8443_
* Click "Begin Health Check"!

<img src="http://i.imgur.com/guI5zrS.png" width="50%" height="50%">

## What does the tool check for?
- **Below data is pulled from the system, and will only be accurate if ran on the server**
- The amount of free/max memory and the amount of free/max space on disk
- **Below data is pulled from the JSS Summary**
- Web App Directory, Java Vendor, Database size and large SQL Tables
- Password Requirement Strength, Clustering and Activation Code Expiration
- Change Management Info, Tomcat Info, Log Flushing Settings and Login/Logout Hook Info
- Checks for mismatching database tables
- OS, Java, and Tomcat Version
- **Below data is pulled from the JSS API**
- GETs Activation code to be displayed in the interface
- GETs the computer Check-In frequency and ensures it is not too high for the environment size
- GETs LDAP Server Information to Display
- GETs GSX and Managed Preference profile information and checks if it is being used
- GETs Computer, Mobile and User group information and warns of high criteria count or nested smart groups
- GETs VPP Accounts and checks for expiring tokens
- GETs all of the scripts, and checks for the old binary version or several other unsafe commands
- GETs printer information, and warns if the printer has a large driver package
- GETs Mobile and Computer Extension Attributes and warns if there are a large number of them
- GETs Network Segments and the SMTP server to display to the user
- GETs all policies, and checks for policies that contain an update inventory with recurring checkin enabled

After all of this data is pulled, the tool will parse the data, and display important items to the end user. The items that relate to the system are not displayed with cloud hosted JSSs.

### Changelog
v1.0-beta.3
* Several bug fixes
* Changes some wording in health check messages
* Adds additional checks to the headless version
* Adds more error checking

v1.0-beta.2
* Added checks for mismatching database tables
* Added more script checks
* Prompts user again when they select a directory that doesn't exist for test output
* Updates wording and error messages in several spots
* Error/Exception handling: the tool will continue to run, just without the data that caused the exception
* Gathers as much data as possible from the summary, instead of running system commands
* Other small bug fixes

v1.0-beta.1
* First Release

### Screenshots
![Screen One](http://i.imgur.com/Meu8rmm.png "Screen One")
![Screen Two](http://i.imgur.com/wDGidaO.png "Screen Two")
![Screen Three](http://i.imgur.com/S40Ni8T.png "Screen Three")

## Libraries Used and Acknowledgments

* Apache Commons Codec and Commons Lang
* Google JSON (gson)
* Java X JSON
* JDOM
* Java MySQL Connector

## Authors

* **Jake Schultz (JAMF Software)** -Development
* **Carlton Brumbelow (JAMF Software)** -Test Design and Interface
* **Matt Hegge (JAMF Software)** -Test Design and Interface

## Support

This tool is provided AS IS, and thus no support from JAMF Software, or any other entities is guaranteed. While in it's beta stage, please contact Jake Schultz with any questions or bugs<EMAIL_ADDRESS>Please include any output from the tool in any emails.

## Source Code

The source code for this tool is now being distributed freely. The code should be considered in a beta stage as well, and is subject to large changes before release. Please create pull requests for any bug fixes or additions/changes you may make.

To compile you must have all of the required libraries downloaded including Apache Commons Codec, Commons Lang, GSON, JavaX JSON, JDOM and the Java MySQL connector. All of the source code lives in the /src directory.

## Source Code TODO
* Redo the Interface with a Java -> Javascript bridge allowing the interface to be done with HTML5/Javascript/CSS
* Standarize Variable Names
* Refactor Panel Generation Code
* Finish Java Docs
* Clean up HealthCheck class
* Implement a library to generate the JSON

## License

The MIT License (MIT)

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: andysenn/HealthCheckUtility

gha_language: Java

repo_name: andysenn/HealthCheckUtility


text:
# Introduction to Go: Storing data in Redis Database

Up until now, we've learned the fundamentals of Go and built a small web microservice that handles our video data.
Our service has a `/` `GET` endpoint for returning all videos, as well as a simple `/update` endpoint for updating our list of videos.

We've learnt how to read and write from files and learn how to work with `json` data.

This is important for learning Go, however there are a few challenges for using a file as storage.

* It can be problematic if we have more than one instance of our service writing to the same file
* It's important to keep state out of our application, so if our application crashes, we don't lose our data

[In part 1](../readme.md), we covered the fundamentals of writing basic Go

[In part 2](../part-2.json/readme.md), we've learnt how to use basic data structures like `json` so we can send\receive data.

[In part 3](../part-3.http/readme.md), we've learnt how to write a HTTP service to expose our videos data

## Start up a Redis Cluster

Follow my Redis clustering Tutorial

Code is over [here](../../../storage/redis/clustering/readme.md)

## Go Dev Environment

The same as Part 1+2+3+4, we start with a [dockerfile](./dockerfile) where we declare our version of `go`.

The `dockerfile`:

```
FROM golang:1.15-alpine as dev

WORKDIR /work
```

Let's build and start our container:

```
cd golang\introduction\part-5.database.redis

docker build --target dev . -t go
docker run -it -p 80:80 -v ${PWD}:/work go sh
go version
```

## Our application

Create a new directory that holds defines our `repository` and holds our `module`

```
mkdir videos

```

* Define a module path

```
# change directory to your application source code

cd videos

# create a go module file

go mod init videos

```

## Create our base code

We start out all our applications with a `main.go` defining our `package`, declaring our `import` dependencies

and our entrypoint `main()` function

```
package main

import (
	"net/http"
	"encoding/json"
	"io/ioutil"
	"fmt"
)

func main() {

	http.HandleFunc("/", HandleGetVideos)
	http.HandleFunc("/update", HandleUpdateVideos)

	http.ListenAndServe(":80", nil)
}
```

Now before we write these handler functions, we need our videos application

## Create our Videos app

Firstly, we create a separate code file `videos.go` that deals with our YouTube videos

The `videos.go` file defines what a video `struct` looks like, a `getVideos()` function to retrieve

videos list as a slice and a `saveVideos()` function to save videos to a file locally.

We start with our dependencies.

We import 2 packages, 1 for reading and writing files, and another for dealing with `json`

```
package main

import (
	"io/ioutil"
	"encoding/json"
)

```

Then we define what a video `struct` looks like:

```
type video struct {
	Id string
	Title string
	Description string
	Imageurl string
	Url string
}
```

We have a function for retrieving `video` objects as a list of type `slice` :

```
func getVideos()(videos []video){

	fileBytes, err := ioutil.ReadFile("./videos.json")

	if err != nil {
		panic(err)
	}

	err = json.Unmarshal(fileBytes, &videos)

	if err != nil {
		panic(err)
	}

	return videos
}

```

We also need to copy our `videos.json` file which contains our video data.

And finally, we have a function that accepts a list of type `slice` and stores the videos to a local file

```
func saveVideos(videos []video)(){

  videoBytes, err  := json.Marshal(videos)
  if err != nil {
		panic(err)
	}

	err = ioutil.WriteFile("./videos.json", videoBytes, 0644)
  if err != nil {
		panic(err)
	}

}
```

## HTTP Handlers

Now we have to define our handler functions `HandleGetVideos` and `HandleUpdateVideos`,

```
func HandleGetVideos(w http.ResponseWriter, r *http.Request){

	videos := getVideos()
	videoBytes, err  := json.Marshal(videos)

	if err != nil {
  	panic(err)
	}

	w.Write(videoBytes)
}

func HandleUpdateVideos(w http.ResponseWriter, r *http.Request){

	if r.Method == "POST" {

			body, err := ioutil.ReadAll(r.Body)
			if err != nil {
				panic(err)
			}

			var videos []video
			err = json.Unmarshal(body, &videos)
			if err != nil {
				w.WriteHeader(400)
				fmt.Fprintf(w, "Bad request")
			}

			saveVideos(videos)

		} else {
			w.WriteHeader(405)
			fmt.Fprintf(w, "Method not Supported!")
		}
}

```

Now so far, we have a web HTTP application that can list and update our youtube videos.

Let's build and run it

```
go build

./videos

```

If we head over to `http://localhost` in the browser we can see our application returns our 2 videos.
.
We can use tools like PostMan to generate a `POST` request to update our videos too.

## Redis Go Package

Now instead of reading and writing our records to a `json` file, we are going to read and write records to Redis.

https://github.com/go-redis/redis/

```
go get github.com/go-redis/redis/v8

```

And to use the library, we have to import it

```
import (
  "github.com/go-redis/redis/v8"
)
```

Now to connect to any database, you're going to need a bit of information:

* Database Address
* Database Port
* Database Username\Password

We can define these as environment variables and read those in our code

```
import (
  "os"
)
//main.go (global variables)

var redis_sentinels = os.Getenv("REDIS_SENTINELS")
var redis_master = os.Getenv("REDIS_MASTER_NAME")
var redis_password = os.Getenv("REDIS_PASSWORD")

```

We define an empty context and Redis client
Context can be used to control timeouts and deadlines for our application. We can set up an empty context for now.

```
import (
  "context"
)

var ctx = context.Background()
var redisClient *redis.Client

```

## Redis Sentinel Client

https://redis.uptrace.dev/guide/sentinel.html#redis-server-client

```
import (
  "strings"
)

sentinelAddrs := strings.Split(redis_sentinels, ",")
rdb := redis.NewFailoverClient(&redis.FailoverOptions{
  MasterName:     redis_master,
  SentinelAddrs:  sentinelAddrs,
  Password: redis_password,
  DB: 0,
})

redisClient = rdb

rdb.Ping(ctx)
```

We can also add the `Ping()` to our handler functions to ensure it can connect using the global redis client variable

## Networking

Now we need to remember our go container may not be able to talk to the redis containers because they are running on different networks.

If you took note, we started our Redis containers on a `redis` network by passing `--net redis` as a flag to our `docker run` commands.

Let's restart our Go container on the same network

We also need to set our `ENV` variables to point our container to the redis sentinels.

If we look at our sentinel configuration, our master alias is set to `mymaster`

```
docker run -it -p 80:80 `
  --net redis `
  -e REDIS_SENTINELS="sentinel-0:5000,sentinel-1:5000,sentinel-2:5000" `
  -e REDIS_MASTER_NAME="mymaster" `
  -e REDIS_PASSWORD="a-very-complex-password-here" `
  -v ${PWD}:/work go sh
```

We can now observe our container is connected to Redis.

Our application: [http://localhost](http://localhost)

# Store our Data

So now we can store our video data in Redis instead of a local `json` file.

We'll write the `json` document of a video (struct) to Redis.

Let's create a `saveVideo()` function that stores a single record.

```
func saveVideo(video video)(){

  videoBytes, err  := json.Marshal(video)
  if err != nil {
		panic(err)
	}

	err = redisClient.Set(ctx, video.Id, videoBytes, 0).Err()
	if err != nil {
		panic(err)
	}
}
```

Now since we have one endpoint that saves all videos, we need to update it to save each video it has.

```
func saveVideos(videos []video)(){
	for _, video := range videos {
		saveVideo(video)
	}
}
```

To get the videos, let's create a function to retrieve a single record:

```
func getVideo(id string)(video video) {

	value, err := redisClient.Get(ctx, id).Result()

	if err != nil {
		panic(err)
	}

	if err != redis.Nil {
		err = json.Unmarshal([]byte(value), &video)
	}

	return video
}

```

And finally we need to update our `GetVideos()` function to loop all the video keys and return all videos

```
func getVideos()(videos []video){

	keys, err := redisClient.Keys(ctx,"*").Result()

	if err != nil {
		panic(err)
	}

	for _, key := range keys {
		video := getVideo(key)
		videos = append(videos, video)
	}

	return videos
}

```

And we need all our imports

```
import (
	"encoding/json"
	"github.com/go-redis/redis/v8"
)
```

Now if we rebuild our all and access it, we get `null` as there are no videos in Redis. Let's add two!

Let's `POST` the following using PostMan to url `http://localhost/update`
```
[
	{
		"id" : "QThadS3Soig",
		"title" : "Kubernetes on Amazon",
		"imageurl" : "https://i.ytimg.com/vi/QThadS3Soig/sddefault.jpg",
		"url" : "https://youtu.be/QThadS3Soig",
		"description" : "TEST"
	},
	{
		"id" : "eyvLwK5C2dw",
		"title" : "Kubernetes on Azure",
		"imageurl" : "https://i.ytimg.com/vi/eyvLwK5C2dw/mqdefault.jpg?sqp=CISC_PoF&rs=AOn4CLDo7kizrJozB0pxBhxL9JbyiW_EPw",
		"url" : "https://youtu.be/eyvLwK5C2dw",
		"description" : "TEST"
	}
]

```

If we refresh our page, we can now see two records!

# Improvements

Now that you have the fundamental knowledge of HTTP and Redis,

you can update the code to retrieve 1 video by ID, or delete a video by ID.

You can add search functionality and more!

Let's update our `/ GET` handler to be able to return a single video

```
func HandleGetVideos(w http.ResponseWriter, r *http.Request){

	id, ok := r.URL.Query()["id"]

	if ok {

    videoID := id[0]
    video := getVideo(videoID)

		if video.Id == "" { //video not found, or empty ID
			w.WriteHeader(http.StatusNotFound)
			w.Write([]byte("{}"))
			return
		}

		videoBytes, err  := json.Marshal(video)
		if err != nil {
  		panic(err)
		}

		w.Write(videoBytes)
    return

	}

	videos := getVideos()
	videoBytes, err  := json.Marshal(videos)

	if err != nil {
  	panic(err)
	}

	w.Write(videoBytes)
}
```

We can also update our `/update POST` endpoint to be able to update a single video

```
func HandleUpdateVideos(w http.ResponseWriter, r *http.Request){

	if r.Method == "POST" {

			body, err := ioutil.ReadAll(r.Body)
			if err != nil {
				panic(err)
			}

			_, ok := r.URL.Query()["id"]
			if ok {

				var video video
				err = json.Unmarshal(body, &video)
				if err != nil {
					w.WriteHeader(400)
					fmt.Fprintf(w, "Bad request")
				}

				saveVideo(video)
				return

			}

			var videos []video
			err = json.Unmarshal(body, &videos)
			if err != nil {
				w.WriteHeader(400)
				fmt.Fprintf(w, "Bad request")
			}

			saveVideos(videos)
			return

		} else {
			w.WriteHeader(405)
			fmt.Fprintf(w, "Method not Supported!")
		}
}
```

# Build our Docker container

Full `dockerfile` :

```
FROM golang:1.15-alpine as dev

WORKDIR /work

FROM golang:1.15-alpine as build

WORKDIR /videos
COPY ./videos/* /videos/
RUN go build -o videos

FROM alpine as runtime
COPY --from=build /videos/videos /
CMD ./videos

```

Build :
```
cd golang\introduction\part-5.database.redis
docker build . -t videos
```

Run :
```
docker run -it -p 80:80 `
  --net redis `
  -e REDIS_SENTINELS="sentinel-0:5000,sentinel-1:5000,sentinel-2:5000" `
  -e REDIS_MASTER_NAME="mymaster" `
  -e REDIS_PASSWORD="a-very-complex-password-here" `
  videos
```


text:
# RenView

### A restaurant review service

---

##### Tech Stack:
- Backend: **Node.js** with **Express.js** using **MongoDB** for database.
- Frontend: **iOS/Android** mobile  app based on **Flutter** framework.

repository: rencevio/RenView

repo_name: rencevio/RenView


text:
# Using POST with Query Parameters

Sending a POST message with query parameters is an unusual scenario, but
the ESB supports it with no additional configuration. The ESB
profile forwards the message like any other POST message and includes
the query parameters.

To test this scenario, use the same setup as above, but instead of
removing the data part from the request, add some query parameters to
the URL as follows:

`curl -v -H "Content-Type: text/xml" -d "<Customer><id>123</id><name>John</name></Customer>" 'http://localhost:8280/customerservice/customers?param1=value1&param2=value2'`

When you execute this command, you can see the following output in tcpmon:

```
POST /jaxrs_basic/services/customers/customerservice/customers?param1=value1&param2=value2 HTTP/1.1
    Content-Type: application/xml; charset=UTF-8
    Accept: */*
    Transfer-Encoding: chunked
    Host: <IP_ADDRESS>:8282
    Connection: Keep-Alive

    32
    <Customer><id>123</id><name>John</name></Customer>
    0
```

As you can see, the query parameters are present in the REST request, demonstrating that the ESB profile sent them along with the message. You could write resource methods to support this type of a request. In this example, the resource method accessed by this request simply ignores the parameters.

repository: shaniR/docs-ei

repo_name: shaniR/docs-ei


text:
---
layout: default
---

# 1993-08-15 - Encrypting Viruses.... good idea?

## Header Data

From<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash: fe5d3630fe0789de64f88cf06eefbc9041132f0837b0a4a123ef2c93bb7e8960

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1993-08-15 00:56:47 UTC

Raw Date: Sat, 14 Aug 93 17:56:47 PDT

## Raw message

```
{% raw  %}From<EMAIL_ADDRESS>Date: Sat, 14 Aug 93 17:56:47 PDT
To<EMAIL_ADDRESS>Subject: Encrypting Viruses.... good idea?
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

-----BEGIN PGP SIGNED MESSAGE-----

>Speaking of cryptostacker and beneficial viruses that encrypt files for you
>in the background, I just got a copy of one in the mail!  I think this may
>be of interest to the group, so I am posting.
                        .........
>I can't seem to find mention of what the fast/casual encryption algorithm
>is.  Instead of source code, a hex listing is provided.  According to
>further notes, there is a hot-key for toggling floppy encrypt, and another
>hot key to uninstall from the hard drive.
>
>All the same, if I get a chance this weekend I'll probably try it
>out!

        Well, good luck with it.  I'd personally like to see/do a disassembly
of the _entire_ virus before I would install it - security systems are great
for back doors, and a virus would be GREAT for such.  There are a few things
anyone using this program might want to watch for (I have yet to see it,
though I'd be VERY interested in disassembling it....  anyone out there
with a copy that wouldn't mind sending it _ENCRYPTED_ through E-mail?
Full commented disassembly returned to sender ASAP!):

        1.)  Some anti-virus programs with heuristics are going to have a
             cow, most likely - CES, F-PROT, TBSCAN are a few that are likely
             (especially VIRSTOP from F-Prot - if I'm wrong, tell me...)
             and these are some of the best out there for personal protection
             (sorry SCAN & CPAV).

        2.)  I'd recommend NOT using it if you have a special master boot
             record, like Windows NT or some boot-based security systems
             or multiple boot choices.  There are 9 sectors free at the
             beginning of most IBM hard drives, I assume this virus uses
             the first sector and 1/more of the others.....  if another
             program wants to use these as well - I'd bet the virus doesn't
             notice until too late.

        3.)  Watch where the virus puts itself on floppies.  If it is larger
             than 512 bytes (almost have to be for its functionality) then
             there are only three ways I know of to put additional code in:

             a.) Mark sectors bad, and place code there.
                  Use space after root directory entry and FAT to put virus
                 in, just like the Stoned virus.
                 Problem: Trashes data if there are more than 80 files in the
                          root directory.  Also sometimes causes other
                          problems with High-Density disks....
                          And, if a new format of disk comes out - WATCH OUT!

             c.) Format extra tracks on the floppy - these tracks are rarely
                 very reliable - you might loose information if these
                 tracks give out, depending on the setup of the virus you
                 might loose the disk.

             d.) This method I haven't seen, but I guess it could happen -
                 create an actual file and allocate it from the FAT....
                 this might actually be safe, as long as the virus didn't
                 let anyone delete it or write over it.

        4.)  Watch where it locates itself in memory: most likely it will
             lower the memory in BIOS before DOS gets loaded (CHKDSK will
             inform you that you have <640k low memory rather than the
             usual 65536 bytes....) which is generally relatively safe if
             the computer has a standard config.  It may cause problems
             depending on where/how/when it allocates memory, though.

        5.)  What happens when you bypass Int 13h (which is presumably what
             it hooks) and use absolute disk I/O by directly using the
             driver?  Careful with Norton and other diskfix programs
             that _might_ do this at times.....

        6.)  Don't press 'DISINFECT' from your favorite AV program
             without decrypting your disks first...........

     My bottome line is this: the virus may be cool, but why a virus?
Viruses may work for attacking things, wiping stuff out, hacking stuff,
whatever (although they always tend to hit more than the intended target,
funny thing about that), but when the only user of a machine WANTS to do
something with their machine, why a virus?  I mean, honestly......  although
I must admit, it solves the problem of distribution of software in
the most interesting way - I want to see what happens if a commercial
company writes one of these and COPYRIGHTS it......

"This program may only be used by the original purchaser.  Any unauthorized
 copying, lending, or any other method of distribution is STRICTLY
 PROHIBITED!  Violators will be prosecuted to the full extent of the law!
 You want I should infect this here hard drive? huh? huh? (Y/n)?"

 "BTW - if you're reading this message and did not buy this software, then
 we'll be sueing you in two weeks, your modem just dialed our mainframe."

I suppose I may be being a bit judgemental, as I am speaking simply from
the letter quoted above, but still......  it sounds very reminiscent of
Fred Cohen's compression virus.....

My Public Key:
- -----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.3a

mQCNAixUuYYAAAEEAKNllAee26qGqxJck3Bftdkrz0MUQLABGMZqVem9UW9kjjS+
rMAafauqYTE5/Kdnx+4Asj0Wgfon0YBtRMT0crMcBYNqVp4//RUh7wrxQNvKFeeO
ZGuQp2hyHQqh1FDfWsHG4ldGqIV1YuOXq6oeIDkmbwgf8BRgPcZkwUqsF4b1AAUR
tCpNaWNoYWVsIEEuIEVsbGlzb24gPGllNjNAdmF4Yi5hY3MudW50LmVkdT4=
=0rss
- -----END PGP PUBLIC KEY BLOCK-----

-----BEGIN PGP SIGNATURE-----
Version: 2.3a

iQCVAgUBLG2BMcZkwUqsF4b1AQGe+wP+OeEKZd71ObybB4RuWa6rg761g0sNIqza
L733m6EJkuxTzy0c9TwVO+S1+QXiI44O85QOA7dc84YQ0Y65Y6yEzudSSlFAN6UB
CpjOQkia18ruY1CXY6mXsCAiNotWHzm2hcXASWLXXXkJi37jnfAOp3N+xWSk2+g6
Zm+0zgWa6hg=
=YSOp
-----END PGP SIGNATURE-----

{% endraw %}
```

## Thread

+ Return to [August 1993](/archive/1993/08)

+ Return to "[IE63@vaxb.acs.unt.edu](/authors/ie63_at_vaxb_acs_unt_edu)"

+ 1993-08-15 (Sat, 14 Aug 93 17:56:47 PDT) - Encrypting Viruses.... good idea? -<EMAIL_ADDRESS>


text:
# Build a Minecraft Server

My son has asked me to help him build a Minecraft Server! I am totally making
this a teaching project for him. I will use this README.md to walk him through
the process of building and later maintaining the server.

I will be giving him my old Dell XPS Mini Tower with the following specs:
- Intel Core i7 Processor
- 32GB of RAM
- 250GB SSD Drive

Regarding Operating Systems and Software, he will install the following:
- Ubuntu 18.04 Server (He already has experience building a Ubuntu Laptop)
- Paper Minecraft (Recommended for better performance)

## Install Ubuntu 18.04
### Create Boot USB
On a Linux system, insert a 4GB+ USB Drive in the systems USB slot, and then
execute the following commands as root:
```bash
# Download latest Ubuntu 18.04 ISO image
curl -O https://releases.ubuntu.com/18.04/ubuntu-18.04.5-live-server-amd64.iso
# Find the device name of the USB Drive
sudo fdisk -l
# Once your find the device name (likely /dev/sdb), start the imaging of the USB drive with the ISO image
dd if=ubuntu-18.04.5-live-server-amd64.iso of=/dev/sdb bs=4M
```
Wait for the command to finish, and remove the USB Drive.

## Install Java

```bash
sudo apt update  # Update Apt Package Repository Metadata
sudo apt install openjdk-11-jre-headless  # Install JVM for Minecraft Server
# Function check for JRE/JVM
java -version
```

## Create Firewall Rule
```bash
sudo ufw status verbose  # check current status of OS firewall
sudo ufw allow ssh  # Add rule for SSH access
sudo ufw allow 25565  # Add rule for Minecraft Service
sudo ufw status verbose  # check post configuration status of OS firewall
```

## Install Minecraft Server
```bash
# Add service account for Minecraft service
useradd --system --shell /bin/bash --home /opt/minecraft -g minecraft minecraft
# Create and set ownership and permissions for working directory
sudo mkdir -p /opt/minecraft
sudo chown -R minecraft: /opt/minecraft
# Change to minecraft service account
sudo su - minecraft
# Download latest Paper Minecraft Server JAR file
curl -O /opt/minecraft/ https://papermc.io/api/v2/projects/paper/versions/1.16.5/builds/468/downloads/paper-1.16.5-468.jar
# Accept the EULA
echo "eula=true" > /opt/minecraft/eula.txt
screen
java -Xms1024M -Xmx1024M -jar paper-1.16.5-468.jar nogui
```
Once you are finished, press `Ctrl + A + D` to detach from the screen session. You can log out of your terminal session now.

repository: gjclaro/minecraft-server-build

repo_name: gjclaro/minecraft-server-build


text:
## Testing/Mocks: HTTP Handlers

Once registered, handlers continue to serve matching requests until canceled or
until the transport mocks are reset/uninstalled.

### Registering a handler to match requests by URI

> The expected URI must match exactly, including scheme, host, path, and query.

```dart
MockTransports.http.when(
    Uri.parse('https://example.org/resource'),
    (FinalizedRequest request) async {
      if (request.method == 'GET') {
        return new MockResponse.ok(body: '...');
      }
      if (request.method == 'DELETE') {
        return new MockResponse(204);
      }
      ...
    });
```

### Registering a handler to match requests by URI and method

```dart
MockTransports.http.when(
    Uri.parse('https://example.org/resource'),
    (FinalizedRequest request) async => new MockResponse.ok(body: '...'),
    method: 'GET');
```

### Registering a handler to match requests by a URI pattern

Just like HTTP expectations, there is an alternate way to register handlers that
allows matching via a `Pattern` for greater flexibility. This is especially
useful for handlers since it essentially lets you define mock endpoints that can
handle dynamic parameters in the path or query.

```dart
MockTransports.http.whenPattern(
    new RegExp('.*/notes/(\w+)$'),
    (FinalizedRequest request, Match match) async {
      var id = match.group(1);
      if (id == null) {
        // return all notes
      } else {
        // return note identified by the ID from the URI
      }
    });
```

### Canceling a handler

Both `when()` and `whenPattern()` return a `MockHttpHandler` instance that can
be used to cancel/unregister the handler.

```dart
var mockHandler = MockTransports.http.when(...);
...
mockHandler.cancel();
```

gha_language: Dart

gha_license_id: NOASSERTION


text:
# DLR supporting tools to administrate ESA DataHub Services (DHuS)

## Description

Administering the ESA DataHub Services (DHuS) http://sentineldatahub.github.io/DataHubSystem/ is supported by scripts of the provider (https://github.com/SentinelDataHub/Scripts).

The current DHuS 2.0.0-osf release tends to miss synchronizing single products from the collaborative hubs as sources.
To be able to detect and fill this gaps, the DLR operators wrote this supporting script package.

## Contents

The scripts are located in the  top level directory.
The script header contains instructions on its usage.
For convenience the usage help is listed below.

### dhus-gapfill.sh

Performs OData queries a remote DHuS instances and checks output for duplicate-IDs and
then queries local DHuS detects missing products,
creates or updates a named synchronizer with the first 10 product IDs,
starts it and waits for its completion.

The script is intended to be run in a cronjob to complete any misses in the previous day.

```
USAGE:

./dhus-gapfill.sh -c=... --dhus1=https://scihub.copernicus.eu/apihub --rc1=/path/to/.wgetrc1 --dhus2=http://localhost:8080 --rc2=/path/to/.wgetrc2 [-d=2020-07-06] [-a=30] [-g=_gap_sync] [-s=100] [-p=2] [-l=30] [-m] [-k] [-w] [-r]
  --condition is the full OData query, examples for each sentinel mission:
    -c="startswith(Name,'S1') and not substringof('_RAW_',Name)"
    -c="startswith(Name,'S2') and substringof('_MSIL1C_',Name)"
    -c="startswith(Name,'S3') and (substringof('_OL_',Name) or substringof('_SL_',Name) or substringof('_SR_',Name))"
    -c="startswith(Name,'S5') and substringof('_L2_',Name)"
  -d|--queryDate YYYY-MM-DD for the gap search, searches between creationDate > DATE and aquisitionDate < DATE+1day (default is yesterday)
  -a|--maxAge DD to avoid pulling reprocessed data (default is 30 days)
  --dhus1 and --dhus2 specify the base URLs of the datahub services
  --rc1 and --rc2 specify the paths to the WGETRC files containing user=xxx and password=yyy of the DHuS service accounts
  -g|--name of the synchronizer used to fill the gaps
  -s|--batchsize NUMBER to set the query batch size (default is 100)
  -p|--pagesize NUMBER to set the transfer page size (default is 2)
  -l|--limit NUMBER to limit the amount of products to query in synchronizer (default is 30)
  -m|--metadata only without product copy (default is to copy)
  -w|--wait for completion
  -r|--remove synchronizer after completion (implicit --wait)
  -k|--keep identifier lists after completion

2020-07-07T12:48:39Z INFO dhus-gapfill.sh cleanup
```

#### Example
```
./dhus-gapfill.sh -d=2019-12-18 -c="startswith(Name,'S2') and substringof('_MSIL1C_',Name)" --dhus1 https://colhub.coperncius.eu/dhus --rc1=.colhubrc --dhus2=https://dehub.dlr.de/s2hub --rc2=.dehubrc -g=_s2_gapsync --wait
```
The ```.*rc``` files contain single lines for the user=xxx and password=yyy to query the DHuS instances.

### dhus-inventory.sh

Used internally by dhus-gapfill.sh to query the product list (catalogue view) form a DhuS.

### TODO

* refactor-out the synchnronizer part into its own script, such that it can be fed with a catalogview in csv list.
* possibly reporting duplicates automatically into an EDR issue.
* change to use curl instead of wget 1.19 (which requires .netrc formated credentials)

## Change History
2020-07-07 Added past day gap synchronization and parameters --maxAge and --limit
2019-12-19 Initial commit

## Installation

Download the script package to a local unix directory.
Currently these should be called
The scripts require bash, wget (version 1.19 or newer), curl and a few common shell utilities.

## License

This package is released under the Apache 2.0 license (see the LICENSE.txt file).

repository: dlr-eoc/dhus-admin-tools

repo_name: dlr-eoc/dhus-admin-tools


text:
# ScrumLint

ScrumLint is a "linter" for agile processes. It aims at supporting a development team in adopting or adhering to agile practices. ScrumLint identifies and quantifies violations, instances where the executed process deviates from the defined one, as mandated by Scrum or agile best practices.

[![DOI](https://zenodo.org/badge/doi/10.5281/zenodo.45319.svg)](http://dx.doi.org/10.5281/zenodo.45319)

## Setup
* Install the dependencies (preferably in a [virtualenv](https://pypi.python.org/pypi/virtualenv/))

  `pip install -r requirements.txt`

* Create the necessary database tables (incl. superuser)

  `python manage.py syncdb`

* Load in seed data

  `python manage.py runscript seed`

* Retrieve the data for all metrics

  `python manage.py run_metrics`

* Run the development server

  `python manage.py runserver`

* Visit the index page at `localhost:8000`
* Visit the admin at `localhost:8000/admin` (login with superuser credentials)

repository: hpi-epic/ScrumLint

repo_name: hpi-epic/ScrumLint


text:
# 0.2.5
- Upgraded nested_assign to work with Mongoid 7.x
# 0.2.4
- Removed macro method references
# 0.2.3
- StringifiedSymbol -> Mongoid::StringifiedSymbol
# 0.2.2
- Additional StringifiedSymbol support for enum and tag fields
# 0.2.1
- Now use StringifiedSymbol when possible
- Ensure revisions are sorted properly when restoring
- Removed Permittable module, not used and had upgrade issues

# 0.2.0
- Revision#restore! now does a full restore of changes to that point, and saves as a new revision, instead of removing old history

# 0.1.14
- RevisableBase#max_revision_number method optimized
- revision associations are no longer validated

# 0.1.13
- ExternalRevisions are now properly saved when calling revise!

repository: qualified/mongoidal

repo_name: qualified/mongoidal


text:
[![Build Status](https://travis-ci.org/taganaka/SpeedTest.svg?branch=master)](https://travis-ci.org/taganaka/SpeedTest)

# SpeedTest++

Yet another unofficial speedtest.net client cli interface.

It supports the new (undocumented) raw TCP protocol for better accuracy.

What is different than https://github.com/taganaka/SpeedTest? This fork adds output to a single line, making writing to a file easier.

## Features

1. Best server discovery based on speed and distance from you.

2. Line type discovery to select the best test profile based on your line speed.

3. Aggressive multi-threading program in order to saturate your bandwidth quickly.

4. Test supported: Ping / Jitter / Download speed / Upload speed / Packet loss (UDP).

5. Provide a URL to the speedtest.net share results image using option --share

6. This is based on https://github.com/taganaka/SpeedTest and adds output to a single line, making writing to a file easier. See section on outputting to a file on MacOS.

## Installation

### Requirements

1. A modern C++ compiler
2. cmake
3. libcurl
4. libssl
5. libxml2

### On Mac OS X

```
$ brew install cmake
$ mkdir ~/cmake_build
$ cd ~/cmake_build
$ cmake -DCMAKE_BUILD_TYPE=Release  # you can also put options after -DCMAKE but no options works
$ make install
```

### On Ubuntu/Debian

```
$ sudo apt-get install build-essential libcurl4-openssl-dev libxml2-dev libssl-dev cmake
$ cd cmake_build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ make install
```

## Usage

```
$ ./SpeedTest --help
SpeedTest++ version 1.8
Speedtest.net command line interface
Info: https://github.com/taganaka/SpeedTest
Author: Francesco Laurita<EMAIL_ADDRESS>
Usage: ./SpeedTest  [--latency] [--quality] [--download] [--upload] [--share] [--help]
      [--test-server host:port] [--quality-server host:port] [--output verbose|text]
optional arguments:
  --help                      Show this message and exit
  --latency                   Perform latency test only
  --quality                   Perform quality test only. It includes latency test
  --download                  Perform download test only. It includes latency test
  --upload                    Perform upload test only. It includes latency test
  --share                     Generate and provide a URL to the speedtest.net share results image
  --test-server host:port     Run speed test against a specific server
  --quality-server host:port  Run line quality test against a specific server
  --output verbose|text       Set output type. Default: verbose
$
```
## Outputting to a file on MacOS
```
# pre-reqs: install homebrew and moreutils (for timestamp formatting)
# homebrew install - # https://docs.brew.sh/Installation
$ mkdir homebrew && curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip 1 -C homebrew
# moreutils install using homebrew. moreutils adds ts function allowing for flexible timestamps from command line
$ brew install moreutils
# next command has 3 parts: 1) tells SpeedTest to run and output text 2) moreutils' ts to prepend a timestamp on Speedtest's output | writes/appends output to a file using tee (in this case to Google Drive
$ /usr/local/bin/SpeedTest --output text |  /usr/local/bin/ts '%Y-%m-%d %H:%M:%S,' | /usr/bin/tee -a /Users/chungus/Google\\ Drive/SpeedTestPlus.csv
# Pro Tip: Run the script on a schedule to save file to Google Drive. Then you can use Google Drive + BigQuery + Data Studio to create a fancy dashboard
```

## License

SpeedTest++ is available as open source program under the terms of the [MIT License](http://opensource.org/licenses/MIT).


text:
# prng
Minecraft 1.13 pseudo-random number generator

This is a simple pseudo-random number generator, written using the Minecraft 1.13 function system. It implements a Linear Congruential Generator (https://en.wikipedia.org/wiki/Linear_congruential_generator), and I've chosen to use the constants from "random0" as the multiplications involved in some of the other constant choices would overflow the Minecraft scoreboard system.

An example function that uses the PRNG is included, see debug.mcfunction.

Comments and critiques are always welcome!

Cheers
mcskware
2018-02-04

repository: mcskware/prng

repo_name: mcskware/prng


text:
# Results

If you get "File Load Error" when opening any Jupyter notebook simply delete the Markdown file (.md) with the same name as the notebook and try opening it again.
The Markdown file should regenerate itself from scratch after loading the notebook.


text:
# google

`google` is a command line utility to query Google easily and quickly from the terminal.
The `google` command opens a browser window with the google results webpage of the given search query.

## Installation

Assuming you have a working Go environment and `GOPATH/bin` is in your `PATH`, you can install `google` easily:

~~~ shell
go get github.com/hariharan-uno/google
~~~

You can verify that `google` was installed correctly:

~~~ shell
google -h
~~~

## Usage

`google` is simple to use, no flags, no options. Just `google querystring`.

For example,

~~~ shell
google who is the president of united states?
~~~

## Contribute

I have used and tested this only on linux. So, please report the bugs by trying it out and send pull requests!

## Motivation

I use Google for searching a lot of things while coding and I felt the two step process of opening google.com and then typing the query as too slow. This is just to scratch my itch :)

## Trademark

Google is a registered trademark of Google Inc.


text:
Packages-Updater
================

Easy (PHP) way to convert Packages to Packages.gz

Supports the **better** alternative bzip2

**Important stuff:**
- Make sure you can write stuff on your server
- Have a repo already

Just download the packagesupdater.php file, tweak the file names to your liking, and load the page for magic.

Licensed with MIT, so go crazy...

repository: ninjaprawn/Packages-Updater

repo_name: ninjaprawn/Packages-Updater


text:
---
title: "Hacktoberfest"
date: 2020-09-23
draft: false
description: >
  Contribute to Jenkins X as part of Hacktoberfest
categories: [blog]
keywords: [Community, 2020]
slug: "hacktoberfest2020"
aliases: []
author: Kara de la Marck
---

We are excited to announce that Jenkins X will be participating in Hacktoberfest again this year! Hacktoberfest is a month-long global celebration of open source software.

From October 1 to October 31, submit four pull requests to qualify for the limited edition Hacktoberfest shirt. All backgrounds and skill levels are encouraged to participate in Hacktoberfest and join a global community of open source contributors.

**Learn more about Hacktoberfest and sign up [here](https://hacktoberfest.digitalocean.com/).**

### Contribute to Jenkins X

We welcome your contributions to the Jenkins X project!

[Issues labelled "hacktoberfest"](https://github.com/jenkins-x/jx-docs/issues?q=is%3Aissue+is%3Aopen+hacktoberfest) generally indicate good first issues. However, all pull requests will count towards your Hacktoberfest challenge. Jenkins X welcomes contributors to both:

* [the Jenkins X `jx` source code](https://github.com/jenkins-x/jx)
* [the Jenkins X documentation website](https://github.com/jenkins-x/jx-docs)

### Contribute to `jx` source code

There are plenty of [open issues](https://github.com/jenkins-x/jx/issues), and we welcome your help in making Jenkins X even more awesome.

Jenkins X is written largely in Go, but you don't need to be an expert to contribute! If you are new to the project, search for issues labelled "good-first-issue". Our [Contributing Guide](https://jenkins-x.io/community/code/) has advice for getting started with contributing to Jenkins X.

### Contribute to the docs

We welcome your help in improving the Jenkins X documenation. If you see areas of the documentation that need fixing or augmentation please raise a pull request. Our guide for [Contributing to the Documentation](https://jenkins-x.io/community/documentation/) has advice for getting started with contributing to the Jenkins X docs.

### Ask us questions

We're happy to help if you have any questions. Talk to us on our slack channels, which are part of the Kubernetes slack. Join  Kubernetes slack [here](http://slack.k8s.io/) and find us on our channels:

* #jenkins-x-dev for developers of Jenkins X
* #jenkins-x-user for users of Jenkins X

We also have online office hours, where we talk about new developments in Jenkins X and you are welcome to ask us questions. We meet for office hours **every other Tuesday** at 15:00 UTC (*See your timezone [here](https://time.is/1500_in_UTC)*).

Next office hours are on **6 October**. Join us on this [meeting link](https://zoom.us/j/397862697). See the [Jenkins X calendar](https://jenkins-x.io/community/calendar/) for events that you are welcome to join.

Find out more about becoming involved in the Jenkins X community [here](https://jenkins-x.io/community/).

*We look forward to seeing you in open source, fixing all the things!*

image by Ashley McNamara, [creative commons license](https://github.com/ashleymcnamara/gophers/blob/master/GOPHER%20RIDING%20REX.png)

repository: jenkins-x/jx-docs

repo_name: jenkins-x/jx-docs


text:
Cable Capacities Computation
============================

## About

This project computes the eigenfrequencies of the circuit taking into consideration the capacities of the cables
themeslves.

## Documentation

### Main
In practice, one inputs in the [main program](main.py) the desired eigenfrequency and gets the required indexes for the capacity bocex..

### Optimize the frequency-capacity relation

The theoretical relation between the eigenfrequency of a LC circuit and the capacity is of the following form:

This relation is further generalized as:

Based on experimentally measured values from [frequency table](data/freq_table_editted.ods), the values for the free
parameters a, b, d are optimized to match the measured points and can be found in the [parameters file](scripts/parameters.py).
This functional relationship can be used to  efficiently extrapolate to other unmeasured points as well.

In practice, one inputs the desired eigenfrequency and gets the required capacity.


text:
# Pokedex

![Screenshots](screenshot.png)

### checkout the web [here](https://pokedex-flame-omega.vercel.app/)

This is a pokedex application that lists all pokemon through [graphql-pokeapi](https://github.com/mazipan/graphql-pokeapi). This app can also run a pokemon capture simulation and you can give a nickname to it. You can keep your captured pokemons forever.

## Tech-stack:

1. [create-next-app](https://github.com/vercel/next.js/tree/canary/packages/create-next-app)
1. [Apollo](https://www.apollographql.com/)
1. [emotion](https://github.com/emotion-js/emotion)
1. [twin.macro](https://github.com/ben-rogerson/twin.macro)
1. [tailwindcss](https://github.com/tailwindlabs/tailwindcss)
1. [jest](https://github.com/facebook/jest)
1. [cypress](https://github.com/cypress-io/cypress)
1. [react-testing-library](https://github.com/testing-library/react-testing-library)
1. [react-router](https://github.com/ReactTraining/react-router)
1. [vercel](https://vercel.com/)

## implemented test:

- [x] Capture a pokemon and give it a nickname (e2e with cypress)
- [x] Release a captured pokemon (e2e with cypress)
- [x] Display pokemon detail (unit test, with mocked graphql response)
- [x] Display pokemon list (unit test, with mocked graphql response)

repository: ngavinsir/pokedex

repo_name: ngavinsir/pokedex


text:
---
layout: post
title:  "Dance Party: MS Webcam League [46 Players]"
cover: /assets/images/2021-02-22/pink.jpg
---

![]({{site.cdn_url}}/assets/images/2021-02-22/blue.jpg)

We may not have been popular in middle school, but Middle School is popular
with us! The Dance Party broke the record for our biggest league to date, with
46 players from across the US and Canada.

Fall Semester Champion Lorien Elleman defended his title in a dramatic Top 8.
We were thrilled to see a diverse meta that looked very different from our
previous leagues. Middle School continues to look healthy, unexplored, and fun.

1.	Lorien Elleman – [UB Stiflenaught]({{site.cdn_url}}/assets/images/2021-02-22/lorien_elleman.jpg)
2.	Conor Brown – [Rector]({{site.cdn_url}}/assets/images/2021-02-22/connor_brown.jpg)
3.	Aaron Kahler – [Jund Three Deuce]({{site.cdn_url}}/assets/images/2021-02-22/aaron_kahler.jpg)
4.	Stephen Bush – [Sligh]({{site.cdn_url}}/assets/images/2021-02-22/stephen_bush.jpg)
5.	Dustin Ransom – [Mono U Stasis]({{site.cdn_url}}/assets/images/2021-02-22/dustin_ransom.jpg)
6.	David Lance – [Full English Breakfast]({{site.cdn_url}}/assets/images/2021-02-22/david_lance.jpg)
7.	Cayce Grissom – [UG Oath]({{site.cdn_url}}/assets/images/2021-02-22/cayce_grissom.jpg)
8.	Jake Hilty – [Enchantress]({{site.cdn_url}}/assets/images/2021-02-22/jake_hilty.jpg)
9.	Brian Tweedy – [Nether Spirit Control]({{site.cdn_url}}/assets/images/2021-02-22/brian_tweedy.jpg)
10.	Alan Finney – [Turboland Oath]({{site.cdn_url}}/assets/images/2021-02-22/alan_finney.jpg)
11.	Matt Braun – [Tax Rack Aggro]({{site.cdn_url}}/assets/images/2021-02-22/matt_braun.jpg)
12.	Patrick Vincent – [Gobbos]({{site.cdn_url}}/assets/images/2021-02-22/patrick.jpg)
13.	David London – [Bant Grow]({{site.cdn_url}}/assets/images/2021-02-22/david_london.jpg)
14.	Nick Olin – [UB Reanimator]({{site.cdn_url}}/assets/images/2021-02-22/nick_olin.jpg)
15.	David Muenzer – [Elves]({{site.cdn_url}}/assets/images/2021-02-22/david_muenzer.jpg)
16.	Rajah James – [Worldgorger Combo]({{site.cdn_url}}/assets/images/2021-02-22/rajah_james.jpg)
17.	Kyle Driskill – [Grixis Control]({{site.cdn_url}}/assets/images/2021-02-22/kyle_driskill.jpg)
18.	Stuart Ziarnik – [Sligh]({{site.cdn_url}}/assets/images/2021-02-22/stuart_ziarnik.jpg)
19.	Ryan Linda – [The Rock]({{site.cdn_url}}/assets/images/2021-02-22/ryan_linda.jpg)
20.	Tim Baran – [Palinchron Survival]({{site.cdn_url}}/assets/images/2021-02-22/tim_baran.jpg)
21.	Robert Foflygen – [The Rock]({{site.cdn_url}}/assets/images/2021-02-22/robert_foflygen.jpg)
22.	Angelo Kortyka – [RB Aggro]({{site.cdn_url}}/assets/images/2021-02-22/angelo_kortyka.jpg)
23.	Luke Tooker – [Deadguy Ale]({{site.cdn_url}}/assets/images/2021-02-22/luke_tooker.jpg)
24.	Mike Klements – [Aluren]({{site.cdn_url}}/assets/images/2021-02-22/mike_klements.jpg)
25.	Rob Connoly – [Sligh]({{site.cdn_url}}/assets/images/2021-02-22/Rob_Connolly.jpg)
26.	Andrew Webb – [BUG Control]({{site.cdn_url}}/assets/images/2021-02-22/andrew_webb.jpg)
27.	Joe Kington – [Full English Breakfast]({{site.cdn_url}}/assets/images/2021-02-22/joe_kington.png)
28.	Joseph Amaya – [Trix]({{site.cdn_url}}/assets/images/2021-02-22/joseph_amaya.jpg)
29.	Tim Everett – [Merfolk]({{site.cdn_url}}/assets/images/2021-02-22/tim_everett.jpg)
30.	Ben Revell – [Suicide Black]({{site.cdn_url}}/assets/images/2021-02-22/ben_revell.jpg)
31.	Chris Strahan – [Mono U Control]({{site.cdn_url}}/assets/images/2021-02-22/chris_strahan.png)
32.	Jose Montini – [Egotist Eggs]({{site.cdn_url}}/assets/images/2021-02-22/jose_montini.png)
33.	Ty Thomason – [Pandeburst]({{site.cdn_url}}/assets/images/2021-02-22/ty_thomason.jpg)
34.	David Craig – [GW Geddon]({{site.cdn_url}}/assets/images/2021-02-22/david_craig.jpg)
35.	Kevin Nelson – [RecSur]({{site.cdn_url}}/assets/images/2021-02-22/kevin_nelson.jpg)
36.	JJ Johnson – [Rector Trix]({{site.cdn_url}}/assets/images/2021-02-22/jj_johnson.jpg)
37.	Steve McGrew – [UG Madness]({{site.cdn_url}}/assets/images/2021-02-22/steve_mcgrew.jpg)
38.	Ian Files – [10-Land Stompy]({{site.cdn_url}}/assets/images/2021-02-22/ian_files.jpg)
39.	Nate Golia – [Firecat Blitz Combo]({{site.cdn_url}}/assets/images/2021-02-22/nate_golia.png)
40.	Cameron Gilpin – [Tinker]({{site.cdn_url}}/assets/images/2021-02-22/cameron_gilpin.jpg)
41.	Chris George – [The Rock]({{site.cdn_url}}/assets/images/2021-02-22/chris_george.jpg)
42.	Cam Wall – [Secret Force]({{site.cdn_url}}/assets/images/2021-02-22/cam_wall.jpg)
43.	Eric Vergo – [Enchantress]({{site.cdn_url}}/assets/images/2021-02-22/eric_vergo.jpg)
44.	Kyle Wells – [BW Pox]({{site.cdn_url}}/assets/images/2021-02-22/kyle_wells.jpg)
45.	Sam Krohlow – [Draco Explosion]({{site.cdn_url}}/assets/images/2021-02-22/sam_krohlow.jpg)
46.	Tom Conmy – [UW Landstill]({{site.cdn_url}}/assets/images/2021-02-22/tom_conmy.jpg)

gha_language: SCSS