text:
# Development Process: Tasks

This is the document I believe more teams need to write. How to develop a 'trivial' CRUD screen, in this case its the tasks part of our task management app.

I assum you've followed the [Making Glue Stack Document](./making-glue-stack.md) to build the framework of our app to manage users, signup and authenticate. We're going to apply the same process to build tasks but its a separate document because we're going to use this process repeatedly throughout the life of the app but probably not rebuild the core over and over again in the same way. This is the app you show to new team members so they can smash out an entire section and get it right the first time. Its also the document the team can examine to come up with process improvements.

## Design

Process determines design. I will do this after I've established the process.

## Database

1. Open Glue Stack in VSCode.

2. Start the database by opening a terminal (Control + `) and running:

   ```
   docker-compose up
   ```

### Task Table

The task table has a Many-To-One relationship to an organisation \(just like the user table\) and a Many-To-One relationship to a user. That means a task can be associated with a user and a user can have tasks associated with them.

1. Open sequel pro.

2. Connect to the docker database.

3. Click the plus on the bottom left. Name the table `task` with utf8mb4 encoding.

4. Add the organisation field.

   The type of this column is going to match the type of the id of the organisation table. To keep things consistent all id columns are the same type.

   ```text
    Field: organisationId
    Unsigned: true
    Type: INT
    Length: 11
    Allow Null: false
   ```

5. Add a **foreign key**.

   A foreign key is a relational database constraint that means a particular field must match another field. In this case we're making sure the organisationId references an existing organisation.

   1. Click the Relations tab.

   2. Click the plus icon.

      ```text
       Name: (leave blank)
       Column: organisationId
       References
       Table: organisation
       Column: id
      ```

   3. Click Add.

6. Click on the Structure tab again.

7. Click the plus icon in the middle of the page underneath the lone id Field to add a new field.

   ```text
    Field: name
    Type: VARCHAR
    Length: 255
    Allow Null: false
   ```

8. Add another Field.

   ```text
    Field: notes
    Type: VARCHAR
    Length: 255
    Allow Null: true
   ```

9. Add another Field.

   ```text
    Field: userId
    Unsigned: true
    Type: INT
    Length: 11
    Allow Null: true
   ```

10. Add a foreign key constraint to the user table for the previous field.

11. Add another Field.

    ```text
     Field: statusId
     Unsigned: true
     Type: INT
     Length: 11
     Allow Null: false
    ```

12. Add the standard acive, createdDate, modifiedDate fields by running the following queries in the query tab.

    ```
    ALTER TABLE `task` ADD `active` BIT(1)  NOT NULL;
    ALTER TABLE `task` ADD `createdDate` DATETIME  NOT NULL;
    ALTER TABLE `task` ADD `modifiedDate` DATETIME  NOT NULL;
    ```

13. We've just created our new table so all we need to do now is add it to the codebase. If we added a few fields we could use the statement console (top right) and copy the relevant statements but this time we created a whole table so we can right click the table and select `Copy Create Table Syntax`.

14. Go back to VSCode.

15. Create a `V2__task.sql` at ``api/src/main/resources/db/migration`.

16. Paste your Create Table Syntax into the file. It should look like this:

    ```
    CREATE TABLE `task` (
      `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
      `organisationId` int(11) unsigned NOT NULL,
      `name` varchar(255) NOT NULL DEFAULT '',
      `notes` varchar(255) DEFAULT NULL,
      `userId` int(11) unsigned DEFAULT NULL,
      `statusId` int(11) unsigned DEFAULT NULL,
      `active` bit(1) NOT NULL,
      `createdDate` datetime NOT NULL,
      `modifiedDate` datetime DEFAULT NULL,
      PRIMARY KEY (`id`),
      KEY `organisationId` (`organisationId`),
      KEY `userId` (`userId`),
      CONSTRAINT `task_ibfk_1` FOREIGN KEY (`organisationId`) REFERENCES `organisation` (`id`),
      CONSTRAINT `task_ibfk_2` FOREIGN KEY (`userId`) REFERENCES `user` (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4;
    ```

17. Commit your work.

18. Delete all your tables by selecting them and forcing deletion. This will let Flyway set them up from scratch using the scripts in the migration folder including your new scripts. (TODO: is there a better way?)

19. Open a new terminal tab.

20. Run the server.

    ```
    cd api
    mvn spring-boot:run
    ```

# API

### Entity

1. Create `Task.java` at ``api/src/main/java/org/gluestack/api/domain/entity`.

   ```text
   package org.gluestack.api.domain.entity;

   import javax.persistence.Column;
   import javax.persistence.Entity;
   import javax.persistence.FetchType;
   import javax.persistence.JoinColumn;
   import javax.persistence.ManyToOne;
   import javax.persistence.Table;

   @Entity
   @Table(name = "task")
   public class Task extends BaseOrganisedEntity {

       @Column(nullable = false, length = 255)
       private String name;

       @Column(length = 255)
       private String notes;

       @ManyToOne(fetch = FetchType.LAZY)
       @JoinColumn(name = "userId")
       private User user;

       @Column(nullable = false)
       private Integer statusId;

       public Task() {
       }
   }
   ```

2. Create the getters and setters.

3. Stop the API using `Control + c` in its terminal window.

4. Start it again (using the up arrow to find the previously run command). This will validate that the entity we created matches the table in the database.

5. Commit your work.

### Repository

1. Create the `TaskRepository.java` at ``api/src/main/java/org/gluestack/api/repository`.

   ```text
    package org.gluestack.api.repository;

    import org.gluestack.api.domain.entity.Task;

    public interface TaskRepository extends BaseRepository<Task> {
    }
   ```

2. Commit your work.

### Service

1. Create the `TaskService.java` at ``api/src/main/java/org/gluestack/api/service`.

   In this case the TaskService wants to return related entities to the user \(the user details of the assigned user\) so we use hibernate to load those details and the `jackson-datatype-hibernate5`  module will automatically serialise it (convert to JSON).

   ```text
   package org.gluestack.api.service;

   import org.gluestack.api.domain.entity.QTask;
   import org.gluestack.api.domain.entity.Task;
   import org.gluestack.api.domain.entity.User;
   import com.querydsl.core.types.Predicate;
   import org.hibernate.Hibernate;
   import org.springframework.data.domain.Page;
   import org.springframework.data.domain.Pageable;
   import org.springframework.stereotype.Service;

   @Service
   public class TaskService extends BaseService<Task> {

       @Override
       public Predicate getReadPermissionPredicate(User principalUser) {
           return QTask.task.organisation.id.eq(principalUser.getOrganisation().getId());
       }

       @Override
       public Page<Task> findAll(User principalUser, Predicate predicate, Pageable pageRequest) {
           Page<Task> tasks = super.findAll(principalUser, predicate, pageRequest);
           tasks.getContent().forEach(task -> Hibernate.initialize(task.getUser()));
           return tasks;
       }
   }
   ```

2. Commit your work.

### Controller

1. Create the `TaskController.java` at ``api/src/main/java/org/gluestack/api/controller`.

   ```text
   package org.gluestack.api.controller;

   import org.gluestack.api.domain.entity.Task;
   import org.gluestack.api.domain.entity.User;
   import org.gluestack.api.service.TaskService;
   import com.querydsl.core.types.Predicate;
   import org.springframework.beans.factory.annotation.Autowired;
   import org.springframework.data.domain.Page;
   import org.springframework.data.domain.Pageable;
   import org.springframework.data.querydsl.binding.QuerydslPredicate;
   import org.springframework.security.core.Authentication;
   import org.springframework.web.bind.annotation.RequestMapping;
   import org.springframework.web.bind.annotation.RequestMethod;
   import org.springframework.web.bind.annotation.RestController;

   @RestController
   @RequestMapping("api/tasks")
   public class TaskController extends BaseController<Task> {

       @Autowired
       private TaskService taskService;

       @RequestMapping(method = RequestMethod.GET)
       public Page<Task> findAll(Authentication authentication, @QuerydslPredicate Predicate predicate,
               Pageable pageRequest) {
           User principalUser = (User) authentication.getPrincipal();
           return taskService.findAll(principalUser, predicate, pageRequest);
       }

   }
   ```

2. Commit your work.

### Tests

Our current test framework means you make it easy to reuse the test data you use in your tests so there is lest time wasted setting up the same data scenarios over and over again.

1. Open `TestOrganisation.java`.

2. Add a Task field called `taskAssignedToActingUser`.

3. Open `TestOrganisationService.java` and populate that test Task at the end of the create method.

   ```
   Task taskAssignedToActingUser = new Task();
   taskAssignedToActingUser.setName("Assigned Task");
   taskAssignedToActingUser.setNotes("Assigned To Acting User");
   taskAssignedToActingUser.setStatusId(1);
   taskAssignedToActingUser.setUser(actingUser);
   taskAssignedToActingUser.setOrganisation(organisation);
   taskRepository.save(taskAssignedToActingUser);
   testOrganisation.taskAssignedToActingUser = taskAssignedToActingUser;
   ```

4. Create `FindAllTest.java` at  `api/src/test/java/org/gluestack/api/task`.

   ```
   package org.gluestack.api.task;

   import org.gluestack.api.BaseTest;
   import org.gluestack.api.PageResponse;
   import org.gluestack.api.domain.entity.Task;
   import static org.hamcrest.MatcherAssert.assertThat;
   import static org.hamcrest.Matchers.equalTo;
   import static org.hamcrest.Matchers.hasSize;
   import static org.junit.Assert.assertEquals;
   import org.junit.Test;
   import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.httpBasic;
   import org.springframework.test.web.servlet.MvcResult;
   import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;

   public class FindAllTest extends BaseTest {

   	@Test
   	public void findAllUsersTest() throws Exception {
   		MvcResult mvcResult = mvc
   				.perform(get("/api/tasks").with(httpBasic(testOrganisation.actingUser.getUsername(), "password")))
   				.andReturn();
   		PageResponse<Task> page = objectMapper.readValue(mvcResult.getResponse().getContentAsString(),
   				objectMapper.getTypeFactory().constructParametricType(PageResponse.class, Task.class));

   		int resultSize = 1;
   		assertEquals(resultSize, page.getNumberOfElements());
   		assertEquals(resultSize, page.getTotalElements());
   		assertThat(page.getContent(), hasSize(resultSize));

   		Task result = page.getContent().get(0);

   		assertThat(result.getName(), equalTo(testOrganisation.taskAssignedToActingUser.getName()));
   		assertThat(result.getNotes(), equalTo(testOrganisation.taskAssignedToActingUser.getNotes()));
   		assertThat(result.getStatusId(), equalTo(testOrganisation.taskAssignedToActingUser.getStatusId()));
   		assertThat(result.getUser().getId(), equalTo(testOrganisation.taskAssignedToActingUser.getUser().getId()));
   	}
   }
   ```

5. Run `mvn test` to make sure its all working!

6. Commit your work.

## UI

[JavaScript fundamentals before learning React](https://news.ycombinator.com/item?id=17569848) is a good resource to understand Javascript while learning React.

repository: SudhanVelpic/glue-stack

repo_name: SudhanVelpic/glue-stack


text:
![image](../confluent-logo-300-2.png)

# Overview

This `docker-compose.yml` includes all of the Confluent Platform components and shows how you can configure them to interoperate.
For an example of how to use this Docker setup, refer to the Confluent Platform quickstart: https://docs.confluent.io/current/quickstart/index.html

# Build the dependent jars
In the jupyter directory, execute `$ mvn dependency:copy-dependencies`. This will download all the dependent jars into **target/dependency**. This directory will get loaded by the IJava jupyter kernel. To add more dependencies, add them to the pom.xml file and execute the command again.

# Makefile
In the cp-all-in-one directory, build the images.

`$ make build`

Deploy the cp-all-in-one cluster including a jupyter notebook.

`$ make run`

# Jupyter
After you've started the cluster, get access to the jupyter notebook by executing:

 `$ docker logs -f jupyter`

You will see in the logs a url to copy and paste onto the browser.

# Wordcount
In the notebook you will see word-count-ipynb. Open this file. Create the topics **streams-plaintext-input** and **streams-wordcount-output** in c3 ( http://localhost:9021 ) using the default settings.

## Execute Notebook
Go to the cell containing the stop command and run all the cells above it. Go to the cell which checks to see if the stream is running and run it and make sure it is running.

## Produce Messages
Enter the docker broker instance.
```
$ docker exec -it broker bash
```

Run the console producer and create some messages.
```
$ kafka-console-producer --broker-list localhost:9092 --topic streams-plaintext-input
```

## Print out in notebook
Go to the cell containing the display call. Execute it. The notebook should show the contents of the row list with the messages you set to the topic.

## Modifying transformation
If you want to modify the transformation, execute the cell which closes the stream. Verify that the stream is closed. Then make your modifications. Start the stream again by running all the cells above the cell containing the close stream statement.

## Consume messages if you're writing to the out topic
```
kafka-console-consumer --topic streams-wordcount-output --from-beginning \
  --bootstrap-server localhost:9092 \
  --property print.key=true \
  --property value.deserializer=org.apache.kafka.common.serialization.LongDeserializer
```

repository: hdulay/cp-docker-images

extension: md

license_type: permissive

repo_name: hdulay/cp-docker-images


text:
# lita-readify

[![Build Status](https://travis-ci.org/blackbirdco/lita-readify.png?branch=master)](https://travis-ci.org/blackbirdco/lita-readify)
[![Coverage Status](https://coveralls.io/repos/github/blackbirdco/lita-readify/badge.svg?branch=master)](https://coveralls.io/github/blackbirdco/lita-readify?branch=master)

Automaticaly tracks links with tags on [Readability](https://www.readability.com)

## Installation

Add lita-readify to your Lita instance's Gemfile:

```ruby
gem "lita-readify"
```

## Configuration

1. Create an account on [Readability](https://www.readability.com) and
   [generate API keys](https://www.readability.com/settings/account) ;
2. Fill the following configurations:
   * `consumer_key`: Your consumer key from Readability
   * `consumer_secret`: Your consumer secret from Readability
   * `access_token` and `access_token_secret` from
   * `blacklist_domains`: domains to not track
   * `channels`: channels to watch

## Usage

![Nothing to do here](http://fdzeta.com/data/MetaMirrorCache/_avatar_24ff90ee4c98_128.png)

license: MIT

repository: blackbirdco/lita-readify

branch_name: refs/heads/master

repo_name: blackbirdco/lita-readify


text:
# release cli 🚀
[![license](https://img.shields.io/badge/license-apache-red.svg?style=flat)](https://raw.githubusercontent.com/github.com/exaring/release-cli/blob/master/LICENSE)
[![Go Report Card](https://goreportcard.com/badge/github.com/exaring/release-cli)](https://goreportcard.com/report/github.com/exaring/release-cli)
[![Build Status](https://travis-ci.org/exaring/release-cli.svg?branch=master)](https://travis-ci.org/exaring/release-cli)
[![godoc](http://img.shields.io/badge/godoc-reference-blue.svg?style=flat)](https://godoc.org/github.com/exaring/release-cli)

Release cli is a useful command-line tool for semantic version tags. A semantic version has three parts: major, minor, and patch. For example,
for v0.1.2, the major version is 0, the minor version is 1, and the patch version is 2.

It's necessary for example of the `Go Modules`. For more information read the following article. https://blog.golang.org/using-go-modules

## Installation

Install using the "go get" command:

```bash
go get github.com/exaring/release-cli/cmd/release
```

### Prebuilt binaries
Clone the repo and then run the makefile

```bash
make install
```

## Use
```bash
> release -h
NAME:
   release-cli (release tool) - create semantic version tags

USAGE:
   release [global options] command [command options] [arguments...]

VERSION:
   v2.0.0-RC1

DESCRIPTION:
   Release is a useful command line tool for semantic version tags

COMMANDS:
     help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --major                   increase major version part. [$RELEASE_MAJOR]
   --minor                   increase minor version part. [$RELEASE_MINOR]
   --patch                   increase patch version part. This is the default increased part. [$RELEASE_PATCH]
   --pre                     increase release candidate version part. [$RELEASE_PRE]
   -d, --dry                 do not change anything. just print the result. [$DRY_RUN]
   -f, --force               ignore untracked & uncommitted changes. [$FORCE]
   -b value, --branch value  only track tags related to the given branch when creating new version tags. [$ONLY_BRANCH]
   -l value, --log value     specifics the log level of the output [$LOG_LEVEL]
   --help, -h                show help
   --version, -v             print the version
```

## Example
```bash
# release the next patch release (default)
> release -l debug
DEBU[0000] Read the directory
DEBU[0000] Analyse the git repository
DEBU[0000] Detect latest tag of the repository            Tag=v4.2.1 repository=/tmp/dirty-repo
INFO[0000] Create new releasing version                   Tag=v4.2.2
DEBU[0001] Tagging the current repository                 Version=v4.2.2
DEBU[0004] Pushing new tag to the origin repository       Version=v4.2.2
INFO[0004] Release new version                            Version=v4.2.2

# release the next minor version
> release -l debug -minor
DEBU[0000] Read the directory
DEBU[0000] Analyse the git repository
DEBU[0000] Detect latest tag of the repository            Tag=v4.2.2 repository=/tmp/dirty-repo
INFO[0000] Create new releasing version                   Tag=v4.3.0
DEBU[0001] Tagging the current repository                 Version=v4.3.0
DEBU[0004] Pushing new tag to the origin repository       Version=v4.3.0
INFO[0004] Release new version                            Version=v4.3.0

# release a major pre-release
> release -l debug -major -pre
DEBU[0000] Read the directory
DEBU[0000] Analyse the git repository
DEBU[0000] Detect latest tag of the repository            Tag=v4.2.1 repository=/tmp/dirty-repo
INFO[0000] Create new releasing version                   Tag=v5.0.0-RC1
DEBU[0001] Tagging the current repository                 Version=v5.0.0-RC1
DEBU[0004] Pushing new tag to the origin repository       Version=v5.0.0-RC1
INFO[0004] Release new version                            Version=v5.0.0-RC1
```

repository: exaring/release-cli

gha_language: Go

repo_name: exaring/release-cli


text:
---
title: Pulp3 CLI Plan
author: Brian Bouterse
---
The Command Line Interface (CLI) is a useful tool that Pulp2 users have come to rely on. As Pulp3
works towards a Release Candidate and finally a Generally Available release, we want to communicate
our recommendations on the CLI usage.

# Current State

Recently for Pulp3, a prototype auto-generating CLI
[was created for Pulp3](https://www.redhat.com/archives/pulp-dev/2018-June/msg00025.html). It was
very useful in the sense that we learned a lot about how the Pulp API is being described by OpenAPI
v2. However since the [next steps](https://www.redhat.com/archives/pulp-dev/2018-July/msg00017.html)
were identified, we realized the remaining work required to bring the prototype to a usable point is
a non-trivial level of effort.

Another option that is available is to use [HTTPie](https://httpie.org/) as the CLI. You can see
examples of HTTPie usage, .i.e. `http` in the
[pulp_file instructions](https://github.com/pulp/pulp_file#create-a-repository-foo). Using HTTPie is
similar to the auto-generating CLI because both have each command be a single API call.

# Recommendation to Pulp3 users

So for the time being, at least through the Pulp 3.0 General Availability, it's recommended to use
[HTTPie](https://httpie.org/) for your command line scripting needs. You can see examples of its
usage in the [pulp_file instructions](https://github.com/pulp/pulp_file#create-a-repository-foo).
Other Pulp3 plugins have similar instructions on how to interact with their APIs using httpie in
their README files

# Workflow Based CLI

The Pulp2 CLI, `pulp-admin` is primarily a workflow tool. Pulp3 does several steps differently than
Pulp2, so as users approach Pulp3, we don't yet know the workflow use cases that are of broad use to
many users. Given that requirements gap, the current approach is to wait to hear from users about
what their workflow CLI needs are.

# Contribute Your Use Cases

Do you want a specific workflow for a Pulp3 CLI? Write a story
[here](https://pulp.plan.io/issues/new) with details of the workflow that would be useful to you.

branch_name: refs/heads/gh-pages

gha_language: CSS

gha_license_id: MIT


text:
---
layout: post
title: (Kaggle Home Credit) top 1% with only 2 submissions? how?
category: [Kaggle]
tags: [Kaggle]
no-post-nav: true
---

learning from arnowaczynski

https://www.kaggle.com/c/home-credit-default-risk/discussion/64609

[[ 모델 블랜딩 전략 ]]

1. many CV runs with random seeds with different random split(10 folds)

2. simple average of top 30 models

3. ridge regression on top 60 models

[[ 하이퍼 파라미터 탐색 전략 ]]

1. num_boost_round = 10000 with early_stopping_rounds=200

2. bagging_freq = 1

3. tuning hyper-params(6):  learning_rate, num_leaves, max_depth, min_data_in_leaf, feature_fraction,  bagging_freq

4. random grid search

- set discrete search space for each params

- while searching, print every cv score with selected hyper-parameters

- at any time, stop search and adjust the search space (make sure not same parames evaluated more than once)


text:
# sbt-best-practice

[![Build Status](https://travis-ci.org/ThoughtWorksInc/sbt-best-practice.svg?branch=master)](https://travis-ci.org/ThoughtWorksInc/sbt-best-practice)

Configure common build settings for a Scala project

## Usage

```
// project/plugins.sbt
addSbtPlugin("com.thoughtworks.sbt-best-practice" % "sbt-best-practice" % "latest.release")
```

repository: scala-steward/sbt-best-practice

gha_language: Scala

repo_name: scala-steward/sbt-best-practice


text:
Pull requests only for bugs. Please do not create pull requests for new features.

The script isn't under active development anymore. However i'm trying to keep it working and up to date.

Description:
This is an userscript for steamgifts.com It helps you to use this website faster and makes the browsing more confortable. It has a lot of cool features. Check out the screenshots!!

Steam Group

Features:
* Add Enter button every active giveaways (list, real-time update)
* Display chances for every giveaway (list, also on entered ga page)
* Endless scrolling (with a lot of additional features)
* Fixed header
* Jump to top button at the bottom right corner
* Update point every 60 seconds
* Options
* Hide entered giveaways
* Automatically display images
* SGv2 Dark Theme support

Authors:
* Nandee ( Programmer )
* Pele ( Tester )

gha_language: JavaScript


text:
# Logs, Logs, Logs!

If you need help running the tests or submitting your code, check out `HELP.md`.
If you get stuck on the exercise, check out `HINTS.md`, but try and solve it without using those first :)

## Introduction

A `string` in Go is a sequence of `bytes`, which doesn't necessarily have to represent characters.
That being said, `UTF-8` is a central part of `strings` in Go. It is easy to convert a string to `runes` (`UTF-8` characters) or iterate over `runes` in a string.
This makes dealing with different languages or other special characters in Go very simple.

When dealing with `UTF-8` characters it is important to know that not all characters have the same length;
`ASCII` characters have a length of one `byte`, while other characters can be as long as four `bytes`.
Runes, bytes, and their connection to strings will be handled more in-depth in a later exercise.

The underlying type (aka representation) for `string` in Go is the `[]byte` slice, which allows for some commonalities with slices in general.
For example, you can get a `byte` at position `i` from a `string` called `s` with sub-indexing, like `s[i]`.
With that said, string types are immutable so operations like s[i] = 'a' are not available and will result in a compilation error.

[Strings, bytes, runes and characters in Go](https://blog.golang.org/strings) provides a deep dive into this topic.

## Instructions

In this exercise you'll be processing log-lines.

Each log line is a string formatted as follows: `"[<LEVEL>]: <MESSAGE>"`.

There are three different log levels:

- `INFO`
- `WARNING`
- `ERROR`

You have three tasks, each of which will take a log line and ask you to do something with it.

## 1. Get message from a log line

Implement the `Message` function to return a log line's message:

```go
Message("[ERROR]: Invalid operation")
// Output: "Invalid operation"
```

Any leading or trailing white space should be removed:

```go
Message("[WARNING]:  Disk almost full\r\n")
// Output: "Disk almost full"
```

## 2. Get the message length in characters

Implement the `LogLevel` function to return a log line's message length:

```go
Strings.LogLevel("[ERROR]: Invalid operation \n")
// Output: 17
```

## 3. Get log level from a log line

Implement the `LogLevel` function to return a log line's log level, which should be returned in lowercase:

```go
Strings.LogLevel("[ERROR]: Invalid operation")
// Output: "error"
```

## 4. Reformat a log line

Implement the `Reformat` function that reformats the log line, putting the message first and the log level after it in parentheses:

```go
Strings.Reformat("[INFO]: Operation completed")
// Output: "Operation completed (info)"
```

## Source

### Created by

- @tehsphinx

repository: rootulp/exercism

branch_name: refs/heads/main

repo_name: rootulp/exercism


text:
Export Data
===========

The exporter module allows you to easy download the full databse and storage data from a project to import them local. This allows you to setup a state of websites like it its.

### install

add to your composer.json

```
"luyadev/luya-module-exporter" : "1.0.0-beta6",
```

add the module to your application config:

```
'modules' => [
	// ...
	'exporter' => [
	    'class' => 'exporter\Module',
        'downloadPassword' => 'EnterYourSecureRandomToken',
	],
]
```

Now you can install a cronjob or run the command when doing deployment to prepare the download:

```sh
./vendor/bin/luya exporter/export
```

In order to download the above created files just go onto:

https://example.com/exporter?p=EnterYourSecureRandomToken and your zip will be downloaded.

> Attention, http sniffers can read your plain token.


text:
---
layout: default
---

# 1995-11-04 - Re: using pgp to make an otp

## Header Data

From: "Mark M."<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash: 76c2ae89d38c8c91be94e9e3c1760e735b88a7031b4e96a89f2c23c25f05048c

Message ID: \<Pine.LNX.3.91.951104032833.116A-100000@localhost\>

Reply To<EMAIL_ADDRESS>UTC Datetime: 1995-11-04 20:41:32 UTC

Raw Date: Sun, 5 Nov 1995 04:41:32 +0800

## Raw message

```
{% raw  %}From: "Mark M."<EMAIL_ADDRESS>Date: Sun, 5 Nov 1995 04:41:32 +0800
To<EMAIL_ADDRESS>Subject: Re: using pgp to make an otp
In-Reply-To<EMAIL_ADDRESS>Message-ID: <Pine.LNX.3.91.951104032833.116A-100000@localhost>
MIME-Version: 1.0
Content-Type: text/plain

On Sun, 5 Nov 1995, amp wrote:

> greetings c-punks,
>
> i may have posted this at some time in the past, as i have asked it
> elsewhere and gotten different responses. i'm interested in that the
> folx here think about it though, so here it is...
>
> i want a source of data for use as a otp. i don't want to have to
> hook up any external devices to my pc to do it. (although some of the
> methods mentioned in the past few days are quite interesting.)
>
> i'd like to know if there was a reason not to use the output of pgp
> to do it. i've been playing with the following method. i take a file
> and encrypt it to a key with the '-a' flag on. this generates an
> ascii file that is easily editable using simple, standard rexx calls.
> i strip the first 20 or so lines and the last 20 or so lines
> and put the resulting file aside. then i perform the same operation
> again and append the file to the previous result. i repeat until the
> file is sufficiently large for my purposes and then give the
> resulting file to the person(s) i want to have it.

There is a way to make a file with random contents using PGP.  Just type
pgp +makerandom=xxx file.ext where xxx is the size of the file you want to
create.  I would not advise using this or other methods using a pseudo-
random number generator.

> i would think that the output of pgp should be pretty darn random. if
> it isn't, then it's usefulness is less than its reputation imo. as
> you can tell if you've read this far, i'm not a cryptographer. i just
> like the stuff and am working to become more proficient in its use as
> i think it is important if we are to maintain our privacy in an
> increasingly digital world.

The random output of PGP is pretty random but when the output is used to
generate very large OTP's, patterns will no doubt exist.  Hardware RNG's
are still the best.

`finger -l<EMAIL_ADDRESS>for public key and Geek Code
Public Key/1024: 0xF9B22BA5 BD 24 D0 8E 3C BB 53 47  20 54 FA 56 00 22 58 D5
Homepage URL:http://www.voicenet.com/~markm/

{% endraw %}
```

## Thread

+ Return to [November 1995](/archive/1995/11)

+ Return to "[Adam Shostack <adam@lighthouse.homeport.org>](/authors/adam_shostack_adam_at_lighthouse_homeport_org_)"
+ Return to "[amp <Alan.Pugh@internetMCI.COM>](/authors/amp_alan_pugh_at_internetmci_com_)"
+ Return to "["Mark M." <markm@omni.voicenet.com>](/authors/mark_m__markm_at_omni_voicenet_com_)"
+ Return to "["Perry E. Metzger" <perry@piermont.com>](/authors/perry_e_metzger_perry_at_piermont_com_)"
+ Return to "[Simon Spero <ses@tipper.oit.unc.edu>](/authors/simon_spero_ses_at_tipper_oit_unc_edu_)"

+ 1995-11-04 (Sat, 4 Nov 1995 23:06:29 +0800) - [using pgp to make an otp](/archive/1995/11/e8a3c49855038d63cf3da8ec25a9f97600727e70d905a683fe1a7ab0cd972fa0) - _amp<EMAIL_ADDRESS>  + 1995-11-04 (Sat, 4 Nov 1995 23:59:14 +0800) - [Re: using pgp to make an otp](/archive/1995/11/5a95a60e1740e211bc701aa314fea68cd5119a12734a772e6f922bce98148234) - _Adam Shostack<EMAIL_ADDRESS>  + 1995-11-04 (Sun, 5 Nov 1995 04:41:32 +0800) - Re: using pgp to make an otp - _"Mark M."<EMAIL_ADDRESS>  + 1995-11-05 (Sun, 5 Nov 1995 12:34:58 +0800) - [Re: using pgp to make an otp](/archive/1995/11/274586b862a072ee0d6244cf94f25746c0a354f8738a58662b4d3ed17d7d78a8) - _"Perry E. Metzger"<EMAIL_ADDRESS>    + 1995-11-05 (Sun, 5 Nov 1995 13:40:58 +0800) - [Re: using pgp to make an otp](/archive/1995/11/9be2974ce6859a75e1ee9b5d7d30f3a368570028bbc7600e732659d4fe8740ba) - _Simon Spero<EMAIL_ADDRESS>      + 1995-11-05 (Mon, 6 Nov 1995 01:21:03 +0800) - [Re: using pgp to make an otp](/archive/1995/11/04334f979333b9ca9d619ccbf4fe26e0ac931be0d7776439d5d23a627cc6432e) - _"Perry E. Metzger"<EMAIL_ADDRESS>


text:
---
layout: single
title: Availability and Pricing
permalink: /availability/
type: info
header_text: Availability and Pricing
calendar: true
---

## Pricing

|              |      | **June** | **July-Aug** | **Sept** | **Low Season** |
|--------------|------|----------:|-------------:|-------------:|--------------:|
| **[Downstairs Gite]({{ base_path }}/downstairs)**   | 6-7 pl | 700             | 900              | 700  | 450                   |
| **[Upstairs Gite]({{ base_path }}/upstairs)** | 5 pl    | 600             | 750                   | 600  | 400                   |

All prices in Euros and per week, bed linen and towels included.
July and August weekly rental from Saturday to Saturday.
Other periods minimum 4 nights.

The guest-books can be seen for each gite: [Gite du Bas]({{ site.baseurl }}/downstairs#livre-dor) ou [Gite du Haut]({{ site.baseurl }}/upstairs#livre-dor)

Please see our [terms of rental]({{ base_path }}/terms/) for the fine print, and see [how to get there]({{ base_path }}/access/)!.

# Availability
<iframe src="https://calendar.google.com/calendar/embed?showTitle=0&showPrint=0&showTabs=0&showCalendars=0&showTz=0&height=450&wkst=7&bgcolor=%23FFFFFF&src=5ft6ui85k9id8dueqpefm7d138%40group.calendar.google.com&color=%232F6213&src=h0cl2pufaic02ubqj1cdlr9ur0%40group.calendar.google.com&color=%23711616&src=5gfi0a2715ff51gc75ke8ce4c0%40group.calendar.google.com&color=%232F6213&src=64f2d319jcgv1grt6ae2h3erqg%40group.calendar.google.com&color=%23711616&ctz=Europe%2FParis" style="border-width:0" width="600" height="450" frameborder="0" scrolling="no"></iframe>

* "Gite du bas" means "Downstairs Gite".
* "Gite du haut" means "Upstairs Gite".
* The red colour indicates that the dates are already reserved, green indicates that they are free.

Please [contact us]({{ base_path }}/contacts) for any questions or to make a reservation.

## Casa Albore on other rental web sites

It's cheaper to book Casa Albore directly with us, but in order for
people to find the gite, we've put it on some rental web-sites. If you can
leave an evaluation of your stay on one of the sites, that would
really help us and can help future guests!

See: [Casa Albore on rental web-sites]({{ site.baseurl }}/contacts#casa-albore-on-rental-web-sites)


text:
# OBSOLETE - this repository is now included in https://github.com/ic-labs/django-icekit/

[![Requirements Status](https://img.shields.io/requires/github/ic-labs/glamkit-sponsors.svg)](https://requires.io/github/ic-labs/glamkit-sponsors/requirements/)

# GLAMkit sponsors

This is a simple app to implement sponsor logos in GLAMkit pages

## Installation

These instructions presume you already have an ICEkit project set up.

* Add `sponsors` to `settings.INSTALLED_APPS`.
* Run migrations.

## To use

You can add logos and URLs to the "Sponsors" section of the admin.

When you create a piece of rich content, you will be able to start and end a
sponsor block and add rows of sponsors to each block.

repository: Tubbz-alt/glamkit-sponsors

repo_name: Tubbz-alt/glamkit-sponsors


text:
The flag was encoded on a cassette tape using a modified version of the KCS
encoding standard.  The two distributed files are a binary to generate KCS encoded
wave files and the encoded flag read back from a cassette player.  The challenge
is to decode the flag from the audio. Challenge information is contained in
`dist/description.md` and the files to be distributed are `dist/tape.wav` and
`dist/encoder`.


text:
# govmeeting
Software to help us be involved with our local governments

## Features

Shortly after a government meeting takes place, you will be able to:
* Go online and see what issues were discussed and exactly what was said and by whom.
* Receive, on your phone or via email, a summary of issues discussed.
* Receive a phone alert or email whenever a specific issue is discussed. You would sign up prior for alerts.

At any time, you can go online and see:
* See all issues discussed in past meetings.
* See all that was said in the past on any specific issue.
* See exactly what any specific official said on any specific issue. This is especially helpful at election time.

![Mr. T](http://govmeeting.org/attachments/download/4/mr-t-mrt-36834265-320-254-24kb.png)
“Enough with the jibber-jabber, fool!
Show me how it works!”

Well, the code is in progress. But here is a [SMALL DEMO](http://demo.govmeeting.org) of one possible feature.  It shows what was discussed at a past meeting of the Boothbay Harbor Selectmen in Maine, USA. The final version will have many more features.

## Design

The software consists of two separate systems:

* A Public System that anyone can use to access information.
* A Volunteer System that community volunteers use to process meeting transcripts.

#### Public System
* A front-end using Typescript and AngularJS.
* A WEB API implemented in NodeJS or ASP.NET/C# or both.
* An SQL database which could be MySql, SQL Server or another.
* Object-Relational mapping using C# and Entity Framework.

#### Volunteer System
* A crowd-sourcing app for creating or processing existing transcripts – in Typescript and AngularJS.
* An existing content management system, the Drupal CMS, for volunteer workflow coordination.
* Utility modules for audio processing of meeting recordings. Language to be determined.
* Utility scripts to preprocess existing written transcripts.  Language to be determined.

Whether you develop on Linux, Mac or Windows, your contributions are needed. An attempt has been made to keep the processes "OS neutral". For example, we are using npm, bower for dependencies, gulp for automated tasks and karma and jasmine Javascript testing.

For more design information, see the [WIKI Design Documentation.](https://github.com/govmeeting/govmeeting/wiki/Design-Documentation)

## Goals

We can attend government meetings or watch them on TV. But how many times have we ever done this? How many people in a town of 50,000 people do this? Maybe 500. Democracy can’t work if only one percent are involved. And people need to be involved continually -- not just once every four years.

Many Open Data projects rely on data supplied by the government. This project instead uses a grass-roots effort to gather data. Government is more likely supply us with technical data. But they would naturally be less willing to supply us data about themselves  - namely exactly what they said and how they acted on all public issues.

People throughout the world deal with the same problems. This software will be designed to be used anywhere, wherever there is democracy and public access to government meetings.

The first goal is to get the software fully working at the local government level. Then we will expand the software to include state and federal government bodies.

repository: gitter-badger/govmeeting

repo_name: gitter-badger/govmeeting


text:
# Tiny GQL Full-Stack Django/React/Ariadne App

### Run GQL server

```bash
cd backend
make install
make start
```

### Run Frontend

```bash
cd frontend
make
```

repository: harrymt/micro-gql-full-stack-app

repo_name: harrymt/micro-gql-full-stack-app


text:
## 0.6.3
- Updated parent version

## 0.6.2
- migrated from gradle to maven

## 0.6.1
- Updated versions of few dependencies

## 0.6.0
- Removed based64 encryption mechanism for ldap manager password

## 0.5.9
- Added jasypt-spring-boot-starter dependency to support open text encryption

## 0.5.8
- EventParser functionality added to endpoint /generateAndPublish (@param parseData added)

## 0.5.7
- Changed way of passing REMReM Generate Service uri and path from configs

## 0.5.6
- Removed Protocol Interface dependency
- Uplifted semantics version to 0.4.1

## 0.5.5
- Fixed generate service link in /generateAndPublish endpoint
- Added few messages in case error in generate happen
- Uplifted semantics version to 0.4.0

## 0.5.4
- Added swagger for publish service
- Changed year in copyright headers from 2017 to 2018

## 0.5.3
- added logback support to remrem publish

## 0.5.2
- Added a common REST API for Generate and Publish
- Moved ldap related functionality from shared
- Added functionality to disable the Remrem Publish Authentication.
- Corrected the name of endpoint "version" back to "versions"
- Updated github pages for common REST api for generate and publish
- Uplifted remrem-semantics version to 0.3.7

## 0.5.1
- This version is the same as 0.4.9. The intended changes were missed to be merged.
- Updated remrem-generator version to 0.5.1

## 0.5.0
- This version is the same as 0.4.9. The intended changes were missed to be merged.
- Uplifted remrem-semantics version to the latest version 0.3.2 to support continuous operation events

## 0.4.9
- Modified rk and tag to query parameters in Service.

## 0.4.8
- Uplifted remrem-semantics to 0.3.1 to override given input meta.source.serializer GAV information

## 0.4.7
- Added rk(Routing key) and tag option in CLI.
- Added routingKey and tag parameter in Service.
- Moved Routing key generation to corresponding protocol.

## 0.4.6
- Uplifted remrem-semantics version to 0.2.9

## 0.4.5
- Uplifted remrem-semantics version to 0.2.8.

## 0.4.4
- Uplifted remrem-semantics version to 0.2.7.

## 0.4.3
- Removed spring configurations from config.properties file and handled through code.

## 0.4.2
- Changed REMReM publish to read required properties from CLI options for CLI and from JAVA_OPTS, tomcat/conf/config.properties for service.

## 0.4.1
- Implemented functionality to get properties from java opts for publish-service

## 0.4.0
- Implemented one MB for each protocol in REMREM publish.

## 0.3.9
- Uplifted remrem-semantics version to 0.2.6 to support links validation.

## 0.3.8
- Added copyright headers to the source code.
- Uplifted remrem-shared version to 0.3.3 to get the versions of publish and all loaded protocols.

## 0.3.7
- Updated remrem-shared version to 0.3.2 to support base64 encryption functionality for Ldap manager password.

## 0.3.6
- Added validation for 503 status code to check routing key as null.

## 0.3.5
- Moved ldap related functionality to shared

## 0.3.4
- Updated Version for dependency Commons-Lang in REMREM publish

## 0.3.3
- Implemented RoutingKey functionality for REMREM Semantics.

## 0.3.2
- Added comments and removed unnecessary dependencies in build.gradle.

## 0.3.1
- Added changes in build.gradle.

## 0.3.0
- Split REMREM Publish component into cli, service and common.

## 0.2.9
- Updated the RemRem shared version to latest.

## 0.2.8
- Implemented RabbitMQ connection retry in Service.

## 0.2.7
- upgraded semantics version in build.gradle to support all
  EiffelEvents in the eiffel repo from topic-drop4 branch

## 0.2.6
- Added status codes for output generate from publish.

## 0.2.5
- Added domain option in CLI

## 0.2.4
- Removed unused libraries and updated a few library versions.

## 0.2.3
- Implemented array of Json objects as input and output in Json format in CLI
- Added Debug flag

## 0.2.2
- Added eventId to output format in REMREM publish
- Implemented get route key from messaging library.

## 0.2.1
- Fix authentication required even when activedirectory.enabled=false

## 0.2.0
- Added SSL support for the RabbitMq connection.
- Improved Cli
- Added unit tests.

## 0.1.9
- added optional authentication to an Active Directory server for all
  REST endpoints

## 0.1.8
- Improved error handling/logging

repository: znvbnea/eiffel-remrem-publish

repo_name: znvbnea/eiffel-remrem-publish


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

The ARTI Framework

    A framework designed to simulate the signals produced by the secondary particles emerging from the interaction of the flux of primary cosmic ray with the atmosphere. These signals are simulated for any particle detector located at any place (latitude, longitude and altitude), including the real-time atmospheric, geomagnetic and detector conditions.

    Request Feature
    ·
    Report Bug
    ·
    Contact us

  Table of Contents

About ARTI

Getting Started

Usage

Related projects

Proposed Features

Contributing

License

Contact

## About ARTI

ARTI is a complete framework designed to simulate the signals produced by the secondary particles emerging from the interaction of singles, multiple and even the complete flux of primary cosmic rays with the atmosphere. These signals are simulated for any particle detector located at any place (latitude, longitude and altitude), including the real-time atmospheric, geomagnetic and detector conditions.

Formulated through a sequence of scripts coded in C++, Fortran, and Perl, it provides an easy-to-use integration of three different simulation environments: [Magneto Cosmics](http://cosray.unibe.ch/~laurent/magnetocosmics/), [CORSIKA](https://www.iap.kit.edu/corsika/) and [Geant4](https://geant4.web.cern.ch/). These tools evaluate the geomagnetic field effects on the primary flux, the atmospheric showers of cosmic rays and the detectors' response to the secondary flux of particles produced in the atmosphere.

With ARTI it is also possible to calculate the flux of the expected signals produced by the sudden occurrence of a gamma-ray bursts or the flux of energetic photons originating in steady gamma sources. It also compares these fluxes with the expected background to detect these phenomena in a single water Cherenkov detector (WCD).

Even more, by using ARTI, it is possible to calculate in a very precise way the expected flux of high energetic muons and other secondaries on the ground and to inject it over a geological structure for muography applications.

### ARTI main reference and citation

When using ARTI, please cite the reference reported below:

Christian Sarmiento-Cano, Mauricio Suárez-Durán, Rolando Calderón-Ardila, Adriana Vásquez-Ramírez, Andrei Jaimes-Motta, Luis A. Núñez, Sergio Dasso, Iván Sidelnik and Hernán Asorey (for the LAGO Collaboration), _"The ARTI Framework: Cosmic Rays Atmospheric Background Simulations"_, _European Journal of Physics_ _C_, **82**, 1019 (2022), [arXiv:2010.14591[astro-ph.IM]](https://arxiv.org/abs/2010.14591), [doi:10.1140/epjc/s10052-022-10883-z](https://doi.org/10.1140/epjc/s10052-022-10883-z).
[(bibtex)](docs/references/arti.bib)

(back to top)

## Getting Started

To get a local copy up and running follow these simple example steps.

### Prerequisites

#### System requirements

ARTI runs in any Linux based system, including iOS. For Windows user, we strongly recommend to install some of your preferred linux distribution using virtualbox. Additionally, we are developing a docker-based ARTI implementation.

In Fedora, Scientific Linux and CentOS, use `sudo yum install <package>`. In Ubuntu/Debian,  use `sudo apt install <package>`. In both cases, you can also use the graphic package manager included in your preferred distro.

ARTI requires the installation of the following packages:

* bash
* perl 5.0
* perl LWD::simple module
* perl JSON module
* gcc
* make
* screen
* rsync
* git

As a one-liner for Ubuntu/Debian:

```bash
sudo apt install build-essential perl screen rsync git
```
(git is optional).

#### Dependencies

Additionally, ARTI depends on the previous installation of the following frameworks:

* [CORSIKA v7.7402](https://www.iap.kit.edu/corsika/79.php).
* [ROOT v6.20.08](https://root.cern/releases/release-60802/).
* [Magneto Cosmics v2.0](http://cosray.unibe.ch/~laurent/magnetocosmics/).
* [Geant v4.10.03.p03](https://geant4.web.cern.ch/support/download_archive?page=4)
* [Geant v4.10.03 Data Libraries](https://geant4.web.cern.ch/support/download_archive?page=4)

Plese notice this list corresponds to the set of external dependencies of ARTI v1r9. Backward compatibility within previous minor versions and patches of the external dependencies is assured, i.e., ARTI will run with any older versions of CORSIKA v7.xxxx, ROOT v6.xx.xx and GEANT4.10.xx.xx.pxx.

CORSIKA should be compiled with the following options:
```
Compiler: 64bits
High Energy Hadronic Model: QGSJETII-04
Low Energy hadronic interaction model: GHEISHA 2002d
Detector Geometry: non-flat (Volume) detector
```
and, for production, the following additional program options:
```
Landau-Pomeranchunk-Migdal (LPM) effect
Curved atmosphere version
external atmosphere functions
EFIELD
```
Additionally, ARTI is compatible with some other CORSIKA functionalities, such as ```PLOTSH```, ```PLOTSH2```. and ```CHERENKOV```, but it is not recommended to compile CORSIKA using these options as they will strongly decrease the simulation performance and are not needed for production.
A pre-compiled version of CORSIKA intended for simulation production is available [upon request](#Contact).

There are no other special requirements for ROOT, MAGNETOCOSMICS and GEANT4. Standard installations of these packages will smoothly work with ARTI.

### Installation

1. If you are using git, just clone this repository:
   ```bash
   cd /path/to/ARTI/installation
   git clone https://github.com/lagoproject/arti.git
   ```
   Otherwise, you can also directly download ARTI without using git (in this case, you should reinstall ARTI for every upgrade):
   ```bash
   cd /path/to/ARTI/installation
   wget -c https://github.com/lagoproject/arti/archive/refs/heads/master.zip
   unzip master.zip
   rm master.zip
   ```
2. ARTI compiling is very simple:
   ```bash
   cd arti
   make
   ```
   1. During the first installation of ARTI (or if you need to install ARTI in a different directory), `make` will define the `$ARTI` environment variable, that points to the ARTI current directory installation. Then, ARTI installer will add the definition of this variable to the user's local `.bashrc` and to the local `$PATH` environment variable:
      ```bash
      #
      ## Changes added by the ARTI suite on <installation date>
      #
      export ARTI="/path/to/ARTI/installation/arti"
      export PATH="${ARTI}/sims/:${ARTI}/analysis:$PATH"
      ```
      You can edit your `.bashrc` to add, e.g., the directory where the CORSIKA executables files were located, for example:
      ```bash
      export CRK="/path/to/CORSIKA/run"
      export PATH="${CRK}/:$PATH"

If you follow the above described steps and everything works well, you should find some new executable files at the `${ARTI}/analysis` directory.

### Pre-compiled ARTI framework (inc. dependencies)

A Docker container having all the ARTI requirements and dependencies installed and configured with the corresponding options for production is currently under development and will be available in June 2022.

If you want to receive information about the ARTI new releases, or have any doubts or require extra information about the compiling options for all these packages, please don't hesitate to [contact us](#Contact).

<p align="right">(<a href="#top">back to top</a>)</p>

### ARTI updates, releases, branchs and tags

ARTI is continously used, revised and updated within the [LAGO Collaboration](https://lagoproject.net).

Unless you are a developer, we recommend to use only the latest ARTI release contained in the `master` branch of this repository. Stable versions are tagged and can be found in the [corresponding section of this repository](https://github.com/lagoproject/arti/tags).

Clone and install ARTI from `dev` or `dev-*` branches is strongly discouraged, as these branches are used for testing, bug correction and for the development of new features.

If you are using `git`, you can update ARTI just by doing:

```bash
cd /path/to/ARTI/installation/arti
git pull
make
```

Otherwise, you could just reinstall ARTI by following the [installation guide](#installation).

<p align="right">(<a href="#top">back to top</a>)</p>

## Usage

The ARTI approach for calculation the expected flux of signals due to the integrated flux of cosmic rays is based on three stages:

1. Definition of the site characteristics, primary spectrum calculations and [Extensive Air Showers (EAS](https://en.wikipedia.org/wiki/Air_shower_(physics))) developments;
2. Analysis of the secondary particles at ground and geomagnetic corrections;
3. Detector simulation.

Depending on the type of calculation the user should need, there are different pathways that need to be followed.

### Flux calculation basis

#### a. Expected flux of secondaries at ground level

The flux simulation background starts with the `do_sims.sh` script, as follows:

```bash
do_sims.sh -w path_to/corsika/run/ -p fluxBGA -s bga -v 77402 -t 3600 -u orcid -y -x
```
With this options, ARTI will integrate the expected flux of primaries during 3600 second (`-t 3600`) for the city of Bucaramanga, Colombia (`-s bga`) at an altitude of 965 m a.s.l., using a volumetric WCD (`-y`). EAS calculations will be done using the CORSIKA executables version 7.7402 (`-v 77402`) located at `-w path_to/corsika/run`. The user [ORCID](https://orcid.org/) (-u `orcid`) will be stored in the corresponding metadata and will be preserved for future citation of the data. While it is recommended to use your ORCID, any alphanumeric string is accepted. For the rest of possible options, do_sims.sh will use the ARTI defaults (`- x`). Otherwise, they would be answered in an interactive ARTI session.

The list of predefined sites in ARTI is compiled and regularly updated in [the LAGO Data Management Plan](https://lagoproject.github.io/DMP/defs/sitesLago/). ARTI includes a JSON parser to get the characteristics needed for the simulation of the flux at several predefined sites.

Defaults, included the site characteristics, can be overridden by the user by selecting the corresponding options. Please run
```bash
do_sims.sh -?
```
to view a brief description of the available options.
The resulting files will be stored at the local directory `/path_to/corsika/run/fluxBGA`, automatically created from the path given with the `-w` option and the project name (`-p fluxBGA`).

The scripts and codes related with these calculations can be found in the [sims](sims) directory. All of them have their own integrated help, accessible through the `-?` modifier.

#### b. Analysis of the secondaries and geomagnetic effects

Once the catalogues with the raw data of the flux are produced, they can be read and analysed with the ARTI analyses tools to extract the secondary particle flux information: the secondary particle ID, the particle momentum, the particle position relative to the primary core, and additional information related with its primary progenitor.
Depending on the environment, the analysis stage can be performed automatically during the runtime or manually by calling to the `do_showers.sh` script:

```bash
$ do_showers.sh -o /path_to/corsika/run/fluxBGA -k 965 -t 3600 -g bga.geo 3 -l
```
With this options, ARTI will perform the standard analysis of the files located at `/path_to/corsika/run/fluxBGA` (`-o` option), corresponding to the flux of secondaries impinging 1 m2 at ground during 3600s (`-t` option) for a site at an altitude of 965 m a.s.l. (`-k` option), using the column 3 of the geomagnetic conditions file `bga.geo` (`-g` option). The analysis will be parallelized (`-l`) using the default number of processors equals to half the available ones, and the results will be stored in the current directory (default: `$PWD`, see option `-w`).

As in the previous case, all the codes and executables have their internal help (`-?`) and are available in the [analysis](analysis) directory.

#### c. Water Cherenkov Detector Simulation

A complete and detailed simulation of a generic and modifiable WCD Geant4 simulation is included in the [wcd](wcd) directory.

The main characteristics of the detector can be easily configured by editing the corresponding files in the [src](wcd/src), such as: the water container material, thickness and geometry; the reflectivity and diffusivity of the detector's inner coating; the water absorption curves in the optical and UV wavelength range; the geometry and wavelength sensitivity of the photomultiplier tube (PMT); and the emulated response of the onboard electronic system.

Once the corresponding variables are updated in the code, it must be re-compiled by doing:
```bash
cmake -DGeant4_DIR=/path/to/geant4/lib/Geant4-version/
make -j2
```
and a new `wcd` executable file will be compiled at the `wcd` directory.
Before to run, the file containing the secondaries at ground resulting of the previous analisys should be defined in the `input.in` file.

Again, depending on the environment, it could run automatically during runtime or has to be called by the user once the previous stages are completed, by doing:
```bash
wcd -m input.in > run.log
```

Additional information can be found in the wcd module [`README.md`](wcd/README.md) and in the [ARTI Documentation](docs).

### General help and documentation

The documentation is currently under preparation and will be released in July 2022. A brief description of the action of each code and the available options and modifiers can be seen by calling them with the `-? modifier`.

_For more examples, please refer to the [ARTI Documentation](docs)._

(back to top)

## Related projects

ARTI has several options and internal configurations to automatically run at different types of computing facilities: from personal notebooks or desktops up to high performance computing clusters.

More recently, [oneDataSim](https://github.com/lagoproject/onedataSim), a cloud-based implementation of ARTI, has been developed under the [LAGO Thematic Service](https://www.eosc-synergy.eu/supporting-astrophysics/) at the [_European Open Science Cloud - Expanding Capacities by building Capabilities_](https://www.eosc-synergy.eu/) project.

By using [oneDataSim](https://github.com/lagoproject/onedataSim), currently available through the [EOSC Marketplace](https://marketplace.eosc-portal.eu/services/onedatasim), it is possible to run the ARTI simulations at federated clouds, such as the [European Open Scientific Cloud (EOSC](https://eosc-portal.eu/)) and other public clouds, such as the [Google cloud](https://cloud.google.com/),[ Amazon web services](https://aws.amazon.com/) and [Microsoft Azure](https://azure.microsoft.com/).

(back to top)

## Proposed features

See the [open issues](https://github.com/lagoproject/arti/issues) for a full list of proposed features (and known issues).

(back to top)

## Contributing

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

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Don't forget to give the project a star! Thanks again!

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3.  Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request

(back to top)

## License

ARTI is distributed under the [BSD-3 License](https://opensource.org/licenses/BSD-3-Clause). See the [LICENCE](LICENSE) for more information.

(back to top)

## Contact

The ARTI framework is developed by the LAGO simulation group. If you need to contact us, please complete our [contact form](https://lagoproject.net/contact.html).

ARTI principal contact: [Dr. Hernán Asorey (@asoreyh)](https://github.com/asoreyh)

Project Link: [https://github.com/lagoproject/arti](https://github.com/lagoproject/arti)

(back to top)

repository: lagoproject/arti

repo_name: lagoproject/arti


text:
---
layout: default
---

# 1995-01-07 - Remailers, Linux, & Help ...

## Header Data

From: root<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash: 720d83465b31eb2e83b1f51975c8b0015e3307c3ef8f14a60f73aca3eb570a8b

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1995-01-07 04:41:56 UTC

Raw Date: Fri, 6 Jan 95 20:41:56 PST

## Raw message

```
{% raw  %}From: root<EMAIL_ADDRESS>Date: Fri, 6 Jan 95 20:41:56 PST
To<EMAIL_ADDRESS>Subject: Remailers, Linux, & Help ...
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text

Hi all,

Normaly I use(d<EMAIL_ADDRESS>to access this list but the times they are a
changin' ...

I have successfuly gotten my network at home on Internet via a ISDN link. We
are interested in setting up a remailer which among other things supports
anonymity. If anybody has experience or learned input on doing this under
Linux please contact me.

A reminder that RoboFest 6 in Austin, TX will occur this year on April 1 & 2.
If there are any c-punks interested in giving a talk or doing demo's then
please contact me. If any of you folks are in the area then stop by and say
Hi. I will be working at the Wired Society booth.

Take care!

{% endraw %}
```

## Thread

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

+ Return to "[root <root@einstein.ssz.com>](/authors/root_root_at_einstein_ssz_com_)"

+ 1995-01-07 (Fri, 6 Jan 95 20:41:56 PST) - Remailers, Linux, & Help ... - _root<EMAIL_ADDRESS>


text:
Code Challenge
Insert and shift an array in middle at index

Specifications
Read all of these instructions carefully. Name things exactly as described, or you will get a ZERO without comment
Do all your work in a public repository (matching the example provided by your instructor) called data-structures-and-algorithms, with a well-formatted, detailed top-level README.md
Create a branch in your repository called array_shift
On your branch, create…
C#: Create a method named ArrayShift() outside of Main() in your Program.cs file. Call Your newly created method in Main() once complete.
JavaScript: a folder named arrayShift which contains a file called array-shift.js
Python: a folder named array_shift which contains a file called array_shift.py
Java: a file called ArrayShift.java
Include any language-specific configuration files required for this challenge to become an individual component, module, library, etc.
NOTE: You can find an example of this configuration for your course in your class lecture repository.
Feature Tasks
Write a function called insertShiftArray which takes in an array and the value to be added. Without utilizing any of the built-in methods available to your language, return an array with the new value added at the middle index.
Example
Input	Output
[2,4,6,8], 5	[2,4,5,6,8]
[4,8,15,23,42], 16	[4,8,15,16,23,42]
Structure and Testing
Utilize the Single-responsibility principle: any methods you write should be clean, reusable, abstract component parts to the whole challenge. You will be given feedback and marked down if you attempt to define a large, complex algorithm in one function definition. You may round up in the event that the array has an odd number of indexes.

Write at least three test assertions for each method that you define.

Stretch Goal
Once you’ve achieved a working solution, write a second function that removes an element from the middle index and shifts other elements in the array to fill the new gap.

Documentation: Your README.md
# Insert and shift middle index of array
<!-- Short summary or background information -->

## Challenge
<!-- Description of the challenge -->

## Approach & Efficiency
<!-- What approach did you take? Why?  Embedded whiteboard image -->

Submission Instructions
Take a photo of your completed whiteboard, matching the example whiteboard layout
Copy your photo into an /assets directory in your repo
Give the image file the same name as the branch you are working on
Embed the image in your README.md documentation
Create a pull request from your branch to your master branch
In your open pull request, leave as a comment a checklist of the specifications and tasks above, with the actual steps that you completed checked off
Submitting your completed work to Canvas:
Copy the link to your open pull request and paste it into the corresponding Canvas assignment
Leave a description of how long this assignment took you in the comments box
Add any additional comments you like about your process or any difficulties you may have had with the assignment
Merge your branch into master, and delete your branch (don’t worry, the PR link will still work)
© Code Fellows 2019


text:
# Mount Support

## Mount command

The `occlum mount` command is designed to mount the secure FS image of the Occlum instance as a Linux FS at a specified path on Linux. This makes it easy to access and manipulate Occlum's secure FS for debug purpose.

### Prerequisites

The command depends on Linux's [Filesystem in Userspace (FUSE)](https://en.wikipedia.org/wiki/Filesystem_in_Userspace), which consists of two components: a kernel module and a userspace library. In most of Linux distributions, the FUSE kernel module is part of the Linux kernel by default, so it should not be a problem. The FUSE library can be installed via a package manager (e.g., `sudo apt-get install libfuse-dev` on Ubuntu). You do not need to install the package manually when using the Occlum Docker image as it has preinstalled the package.

One common pitfall when using FUSE with Docker is about privilege. A Docker container, by default, does not have the privilege to use FUSE. To get the privilege, the Docker container must be started with the following flags:
```
--cap-add SYS_ADMIN --device /dev/fuse
```
or
```
--privileged
```
For more info about enabling FUSE for Docker, see [here](https://github.com/docker/for-linux/issues/321).

### How to use

To mount an Occlum's secure FS image successfully, three conditions must be satisfied:

1. The secure FS image exists and is not being used (e.g., via the `occlum run` or `occlum mount` command). This condition ensures that the secure FS will not be broken due to the concurrent access of different Occlum commands.

2. The three (optional) sign key, sign tool and image key arguments that are given to the `occlum mount` command must have the same values as those given to the `occlum build` command, which is how the image is created in the first place. This ensures that the secure FS can only be accessed by the owner of the enclave.

3. If the image key is not given to the `occlum build` command, the `occlum mount` command must be run on the same machine as the `occlum run` command that runs the current Occlum instance and writes to the image. This condition is due to the fact that the automatically drived encryption key of the secure FS is bound to the machine, i.e., the MRSIGNER key policy.

With the three conditions satisfied, the mount command is able to start a Linux FUSE FS server. Any I/O operations on the FUSE FS mounted at the specified path will be redirected by Linux kernel as I/O requests to the FUSE server. The FUSE server is backed by a special enclave, which can encrypt or decrypt the content of the secure FS image on demand.

Please note that if the `autokey_policy` field of the configurations of FS is set in Occlum.json, the mount command will not work. This is because the MRENCLAVE is used as an input to generate the encryption key, and the mount tool cannot mimic it.

The mount command **will not return** until the FUSE server is terminated in one of the two ways. The first one is to press ctrl+C. The second one is to use `umount` command. Both ways can terminate the server gracefully.

Step 1: Create an empty directory to serve as the mount point
```
mkdir <path>
```

Step 2: Mount the secure FS at the newly created mount point
```
occlum mount [--sign-key <key_path>] [--sign-tool <tool_path>] [--image-key <key_path>] <path>
```
After mounting the secure FS successfully, you can access and manipulate the FS from the mount point as easy as regular Linux FS.

## Mount and Unmount Filesystems at Runtime

### Background
Users can specify the mount configuration in the `Occlum.json` file, then the file systems are mounted during the libOS startup phase. While this design provides a safe and simple way to access files, it is not as convenient as traditional Host OS. Apps are not allowed to mount and unmount file systems at runtime.

### How to mount filesystems at runtime?
Apps running inside Occlum can mount some specific file systems via the [mount()](https://man7.org/linux/man-pages/man2/mount.2.html) system call. This makes it flexible to mount and access files at runtime.

Currently, we only support to create a new mount with the trusted UnionFS consisting of SEFSs or the untrusted HostFS. The mount point is not allowed to be the root directory("/").

#### 1. Mount trusted UnionFS consisting of SEFSs
Example code:

```
mount("unionfs", "<target_dir>", "unionfs", 0/* mountflags is ignored */,
      "lowerdir=<lower>,upperdir=<upper>,key=<128-bit-key>")
```

Mount options:

- The `lowerdir=<lower>` is a mandatory field, which describes the directory path of the RO SEFS on Host OS.
- The `upperdir=<upper>` is a mandatory field, which describes the directory path of the RW SEFS on Host OS.
- The `key=<128-bit-key>` is an optional field, which describes the 128bit key used to encrypt or decrypt the FS. Here is an example of the key: `key=c7-32-b3-ed-44-df-ec-7b-25-2d-9a-32-38-8d-58-61`. If this field is not provided, it will use the automatic key derived from the enclave sealing key.

#### 2. Mount untrusted HostFS
Example code:

```
mount("hostfs", “<target_dir>”, "hostfs", 0/* mountflags is ignored */,
      "dir=<host_dir>")
```

Mount options:

- The `dir=<host_dir>` is a mandatory field, which describes the directory path on Host OS.

### How to unmount filesystems at runtime?

Apps running inside Occlum can unmount some specific file systems via the [umount()/umount2()](https://man7.org/linux/man-pages/man2/umount.2.html) system calls. Note that root directory("/") is not allowed to unmount.

Example code:
```
umount("<target_dir>")
```

repository: occlum/occlum

gha_language: Rust

gha_license_id: NOASSERTION

repo_name: occlum/occlum


text:
Logical ordering of code:
=========================
For explanations on parameter choices and algorithm details, refer to the PDF or Tex file, HW1.{pdf, tex}.

Homework 2:
- Run BLR_Fit.R. You will need to change the setwd() command in the beginning to something that more closely reflects your own working directory.
- BLR_Fit.R calls helper_functions.R, which is a file with numerous smaller functions that do most of the Metropolis-Hastings work.
- The result of running BLR_Fit.R in array mode on the computer cluster is a series of resulting quantile CSV files in the results directory.

Homework 3:
- Run cancer.R. You will need to change your working directory like before.
- cancer.R calls the same helper_functions code as BLR_Fit.R did.
- Job can be run on the local machine or the compute cluster. There is no advantage to using the cluster with this code--it is not parallel.


text:
Currying 2

by Kim @hubvue

[Currying](https://en.wikipedia.org/wiki/Currying) is the technique of converting a function that takes multiple arguments into a sequence of functions that each take a single argument.

But in our daily life, currying dynamic arguments is also commonly used, for example, the `Function.bind(this, [...params])` API.

```ts
const func = (a: number, b: number, c: number) => {
  return a + b + c
}

const bindFunc = func(null, 1, 2)

const result = bindFunc(3) // result: 6
```

Thus, based on `Currying 1`, we would need to have the dynamic argument version:

```ts
const add = (a: number, b: number, c: number) => a + b + c
const three = add(1, 1, 1)

const curriedAdd = DynamicParamsCurrying(add)
const six = curriedAdd(1, 2, 3)
const seven = curriedAdd(1, 2)(4)
const nine = curriedAdd(2)(3)(4)
```

In this challenge, `DynamicParamsCurrying` may take a function with zero to multiple arguments, you need to correctly type it. The returned function may accept at least one argument. When all the arguments as satisfied, it should yield the return type of the original function correctly.

Related Challenges

repository: type-challenges/type-challenges

gha_language: TypeScript

repo_name: type-challenges/type-challenges


text:
---
title: |
    857. The Crowning Day - Christ in Song
metadata:
    description: |
        Christ in Song 857. The Crowning Day. Our Lord is now rejected, And by the world disowned, By the many still neglected, And by the few enthroned, But soon He'll come in glory, The hour is drawing nigh, For the crowning day is coming by and by. Oh, the crowning day is coming,  Is coming by and by, When our Lord shall come in "power,"  And "glory" from on high, Oh, the glorious night will gladden, Each waiting watchful eye, In the crowning day that's coming by and by.
    keywords:  |
        Christ in Song, adventhymnals, advent hymnals, The Crowning Day, Our Lord is now rejected.
    author: Brian Onang'o
---

#### Advent Hymnals
## 857. THE CROWNING DAY
####  Christ in Song,

```txt
1.
Our Lord is now rejected,
And by the world disowned,
By the many still neglected,
And by the few enthroned,
But soon He'll come in glory,
The hour is drawing nigh,
For the crowning day is coming by and by.
Oh, the crowning day is coming,
Is coming by and by,
When our Lord shall come in "power,"
And "glory" from on high,
Oh, the glorious night will gladden,
Each waiting watchful eye,
In the crowning day that's coming by and by.

2.
The heav'ns shall glow with splendor,
But brighter far than they
The saints shall shine in glory,
As Christ shall them array,
The beauty of the Saviour,
Shall dazzle ev'ry eye,
In the crowning day that's coming by and by.
Oh, the crowning day is coming,
Is coming by and by,
When our Lord shall come in "power,"
And "glory" from on high,
Oh, the glorious night will gladden,
Each waiting watchful eye,
In the crowning day that's coming by and by.

3.
Our pain shall then be over,
We'll sin and sigh no more,
Behind us all of sorrow,
And naught but joy before,
A joy in our Redeemer,
As we to Him are nigh,
In the crowning day that's coming by and by.
Oh, the crowning day is coming,
Is coming by and by,
When our Lord shall come in "power,"
And "glory" from on high,
Oh, the glorious night will gladden,
Each waiting watchful eye,
In the crowning day that's coming by and by.

4.
Let all that look for, hasten
The coming joyful day,
By earnest consecration,
To walk the narrow way,
By gath'ring in the lost ones,
For whom our Lord did die,
For the crowning day that's coming by and by.
Oh, the crowning day is coming,
Is coming by and by,
When our Lord shall come in "power,"
And "glory" from on high,
Oh, the glorious night will gladden,
Each waiting watchful eye,
In the crowning day that's coming by and by.

```

- |   -  |
-------------|------------|
Title | The Crowning Day |
Key | A♭ Major |
Titles | undefined |
First Line | Our Lord is now rejected |
Author | El. Nathan
Year | 1908
Composer| James McGranahan |
Hymnal|  - |
Tune| Our Lord is now rejected |
Metrical pattern | |
# Stanzas |  |
Chorus |  |
Chorus Type |  |
Subjects | The Home Eternal: Return of Christ; Special Selections: Solos; Special Selections: Choir or Quartet |
Texts | Revelation 19:12 |
Print Texts |
Scripture Song |  |

repository: GospelSounders/adventhymnals

repo_name: GospelSounders/adventhymnals


text:
### [CVE-2022-2350](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-2350)
![](https://img.shields.io/static/v1?label=Product&message=Disable%20User%20Login&color=blue)
![](https://img.shields.io/static/v1?label=Version&message=1.0.1%3C%3D%201.0.1%20&color=brighgreen)
![](https://img.shields.io/static/v1?label=Vulnerability&message=CWE-352%20Cross-Site%20Request%20Forgery%20(CSRF)&color=brighgreen)
![](https://img.shields.io/static/v1?label=Vulnerability&message=CWE-862%20Missing%20Authorization&color=brighgreen)

### Description

The Disable User Login WordPress plugin through 1.0.1 does not have authorisation and CSRF checks when updating its settings, allowing unauthenticated attackers to block (or unblock) users at will.

### POC

#### Reference
- https://wpscan.com/vulnerability/de28543b-c110-4a9f-bfe9-febccfba3a96

#### Github
No PoCs found on GitHub currently.

repository: trickest/cve

gha_language: HTML

repo_name: trickest/cve


text:
# Changelog

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

## [5.3.1](https://github.com/americanexpress/one-app/compare/v5.3.0...v5.3.1) (2020-08-05)

### Bug Fixes

* **scripts/watch:** ensure missing sw scripts ([69f5f1b](https://github.com/americanexpress/one-app/commit/69f5f1b37e1cdee475ca662d4bfa3d3ed3bdf0b1))

# [5.3.0](https://github.com/americanexpress/one-app/compare/v5.2.2...v5.3.0) (2020-07-29)

### Features

* **createCircuitBreaker:** log circuit breaker activity ([acb96c3](https://github.com/americanexpress/one-app/commit/acb96c315db663474fa99b0fc929719586deacf9))
* **pwa/cache:** clear when disabled ([e84eddd](https://github.com/americanexpress/one-app/commit/e84eddd40a2c99a6b87928e58b5fcd40768e9edd))
* **ssrServer:** added readiness check route ([#248](https://github.com/americanexpress/one-app/issues/248)) ([a342e71](https://github.com/americanexpress/one-app/commit/a342e71e99a1485616392c074c1d1459c058d7e2))

## [5.2.2](https://github.com/americanexpress/one-app/compare/v5.2.1...v5.2.2) (2020-07-15)

### Dependency Updates

* **deps-dev/webdriverio** 6.1.20 to 6.1.24
* **deps/@americanexpress/one-app-ducks** 4.0.1 to 4.1.1
* **deps/@americanexpress/one-app-bundler** 6.6.0 to 6.7.0
* **deps-dev/jest** 26.0.1 to 26.1.0
* **deps/@americanexpress/fetch-enhancers** 1.0.0 to 1.0.1

## [5.2.1](https://github.com/americanexpress/one-app/compare/v5.2.0...v5.2.1) (2020-07-01)

### Bug Fixes

* **clientModuleMapCache:** set base url for module bundle type ([#215](https://github.com/americanexpress/one-app/issues/215)) ([95ca35f](https://github.com/americanexpress/one-app/commit/95ca35f))
* **release/change-log:** remove -e added ([#211](https://github.com/americanexpress/one-app/issues/211)) ([250113b](https://github.com/americanexpress/one-app/commit/250113b))

# [5.2.0](https://github.com/americanexpress/one-app/compare/v5.1.1...v5.2.0) (2020-06-24)

### Bug Fixes

* **module-map:** missing baseUrl to module map on server ([#206](https://github.com/americanexpress/one-app/issues/206)) ([c6a251e](https://github.com/americanexpress/one-app/commit/c6a251e))
* **stateConfig:** incorrect env var for dev-proxy port ([#209](https://github.com/americanexpress/one-app/issues/209)) ([3620a1a](https://github.com/americanexpress/one-app/commit/3620a1a))

### Features

* **createTimeoutFetch:** replaced [@americanexpress](https://github.com/americanexpress)/fetch-enhancers ([c12db6f](https://github.com/americanexpress/one-app/commit/c12db6f))
* **pwa/offline:** html shell ([e8a1dd2](https://github.com/americanexpress/one-app/commit/e8a1dd2))

## [5.1.1](https://github.com/americanexpress/one-app/compare/v5.1.0...v5.1.1) (2020-06-17)

### Bug Fixes

* **send-html:** ignore async chunks ([49a3826](https://github.com/americanexpress/one-app/commit/49a3826))

# [5.1.0](https://github.com/americanexpress/one-app/compare/v5.0.0...v5.1.0) (2020-06-10)

### Bug Fixes

* **pwa/icons:** correct base url ([c6fbd58](https://github.com/americanexpress/one-app/commit/c6fbd58))

### Features

* **make-promises-safe:** treat unhandledRejection as uncaught exception ([#174](https://github.com/americanexpress/one-app/issues/174)) ([5fe0245](https://github.com/americanexpress/one-app/commit/5fe0245))

# [5.0.0](https://github.com/americanexpress/one-app/compare/v5.0.0-rc.5...v5.0.0) (2020-05-28)

### Chores

* **deps:** upgrade react-helmet ([ac65593](https://github.com/americanexpress/one-app/commit/ac65593))

### Features

* **build/server:** only transpile for node ([#161](https://github.com/americanexpress/one-app/issues/161)) ([48c25cd](https://github.com/americanexpress/one-app/commit/48c25cd))
* **sendHtml/legacy:** only check user agent for ie ([#147](https://github.com/americanexpress/one-app/issues/147)) ([cc0aa95](https://github.com/americanexpress/one-app/commit/cc0aa95))
* **metrics/update prom-client:** update prom-client for more dimensions ([#123](https://github.com/americanexpress/one-app/issues/123)) ([79f0e68](https://github.com/americanexpress/one-app/commit/79f0e68))

### BREAKING CHANGES

* **deps:** requires react-helmet v6

# [5.0.0-rc.5](https://github.com/americanexpress/one-app/compare/v5.0.0-rc.4...v5.0.0-rc.5) (2020-05-20)

### Features

* **one-app-router:** update to 1.1.0 ([#137](https://github.com/americanexpress/one-app/issues/137)) ([0139c6c](https://github.com/americanexpress/one-app/commit/0139c6c))
* **pwa/web-manifest:** add middleware & config support ([9077f17](https://github.com/americanexpress/one-app/commit/9077f17))

# [5.0.0-rc.4](https://github.com/americanexpress/one-app/compare/v5.0.0-rc.3...v5.0.0-rc.4) (2020-05-13)

### Features

* **one-app-dev-cdn:** pass use-host flag ([#138](https://github.com/americanexpress/one-app/issues/138)) ([b7202ca](https://github.com/americanexpress/one-app/commit/b7202ca))
* **one-service-worker:** integration with one-app ([3a76625](https://github.com/americanexpress/one-app/commit/3a76625))

# [5.0.0-rc.3](https://github.com/americanexpress/one-app/compare/v5.0.0-rc.2...v5.0.0-rc.3) (2020-05-06)

### Features

* **createRequestHtmlFragment:** implemented circuit breaker ([#111](https://github.com/americanexpress/one-app/issues/111)) ([e10f707](https://github.com/americanexpress/one-app/commit/e10f707))
* **initClient:** removed StrictMode, resolves [#74](https://github.com/americanexpress/one-app/issues/74) ([#126](https://github.com/americanexpress/one-app/issues/126)) ([890a7e8](https://github.com/americanexpress/one-app/commit/890a7e8))

# [5.0.0-rc.2](https://github.com/americanexpress/one-app/compare/5.0.0-rc.1...v5.0.0-rc.2) (2020-04-29)

### Features

* **dep:** add create-shared-react-context ([#112](https://github.com/americanexpress/one-app/issues/112)) ([24217c6](https://github.com/americanexpress/one-app/commit/24217c6))
* **one-app:** removed tenancy or tenant instances ([#69](https://github.com/americanexpress/one-app/issues/69)) ([1b6a5e5](https://github.com/americanexpress/one-app/commit/1b6a5e5))

# [5.0.0-rc.1](https://github.com/americanexpress/one-app/compare/5.0.0-rc.0...5.0.0-rc.1) (2020-04-22)

### Features

* **fetch:** switch to cross-fetch instead of isomorphic-fetch ([#101](https://github.com/americanexpress/one-app/issues/101)) ([82155d5](https://github.com/americanexpress/one-app/commit/82155d5d63344409559c42fd0783ab8b4b012bc3))
* **SecurityHeaders:** add Referrer-Policy override ([#97](https://github.com/americanexpress/one-app/issues/97)) ([6e16cc9](https://github.com/americanexpress/one-app/commit/6e16cc97926095f85ca786fd56c8cf825aad6c6e))

### Bug Fixes

* **healthyFrank:** change onHover for onMouseOver ([#104](https://github.com/americanexpress/one-app/issues/104)) ([ff3c87d](https://github.com/americanexpress/one-app/commit/ff3c87dd41e185624948408e966e9797a73611c2))
* **react:** update React to 16.13.1 ([#109](https://github.com/americanexpress/one-app/issues/109)) ([917e55a](https://github.com/americanexpress/one-app/commit/917e55a8deebf561c81762c4c9e88015760cac6a))
* **workflows:** removed greeting action ([#103](https://github.com/americanexpress/one-app/issues/103)) ([663fc0c](https://github.com/americanexpress/one-app/commit/663fc0c0a7b325339cba1cedb5e4cfe00fb97b7a))

## 5.0.0-rc.0 (2020-04-08)

### Features

* **all:** initial oss release ([0c64dcd](https://github.com/americanexpress/one-app/commit/0c64dcd7b76018868c37101e50ef2228c25a3eec))
* **csp:** add local development domains to csp ([#42](https://github.com/americanexpress/one-app/issues/42)) ([4952d28](https://github.com/americanexpress/one-app/commit/4952d286c8ae5750a0b723deb117a1d96d1fb0f2))
* **danger:** validate lockfiles ([#7](https://github.com/americanexpress/one-app/issues/7)) ([1e560f7](https://github.com/americanexpress/one-app/commit/1e560f71090253072cc37b43a4143e819f6dc88e))
* **holocron:** holocron 1.1.0 ([5e84384](https://github.com/americanexpress/one-app/commit/5e84384d17a452edd66a058dcdb905182021e5c3))
* **loadModule:** optional cache bust key ([#37](https://github.com/americanexpress/one-app/issues/37)) ([b34b1bd](https://github.com/americanexpress/one-app/commit/b34b1bd57fc5c49c683d771e24bafc4dae38d0e3))
* **react:** update to latest version of react ([690e02b](https://github.com/americanexpress/one-app/commit/690e02bd8689b7091d71b618bf925606f0fff040))
* **release:**  one-app release process ([#90](https://github.com/americanexpress/one-app/issues/90)) ([72ea38b](https://github.com/americanexpress/one-app/commit/72ea38bc033195e0db1a3b4d220c1e1093dc3264))
* **routes:** added default 404 route ([d8f1bad](https://github.com/americanexpress/one-app/commit/d8f1bad4379f8ec1198b4f31c30e17d4db1fe5e4))
* **runtime:** add csp reporting url env var ([#81](https://github.com/americanexpress/one-app/issues/81)) ([f6faa53](https://github.com/americanexpress/one-app/commit/f6faa53bbdbf3f841c4609bbdc1fad5922ffe901))
* **stateConfig:** make state config more flexible ([#38](https://github.com/americanexpress/one-app/issues/38)) ([72539a0](https://github.com/americanexpress/one-app/commit/72539a013c7905bf75f3b8126f1bee579ceb6477)), closes [#20](https://github.com/americanexpress/one-app/issues/20)
* **statics:** generate one-app-statics package ([#82](https://github.com/americanexpress/one-app/issues/82)) ([8b65858](https://github.com/americanexpress/one-app/commit/8b658587d6cdced36b245642374b70af79a67b69))

### Bug Fixes

* **conditionallyAllowCors:** nested array of cors origins ([#14](https://github.com/americanexpress/one-app/issues/14)) ([75ba553](https://github.com/americanexpress/one-app/commit/75ba55336f79afe53459070946a77877c2513fe4))
* **devCdn:** proxy modules through dev cdn ([#48](https://github.com/americanexpress/one-app/issues/48)) ([20a910a](https://github.com/americanexpress/one-app/commit/20a910a8b370f702c87960520cdd9068fbbb6caf))
* **provided-externals:** logs warning for child modules ([#32](https://github.com/americanexpress/one-app/issues/32)) ([24a9be4](https://github.com/americanexpress/one-app/commit/24a9be4ceaeaf2b2e5f6e8dc60d98cd9643e2ede))
* **scripts:** drop-module ([#75](https://github.com/americanexpress/one-app/issues/75)) ([8e9de45](https://github.com/americanexpress/one-app/commit/8e9de457966544a0589dfd1eb74eac1969b16ddc))
* **server:** changes to allow for dev proxy usage ([#54](https://github.com/americanexpress/one-app/issues/54)) ([6c6631c](https://github.com/americanexpress/one-app/commit/6c6631c3061d0d7d2426e2f90a754df5d67b524f))
* **stateConfig:** use localhost rather than ip for dev ([#63](https://github.com/americanexpress/one-app/issues/63)) ([de051d9](https://github.com/americanexpress/one-app/commit/de051d9f0917bcb65a948b13487306248a1a3319))
* **utils:** replace watchLocalModules cdn-url string to be ip/port ([#17](https://github.com/americanexpress/one-app/issues/17)) ([0650b16](https://github.com/americanexpress/one-app/commit/0650b166ef7825ef58a3e8a0b2ee69b48a1d8129))
* **vulnerabilities:** dependency updates ([#5](https://github.com/americanexpress/one-app/issues/5)) ([9b35457](https://github.com/americanexpress/one-app/commit/9b35457afd1acadf6f37880f3091c0724db42b4c))

repository: HarishBoke/one-app

repo_name: HarishBoke/one-app


text:
---
title: Application for Change of Use and Parking Layout to Existing Developments
permalink: /browse-all-licences/Land-Transport-Authority-(LTA)/Application-for-Change-of-Use-and-Parking-Layout-to-Existing-Developments
third_nav_title: Land Transport Authority (LTA)
---

## Application for Change of Use and Parking Layout to Existing Developments

Land Transport Authority (LTA)

{% include spcp-text.html type="cp" %}

{% include button.html text="Apply on LTA" src="https://www.lta.gov.sg/content/ltagov/en/industry_innovations/industry_matters/development_construction_resources/vehicle-parking-proposals/codes_forms_and_epayment_services.html" type="primary" %}

Application Details

Submission to obtain approval/clearance for Change of Use proposals and proposed Addition/Alteration of existing parking places and lots.

repository: isomerpages/govtech-gobusiness

branch_name: refs/heads/staging

repo_name: isomerpages/govtech-gobusiness


text:
# Genetic-Algorithm-Burger-King
A Python 3.7.1 framework and Evolution-based manager script.
Aim:
1. To set up an environment to experiment with Genetic Evolution Algorithms.
2. To make it modular so anyone can use it and improve on it.

## The Game itself
### The environment and premise
Put a "gene-controlled robot" on a square grid playing field of a specific size. Some locations of the playing field have food, and the rest are empty. The field is surrounded by walls, so the robot cannot fall out of the field. The simulator/framework/API accepts these parameters:
1. ***seed***: Int. The seed to be fed into the random number generator. This decides where the food and robot are placed on the map. Defaults to "711".
2. ***size***: Int. The size of the *usable* grid, excluding walls. The grid is square. Defaults to "16".
3. ***player***: Str. A long string made up of 243 digits (all numbers, between 0 and 5 inclusive) that dictate what the robot will do given a very specific scenario.
4. ***foodperc***: Int. The amount of food pieces (as a percentage out of 100% of all squares on the field) to be scattered randomly across the field. Defaults to "30".
5. ***turnLim***: Int. Specifies the number of turns to allow the simulation to run to. Defaults to "100".
6. ***toPrint***: Bool. Specifies if you want the function to print the map at every turn (basically a viewer for the robot's actions throughout 1 simulation). Defaults to "False".

### The Setup and Rules
1. The robot can do one of 6 actions. These are encoded in its gene.
	  * 0 = North move
	  * 1 = East move
	  * 2 = South move
	  * 3 = West move
	  * 4 = Center stay
	  * 5 = Center eat (incurs a time penalty)
2. The robot's gene is 243 digits long. It prescribes every possible scenario (3 possibilities ^ 5 tiles) that the robot can face.
	* A robot's field of view is limited to 5 tiles: 4 cardinal directions (North, East, South, West in order) and center.
	* Each tile is symbolized: *0* refers to empty, *1* refers to a tile with food, *2* refers to a tile with a wall.
	* The simulator checks the surroundings of the robot at every turn. Say, the robot is in the below position currently. It is described to be the base 3 situation '00121' which, in base 10 numbers, refers to 16. Thus the robot will perform the 16th digit of its gene as an action.
	```
	 |_|
	W|F|_
	 |F|

	==> N:0, E:0, S:1, W:2, C:1
	==> 00121: base 3 int
	==> 16: base 10 int
	==> 16th digit of gene read
	```
3. The only way to win a point is if the robot chooses to eat when it is on a food tile. The simulator will turn that tile empty.
4. The simulator deducts points in these situations:
	* The robot is **against a wall** and tries to **run into it**.
	* The robot is on an **empty tile** and tries to **eat food**.
	* The robot **stays at the same spot** (i.e. it chooses action 4)
5. The simulator will not allow the robot to move into a wall. The robot will merely stay at its current location.

## Framework/API
* The API rests entirely in the file "Gamev2.py".
* **Dependencies**: *random, os, pickle, time* and *datetime*. Reasons for each are explained in the file.
* **Functions**: *runGame, generate_field, play* and *print_field*.
* **runGame** is the main function. It takes in the parameters specified [above](*the-environment-and-premise) and runs the simulation using the other functions.

### Using the API:
1. Command-line example "[tester.bat](tester.bat)". I use this option to see what any interesting gene is doing on the field.
```batch
python -c "from Gamev2 import runGame; runGame(player='...', seed=967, toPrint=True)"
pause
```
2. Used as .py module example "[evov2.py](evov2.py)". I use this option to run my evolution algorithm like a "manager" script.
	``` python
	from Gamev2 import runGame
	myscore = runGame(player=myGene, size=5, seed=5435)
	print("My gene scored: " + myscore)
	```

***This is all you need to know if you are building your own algorithm.***
## My evolutionary algorithm
### Key Features are
1. Evolution [evov2.py](evov2.py)
	* gene-pool size
	* mutation
	* perc of top old genes to keep in next generation (*oldvsnew*)
	* number of children each parent-couple can make (*percChild*)
	* effect of 1 point difference on becoming a parent (*inequity*)
	* crossover
	* Dynamically varying seed based on whether the genes will be able to handle a new seed
2. Record-keeping [evov2.py](evov2.py)
	* JSON-creation for genes that beat a overall highscore to set a new best
	* CSV-creation of evolution status at every *x* generations, records current-generation highscore, seed, and evolution parameters
	* Can resume progress given the above JSON and CSV files
3. Display progress in graphs [zzplotme.py](zzplotme.py).


text:
### lit

**This is an old version of lit, preserved for history. [See out this repo](https://github.com/egordorichev/lit) for the current version!**

lit is a tiny and fast language, designed to be embeddable and used as a scripting language. It takes inspiration from JavaScript, Java, C# and Lua, and combines them all into a statically-typed stack-vm based language.

Here is how it looks:

```js
int do_thing(String a) {
  print(a)
  return 3
}

var x = 10
var a = do_thing("10") // -> 10, a is 3

class Awesome {
  var test = "Awesome" // Protected by default

  void doStuff() { // Public by default
    print(this.test)
  }
}

var a = Awesome()
a.doStuff() // -> Awesome

if true {
  // You can ignore () if you want, but you sill can
  // do this: if (true) { ... }
  // or this: if !(true && false) { .. }
  print("Truth is right!")
}
```

Please note, that the language is still in it's early stages, and I would recommend not using it right now. Tho it's growing pretty fast ;)

### Building

To build lit, you will only need cmake, make and GCC (4.9.0+):

```
cd lit
cmake .
make
```

To run a program simply use:

```
./lit test/main.lit
```

### Thanks

Big thanks to [Bob Nystrom](https://twitter.com/munificentbob) for his amazing [book about interpreters](http://craftinginterpreters.com/). Make sure to check it out!

repository: egordorichev/static-lit

repo_name: egordorichev/static-lit


text:
# TensorBoardLogger
[![Build Status](https://travis-ci.org/PhilipVinc/TensorBoardLogger.jl.svg?branch=master)](https://travis-ci.org/PhilipVinc/TensorBoardLogger.jl)

**TensorBoardLogger.jl** is an experimental library for logging arbitrary data
to [Tensorboard](https://www.tensorflow.org/guide/summaries_and_tensorboard)
with no dependencies other than [ProtoBuf.jl](https://github.com/JuliaIO/ProtoBuf.jl).

Many ideas are taken from [UniversalTensorBoard](https://github.com/oxinabox/UniversalTensorBoard.jl)
and from [TensorBoardX](https://tensorboardx.readthedocs.io/en/latest/).

## Usage

To use the library you must create a `Logger` object and then log data to it.

  - `Logger(dir_path)` creates a logger saving data to the folder `dir_path`
  - `log_value(logger, name, val)` logs to `logger` the value `val` under the tag `name`

## Supported values

At the moment, you can log the following values:

  - `Real` scalar data
  - `Complex` scalar data, which will show up as two real quantities `name/re` and `name/im`
  - `Histograms` passed as an array which will be automatically binned or passed as a tuple of bins/heights of pre-binned data.

## Example
```
using TensorBoardLogger

lg = Logger("runs/run-12", overwrite=true)

for step=1:100
    ev = log_value(lg, "quan/prova1", step*1.5, step=step)
    ev = log_value(lg, "quan/prova2", step*2.5, step=step)

    x0 = 0.5+step/30; s0 = 0.5/(step/20);
    edges = collect(-5:0.1:5)
    centers = collect(edges[1:end-1] .+0.05)
    histvals = [exp(-((c-x0)/s0)^2) for c=centers]
    histvals./=sum(histvals)
    data_tuple = (edges, histvals)

    # Log pre-binned data
    log_histogram(lg, "hist/cust", data_tuple, step=step)
    # Automatically bin the data
    log_histogram(lg, "hist/auto", randn(1000).*s0.+x0, step=step)
end
```

## Wishlist
I would really like to enable logging of more types of data and expand this
package. For now I plan on adding `log_image` and `log_scalars` very soon.

I would also like to find a way to log whole curves at each timestep.

Contributions are welcome! You can get in touch by opening an issue, sending
me an email or by saying hi on slack (@PhilipVinc).

gha_language: Julia


text:
# OpenFaaS Image for Gotenberg

![](https://img.shields.io/github/v/release/telostat/openfaas-gotenberg)

See [OpenFaaS](https://www.openfaas.com/) and
[Gotenberg](https://github.com/thecodingmachine/gotenberg/) for
details.

## Usage

You stack file (eg. `stack.yml`) should look something like this:

```
provider:
  name: openfaas
  gateway: https://your-openfaas-gateway

functions:
  gotenberg:
    image: telostat/openfaas-gotenberg:0.0.1
```

... and up:

```
faas-cli up -a -f stack.yml
```

## License

See respective licenses of [OpenFaaS](https://www.openfaas.com/) and
[Gotenberg](https://github.com/thecodingmachine/gotenberg/).

Otherwise, this very repository is in public domain.

repository: telostat/openfaas-gotenberg

repo_name: telostat/openfaas-gotenberg


text:
# clutch-code-project
Python Service that accepts an address and returns the state which the address is within

## Executing
FIRST - Navigate to .env.dev and insert your Google Geocoding enabled API Key
The environment has been designed to run with ./_up.sh at project root.
This command will execute log viewing automatically.
NOTE: Using the ctrl+c command will only exit the logging feed.
To Shutdown: Execute ./_down.sh at project root.

## Endpoint
http://<IP_ADDRESS>:5000/search_address?address="insert address here"

repository: Tigenzero/clutch-code-project

gha_language: Python

repo_name: Tigenzero/clutch-code-project


text:
---
order: 130
---

### Declaration order

**Recommended** only. During the course of development this might not be realistic. Try to keep the following recommendations in mind.

Related property declarations should be grouped together following the order:

1.  Positioning
2.  Box model
3.  Typographic
4.  Visual

Positioning comes first because it can remove an element from the normal flow of the document and override box model related styles. The box model comes next as it dictates a component's dimensions and placement.

Everything else takes place _inside_ the component or without impacting the previous two sections, and thus they come last.

For a complete list of properties and their order, please see [Recess](http://twitter.github.com/recess).

repository: gearbox-built/gearbox-standards

repo_name: gearbox-built/gearbox-standards