text:
# Harvest Data Model

Tables the `api/save.py` and `api/DataUpdater.py` scripts query:
* Clients
* Tasks
* Task Assignments
* Time Entries
* Projects
* Roles
* Users
* User Assignments

From these tables, the ones used to make visualisations by scripts in the `/vis`
folder are **Time Entries**, **Projects**, **Tasks**, **Clients** and **Users**.

Other tables that are not queried at all (and I believe are mostly empty for us
   in any case) include:
* Invoices
* Estimates
* Expenses
* ...possibly others.

The tables and relationships between them are summarised in the diagram below.
Most of the tables also have fields for whether an entry is budgeted or not, and at
what hourly rate. I haven't included these in the diagram. There is information
in the billable flags, but I'm not sure by what criteria these have been entered
(or whether it's just random).

Note there is no explicit reference to Forecast in the Harvest data. Links between
the two are only possible via `harvest_ids` present in the Forecast data.

![HarvestDataModel](harvest_data_model.png)

### Clients

Clients have an id and a name, and include the likes of "Wellcome Trust",
"Alan Turing Institute", "Health", "Hut 23" and "Trac days".

### Projects

Projects have an id, name, start date and end date, and belong to a `client_id`.
They also have a `budget` field to define the total amount of time to be spent
on that project, which is currently unfilled for most projects.

### Tasks

Tasks have an id and name and can be assigned to multiple projects (see Task
  Assignments). Tasks include "Meetings", "Programming", "Documentation",
  "Team events", "Leave", etc.

### Task Assignments

Each entry links a `task_id` to a `project_id`. A project can have an arbitrary
number of tasks assigned to it.

### Users

Users have an id, first and last names, an email, and can have one or more roles
like in Forecast. They also have a weekly capacity (in seconds, generally 144000
for 8 hours/day, 5 days/week), and can be flagged as being a project manager and
active or inactive.

### Roles

Roles include the likes of "Research Project Manager", "Research Data Scientist"
etc., and the entry for each role contains a list of `user_ids` having that role.

### User Assignments

Each entry links a `user_id` to a `project_id`. A project can have an arbitrary
number of users assigned to it. The project manager can be indicated with the
`is_project_manager` flag.

### Time Entries

Each time entry corresponds to a number of `hours` spent on a specific `spent_date`
by one `user_id`, on one `project_id`, on a specific `task_id`.
As there's a row for each task on each project on each day, users will typically
have something like 10 rows in the time entries table per week.

## The Harvest API

Harvest has a public API which is quite well documented, see:
https://help.getharvest.com/harvest/integrations/other-integrations/harvest-api/

The status of wrappers for interacting with the API is not as good, but libraries
do exist for multiple languages, including python.
The `api/save.py` and `api/DataUpdater.py` scripts make use of `python-harvest`,
available here: https://github.com/lionheart/python-harvest

However, this was originally developed for the old v1 version of the API,
 with the v2 version on a development branch which is partially complete and
 liable to break with new commits.
 For now, we are installing a specific version of the v2 branch, which mostly
 works, with the command: `pip install python-harvest-redux==5.0.0b0`

If we plan to rely on it for some future application we should switch to some stable,
fully working future version, which hopefully will be developed, or write/contribute
something ourselves.

The way `python-harvest` returns data means many of the tables above are already
merged, e.g. the returned "Time Entries" table contains user, project and task
names, not only their ids.

## Issues / "Features"

* Getting the Harvest data is slow, mostly because of the Time Entries table
which currently has about 3700 entries. This must be split across 37 API queries
(max 100 results per query) taking about 2 seconds each.
The size of this table  will continue to grow rapidly (by about 5-10 entries
per person per week), so the situation will only get worse.
Could move to a model where only data in a date range of interest is queried,
but that would then make calculating cumulative time tracked across a project's
whole duration (and comparing to Forecast) more difficult. Probably where having
our own database would make the biggest difference.

## Diagram Link

https://dbdiagram.io/d/5cb5a0b0f7c5bb70c72fa5c9

repository: alan-turing-institute/WimbledonPlanner

repo_name: alan-turing-institute/WimbledonPlanner


text:
---
layout: post
type: socratic
title: "Socratic Seminar 32"
meetup: https://www.meetup.com/BitDevsNYC/events/217860912/
---

Github Issues/Pull Requests

[](https://github.com/bitcoin/bitcoin/pull/5303)[https://github.com/bitcoin/bitcoin/pull/5303](https://github.com/bitcoin/bitcoin/pull/5303)

[](https://github.com/bitcoin/bitcoin/pull/5270)[https://github.com/bitcoin/bitcoin/pull/5270](https://github.com/bitcoin/bitcoin/pull/5270)

[](https://github.com/bitcoin/bitcoin/pull/5267)[https://github.com/bitcoin/bitcoin/pull/5267](https://github.com/bitcoin/bitcoin/pull/5267)

[](https://github.com/bitcoin/bitcoin/pull/5253)[https://github.com/bitcoin/bitcoin/pull/5253](https://github.com/bitcoin/bitcoin/pull/5253)

[](https://github.com/bitcoin/bitcoin/pull/5209)[https://github.com/bitcoin/bitcoin/pull/5209](https://github.com/bitcoin/bitcoin/pull/5209)

[](https://github.com/bitcoin/bitcoin/pull/5200)[https://github.com/bitcoin/bitcoin/pull/5200](https://github.com/bitcoin/bitcoin/pull/5200)

[](https://github.com/bitcoin/bitcoin/pull/5161)[https://github.com/bitcoin/bitcoin/pull/5161](https://github.com/bitcoin/bitcoin/pull/5161)

[](https://github.com/bitcoin/bitcoin/pull/5157)[https://github.com/bitcoin/bitcoin/pull/5157](https://github.com/bitcoin/bitcoin/pull/5157)

The Difficulty of Writing Consensus Critical Code: the SIGHASH\_SINGLE Bug

[](http://sourceforge.net/p/bitcoin/mailman/message/33013965/)[http://sourceforge.net/p/bitcoin/mailman/message/33013965/](http://sourceforge.net/p/bitcoin/mailman/message/33013965/)

[
](http://sourceforge.net/p/bitcoin/mailman/message/33013965/)

Discussion on Increasing OP\_RETURN

[](http://sourceforge.net/p/bitcoin/mailman/bitcoin-development/thread/CABbpET9eTgk1GyxYbcG%2B%2BO_rqsnfB7w5_Xp4XgE6qwkmGsm1eg%40mail.gmail.com/#msg)[http://sourceforge.net/p/bitcoin/mailman/bitcoin-development/thread/CABbpET9eTgk1GyxYbcG%2B%2BO\_rqsnfB7w5\_Xp4XgE6qwkmGsm1eg%40mail.gmail.com/#msg\[masked\]](http://sourceforge.net/p/bitcoin/mailman/bitcoin-development/thread/CABbpET9eTgk1GyxYbcG%2B%2BO_rqsnfB7w5_Xp4XgE6qwkmGsm1eg%40mail.gmail.com/#msg)

Weekly Hash Rate Statistics

[](http://organofcorti.blogspot.de/2014/11/november-2nd-2014-weekly-bitcoin.html)[http://organofcorti.blogspot.de/2014/11/november-2nd-2014-weekly-bitcoin.html](http://organofcorti.blogspot.de/2014/11/november-2nd-2014-weekly-bitcoin.html)

[](http://organofcorti.blogspot.de/2014/11/november-9th-2014-weekly-bitcoin.html)[http://organofcorti.blogspot.de/2014/11/november-9th-2014-weekly-bitcoin.html](http://organofcorti.blogspot.de/2014/11/november-9th-2014-weekly-bitcoin.html)

Update on Mobile 2-Factor Wallets

[](http://sourceforge.net/p/bitcoin/mailman/message/33017648/)[http://sourceforge.net/p/bitcoin/mailman/message/33017648/](http://sourceforge.net/p/bitcoin/mailman/message/33017648/)

[](https://github.com/ChristopherMann/2FactorWallet)[https://eprint.iacr.org/2014/629.pdf](https://eprint.iacr.org/2014/629.pdf)

[](https://github.com/ChristopherMann/2FactorWallet)[https://github.com/ChristopherMann/2FactorWallet](https://github.com/ChristopherMann/2FactorWallet)

The Future of Bitcoin Transaction Fees?

[](http://hashingit.com/analysis/35-the-future-of-bitcoin-transaction-fees)[http://hashingit.com/analysis/35-the-future-of-bitcoin-transaction-fees](http://hashingit.com/analysis/35-the-future-of-bitcoin-transaction-fees)

Bitcoin Traffic Bulletin

[](http://hashingit.com/analysis/34-bitcoin-traffic-bulletin)[http://hashingit.com/analysis/34-bitcoin-traffic-bulletin](http://hashingit.com/analysis/34-bitcoin-traffic-bulletin)

7 Transactions Per Second? Really?

[](http://hashingit.com/analysis/33-7-transactions-per-second)[http://hashingit.com/analysis/33-7-transactions-per-second](http://hashingit.com/analysis/33-7-transactions-per-second)

Daily and weekly Bitcoin Tansaction Cycles

[](http://organofcorti.blogspot.de/2014/11/daily-and-weekly-bitcoin-transaction.html)[http://organofcorti.blogspot.de/2014/11/daily-and-weekly-bitcoin-transaction.html](http://organofcorti.blogspot.de/2014/11/daily-and-weekly-bitcoin-transaction.html)

Spectral Density of Bitcoin Transaction Rates

[](http://organofcorti.blogspot.de/2014/11/spectral-density-of-bitcoin-transaction.html)[http://organofcorti.blogspot.de/2014/11/spectral-density-of-bitcoin-transaction.html](http://organofcorti.blogspot.de/2014/11/spectral-density-of-bitcoin-transaction.html)

Proof of Unique Blockchain Storage

[](http://bitslog.wordpress.com/2014/11/03/proof-of-local-blockchain-storage/)[http://bitslog.wordpress.com/2014/11/03/proof-of-local-blockchain-storage/](http://bitslog.wordpress.com/2014/11/03/proof-of-local-blockchain-storage/)

btcsim: Simulating the Rise of Bitcoin

[](https://blog.conformal.com/btcsim-simulating-the-rise-of-bitcoin/#more-1099)[https://blog.conformal.com/btcsim-simulating-the-rise-of-bitcoin/#more-1099](https://blog.conformal.com/btcsim-simulating-the-rise-of-bitcoin/#more-1099)

bitcoinj\[masked\] Released

[](https://groups.google.com/d/msg/bitcoinj/Jri_aCuWbGU/vH_F88PDm-cJ)[https://groups.google.com/d/msg/bitcoinj/Jri\_aCuWbGU/vH\_F88PDm-cJ](https://groups.google.com/d/msg/bitcoinj/Jri_aCuWbGU/vH_F88PDm-cJ)

Blockstream / Sidechains

[](http://www.blockstream.com/sidechains.pdf)[http://www.blockstream.com/sidechains.pdf](http://www.blockstream.com/sidechains.pdf)

[](https://www.reddit.com/r/IAmA/comments/2k3u97/we_are_bitcoin_sidechain_paper_authors_adam_back/)[https://www.reddit.com/r/IAmA/comments/2k3u97/we\_are\_bitcoin\_sidechain\_paper\_authors\_adam\_back/](https://www.reddit.com/r/IAmA/comments/2k3u97/we_are_bitcoin_sidechain_paper_authors_adam_back/)

[](http://www.blockstream.com/2014/10/30/a-look-at-a-few-questions-and-misconceptions-for-pegged-sidechains/)[http://www.blockstream.com/2014/10/30/a-look-at-a-few-questions-and-misconceptions-for-pegged-sidechains/](http://www.blockstream.com/2014/10/30/a-look-at-a-few-questions-and-misconceptions-for-pegged-sidechains/)

[](https://www.reddit.com/r/Bitcoin/comments/2mke80/blockstream_closes_21m_seed_round/cm56yr6?context=3)[https://www.reddit.com/r/Bitcoin/comments/2mke80/blockstream\_closes\_21m\_seed\_round/cm56yr6?context=3](https://www.reddit.com/r/Bitcoin/comments/2mke80/blockstream_closes_21m_seed_round/cm56yr6?context=3)

Monetas Brings Colored Coins to btcd

[](http://monetas.net/monetas-brings-colored-coins-to-btcd/)[http://monetas.net/monetas-brings-colored-coins-to-btcd/](http://monetas.net/monetas-brings-colored-coins-to-btcd/)

Counterparty Development Update 2

[](http://counterparty.io/news/counterparty-development-update-2/)[http://counterparty.io/news/counterparty-development-update-2/](http://counterparty.io/news/counterparty-development-update-2/)

Tracking the Moolah Coins

[](http://blog.coinalytics.co/moolah-blockchain-investigation)[http://blog.coinalytics.co/moolah-blockchain-investigation](http://blog.coinalytics.co/moolah-blockchain-investigation)

[](http://blog.coinalytics.co/examining-mintpal-bitcoin-addresses)[http://blog.coinalytics.co/examining-mintpal-bitcoin-addresses](http://blog.coinalytics.co/examining-mintpal-bitcoin-addresses)

An Attack on the Timestamp Semantics of Bitcoin

[](https://www.reddit.com/r/Bitcoin/comments/2l83y5/an_attack_on_the_timestamp_semantics_of_bitcoin/clsehm3?context=3)[https://www.reddit.com/r/Bitcoin/comments/2l83y5/an\_attack\_on\_the\_timestamp\_semantics\_of\_bitcoin/clsehm3?context=3](https://www.reddit.com/r/Bitcoin/comments/2l83y5/an_attack_on_the_timestamp_semantics_of_bitcoin/clsehm3?context=3)

Presentation:

Ayoub Naciri - Artabit

license: MIT

branch_name: refs/heads/master

extension: md

gha_language: HTML

gha_license_id: MIT

license_type: permissive


text:
# Rust CLIs and useful stuff

## hyperfine

A command-line benchmarking tool. https://github.com/sharkdp/hyperfine

## dot

dot is a command-line tool for managing dotfiles, written in Rust. https://github.com/ubnt-intrepid/dot

## broot

A new way to see and navigate directory trees. https://dystroy.org/broot https://github.com/Canop/broot

## xsv

A fast CSV command line toolkit written in Rust. https://github.com/BurntSushi/xsv

## skim

Fuzzy Finder in rust! https://github.com/lotabout/skim#difference-to-fzf

## navi

An interactive cheatsheet tool for the command-line. https://github.com/denisidoro/navi#installation

## nomino

Batch rename utility for developers. https://github.com/yaa110/nomino

repository: radum/dotfiles

gha_language: Shell

repo_name: radum/dotfiles


text:
# Example to upload documentation to NPM

This package console displays a random message among a list of messages it has in an array.

The code to be executed is found in the index and is executed from `/bin/global.js`.

In the `package.json` you can see a special configuration so that the package can be installed as a dependency.

## Installation

It can be published in NPM and installed as a global dependency or local dependency, fot this we locate ourselves in the directory and execute

```shell
npm publish
```

It can also be installed locally with the command

```shell
npm link
```

## Use

After installed the following command will display a random message on the console

```shell
random-msg
```

## Author

Edwin García
<EMAIL_ADDRESS>
## License

[MIT](./LICENSE)


text:
# GoWebBoilerplate

Boilerplate for Go web frontend and backend.

## Goals

* [ ] Use PostgreSQL as database
* [ ] Database migrations
* [ ] Multilingual support
* [x] Frontend separated (HTML + JS) from backend (JSON)
* [ ] WebSocket support for realtime notifications
* [ ] Systemd service
* [ ] Docker container
* Basic user account:
  * [ ] Login
  * [ ] Logout
  * [ ] Register
  * [ ] Reset password
  * [ ] User groups (ACL)
  * [ ] Session
* Admin panel:
  * [ ] Logs
  * [ ] Modify user permissions

repository: raspi/GoWebBoilerplate

repo_name: raspi/GoWebBoilerplate


text:
This project was bootstrapped with [Create React App](https://github.com/facebookincubator/create-react-app).

Below you will find some information on how to perform common tasks.<br>
You can find the most recent version of this guide [here](https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md).

Specification.COMMENT
## Introduction

This app is to show integration of react with boostrap 2.3.2. It has some older elements that are not being used in the earlier apps.

## Running the app

### npm start

This will create the create-react-app server on port 3000 or whichever you specify.

Please kill any apps on port 3000 before running npm start

repository: shravan-motipally/dove

gha_language: JavaScript

repo_name: shravan-motipally/dove


text:
---
layout: default
---

OttoTheGeek is a library that helps you configure GraphQL types for use in your C# projects. It leverages [GraphQL .Net](https://graphql-dotnet.github.io/) under the hood and lets you use it exclusively, or mix-and-match with your existing GraphQL .Net code.

## Quick Start Guide

First, you'll need to install `OttoTheGeek` into your project:

```
> dotnet add package OttoTheGeek
```

Next, you'll need to define a class that inherits from `OttoModel<TQuery>`, where `TQuery` is the C# type that defines your root-level query object:

```csharp
public sealed class Query
{
    public Child Child { get; set; }
}

public sealed class Child
{
    public int AnInt { get; set; }
    public string AString { get; set; }
}

public sealed class Model : OttoModel<Query> {}
```
In this case, the `Query` type here only has a single scalar property of type `Child` called `Child`.

Next, you'll need to tell your model how to _resolve_ fields on your query type, which is what allows `OttoTheGeek` to actually return data for your GraphQL queries. In order to resolve a field, you define a resolver and register it for your field in your model:

```csharp
public sealed class Model : OttoModel<Query>
{
    protected override SchemaBuilder ConfigureSchema(SchemaBuilder builder)
    {
        return builder
            .GraphType<Query>(b =>
                b.LooseScalarField(x => x.Child)
                    .ResolvesVia<Resolver>()
        );
    }
}

public sealed class Resolver : ILooseScalarFieldResolver<Child>
{
    public Task<Child> Resolve()
    {
        return Task.FromResult(new Child {
            AnInt = 42,
            AString = "Hello World!"
        });
    }
}

```

There are a number of different kinds of [resolver interfaces](docs/ResolverInterfaces) that let you resolve nested fields, pass field arguments, etc.

*NOTE: You shouldn't need to define resolvers for your typical scalar value types (`int`, `string`, and so on).*

Next, let's run a query! here we're using `OttoServer` which is a built-in synchronous GraphQL server that's handy for writing automated tests and experimenting.

```cs
var server = new Model().CreateServer();

var result = server.Execute<string>(@"{
    child {
        anInt
        aString
    }
}");

result.Should().Be(JObject.Parse(@"{
    ""child"": {
        ""anInt"": 42,
        ""aString"": ""Hello World!""
    }
}").ToString());
```

For further reading:

* [Resolver Interfaces](docs/ResolverInterfaces.md)
* [Model Validation](docs/ModelValidation.md)
* [Field Arguments](docs/FieldArguments.md)
* [Configuring Each Type](docs/ConfiguringEachType.md)
* [Paging and Sorting](docs/Paging.md)
* [Authorization](docs/Authorization.md)
* [Mutations](docs/Mutations.md)
* [Managing Large Models](docs/ManagingLargeModels.md)
* [ASP.Net Core Sample](https://github.com/asemio/otto-the-geek/tree/master/OttoTheGeek.Sample)

repository: asemio/otto-the-geek

gha_language: C#

repo_name: asemio/otto-the-geek


text:
# Didymosphaeria squamarioides (Mudd) Sacc. & D. Sacc. SPECIES

#### Status
SYNONYM

#### According to
Index Fungorum

#### Published in
Syll. fung. (Abellini) 17: 681 (1905)

#### Original name
Sphaeria squamarioides Mudd

### Remarks
null

repository: mdoering/backbone

path: /life/Fungi/Ascomycota/Dothideomycetes/Pleosporales/Dacampiaceae/Polycoccum/Polycoccum squamarioides/ Syn. Didymosphaeria squamarioides/README.md

repo_name: mdoering/backbone


text:
---
---

# Simple Scheduler

The `SimpleScheduler` class implements a simplified master for time engines (see [`TimeEngine`](#audio-time-engine) or [`AudioTimeEngine`](#audio-audio-time-engine)) that implement the *scheduled* interface such as the [`Metronome`](#audio-metronome) and the [`GranularEngine`](#audio-granular-engine).
The API and funtionalities of the `SimpleScheduler` class are identical to the [`Scheduler`](#audio-scheduler) class. But, other than the `Scheduler`, the `SimpleScheduler` class does not guarantee the order of events (*i.e.* calls to the `advanceTime` method of scheduled time engines and to scheduled callback functions) within a scheduling period (see `period` attribute).

To get a unique instance of `SimpleScheduler` as the global scheduler of an application, the `getSimpleScheduler` factory function should be used. The function accepts an audio context as optional argument and uses the Waves default audio context (see [`Audio Context`](#audio-audio-context)) as default. The factory creates a single (simple) scheduler for each audio context.

## Usage

~~~
var wavesAudio = require('waves-audio');
var scheduler = wavesAudio.getSimpleScheduler();

scheduler.add(myEngine);
~~~

## Example

This example shows three [`Metronome`](#audio-metronome) engines running in a `SimpleScheduler`.

<a href="https://cdn.rawgit.com/wavesjs/audio/master/examples/simple-scheduler.html" target="_blank">
  https://cdn.rawgit.com/wavesjs/audio/master/examples/simple-scheduler.html
</a>


text:
# jetconfig
etcd based configuration for node.js

[![Build Status](https://travis-ci.org/shakefu/jetconfig.svg)](https://travis-ci.org/shakefu/jetconfig)

*jetconfig* has the following features:

* Namespace prefixes for configurations to allow individual apps or modules to
  operate using a single etcd cluster
* Configuration inheritance
* Synchronous and callbacks supported for most API methods
* In-process caching of configuration settings by default for best performance
* File-based caching of configuration for faster performance when up-to-date
  configuration is not required
* Cache-only operating mode for better performance
* Loading/dumping of entire configuration for backups or test configurations

Coming soon:

* Easy encryption for `jetconfig dump`

## Installation

jetconfig is on [npmjs.org](https://www.npmjs.com/package/jetconfig).

```bash
$ npm install --save jetconfig
```

Make sure you have [etcd](http://coreos.com/docs/etcd) running otherwise
jetconfig isn't going to do you a lot of good.

## Getting started

Without any other options, jetconfig will try to connect to an etcd instance
running on `<IP_ADDRESS>:2379` and use a namespace prefix of `config/`.

```javascript
var Config = require('jetconfig');

var conf = new Config();

// Load and locally cache the existing configuration from etcd
conf.load();

// Get a value from etcd
var my_setting = conf.get('app.setting');

// Get a value from etcd, but use the default if it doesn't exist
var defaults_allowed = conf.get('app.someSetting', 'default value');

// Write a new value to etcd
conf.set('some.setting.here', 'new value');

```

## Command Line Interface

See `jetconfig --help`.

If you don't have `./node_modules/.bin` on your `$PATH` you may want to install
the jetconfig module globally to make the command available.

```
$ jetconfig -h

Usage: jetconfig <command> [options]

command
  dump      Dump the current etcd configuration
  list      List all available etcd configurations
  clear     Clear the current etcd configuration
  load      Load a configuration from a file
  get       Get a configuration key
  set       Set a configuration key to a value

Options:
   --version       Print version and exit
   -n, --no-inherit   Prevent configuration inheritance
   -v, --verbose   Increase verbosity, can be used multiple times
```

## Environment Variables

When connecting to non-default hosts and ports using the CLI or for convenience
when using the API, you can configure *jetconfig* to connect using environment
variables.

The following variables are available:

* **`JETCONFIG_ETCD`** - Comma separated list of members in the etcd cluster,
  like `"<IP_ADDRESS>:2379,<IP_ADDRESS>:2379,<IP_ADDRESS>:2379"`
* **`JETCONFIG_SSL_CA`** - SSL CA certificate file if your etcd SSL setup uses
  a nonstandard root or intermediary
* **`JETCONFIG_SSL_CERT`** - SSL client certificate file
* **`JETCONFIG_SSL_KEY`** - SSL client key file
* **`JETCONFIG_LOGLEVEL`** - Set the log level for the jetconfig module
  (default: `'critical'`). Must be one of `'silly'`, `'debug'`, `'info'`,
  `'warn'` or `'critical'`.
* **`JETCONFIG_CACHE`** - Directory in which to store filesystem cache used in
  lieu of making requests to etcd... not recommend for production deployments
  where you want all your settings to stay up to date all time, but helpful in
  development when you have to restart your process often and the etcd
  roundtrip is too much overhead.
* **`JETCONFIG_PREFIX`** (Not Implemented) - Prefix for the configuration in
  etcd

**Example:**

Here's an example using the *jetconfig* CLI to connect to a production cluster.

```bash
$ export JETCONFIG_ETCD="<IP_ADDRESS>:2379,<IP_ADDRESS>:2379,<IP_ADDRESS>:2379"
$ export JETCONFIG_SSL_CA="/home/core/etcd/ca.crt"
$ export JETCONFIG_SSL_CERT="/home/core/etcd/client.crt"
$ export JETCONFIG_SSL_KEY="/home/core/etcd/client.key"
$ jetconfig dump /config
{
  "jetconfig.version": "1.2.1"
}
```

## Inheritance

One of the major features of *jetconfig* is the ability to inherit
configurations. This allows you to create child configurations that may only
alter one or two values from a parent configuration without having to copy and
maintain the entire group of settings.

##### Constructor-based inheritance

Inheritance is triggered in one of two ways, first, you can pass a string name
to the `inherit` option when creating an new `Config` instance. Below is an
example of this constructor-based inheritance:

```javascript
var parent = Config({
        prefix: 'config/parent',
    });

var child = Config({
        prefix: 'config/child',
        inherit: 'config/parent',
    });

// This is the base configuration, and it is inherited by the child
parent.load({
    'shared.key': true,
    'some.key': 'from parent'
});

// This is the more specific configuration and it uses values from the parent
// if it doesn't have the key defined itself, like the 'shared.key'
child.load({
    'some.key': 'from child'
});

child.get('shared.key'); // === true
child.get('some.key'); // === 'from child'
```

##### Key-based inheritance

The second way to trigger inheritance is to use a special key within the
configuration itself to specify the parent. By default, this will be
`'config.inherit'` but it can be changed with the `inheritKey` option to the
`Config()` constructor.

Here is how to key-based inheritance, continuing the example from above:

```javascript
var conf = Config({
        prefix: 'config/other'
    });

// By default, `inheritKey` will be 'config.inherit'
conf.load({
    'extra.key': 'inheritance, yey!',
    'config.inherit': 'config/child'
});

// If we set the inherit key on the `child` as well, we enable deep inheritance
child.set(conf.inheritKey, 'config/parent');

conf.get('shared.key') // === true
conf.get('some.key') // === 'from child'
conf.get('extra.key') // === 'inheritance, yey!'
```

Only the key-based inheritance allows for deep inheritance, and by default, the
max `inheritDepth` is set to 2, meaning a child configuration will only look as
far back as its grandparent to find a value for a given key. This may be set
arbitrarily high, but at some point will incur a fair amount of overhead.

## File-based caching

Jetconfig can use the filesystem to speed up loading of the configuration.

If jetconfig is using file-based caching, and the cache exists, it will not
read from etcd unless necessary (e.g. it does not have a cached copy of a key).

The file-based cache is read from when the `.load()` method is called.

**Note:** If you do not delete the `.json` file used for the cache, the
configuration will never be updated to reflect new settings in etcd. Cache
invalidation is hard. A future version of jetconfig may include automatic
invalidation.

TODO: Example and use cases.

## API Documentation

### `new Config(`*`[hosts], [options]`*`)`

Create a new jetconfig instance.

* **`hosts`** (*Array|String*) - A host or list of hosts to use for the etcd
  cluster. This may be a single host as a string, an array of host strings, or
  a string of comma-separated hosts. (default: `'<IP_ADDRESS>:2379'`)
  If `JETCONFIG_ETCD` is set in the Env, it will override whatever is passed
  here.
* **`options`** (*Object*) - Options object (optional)
  * **`cache`** (*Boolean*) - Whether to allow local caching to speed up
    performance (default: `true`). It's highly recommended that you leave this
    enabled, unless you specifically need realtime queries of etcd. Etcd is not
    super duper fast, so if you're using a lot of configuration keys in your
    application, disabling this cache could cause your application to grind to
    a halt.
  * **`prefix`** (*String*) - Namespace prefix for etcd (default: `'config/'`)
  * **`ssl`** (*Object*) - SSL options for etcd. See the [node-etcd SSL
    documentation](https://github.com/stianeikeland/node-etcd#ssl-support) for
    more information. These are not filenames, but the actual files already
    loaded.
    * **`ca`** - Certificate Authority
    * **`cert`** - Client certificate
    * **`key`** - Client key
  * **`logLevel`** (*String*) - Log level to use for this config instance
    (default: `'critical'`)
  * **`allowClear`** (*Boolean*) - Whether to allow the `.clear()` method on
    this instance (default: `false`)
  * **`caseSensitive`** (*Boolean*) - Whether to allow case sensitive keys
    (default: `false`). This will coerce keys to lower case for storage in
    etcd, so if you need case sensitivity to avoid key conflicts, enable it.
  * **`inherit`** (*String|Boolean*) - Whether to allow inheritance, or the key
    name to inherit from. (default: `true`)
  * **`inheritDepth`** (*Number*) - The maximum depth to check inherited
    configurations for missing keys (default: `1`)
  * **`inheritKey`** (*String*) - The configuration key name used to store the
    inherited configuration key (default: `'config.inherit'`)
  * **`fileCache`** (*String*) - Directory to use for filesystem cache.
    *jetconfig* will attempt to create this directory if it doesn't exist.
  * **`watch`** (*Boolean*) - Whether to watch for changes to the etcd
    configuration and update the cached configuration when changes happen
    (default: `false`) *New in 1.4.0.*

### `.get(key, `*`[def], [options], [callback]`*`)`

Get the current value for `key`.

If called synchronously, this method may throw exceptions if there are
underlying client errors.

* **`key`** (*String*) - Key name to retrieve
* **`def`** - Default value (optional)
* **`options`** (*Object*) - Options for this call (optional)
  * **`cached`** (*Boolean*) - Whether to use the configuration cache (default:
    `true`)
  * **`cacheResult`** (*Boolean*) - Whether to store the result in the cache
    (default: `true`)
  * **`cacheOnly`** (*Boolean*) - Whether to only use the cache and not query
    etcd if the cache doesn't have a value (default: `false`)
  * **`allowInherited`** (*Boolean*) - Whether to allow querying of inherited
    configurations (default: `true`)
* **`callback`** (*Function=*) - Callback (optional). If omitted, this method
  will return the value synchronously.

### `.set(key, value, `*`[options], [callback]`*`)`

Sets a value and writes it to etcd.

If called synchronously, this method may throw exceptions if there are
underlying client errors.

* **`key`** (*String*) - Key name to set
* **`value`** - Value to set
* **`options`** (*Object*) - Options for this call (optional)
  * **`cacheOnly`** (*Boolean*) - Whether to only write to the local cache and
    not etcd (default: `false`). If *cacheOnly* is *true* and the config
    instance does not have caching enabled, this will not set the value
    anywhere.
* **`callback`** (*Function=*) - Callback (optional)

### `.dump(`*`[options]`*`)`

Returns an object suitable for JSON serialization which represents a dump of
the current configuration as defined in etcd.

* **`options`** (*Object*) - Options for this call (optional)
  * **`allowInherited`** (*Boolean*) - Whether to allow inherited
    configurations (default: `true`)

### `.load(`*`[config], [options]`*`)`

Load the current configuration in etcd into the local cache.

If *config* is specified, it loads a configuration file, JSON string, or
JavaScript object into a configuration instance.

By default, the configuration is not written to etcd, and only loaded into the
configuration cache. Pass the option `cacheOnly: false` if you wish to write
the loaded configuration to etcd as well.

If *load* is called multiple times, by default, the subsequent loads will be
merged into the configuration cache. Specify the option `merge: false` if you
want to instead clear the cache first.

If this *Config* has a *fileCache* enabled, calling *load* will read that file,
if it exists, in lieu of reading the configuration from etcd.

When writing to etcd, the configuration will always be merged into the existing
etcd configuration, instead of being overwritten. If you wish to overwrite the
existing configuration, use `.clear()` first.

* **`config`** (*String|Object*) - Configuration filename, JSON string, or
  Object to load (optional)
* **`options`** (*Object*) - Options for loading the configuration
  * **`cacheOnly`** (*Boolean*) - Whether to only load it into cache or to
    write the loaded configuration to etcd (default: `true`)
  * **`merge`** (*Boolean*) - Whether to merge the existing cache with the
    newly loaded config, or clear it first
  * **`allowInherited`** (*Boolean*) - Whether to allow inherited
    configurations (default: `true`)

### `.list(`*`[key], [options]`*`)`

List all etcd directories under the config prefix and *key*. If *key* is
omitted, all directories under *prefix* are listed.

* **`key`** (*String*) - Key to list (optional)
* **`options`** (*Object*) - Options
  * **`dirOnly`** (*Boolean*) - List only directories (default: `true`)

### `.clear(`*`[options]`*`)`

Clears all the stored keys for the given config object in etcd. This must be
explicitly enabled by passing the `allowClear: true` option to the constructor.

* **`options`** (*Object*) - Additional options for clearing
  * **`cacheOnly`** (*Boolean*) - Whether to only clear the configuration cache
    (default: `false`)

### `.log.level(`*`[level]`*`)`

Set or get the current log level for the this instance.

Log level may be one of `'silly'`, `'debug'`, `'info'`, `'warn'`, or
`'critical'`. The default is `'critical'`.

This may also be set with the environment variable `JETCONFIG_LOGLEVEL=debug`.

* **`level`** (*String*) - Sets the log level. If this is omitted, the current
  level is returned as a string.

### `.client()`

Return a reference to the underlying *node-etcd* client instance.

### `.close()`

Stop watchers. Does not attempt to close other TCP connections.

## Changelog

* **1.4.1** - Fix watching non-JSON values causing an error.

* **1.4.0** - Add watch option and ability to update cached configuration when
  etcd changes. Also add close() method to ensure watchers are stopped.

  Going forward this repository will also use `npm version` tags, which include
  the leading `v` in the tag on GitHub.

  *Released June 2, 2016.*

* **1.3.7** - Fix bug where cacheOnly .get() calls would not return the
  supplied default value.

  *Released January 8, 2016.*

* **1.3.3** - Update README

* **1.3.1** - Better error handling

* **1.3.0** - Adds filesystem caching capabilities.

  *Released September 10, 2015.*

* **1.2.3** - Minor typo fix, and set the default `inheritDepth` to 2.

  *Released September 1, 2015.*

* **1.2.2**
  - Add `dirOnly` option to `.list()`
  - Add `-no-inherit` option to CLI

  *Released August 24, 2015.*

* **1.2.1** - Change default inheritance key to `'config.inherit'`.

* **1.2.0** - Add `.list()` and command line utility.

* **1.1.0** - Added configuration inheritance, other minor refactors and clean
  ups.

  *Released August 14, 2015.*

* **1.0.0** - Initital release

  *Released August 12, 2015.*

## License

Copyright 2015 Jacob Alheid

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.

repository: shakefu/jetconfig

repo_name: shakefu/jetconfig


text:
# AMGLanguageManager

[![CI Status](http://img.shields.io/travis/albert.montserrat.gambus<EMAIL_ADDRESS>[![Version](https://img.shields.io/cocoapods/v/AMGLanguageManager.svg?style=flat)](http://cocoapods.org/pods/AMGLanguageManager)
[![License](https://img.shields.io/cocoapods/l/AMGLanguageManager.svg?style=flat)](http://cocoapods.org/pods/AMGLanguageManager)
[![Platform](https://img.shields.io/cocoapods/p/AMGLanguageManager.svg?style=flat)](http://cocoapods.org/pods/AMGLanguageManager)

## Example

To initialize the singleton, just set the available languages in didFinishLaunching like this:

```
AMGLanguageManager.shared.initialize(withLanguages: ["en", "es"])
```

Then in code just

```
AMGLanguageManager.shared.localizedString(key: "str_key")
```

to retrieve the localized string.

You can also get localized resource path like this:

```
AMGLanguageManager.shared.localizedPath(forResource: "filename", ofType: "extension")
```

To change the language in any part of the app just set:

```
AMGLanguageManager.shared.setLanguage(name: "es")
```

You can use a String extension simply like this:

```
let localizedString = "key".amgLocalized()
```

## Requirements

## Installation

AMGLanguageManager is available through [CocoaPods](http://cocoapods.org). To install
it, simply add the following line to your Podfile:

```ruby
pod "AMGLanguageManager"
```

## Author

<EMAIL_ADDRESS>
## License

AMGLanguageManager is available under the MIT license. See the LICENSE file for more info.

repository: AlbertMontserrat/AMGLanguageManager

gha_language: Swift

repo_name: AlbertMontserrat/AMGLanguageManager


text:
# NaNoE.V2

This is the new version of NaNoE, more details available on: https://edg3.co.za/NaNoE.V2/

The main changes:
- Moved to C# WPF
- Added 'Bookmarks'
- Added 'Notes'
- Adjusted 'Helpers'
- Changed the editing entirely for ease of customisation
- Allowed flagging paragraphs for edit 'ignore'
- Allowed 'reset flags'

# Recommended Feedback

- Bugfixes
- New features that would be cool to have

# Steps Currently Needed

- Adjustments needed, found through testing

# Errors

- Note: need to my 'style.opt', need to work out how to bugfix


text:
# Temperature and Humidity server

## Quick Start

From parent directory, to view data coming back from the sensor:

```
npm install
node arduino/data.js
```

repository: AlanMartines/arduino-node-temp-humidity

repo_name: AlanMartines/arduino-node-temp-humidity


text:
# Delay Differential Equations

This tutorial will introduce you to the functionality for solving delay differential
equations. This tutorial assumes you have read the [Ordinary Differential Equations tutorial](ode_example.html).

Delay differential equations are equations which have a delayed argument. To allow
for specifying the delayed argument, the function definition for a delay differential
equation is expanded to include a history function `h(t)` which uses interpolations
throughout the solution's history to form a continuous extension of the solver's
past. The function signature for a delay differential equation is `f(t,u,h)` for
not in-place computations, and `f(t,u,h,du)` for in-place computations.

In this example we will solve [a model of breast cancer growth kinetics](http://www.nature.com/articles/srep02473):

```math
\begin{align}
dx_{0} &= \frac{v_{0}}{1+\beta_{0}\left(x_{2}(t-\tau)\right)^{2}}\left(p_{0}-q_{0}\right)x_{0}(t)-d_{0}x_{0}(t)\\
dx_{1} &= \frac{v_{0}}{1+\beta_{0}\left(x_{2}(t-\tau)\right)^{2}}\left(1-p_{0}+q_{0}\right)x_{0}(t)\\
       +& \frac{v_{1}}{1+\beta_{1}\left(x_{2}(t-\tau)\right)^{2}}\left(p_{1}-q_{1}\right)x_{1}(t)-d_{1}x_{1}(t)\\
dx_{2} &= \frac{v_{1}}{1+\beta_{1}\left(x_{2}(t-\tau)\right)^{2}}\left(1-p_{1}+q_{1}\right)x_{1}(t)-d_{2}x_{2}(t)
\end{align}
```

For this problem we note that ``\tau`` is constant, and thus we can use a method
which exploits this behavior. We first write out the equation using the appropriate
function signature. Most of the equation writing is the same, though we use the
history function by first interpolating and then choosing the components. Thus
the `i`th component at time `t-tau` is given by `h(t-tau)[i]`. Components with
no delays are written as in the ODE.

Thus, the function for this model is given by:

```julia
const p0 = 0.2; const q0 = 0.3; const v0 = 1; const d0 = 5
const p1 = 0.2; const q1 = 0.3; const v1 = 1; const d1 = 1
const d2 = 1; const beta0 = 1; const beta1 = 1; const tau = 1
function bc_model(t,u,h,du)
  du[1] = (v0/(1+beta0*(h(t-tau)[3]^2))) * (p0 - q0)*u[1] - d0*u[1]
  du[2] = (v0/(1+beta0*(h(t-tau)[3]^2))) * (1 - p0 + q0)*u[1] +
          (v1/(1+beta1*(h(t-tau)[3]^2))) * (p1 - q1)*u[2] - d1*u[2]
  du[3] = (v1/(1+beta1*(h(t-tau)[3]^2))) * (1 - p1 + q1)*u[2] - d2*u[3]
end
```

To use the constant lag model, we have to declare the lags. Here we will use `tau=1`.

```julia
lags = [tau]
```

Now we build a `ConstantLagDDEProblem`.  The signature is very similar to ODEs,
where we now have to give the lags and
an `h`. `h` is the history function, or a function that declares what the values
were before the time the model starts. Here we will assume that for all time before
`t0` the values were 1:

```julia
h(t) = ones(3)
```

We have `h` output a 3x1 vector since our differential equation is given by
a system of the same size. Next, we choose to solve on the timespan `(0.0,10.0)`
and create the problem type:

```julia
tspan = (0.0,10.0)
u0 = [1.0,1.0,1.0]
prob = ConstantLagDDEProblem(bc_model,h,u0,lags,tspan)
```

An efficient way to solve this problem (given the constant lags) is with the
MethodOfSteps solver. Through the magic that is Julia, it translates an OrdinaryDiffEq.jl
ODE solver method into a method for delay differential equations which is highly
efficient due to sweet compiler magic. A good choice is the order 5 `Tsit5()`
method:

```julia
alg = MethodOfSteps(Tsit5())
```

For lower tolerance solving, one can use the `BS3()` algorithm to good effect (this
combination is similar to the MATLAB `dde23`), and
for high tolerances the `DP8()` algorithm will give an 8th order solution. Note
that the Verner methods will not work here due to their lazy interpolation scheme.

To solve the problem with this algorithm, we do the same thing we'd do with other
methods on the common interface:

```julia
sol = solve(prob,alg)
```

Note that everything available to OrdinaryDiffEq.jl can be used here, including
event handling and other callbacks. The solution object has the same interface
as for ODEs. For example, we can use the same plot recipes to view the results:

```julia
using Plots; plot(sol)
```

![DDE Example Plot](../assets/dde_example_plot.png)

### State-Dependent Delays

State-dependent delays are problems where the delay is allowed to be a function
of the current state. To do this in DifferentialEquations.jl, one simply writes
it in the natural manner `h(g(t,u))` where `g` is the lag function. As before,
you must declare the lag functions to the solver. Other than that, everything
else is the same, where one instead constructs a `DDEProblem` type:

```julia
prob = DDEProblem(f,h,u0,lags,tspan)
```

and solves that using the common interface.

However, currently there are no good algorithms for this. The developers are
working on a defect control method which will give good quality results
and have strict error bounds.


text:
# **BoNet**
**¡We released a new version of the Bone Age Assessment Resources!**

**Follow this [link](http://marr.uniandes.edu.co/baar/home) to find the updated webpage with new methods, curated datasets and an evaluation server with a public leaderboard for fair comparison of Bone Age Assessment algorithms.**

This repository provides a PyTorch implementation of BoNet, presented in the paper [Hand Pose Estimation for Pediatric Bone Age Assessment](https://link.springer.com/chapter/10.1007%2F978-3-030-32226-7_59). Oral presentation at [MICCAI,2019](https://www.miccai2019.org/). BoNet leverages local information and significantly outperforms state-of-the-art methods in Bone Age Assessment (BAA). We propose a new experimental framework with hand detection and hand pose estimation as new tasks to extract local information for BAA methods. We also introduce the Radiological Hand Pose Estimation (RHPE) dataset. Thanks to its fine-grained and precisely localized annotations, our dataset will allow to exploit local information to push forward automated BAA algorithms. To ensure reproducibility of our results and to promote further research on
BAA we created the [Bone Age Assessment Resources (BAAR)](http://marr.uniandes.edu.co/baar/home).

## Bone Age Assessment Resources
We created the [Bone Age Assessment Resources (BAAR)](http://marr.uniandes.edu.co/baar/home) as a platform for promoting the development of BAA algorithms. In the BAAR you can download the RSNA and RHPE [datasets](http://marr.uniandes.edu.co/baar/dataset) with keypoints, bounding box and boneage annotations for the training and validation sets. Additionally, you can explore an overview of the [methods](http://marr.uniandes.edu.co/baar/methods) BCV has developed for this task. Finally, the BAAR include an [evaluation server](http://marr.uniandes.edu.co/baar/evaluation) and a public [leaderboard](http://marr.uniandes.edu.co/baar/leaderboard) for the test set of RHPE and RSNA.
## Paper
[Hand Pose Estimation for Pediatric Bone Age Assessment](https://link.springer.com/chapter/10.1007%2F978-3-030-32226-7_59)

[María Escobar](https://mc-escobar11.github.io/) 1* , [Cristina González](https://cigonzalez.github.io/) 1* , [Felipe Torres](https://ftorres11.github.io/) 1,[Laura Daza](https://sites.google.com/view/ldaza/en)1, [Gustavo Triana](http://radiologiafsfb.org/site/index.php?option=com_content&view=category&id=176&Itemid=332)2, [Pablo Arbeláez](https://scholar.google.com.co/citations?user=k0nZO90AAAAJ&hl=en)1

*Equal contribution.

1 Biomedical Computer Vision ([BCV](https://biomedicalcomputervision.uniandes.edu.co/)) Lab, Universidad de Los Andes.

2 Radiology department, Fundación Santa Fe de Bogotá.

## Dependencies
* Pytorch 1.2.0
* Pandas 0.24.2
* Horovod 0.18.0
* Tqdm 4.32.1
* Scipy 1.3.0

## Usage
### Cloning the repository
```bash
$ git clone https://github.com/BCV-Uniandes/Bonet.git
$ cd Bonet
```
### Train setup:
Modify the routes in train_net.sh according to your local paths.
```bash
bash train_net.sh
```
### Test setup:
Modify the routes in test_net.sh according to your local paths.
```bash
bash test_net.sh
```
## Citation
```
@inproceedings{escobar2019hand,
  title={Hand Pose Estimation for Pediatric Bone Age Assessment},
  author={Escobar, Mar{\'\i}a and Gonz{\'a}lez, Cristina and Torres, Felipe and Daza, Laura and Triana, Gustavo and Arbel{\'a}ez, Pablo},
  booktitle={International Conference on Medical Image Computing and Computer-Assisted Intervention},
  pages={531--539},
  year={2019},
  organization={Springer}
}

```

repository: nichakornchaisuwan/Bonet

repo_name: nichakornchaisuwan/Bonet


text:
# cheers_take_two
The ruby cheers exercise (see: bdfinlayson/ruby-cheers), this time three weeks into learning Ruby, with tests!

## Instructions

## Specifications, for non-interactive version of cheers
(How the program works)

Start the program by running `./cheers.rb Abby 08/25`

The first argument is the user's name. The second argument is the user's birthday.

The program outputs a cheer in the following format:

> Give me an... A

> Give me a... B

> Give me a... B

> Give me a... Y

> ABBY’s just GRAND!

* Should follow the proper grammatical rules for “a” vs. “an”, based on whether the first letter of the name is a vowel.
* Ignore all special characters (i.e. non-word characters) when printing the cheer (e.g., "Give me a...")
* Print the user's name out as it was originally inputted for the "just GRAND" line

If there was no input, the program would instead print out:

> I'd cheer for you, if only I knew who you were :(

> Try again with `./cheers [Name] [MM/DD Birthday]`

After printing out the user's cheer, the program asks:

> Hey, Bryan, what's your birthday? (mm/dd)

The user types in their birthdate

> 08/25

* If there was no input, asks again until valid input is provided
* If there was input that couldn't be parsed, the program prompts:

> I couldn't understand that. Could you give that to me in mm/dd format?

The proram then outputs the number of days until the user's birthday

> Awesome! Your birthday is in 45 days! Happy Birthday in advance!

## Specifications, for interactive part
(How the program works)

Start the program by running `./cheers.rb`

The program should ask:

> Hello, what is your name?

The user types in their name, for example:

> Bryan

The program outputs a cheer in the following format:

> Give me an... A

> Give me a... B

> Give me a... B

> Give me a... Y

> ABBY’s just GRAND!

> When given the input of “Abby”.

* Should follow the proper grammatical rules for “a” vs. “an”.
* Ignore all special characters (i.e. non-word characters) when printing the cheer (e.g., "Give me a...")
* Print the user's name out as it was originally inputted for the "just GRAND" line
* If there was no input, ask for the user's name again

After printing out the user's cheer, the program asks:

> Hey, Bryan, what's your birthday? (mm/dd)

The user types in their birthdate

> 08/25

* If there was no input, asks again until valid input is provided
* If there was input that couldn't be parsed, the program prompts:

> I couldn't understand that. Could you give that to me in mm/dd format?

The proram then outputs the number of days until the user's birthday

> Awesome! Your birthday is in 45 days! Happy Birthday in advance!


text:
Trillian
========

Trillian is a project whose aim is to bridge the gap between astrophysical models and the vast amount of publicly available astronomical data.

Its principle features include:

 * a distributed data scheme
 * distributed computation
 * integrated API access to disparate data

##Mozilla Science Sprint
Much of the open data conversation focuses on distributing data - how to make data easily available for local replication.  But, some fields have datasets that are so enormous, transferring and storing additional copies for every user is prohibitively expensive and slow.  Instead, we'd like to explore distributed *analysis* - pushing analysis scripts to the data, rather than pulling the data to us.  The experiments on CERN's LHC set a very successful precedent for this model at the largest scale; one of Trillian's early goals is to achieve this functionality with much lower infrastructural overhead.

For the sprint, we'd like to start exploring a basic Python implementation of a distributed analysis framework.  Our core goals are:

 - Resolve which of a list of hosts are eligible to run a job, based on data availability
 - send a Python script to an eligible host for execution
 - return the analysis result to the initiating user.

Stretch goals include:

 - An exploration of security implications and procedures; how do we mitigate the risk of malicious code being executed on the analysis hosts?
 - Smart job queueing: beyond simple data availability, provide job allocation based on available processing power, connection speed, other variables.

At this stage, strategic advice from a python expert is as valuable as lines of code, so if you have ideas in this space, please start a conversation in the issue tracker!

repository: BillMills/trillian

repo_name: BillMills/trillian


text:
Contributing
--------------------

1. Fork it
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create new Pull Request

### How to run the tests:

- First install the dependencies
```bash
composer install
```

- Then you are ready to run the tests

```bash
vendor/bin/phpunit
```

### To check the code standard run:

The code will be checked against the the [PSR-2 code standard](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md).
It will also be checked with [PHP-CS-Fixer](https://github.com/fabpot/PHP-CS-Fixer)

```bash
vendor/bin/phpcs --standard=PSR2 lib
vendor/bin/phpcs --standard=PSR2 tests
vendor/bin/php-cs-fixer fix -v --dry-run tests
```

You can also automatically fix code standards by running:

```bash
vendor/bin/php-cs-fixer fix lib tests
```

repository: koinephp/StrongParameters

repo_name: koinephp/StrongParameters


text:
---
title: The 2012 Tyndale Biblical Symposium
date: 2012-02-04
category: WCST
---

Tyndale faculty and alumni will present results from their current research on Saturday, 4 Feb 2012, from 9:30am – 4:00pm. Registration is free.

Mary Conway
:   PhD Candidate, McMaster Divinity College; Lecturer, Tyndale Seminary
:   "'In the Eyes of Yahweh': The Role of Linguistic Evaluation Theory in Discerning Right from Wrong in OT Narrative"

Daniel Driver
:   Assistant Professor of Old Testament and Associate Dean, Tyndale University College
:   "Psalm 2 at Antioch: The Hermeneutics of a Christological Controversy"

Edward Ho
:   PhD Candidate, McMaster Divinity College; MDiv 2000, Tyndale Seminary
:   "Reconsidering the Arguments of Job's Three Friends in the First Cycle"

Rebecca Idestrom
:   Associate Professor of Old Testament, Tyndale Seminary
:   "God's Glory in the Book of Ezekiel"

John Kessler
:   Professor of Old Testament, Tyndale Seminary
:   "The Nature of the Relationship between Temple and Covenant in Haggai 1:1-15"

Benjamin Reynolds
:   Assistant Professor of New Testament, Tyndale University College
:   "The Otherworldly Mediators in 4 Ezra and 2 Baruch"

Ian Scott
:   Associate Professor of New Testament, Tyndale Seminary
:   "'On a Colt and a Donkey': Metaphor and History in Matthew's Gospel"

[Download the event flyer.](/img/pdf/BiblicalSymposiumPoster_2012.pdf)


text:
# StaticRaid
![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)

## Description

Social site for gamers that allows users to create and manage groups (raid teams) and manage schedules. End product hopes to bring a lot of functionality appealing to the gaming community.

## Table of Contents

* [Installation](#installation)

* [Usage](#usage)

* [License](#license)

* [Contributing](#contributing)

* [Tests](#tests)

* [Deployment](#deployment)

* [Questions](#questions)

## Installation

To install necessary dependencies, run the following command:

```
npm install
```

## Usage

Developing. End goal is run `npm run seed` to seed DB followed by `npm start`. App will be deployed on Heroku and link will be provided.

## License

This project is licensed under the MIT license.

## Credits

* [Claire Depotter](https://github.com/depotte6)

* [Cierra Marshall](https://github.com/Cialysse)

* [Alyssa Cowles](https://github.com/)

* [Jeff Korby](https://github.com/jeffkorby)

## Tests

To run tests, run the following command:

```
npm test
```

## Deployment

Deployed via Heroku at: [Static Raid](https://aqueous-inlet-60686.herokuapp.com/)

## Questions

If you have any questions about the repo, open an issue or contact me directly at<EMAIL_ADDRESS>You can find more of my work at [shiel1dm](https://github.com/shiel1dm/).

branch_name: refs/heads/main


text:
# bar-chart
Create bar charts in Unity

This Unity project can be used to display data as a horizontal stacked bar chart.

Add your data to data.csv (in the Assets folder)

repository: sophiaaar/bar-chart

repo_name: sophiaaar/bar-chart


text:
# three-controls
ThreeJS controls as standalone

# how to use

## install

```javscript
npm install three-controls --save
```

## use

```javascript
import * as ThreeControls from 'three-controls'

let orbit = new ThreeControls.OrbitControls(camera, domElement)

function render() {
  orbit.update()
  renderer.render(scene, camera)
  requestAnimationFrame(render)
}
```

or you can use like this

```javascript
import {OrbitControls} from 'three-controls'

let orbit = new OrbitControls(camera, domElement)

function render() {
  orbit.update()
  renderer.render(scene, camera)
  requestAnimationFrame(render)
}
```

repository: huangfengya/three-controls

repo_name: huangfengya/three-controls


text:
[![Build Status](https://travis-ci.org/zendesk/resque-durable.png)](https://travis-ci.org/zendesk/resque-durable)
[![Dependencies](http://orgdeps.herokuapp.com/organizations/zendesk/repositories/resque-durable.svg?token=7f2805e330f6932a1754278d4161fe3f)](http://orgdeps.herokuapp.com/organizations/zendesk/repositories#resque-durable)

# What's this?

Resque/Durable allows important jobs to survive when a encountering a failure with Redis or the system in general.
It does this by adding traditional database-backed audits for durable jobs enqueued in Resque.

When an audited job isn't marked as complete after a certain amount of time (10 minutes by default),
it's considered failed, and will be re-enqueued with exponential backoff until it succeeds or is removed.

# Usage

See /examples

### Re-enqueuing gracefully

To re-enqueue the job gracefully, and without waiting for the the audit failure timeout, call the `requeue_immediately!` class method at any point while performing the job (usually at or close to the end).

Resque/Durable will not mark the job as complete. Instead, it will mark the job as failed and reset the exponential backoff. The background durable monitor will then re-enqueue the job as described above.

A common use case for this would be to gracefully stop a long-running job for a worker restart, and retry the job as soon as possible after the worker restart.

# When things go wrong

Audits stick around, and will be retried, until completed or expired by the monitoring script (expiration is configurable).
Due to the backoff delay, a typical job won't be retried more than 10 times in 24 hours, or 20 times in a week.

If a queue becomes backed up for too long, jobs may become double enqueued.
The first enqueued job will mark the audit as complete, and the second version of the job won't be worked on.
This strategy greatly reduces the possibility, but doesn't gaurentee, the same job isn't performed twice.

# License
MIT


text:
---
layout: course
categories: courses
maintitle: Computation and Visualization for Analytics
class: course
title: IE6600 • Fall 2021 • Northeastern University • Boston
image: neu.png
nav: IE6600
description: IE6600 covers basic of the R, and R Shiny for data preprocessing, and visualization. It introduces students to static and interactive visualization, dashboard, and platform that reveal information, patterns, interactions, and comparisons by paying attention to details such as color encoding, a shape selection, spatial layout, and annotation.
---

IE6600 covers basic of the R, and R Shiny for data preprocessing, and visualization. It introduces students to static and interactive visualization, dashboard, and platform that reveal information, patterns, interactions, and comparisons by paying attention to details such as color encoding, a shape selection, spatial layout, and annotation. Based on these fundamentals of analytical and creative thinking, the course then focuses on data visualization techniques and the use of the most current popular software tools that support data exploration, analytics-based storytelling and knowledge discovery, and decision-making in engineering, healthcare operations, manufacturing, and related applications.

***

- **Class:** Wed 06:00pm – 09:30pm (ET)
- **Location:** Robinson Hall 409
- **Dates:** 09/08/2020 – 12/18/2021
- **Administration:** Class/HW/project questions, discussion or assignments will be only posted via Canvas
- **HW submission:** [Canvas](https://canvas.northeastern.edu/){:target="\_blank"}

***

  {% for instructor in site.data.staff_bos_fa21.instructor %}

{{ instructor.title }} {{ instructor.name }}

Email:

Office hours: {{ instructor.office-hours }}

  {% endfor %}

***

  {% for instructor in site.data.staff_bos_fa21.guest %}

{{ instructor.title }}

{{ instructor.name }}

Title: {{ instructor.title2 }}

Expertise: {{ instructor.expertise }}

  {% endfor %}

***

#### Table of contents
* (The list will be replaced with the table of contents.)
{:toc}

***
### Course goals

This section of IE6600 follows the [flipped classroom model](https://en.wikipedia.org/wiki/Flipped_classroom){:target="\_blank"}, and delivers all course materials online via Canvas. The schedule below shows the due dates for all modules.

R For Data Science, Wickham, Hadley, and Garrett Grolemund

***

### Textbooks

The required textbook:
- [R For Data Science](https://r4ds.had.co.nz/){:target="\_blank"} (**R4DS**), Wickham, Hadley, and Garrett Grolemund

The required tutorials:
- [Shiny tutorial](https://shiny.rstudio.com/tutorial/){:target="\_blank"}, R Shiny
- [Tableau Public Knowledge Base](http://kb.tableau.com/){:target="\_blank"}, Tableau
- [Tableau Public training videos](http://www.tableausoftware.com/public/training), Tableau.

Additional textbooks:
- [R For Everyone](https://onesearch.library.northeastern.edu/permalink/f/365rt0/NEU_ALMA51284955070001401){:target="\_blank"} (**R4E**), Lander, Jared P.
- [R Markdown](https://bookdown.org/yihui/rmarkdown/){:target="\_blank"} (**RMD**), Xie, Yihui, et al.

***

### R-related Materials

- [R Graphics Cookbook](https://r-graphics.org/){:target="\_blank"} (**RGC**), Chang, Winston.
- [Advanced R](http://adv-r.had.co.nz/){:target="\_blank"} (**ADR**), Wickham, Hadley.
- [R Packages](http://r-pkgs.had.co.nz/){:target="\_blank"}  (**RPK**), Wickham, Hadley.
- [Text Mining with R](https://www.tidytextmining.com/){:target="\_blank"} (**TM**), Silge, Julia, and David Robinson.

***

### Policies

Please post questions, or discussion only via Canvas. The visibility of questions and discussion are expected to set for public view (**to the Entire class on Canvas**). Please feel free to send instructor/TAs emails regarding any personal or other private issues/concerns.

Plagiarism, cheating, and any form of unauthorized collaboration will not be tolerated and will be handled in accordance with University policies described in the Student Handbook. For additional information on Northeastern University’s [Academic Integrity Policy](http://www.northeastern.edu/osccr/academic-integrity-policy/){:target="\_blank"}

Northeastern University strictly prohibits discrimination or harassment on the basis of race, color, religion, religious creed, genetic information, sex, gender identity, sexual orientation, age, national origin, ancestry, veteran, or disability status. Please review [Northeastern’s Title IX policy](https://www.northeastern.edu/ouec/){:target="\_blank"}, which protects individuals from sex or gender-based discrimination, including discrimination based on gender-identity. Faculty members are required to report all allegations of sex/gender-based discrimination to the Title IX coordinator.

***

### COVID-19

All students, faculty, staff, and vendors across Northeastern’s network of global campuses will be required to wear masks indoors. Northeastern’s indoor mask mandate will take effect on Friday, August 27 on the Boston campus. Each campus will continue to stay aligned with local guidance, and all campuses will resume indoor mask wearing no later than September 6.

Also, feel free to check out the latest on-campus COVID policy, please revew [COVID-19 FALL DEADLINES AND CHECKLIST](https://news.northeastern.edu/coronavirus/university-messages/covid-19-fall-deadlines-and-checklist/)

***

### Accommodations for Students with Disabilities

If you have a disability, I encourage you to contact [Disability Resource Center](http://www.northeastern.edu/drc/about-the-drc/){:target="\_blank"} to register and request the accommodations. Also please discuss your needs with me as early in the semester as possible.

***

### Take care of yourself

Eating healthy food, having regular exercises, avoiding alcohol and drugs, getting adequate sleep and taking time to relax. This will help you achieve your goals and tame stress.

If you have difficulty to keep up with any materials or homework for personal reasons please let me know early. If you or your friends/classmates who appears to be struggling, or having trouble coping with stress. We strongly encourage you to seek support at the [We Care](https://studentlife.northeastern.edu/we-care/){:target="\_blank"} program at NEU. At Northeastern, a student is never alone when struggling with a demanding situation.

***
### homework
There are 6 individual homework assignments. Due day will be posted with the homework. Late submission would not be accepted. Please let me know 72 hours in advance before the due day if you need extensions with a reasonable justification.
Requests for regrades in writing will only be accepted no less than 10 days after receiving grade. Please send the instructor your NUID, and name with title “Request for regrade: HW+number” via email. The new grade may be lower than the original one.

Please feel free to refer to any materials from my slides. You may discuss homework with your classmates, but all the assignments are supposed to completed by your own. Sharing of completed solutions will not be tolerated. Plagiarism will be considered, if solutions and project documentations with a very high degree of similarity with other student’s or materials online. Such academic dishonesty will be handled in accordance with university policies.

***
### Projects
More details will be posted later in the semester.

***

### Course Evaluation

- Homework **42%**
-	Final Project **50%**
    - Proposal	10%
    - Presentation	40%
-	Class Participation	**8%**

*This course does not have any quizzes or exams.*

***

### Schedule
(subject to change)

{% include schedule.html %}


text:
vagrant-docker-python3.4
========================

**WARNING: This works wonderfully except for the minor issue of data not being saved :) This issue should soon be resolved by [boot2docker pull #534](https://github.com/boot2docker/boot2docker/pull/534) (and its propogation to Vagrant's boot2docker image).**

Python 3.4 isolated development environment using Docker in Vagrant.


text:
# crystal-wasm-tools
Tools for compiling Crystal dependencies, bindings, etc. for use with WASM

I'm currently working on targeting wasm32-wasi for Crystal. This keeps the focus
rather narrow on things that are supported w/ roughly mainline LLVM. Initially,
I focused on emscripten, but decided I didn't want to invest the effort getting
super into the Emscripten internals, tools, etc.

## Setting up prerequisites

0. Make sure you've installed autoconf, automake, build-essential, etc.
1. `mkdir -p ~/toolchains/crystal-wasm-libs/targets/wasm32-wasi`
2. Download [latest release of wasi-sdk](https://github.com/WebAssembly/wasi-sdk/releases)
3. Extract to `~/toolchains`. The resulting directory shoud be something like `~/toolchains/wasi-sdk-10.0`
4. Run (and/or add to your shell): `export WASI_SDK_PATH="$HOME/toolchains/wasi-sdk-10.0`
5. Install [WAVM](https://github.com/WAVM/WAVM)

### Compiling libpcre for wasm

I have a copy of libpcre w/ some minor changes to support building for WASI. The
PR is here: https://github.com/maxfierke/libpcre/pull/1

For building Crystal programs for wasm32-wasi, we'll need a compiled version of
libpcre for the platform. Luckily, libpcre is super easy to compile for wasm32-wasi.

1. Clone my fork of libpcre:
   ```sh
   git clone git@github.com:maxfierke/libpcre.git -b mf-wasm32-wasi-cross-compile
   ```
2. `cd libpcre`
3. Run `./build_for_crystal.sh`. This should compile successfully and place the
   compiled `.a` static library in `targets/wasm32-wasi`
4. `cp targets/wasm32-wasi/*.a ~/toolchains/crystal-wasm-libs/targets/wasm32-wasi`

## Compiling Crystal for wasm

I have a fork of crystal with a small-level of support for wasm32-wasi. It can
compile for it, and simple binaries can execute in WAVM.

0. Follow usual instructions for [installing Crystal on your platform](https://crystal-lang.org/install/). You may need
   to also [install some additional packages](https://github.com/crystal-lang/crystal/wiki/All-required-libraries)
   for your platform.
1. Run `git clone git@github.com:maxfierke/crystal.git -b mf-spike_wasm_take_two crystal-wasm`
2. `cd crystal-wasm`
3. `make clean && make` to compile the compiler
4. Run `spec/run_wasm_spec.sh` to run the full spec suite

You can use `spec/run_wasm_spec.sh` as a basis for how to cross-compile programs
for wasm.

## Caveats

* This is _very_, _very_ rough. Many APIs are not supported at all (e.g.
  most IO, signals, sockets, Process, GC, concurrency, OpenSSL, Zlib, Big, etc.)
* There is **no support for exceptions**. This is mostly due to a limitation
  WebAssembly itself. The exception handling proposal is still in development.
  Some runtimes have varying levels of support for it, but the codegen from LLVM
  requires LLVM master, isn't supported in wasi-sdk, etc. As a result, any code
  that throws exceptions will crash (if it throws). This alone _severely_ limits
  use of Crystal on wasm, as a lot of code relies on exception handling, including
  parts of the stdlib.
* There are [strange require order dependencies I don't understand](https://github.com/maxfierke/crystal/commit/56a6a148853ef26f52c0ebfd7cfe08887ec9e88f)

## Future Plans

* Add support for some polling-based stuff using `poll_oneoff`

* Add support for stuff that uses libgmp. should unblock a few specs.

* Add support for stuff that uses OpenSSL. [Prior work](https://github.com/wapm-packages/OpenSSL) shows
  that OpenSSL can be compiled in some form for wasm. None of the networking APIs
  or things that use signals, but appears the crypto side might work out okay.

* Add support for stuff that uses zlib. Likely similar story as libpcre or openssl.
  zlib shouldn't depend on too many unsupported libc APIs.

* Add support for emulated mman and emulated signals. Maybe this'll help?

* Add support for bohem gc. theoretically it has been compiled for asm.js and w/
  emscripten. remains to be seen if there's enough there for wasi

repository: maxfierke/crystal-wasm-tools

repo_name: maxfierke/crystal-wasm-tools


text:
# tcdd

tcdd is useful cd command under tmux environment. This shell script inspired by [cdd (useful zsh script)](https://secon.dev/entry/20080218/1203303528/).

## Require
- bash or zsh
- sed, grep, sort

## Installation
### Manually
```console
$ git clone git://github.com/hogelog/tcdd.git
$ cp tcdd/tcdd some/bin/
$ echo 'eval $(tcdd init)' >> ~/.bash_profile
```

### Homebrew
```console
$ brew install hogelog/tap/tcdd
$ echo 'eval $(tcdd init)' >> ~/.bash_profile
```

## Usage
- `cdd` or `cdd list`: Show list
- `cdd <name>`: Change to named directory
- `cdd add <name>`: Add name

# Known issues
- tcdd override **cd** command, so it cannot install with any other tools that overrides cd (like a RVM)

repository: hogelog/tcdd

repo_name: hogelog/tcdd


text:
# Check Hacked Pass Extension (5K or 100K)
================================

This plugin prevents passwords that are found on the top 5K or 100K hacked passwords list. This list was released by Britain’s National Cyber Security Center (NCSC) in collaboration with the Have I Been Pwned website.
Hacware, Inc. www.hacware.com created this extension to prevent the signin and signup process from allowing end-users from using these passwords.

## Pre Reqs
Pre Reqs - jQuery Validation Plugin - v1.19.1 or later.
Go to https://jqueryvalidation.org/ or find the entire forked project is here: https://github.com/Hacware-Inc/jquery-validation

There is also a checkHackedPass5K-func.js that is a function and does not require JQuery.

## Getting Started
To Install in HTML webpage, do the following:
```html
<form>
	<input required>
</form>
<script src="jquery.js"></script>
<script src="jquery.validate.js"></script>

<script src="checkHackedPass.js"></script>
OR
<script src="checkHackedPass5K.js"></script>

<script>
    $("form").validate({
          rules: {
            password: {
                required: true,
                CheckPasswordBanned: true
            },

            loginUserName: {
                required: true
            }
        }});
</script>
```
## Product Road Map for 2020
Here are the known issues and improvements that we are planning to address:
* Reduce the size of the checkHackedPass.js (see 5K.js)
* Add NPM installation capabilities
* Create a separate function for other Front End programming languages like React Native
* Create a validator that checks APIs for Hacked Credentials
* Make validator configurable to display a warning vs banning
* Make validator configurable to select top X hacked passwords vs 100K
Thank you for all of the great feedback and our team is planning to release these updates as soon as possible.

## License
Copyright © 2020 Hacware, Inc.<br>
Licensed under the MIT license.

repository: Hacware-Inc/checkHackedPassExtension

repo_name: Hacware-Inc/checkHackedPassExtension


text:
# Add Binary

Given two binary strings, return their sum (also a binary string).

The input strings are both **non-empty** and contains only characters `1` or
`0`.

**Example 1:**

Input: a = "11", b = "1"
Output: "100"

**Example 2:**

Input: a = "1010", b = "1011"
Output: "10101"

**Constraints:**

* Each string consists only of `'0'` or `'1'` characters.
* `1 <= a.length, b.length <= 10^4`
* Each string is either `"0"` or doesn't contain any leading zero.

[The problem on leetcode.com](https://leetcode.com/problems/add-binary)

## Solution

```scala
object Solution {
    def addBinary(a: String, b: String): String = {
        val len = Math.max(a.length, b.length)
        val x = a.reverse + ("0" * (len - a.length))
        val y = b.reverse + ("0" * (len - b.length))
        val (r, o) = (x lazyZip y).foldLeft(("", '0')) {
            case ((a, c1), (c2, c3)) => {
                val sum = List(c1, c2, c3).count(_ == '1')
                (a + (sum % 2).toString, ('0' + (sum / 2)).toChar)
            }
        }
        (if (o == '0') r else r + "1").reverse
    }
}
```

repository: dantonyuk/leetcode-problems

repo_name: dantonyuk/leetcode-problems


text:
(It's not tested yet, since I don't own any 32-Bit Debian. But it SHOULD work. If you tried it, please contact me.)

# Install
`$ sudo apt-get install wget`

`$ wget -O brackets.deb https://github.com/xpfi/brackets-debian-8-jessie-32bit/releases/download/1.3.0-16022/brackets32deb.deb`

`$ sudo dpkg -i brackets.deb`


text:
---
title: "Creating database tables for built-in models"
lang: en
layout: page
keywords: LoopBack
tags:
sidebar: lb2_sidebar
permalink: /doc/en/lb2/Creating-database-tables-for-built-in-models.html
summary:
---

LoopBack applications come with a small set of [built-in models](Using-built-in-models.html).
To create database tables for these models, follow the general procedure for
[creating a database schema from models](Creating-a-database-schema-from-models.html) using _auto-migration_.

{% include important.html content="
If the database has existing tables, running `automigrate()` will drop and re-create the tables and thus may lead to loss of data.
To avoid this problem use `autoupdate()`.
See [Creating a database schema from models](Creating-a-database-schema-from-models.html) for more information.
" %}

To create tables for LoopBack [built-in models](Using-built-in-models.html), follow this procedure:

1.  Follow the basic procedure in [Attaching models to data sources](Attaching-models-to-data-sources.html)
    to change from the in-memory data source to the  database you want to use.

2.  Create `server/create-lb-tables.js` file with the following:

    ```javascript
    var server = require('./server');
    var ds = server.dataSources.db;
    var lbTables = ['User', 'AccessToken', 'ACL', 'RoleMapping', 'Role'];
    ds.automigrate(lbTables, function(er) {
      if (er) throw er;
      console.log('Loopback tables [' - lbTables - '] created in ', ds.adapter.name);
      ds.disconnect();
    });
    ```

3.  Run the script manually:

    ```shell
    $ cd server
    $ node create-lb-tables.js
    ```

gha_license_id: NOASSERTION


text:
# UnityAndroidSpeechRecognizer 🗣
*Created by Eric Batlle Clavero*

 A simple **Android App** made with **Unity** that implements a **Speech Recognizer** using Android native recognizer.

**Without** the annoying **pop-up** and the option to keep the app **listening indefinitely**, not just once.

This repository is divided in 2 parts:

- Unity Project (**C#**)
- Android Plugin (**Java**)

## Example 🎬

*In this image it is possible to see multiple results appearing on the panel after speaking to the device "continuous text speech". *

## Donations are appreciated! 💸
*Remember that are many ways to say thank you.*

If this plugin has been helpful remember to star the repository and consider buying me a coffee! 😀

If you like my general work and contributions consider [sponsoring me on Github](https://github.com/sponsors/EricBatlle).

But if you just want to donate straightforward, I also have [PayPal.me](https://paypal.me/EricBatlleClavero?locale.x=es_ES).

## How to Install :hammer_and_wrench:

- If you want to install the the app, you can download the APK from [here](https://github.com/EricBatlle/UnityAndroidSpeechRecognizer/releases/download/v1.3/SpeechRecognizer_1.3.apk).

- If you want to install the whole project and check the code, you need to have **Unity** and **AndroidStudio** installed and updated.

- If you want to install only the few files to make the plugin work and don't want the whole project, you only need to import the package **SpeechRecognizer_pckg** located inside ``UnitySpeechRecognizer/Assets/``. To import it simply drag and drop the file in your current Unity project. Remember that you can also download the package without cloning the project, simply clicking this [link](https://github.com/EricBatlle/UnityAndroidSpeechRecognizer/raw/v1.3.support/UnitySpeechRecognizer/Assets/SpeechRecognizer_pckg.unitypackage).

## How to Use ⚙

#### How to use the Demo:
- Functionality is simple, just press the **Start Listening button** and talk to your device to check the results!
- If you want to enable/disable continuous listening mode simply press the **Continous Listening checkmark**.
- You can also stop the current recongizer by pressing the **Stop Listening button**.
- Set the language of the recognizer or the maximum results you want that the recognizer retrieves.

#### How to use the Plugin:

To call the plugin you first need  a variable to reference it:
```csharp
private SpeechRecognizerPlugin plugin = null;
```
Then you have to create a new platform-specific instance by calling:
```csharp
plugin = SpeechRecognizerPlugin.GetPlatformPluginVersion(this.gameObject.name);
```
Notice that ``this.gameObject.name`` is the name of the GameObject that will have the plugin callback methods to retrieve the recognition results and errors.
To create those callbacks you need to add and implement the Interface ```ISpeechRecognizerPlugin``` on the same GameObject. A common implementation of the interface will be:
```csharp
public void OnResult(string recognizedResult)
{
    char[] delimiterChars = { '~' };
    string[] results = recognizedResult.Split(delimiterChars);

    //Do something with the results
}

public void OnError(string recognizedError)
{
    ERROR error = (ERROR)int.Parse(recognizedError);
    switch (error)
    {
        case ERROR.UNKNOWN:
            Debug.Log("<b>ERROR: </b> Unknown");
            break;
        case ERROR.INVALID_LANGUAGE_FORMAT:
            Debug.Log("<b>ERROR: </b> Language format is not valid");
            break;
        default:
            break;
    }
}
```
From so on every time you want to call any plugin feature you only have to call it like any other object:

Do you want to start the recognition?
```csharp
plugin.StartListening();
```
Do you want to stop it?
```csharp
plugin.StopListening();
```
Do you want to start the recognition with continous recognition and specific language?
```csharp
plugin.StartListening(true, "es-ES");
```

#### How to scratch the code:
- To check **Unity** project, **open the project**, select **SpeechRecognizer** scene.
Either inside the unity project or simply dragging the **.cs** classes on your editor, you have to watch on to the classes located on ``UnitySpeechRecognizer/Assets/Scripts``.
- To check **Android Plugin** you can do it opening the solution with **AndroidStudio** or just drag the ``SpeechRecognizerFragment.java`` class located on ``UnitySpeechRecognizerPlugin\SpeechRecognizer\src\main\java\com\example\eric\unityspeechrecognizerplugin``

## Multiple plugins support 🔌
This plugin has been made following a **fragment-pattern** to avoid errors that can be derived from extending *UnityPlayerActivity*.

This way you can integrate this plugin with your projects even if they already have more plugins. **Truly pluggable**.

## Upgrading dependencies and choosing plugin version 📜
Keep in mind that the latest versions [v1.3](https://github.com/EricBatlle/UnityAndroidSpeechRecognizer/releases/tag/v1.3) and [v1.3.support](https://github.com/EricBatlle/UnityAndroidSpeechRecognizer/releases/tag/v1.3.support) of the plugin work with different android support libraries even if they have identical features.

- **[v1.3](https://github.com/EricBatlle/UnityAndroidSpeechRecognizer/releases/tag/v1.3)** works with **AndroidX** dependencies. That means that is targeting **Android 9** (API level 28).
- **[v1.3.support](https://github.com/EricBatlle/UnityAndroidSpeechRecognizer/releases/tag/v1.3.support)** works with **Support-v4** dependencies. That means that is targeting **Android 7** (API level 24).

### Why multiple versions and when to use each one?
Basically cause there are multiple plugins and SDK's out there that work with similar libraries or different API requirements.
If your other plugins and SDK's use API lvl 28 or above, choose [v1.3](https://github.com/EricBatlle/UnityAndroidSpeechRecognizer/releases/tag/v1.3) version.
If you need to target older devices (to a minimum of API level 24) choose [v1.3.support](https://github.com/EricBatlle/UnityAndroidSpeechRecognizer/releases/tag/v1.3.support) version.

## Controlled Exceptions 🚨
How to solve some of the most typical exceptions when trying to deal with multiple plugins

#### Duplicate class XXXXX found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:27.1.1)
This exceptions means that another of your project plugins is using a library (like androidX) that internally uses the same class as another library that is using the current plugin.
The easiest way to solve this problem is to remove one of the lib file (usually .aar) from one of the two plugins. Keep in mind that this is only valid in case that the erased library is using specific classes that exists in the prior one.
In case you have Player Service Resolver on your project you can also do "Delete Resolved Libraries" and "Resolve".

repository: EricBatlle/UnityAndroidSpeechRecognizer

repo_name: EricBatlle/UnityAndroidSpeechRecognizer


text:
# Digitalcollections Model

[![Javadocs](https://javadoc.io/badge/de.digitalcollections.model/dc-model-parent.svg)](https://javadoc.io/doc/de.digitalcollections.model/dc-model-parent)
[![Build Status](https://img.shields.io/travis/dbmdz/digitalcollections-model/master.svg)](https://travis-ci.org/dbmdz/digitalcollections-model)
[![Codecov](https://img.shields.io/codecov/c/github/dbmdz/digitalcollections-model/master.svg)](https://codecov.io/gh/dbmdz/digitalcollections-model)
[![License](https://img.shields.io/github/license/dbmdz/digitalcollections-model.svg)](LICENSE)
[![GitHub release](https://img.shields.io/github/release/dbmdz/digitalcollections-model.svg)](https://github.com/dbmdz/digitalcollections-model/releases)
[![Maven Central](https://img.shields.io/maven-central/v/de.digitalcollections.model/dc-model-parent.svg)](https://search.maven.org/search?q=a:dc-model-parent)

Java library containing Domain Object classes of the Digital Collection's and Digital Humanities ecosystem.
Primarily started from the needs for [GLAM](https://en.wikipedia.org/wiki/GLAM_%28industry_sector%29)s (Galleries, Libraries, Archives, Museums) but not restricted to it.

## Business Domain Model

The domain model follows the FRBR ([Functional Requirements for Bibliographic Records](https://en.wikipedia.org/wiki/Functional_Requirements_for_Bibliographic_Records)).
The model is not restricted to books but can handle all sort of creative works and their digital counterparts ("digital objects").

One core statement (taken from [Music Cataloging at Yale](https://web.library.yale.edu/cataloging/music/frbr-wemi-music)) is:

```
"A work is realized by an expression, which is embodied in a manifestation, which is exemplified by an item."
```

And the central object of interest of digital collections is the `DigitalObject` as the digital representation of an item
and curated `Collections` as group of digital objects.

![Domain Model](./domain-model.png)

* For presenting digital collections online the library offers `Website` and `Webpage` classes.
* For arranging and describing digital objects by topics the library offers `Topic` and `Subtopic` classes.
* For editorial contribution in the context of digital collections the library offers `Article` with rich text formatting and embedding of different media.

The following classes can be assigned to objects (where appropriate):

* a freely definable `License`
* a list of freely definable `Identifier`s, each of them identifying the object uniquely in an external source system, e.g. GND-ID ("gnd:104330171") or VIAF-ID ("viaf:96994450").

## Class Diagram

The classes are modelled after the business domain model. Common properties and characteristics are expressed through some inheritance (Entity, Identifiable).

![Class Diagram](./ClassDiagram.jpg)

## Technical Model Classes

This library supports practical handling of above domain model by adding paging, filtering and sorting classes.

### Filtering-Model

Model for passing technology independent filter criterias
* from frontend to backend via URL-params,
* from Java code to backend

Backend has to take care about implementing technology dependent filtering for given criterias.

#### Filtering by using (user given) URL params

Example usage in a Spring MVC controller: return only webpages with active publication time range

Example URL: http://localhost/v5/webpages?publicationStart=gte:2021-01-01&publicationEnd=lt:2021-10-01

```java
@Operation(summary = "Get all webpages")
@GetMapping(value = {"/v5/webpages", "/v2/webpages"}, produces = MediaType.APPLICATION_JSON_VALUE)
public PageResponse<Webpage> findAll(
    @RequestParam(name = "pageNumber", required = false, defaultValue = "0") int pageNumber,
    @RequestParam(name = "pageSize", required = false, defaultValue = "25") int pageSize,
    @RequestParam(name = "sortBy", required = false) List<Order> sortBy,
    @RequestParam(name = "publicationStart", required = false) FilterCriterion<LocalDate> publicationStart,
    @RequestParam(name = "publicationEnd", required = false) FilterCriterion<LocalDate> publicationEnd) {
  PageRequest pageRequest = new PageRequest(pageNumber, pageSize);
  ...
  Filtering filtering =
      Filtering.defaultBuilder()
          .add("publicationStart", publicationStart)
          .add("publicationEnd", publicationEnd)
          .build();
  pageRequest.setFiltering(filtering);
  return webpageService.find(pageRequest);
}
```

REST-API design for filtering was inspired by:

- [REST API Design: Filtering, Sorting, and Pagination](https://www.moesif.com/blog/technical/api-design/REST-API-Design-Filtering-Sorting-and-Pagination/)
- [An example application using Spring boot MVC, Spring Data JPA with the ability to do filter, pagination and sorting.](https://github.com/vijjayy81/spring-boot-jpa-rest-demo-filter-paging-sorting)

##### Supported URL-params based filter operations

Mapping operation abbreviation to filter operation

Symbol    	Operation                        	Example filter query param

eq        	equals                           	filter=city:eq:Munich

eq_notset 	equals or not set                	filter=city:eq_notset:Munich

neq       	not equals                       	filter=country:neq:de

gt        	greater than                     	filter=amount:gt:10000

gt_notset 	greater than or not set          	filter=presentationEnd:gt_notset:2020-10-06

gte       	greater than or equals           	filter=amount:gte:10000

gte_notset	greater than or equals or not set	filter=amount:gte_notset:10000

lt        	less than                        	filter=amount:lt:10000

lt_notset 	less than or not set             	filter=amount:lt_notset:10000

lt_set    	less than and set                	filter=amount:lt_set:10000

lte       	less than or equals to           	filter=amount:lte:10000

lte_set   	less than or equals and set      	filter=presentationStart:lte_set:2020-10-06

lte_notset	less than or equals or not set   	filter=presentationStart:lte_notset:2020-10-06

in        	in                               	filter=country:in:uk,usa,au

nin       	not in                           	filter=country:nin:fr,de,nz

btn       	between (inclusive)              	filter=joiningDate:btn:2018-01-01,2016-01-01

like      	like                             	filter=firstName:like:John

stw       	starts with                      	filter=firstName:stw:A

set       	value exists (not null)          	filter=firstName:set:

notset    	value is not set (null)          	filter=firstName:notset:

## Model-Serializing

Comes with a separate module for supporting serializing model objects to JSON (`dc-model-jackson module`) using [Jackson](https://github.com/FasterXML/jackson)

## Builder

Many model objects already provide a builder method, which help to instantiate and fill
model objects in a fluent way.

The builder internally holds all attributes of the model class and provides several methods
to set or modify them.

By calling the `build()` method, the model object is instantiated, filled and returned.

### Implementing builders

To implement a new builder, it is important to know, how they work internally.
Since [Lombok](https://projectlombok.org/) is used, every model class must be annotated
with `@SuperBuilder(buildMethodName = "prebuild")`, to enable multi-tier inheritance.

As next step, you have to customize the builder by inheriting it from the
upper-tier builder, e.g.:

```java
public abstract static class Tier2Builder<C extends Tier2Object, B extends Tier2Builder<C, B>>
    extends Tier1Builder<C, B> {

}
```

The `prebuild` configuration allows manipulation of the auto-generated `build` method,
which is renamed to `prebuild`, so that you can write your own `build` method, which must
at least execute `prebuild`.

Since Lombok ignores all member variable pre-settings of the classes (e.g. initializing a list member to an empty Array on instantiation), and internally holds a copy
of all instance variables, an `init()` method to initialize the variables where neccessary
was applied, which is executed by the constructor and by the `build` method. Please note,
that you can execute `init` only after `prebuild`, since only `prebuild` gives you the
instance of your model object.

As a reference, your `build` method, should minimally look like this:
```java
public C build() {
  C c = prebuild();
  c.init();
  return c;
}
```

## Systems using this library

* [cudami (cultural digital asset management)](https://github.com/dbmdz/cudami)

repository: dbmdz/digitalcollections-model

gha_language: Java

repo_name: dbmdz/digitalcollections-model


text:
# mm10k
version 5.7 million of Magic Mirror

You need to create a .env file (see variables.env.example) and fill in with API keys accordingly

HTML to Jade converter:
http://html2jade.aaron-powell.com/

* Add supertest for Api testing (https://puigcerber.com/2015/11/27/testing-express-apis-with-tape-and-supertest/)
https://github.com/visionmedia/supertest
* https://www.airpair.com/node.js/posts/top-10-mistakes-node-developers-make
* Update weather on interval
* Add commute API


text:
## How to setup a development environment

This part will soon have a better documentation.

If you still want to try you can follow this steps:

## Requirements:

* **Linux** with filesystem overlay for `dgr`
* See `apt.sh` for the needed packages or `sudo make apt`
* See `.travis.yml` as a setup example & unit / integration tests

## Setup
All in one dev setup:

    # Clone the project inside a valid GOPATH
    git clone https://github.com/blablacar/enjoliver.git ${GOPATH}/src/github.com/blablacar/enjoliver

    # Be sure the GOPATH is fowarded across Makefiles or do it step by step
    sudo -E make dev_setup

Step-by-step:

    make submodules
    make -C runtime dev_setup
    make -C enjoliver-testsuite testing.id_rsa
    make front
    make -C matchbox/assets/discoveryC
    make -C matchbox/assets/enjoliver-agent

    # Very long:
    sudo -E make aci
    sudo -E make container_linux

    # misc
    make config
    sudo -E chown -R ${SUDO_USER}: $(CWD)

    # Validate
    make validate

The enjoliver API is available on `<IP_ADDRESS>:5000`, the user interface is behind the `/ui`

## Access to the kubernetes cluster
At the end of the setup, a kubectl proxy is running on `<IP_ADDRESS>:8001`

    Starting to serve on <IP_ADDRESS>:8001
    #####################################
    mkdir -pv ~/.kube
    cat << EOF >> ~/.kube/config
    apiVersion: v1
    clusters:
    - cluster:
        server: http://<IP_ADDRESS>:8001
      name: enjoliver
    contexts:
    - context:
        cluster: enjoliver
        namespace: default
        user:
      name: e
    current-context: e
    kind: Config
    preferences:
      colors: true
    EOF
    kubectl config use-context e
    #####################################

repository: blablacar/enjoliver

gha_language: Python

repo_name: blablacar/enjoliver


text:
# Usage instructions

**Usage instructions unavailable:** none of the published files were matching the _main_ file provided in [`package.json`](./package.json). You may want to have a look at the definition of `kaskadi.s3-push.files` custom field definition in [`package.json`](./package.json).

# Custom element documentation

## kaskadi-custom-element

Template element for the Kaskadi application

| Param | Type | Description |
| --- | --- | --- |
| lang | `string` | element's language |
| title | `string` | element's title |

**Example**
```html
<kaskadi-custom-element title="Welcome!" lang="en"></kaskadi-custom-element>
```
<!-- LINKS -->

## Custom styles

No custom CSS properties found in this element.

repository: anthonydahanne/action-generate-docs

repo_name: anthonydahanne/action-generate-docs


text:
Saman payment library
=====================
Saman payment library for Go Language.
Which includes saman web api methods for connect to bank and verify transaction and reverse transaction.

## Installation

Installation is done using `go get`.
```
go get -u github.com/aliworkshop/samanpayment
```

#### These are following bank methods which is supported by this package
- [x]  **GetTokenRequest**
- [x]  **VerifyTransactionRequest**
- [x]  **ReverseTransactionRequest**

## GetTokenRequest
this method use for get token from bank webservice for connect to the bank payment gateway

this method receives 5 following parameter for get token
Parameter | Type
:-:|:-:
`resnum` | String
`amount` | Integer
`payer_phone` | String
`callback_url` | String
`transaction_key` | Integer

```go
saman := samanpayment.SamanConfig{
    TerminalId: 123456789,
}
result, err := saman.GetTokenRequest(resnum, transaction_key, amount, callback_url, mobile)
```

## VerifyTransactionRequest
this method use for verify transaction and update database if payment was successful

this method receive 2 parameters included transaction_key that you set it before and refnum that you get it from bank response in callback

```go
saman := samanpayment.SamanConfig{
    TerminalId: 123456789,
}
res, err := saman.VerifyTransactionRequest(transaction_key, resp.RefNum)
```

## ReverseTransactionRequest
this method use for reverse transaction that was unsuccessful

this method receive 2 parameters included transaction_key that you set it before and refnum that you get it from bank response in callback

```go
saman := samanpayment.SamanConfig{
    TerminalId: 123456789,
}
res, err := saman.VerifyTransactionRequest(transaction_key, resp.RefNum)
```

## Contributor
[Ali Torabi](https://github.com/aliworkshop)
If this library helps you in anyway, show your love :heart: by putting a :star: on this project :v:

#### More details and learn how to work visit [MiLearn](https://milearn.ir)

repository: aliworkshop/samanpayment

gha_language: Go

repo_name: aliworkshop/samanpayment


text:
---
title: 'How to Install Java for Apache JMeter'
date: 2017-09-12
author: Vibhor.com
featured: false
image: ./jmeter-java-install.png
description: "Know how to get started with Apache JMeter Performance testing tool"

category:
  - Load Testing
  - Performance testing
  - Best Practices
---

As Apache JMeter is a pure JAVA based open source tool, we need a compatible Java version to run Apache JMeter. So let's start with how to install Java.
Check the below table which states which Java version has to be downloaded to make both JMeter and Java compatible.

JMeter Version
Release Date
Java Version

2.13
2015-03-14
Java 6+

3.0
2016-05-17
Java 7+

3.1
2016-11-19
Java 7+

3.2
2017-04-13
Java 8+

3.3
2017-09-21
Java 8+

4.0
2018-02-10
Java 8 or 9

5.0
2018-09-18
Java 8 or 9

If you are using latest version of JMeter we can see it requires Java 8+. So let's see how to install Java 8.

To download the Java 8 go to the official site of oracle, under Java Platform, Standard Edition you can find the latest version of Java which is of Java SE 8u191/ Java SE 8u192.

By clicking on the link you will be redirecting to the Java SE Development Kit 8 Downloads, accept the license agreement and click on the Windows x 84/ 64 accordingly.

You can find .exe find being downloaded. Once the download was done just install the application.
You can find the Java was installed was installed successfully.

Now we need to instruct our windows OS to pick this version of Java, so we need to setup the environmental variables by navigating through Control Panel > System > Advanced system settings.

Now switch to Advanced tab > Environment Variables.

Under User Variables, Click on New and add the following Variable name and Variable value.

Variable name
Variable value

JAVA_HOME
C:\Program Files\Java\jre1.8.0_191

JDK_HOME
%JAVA_HOME%

JRE_HOME
%JAVA_HOME%\jre

CLASSPATH
.;%JAVA_HOME%\lib;%JAVA_HOME%\jre\lib

PATH
;%JAVA_HOME%\bin

Make sure that the longish your-unique-entries do not contain any other references to another Java installation folder.
Note that these environment variables are derived from the `root` environment variable JAVA_HOME. This makes it easy to update environment variables when updating the JDK.
And don't delete any existing entries.
Once it was done verify the java installation by going to command prompt and execute java-version. You can see the java was installed successfully.

repository: MorphyMeri/dynamic-blog-new

gha_language: CSS

repo_name: MorphyMeri/dynamic-blog-new