text:
# clicksign-rs

Unofficial Rust Library for the [Clicksign API](https://developers.clicksign.com/)

[![MIT licensed](https://img.shields.io/badge/License-MIT-blue.svg)](./LICENSE-MIT)
[![Apache-2.0 licensed](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](./LICENSE-APACHE)

---
**Disclaimer**

All person names and document numbers in the examples of this repository are
fake. Any resemblance to real people is purely coincidental.

**Work in progress...**
This crate isn't production-ready yet. A lot of changes can bring to it before
becoming stable. (Your PR is welcome)

---
# Features
### Documents
- [ ] Create document by upload
- [x] Create document by template
- [ ] View document
- [ ] View all documents
- [ ] Configure document
- [ ] Finish document
- [ ] Cancel document
- [ ] Duplicate document
- [ ] Delete document

### Signers
- [x] Create signer
- [ ] View Signer
- [x] Add signer to document
- [ ] Remove signer from document
- [ ] Delete signer

### Batches
- [ ] Create batches

### Notifications
- [x] Request signing by email
- [ ] Request signing by Whatsapp
- [ ] Request signing by SMS

### Sign documents via API
- [ ] Sign documents via API

# Usage
## Instantiating a client
```rust
use clicksign::client::Client;

let client = Client::new(
  "c9d91ece-9b3b-4def-abac-25b645cb083c",
  Some("https://api.example.com"),
);
assert_eq!("https://api.example.com", client.host);
assert_eq!("c9d91ece-9b3b-4def-abac-25b645cb083c", client.access_token);
```
## Creating a new document for sign

```rust
async {
 use clicksign::client::Client;

 let client = Client::new(
   "some_access_token",
   Some("https://api.example.com/"),
 );
 let template_body = r#"
   {
     "document": {
       "path": "/Modelos/Teste-123.docx",
       "template": {
         "data": {
           "Company Name": "Clicksign Gestão de Documentos S.A.",
           "Address": "R. Teodoro Sampaio 2767, 10° andar",
           "Phone": "(11) 3145-2570",
           "Website": "https://www.clicksign.com"
         }
       }
     }
   }
"#;

let document = client.create_document_by_model("template_id", template_body)
    .await
    .unwrap();
};
```
# License
The MIT License (MIT)

Copyright (c) 2021 Solaris Capital <bptech at solcap dot com dot br>

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

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

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

repository: solaris-capital/clicksign-rs

repo_name: solaris-capital/clicksign-rs


text:
---
title: Overview
page_title: Overview - WinForms LinearGauge Control
description: WinForms LinearGauge displays simple value within a specific range. The range is displayed in a rectangle, this rectangle can contain scale with or without ticks, labels and a scale bar.
slug: winforms/gauges/lineargauge
tags: lineargauge
published: True
position: 0
CTAControlName: LinearGauge
previous_url: lineargauge-overview
---

# WinForms LinearGauge Overview

__RadLinearGauge__  displays simple value within a specific range. The range is displayed in a rectangle, this rectangle can contain scale with or without ticks, labels and a scale bar. This control can be very useful when you need to build business dashboards or you just need graphical indicators.

{% if site.has_cta_panels == true %}
{% include cta-panel-overview.html %}
{% endif %}

![WinForms RadGauges LinearGauge Overview](images/lineargauge-overview001.gif)

__Key Features__

1. Fully customizable elements.

1. Precise design time selection of the gauge elements.

1. Plenty of gauge styles.

## See Also

* [Structure]({%slug winforms/gauges/lineargauge/structure%})
* [Design Time]({%slug winforms/gauges/lineargauge/design-time%})
* [Getting Started]({%slug winforms/gauges/lineargauge/getting-started%})

repository: telerik/winforms-docs

branch_name: refs/heads/master

extension: md

gha_language: JavaScript

license_type: permissive

repo_name: telerik/winforms-docs


text:
# Development

This document will (loosely) keep track of development goals for this project.

---

## Current Progress

The linear algebra library previously in rusty-machine is now a new crate - [Rulinalg](https://github.com/AtheMathmo/rulinalg).

For full information on what is currently available look at the [crate documentation](https://athemathmo.github.io/rusty-machine/rusty-machine/doc/rusty_machine/index.html).

---

## Goals

The table below details some planned features and the release version we are aiming for.
We are actively developing and so expect to move through these at a good pace!

        Version	Feature	Dependencies

        0.5.X	Nearest Neighbours

None

        0.6.0	Model API Improvements

None

        0.6.0	Neural Net Improvements

None

Whilst working on the above there will of course be ongoing development on the existing and new machine learning algorithms.

### Unplanned:

- Convolutional and Recurrent neural nets.
- SVM coordinate descent as per [this paper](http://www.loshchilov.com/publications/GECCO2011_AdaptiveCoordinateDescent.pdf).

### Why aren't you working on X?

If you think there is an obvious feature missing from the library please open an issue about it.
If you want to work on said feature then even better!

repository: mesalock-linux/crates-sgx

gha_language: Python

repo_name: mesalock-linux/crates-sgx


text:
---
layout: default
---

# 1995-09-14 - [NOISE] Alice's Remailer site (was:Re: Digital Fingerprinting)

## Header Data

From: "Peter Trei"<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Message Hash: bd9e9d2c72d3d2ae10ebb7e1b9daa73c8fbd82353a4ae4d6278fff7c32016d66

Message ID<EMAIL_ADDRESS>Reply To: _N/A_

UTC Datetime: 1995-09-14 16:59:17 UTC

Raw Date: Thu, 14 Sep 95 09:59:17 PDT

## Raw message

```
{% raw  %}From: "Peter Trei"<EMAIL_ADDRESS>Date: Thu, 14 Sep 95 09:59:17 PDT
To<EMAIL_ADDRESS>Subject: [NOISE] Alice's Remailer site (was:Re: Digital Fingerprinting)
Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

> From<EMAIL_ADDRESS>(Patrick Horgan)
> > From: Mac Norton<EMAIL_ADDRESS>> > To: Patrick Horgan<EMAIL_ADDRESS>> > On Wed, 13 Sep 1995, Patrick Horgan wrote:

> > > > > Then, in W.Ky., as in Stockbridge, "You can get
> > > > > anything you want..."? :)
> > > Why do I feel like I'm sitting on the group W bench?
> > I don't know, kid, what you in for?
> Encryption.  And they all moved away from me on the group W bench there,
> talking mean hairy eyeballs and all sorts of things until I said, and
> annoying the NSA, and they all moved back, talking about crime, PEM, PGP,
> and liberty and justice for all;)
> Patrick

I've seen various 'Alice Restaurant' pastiches, Alice's NNTP server, Alices
MIT GUI, etc. I guess it's time to try to do one for crypto....

This song is called Alice's Remailer site and it's about Alice, and the
remailer site, but Alices Remailer site  is not the name of the Remailer
site, it's the name of the song, and that's why I called this song Alice's
Remailer site.

        You can send anything you want through Alices Remailer site.
        You can send anything you want through Alices Remailer site.
        Connect right in it's around the back.
        Halfway down that seventeen inch rack.
        You can be anyone you want through Alice's Remailer site.

etc....

Peter Trei
Senior Software Engineer
Purveyor Development Team
Process Software Corporation
http://www.process.com
<EMAIL_ADDRESS>

{% endraw %}
```

## Thread

+ Return to [September 1995](/archive/1995/09)

+ Return to "["Peter Trei" <trei@process.com>](/authors/peter_trei_trei_at_process_com_)"
+ Return to "["Thomas M. Swiss" <tms@TIS.COM>](/authors/thomas_m_swiss_tms_at_tis_com_)"

+ 1995-09-14 (Thu, 14 Sep 95 09:59:17 PDT) - [NOISE] Alice's Remailer site (was:Re: Digital Fingerprinting) - _"Peter Trei"<EMAIL_ADDRESS>  + 1995-09-14 (Thu, 14 Sep 95 11:45:11 PDT) - [Re: [NOISE] Alice's Remailer site](/archive/1995/09/9ace8271ff5a106096d7d8f1729443bec1b1ec43ab94bed44f5d88f0b31ca6bc) - _"Thomas M. Swiss"<EMAIL_ADDRESS>

license: MIT

gha_license_id: MIT


text:
# Lycopersicon peruvianum var. humifusum C.H.Mull. VARIETY

#### Status
SYNONYM

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

#### Published in
Misc. Publ. U. S. D. A. 382:19. 1940

#### Original name
null

### Remarks
null

repository: mdoering/backbone

path: /life/Plantae/Magnoliophyta/Magnoliopsida/Solanales/Solanaceae/Solanum/Solanum arcanum/ Syn. Lycopersicon peruvianum humifusum/README.md

repo_name: mdoering/backbone


text:
# lastfm-popular-artists

lastfm-popular-artists is an API server that makes information from Last.fm available through the following APIs

A React front end can be found in the [lastfm-fe](lastfm-fe) directory

# API Endpoints

## Top Artist by country

GET http://{host}:{port}/api/geo/top-artist/{country}/{pageNumber}/

Example: GET http://localhost:8080/api/geo/top-artist/Australia/1/

Path Parameters:

{country} An ISO 3166-1 country name. eg Australia, Spain

{pageNumber} The page number, starting at 1

## Artist Info

GET http://{host}:{port}/api/artist/{mbid}/

Example: GET http://localhost:8080/api/artist/b071f9fa-14b0-4217-8e97-eb41da73f598/

Path Parameters:

{mbid} The musicbrainz id for the artist

## Artist Top Tracks

GET http://{host}:{port}/api/artist/{mbid}/top-tracks/{pageNumber}/

Example: GET http://localhost:8080/api/artist/b071f9fa-14b0-4217-8e97-eb41da73f598/top-tracks/1/

Path Parameters:

{mbid} The musicbrainz id for the artist

{pageNumber} The page number, starting at 1

# Configuration

The following environment variables can be set to configure lastfm-popular-artists. As a convention, config names
starting with LAST_FM_REMOTE_ refers to configurations affecting the connection
to the remote [last.fm API](http://www.last.fm/api/intro).  LAST_FM_API_SERVER_ refers to this API server.

LAST_FM_REMOTE_API_KEY (required) This is your last fm api key

LAST_FM_API_REMOTE_API_BASE (optional, default https://ws.audioscrobbler.com/2.0/?method=) The API base path to be used
to connect to the last.fm API

LAST_FM_API_REMOTE_TOP_ARTIST_METHOD (optional, default geo.gettopartists) The API method for the
[geo.getTopArtists API](http://www.last.fm/api/show/geo.getTopArtists)

LAST_FM_API_REMOTE_ARTIST_INFO_METHOD (optional, default artist.getInfo) The API method for the
[artist.getInfo API](http://www.last.fm/api/show/artist.getInfo)

LAST_FM_API_REMOTE_ARTIST_TOP_TRACKS_METHOD (optional, default artist.gettoptracks) The API method for the
[artist.gettoptracks API](http://www.last.fm/api/show/artist.gettoptracks)

LAST_FM_API_SERVER_PORT (optional, default 8080) The port the Last fm Popular Artists API server will listen on

# Building

Run `gradle build` to build the project. This will compile the project, run checkstyle
using the [Google Style](config/checkstyle/checkstyle.xml) and run unit tests.

# Running

Gradle builds an executable jar and places it in `build\libs\`.
The jar can be run with `java -jar lastfm-popular-artists-1.0-SNAPSHOT`

# Notes

Several design choices were inspired by the Twelve Factor App approach to building cloud native services.

- Logs are written to Standard out, see [Twelve-Factor App logging principle](https://12factor.net/logs)
- All configuration is done via environment variables, see [Twelve-Factor App config principle](https://12factor.net/config)
- There is no caching in the API server, to keep the server stateless. See [Twelve-Factor App processes principle](https://12factor.net/processes)
- The API server binds to a port and exposes a (minimal) HTTP server. See [Twelve-Factor App port binding principle](https://12factor.net/port-binding)

repository: jezzay/lastfm-popular-artists

gha_language: Java

repo_name: jezzay/lastfm-popular-artists


text:
---
layout: default
---

# 1997-09-09 - Re: Gao's Chaos Cryptosystem Algorithm

## Header Data

From: Tim May<EMAIL_ADDRESS>To<EMAIL_ADDRESS>(Nobuki Nakatuji)

Message Hash: f93f3a015f294fc49489f67b0dd1a005ecc88560af7cd9039fdc0a1f18553524

Message ID<EMAIL_ADDRESS>Reply To<EMAIL_ADDRESS>UTC Datetime: 1997-09-09 04:18:55 UTC

Raw Date: Tue, 9 Sep 1997 12:18:55 +0800

## Raw message

```
{% raw  %}From: Tim May<EMAIL_ADDRESS>Date: Tue, 9 Sep 1997 12:18:55 +0800
To<EMAIL_ADDRESS>(Nobuki Nakatuji)
Subject: Re: Gao's Chaos Cryptosystem Algorithm
In-Reply-To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

At 7:54 PM -0700 9/8/97, Igor Chudov @ home wrote:
>Nobuki Nakatuji wrote:
>>
>>
>> Gao's Chaos Cryptosystem Algorithm
>>
>> 1.key input
>> 2.input key generate chaos initial condition
>> 3.input key generate chaos signal(random number)
>> 4.chaos initial condition plus chaos signal
>>   XOR plain text
>
>How do you generate "chaos"?
>
>	- Igor.

Chaos may be generated with dripping water faucets, with alpha particle
emissions,  with Johnson noise.

It matters not, though, as schemes like this are dependent on key exchange,
and by repeatability of whatever "chaotic process" they employ.

They can be ignored.

The fact that "Nobuki Nakatuji" only appeared on our list days before the
revealing of his profound new breakthrough is telling. And all too
predictable.

--Tim May

There's something wrong when I'm a felon under an increasing number of laws.
Only one response to the key grabbers is warranted: "Death to Tyrants!"
---------:---------:---------:---------:---------:---------:---------:----
Timothy C. May              | Crypto Anarchy: encryption, digital money,
<EMAIL_ADDRESS>408-728-0152 | anonymous networks, digital pseudonyms, zero
W.A.S.T.E.: Corralitos, CA  | knowledge, reputations, information markets,
Higher Power: 2^1398269     | black markets, collapse of governments.
"National borders aren't even speed bumps on the information superhighway."

{% endraw %}
```

## Thread

+ Return to [September 1997](/archive/1997/09)

+ Return to "[? the Platypus {aka David Formosa} <dformosa@st.nepean.uws.edu.au>](/authors/_the_platypus_aka_david_formosa_dformosa_at_st_nepean_uws_edu_au_)"
+ Return to "[EFF <eff@dev.null>](/authors/eff_eff_at_dev_null_)"
+ Return to<EMAIL_ADDRESS>(Igor Chudov @ home)](/authors/ichudov_at_algebra_com_igor_chudov__at__home_)"
+ Return to<EMAIL_ADDRESS>(Igor Chudov @ home)](/authors/ichudov_at_algebra_com_igor_chudov__at__home_)"
+ Return to "["Nobuki Nakatuji" <bd1011@hotmail.com>](/authors/nobuki_nakatuji_bd1011_at_hotmail_com_)"
+ Return to "[Ray Arachelian <sunder@brainlink.com>](/authors/ray_arachelian_sunder_at_brainlink_com_)"
+ Return to "[stewarts@ix.netcom.com](/authors/stewarts_at_ix_netcom_com)"
+ Return to "[Tim May <tcmay@got.net>](/authors/tim_may_tcmay_at_got_net_)"

+ 1997-09-08 (Mon, 8 Sep 1997 15:46:46 +0800) - [Gao's Chaos Cryptosystem Algorithm](/archive/1997/09/caf717aa6d400f04fbe32a7cd6ceff6402a2b07028975ebf390e8ab8b4d12d68) - _"Nobuki Nakatuji"<EMAIL_ADDRESS>  + 1997-09-08 (Mon, 8 Sep 1997 16:55:24 +0800) - [Re: Gao's Chaos Cryptosystem Algorithm](/archive/1997/09/2ce50f55406858ec1fa50108f02d5bff473681244f5b175ae8b0e49aaecf7521) - _? the Platypus {aka David Formosa}<EMAIL_ADDRESS>  + 1997-09-09 (Tue, 9 Sep 1997 11:15:03 +0800) - [Re: Gao's Chaos Cryptosystem Algorithm](/archive/1997/09/725cb7777fece73992eaafcfea05263532d4795cd7e41aa73f58fa426de50baa) -<EMAIL_ADDRESS>(Igor Chudov @ home)_
    + 1997-09-10 (Thu, 11 Sep 1997 07:09:55 +0800) - [Re: Gao's Chaos Cryptosystem Algorithm](/archive/1997/09/64d42dd0b486dc67975de920a3ec05fa4c2a25621e25f2641f55ef9e47e8f49f) - _Ray Arachelian<EMAIL_ADDRESS>      + 1997-09-11 (Thu, 11 Sep 1997 08:58:16 +0800) - [Arachelian wins Nobel Peace Prize](/archive/1997/09/cd402f8445529d7284e1c7886b3674e698de79d56a7a173ea5c2028b5754d678) - _EFF<EMAIL_ADDRESS>  + 1997-09-09 (Tue, 9 Sep 1997 12:18:55 +0800) - Re: Gao's Chaos Cryptosystem Algorithm - _Tim May<EMAIL_ADDRESS>    + 1997-09-09 (Tue, 9 Sep 1997 12:57:08 +0800) - [Re: Gao's Chaos Cryptosystem Algorithm](/archive/1997/09/f73197589cac1533e5a16c078a2f255a1841768dbe564fde0a27fdd2f387e57f) -<EMAIL_ADDRESS>(Igor Chudov @ home)_
    + 1997-09-09 (Tue, 9 Sep 1997 12:58:22 +0800) - [Re: Gao's Chaos Cryptosystem Algorithm](/archive/1997/09/f7f5df87800c47935c9d7a3b82406de350238c9f1ffcbf1e45d0ab7fba2e0292) - _Tim May<EMAIL_ADDRESS>      + 1997-09-09 (Tue, 9 Sep 1997 13:10:28 +0800) - [Re: Gao's Chaos Cryptosystem Algorithm](/archive/1997/09/1eaa8886076de6606be7c95f2be7d24ad5905377f195857207c4b669a6292f96) -<EMAIL_ADDRESS>(Igor Chudov @ home)_
      + 1997-09-09 (Wed, 10 Sep 1997 03:45:07 +0800) - [Re: Gao's Chaos Cryptosystem Algorithm](/archive/1997/09/8be72dce6978b24ea7f674272f6eb9db92718d973d47f457358033300021e3db) -<EMAIL_ADDRESS>        + 1997-09-10 (Wed, 10 Sep 1997 08:25:21 +0800) - [Re: Gao's Chaos Cryptosystem Algorithm](/archive/1997/09/ee1e2651e9b755490f13982b7211ca3f989f38ea640b3a99a1a9d6736ea21274) -<EMAIL_ADDRESS>(Igor Chudov @ home)_


text:
# harvesting-initiation-service

Microservice that generates harvesting tasks.
A cron job is embedded in the service to initiate a harvest at the preconfigured frequency.

## Installation

To add the service to your stack, add the following snippet to docker-compose.yml:

```
services:
  harvesting-initiation:
    image: lblod/harvesting-initiation-service:x.x.x
    volumes:
      - ./config/harvesting:/config
```

## Configuration

### initiator.json

contains the list of pages urls that need to be processed:

```
{
  "pages": [
    "https://example.be/publication"
  ]
}
```

### Environment variables

 - **INITIATE_HARVEST_CRON_PATTERN**: cron pattern to configure the frequency of the cron job.
   The pattern follows the format as specified in node-cron. Defaults to 0 0 */2 * * *, run every 2 hours.
 - **HARVESTING_GRAPH**: graph where all the triples/data in connection with the harvesting-task(s) will reside.
   Defaults to <http://mu.semte.ch/graphs/harvesting>.

## REST API

### POST /initiate-harvest

Initiate a new harvest asynchronously.

Returns `202 Accepted` if the harvesting started successfully.

Returns `500 Bad Request` if something went unexpected went wrong while initiating the harvest.

## Model

### Used prefixes

Prefix | URI
--- | ---
harvesting: |  <http://lblod.data.gift/vocabularies/harvesting/>
mu:  | <http://mu.semte.ch/vocabularies/core/>
dct:  | <http://purl.org/dc/terms/>
adms: | <http://www.w3.org/ns/adms#>
prov: | <http://www.w3.org/ns/prov#>
nfo: | <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#>
nie: | <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#>

### Harvesting Task

Periodically this service will create harvesting tasks. The task describes the status and progress of the harvesting flow.

#### Class

`harvesting:HarvestingTask`

### Properties

 Name | Predicate | Range | Definition
--- | --- | --- | ---
status | `adms:status` | `adms:Status` | Status of the task, initially set to `http://lblod.data.gift/harvesting-statuses/ready-for-collecting`
created |`dct:created`|`xsd:dateTime`| Datetime of creation of the task
modified |`dct:modified`|`xsd:dateTime`| Datetime on which the task was modified
creator |`dct:creator`|`rdfs:Resource`| Creator of the task, in this case the harvest-initiation-service <http://lblod.data.gift/services/harvest-initiation-service>
harvestingCollection |`prov:generated`|`harvesting:HarvestingCollection`| HarvestingCollection generated by the task

#### Harvesting task statuses

The status of the task will be updated by other micro-services to reflect the progress of the harvesting progress. The following statuses are known:

- http://lblod.data.gift/harvesting-statuses/ready-for-collecting

## HarvestingCollection

The service will create the harvesting collection that will contain the resource/file than needs to be downloaded (and later harvested). This will be updated further/enriched by the `harvest-collector-service`.

### Class

`harvesting:HarvestingCollection`

### Properties

 Name | Predicate | Range | Definition
--- | --- | --- | ---
status | `adms:status` | `adms:Status`| Status of the task, initially set to `http://lblod.data.gift/collecting-statuses/not-started`
remoteDataObject | `dct:hasPart` | `nfo:RemoteDataObject` | page/resource to be downloaded/collected for this harvesting task

## RemoteDataObject

The service will create an initial remote-data-object for source URL which will be downloaded by the download-url-service.

### Class

`nfo:RemoteDataObject`

### Properties

The model of the remote data object is described in the README of the download-url-service.
But the following will be needed to initiate a download:

 Name | Predicate | Range | Definition
--- | --- | --- | ---
status | `adms:status` | `adms:Status`| Status of the task, initially set to `http://lblod.data.gift/file-download-statuses/ready-to-be-cached`
source |`nie:url`| | the URL that needs to be downloaded

repository: lblod/harvesting-initiation-service

repo_name: lblod/harvesting-initiation-service


text:
---
layout: post
title: "New Coronavirus Restrictions - Tier 2 High Alert"
permalink: /archives/2020/11/new-coronavirus-restrictions-tier-2-high-alert.html
commentfile: 2020-11-26-new-coronavirus-restrictions-tier-2-high-alert
category: news
date: 2020-11-26 09:30:00
image: "/assets/images/2020/st-margs-sunset-2020.jpg"
excerpt: |
    The government has announced that, as of 2 December, the London region, including St Margarets will go into the revised *Tier 2 High Alert* category.  Socialising in any environment is limited to your own household or 'bubble' and the 'rule of 6' applies for any outdoor meetings.
---

The government has announced that, as of 2 December, the London region, including St Margarets will go into the revised *Tier 2 High Alert* category.  Socialising in any environment is limited to your own household or 'bubble' and the 'rule of 6' applies for any outdoor meetings. Business activity and venues can operate on a 'Covid secure' basis, unless they are required to remain closed by law, such as nightclubs.

- [Full details of the government's guidance](https://www.gov.uk/guidance/local-restriction-tiers-what-you-need-to-know#high-alert)

repository: pmahnke/stmgrts

gha_language: HTML

repo_name: pmahnke/stmgrts


text:
# Running OpenWrt on Beaglebone Black

The official [Openwrt images](https://openwrt.org/toh/texas_instruments/beaglebone_black) for Beaglebone Black (BBB) lack some functionalities that many users expect in the default build.

* Network connectivity via the **mini USB** port.
    * The module ``g_ether`` provided by the package ``kmod-usb-gadget-eth`` creates a [RNDIS](https://docs.microsoft.com/en-us/windows-hardware/drivers/network/remote-ndis--rndis-2) compatible USB-to-Ethernet interface (typically ``usb0``) on the device. **Note: Windows systems might require (self) signed driver for the *Linux USB Ethernet/RNDIS Gadget* device to work. Otherwise, you will see only a serial port.**
    * The IP address of the ``usb0`` interface is ``<IP_ADDRESS>``.
    * A DHCP server runs on the ``usb0`` interface to allow the USB host device assign an IP address automatically.

* Capability to flash the onboard eMMC storage.
    * This requires accessing OpenWrt terminal via ``ssh`` or ``UART``.
    * Use the following command to flash the eMMC storage.
        **Note: Running this command erases eMMC storage!**
        ```console
        root@OpenWrt:~# /lib/functions/mmc_flasher.sh
        ```
* Force booting from the external SD card by pressing "User Boot" (S2) button.

    The onboard boot ROM searches for the second stage boot loader (SPL or MLO) in the following  order.

    * S2 not pressed - MMC1 (onboard eMMC), MMC0 (SD card), UART0, USB0.
    * S2 pressed - SPI0, MMC0 (SD card), USB0, UART0.

    After the MLO has loaded the third stage boot loader, *uBoot* (``u-boot.img``), *uBoot* reads the boot script (``boot.scr``) and the boot environment file (``uEnv.txt``). In most of the builds, *uBoot* searches for the ``boot.scr`` and the ``uEnv.txt`` in the MMC0 (SD card) first. This causes the BBB to boot from the SD card regardless of the status of the S2 button.

    We address this problem by reading the status of the S2 button inside the  ``boot.scr`` to determine the boot device.

* IP address of the onboard Ethernet interface is configured via DHCP instead of static.
* Creating WiFi access points.
    * Requires the packages ``hostapd-mini``, ``wpa-supplicant-mini`` installed.
* Support for popular WiFi chips such as "Atheros AR9271".
    * Requires the package ``kmod-ath9k-htc`` installed.

## Usage

```
./create-image.sh -h
Script for creating OpenWrt SD card images for Beaglebone Black

Usage: create_image.sh [options] OPENWRT_VERSION
Options:
          -d, --download-dir  Directory for downloaded files
                              Default to ./download
          -o, --output-dir    Directory for created image files
                              Default to ./bin
          -t, --temp-dir      Directory for temporary files
```

repository: kasunch/openwrt-bbb

branch_name: refs/heads/main

repo_name: kasunch/openwrt-bbb


text:
# workout-tracker
Front end code was provided for a Workout Tracker app.  Back end code was then added to ensure a fully functional app utilising Mongo DB and hosted on Heroku.

## Description & LIVE DEPLOYED WEBSITE
---
The app can be viewed live [here](https://workout-tracker-co.herokuapp.com/).
This workout tracker app allows the user to enter their workout details and then calculates daily totals which are displayed in a dashboard.  The user can choose whether to enter a cardio or resistance style workout, and then include details such as duration, distance and weights.

## Screenshots
---
The following images show the web application's appearance and functionality:
The data that is shown for the last workout, once exercises are added.
![Screenshot showing Last Workout](./screenshots/screenshot-last-workout.png)
THe Dashboard showing the last 7 workouts by duration and pounds lifted
![Screenshot showing Dashboard](./screenshots/screenshot-dashboard.png)

## Tools & Technologies
---
    - express
    - mongoose
    - mongodb
    - dotenv to hide personal data
    - As suggested in the assignment guide I used the aggregate, $sum, and $addfields operators in order to calculate the totals.

## Installation
---
Step 1 - Clone the github repo

Step 2 - Enter your mongodb_uri in the EXAMPLE .env file and save as .env

Step 3 - Right click the server.js file and `Open in intergrated Terminal`, and run `npm install` to install dependancies

Step 4 - Enter `npm run seed` to seed the test data into the database

Step 5 - Enter `npm start` to open the server connection

Step 6 - Open your browser and enter`localhost:3000`

## Questions?
---
If you have any questions about this project, please contact me directly on [email](mailto:catormerod@gmail.com). You can view more of my projects at [Github](https://github.com/catormerod) or this specific project at [workout-tracker](https://github.com/CatOrmerod/workout-tracker).

The app can be viewed live [here](https://workout-tracker-co.herokuapp.com/).

repository: CatOrmerod/workout-tracker

repo_name: CatOrmerod/workout-tracker


text:
## btsync Buildfile for Docker

This documentation guides you to build Docker images for `btsync`
version `1.3`, `1.4` and `2.x`.

## Environments

* `BTSYNC_NAME`: the device name. Default: Container hostname
* `BTSYNC_PASSWD`: the password of `admin` account. Default: Random
* `BTSYNC_INTERVAL`: folder scanning interval. Default: 300 seconds
* `BTSYNC_DEBUG`: Debug flags. Default: `FF` (a lot of information!)

## Volume

* `/btsync/`: contains all `btsync` data (`/btsync/var`) and user's
  directories (`/btsync/sync`.)

## Build instruction

Compile `Dockerfile` from `Bockerfile` and then build Docker image

    $ git clone https://github.com/icy/docker.git icy-docker
    $ cd icy-docker/
    $ git submodule update --init
    # git submodule update --remote --checkout
    $ cd context/

    # For btsync-1.3
    $ ../compiler/bocker.sh \
          ../bocker/Bockerfile.btsync > Dockerfile.btsync13

    # For btsync-2.x
    $ ../compiler/bocker.sh \
          ../bocker/Bockerfile.btsync2 > Dockerfile.btsync2x

    # For btsync-1.4
    $ ../compiler/bocker.sh \
          ../bocker/Bockerfile.btsync14 > Dockerfile.btsync14

    # Now build your own Docker image
    $ docker build -t my_btsync13 -f Dockerfile.btsync13 .
    $ docker build -t my_btsync14 -f Dockerfile.btsync14 .
    $ docker build -t my_btsync2x -f Dockerfile.btsync2x .

    # See your results
    $ docker images | grep mine_btsync

## Usage

After you build `Docker` image, you can launch it, for example

    $ docker run -d --name btsync13 \
          -e "BTSYNC_PASSWD=foobar" \
          -e "BTSYNC_DEBUG=00" \
          -p "8888:8888" \
          -v $HOME/data/btsync13/sync/:/btsync/sync/ \
          -v $HOME/data/btsync13/var/:/btsync/var/ \
          my_btsync13

When the container is started, it will listen on `8888` (`webui`)
and `8881` (`data`) ports. A random password is generated and written
to the `docker` logs, unless you specify one with `BTSYNC_PASSWD`
environment.

The data volume (`/btsync/`) contains all `btsync` variant files
and synchornization folders.

## Important notes

1. Inside the container,
   the `btsync` daemon is running as `btsync` user whose `UID` is `1000`.
1. Don't use the same volume for different `btsync` containers.
   A data volume for `btsync` (seen as `/btsync/` in container per-se)
   can be upgraded, but it can't be downgraded. You have been warned.
1. Version 1.3 has very clean and simple `webUI`. However, it's very
  out-of-date. Use it at your own risk.

repository: punnapr/docker

repo_name: punnapr/docker


text:
#Combining value converters with i18n in aurelia

Most if not all projects at one point or another will have to provide multilingual support.

Adding i18n support in aurelia is as easy as adding the [aurelia-i18n](https://github.com/aurelia/i18n) plugin and [configuring it](http://aurelia.io/hub.html#/doc/article/aurelia/i18n/latest/i18n-with-aurelia).

But as a project becomes larger, centralizing your logic into reusable components is the way to go.

This article describes a way of combining aurelia's value-converters with i18n, to allow reusing them in your locales.

A live preview can be found [here](https://peterver.github.io/aurelia-i18n-value-converters/).

###0. Getting Started

Create a new aurelia project by running `au new` (assuming you are using the [aurelia-cli](http://aurelia.io/hub.html#/doc/article/aurelia/framework/latest/the-aurelia-cli/1)).

After this has completed, follow the steps at the [i18n-with-aurelia hub section](http://aurelia.io/hub.html#/doc/article/aurelia/i18n/latest/i18n-with-aurelia/1) to configure your aurelia project for internationalization.

###1. Adjust the i18n configuration to allow for value-converter support

Aurelia-i18n is a wrapper that does two things, and it does it well.

- It acts as a proxy around [i18next](https://www.i18next.com) to allow you to configure an aurelia application for i18next support.
- It provides some syntactic sugar to allow for easier translations

The fact that it acts as a proxy, allows us to still hook into the **i18next instance** without too much hassle.

i18next provides [interpolation](http://i18next.com/translate/interpolation/) support, this is a way of defining how the specific key-value pairs in your locale file should be processed.

Aurelia provides thin wrappers such as the *df (dateFormat)* value converter for hooking into this. But what if we wanted to add our own custom value converters into the mix?

A very interesting configuration option for i18next's interpolation feature is the [format](http://i18next.com/translate/formatting/) property. This provides us with a hook into the processing pipeline of i18next. Go ahead and extend your i18n configuration like so:

```javascript
return instance.setup({
	// ...
	interpolation : {
		format : function (value, format, lng) {
			const parts = format.split(':');

			//  Check if the value converter is registered as a resource
			const vc = aurelia.resources.valueConverters[parts.shift()];

			return vc ? vc.toView(value, ...parts) : value;
		}
	}
	// ...
});
```

There's a couple of things going on here, let's use an example to explain this step by step.

###2. Using value converters in your locales, an example

Let's consider a value converter called `formatDate`, all this value converter does is receive a date and a format, and return a string representation of that date in the provided format. To make that easier, we're using the date manipulation library [Moment.js](https://momentjs.com/)

```javascript
import moment from 'moment';

export class FormatDateValueConverter {
  toView (value, format) {
    return moment(value, 'YYYY-MM-DD').format(format);
  }
}

```

To use this in your view you could have a setup like so:

```html
<span t="a" t-params.bind="{date: '2017-02-20}"></span>
```

And your locale file could look like this:

```json
{
  "a" : "Today's date is : {{date, formatDate:MMMM D YYYY}}"
}
```

When executed, i18next will recognize that the key you're trying to translate contains a section that needs to be interpolated (because of the default prefix and suffix `{{ ... }}` in your locale file).

> Make sure to visit the i18next [docs section](http://i18next.com/docs/options/#interpolation-options) targeting the interpolation options for further info

As such it will execute the *interpolation.format* function that we configured in the previous step. This function will receive a value, format and an optional lng parameter

- Value : The date that we passed, in this case it will be `2017-02-20`
- Format : Our locale file will define this as being `formatDate:MMMM D YYYY`

Our interpolation function will split the format on the `:` character to become `['formatDate', 'MMMM D YYYY']` where the first part (*formatDate*) would be the name of the value converter we want to use, and the second part (*MMMM D YYYY*) would be the format parameter our value converter requires. Our format function will then look for the value converter in aurelia's registered resources, and will execute the `toView` function with the provided parameters.

And behold, the eventual result would be : ```Today's date is : February 20 2017```

### Take note

- If no value converter was registered under the name that you're trying to format, it will simply render the value of the variable you passed to it.
- This approach will only work if the value converter that you are trying to use is registered as a global resource.
- Using this approach, you could easily pass in additional parameters to your value converter by doing the following : ```valueConverterName:param1:param2:param3```

### Conclusion
Extending aurelia-i18n is extremely easy, and i'd definitely encourage anyone to try this for him/herself.

For example try writing any of the following and see for yourselves

- A value converter to render out currency values using something like [numeral](http://numeraljs.com/)!
- A value converter to automatically render out a person's fullname, when provided with an object containing personal details
- Automatically prefix the correct title (Miss/Mr./...) based on the locale
- ... Anything you can imagine :)

But most of all, have fun and be creative!


text:
# Wavefield Reconstruction Imaging
##  DESCRIPTION
 This application creates images of the interfaces in the medium, given an estimate of the velocity model (background velocity). It has the same goal as other migration methods, but the method is new. It is based on the WRI objective function and is described in [1,2] and an example is shown in [3].
##  ON-LINE DOCUMENTATION
 <https://slim.gatech.edu/SoftwareDemos/applications/Imaging/WRimaging/>
##  COPYRIGHT
 You may use this code only under the conditions and terms of the
 license contained in the files LICENSE or COPYING provided with this
 source code. If you do not agree to these terms you may not use this
 software.
##  PREREQUISITES
 All prerequisites, except for MATLAB, are provided in the software
 release repositories and should be installed as necessary before using
 any of SINBAD's software.
##  INSTALLATION
###  Software in SLIM-release-apps (this) repository
 Follow the instructions in the INSTALLATION file (located in the home
 directory of this software repository) to install necessary
 components.
##  DOCUMENTATION
###  Preparing shell environment
 You must setup your shell environment according to the steps listed in
 the README located in home directory of the software release.
###  Downloading data
Download the input model from our ftp server by running the 'Sconstruct' script in in SLIM-release-apps/applications/Imaging/WRimaging/data.
###  Running applications/demos
After downloading the model (or using you own) you can just run the example code (WRImaging_example.m) located in SLIM-release-apps/applications/Imaging/WRimaging/
####  Hardware requirements
* This script was tested using Matlab 2013a with the parallel computing
toolbox.

* Parallelism is achieved by factorizing overdetermined systems (one for each
frequency) in parallel. Each factorization requires about 8 GB. The code will work with any number of factorizations in parallel.

* Runtime is about 45 minutes when factorizing 25 overdetermined systems in
parallel on 5 nodes (5 per node). Tested using 2.6GHz Intel processors.

##  SUPPORT
 You may contact SLIM's developers of SINBAD software via issue tracker for this repository. We do not have resources to actively support public version of our software. However, we will try to answer the questions as much as possible.

##  REFERENCES

 [1]<http://dx.doi.org/10.1093/gji/ggt258>
 Tristan van Leeuwen, Felix J. Herrmann, Geophysical Journal International,2013. Mitigating local minima in full-waveform  inversion by expanding the search space.

 [2]<https://slim.gatech.edu/content/penalty-method-pde-constrained-optimization>
 Tristan van Leeuwen, Felix J. Herrmann. 2013. A penalty method for PDE-constrained optimization.

 [3]<https://slim.gatech.edu/content/examples-penalty-method>
 Bas Peters, Felix J. Herrmann, Tristan van Leeuwen. EAGE, 2014. Wave-equation
based inversion with the penalty method: adjoint-state versus wavefield-reconstruction inversion.


text:
# act-rest-api  [![Build Status](https://travis-ci.org/act-org/act-rest-api.png?branch=master)](https://travis-ci.org/act-org/act-rest-api)

## Usage

* /api/rest/v0.1/learningObjectives (GET, POST)
* /api/rest/v0.1/learningObjectives/{id} (GET, PUT, DELETE)
* /api/rest/v0.1/students (GET, POST)
* /api/rest/v0.1/students/{id} (GET, PUT, DELETE)

## Developing

* Sample REST API

### Tools

* Created with [Nodeclipse](https://github.com/Nodeclipse/nodeclipse-1)
 ([Eclipse Marketplace](http://marketplace.eclipse.org/content/nodeclipse), [site](http://www.nodeclipse.org))

repository: act-org/act-rest-api

repo_name: act-org/act-rest-api


text:
The Mantle library contains the source for type checking and elaborating
well-scoped Silt terms.  The Mantle uses [Gundry-McBride Dynamic Pattern
Unification](http://adam.gundry.co.uk/pub/pattern-unify/) to power its analysis.

Notation & Preliminaries
========================

We implement a *bidirectional* typechecking algorithm: An algorithm that is
always either checking terms have a particular type or synthesizing a type for
a given term (under an environment).

We denote *metavariables*, entities created by the type solving process, by `$n`
for `n` a non-negative integer.

A declaration, variable, or metavariable may be *applied* to some other vector
of terms.  We denote this application (here, of a metavariable `$0`) by `$0[e0,
e1, ..., en]` for `en` a TT term or a record field name. Applied terms in the
core Type Theory (TT) always appear in *spine form*, which, like the notation,
means that we keep the variable "head" near the vector "spine" while performing
type analysis.  This is not only convenient, but more efficient because most
algorithms assume we simplify terms to this representation before executing them.

Variables that appear as the argument of a metavariable are called *flexible*
(as opposed to *rigid*).  e.g. Both `Y` and `Z` in `$0[X] -> Y[Z]` are *rigid*
while `X` is *flexible*.

A *telescope* (sometimes, though not here, denoted `Φ = [(x1 : T1), (x2 : T2),
... (xn : Tn)]`) is a vector of name bindings with corresponding types.
Telescopes differ from contexts in non-dependent settings as later types `Ti`
may depend on earlier terms `x1, ..., x(i-1)`.

The function space of such dependent terms is denoted `Π (x : S) -> T(x)`
(similarly, for a telescope of leading terms, `Π Φ -> T`).

Silt's Type Theory implements a homogeneous *intensional equality* of terms up
to *reductions* given by the following conversions:

    - Alpha Conversion: (Capture-avoiding) renaming of variables in terms.
      `λx . α x x ≡ λy. α y y`.
    - Beta Conversion: (Familiar) computation of applications of terms to binders
      `(λx y . x + y) 4 5 ≡ 9`
    - Delta Conversion: Expansion of definienda to their definitions.
    - Eta Conversion: The addition (Eta Expansion) or subtraction (Eta
      Contraction) of an abstraction
      `λx . α x ≡ α`

Type Analysis
=============

The Mantle divides type analysis into three broad phases:

    - Type Checking
    - Elaboration
    - Type Solving

All of these phases are manifest in the `TypeChecker<T>` type which is
parametrized by phase-specific state.

Type Checking
=============

Type checking concerns checking the consistency of the types and terms involved
in expressions and datatypes.  It provides the initial entrypoint into the rest
of the Mantle and directs the overall type analysis phase.  Types for terms are
initially synthesized and solved by the Elaboration phase, at which point the
type checker proper takes over and verifies that the synthesized types are correct.

Elaboration
===========

Elaboration is the process of converting userland AST that has been checked for
scope consistency into an AST that is amenable to type analysis.  We call this
type analysis AST `TT`, after the core type theory.  In order to verify the
correctness of generated terms, elaboration generates heterogeneous constraints
between a given term and an expected type.

Because elaboration is a mechanical process, it does not concern itself with
whether terms are type-correct.  It can only detect serious structural problems
which should have been caught by earlier phases.  Elaboration should preserve as
much user-provided structure as possible to enable better diagnostics.

Type Solving
============

Heterogeneous constraints from the elaborator are submitted to the type solver.
There are several algorithms for higher-order unification, each with its own
respective strengths and weaknesses.  We implement Gundry-McBride Dynamic
Pattern Unification because the typing problems it solves have a number of
desirable properties.

Miller identified a subset of unification problems called the *pattern
fragment*.  Terms in the pattern fragment involve metavariables applied to
*distinct* variables e.g. `α x y ≡ β x`.  Problems in the pattern fragment are
not only decidable, but yield most general unifiers.  This was later extended by
Pfenning to dependent type systems.  Abel and Pientka presented an extension to
Miller and Pfenning's work that could handle records (Σ types).  Gundry and
McBride later refined this and presented a tutorial implementation in Haskell.

### Dynamism

Because the pattern fragment is just that, a fragment, not all constraints
involve terms that reside in that fragment.  Hence, the solver implements
constraint postponement in the hope that solving further equations will yield
solutions to a currently-stuck constraint.  We take a page from Pientka and Abel
and implement the following solver steps:

1. Eta Expansion & Contraction
    - To solve problems of the form `(s : Π S1 -> S2) ≡ (t : Π T1 -> T2)`, we can
      η-expand the constraint into `∀ x . s x : S2 x ≡ t x : T2 x`.
2. Rigid-rigid Decomposition
    - For two spine-form terms, we may unify them by matching their heads and
      their spines.
3. Inversion
    - Also called *flex-rigid* problems because one term is a spine-form with
      a metavariable head and the other is not.
    - If we may solve for the head, and the result is in the patten fragment, we
      can generate a substitution and apply it immediate to solve the
      constraint.
4. Intersection
    - Also called *flex-flex* problems because both terms are spine-forms with
      the same metavariable head.
    - For `$0[x1, ..., xn] ≡ $1[y1, ..., yn]`, any position where the arguments
      to the metavariable differ indicates that the arugments are *independent*
      of the head metavariable.  We can thus remove them to simplify the
      constraint.
5. Pruning
    - Pruning occurs after inversion or intersection.
    - When solving `∀Γ . $0[e1, ..., en] ≡ t`, we ensure that only those
      variables `e1, ..., en` appear in `t`.  If `t` contains any other
      variables, they may be removed.
    - If any variables not in `e1, ..., en` occur as arguments to a metavariable
      inside of `t`, we may fail immediately because there is no solution to
      that constraint.

Solving Constraints
===================

Constraints in the solver are of the form `∀Γ . t1 ≡_T t2`.  This reads as
"under the context (telescope) `Γ`, terms `t1` and `t2` share type `T` and
further unify (up to the conversions defined above).

Constraints are solved in three phases: An early-exit syntactic equality check,
preliminary eta expansion, and reduction followed by metavariable binding.  When
the algorithm detects that terms and types in constraints reside in the pattern
fragment, it eagerly solves for any metavariables it can and moves on.  Else, it
breaks down into simpler constraints and fills the constraint with metavariables
that are blocking the solver.  As constraint solving proceeds, this blocking set
may cause a constraint to become active again, so we check it before solving
a constraint, postponing if no further binding has been made.

It is possible for constraint solving to terminate without binding all generated
metavariables.  In that case, the generated solution is *malformed* and should
be examined by a diagnostics phase.

repository: silt-lang/silt

gha_language: Swift

repo_name: silt-lang/silt


text:
# **Behavioral Cloning**

The goals / steps of this project are the following:
* Use the simulator to collect data of good driving behavior
* Build, a convolution neural network in Keras that predicts steering angles from images
* Train and validate the model with a training and validation set
* Test that the model successfully drives around track one without leaving the road
* Summarize the results with a written report

[//]: # (Image References)

[image1]: ./report_images/recovery1.jpg "Recovery Image"
[image2]: ./report_images/recovery2.jpg "Recovery Image"
[image3]: ./report_images/centre.jpg "Centre Image"
[image4]: ./report_images/normal.jpg "Normal Image"
[image5]: ./report_images/flip.jpg "Flipped Image"
[image6]: ./report_images/hsv.jpg "Darker Image"

[video1]: ./run1.mp4 "Automated Driving"

## Rubric Points
### Here I will consider the [rubric points](https://review.udacity.com/#!/rubrics/1968/view) individually and describe how I addressed each point in my implementation.

---
### Files Submitted & Code Quality

#### 1. Submission includes all required files and can be used to run the simulator in autonomous mode

My project includes the following files:
* model.py containing the script to create and train the model
* drive.py for driving the car in autonomous mode
* model.h5 containing a trained convolution neural network
* writeup_report.md summarizing the results

#### 2. Submission includes functional code
Using the Udacity provided simulator and my drive.py file, the car can be driven autonomously around the track by executing
```sh
python drive.py model.h5
```

#### 3. Submission code is usable and readable

The model.py file contains the code for training and saving the convolution neural network. The file shows the pipeline I used for training and validating the model, and it contains comments to explain how the code works.

### Model Architecture and Training Strategy

#### 1. An appropriate model architecture has been employed

My model consists of a 3 convolution neural network with 5x5 filter sizes and 2 convolution network with 3x3 filter sizes. Depth of convolution layer between 24 and 64 (model.py lines 61-68)

The model includes RELU layers to introduce nonlinearity, and the data is normalized in the model using a Keras lambda layer (model.py line 59). Image is cropped using Keras cropping layer (model.py line 60).

#### 2. Attempts to reduce overfitting in the model

The model contains dropout layers in order to reduce overfitting (model.py lines 62-66).

The model was trained and validated on different data sets to ensure that the model was not overfitting (model.py lines 26-43, 77-82). The model was tested by running it through the simulator and ensuring that the vehicle could stay on the track.

#### 3. Model parameter tuning

The model used an adam optimizer, so the learning rate was not tuned manually (model.py line 165).

#### 4. Appropriate training data

Training data was chosen to keep the vehicle driving on the road. I used a combination of center lane driving, recovering from the left and right sides of the road, images with varied brightness and fipped images.

For details about how I created the training data, see the next section.

### Model Architecture and Training Strategy

#### 1. Solution Design Approach

The overall strategy for deriving a model architecture was to reduce mean square error on steering angle to clone driving behavior.

My first step was to use a convolution neural network model similar to the NVIDIA architecture. I thought this model might be appropriate because this is explained in classroom and appeared as good starting point.

In order to gauge how well the model was working, I split my image and steering angle data into a training and validation set. I found that my first model had a low mean squared error on the training set but a high mean squared error on the validation set. This implied that the model was overfitting.

To combat the overfitting, I added dropout layer in my bottom layer and added dropout layer between multiple convolution layer to regularize my data.

Then I improved my data set by adding more data using augmentation. I used images by fipping about y axis and also images with varried brightness.

At the end of the process, the vehicle is able to drive autonomously around the track without leaving the road.

#### 2. Final Model Architecture

The final model architecture (model.py lines 57-75) consisted of following layer:
* Normalisation layer
* Cropping layer
* 5x5 Convolution layer with filter size 24
* Dropout layer
* 5x5 Convolution layer with filter size 36
* Dropout layer
* 5x5 Convolution layer with filter size 48
* Dropout layer
* 3x3 Convolution layer with filter size 64
* 3x3 Convolution layer with filter size 64
* Flatten Layer
* Fully connected layer with 100 activation
* Fully connected layer with 50 activation
* Fully connected layer with 1 activation

#### 3. Creation of the Training Set & Training Process

To capture good driving behavior, I first recorded few laps on track one and I also decided t use option data provided with project. Data is consist of center lane driving and vehicle recovering from the left side and right sides of the road back to center. Here is an example image of center lane driving:

![alt text][image3]

These images show what a recovery looks like:

![alt text][image1]
![alt text][image2]

To augment the data sat, I also flipped images and angles thinking that this would neutralise the bias present in road as track is mostly turning to left. I also varried brightness of images to capture effect of weather conditions. For example, here is an image that has then been flipped and brightness changed(randomly):

![alt text][image4]
![alt text][image5]
![alt text][image6]

After the collection process, I randomly shuffled the data set and put 20% of the data into a validation set.

I used this training data for training the model. The validation set helped determine if the model was over or under fitting. I used an adam optimizer so that manually training the learning rate wasn't necessary.

## Trained Model Performance
Trained model was successful in clonning the driving behavior on track 1. Here is video demonstrating performance on track 1

Here's a [link to my video result](./run1.mp4)


text:
# multiverse: Generative art with Adobe Photoshop

Multiverse is a collection of Adobe Photoshop scripts for making generative art,
created by Carl Tashian and Petra Cortright for the 2018 edition of Rhizome's
[Seven on Seven](https://rhizome.org/sevenonseven/) event at the New Museum
in NYC.

## Usage

If you just want to use this project in Photoshop, simply download the
contents of this repository. Then copy all the `*.jsx` files from the `build`
directory into Photoshop's `Scripts` folder (under `Presets`) and restart
Photoshop. The scripts will appear in Photoshop's File → Scripts menu

The scripts that run forever can be cancelled by hitting `Esc`.

Here's a brief description of the individual scripts:

### multiverse

This is a script that runs forever, and it combines a lot of the functionality
of the other scripts listed here, to create a generative art piece.

#### Requirements

You will need three layer groups (sets) in your document, with the
following names:

`remix` — the top layers in the document. These will be shown/hidden quite
frequently.

`midfield` — middle layers (possibly with alpha) that we don't want to have
floating to the top because they're too imposing

`background` — these layers should cover the entire canvas and, importantly,
these layers have no alpha. They could be mixed together, hidden or shown at
various opacities around 100%. Be sure they're _not_ marked as background
layers.

Locked and background layers will not be touched. The script will never move
layers between layer sets, only to the top of the set they're in.

#### How it works

It starts by fading 80% of the remix and midfield layers.

Then, it alternates between two modes: **regular mode** and **scene change** mode.

In **regular mode**, we shuffle around the remix and midfield layers and adjust
their opacity. Remix layers pop up on top or fade in. Midfield layers only
fade in and out.

Scene change mode is a special mode that happens every 5-10 minutes.

In **scene change mode**, we fade out and hide most of the remix and midfield
layers. Then we bring the lowest background layer to the top of the background
layer set and fade it in.

Once that's done, we go back to regular mode and start building up the top of
the canvas again.

#### Adjusting the settings

There's a lot you can change in the script that will affect its behavior. (see Development, below)

Some things that will affect the experience the most:

* how often remix layers pop to the surface vs. fade in
* the final opacity of each layer when it fades in
* how many layers we attempt to operate on at a time (more layers in play -> script is slower, fewer -> script is faster)
* how many steps of opacity to move through while fading in or out

It's important to note that the slowest operations are refreshing the
canvas (calling `refresh()`, which happens after every tick), and adjusting the
opacity of a layer. So, you can play with how many simultaneous changes you make
between refreshes to achieve your desired pace. You can also manually insert
calls to `$.sleep()` if you want to slow the pace.

### assign\_layer\_names

This script prompts you to choose any text file and will assign the names of
layers in the active document randomly, using lines from the file.

This is useful if you use a lot of layers and want names that are less generic
than "Layer 23."

As an example, we've included a list of rose variatals in
[roses.txt](https://github.com/tashian/multiverse/blob/master/roses.txt).

### random\_layer\_visibility

Go through the active document and randomly turn on and off layers.

### random\_opacity

Randomly set opacity for all layers in the active document.

### random\_opacity\_and\_visibility

A combination of the above two scripts!

### random\_motion\_blur

Randomly apply some motion blur to all layers.

### shuffle\_unlocked\_layers

Like Spotify for a Photoshop document, this shuffles all unlocked layers in the active
document. This will not move layers outside of layer sets, but will shuffle
layers within them.

## Development

You will need:

* [node.js](https://nodejs.org/en/)

Install the dependencies:

    npm install

Build the scripts:

    npm run build

Lint the scripts:

    npm run lint

## Thank you

Thank you to [Rhizome](http://rhizome.org/) for supporting the creation of this project,
and for being a champion of digital art and culture.

repository: tashian/multiverse

repo_name: tashian/multiverse


text:
# MarkovChains

[![](https://jitpack.io/v/redParrot17/MarkovChains.svg)](https://jitpack.io/#redParrot17/MarkovChains)
[![](https://img.shields.io/badge/JavaDoc-Latest-yellow.svg)](https://redparrot17.github.io/MarkovChains/)
[![](https://img.shields.io/badge/License-Apache%202.0-lightgrey.svg)](https://github.com/redParrot17/MarkovChains/blob/master/LICENSE)

Text prediction in Java using a Markov Chain.

### Download
Replace `RELEASE` with the release you wish to use. The latest release is listed above.
#### Gradle
```gradle
allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}
```
```gradle
dependencies {
        implementation 'com.github.redParrot17:MarkovChains:RELEASE'
}
```

#### Maven
```xml
<repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
</repository>
```
```xml
<dependency>
    <groupId>com.github.redParrot17</groupId>
    <artifactId>MarkovChains</artifactId>
    <version>RELEASE</version>
</dependency>
```

### License

MarkovChains is released under the [Apache 2.0 license](https://github.com/redParrot17/MarkovChains/blob/master/LICENSE).

```
Copyright 2018 redParrot17.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```


text:
---
title: Role-Based Access Control
weight: 100
hidesections: true
description: Understanding Portworx role-based access control (RBAC)
series: concepts
keywords: portworx, container, storage, security, jwt, token, rbac
---

PX-Security is an important set of features of the Portworx platform that provide:

  - Role-based access control (RBAC) for authorization, authentication, and ownership
  - Cluster-wide volume encryption
  - Namespace-granular or Storage-class BYOK volume encryption

This section describes the role-based access control (RBAC) model used by Portworx. For details on volume encryption, see [create encrypted PVCs](/operations/operate-kubernetes/storage-operations/create-pvcs/create-encrypted-pvcs/).

{{<homelist series="authorization">}}


text:
---
title: "Our Daily Reading List - 28/12/2017"
author<EMAIL_ADDRESS>tags: ["margaret","Daily Readings"]
date: 2017-12-28 08:22:32
description: "1

Federal Court's Embrace Of FTC Data-Breach Settlements As 'Common Law' Treads On Due Process - Washington Legal Foundation #law #court @WLF Read Here

2

Are You An Owner Or Employee? The In..."
---

[https://clausehound.com/](https://clausehound.com/)

1

### Federal Court's Embrace Of FTC Data-Breach Settlements As 'Common Law' Treads On Due Process - Washington Legal Foundation #law #court @WLF [Read Here](https://www.forbes.com/sites/wlf/2017/12/19/federal-courts-embrace-of-ftc-data-breach-settlements-as-common-law-treads-on-due-process/#53af670924d1)

2

### Are You An Owner Or Employee? The Inflexibility of the Federal Tax Rules To Be Treated As Both. - by Dan Wilcox & Scott J. Pinarchick #corporate #law[Read Here](https://goo.gl/qtQUzc)

Annotated Legal Contracts
for the Price of a Coffee

3

### #Corporate Boards’ Zombie Problem Proves Persistent but Curable - by Andrea Vittorio #law [Read Here](https://goo.gl/rmXmbk)

4

### How Much Employee Monitoring is Too Much? - by Hannah George #legal #technology @ltrc [Read Here](https://goo.gl/1wdz53)

5

### Top 20 #Legal IT Innovations 2017: Clio's Jack Newton on getting lawyers' heads in the cloud - by @CarmanDominic #technology @LegalWeek[Read Here](https://goo.gl/x3LTN4)

repository: sahilkanaya/clausehound-blog

repo_name: sahilkanaya/clausehound-blog


text:
A Lasso API library for Dart developers. (https://lasso.io)

Created from templates made available by Stagehand under a BSD-style
[license](https://github.com/dart-lang/stagehand/blob/master/LICENSE).

Code generated with [swagger_dart_code_generator](https://pub.dev/packages/swagger_dart_code_generator)

## Usage

A simple usage example:

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

Future main() async {
  final baseUrl = 'https://yourcompany.lasso.io/api/v1';
  final apiKey = 'my-api-key';

  final client = lassoWithApiKey(baseUrl, apiKey);

  final crewResult = await client.crewList(limit: 10);

  if (crewResult.statusCode != 200) {
    ///Some network error
    print(crewResult.error);
  }

  for (Crew c in crewResult.body?.results ?? []) {
    print('${c.firstName} ${c.lastName}');
  }
}

```

## Features and bugs

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

[tracker]: https://github.com/point-source/dart_lasso/issues


text:
# react-native, es6 & reflux boilerplate

As the very long repo title indicates, this is a boilerplate repository that
includes the following:

- ES6-to-ES5 transpilation using [Babel](https://github.com/babel/babel)
- Uni-directional data-flow architecture using [Reflux](https://github.com/spoike/refluxjs)

## Getting started

1. Clone this project
2. Install dependencies:

    ```shell
    $ npm install
    ```

3. Start the webpack watcher (it builds the `index.ios.js` file expected by React Native)
4. Open `ReactNativeEs6Reflux.xcodeproj` in XCode and run the project - it should look like this:

    <img alt="iOS Simulator running this boilerplate" src="http://i.imgur.com/OKELxXP.png" height="50%" width="50%">

## Javascript file structure

```
  - src/
    stores/ -  Reflux stores
      color_store.js - Example store implementation
    components/ - React components
      app.jsx - Top-level app component

    action.js - Reflux action definitions
    styles.js - StyleSheet definition(s)
    main.js   - Application bootstrap with react-native, transpiler entry-point
```

## Included in the example:

- A simple top-level `App` component with example styles (in `src/styles.js`)
- An example interaction using `TouchableOpacity`, and an example Reflux action (defined in `src/actions.js`)
- An example `AppMessageStore` Reflux store, which handles setting the random message when the React logo is tapped.

## Author

This boilerplate was created by [Filipe Dobreira](https://github.com/filp). It includes auto-generated code (through `react-native init`), and code by [Roman Liutikov](https://github.com/roman01la) (namely the webpack configuration).


text:
**Brutal双手简谱** 和五线谱完全对应。

_Brutal_ 是Olivia Rodrigo演唱的歌曲，发行于2021年5月。Olivia
Rodrigo是一名美国演员、歌手及词曲作家。她因在迪士尼频道系列影集《Bizaardvark》中扮演Paige
Olvera而著名，并在迪士尼+系列影集《High Shcool Musical: The Musical: The Series》中扮演Nini
Salazar-Roberts。她于2021年1月发行了首张单曲《驾驶执照 (Drivers License)》。

path: /流行/Brutal-Olivia Rodrigo/README.md


text:
# AWS Queue Bundle
[![PHP from Packagist](https://img.shields.io/packagist/php-v/beyerz/aws-queue-bundle.svg?style=flat-square&colorB=8892BF)](https://www.php.net/)
[![Latest Stable Version](https://img.shields.io/packagist/v/beyerz/aws-queue-bundle.svg?colorB=orange&style=flat-square)](https://packagist.org/packages/beyerz/aws-queue-bundle)
[![Downloads from Packagist](https://img.shields.io/packagist/dt/beyerz/aws-queue-bundle.svg?style=flat-square&colorB=red)](https://packagist.org/packages/beyerz/aws-queue-bundle)
[![Build Status](https://travis-ci.org/beyerz/AwsQueueBundle.svg?branch=master)](https://travis-ci.org/beyerz/AwsQueueBundle)
[![codecov](https://codecov.io/gh/beyerz/AwsQueueBundle/branch/master/graph/badge.svg)](https://codecov.io/gh/beyerz/AwsQueueBundle)

## About
AWS Queue Bundle for Symfony2

The purpose of this bundle is to provide an easy integration between symfony services and AWS services.
Queues are defined by **Producers** and **Consumers**

By using this bundle, together with aws bundle, the **Consumer** and **Producer** services that you define will automatically setup the AWS services on demand. This eases the requirement of setting up your queue and notification services through the AWS platform.

# Installation

### Composer (Recommended)
```bash
    composer require beyerz/aws-queue-bundle
```
### Application Kernel

Add BeyerzAWSQueueBundle to the `registerBundles()` method of your application kernel:
```php
public function registerBundles()
{
    return array(
        new Beyerz\AWSQueueBundle\BeyerzAWSQueueBundle(),
    );
}
```

# Usage
## Config
config.yml
```yaml
beyerz_aws_queue:
  region: #Your AWS region that you want to use
  account: #Your AWS Account ID
  channel_prefix: "%kernel.environment%" #used to separate dev/stage/prod (mainly to make development eaiser)
  run_local: false #This option should allow you to run remotely using aws, or locally using no-queue or gearman
```

## Important config note:
Due to the way that Aws has defined the working tree, the aws-queue-bundle cannot automatically append your configs.<br>
The result of this is that you will need to define the aws configuration yourself.

## Documentation
### Creating a Producer

Creating a producer that can be used in your system is really simple, here is some sample code to get you started
You can also look at the demo folder in this bundle
_AcmeBundle/Producers/MyAwesomeProducer.php_
```php
<?php

namespace Acme\AcmeBundle\Producers;

use Beyerz\AWSQueueBundle\Interfaces\ProducerInterface;
use Beyerz\AWSQueueBundle\Producer\ProducerTrait;

class MyAwesomeProducer implements ProducerInterface
{
    use ProducerTrait;

    public function publish($message)
    {
        $this->producer->publish($message);
    }
}

```
Producers require some setup which is handled by this bundle and you dont really have to worry too much about it.
We have provided both and interface and trait for producers and as long you have included them, the setup should go smoothly.

Next, we need to define the producer as a service so that we can tag it and make the AwsQueueBundle aware that it exists :)

_AcmeBundle/Resources/config/services.yml_
```YAML
parameters:
    acme.my_awesome_producer.class: Acme\AcmeBundle\Producers\MyAwesomeProducer

services:
    acme.my_awesome_producer:
        class: "%acme.my_awesome_producer.class%"
        tags:
            - {name: "beyerz_aws_queue.producer", channel: "awesome_producer"}
```

You can now access your producer as you normally would through symfony container
```PHP
<?php
    $myAwesomeProducer = $this->container->get('acme.my_awesome_producer');
    $myMessage = "My Awesome Message";
    $myAwesomeProducer->publish($message);
```
After running this producer, you can go to SNS service in your amazon account and see a new topic has been created for you.
You will not yet have queues in your SQS as we have not yet created any consumers

### Creating a Consumer
Consumer are a little more complex than producers, but the basic concept to understand is that your consumer class receives the message from the queue for you to process.

_AcmeBundle/Consumers/MyAwesomeConsumer.php_
```php
<?php

namespace Acme\AcmeBundle\Consumers;

use Beyerz\AWSQueueBundle\Interfaces\ConsumerInterface;

class MyAwesomeConsumer implements ConsumerInterface
{

    public function consume($message)
    {
        //do something awesome with your message
    }
}

```
Consumers require some setup which is handled by this bundle and you dont really have to worry too much about it.
We have provided both an interface and as long you have implemented it, the setup should go smoothly.
Your consumer class gets "wrapped" in a special consumer service. This wrapper connects to the queue and passes the message to your consume function. This wrapper loads your consumer using service container, this means that you can create your service as you normally would, so you can even add dependecies to a constructor!

Next, we need to define the consumer as a service so that we can tag it and make the AwsQueueBundle aware that it exists :)
There are two tags that we are going to use.
The first tag tells the bundle that this is a consumer and the defines the name of the SQS queue using the channel key
The second tag tells the bundle which producer this consumer wants to subscribe to.
If you want to subscribe this queue to more than one producer, just duplicate the tag and define the producer name accordingly

_AcmeBundle/Resources/config/services.yml_
```YAML
parameters:
    acme.my_awesome_consumer.class: Acme\AcmeBundle\Consumers\MyAwesomeConsumer

services:
    acme.my_awesome_consumer:
        class: "%acme.my_awesome_consumer.class%"
        tags:
            - {name: "beyerz_aws_queue.consumer", channel: "awesome_consumer"}
            - {name: "beyerz_aws_queue.subscriber", producer: "awesome_producer"}
```

Now you can run your producer using cli
```bash
    php app/console beyerz:consumer awesome_consumer
```

Your consumer will keep running unless you specify a max message limit or something crashes.
Its probably best to start your consumers using a task management system such as supervisor or even jenkins.
If you have processes that you prefer to run at specific times and not continuosly you can also use crontab

repository: beyerz/AwsQueueBundle

gha_language: PHP

repo_name: beyerz/AwsQueueBundle


text:
# Slither-Feeder-Bot by l3mpik .
# Slither Client by https://github.com/dahquan
# [[Documentation](http://dahquan.github.io/rattlesnake/)]
# [[Examples](http://dahquan.github.io/rattlesnake/examples.html)]

## 1. Download Slither-Feeder-Bot
## 2. Go to feeder path
## 3. Double click "firstrun.bat"
## 4. Next run Start Bots.exe
## 5. : )

## Special Thanks To:
- [dahquan/rattlesnake] (https://github.com/dahquan/)
- [iiegor/slither](https://github.com/iiegor/slither)
- [ClitherProject/Slither.io-Protocol](https://github.com/ClitherProject/Slither.io-Protocol)
- [Google](http://www.google.com)
-
## Social
[![Join the chat at https://gitter.im/dahquan/rattlesnake](https://badges.gitter.im/dahquan/rattlesnake.svg)](https://gitter.im/dahquan/rattlesnake?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)


text:
# phpconsole
PHP console microframework based on https://github.com/wladweb/ServiceLocator
## Usage
```
cd /path/to/phpconsole
php -f index.php <controller> <action> <parameter1> <parameter2> ...
```
For shorter calling can add alias in *.bashrc* file. For example:
```
alias myapp='php -f /path/to/phpconsole/index.php'

```
And then calling it like:
```
myapp <controller> <action> <par1> ...
myapp index save some
```
## Controllers
All controllers must be named like **NameController**, placed in Controllers directory and extend AbstractController.
All action methods must be *public* and named like **nameAction**.
Command:
```
myapp index save some
```
create **IndexController**, call his method **saveAction** and pass there string "some" as parameter.
Could skip all part of that command, except 'myapp'.
Skip action call indexAction, skip controller create IndexController and call indexAction.
## Config
config.php is config file of ServiceLocator. Here might define all stuff of your application. Any objects (like new Object or like FQN string), options, values, also there is application options like name, version and anything you want to add.

Controllers must be defined like:
```php
    'controller_index' => [
        'value' => '\Wladweb\Phpconsole\Controllers\IndexController'
    ],
    'controller_second' => [
        'value' => '\Wladweb\Phpconsole\Controllers\SecondController'
    ],
```
Index must be start with prefix 'controller_', field value must contain 'Fully\Qualified\Name'.
## Output
There is ability to output colored text in console by class Logger.
```php
        //by echo
        echo "It's indexAction from IndexController.", PHP_EOL;

        //or by Logger
        Logger::writeLine("It's indexAction from IndexController. Regular");

        //or custom colors @see Wladweb\Phpconsole\Utils\Colors
        Logger::writeLine("It's indexAction from IndexController. Custom", 'blue', 'black');

        //or predefined error
        Logger::writeBad("It's indexAction from IndexController. Error");

        //or predefined warning
        Logger::writeWarning("It's indexAction from IndexController. Warning");

        //or predefined good
        Logger::writeGood("It's indexAction from IndexController. Good");

        //or predefined info
        Logger::writeInfo("It's indexAction from IndexController. Info");
```
![git](https://user-images.githubusercontent.com/10974351/66260265-fb770b80-e7c4-11e9-8d7e-e20818a628e5.png)

repository: wladweb/phpconsole

repo_name: wladweb/phpconsole


text:
# ES20 P1 submission, Group 33

## Feature PPA

### Subgroup
 - João Martins, ist190616, nodoak33
   + Issues assigned: [#16](https://github.com/tecnico-softeng/es20tg_33-project/issues/16), [#25](https://github.com/tecnico-softeng/es20tg_33-project/issues/25), [#26](https://github.com/tecnico-softeng/es20tg_33-project/issues/26),[#27](https://github.com/tecnico-softeng/es20tg_33-project/issues/27)
 - Xavier Gomes, ist190637, xaviergomes99
   + Issues assigned: [#17](https://github.com/tecnico-softeng/es20tg_33-project/issues/17), [#21](https://github.com/tecnico-softeng/es20tg_33-project/issues/21), [#22](https://github.com/tecnico-softeng/es20tg_33-project/issues/22), [#23](https://github.com/tecnico-softeng/es20tg_33-project/issues/23), [#38](https://github.com/tecnico-softeng/es20tg_33-project/issues/38), [#47](https://github.com/tecnico-softeng/es20tg_33-project/issues/47),  [#48](https://github.com/tecnico-softeng/es20tg_33-project/issues/48),  [#53](https://github.com/tecnico-softeng/es20tg_33-project/issues/53)

### Pull requests associated with this feature

The list of pull requests associated with this feature is:

 - [PR #036](https://github.com/tecnico-softeng/es20tg_33-project/pull/36)
 - [PR #055](https://github.com/tecnico-softeng/es20tg_33-project/pull/55)

### New/Updated domain entities

#### New entities
 - No new entities

#### Entities changed
 - [Question.java](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/main/java/pt/ulisboa/tecnico/socialsoftware/tutor/question/domain/Question.java)
   + Added field `submittingUser`
   + Added field `justification`
   + Added to `Status` field  `PENDING`
   + Added to `Status` field  `REJECTED`
 - [User.java](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/main/java/pt/ulisboa/tecnico/socialsoftware/tutor/user/User.java)
   + Added field `numberOfSubmittedQuestions`
   + Added field `numberOfApprovedQuestions`
   + Added field `numberOfRejectedQuestions`
   + Added field `submittedQuestions`

### Feature testing

We define one success test, one insuccess test, and tests for invalid input. The direct links to these are:

 - [SubmitQuestionTest.groovy](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/question/service/SubmitQuestionTest.groovy)
    + [Success test #0](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/question/service/SubmitQuestionTest.groovy#L58)
    + [Tests for invalid input](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/question/service/SubmitQuestionTest.groovy#L103)

 - [ApprovalRejectionQuestionTest.groovy](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/question/service/ApprovalRejectionQuestionTest.groovy)

    Approval
    + [Success test #0](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/question/service/ApprovalRejectionQuestionTest.groovy#L64)
    + [Insuccess test #0](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/question/service/ApprovalRejectionQuestionTest.groovy#L144)

    Rejection
    + [Success test #0](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/question/service/ApprovalRejectionQuestionTest.groovy#L79)
    + [Tests for invalid input](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/question/service/ApprovalRejectionQuestionTest.groovy#L110)

 - [GetSubmittedQuestionsStatus.groovy](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/user/domain/user/GetSubmittedQuestionsStatus.groovy)
    + [Success test #0](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/user/domain/user/GetSubmittedQuestionsStatus.groovy#L47)
    + [Tests for invalid input](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/user/domain/user/GetSubmittedQuestionsStatus.groovy#L79)

### Test Coverage Screenshot

The screenshot includes the test coverage results associated with the new/changed entities:

![Test Coverage Screenshot](https://github.com/tecnico-softeng/es20tg_33-project/blob/add-P1.md/backend/assets/img/PpA-Coverage.png)

---

## Feature DDP

### Subgroup
 - Rodrigo Costa, 87702, rcosta1997
   + Issues assigned: [#18](https://github.com/tecnico-softeng/es20tg_33-project/issues/18), [#20](https://github.com/tecnico-softeng/es20tg_33-project/issues/20), [#50](https://github.com/tecnico-softeng/es20tg_33-project/issues/50), [#51](https://github.com/tecnico-softeng/es20tg_33-project/issues/51), [#59](https://github.com/tecnico-softeng/es20tg_33-project/issues/59), [#60](https://github.com/tecnico-softeng/es20tg_33-project/issues/60)
 - Ricardo Caetano, 87699, OcarinaRedcoat
   + Issues assigned: [#19](https://github.com/tecnico-softeng/es20tg_33-project/issues/19), [#35](https://github.com/tecnico-softeng/es20tg_33-project/issues/35), [#49](https://github.com/tecnico-softeng/es20tg_33-project/issues/49),[#52](https://github.com/tecnico-softeng/es20tg_33-project/issues/52),[#58](https://github.com/tecnico-softeng/es20tg_33-project/issues/58),[#61](https://github.com/tecnico-softeng/es20tg_33-project/issues/61)

### Pull requests associated with this feature

The list of pull requests associated with this feature is:

 - [PR #62](https://github.com/tecnico-softeng/es20tg_33-project/pull/62)
 - [PR #67](https://github.com/tecnico-softeng/es20tg_33-project/pull/67)

### New/Updated domain entities

#### New entities
 - [Discussion.java](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/main/java/pt/ulisboa/tecnico/socialsoftware/tutor/answer/domain/Discussion.java)
 - [Message.java](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/main/java/pt/ulisboa/tecnico/socialsoftware/tutor/answer/domain/Message.java)
 - [DiscussionDto.java](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/main/java/pt/ulisboa/tecnico/socialsoftware/tutor/answer/dto/DiscussionDto.java)
- [MessageDto.java](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/main/java/pt/ulisboa/tecnico/socialsoftware/tutor/answer/dto/MessageDto.java)

#### Entities changed
 - [Question.java](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/main/java/pt/ulisboa/tecnico/socialsoftware/tutor/question/domain/Question.java)
   + Added field `discussion`

### Feature testing

We define one success tests one insuccess test, and tests for invalid input. The direct links to these are:

 - [DiscussionQuizAnswerTest.groovy](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/answer/service/DiscussionQuizAnswerTest.groovy)
    + [Success test #0](https://github.com/tecnico-softeng/es20tg_33-project/blob/906d079c95c042205eee7704ce9fe746630d1ebb/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/answer/service/DiscussionQuizAnswerTest.groovy#L146)
    + [Insuccess test #0](https://github.com/tecnico-softeng/es20tg_33-project/blob/906d079c95c042205eee7704ce9fe746630d1ebb/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/answer/service/DiscussionQuizAnswerTest.groovy#L205)
    + [Tests for invalid input](https://github.com/tecnico-softeng/es20tg_33-project/blob/906d079c95c042205eee7704ce9fe746630d1ebb/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/answer/service/DiscussionQuizAnswerTest.groovy#L183)

### Test Coverage Screenshot

The screenshot includes the test coverage results associated with the new/changed entities:

![Test Coverage Screenshot](https://github.com/tecnico-softeng/es20tg_33-project/blob/add-P1.md/backend/assets/img/Ddp-Coverage.png)

---

## Feature TDP

### Subgroup
 - Francisco Lopes, ist188078, Aegiel
   + Issues assigned: [#9](https://github.com/tecnico-softeng/es20tg_33-project/issues/9), [#10](https://github.com/tecnico-softeng/es20tg_33-project/issues/10), [#11](https://github.com/tecnico-softeng/es20tg_33-project/issues/11), [#12](https://github.com/tecnico-softeng/es20tg_33-project/issues/12)
 - Manuel Goulão, ist191049, mgoulao
   + Issues assigned: [#13](https://github.com/tecnico-softeng/es20tg_33-project/issues/13), [#14](https://github.com/tecnico-softeng/es20tg_33-project/issues/14), [#15](https://github.com/tecnico-softeng/es20tg_33-project/issues/15), [#28](https://github.com/tecnico-softeng/es20tg_33-project/issues/28), [#33](https://github.com/tecnico-softeng/es20tg_33-project/issues/33), [#39](https://github.com/tecnico-softeng/es20tg_33-project/issues/39), [#40](https://github.com/tecnico-softeng/es20tg_33-project/issues/40), [#41](https://github.com/tecnico-softeng/es20tg_33-project/issues/41)

### Pull requests associated with this feature

The list of pull requests associated with this feature is:

 - [PR #031](https://github.com/tecnico-softeng/es20tg_33-project/pull/31)
 - [PR #032](https://github.com/tecnico-softeng/es20tg_33-project/pull/32)
 - [PR #034](https://github.com/tecnico-softeng/es20tg_33-project/pull/34)
 - [PR #044](https://github.com/tecnico-softeng/es20tg_33-project/pull/44)

### New/Updated domain entities

#### New entities
 - [Tourney.java](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/main/java/pt/ulisboa/tecnico/socialsoftware/tutor/tourney/Tourney.java)
 - [TourneyDto.java](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/main/java/pt/ulisboa/tecnico/socialsoftware/tutor/tourney/TourneyDto.java)

#### Entities changed
 - [Topic.java](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/main/java/pt/ulisboa/tecnico/socialsoftware/tutor/question/domain/Topic.java)
   + Added field `topicTourneys`
 - [User.java](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/main/java/pt/ulisboa/tecnico/socialsoftware/tutor/user/User.java)
   + Added field `enrolledTourneys`
   + Added field `createdTourneys`

### Feature testing

We define success tests, insuccess tests and/or tests for invalid input. The direct links to these are:

 - [CreateTourneyTest.groovy](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/tourney/service/CreateTourneyTest.groovy)
    + [Success test #0](https://github.com/tecnico-softeng/es20tg_33-project/blob/cd0d1197f7cb41bbd7838299079d4405bbc33a2a/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/tourney/service/CreateTourneyTest.groovy#L58)
    + [Tests for invalid input](https://github.com/tecnico-softeng/es20tg_33-project/blob/cd0d1197f7cb41bbd7838299079d4405bbc33a2a/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/tourney/service/CreateTourneyTest.groovy#L78)

 - [GetOpenTourneysTest.groovy](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/tourney/service/GetOpenTourneysTest.groovy)
    + [Success test #0](https://github.com/tecnico-softeng/es20tg_33-project/blob/cd0d1197f7cb41bbd7838299079d4405bbc33a2a/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/tourney/service/GetOpenTourneysTest.groovy#L35)
    + [Insuccess test #0](https://github.com/tecnico-softeng/es20tg_33-project/blob/cd0d1197f7cb41bbd7838299079d4405bbc33a2a/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/tourney/service/GetOpenTourneysTest.groovy#L27)

 - [StudentEnrolsIntoTourneyTest.groovy](https://github.com/tecnico-softeng/es20tg_33-project/blob/develop/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/tourney/service/StudentEnrolsIntoTourneyTest.groovy)
    + [Success test #0](https://github.com/tecnico-softeng/es20tg_33-project/blob/cd0d1197f7cb41bbd7838299079d4405bbc33a2a/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/tourney/service/StudentEnrolsIntoTourneyTest.groovy#L68)
    + [Insuccess test #0](https://github.com/tecnico-softeng/es20tg_33-project/blob/cd0d1197f7cb41bbd7838299079d4405bbc33a2a/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/tourney/service/StudentEnrolsIntoTourneyTest.groovy#L83)
    + [Tests for invalid input](https://github.com/tecnico-softeng/es20tg_33-project/blob/cd0d1197f7cb41bbd7838299079d4405bbc33a2a/backend/src/test/groovy/pt/ulisboa/tecnico/socialsoftware/tutor/tourney/service/StudentEnrolsIntoTourneyTest.groovy#L113)

### Test Coverage Screenshot

The screenshot includes the test coverage results associated with the new/changed entities:

![Test Coverage Screenshot](https://github.com/tecnico-softeng/es20tg_33-project/blob/add-P1.md/backend/assets/img/TdP-Coverage.png)


text:
#IPASS Project Hogeschool Utrecht

Project with a mpu6050 and oled screen

Library written for mpu6050

For the documentation: run:
```
   doxygen doxyfiles/doxyfile
```

and open doxyfiles/html/index.html.

Copyright Daniel Hoegee<EMAIL_ADDRESS>2020-2021 Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

repository: Skaniel/IPASS

repo_name: Skaniel/IPASS


text:
# tablet-config
A shell script to configure a graphics tablet attached to a Linux machine.

It should be internally self documenting.

In summary though it addresses the following problem under X windows currently when a graphics tablet is attached.

1. The tablet is attached with a USB line and a display line (VGA or DVI or HDMI or whatever).
1. The USB delivers the pen position (and related pen data)
1. The display is attached to a display port
1. Lacking a proprietary driver X has no way of knowing that the USB input relates to a particular display (though it could assume so) or which one if it does (the actual deeper problem).
1. When faced with multiple monitors (for example your existing monitor and the now added graphics tablet plugged into a display port) X defines a screen (call it the X screen) which is the bounding box of those monitors and provides some nice flexibility in terms of arranging them (via xrandr short for X Resize and Rotate) or depedning on you desktop through a GUI somehow.
1. X manages the mapping between the X screen coordinate space and the indvidual monitor coordinates internally quite well.
1. But because X does not know which monitor if any is the graphics tablet (as some graphics tablets don't have a monitor), X maps the pen into the X screen space.
1.
1. Alas the only ways around it are:
  1. a proprietary driver that knows about the ID info delivered by through USB and the display port and can associate the two, or
  1. you tell it manually what the association is.
1. The manual approach is described quite well here: https://wiki.archlinux.org/index.php/Calibrating_Touchscreen
1. The manual approach is a right royal pain.
1. This script makes it a little less painful, automating as much of it as possible in a shell script.

Good luck.

repository: bernd-wechner/tablet-config

repo_name: bernd-wechner/tablet-config


text:
# one-time

[![Made by unshift](https://img.shields.io/badge/made%20by-unshift-00ffcc.svg?style=flat-square)](http://unshift.io)[![Version npm](http://img.shields.io/npm/v/one-time.svg?style=flat-square)](http://browsenpm.org/package/one-time)[![Build Status](http://img.shields.io/travis/unshiftio/one-time/master.svg?style=flat-square)](https://travis-ci.org/unshiftio/one-time)[![Dependencies](https://img.shields.io/david/unshiftio/one-time.svg?style=flat-square)](https://david-dm.org/unshiftio/one-time)[![Coverage Status](http://img.shields.io/coveralls/unshiftio/one-time/master.svg?style=flat-square)](https://coveralls.io/r/unshiftio/one-time?branch=master)[![IRC channel](http://img.shields.io/badge/IRC-irc.freenode.net%23unshift-00a8ff.svg?style=flat-square)](http://webchat.freenode.net/?channels=unshift)

Call the supplied function exactly one time. This prevents double callback
execution. This module can be used on both node and browsers using browserify.
No magical ES5/6 methods used unlike the `once` module does.

## Installation

```
npm install one-time
```

## Usage

Simply supply the function with the function that should only be called one
time:

```js
var one = require('one-time');

function load(file, fn) {
  fn = one(fn);

  eventemitter.once('load', fn);
  eventemitter.once('error', fn);

  // do stuff
  eventemitter.emit('error', new Error('Failed to load, but still finished'));
  eventemitter.emit('load');
}

function example(fn) {
  fn = one(fn);

  fn();
  fn('also receives all arguments');
  fn('it returns the same value') === 'bar';
  fn('never');
  fn('gonna');
  fn('give');
  fn('you');
  fn('up');
}

example(function () {
  return 'bar'
});
```

### Why not `once`?

The main reason is that `once` cannot be used in a browser environment unless it's
ES5 compatible. For a module as simple as this I find that unacceptable. In addition
to that it super heavy on the dependency side. So it's totally not suitable to be
used in client side applications.

In addition to that we make sure that your code stays easy to debug as returned
functions are named in the same way as your supplied functions. Making heap
inspection and stacktraces easier to understand.

## License

MIT

repository: bketelsen/talks

repo_name: bketelsen/talks


text:
---
type: mina
title: Related Projects
---

# Related Projects

This page lists the projects which use Apache MINA as its networking layer. Please contact us if you are using MINA and you want to add a link to this page. You could also read the users' testimonials. To compare MINA to other network application frameworks, please refer to the 'Other network application frameworks' section below.

{{% toc %}}

## Other network application frameworks

    The projects referred in this section 'Other network application frameworks' are not based on MINA but are their own network application frameworks.  These links are provided for users who want to compare MINA to other network application frameworks.

### [Grizzly](https://grizzly.java.net/)

Grizzly framework has been designed to help developers to take advantage of the Java™ NIO API. Originally developed under the GlassFish umbrella, the framework is now available as a standalone project. Grizzly goals is to help developers to build scalable and robust servers using NIO.

### [Netty 3](http://www.jboss.org/netty/)

The new version of Netty Trustin Lee is working on now. The Netty project is an effort to provide an asynchronous event-driven network application framework and tools for rapid development of maintainable high performance and high scalability protocol servers and clients.

### [NIO Framework](http://nioframework.sourceforge.net/)

The NIO Framework is a library on top of NIO that hides most of the complexity of plain NIO. With the NIO Framework you can implement high-performance Java network applications without having to deal with all the nasty details of NIO. The issues above are resolved while the performance is preserved.

### [QuickServer](http://www.quickserver.org/)

QuickServer is an open source Java library/framework for quick creation of robust multi-client TCP server applications. QuickServer provides an abstraction over the ServerSocket, Socket and other network and input output classes and it eases the creation of powerful network servers.

### [xSocket](http://xsocket.sourceforge.net/)

xSocket is a easy to use NIO-based library to build high performance, highly scalable network applications. It supports writing client-side applications as well as server-side applications in an intuitive way. Issues like low level NIO selector programming, connection pool management, connection timeout detection or fragmented buffer reads are encapsulated by xSocket.

## Messaging

### [Apache Camel](http://activemq.apache.org/camel/)

Apache Camel is a POJO routing and mediation library for working with files, FTP, HTTP, MINA, JMS, JBI and web services.

### [Apache Qpid (incubating)](http://cwiki.apache.org/qpid/)

The Apache Qpid Project implemented [AMQP (Advanced Message Queuing Protocol)](http://www.amqp.org/) using Apache MINA.

### [Avis](http://avis.sourceforge.net/)

Avis is an event router service compatible with the commercial Elvin implementation developed by Mantara Software. Avis provides a fast, general-purpose publish/subscribe message bus.

### [MailsterSMTP](http://tedorg.free.fr/en/projects.php?section=smtp)

MailsterSMTP is designed to be a easy to understand Java library which provides a receptive SMTP server component. Using this library, you can easily receive mails using a simple Java interface, extend the set of implemented commands or control how mails are delivered by plugging your custom implementations.

## Instant Messaging

### [Jive Software Openfire](http://www.jivesoftware.com/products/openfire/)

Jive Software Openfire implemented [XMPP (Extensible Messaging and Presence Protocol)](http://www.xmpp.org/) server on top of Apache MINA. After switching to Apache MINA, [they gained 11 times scalability boost](http://community.igniterealtime.org/blogs/ignite/2006/12/19/scalability-turn-it-to-eleven/).

## Media Storage & Streaming

### [OpenLSD](http://openlsd.free.fr/en/OpenLSD.html)

OpenLSD is an open source framework for massive document archiving. The web site also contains an interesting performance test report.

### [Red5](http://www.osflash.org/red5)

OSFlash.org team implemented an open-source flash media streaming ([RTMP, Real Time Messaging Protocol](http://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol)) server with Apache MINA.

## Miscellaneous

### [Apache Directory Project](http://directory.apache.org/)

The Apache Directory Project implemented LDAP v3, Kerberos, DNS, DHCP, NTP, and ChangePW using Apache MINA.

### [Beep4j](http://beep4j.sourceforge.net/)

Beep4j is an open-source implementation of the [BEEP](http://www.beepcore.org/) specification (RFC3080 and RFC3081).

### [VFS FTPServer Bridge](http://vfs-utils.sourceforge.net/ftpserver/index.html)

This project provides an Apache Commons VFS implementation for the Apache FTPServer project. Instead of working only on local files, with this VFS bridge you can connect to any VFS provider. You can still use a local file system, but you can also use a ZIP file, loop through to another FTP server, or use any other available VFS implementation such as DctmVFS.

### [HDFS over FTP](https://sites.google.com/a/iponweb.net/hadoop/Home/hdfs-over-ftp)

FTP server which works on a top of HDFS. It aAllows to connect to HDFS using any FTP client. FTP server is configurable by hdfs-over-ftp.conf and users.conf. Also it allows to use secure connection over SSL and supports all HDFS permissions

repository: apache/mina-site

repo_name: apache/mina-site


text:
## Setup

For development purposes, frontend GUI and backend APIs have been separated and runs onto 2 different runtime servers.
* Frontend is an Angular 8 application served by `ng serve` with livereload enabled,
* Backend is a Spring Boot application served by Boot internal server

We also need a Keycloak server running on port `8180`.

### Pre-requisites

* NodeJS (version >= 16.0) and associated tools : NPM and ng-cli (`npm i -g @angular/cli`)
* Java Development Kit (version >= 11) and Apache Maven (version >= 3.0)
* Keycloak 14.0.0
* MongoDB 3.4

### Start servers

Let's begin with starting the Keycloak server. Within the installation directory of Keycloak 14.0.0, just run this command:

```
$ cd bin
$ ./standalone.sh -Djboss.socket.binding.port-offset=100
```

In a terminal, start frontend GUI server using NG :

```
$ cd src/main/webapp
$ npm install
$ ng serve
```

Server is started on port `4200`. Open a new browser tab pointing to `http://localhost:4200` where application is hosted.

with keycloak:

```
$ mvn spring-boot:run
```

with keycloak disabled:

```
$ KEYCLOAK_ENABLED=false mvn spring-boot:run
```

Server is started on port `8080` and will be used as API endpoints root by frontend GUI (URLs starting by `http://localhost:4200/api` will be in fact proxied to port `8080`).

repository: CoreBuildSoftware/microcks

repo_name: CoreBuildSoftware/microcks