text:
#Ansible modules

Ansible modules to mount and create subInterface in IOS classic devices.

Network module is connecting to Frinx distribution of OpenDaylight which interacts with cisco devices

### Prerequisites

```
Ansible
Python
```

### Installing
```
Install Python from:
https://www.python.org/

Install ansible from:
http://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html?#basics-what-will-be-installed
```
Get the Ansible module code from Github
clone the repository from here into your folder:
```
https://github.com/FRINXio/ansible-frinxodl.git
```

### How to mount IOS classic device
Your *.yml file should have this paramters:
```
&#8211&#8211&#8211
- name: **You can name it whatever you want**
  hosts: localhost
  tasks:
  - name: **You can name it whatever you want**
    mountCiscoDevice:
      odl_ip: <default> localhost </>
      odl_ip_port: <default> 8181 </>
      authorization: <default> Basic YWRtaW46YWRtaW4= </>
      network-topology:node-id:
      cli-topology:host:
      cli-topology:port:
      cli-topology:transport-type:
      cli-topology:device-type:
      cli-topology:device-version:
      cli-topology:username:
      cli-topology:password:
      cli-topology:journal-size:
      cli-topology:dry-run-journal-size:
      cli-topology:keepalive-delay:
      cli-topology:keepalive-timeout:
```

Fill the details after colon ':'
Then run your file with:
```
ansible-playbook yourFile.yml
```

### How to create subInterface

Your *.yml file should have this parameters:

```
&#8211&#8211&#8211
- name: **You can name it whatever you want**
  hosts: localhost
  tasks:
  - name: **You can name it whatever you want**
    createSubInt:
      node_id:
      odl_ip: <default> localhost </>
      odl_ip_port: <default> 8181 </>
      subinterfIndex: <default> 0 </>
      authorization: <default> Basic YWRtaW46YWRtaW4= </>
      eth_url_intf_id:
      eth_ifc_ip:
      eth_ifc_pref_length:
```
Fill the details after colon ':'
Then run your file with:
```
ansible-playbook yourfile.yml
```

repository: FRINXio/ansible-frinxodl

repo_name: FRINXio/ansible-frinxodl


text:
# Cryptosh PWA App

Live crypto App in ReactJS

![Cryptosh](https://github.com/brg-ib/cryptosh/blob/main/src/CRYPTOSH.gif)
## Technologies Used

- [React.js](https://reactjs.org/) - A JavaScript library for building user interfaces
- [Styled Components](https://www.styled-components.com/) - Use the best bits of ES6 and CSS to style your apps without stress

## Run locally

### Run

`yarn start` and go to http://localhost:3000

license: MIT

repository: brg-ib/cryptosh

branch_name: refs/heads/main

extension: md

license_type: permissive

repo_name: brg-ib/cryptosh


text:
---
layout: default
title: REDCap External Module Development for Developers
---

# REDCap External Module Development for Developers

This guide provides the technical background developers need to write and test module code. It describes the REDCap classes and resources that simplify module development. This guide has recommendations for reference materials and tools to aid in module development and a series of exercises to create simple modules that extend REDCap in different ways.

## Reference Materials

### REDCap Training Videos

You must understand how to use REDCap before trying to develop modules for it. Vanderbilt provides a series of videos that provide basic training in how to use REDCap to create and administer instruments and surveys. See [https://projectredcap.org/resources/videos/](https://projectredcap.org/resources/videos/)

The University of Colorado Denver has created a series of videos that address more advanced topics. You can access all of those videos at their [YouTube Playlist](https://www.youtube.com/playlist?list=PLrnf34ZtZ9FpHcZyZuNnNFZ9cEbhijNGf).

### Vanderbilt's External Module Documentation

You will likely find it helpful to keep Vanderbilt's [official External Module documentation](https://github.com/vanderbilt/redcap-external-modules/blob/testing/docs/official-documentation.md) available while completing these exercises; this document will link relevant sections for review.

### REDCap Repo

Vanderbilt publishes modules submitted by the REDCap Community in the [REDCap Repo](https://redcap.vanderbilt.edu/consortium/modules/index.php). The source code for each module is accessible in GitHub and linked from the entries in the REDCap Repo. These modules provide fully functional code examples. As each module in the REDCap Repo must have an open-source license, you are free to use their code in other modules.

### GitHub

Beyond those in the REDCap Repo, [GitHub](https://github.com) is commonly used by developers in the REDCap community to host and share modules. Many module developers tag their modules with the topic 'redcap-external-module'. This shared topic allows you to find them with a [GitHub topic search](https://github.com/search?q=topic%3Aredcap-external-module&type=Repositories)

### Software Setup and Class Notes

People new to development or those teaching a development class will likely find the [REDCap Development Class](development_class) useful. These instructions install everything required to build a local REDCap development environment using Docker and GitHub tools. As always, you'll need to get a redcap.zip file from your local REDCap Admins, but everything else is freely downloadable from the public internet.

## Setting Up Your Environment
Read the section of the official documentation on [naming a module](https://github.com/vanderbilt/redcap-external-modules/blob/testing/docs/official-documentation.md#naming-a-module). You should copy the contents of this directory to the `modules` directory of your REDCap instance. Assuming you are using Andy Martin's [redcap-docker-compose environment](https://github.com/123andy/redcap-docker-compose), the modules directory is located at `www/modules/`.
Please note that - except for **Hello World** - you will need to mark the [semantic version](https://semver.org/) of each module - in short, you will need to append `_v0.0.0` to each directory - for the EM Framework to recognize it is a module. These are intentionally left off to simulate having just `git clone`d a module from a public repository. Public repositories should _not_ have semantic versions in their titles. REDCap uses the directory name to determine module versions. As such, each version will have a separate directory. Use `git tag`s to apply version numbers to the appropriate commit.

## External Module Development Exercises

The External Module Development Guide includes a set of [development exercises](https://github.com/ctsit/redcap_external_module_development_guide/exercises/) to use as a guide for module development. Each activity teaches a different facet of module development. Most of the modules are intentionally incomplete. They generally have comments denoting regions where you will need to add code to implement a missing feature.

---

### [Hello World]({{ site.repo_root }}exercises/hello_world_v0.0.0/)
This is a "complete" module intended to be used to make sure your development pipeline is set up properly.

Read the section on [module requirements](https://github.com/vanderbilt/redcap-external-modules/blob/testing/docs/official-documentation.md#module-requirement) until the section on hooks.

---

### [Hello Hook]({{ site.repo_root }}exercises/intro_to_hooks/)

This module serves as an introduction to hooks. You will learn how to utilize hook functions to run arbitrary code - in this case, a small bit of JavaScript that displays an alert. While you will not be _writing_ any JavaScript for this portion, you will see how to load in JavaScript files, and how to expose backend variables to the frontend.

Read [the official documentation on calling hooks](https://github.com/vanderbilt/redcap-external-modules/blob/testing/docs/official-documentation.md#how-to-call-redcap-hooks).

Example Solution

`ExternalModule.php`
```php
    // FIXME
    /* Write your code here */
    function redcap_every_page_top($project_id) {
    /* Stop writing code here */
        $this->includeJs('js/hello_hook.js');
```

`config.json`
```json
    "permissions": [
        "redcap_every_page_top"
    ],
```

---

### [Intro JS]({{ site.repo_root }}exercises/intro_to_js/)

This module teaches best practices when including JavaScript in your External Modules. It also introduces the use of the REDCap core class, `RCView`; the source for this class is located in the root of your REDCap folder at `Classes/RCView.php`. Note that while clever use of an `onclick` attribute might allow you to complete this module, the purpose is to work with a separate JavaScript file.

Read [the official documentation on module functions, specifically `getUrl`](https://github.com/vanderbilt/redcap-external-modules/blob/testing/docs/framework/v3.md). You might also find it helpful to refer to previous exercises for examples of JavaScript use.

While this module does not use any variables, note that when working with JavaScript it is [recommended to scope the variables within an object](https://github.com/vanderbilt/redcap-external-modules/blob/testing/docs/official-documentation.md#javascript-recommendations). Two sample helper functions to accomplish this goal in PHP are written below.

```php
    protected function setJsSettings($settings) {
        echo '<script>myModuleName = ' . json_encode($settings) . ';</script>';
    }

    // Recall that you must instantiate an empty JS object prior to the first call of this function, i.e.
    // echo '<script>myModuleName = {};</script>';
    protected function setSingleJsSetting($key, $value) {
        echo "<script>myModuleName." . $key . " = " . json_encode($value) . ";</script>";
    }
```

Example Solution

`ExternalModule.php`
```php
        // FIXME
        // include a JavaScript file that increments the contents of incrementValue
        // upon clicking the incrementButton
        /* write your code below */
        $this->includeJs('js/intro.js');
    }

    protected function includeJs($file) {
        // Use this function to use your JavaScript files in the frontend
        echo '<script src="' . $this->getUrl($file) . '"></script>';
    }
```

`js/intro.js`
```javascript
$( document ).ready(function() {
    /* Write your code below */
    $('#incrementButton').click(function() {
        increase();
    });
});

/* If you wish, make a function */
function increase() {
    let inc = $('#incrementValue').text();
    $('#incrementValue').text(++inc);
}
```

---

### [Hello Plugin]({{ site.repo_root }}exercises/intro_to_plugins/)

This module introduces the use of plugins. The provided module already has a plugin page available for admins in the Control Center; the goal of this exercise is to add a second plugin page accessible _at the project level_. Unlike other modules, you will need to create an entirely new PHP file for this project, referring to `pages/control_center_custom_page.php` should be useful.

Read [the official documentation on creating plugin pages](https://github.com/vanderbilt/redcap-external-modules/blob/testing/docs/official-documentation.md#how-to-create-plugin-pages-for-your-module).

Plugins appear as links in the left-hand menu. The EM framework allows you to decorate the links with icons set in a `link` object under `config.json`. In framework version >= 3, you have access to [Font Awesome](https://fontawesome.com/icons?d=gallery) icons.
When assigning Font Awesome icons, the entry will appear as follows: `fa<style> fa-<icon_name>`, where available `<style>`s are:
- s: solid
- r: regular
- l: light
- d: duotone

Example Solution

`config.json`
```json
   "links": {
      "control-center": [
         {
            "name": "Hello Admin",
            "icon": "fas fa-globe",
            "url": "pages/control_center_custom_page.php"
         }
      ],
      "project": [
         {
            "name": "Hello Project",
            "icon": "fas hand-paper",
            "url": "pages/project_custom_page.php"
         }
      ]
   }
```

`pages/project_custom_page.php`
```php
<?php
require_once APP_PATH_DOCROOT . 'ProjectGeneral/header.php';

$title = RCView::img(['src' => APP_PATH_IMAGES . 'bell.png']) . ' ' . REDCap::escapeHtml('Control Center Page');
echo RCView::h4([], $title);

$module->sayHello();

require_once APP_PATH_DOCROOT . 'ProjectGeneral/footer.php';
```

Don't forget to update docs when you add new features!
`README.md`
```markdown
Provides pages that say "Hello, world" in the control center and in projects.
```

---

### [Accessing Variables]({{ site.repo_root }}exercises/accessing_variables/)

While working on this module, you will learn how to access constants and variables defined by REDCap. You will also use `project-settings` to allow users to set variables.

You may display this via a hook or a project plugin page.

The goal of this exercise is to create a module that displays a user's:
1. Username
1. Admin (aka superuser) status
1. Their user rights
1. The current page path
1. The current project's `project_id`
1. The value of a variable set in the module's configuration menu

Check the [official External Module documentation on functions](https://github.com/vanderbilt/redcap-external-modules/blob/testing/docs/framework/intro.md) for functions which provide this information for you. Useful phrases to search for are "User" and "projectSetting".

Note that there is an unlisted property of the [`User` object](https://github.com/vanderbilt/redcap-external-modules/blob/testing/docs/framework/intro.md#user-method) that you will need:

```php
$User = $this->framework->getUser();
$User->username;
```

If your programming environment has a debugger available, you can use it to see the accessible constants. If you do not have a debugger or cannot connect it to your REDCap docker container, please view the list below. Note that most of these are available as functions.

Useful global constants

- **PAGE**: The path portion of the URL for the current web page. This is the only constant listed that is not easily determined by a function
- **PROJECT_ID**: The numerical ID of the project being viewed
- **USERID**: The username of the user viewing the page
- **SUPER_USER**: A boolean integer indication if the user from **USERID** has admin privileges

As before, documentation _must_ be updated when introducing features. This is even more important when adding functionality that users interact with (e.g. an entry in `project-settings` in the `config.json`)!

Example Solution Via a Hook

This is a _bare minimum_ implementation that demonstrates how to access REDCap variables. The output is _ugly_. An attractive display of those variables is left as an exercise for the student.
`ExternalModule.php`
```php
    //FIXME: Write and use functions to show users pertinent information
    function redcap_every_page_top() {
        $this->displayVars();
    }

    function displayVars() {
        print_r("<pre>"); // Wrap the display area in <pre> tag for formatting

        $userobj = $this->framework->getUser();

        print_r("Username: " . $userobj->username . "\n");
        print_r("You are " . ( ($userobj->isSuperUser()) ? "" : "not " ) . "a superuser.\n");
        print_r("Your user rights: \n");
        var_dump($userobj->getRights());

        print_r("Page path: " . PAGE . "\n");
        print_r("Project ID: " . $this->framework->getProjectId() . "\n"); // Display project ID via framework function
        // OR
        //print_r("Project ID: " . PROJECT_ID . "\n"); // Display project ID via constant
        print_r("Custom Setting: " . $this->framework->getProjectSetting('custom_setting'));

        print_r("</pre>");
    }
```

`config.json`
```json
    "permissions": [
        "redcap_every_page_top"
    ],
    "project-settings": [
        {
            "key": "custom_setting",
            "name": "Custom Setting",
            "type": "text"
        }
    ]
```

An unordered list is a great way to explain simple options to users.
`README.md`
```markdown
Displays information relevant to users, including their user permissions and location in REDCap.

...

## Project Configuration
- **Custom Setting**: A message that will be displayed along with other information

```

---

### [Record Wrangling]({{ site.repo_root }}exercises/record_wrangling/)

**Setup**: A prebuilt project file is provided for this module. You will need to create a new project, select the "Upload a REDCap project XML file" option, and use the `RecordWrangling_project.xml` file located at the root of the module directory.

This module introduces you to interactions with the `redcap_data` table. You will finish a plugin that will allow a user with admin rights to insert an arbitrary text value into a field across all records of a project. You should look in `Classes/REDCap.php` and `ExternalModules/AbstractExternalModule.php` in the root of your REDCap directory for `getData` and `saveData` functions.

This module uses AJAX. Your updates should be made in `pages/ajaxpage.php`. You should still look through the other files to understand the module as a whole.

You may have noticed the `setData` function in the official module documentation. At first glance, this function may appear suitable for this exercise, but plugins do not provide the context it requires. It is more suited to _hooks_. While `setData` takes only 3 arguments (`$record`, `$fieldName`, and `$values`), it actually requires an `event_id` - a numerical identifier for the event - to be detected for it to function properly; this is fine for a hook that is intended to run on a record page. `setData`'s lack of logging is also an issue. Any write events to the REDCap database short of logging itself should be logged.

The solutions provided below use both built-in module methods and the REDCap class implementations of `getData` and `saveData`.

Example Solution

`pages/ajaxpage.php`
```php
    //FIXME: use a function to getData and assign it to a variable called $redcap_data

    /* method 1 a: use the module getData method
     * passing project ID and an empty array for record ID to get data ALL data for the project ID
     * Not listed in official documentation, must read AbstractExternalModule source code
     */
    $redcap_data = $module->framework->getData($pid, []);

    /* method 1 b: use the REDCap class directly
     * pass only the project ID
     * returns ALL data for the project ID
     */
    $redcap_data = \REDCap::getData($pid);

    /* method 2: use the REDCap class directly
     * build an array specifying project ID and fields
     * returns only the relevant field(s)
     */
    $get_data = [
        'project_id' => $pid,
        'fields' => $field_name
        ];
    $redcap_data = \REDCap::getData($get_data);

    $module->changeField($redcap_data, $field_name, $new_value); // update the $redcap_data array inplace

    //FIXME: use a function to target this project's $pid and use the array $redcap_data to overwrite
    // the database

    /* method 1: use the module saveData method
     * iterate over the altered $redcap_data array
     * repeatedly call the saveData method
     */
    foreach($redcap_data as $record_id => $events) {
        foreach($events as $event_id => $data) {
            $response = $module->framework->saveData($pid, $record_id, $event_id, $data);
        }
    }

    /* method 2: use the REDCap class directly
     * use the altered $redcap_data array in a single function call
     */
    \REDCap::saveData($pid, 'array', $redcap_data, 'overwrite');

    /* Log what was done
```

---

### [Intro to Queries]({{ site.repo_root }}exercises/intro_to_queries/)

In this module, you will complete a plugin page that allows admins to assign and revoke privileges for users in bulk. Make your changes in `ExternalModule.php`; you will need to write a few lines of SQL to make an `UPDATE` statement.  This error is normal. Work the problem.

You will occasionally have to write SQL queries; most often, this need will arise when writing a module that adds a feature for REDCap admins. Writing your own SQL should be a last resort after you have considered all of your builtin options.

While evaluating builtin options for this exercise, you might be tempted to use `framework->getUser`. It won't meet your needs, but it's worth exploring why. For this module, you need a class method that lists _all_ users, but `framework->getUser` does not do that.
When a module call doesn't work, look at its source code to see if it calls a core class. `framework->getUser` is a wrapper around `\REDCap::getUsers()` which might seem useful, but calling this is _also_ unsuitable since it is only allowed in a project context. As we are writing a plugin page for the Control Center, `\REDCap::getUsers()` will fail. The project context requirement in `\REDCap::getUsers()` forces us to write a SQL query of REDCap's user information table.

You will probably find your [docker environment's PHPMyAdmin container](http://localhost/phpmyadmin/) useful for this exercise. Adjust that URL to match the port number of your docker environment's web server container if it fails.

**NB**: Those of you familiar with SQL may wonder about the use of prepared statements. These are _not_ currently implemented but will be soon - in Framework Version 4 - read the [official documentation on queries](https://github.com/vanderbilt/redcap-external-modules/blob/release/docs/querying.md) for more information. An example of using prepared statements is provided in the solution below.

Example Solution

`ExternalModule.php`
```php
    function gatherUsers() {
        // FIXME: use $sql with an appropriate function to get a list of every user

        $sql = 'SELECT username
            FROM redcap_user_information';

        $result = $this->framework->query($sql);

        /* stop writing here */
        // parse the mysqli response object into an array
        $username_array = array_column(
                $result->fetch_all(MYSQLI_ASSOC),
                'username'
                );
        return $username_array;
    }

    function alterUsers($users, $new_value) {
        $users = implode('", "', $users);
        // FIXME: write and run the SQL command, log what was done

        $sql = 'UPDATE redcap_user_information
            SET allow_create_db = ' . $new_value . '
            WHERE username IN ("' . $users . '")';

        $result = $this->framework->query($sql);

         /* Example of a prepared statement in Framework v4
         $sql = 'UPDATE redcap_user_information
            SET allow_create_db = ?
            WHERE username IN (?)';
          */
        //$result = $this->framework->query($sql, [$new_value, $users]);

        if ($result) {
            // Log what was done if successfull
            $this->framework->log("Set allow_db to $new_value for users: \"$users\"");
        }

        return $result;
    }
```

branch_name: refs/heads/master


text:
# CheatSheets

I can't remember everthing I see. Can you?. So I have decided to add cheat sheets which are a great way to keep track of repeated tasks.

### Vim
- Vim [Cheat Sheet](https://vim.rtorr.com/) by [Richard](https://github.com/rtorr/vim-cheat-sheet)

### Conda
- Conda [Cheat Sheet](conda-cheatsheet.pdf)

### Pandas
- Pandas [Cheat Sheet](Pandas_Cheat_Sheet.pdf)

repository: PrudhviVajja/Data-Science-Resources

repo_name: PrudhviVajja/Data-Science-Resources


text:
# `stb package`

Generate Python distribution files. (sdist and wheel)

This is done by running {pypi}`build` in a subprocess.

## Options

None.

repository: pradyunsg/sphinx-theme-builder

gha_language: Python

gha_license_id: MIT

repo_name: pradyunsg/sphinx-theme-builder


text:
# _Parks API_

#### _Includes seed date for state and national parks._

#### By _**Carrie Schmid**_

## Description

_A user can create queries to search parks with API documentation generated through Swagger with Swashbuckle, an embedded version of the swagger-ui that's powered by the generated Swagger JSON. ApiHelper is automatically registered and you must use attribute routing for any controllers that you want represented in your Swagger document(s). https://github.com/domaindrivendev/Swashbuckle.AspNetCore#getting-started_

_The API also includes JSON Web Tokens for for lightweight user authentication._
## Setup/Installation Requirements

_open and run on local host_
_To create API query strings  http://localhost:5000/swagger/index.html_

## Known Bugs

_none_

## Specs

## Support and contact details

_Carrie Schmid<EMAIL_ADDRESS>
## Technologies Used

_C#_

### License

*MIT Liscence*

Copyright (c) 2019 **_Carrie Schmid_**


text:
# Check Update iOS

Code to check if there is a new version on AppStore.

This code is a version based on [@anupgupta-arg](https://github.com/anupgupta-arg/iOS-Swift-ArgAppUpdater)'s code.

## Usage

You can force the update by calling

**``CheckUpdate.shared.showUpdate(withConfirmation: false)``**

Or the user can choose if he wants to update now or later by calling

**``CheckUpdate.shared.showUpdate(withConfirmation: true)``**

## Important

Inside the code has a link from iTunes. There, you should pay attention and put the country where the application is available.
Like this: ``http://itunes.apple.com/<country>/lookup?bundleId=\(identifier)``

*For example:*
- *``let url = URL(string: "http://itunes.apple.com/br/lookup?bundleId=\(identifier)")``* if the application is available in Brazil

## Screenshots

- By calling ``CheckUpdate.shared.showUpdate(withConfirmation: true)``

![img_2968](https://user-images.githubusercontent.com/6472263/43183229-09700046-9002-11e8-8548-1aa1dd446b33.PNG)

- By calling ``CheckUpdate.shared.showUpdate(withConfirmation: false)``

![img_2969](https://user-images.githubusercontent.com/6472263/43183234-0c248ee2-9002-11e8-8a62-f703477969fd.PNG)

repository: mauhcs/checkVersion-iOS

repo_name: mauhcs/checkVersion-iOS


text:
# Simple Project

This example illustrates how to create a simple project.

Expected variables:
- `admin_email`
- `organization_id`
- `billing_account`
- `credentials_path`

<!-- BEGINNING OF PRE-COMMIT-TERRAFORM DOCS HOOK -->
## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| billing\_account | The ID of the billing account to associate this project with | `any` | n/a | yes |
| organization\_id | The organization id for the associated services | `any` | n/a | yes |

## Outputs

| Name | Description |
|------|-------------|
| domain\_example | The organization's domain |
| project\_info\_example | The ID of the created project |

<!-- END OF PRE-COMMIT-TERRAFORM DOCS HOOK -->

gha_language: HCL


text:
# [729.  We can add a new event if adding the event will not cause a **double booking**.

A **double booking** happens when two events have some non-empty intersection (i.e., some moment is common to both events.).

The event can be represented as a pair of integers `start` and `end` that represents a booking on the half-open interval `[start, end)`, the range of real numbers `x` such that `start <= x < end`.

Implement the `MyCalendar` class:

 + `MyCalendar()` Initializes the calendar object.
 + `boolean book(int start, int end)` Returns `true` if the event can be added to the calendar successfully without causing a **double booking**. Otherwise, return `false` and do not add the event to the calendar.

**Example 1:**

    Input
    ["MyCalendar", "book", "book", "book"]
    [[], [10, 20], [15, 25], [20, 30]]
    Output
    [null, true, false, true]

    Explanation
    MyCalendar myCalendar = new MyCalendar();
    myCalendar.book(10, 20); // return True
    myCalendar.book(15, 25); // return False, It can not be booked because time 15 is already booked by another event.
    myCalendar.book(20, 30); // return True, The event can be booked, as the first event takes every time less than 20, but not including 20.

**Constraints:**

 + `0 <= start < end <= 10^9`
 + At most `1000` calls will be made to `book`.

repository: InnoFang/algo-set

path: /LeetCode/0729. My Calendar I/README.md

repo_name: InnoFang/algo-set


text:
# composable-app

## Proof of Concept Summary

Compare query performance between a monolithic API and multiple modular/autonomous bounded context APIs.  The bounded context API will have no dependencies or even knowledge of one another. This example breaks the monolithic dataset into 5 separate bounded contexts as listed below:

* Account Categories (accountCategories, scheduleVendorAcctCategoryAssocs)
* Lot (lot)
* Organization (financialCommunity, planCommunity)
* Job (job, pendingConstructionStages)
* Schedules (scheduleTasks, masterTasks)

The original query against the monolithic API includes 9 tables with a maximum expand depth of 4.  The new query against the separated bounded contexts, includes the same 9 tables with a maximum expand depth of 2, but requiring more requests to the API to get each bounded context separatly.

## Goal

The goal of this POC is to prove we can take our current most complex query, and get back the exact same result in equal or less time across multiple bounded contexts that we can on a single monolithic context.  The outcome of this test was an average of 21% performance improvement, exceeding the objective.

## Composable Application Advantages (not measured in this POC)

* Better support `parallel work streams` with reduced risk of code change conflicts
* Simplify our ability to achieve `shorter sprints` and `zero downtime deployments`
* Need for `application level regression testing is eliminated` while simultaniously improving quality
* `Future proofing the foundation`
  * No future re-writes (end of Waterfall) even if we need to completely change the underlying technology foundation or business process
  * Open up opportunities to leverage best of breed technologies without requiring application re-writes
    * Example: Active/active multi-master distributed SQL
  * More easily absorb future technology advancements or shifts in direction
  * `Reduce vendor lock-in`, `increase portability`, and give us more `control over licensing costs`
* `Cheaper and greater scalability` due to horizontal scalability being cheaper and without the upper limit of vertical scalability (commodity hardware)
* Easily `move data objects` from application specific to business commonly shared with little to no effort
  * Will be needed for Purchase Pro's Bill of Materials, and for Home Designer's Rules Engine
* Create a platform for `business self-service` that not just exposes the needed data, but also the supporting business rules
* Simplify our ability to `join non-structured data` with our existing structured data
* Simplify `embedding reporting` (analytical data) within an application (operational data)

## Setup

1) `git clone` this repository
2) run `npm install` to download all the needed node modules
3) Add a `nodemon.json` configuration file to the application folder with the following format:
```json
{
    "env": {
        "apiKey": "<your API key here>",
        "apiBaseUrl": "https://<website name here>/odata"
    }
}
```
4) run `npm start`

repository: PaulGilchrist/composable-app

repo_name: PaulGilchrist/composable-app


text:
# rocSOLVER

rocSOLVER is a work-in-progress implementation of a subset of [LAPACK][1]
functionality on the [ROCm platform][2].

## Documentation

For a detailed description of the rocSOLVER library, its implemented routines,
the installation process and user guide, see the [rocSOLVER documentation][3].

### How to build documentation

Please follow the instructions below to build the documentation.

```
cd docs

pip3 install -r .sphinx/requirements.txt

python3 -m sphinx -T -E -b html -d _build/doctrees -D language=en . _build/html
```

## Building rocSOLVER

To download the rocSOLVER source code, clone this repository with the command:

    git clone https://github.com/ROCmSoftwarePlatform/rocSOLVER.git

rocSOLVER requires rocBLAS as a companion GPU BLAS implementation. For
more information about rocBLAS and how to install it, see the
[rocBLAS documentation][4].

After a standard installation of rocBLAS, the following commands will build
rocSOLVER and install to `/opt/rocm`:

    cd rocSOLVER
    ./install.sh -i

Once installed, rocSOLVER can be used just like any other library with a C API.
The header file will need to be included in the user code, and both the rocBLAS
and rocSOLVER shared libraries will become link-time and run-time dependencies
for the user application.

If you are a developer contributing to rocSOLVER, you may wish to run
`./scripts/install-hooks` to install the git hooks for autoformatting.
You may also want to take a look at the [contributing guidelines][7]

## Using rocSOLVER

The following code snippet shows how to compute the QR factorization of a
general m-by-n real matrix in double precision using rocSOLVER. A longer
version of this example is provided by `example_basic.cpp` in the
[samples directory][5]. For a description of the `rocsolver_dgeqrf`
function, see the [rocSOLVER API documentation][6].

```cpp
/////////////////////////////
// example.cpp source code //
/////////////////////////////

#include <algorithm> // for std::min
#include <stddef.h>  // for size_t
#include <vector>
#include <hip/hip_runtime_api.h> // for hip functions
#include <rocsolver/rocsolver.h> // for all the rocsolver C interfaces and type declarations

int main() {
  rocblas_int M;
  rocblas_int N;
  rocblas_int lda;

  // here is where you would initialize M, N and lda with desired values

  rocblas_handle handle;
  rocblas_create_handle(&handle);

  size_t size_A = size_t(lda) * N;          // the size of the array for the matrix
  size_t size_piv = size_t(std::min(M, N)); // the size of array for the Householder scalars

  std::vector<double> hA(size_A);      // creates array for matrix in CPU
  std::vector<double> hIpiv(size_piv); // creates array for householder scalars in CPU

  double *dA, *dIpiv;
  hipMalloc(&dA, sizeof(double)*size_A);      // allocates memory for matrix in GPU
  hipMalloc(&dIpiv, sizeof(double)*size_piv); // allocates memory for scalars in GPU

  // here is where you would initialize matrix A (array hA) with input data
  // note: matrices must be stored in column major format,
  //       i.e. entry (i,j) should be accessed by hA[i + j*lda]

  // copy data to GPU
  hipMemcpy(dA, hA.data(), sizeof(double)*size_A, hipMemcpyHostToDevice);
  // compute the QR factorization on the GPU
  rocsolver_dgeqrf(handle, M, N, dA, lda, dIpiv);
  // copy the results back to CPU
  hipMemcpy(hA.data(), dA, sizeof(double)*size_A, hipMemcpyDeviceToHost);
  hipMemcpy(hIpiv.data(), dIpiv, sizeof(double)*size_piv, hipMemcpyDeviceToHost);

  // the results are now in hA and hIpiv, so you can use them here

  hipFree(dA);                        // de-allocate GPU memory
  hipFree(dIpiv);
  rocblas_destroy_handle(handle);     // destroy handle
}
```

The exact command used to compile the example above may vary depending on the
system environment, but here is a typical example:

    /opt/rocm/bin/hipcc -I/opt/rocm/include -c example.cpp
    /opt/rocm/bin/hipcc -o example -L/opt/rocm/lib -lrocsolver -lrocblas example.o

[1]: https://www.netlib.org/lapack/
[2]: https://rocm.docs.amd.com/
[3]: https://rocm.docs.amd.com/projects/rocSOLVER/
[4]: https://rocm.docs.amd.com/projects/rocBLAS/
[5]: clients/samples/
[6]: https://rocm.docs.amd.com/projects/rocSOLVER/en/latest/api/lapack.html#rocsolver-type-geqrf
[7]: CONTRIBUTING.md

repository: jzuniga-amd/rocSOLVER

branch_name: refs/heads/develop

repo_name: jzuniga-amd/rocSOLVER


text:
# Aliyun MaxCompute Data Collectors

[![Build Status](https://travis-ci.org/aliyun/aliyun-maxcompute-data-collectors.svg?branch=master)](https://travis-ci.org/aliyun/aliyun-maxcompute-data-collectors)

---

This project is a group of bigdata plugins for exchanging data with aliyun maxcompute.
The plugins contain flume-plugin,kettle-plugin,ogg-plugin and odps-sqoop.

## Requirements

- JDK 1.6 or later
- Apache Maven 3.x

## Building the Sources

Clone the project from github:

```
$ git clone https://github.com/aliyun/aliyun-maxcompute-data-collectors.git
```

Build the sources using maven:

```
$ cd aliyun-maxcompute-data-collectors
$ mvn clean package -DskipTests=true  -Dmaven.javadoc.skip=true
```

Plugin packages are under each plugin subproject's `target` directroy.

## Usages

Please refer to **[Wiki](https://github.com/aliyun/aliyun-maxcompute-data-collectors/wiki)** of basic usages.

## License

Licensed under the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0.html)

gha_language: Java


text:
# react-native-image-arc

This npm used to make arc of image

## 1. Install

```npm install react-native-image-arc react-native-svg```

For ```react-native-svg```:

[react-native-svg](https://github.com/react-native-community/react-native-svg)

## 2. Usage

```
import {ImageArcMaker} from 'react-native-image-arc';

<View style={style}>
	<ImageArcMaker image={require('./pizza.png')} size={200} fill={300} />
</View>
```

![SVG example](https://raw.githubusercontent.com/vikrambiwal/react-native-image-arc/master/SVG_example.png)

### props:

| Name       | Default | Description                                 |
| ---------- | ------- | ------------------------------------------- |
| fill       | 25      | The fill prop refers degree amount to show. |
| size       | 200     | Square size.                                |
| image      | null    | Object of image                             |
| startAngle | 0       | Start angle of arc                          |

repository: vikrambiwal/react-native-image-arc

repo_name: vikrambiwal/react-native-image-arc


text:
---
title: TCP connections number
brief: The number of TCP connections currently in either ESTABLISHED or CLOSE-WAIT state.
metric_type: cumulative counter

---
### TCP connections number

The number of TCP connections currently in either ESTABLISHED or CLOSE-WAIT state.


text:
# FlaskStructure

Flask Seed App pre configured with Flask-Security, Flask-Restful, Flask-Marshmallow, Flask-Sqlalchemy, Flask-Admin.

Instructions to run:

1. python manage.py db init
2. python manage.py db migrate
3. python manage.py db upgrade
4. python manage.py runserver

Note:

1. Create User, and associate 'admin' role with it to access endpoints
2. Login Url /test/v1//login

App is configured with flask security token based auth, after logging in you will receive a auth token
which has to be sent in every request in header with key authentication-token

App is configured to use factory method.

Sample User models, schemas and api is configured.


text:
## Advanced Lane Finding Project
[![Udacity - Self-Driving Car NanoDegree](https://s3.amazonaws.com/udacity-sdc/github/shield-carnd.svg)](http://www.udacity.com/drive)

Finding lane lines in a video from camera mounted on a car for Udacity Self-Driving Car Nanodegree program. Here is how the end result looks like. The area inside the lanes are highlighted in green, and the lane detection is applied to a test video.

[![identifying-lane-lines-youtube-video](http://img.youtube.com/vi/m0tLYsdW4mE/0.jpg)](http://www.youtube.com/watch?v=m0tLYsdW4mE "Finding Lane Lines for Autonomous Driving")

## Table of Contents
* [The Project](#the-project)
* [What's in this repo](#what's-in-this-repo)
* [Camera calibration](#camera-calibration)
* [Pipeline (single images)](#pipeline-(single-images))
* [Pipeline (video)](#pipeline-(video))
* [Discussion](#discussion)

## The Project

The goals/steps of this project were the following:

* Compute the camera calibration matrix and distortion coefficients given a set of chessboard images.
* Apply a distortion correction to raw images.
* Use color transforms, gradients, etc., to create a thresholded binary image.
* Apply a perspective transform to rectify binary image ("birds-eye view").
* Detect lane pixels and fit to find the lane boundary.
* Determine the curvature of the lane and vehicle position with respect to center.
* Warp the detected lane boundaries back onto the original image.
* Output visual display of the lane boundaries and numerical estimation of lane curvature and vehicle position.

This README is structured around the [Rubric](https://review.udacity.com/#!/rubrics/571/view) points for the project.

## What's in this Repo

```
├── main.ipynb: Main notebook for exploration and showcasing
├── data: contains calibration images, example images and videos
├── output: result of processing
├── scripts: helper scripts for running/testing code snippets
└── src: all the code is here
```

Additionally, there is [environments.yml](environment.yml) file which can be used to set up
local environment to run the notebook and other scripts. For more details, refer to [this repo from
Udacity](https://github.com/udacity/CarND-Term1-Starter-Kit.git).

```bash
conda env create -f environment.yml
```

### Camera Calibration

The code for camera calibration can be found in the `calibrate` function inside [src/calibration.py](src/calibration.py)
file. Calibration can be performed as follows. The same lines of code are also used in the example IPython notebook [exploration.ipynb](exploration.ipynb).

```python
from src import calibration
camera = calibration.Camera()
camera.calibrate()
camera.undistort(img)
```

Calibration starts with preparation of "object points", which are the (x, y, z) coordinates of the chessboard corners
in the real world. We can assume that the chessboard is fixed on the (x, y) plane at z=0, such that the object points
are the same for each calibration image.  Thus, `objp` is just a replicated array of coordinates, and `objpoints` are
appended with a copy of it every time all chessboard corners are detected in a test image. Similarly, `imgpoints` are
appended with the (x, y) pixel position of each of the corners in the image plane with each successful chessboard
detection.

The lists of `objpoints` and `imgpoints` are used to compute the camera calibration and distortion coefficients using
`cv2.calibrateCamera` function from OpenCV. Then, distortion correction can be applied to any image using
`cv2.undistort` function. Here is an example of how distortion correction is applied to one of the chess board images.

![distortion-corrected-chess-board](output/images/calibration/distortion-correction-chess-board.jpg)

Notice how the top central boxes in the chess board appear to have been slightly "straightened" after this
distortion correction.

### Pipeline (single images)

These are the steps taken to find lane markings in a single image. The same function is invoked for processing individual frames from the videos later. The pipeline can be found in `map_lanes` function inside `LaneDetector` class in `src/lane_detection.py`.

#### 1. Thresholding to Create Binary Images

A combination of color and gradient thresholds to generate a binary image (in `threshold` function in [Thresholder class in thresholding module](src/thresholding.py)). What worked best in the test video was thresholding based on absolute values and applying Sobel filter on S channel from the [HLS colorspace](https://en.wikipedia.org/wiki/HLS_color_space) and R channel from RGB color space. It turns out that the same thresholds did not work equally well for challenge video. The actual values of the thresholds for each video can be found in the [src/config.py](src/config.py) file.

Here is an example of my output for this step operated on some test images.

![Thresholded lane lines](output/images/thresholding/thresholded-examples.jpg)

To see the effect of thresholding for individual images, please refer to [output/images/thresholding](output/images/thresholding) folder. The originals and binary images have the corresponding identifiers in their file names.

The code which performs thresholding on the test image looks like this inside the `map_lanes` function. Notice that we instantiate `Thresholder` class to encapsulate thresholding logic.

```python
im_thresholded = self._thresholder.threshold(img)
```

#### 2. Distortion Correction

The matrices derived from camera calibration is stored in `Camera` object from `src/calibration.py`. The matrices derived from calibration step are used to apply distortion correction using `undistort` function from `Camera` class. The `undistort` function calls `cv2.undistort` for performing the distortion correction.

Below is an example of distortion correction applied to a test image.

![undistorted lanes](output/images/lane-detection/distortion-correction-lanes.jpg)

#### 3. Perspective Transform

One of the example images were used to mark source and destination points for the perspective transformation. Coordinates of the pixels on the lanes were used as *source* and *200 px* inside the width of the image were used as destination using `rectangle_pts_inside_image` in `src/utils.py`.

This resulted in the following source and destination points:

| Source        | Destination   |
|:-------------:|:-------------:|
| (242,691)      | (250, 720)   |
| (1058, 691)    | (1030, 720)  |
| (706, 464)     | (1030, 0)    |
| (576, 464)     | (250, 0)     |

The points are overlaid on the example image and the unwarped image below.

![undistored-lane-image](output/images/calibration/undistorted-lane-lines.jpg)

I verified that my perspective transform was working as expected by drawing the `src` and `dst` points onto a test image and its warped counterpart to verify that the lines appear parallel in the warped image.

For simplicity, the `Camera` class exposes `warp_image` function, which internally performs the distortion correction. Distortion correction is applied by the following lines in the `map_lanes` function in `LaneDetector`.

```python
im_warped = self._camera.warp_image(im_thresholded.astype(np.float), self._perspective_transform_mat)
```

Here is the result of perspective transformation and thresholding applied on a test image.

![thresholded-and-undistorted](output/images/lane-detection/thresholded-and-unwarped.jpg)

#### 4. Identifying lane pixels and Fitting Polynomial

After thresholding and applying perspective transformation on the image, histogram was calculated by summing up all the non-zero pixels across X-direction in the image. This gives the x-coordinate where the lane lines could be.

The pixels in a sliding window, configured via `src/config.py` were considered for further calculation. The height of the window was calculated based on the number of windows to use along the height of an image, also configured via `config.py`. For the test images, the values were `100px` and `10` respectively. Only the coordinates of the bottom-most sliding window is derived from the histogram. For the next window above the bottom-most one, the number of non-zero pixels is counted. If the number of pixels found in the window is greater than a certain threshold (`minpix` in `config.py`), the next window was centered at the center of all the detected points. The code for the sliding window can be found in `_find_lane_px_using_sliding_windows` method in `LaneDetector` class in `src/lane_detection.py`.

The pixels are used together with `np.polyfit` method to find the best fitting second order polynomial. Detected lane pixels are stored using `update` method in `Lane` class found in `src/lane_detection.py`.

For subsequent images, instead of using sliding window, the region around the polynomial is used for detecting lane pixels within a given margin (in `_find_lane_px_using_poly` method in `LaneDetector` class in `src/lane_detection.py`). This is particularly important for detecting lanes in subsequent frames in a video.

The `find_lane_pixels` method of `LaneDetector` uses polynomial based or sliding-window based search depending on whether a best-fit polynomial was detected in earlier frame. For the test images, only sliding-window method is used, because there is no notion of "subsequent frames" for them.

```python
left_x, left_y, right_x, right_y, im_search_window = self.find_lane_pixels(im_warped)
```

The effect of the aforementioned steps on an example image are shown below. The left lane pixels are colored red, the right lane pixels are colored blue, and the search region is shown in green.

![search-lane-pixels](output/images/lane-detection/search-lane-pixels.jpg)

#### 5. Radius of Curvature and Vehicle Offset

Once the pixels from lane lines were found using sliding window or polynomial search, these points were converted into meters using a fixed ratio. Another polynomial was fitted on these points to derive the coefficients. Finally, the [radius of curvature](http://www.intmath.com/applications-differentiation/8-radius-curvature.php) for each lane lines were calculated by using these coefficients.

The code for the curvature calculation can be found in `calculate_curvature` method in `Lane` class.

As for detecting the offset of the car from the center of the lanes, pixel coordinates of the lanes at the bottom of the image were computed. The distance from the center of the lanes to the center of the image was calculated. This distance was converted to meters using the same ratio as above. The code can be found in `calculate_offset` method in `LaneDetector`.

#### 6. Mapping lanes

After the coefficients of the best-fit polynomial has been identified, pixel coordinates are generated on the line that lie exactly on the polynomial. A polygon is drawn on another image that is described by these points. This image is warped using inverse of the matrix used for the perspective transformation earlier. The resulting image is then combined with original image to show the area between the lanes.

Here is an example image showing the lanes in an example image.

![example-mapped-lanes](output/images/lane-detection/test4.result.jpg)

The following image shows the steps described above applied to example images.

![map-lane-lines](output/images/lane-detection/map-lane-lines.jpg)
---

### Pipeline (video)

#### 1. Final Video Output

Result of lane detection on the sample videos can be found in [output/videos](output/videos) folder.

An example video has also been uploaded to [youtube](https://youtu.be/m0tLYsdW4mE).

---

### Discussion

Here is a brief discussion about the approach I took, what techniques I used, what worked and why, where the pipeline
might fail and how I might improve it if I were going to pursue this project further.

Due to changing lighting condition changes, thresholding does not work completely robustly throughout the video. Due to this, the lane lines wobbled every now and then. I maintain a list of last 10 detected image frames in a FIFO queue. Outliers with outlandish radius of curvatures (not within 10m and 100km) are discarded. Also, if the current value is too different from the median (0.01 times or 10 times), then also the best-fit is discarded. For mapping the lanes onto an image and for curvature calculation, the median of the coefficients in the queue are used. Median filtering seems to make the detection much robust.

Due to the median filter, the response to lane curvature changes is slightly delayed. This has an impact on the performance of the detector on the harder challenge video because the changes are quite big. An idea would be to use all the raw points in all of those images and weigh the error when finding the best-fitting line, with more recent frames weighed more. This could result in better performance especially on winding roads.

Also, the left and right lanes are currently evaluated completely independent of one another. We could take into account the curvature of the lane lines in relation to one another and compared with the previously aggregated values to find out confidence scores.

Just like we are currently using curvature calculation to disregard outliers. Similarly, we could probably also integrate the offset information by factoring in the current steering angle. All of these could be used to compute a adaptive score, much better than mere average or median to detect outliers. In the harder challenge, the lanes are almost horizontal in some frames even after perspective transform.

The thresholding values from the challenge_video seem to be able to extract lane pixels for the harder challenge to get the lanes in
warped binary image, but due to changing lighting conditions, the image is very noisy. Maybe, we could use a notion of
"noise level" in an image into the lane detection pipeline so that we could disregard best fit lines which might
succesfully fit a best fit line, but the line might be capturing some other artifact. We could extend this concept a bit further
to **adapting the thresholds** in the image based on the "noise level".

For challenge videos, the lane markings is not distinguished easily from the edge of the road or some artifacts. For instance, the challenge video has a black tar line in between the lanes. Sometimes the lane detector identifies this as the lane line. Result of processing on challenge and harder-challenge videos can also be found in [output/videos](output/videos) folder.

Furthermore, I could achieve processing speed of around 3-4 FPS. The pipeline could probably be optimised a bit more for speed, for instance by not plotting or storing intermediary images.

repository: saksham/CarND-Advanced-Lane-Lines

repo_name: saksham/CarND-Advanced-Lane-Lines


text:
# Eazyfill project snippets

## About

EazyFill extracts payment data from invoices. Startup home page is at [eazyfill.com](http://www.eazyfill.com/) .

## Our process

![process](process.png)

# Project code snippets

While EazyFill is a commercial project, here are two examples under MIT licencse for getting started with extracting data from PDF files.

* Project *parser-textual* is a small example of extracting sum total from an invoice; it is a Maven project with external dependencies on open-source frameworks;
* Project *positional-order* can be used to train your algorithm in using position to select the most likely value from several candidates for a field;

Link to [project poster](https://drive.google.com/file/d/0B2fc1fcucsZKWjZMS1JINVktbUE/view?usp=sharing) (or alternatively poster.pdf in this repo)

![I3P](logo_i3p.png)

![Institute of Computer Science, University of Tartu](logo_institute.png)

![IT Akadeemia](logo_it_academy.jpg)

![Treatabit](logo_treatabit.png)

repository: AxellH/eazyfill

repo_name: AxellH/eazyfill


text:
local.docker-compose
====================

This is a small Ansible role that I created to encapsulate a bunch of docker-compose specific configuration that I had.

If you aren't familiar with Ansible, and would just like to use borrow some inspiration from this setup then you're in luck. You should be able to just copy [files/docker-compose.yml](files/docker-compose.yml), then also copy [templates/docker-compose.j2.env](templates/docker-compose.j2.env) and rename it to `.env` in the same dir as `docker-compose.yml`. Then edit them accordingly with valid inputs for your needs, and you should be able to `docker-compose up -d ...` the respective services.

Requirements
------------

You will need to have docker-compose installed and available on your system, this role does not take care of that.

Role Variables
--------------

The best way to discover the required/settable variables is to consult [defaults/main.yml](defaults/main.yml), trying to list them here and keep them in sync would be a pain and prone to errors.

Dependencies
------------

None.

Example Playbook
----------------

Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:

    - hosts: servers
      roles:
         - { role: local.docker-compose,
             domain_name:          "my.domain.name",
             email_address<EMAIL_ADDRESS>             oauth2_client_id:     "someid",
             oauth2_client_secret: "asupersecret",
             oauth2_cookie_secret: "yetanothersecret",
             openvpn_config:       "example",
             openvpn_password:     "secret",
             openvpn_provider:     "nordvpn",
             openvpn_username:     "joeuser",
             samba_user1:          "joe",
             samba_user2:          "jane",
             smtp_gmail_password:  "moresecrets",
             smtp_gmail_user<EMAIL_ADDRESS>             smtp_hostname:        "smtp.example.com",
             smtp_mailname:        "smtp.example.com",
             tags: [
               "docker-compose",
               "local.docker-compose"
             ]
           }

License
-------

BSD

repository: cewood/ansible-playbooks

repo_name: cewood/ansible-playbooks


text:
# vagrant and virtualbox

`builder` currently relies on VirtualBox being available to orchestrate VM
builds using Vagrant.  On systems that already have a running hypervisor this
might not be desirable, since only one hypervisor can use virtualization
extensions at a time.  Since the `ubuntu/trusty64` image is only available as a
virtualbox image this makes the situation complicated.

Luckily a vagrant plugin named `vagrant-mutate` exists to work around this.  It
can convert vagrant boxes to different provider formats.  To install it locally
you can run:

```bash
$ vagrant plugin install vagrant-mutate
```

Now you can download the VirtualBox image and convert it to a format that your hypervisor can work with:

```bash
$ vagrant box add ubuntu/trusty64 https://atlas.hashicorp.com/ubuntu/trusty64
$ vagrant mutate --input-provider virtualbox ubuntu/trusty64 <output-format> # libvirt, bhyve, kvm
```

Now you can disable the `virtualbox` check when running update.sh and run vagrant up:

```bash
$ ./update.sh --exclude="virtualbox"

  ...
  all done

$ PROJECT=medium vagrant up
 [info] hostname is medium--vagrant (this affects Salt configuration)
formulas needed: ["https://github.com/elifesciences/builder-base-formula", "https://github.com/elifesciences/medium-formula"]
Updating cloned-projects/builder-base-formula...
remote: Counting objects: 10, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 10 (delta 3), reused 9 (delta 3), pack-reused 0
Unpacking objects: 100% (10/10), done.
From https://github.com/elifesciences/builder-base-formula
   0fa3592..9295540  master     -> origin/master
Updating 0fa3592..9295540
Fast-forward
 elife/jenkins-scripts/colorize.sh | 6 ++++++
 1 file changed, 6 insertions(+)
 create mode 100755 elife/jenkins-scripts/colorize.sh

Cloning cloned-projects/medium-formula...
Cloning into 'cloned-projects/medium-formula'...
remote: Counting objects: 230, done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 230 (delta 1), reused 9 (delta 1), pack-reused 218
Receiving objects: 100% (230/230), 27.10 KiB | 0 bytes/s, done.
Resolving deltas: 100% (83/83), done.
Checking connectivity... done.

Bringing machine 'medium--vagrant' up with 'libvirt' provider...
==> medium--vagrant: Creating image (snapshot of base box volume).
==> medium--vagrant: Creating domain with the following settings...
==> medium--vagrant:  -- Name:              builder_medium--vagrant
==> medium--vagrant:  -- Domain type:       kvm
==> medium--vagrant:  -- Cpus:              1
==> medium--vagrant:  -- Memory:            512M
==> medium--vagrant:  -- Management MAC:
==> medium--vagrant:  -- Loader:
==> medium--vagrant:  -- Base box:          ubuntu/trusty64
==> medium--vagrant:  -- Storage pool:      default
==> medium--vagrant:  -- Image:             /var/lib/libvirt/images/builder_medium--vagrant.img (40G)
==> medium--vagrant:  -- Volume Cache:      default
==> medium--vagrant:  -- Kernel:
==> medium--vagrant:  -- Initrd:
==> medium--vagrant:  -- Graphics Type:     vnc
==> medium--vagrant:  -- Graphics Port:     5900
==> medium--vagrant:  -- Graphics IP:       <IP_ADDRESS>
==> medium--vagrant:  -- Graphics Password: Not defined
==> medium--vagrant:  -- Video Type:        cirrus
==> medium--vagrant:  -- Video VRAM:        9216
==> medium--vagrant:  -- Keymap:            en-us
==> medium--vagrant:  -- TPM Path:
==> medium--vagrant:  -- INPUT:             type=mouse, bus=ps2
==> medium--vagrant:  -- Command line :
==> medium--vagrant: Creating shared folders metadata...
==> medium--vagrant: Starting domain.
==> medium--vagrant: Waiting for domain to get an IP address...

repository: elifesciences/builder

repo_name: elifesciences/builder


text:
# Change Log
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
This change log adheres to standards from [Keep a CHANGELOG](http://keepachangelog.com).

## [Unreleased][unreleased]
### Added
- (none)

[unreleased]: https://github.com/wix/eslint-plugin-lodash/compare/v5.1.0...HEAD

## [5.1.0] - 2018-12-05
### Changed
- Changed `collection-ordering` not to enforce arrays on iteratees by default. ([`bae2b12`][bae2b12])

[bae2b12]: https://github.com/wix/eslint-plugin-lodash/commit/bae2b1203a3dca33fdd0a2e6bda85663e1f8e89f
[5.1.0]: https://github.com/wix/eslint-plugin-lodash/compare/v5.1.0...v5.0.1

## [5.0.1] - 2018-12-05
### Fixed
- Fixed `prop-shorthand` crashing when using method introduced with `_.mixin`. ([`ca1faf4`][ca1faf4])

[ca1faf4]: https://github.com/wix/eslint-plugin-lodash/commit/ca1faf4896d62314c5d75bbc6fb4e05308eca505
[5.0.1]: https://github.com/wix/eslint-plugin-lodash/compare/v5.0.1...v5.0.0

## [5.0.0] - 2018-12-03

### Added
- Added rule `collection-ordering`. ([`4673524`][4673524])

### Removed
- Removed support for Node versions under 6.x. ([`7889a0a`][7889a0a])

[4673524]: https://github.com/wix/eslint-plugin-lodash/commit/4673524ad4d7397c38feaad8ff72ff141af8810f
[7889a0a]: https://github.com/wix/eslint-plugin-lodash/commit/7889a0a6dea186c03296868d3b5afe8081f2312c
[5.0.0]: https://github.com/wix/eslint-plugin-lodash/compare/v5.0.0...v4.0.0

## [4.0.0] - 2018-11-21

### Fixed
- Fixed case where `prefer-lodash-method` reports on chained methods. ([`e32432b`][e32432b])
- Fixed case where `prop-shorthand` doesn't report on `_.sortBy`. ([`9288ad4`][9288ad4])

[e32432b]: https://github.com/wix/eslint-plugin-lodash/commit/e32432ba80f4bf09d630891da1a68d06cdb8bcb5
[9288ad4]: https://github.com/wix/eslint-plugin-lodash/commit/9288ad494397e0f6d7df6ea212b5022737599dae
[4.0.0]: https://github.com/wix/eslint-plugin-lodash/compare/v4.0.0...v3.1.0

## [3.1.0] - 2018-09-19

### Added
- Added `implicit` option to `chaining`. ([`c4cbbce`][c4cbbce])

[170e31f]: https://github.com/wix/eslint-plugin-lodash/commit/c4cbbcee438ca5c069f95da90e6aaaee34230296
[3.1.0]: https://github.com/wix/eslint-plugin-lodash/compare/v3.1.0...v3.0.0

## [3.0.0] - 2018-09-19
### Fixed
- (Breaking) Added cases reported by `path-style` ([`170e31f`][170e31f])

### Added
- Added fixer for some cases in `path-style` ([`170e31f`][170e31f])

[170e31f]: https://github.com/wix/eslint-plugin-lodash/commit/170e31f983a0237b2da3e1b4700f1f36f95bf36e
[3.0.0]: https://github.com/wix/eslint-plugin-lodash/compare/v3.0.0...v2.7.0

## [2.7.0] - 2018-03-17
### Added
- Added rule `prefer-immutable-method` ([`c4fe9cd`][c4fe9cd])
- Added rule `prefer-find` ([`c81ef24`][c81ef24])

[c4fe9cd]: https://github.com/wix/eslint-plugin-lodash/commit/c4fe9cd709385b394c8b6418d958c3c266f953b7
[c81ef24]: https://github.com/wix/eslint-plugin-lodash/commit/c81ef24cbe8cfa5f9fa27a31da9301a53f240ef0
[2.7.0]: https://github.com/wix/eslint-plugin-lodash/compare/v2.7.0...v2.6.2

## [2.6.2] - 2018-03-16
### Fixed
- Fixed `recommended` config to include `lodash` in the list of plugins ([`6381bff`][6381bff])

[6381bff]: https://github.com/wix/eslint-plugin-lodash/commit/6381bff9db2cf3012629eae5c4df2b8803d9ef31
[2.6.2]: https://github.com/wix/eslint-plugin-lodash/compare/v2.6.2...v2.6.1

## [2.6.1] - 2018-02-04
### Fixed
- Fixed `prefer-compact` to report on `_.filter` with identity shorthand ([`55f6de3`][55f6de3])

[55f6de3]: https://github.com/wix/eslint-plugin-lodash/commit/55f6de3f796070b8648e01e187eee16b6ddd8950
[2.6.1]: https://github.com/wix/eslint-plugin-lodash/compare/v2.6.1...v2.6.0

## [2.6.0] - 2018-01-31
### Added
- Added support for whitelisting in `preferred-alias` ([`c4b7fca`][c4b7fca])

[c4b7fca]: https://github.com/wix/eslint-plugin-lodash/commit/c4b7fca2ad81374563b243e9290d006c7267e864
[2.6.0]: https://github.com/wix/eslint-plugin-lodash/compare/v2.6.0...v2.5.1

## [2.5.1] - 2018-01-22
### Fixed
- Fix case where collection-return erronously reports on generator functions ([`19079ef`][19079ef])

[3037b9f]: https://github.com/wix/eslint-plugin-lodash/commit/19079efa2c5584ed5e0e4f11ed97d797a405f9f8
[2.5.1]: https://github.com/wix/eslint-plugin-lodash/compare/v2.5.1...v2.5.0

## [2.5.0] - 2017-10-20
### Added
- Added support for single-method packages ([`3037b9f`][3037b9f])
- Added option to enforce single-method packages import in `import-scope` ([`e4555c3`][e4555c3])

[3037b9f]: https://github.com/wix/eslint-plugin-lodash/commit/3037b9f8d858ab0e263f1e1f06bac9459c0aa8c8
[e4555c3]: https://github.com/wix/eslint-plugin-lodash/commit/e4555c3c2475813a07dc42031acb1daa52d251a0
[2.5.0]: https://github.com/wix/eslint-plugin-lodash/compare/v2.5.0...v2.4.4

## [2.4.4] - 2017-07-12
### Fixed
- Added a step to clean old generated files before every build ([`18c0eeb`][18c0eeb])

[18c0eeb]: https://github.com/wix/eslint-plugin-lodash/commit/18c0eeb87cadd29d5022cd7337b2dd42ccd74e99
[2.4.4]: https://github.com/wix/eslint-plugin-lodash/compare/v2.4.4...v2.4.3

## [2.4.3] - 2017-06-19
### Fixed
- Fixed `prefer-over-quantifier` warning on condition functions with more than one argument ([`cf10ed1`][cf10ed1])

[cf10ed1]: https://github.com/wix/eslint-plugin-lodash/commit/cf10ed1c05ea532bee1fdb2dba92e2abfb293b6d
[2.4.3]: https://github.com/wix/eslint-plugin-lodash/compare/v2.4.3...v2.4.2

## [2.4.2] - 2017-05-01
### Fixed
- Fixed `prefer-lodash-method` warning on string methods not in the current version ([`401d28a`][401d28a])

[401d28a]: https://github.com/wix/eslint-plugin-lodash/commit/401d28aaee8d7fd23b2b388243739eecb07a2052
[2.4.2]: https://github.com/wix/eslint-plugin-lodash/compare/v2.4.2...v2.4.1

## [2.4.1] - 2017-04-26
### Fixed
- Reimpleneted rule `callback-binding` to use method data ([`97375de`][97375de])

[97375de]: https://github.com/wix/eslint-plugin-lodash/commit/97375defe7a299e6262618ffb0a6cc80c0bcac6e
[2.4.1]: https://github.com/wix/eslint-plugin-lodash/compare/v2.4.1...v2.4.0

## [2.4.0] - 2017-03-27
### Added
- Added rule `prefer-some` ([`842f02d`][842f02d])
### Fixed
- Fixed error where `no-extra-args` did not warn on methods with 0 arguments ([`8d960ce`][8d960ce])
- Added data for methods `conformsTo` and `defaultTo` ([`5333ff0`][5333ff0])

[842f02d]: https://github.com/wix/eslint-plugin-lodash/commit/842f02d4587102f5cbe32f9ebe29c9f1dc1dee13
[8d960ce]: https://github.com/wix/eslint-plugin-lodash/commit/8d960ce9a05b5753e733e644bc0d1303f84b3bdf
[5333ff0]: https://github.com/wix/eslint-plugin-lodash/commit/5333ff03d2657217db002065679ac027f1cbf6aa
[2.4.0]: https://github.com/wix/eslint-plugin-lodash/compare/v2.4.0...v2.3.7

## [2.3.7] - 2017-03-23
### Fixed
- Added `sortedUniq` and `sortedUniqBy` as chainable methods ([`fcde2c0`][fcde2c0])

[fcde2c0]: https://github.com/wix/eslint-plugin-lodash/commit/fcde2c0adac04f6d0c6c3744a547dfaaefd8be4f
[2.3.7]: https://github.com/wix/eslint-plugin-lodash/compare/v2.3.7...v2.3.6

## [2.3.6] - 2017-03-15
### Fixed
- Added ES2015 string methods to `prefer-lodash-method` ([`6aa51cb`][6aa51cb])

[6aa51cb]: https://github.com/wix/eslint-plugin-lodash/commit/6aa51cbbe192233e25527c95e44949b02088c96a
[2.3.6]: https://github.com/wix/eslint-plugin-lodash/compare/v2.3.6...v2.3.5

## [2.3.5] - 2017-02-08
### Fixed
- Fixed `import-scope` to stop warning against `lodash/fp` ([`c569b8c`][c569b8c])

[c569b8c]: https://github.com/wix/eslint-plugin-lodash/commit/c569b8c8ed50031a7e4b78b06708bd70f008d7fe
[2.3.5]: https://github.com/wix/eslint-plugin-lodash/compare/v2.3.5...v2.3.4

## [2.3.4] - 2017-01-29
### Fixed
- Fixed `prefer-noop` to stop reporting on async and generator functions ([`7d194cf`][7d194cf])

[7d194cf]: https://github.com/wix/eslint-plugin-lodash/commit/44ebdca9fbd529b9bad6be1848feed1df
[2.3.4]: https://github.com/wix/eslint-plugin-lodash/compare/v2.3.4...v2.3.3

## [2.3.3] - 2017-01-25
### Fixed
- Added missing shorthand functions for shorthand rules ([`1c290d0`][1c290d0])

[1c290d0]: https://github.com/wix/eslint-plugin-lodash/commit/1c290d0d6fb754a25357bdb0ba6b5a19da366de1
[2.3.3]: https://github.com/wix/eslint-plugin-lodash/compare/v2.3.3...v2.3.2

## [2.3.2] - 2017-01-18
### Fixed
- Allowed async functions in `collection-return` ([`9d0a082`][9d0a082])

[9d0a082]: https://github.com/wix/eslint-plugin-lodash/commit/9d0a082b7fca98e89f137f927fba13bd1005516e
[2.3.2]: https://github.com/wix/eslint-plugin-lodash/compare/v2.3.2...v2.3.1

## [2.3.1] - 2017-01-17
### Fixed
- Allowed asterisk import in `import-scope` in `full` config ([`4c0335e`][4c0335e])

[4c0335e]: https://github.com/wix/eslint-plugin-lodash/commit/4c0335ec3b5d593b032a7876105bd2cacf2737c9
[2.3.1]: https://github.com/wix/eslint-plugin-lodash/compare/v2.3.1...v2.3.0

## [2.3.0] - 2017-01-16
### Added
- Added rule `import-scope` ([`def5067`][def5067])
### Fixed
- Fixed case in `v3` where `collection-method-value` warns when using `commit` ([`38394d4`][38394d4])

[def5067]: https://github.com/wix/eslint-plugin-lodash/commit/def50672f52a372dd89d219f94deb647faddf0ef
[38394d4]: https://github.com/wix/eslint-plugin-lodash/commit/38394d4c5a32f69a575362a30786b7befd7829d4
[2.3.0]: https://github.com/wix/eslint-plugin-lodash/compare/v2.3.0...v2.2.5

## [2.2.5] - 2016-12-20
### Fixed
- Removed `no-unbound-this` from the `v3` config ([`5d62f9f`][5d62f9f])

[5d62f9f]: https://github.com/wix/eslint-plugin-lodash/commit/5d62f9fd145b2ae2bd6f00d9567afbfe1f496594
[2.2.5]: https://github.com/wix/eslint-plugin-lodash/compare/v2.2.5...v2.2.4

## [2.2.4] - 2016-12-15
### Fixed
- Fixed false positive in `prefer-invoke-map` ([`5a8067d`][5a8067d])

[5a8067d]: https://github.com/wix/eslint-plugin-lodash/commit/5a8067de6a9b1f646c6b536d15c5735a29622092
[2.2.4]: https://github.com/wix/eslint-plugin-lodash/compare/v2.2.4...v2.2.3

## [2.2.3] - 2016-12-08
### Fixed
- Fixed false positive in `matches-prop-shorthand` ([`5373377`][5373377])

[5373377]: https://github.com/wix/eslint-plugin-lodash/commit/5373377f5e31284e0df08427a9c6f6ca9c5ae422
[2.2.3]: https://github.com/wix/eslint-plugin-lodash/compare/v2.2.3...v2.2.2

## [2.2.2] - 2016-12-01
### Added
- Added support for `lodash-es`. ([`d9caeb0`][d9caeb0])

[d9caeb0]: https://github.com/wix/eslint-plugin-lodash/commit/d9caeb0875b6ca6c9d5c95415cd507aa6a99a7a4
[2.2.2]: https://github.com/wix/eslint-plugin-lodash/compare/v2.2.2...v2.2.1

## [2.2.1] - 2016-11-30
### Fixed
- Fixed crash in `chaining` rule. ([`ccdae5`][ccdae5])

[ccdae5]: https://github.com/wix/eslint-plugin-lodash/commit/ccdae593a9e91b8300890cc31a10d3bdd73c05b7
[2.2.1]: https://github.com/wix/eslint-plugin-lodash/compare/v2.2.1...v2.2.0

## [2.2.0] - 2016-11-09
### Added
- Added rule `no-unbound-this`. ([`3e61f0c`][3e61f0c])

[3e61f0c]: https://github.com/wix/eslint-plugin-lodash/commit/3e61f0c09c2a322ec8ce632950942021a13d7c9f
[2.2.0]: https://github.com/wix/eslint-plugin-lodash/compare/v2.2.0...v2.1.8

## [2.1.8] - 2016-11-08
### Fixed
- Improve performance of shorthand rules. ([`5eed1ec`][5eed1ec])

[5eed1ec]: https://github.com/wix/eslint-plugin-lodash/commit/5eed1ecc6900035f51cc72c336bf70abf88b4143
[2.1.8]: https://github.com/wix/eslint-plugin-lodash/compare/v2.1.8...v2.1.7

## [2.1.7] - 2016-10-27
### Fixed
- Fixed `preferred-alias` erronous warning on `_.toString`. ([`d1df139`][d1df139])
- Fixed crash in `prefer-over-quantifier` ([`caf5b8a`][caf5b8a])

[d1df139]: https://github.com/wix/eslint-plugin-lodash/commit/d1df139e3d15ebb5610393b6b3f0c241a7087459
[caf5b8a]: https://github.com/wix/eslint-plugin-lodash/commit/caf5b8aff6b67a9f841938263ea8857ca0fa1453
[2.1.7]: https://github.com/wix/eslint-plugin-lodash/compare/v2.1.7...v2.1.6

## [2.1.6] - 2016-10-22
### Fixed
- Fixed `callback-binding` warning on methods with `fromIndex` in v4. ([`1d6a958`][1d6a958])

[1d6a958]: https://github.com/wix/eslint-plugin-lodash/commit/1d6a958b7715e4b895394497c3b36ea12bc76fc5
[2.1.6]: https://github.com/wix/eslint-plugin-lodash/compare/v2.1.6...v2.1.5

## [2.1.5] - 2016-10-22
### Fixed
- Fixed crash in `preferred-alias` in cases of single-method import. ([`c787496`][c787496])
- Fixed devDependency of `eslint-traverser` to correct version. ([`e8cd613`][e8cd613])
- Fixed incorrect warning of `chaining` rule when importing `toString`. ([`b105870`][b105870])

[c787496]: https://github.com/wix/eslint-plugin-lodash/commit/c78749652e0c34041b419fbfd0a9741224483bd7
[e8cd613]: https://github.com/wix/eslint-plugin-lodash/commit/e8cd61391026d8d8e708ba2c4b4a72e73a6a1fb5
[b105870]: https://github.com/wix/eslint-plugin-lodash/commit/b105870f8d27cadae9ed8ce07056f2b603d6a8c2
[2.1.5]: https://github.com/wix/eslint-plugin-lodash/compare/v2.1.5...v2.1.4

## [2.1.4] - 2016-10-20
### Fixed
- Fixed crash in `prefer-over-quantifier`. ([`906fd72`][906fd72])

[906fd72]: https://github.com/wix/eslint-plugin-lodash/commit/906fd723496ce0d570f5d30e2dabe0cf07c6944b
[2.1.4]: https://github.com/wix/eslint-plugin-lodash/compare/v2.1.4...v2.1.3

## [2.1.3] - 2016-10-17
### Fixed
- Fixed crash in `callback-binding` for node versions under 6. ([`afe904f`][afe904f])

[afe904f]: https://github.com/wix/eslint-plugin-lodash/commit/afe904f52ea7df75a52996637d87edf44b72e067
[2.1.3]: https://github.com/wix/eslint-plugin-lodash/compare/v2.1.3...v2.1.2

## [2.1.2] - 2016-10-15
### Fixed
- Fixed crash in `prefer-filter`. ([`8d1d07c`][8d1d07c])

[8d1d07c]: https://github.com/wix/eslint-plugin-lodash/commit/8d1d07c6264a1304a3ffcdaee01152e061869524
[2.1.2]: https://github.com/wix/eslint-plugin-lodash/compare/v2.1.2...v2.1.1

## [2.1.1] - 2016-10-14
### Fixed
- Fixed crash in `matches-shorthand` and `prefer-is-nil`. ([`de49782`][de49782])

[de49782]: https://github.com/wix/eslint-plugin-lodash/commit/de49782ffc0c325acc26d8f4db21f136209d04ee
[2.1.1]: https://github.com/wix/eslint-plugin-lodash/compare/v2.1.1...v2.1.0

## [2.1.0] - 2016-10-13
### Added
- Added String.prototype methods to `prefer-lodash-method`. ([`6a44330`][6a44330])
### Fixed
- Fixed schema for `prefer-lodash-method`. ([`a3eb338`][a3eb338])

[6a44330]: https://github.com/wix/eslint-plugin-lodash/commit/6a443301960f4e173b4e8911b2b4986066ed2eb2
[a3eb338]: https://github.com/wix/eslint-plugin-lodash/commit/a3eb3388e92c47ac8e182dd203133703ee6c426c
[2.1.0]: https://github.com/wix/eslint-plugin-lodash/compare/v2.1.0...v2.0.0

## [2.0.0] - 2016-10-13
### Added
- Added support for single-method imports in all rules. ([`8a55217`][8a55217])
### Changed
- Changed role of the `pragma` setting to be a hint instead of mandatory and removed the default pragma, `_`. ([`8a55217`][8a55217])
- Changed recommended config to be pragma-less and added the `canonical` config for use with the full lodash build's `_` pragma. ([`8a55217`][8a55217])
- Changed `prefer-lodash-method`'s config object to only accept two values: `ignoreMethods` and `ignoreObjects`, both regular expressions. ([`fc9ecee`][fc9ecee])
- Joined `prefer-chain` and `no-single-chain` into single rule, `chaining` that also enables disallowing chaining. ([`685e9e3`][685e9e3])
- Changed rule `path-style` so that `as-needed` now only recommends arrays when using strings with variables ([`6ab30e6`][6ab30e6])
### Removed
- Removed support for node 0.10. ([`8a55217`][8a55217])
### Fixed
- Fixed `prefer-lodash-typecheck` to warn on undefined checks of declared variables. ([`8ee071a`][8ee071a])
- Fixed case in `prefer-map` where the push is from a declared iteratee parameter. ([`fc5a592`][fc5a592])
- Fixed case where `prop-shorthand` would warn erronously. ([`764f8a0`][764f8a0])

[8ee071a]: https://github.com/wix/eslint-plugin-lodash/commit/8ee071a43b9c43ff2608d07c74b5c79344ae7351
[8a55217]: https://github.com/wix/eslint-plugin-lodash/commit/8a5521746d6e1af808779c0e17e6e39f3c1c1c45
[fc9ecee]: https://github.com/wix/eslint-plugin-lodash/commit/fc9ecee018811078bc812d17783ec430959e49c7
[685e9e3]: https://github.com/wix/eslint-plugin-lodash/commit/685e9e310b7a96b266bb13ee144020c499f47ebc
[fc5a592]: https://github.com/wix/eslint-plugin-lodash/commit/fc5a5923ca9eb5e7c1f584492d03641bdf649bb8
[fc5a592]: https://github.com/wix/eslint-plugin-lodash/commit/764f8a067311f940b02329aa051df007b62c9202
[6ab30e6]: https://github.com/wix/eslint-plugin-lodash/commit/6ab30e6f8713f88d93f95cc3f0d00ea67b27dbe6
[2.0.0]: https://github.com/wix/eslint-plugin-lodash/compare/v2.0.0...v1.10.3

## [1.10.3] - 2016-09-05
### Fixed
- Made `prefer-lodash-method` not warn for `Object.create(null)`. ([`62f82fb`][62f82fb])

[62f82fb]: https://github.com/wix/eslint-plugin-lodash/commit/62f82fb50a71f93ebe4d5834e818acdca22f6d22
[1.10.3]: https://github.com/wix/eslint-plugin-lodash/compare/v1.10.3...v1.10.2

## [1.10.2] - 2016-09-04
### Fixed
- Improved preformance for `unwrap`. ([`95be25a`][95be25a])
- Added explanantion to docs for `prefer-lodash-method`. ([`1d57005`][1d57005])

[95be25a]: https://github.com/wix/eslint-plugin-lodash/commit/95be25a5e73e72fda7616fc0853726cd1abf49b0
[1d57005]: https://github.com/wix/eslint-plugin-lodash/commit/1d570057a19795a2eb3853a90826b1a318034967
[1.10.2]: https://github.com/wix/eslint-plugin-lodash/compare/v1.10.2...v1.10.1

## [1.10.1] - 2016-07-27
### Fixed
- Fixed case where `prefer-invoke-map` reports on destructured first iteratee arguments ([`88a7e54`][88a7e54])

[88a7e54]: https://github.com/wix/eslint-plugin-lodash/commit/88a7e544850163354daed351b719e1d416e18807
[1.10.1]: https://github.com/wix/eslint-plugin-lodash/compare/v1.10.1...v1.10.0

## [1.10.0] - 2016-07-20
### Added
- Added option `ignorePatterns` to config of rule `prefer-lodash-method`. ([`1c01a5f`][1c01a5f])

[1c01a5f]: https://github.com/wix/eslint-plugin-lodash/commit/1c01a5f023a7b29f4825132086eec946db3569d2
[1.10.0]: https://github.com/wix/eslint-plugin-lodash/compare/v1.10.0...v1.9.4

## [1.9.4] - 2016-07-05
### Fixed
- Added peerDependency for eslint >= 1.3.0 ([`4793496`][4793496])

[4793496]: https://github.com/wix/eslint-plugin-lodash/commit/47934965306a5056b7614729801031627ba2fa64
[1.9.4]: https://github.com/wix/eslint-plugin-lodash/compare/v1.9.4...v1.9.3

## [1.9.3] - 2016-07-05
### Fixed
- Fixed argument counts for `find`, `findIndex`, `findLast` and `findLastIndex`. ([`bc7023a`][bc7023a])

[bc7023a]: https://github.com/wix/eslint-plugin-lodash/commit/bc7023a2f663d1895ba2c456c962ca6ccddf9f61
[1.9.3]: https://github.com/wix/eslint-plugin-lodash/compare/v1.9.3...v1.9.2

## [1.9.2] - 2016-06-02
### Fixed
- Fixed typo in argument count for Lodash 4 method `stubFalse`. ([`7efc67c`][7efc67c])

[7efc67c]: https://github.com/wix/eslint-plugin-lodash/commit/7efc67c9aa4b97f281b36beca584aff34bd1396f
[1.9.2]: https://github.com/wix/eslint-plugin-lodash/compare/v1.9.2...v1.9.1

## [1.9.1] - 2016-05-30
### Fixed
- Aligned method data to `v4.13.x` (argument counts and chainable methods). ([`565bad6`][565bad6])

[565bad6]: https://github.com/wix/eslint-plugin-lodash/commit/565bad6f5e0c60c521700a41f7d1e1602fc77e88
[1.9.1]: https://github.com/wix/eslint-plugin-lodash/compare/v1.9.1...v1.9.0

## [1.9.0] - 2016-05-19
### Added
- Created rule [`consistent-compose`]. ([`1028c0d`][1028c0d])

[1028c0d]: https://github.com/wix/eslint-plugin-lodash/commit/1028c0d744b1d51579246bb5736329f771d99b47
[1.9.0]: https://github.com/wix/eslint-plugin-lodash/compare/v1.9.0...v1.8.5

## [1.8.5] - 2016-05-17
### Fixed
- Changed `prefer-matches` rule's error message to suggest `_.isMatch` instead ([`7597075`][7597075])
- Fixed `prefer-lodash-method` rule's `ignoreObjects` parameter to accept complex objects like `React.Children` ([`f02a1f4`][f02a1f4])

[7597075]: https://github.com/wix/eslint-plugin-lodash/commit/75970752563bc793f8be5837805aff831eefae94
[f02a1f4]: https://github.com/wix/eslint-plugin-lodash/commit/f02a1f49ebfa91ab1d7c3ee91e92eb6230af202b
[1.8.5]: https://github.com/wix/eslint-plugin-lodash/compare/v1.8.5...v1.8.4

## [1.8.4] - 2016-05-05
### Fixed
- Fixed case where `callback-binding` reports false positive on `_.sortedIndexBy`. ([`4a04eed`][4a04eed])

[4a04eed]: https://github.com/wix/eslint-plugin-lodash/commit/4a04eed61edfbc6e07c966e17501c16e319649b8
[1.8.4]: https://github.com/wix/eslint-plugin-lodash/compare/v1.8.4...v1.8.3

## [1.8.3] - 2016-05-01
### Fixed
- Fixed case where `collection-return` reports false positive in nested arrow functions. ([`e59f507`][e59f507])

[e59f507]: https://github.com/wix/eslint-plugin-lodash/commit/e59f50754bf9fa9463d98db9f0861fefbd3d2144
[1.8.3]: https://github.com/wix/eslint-plugin-lodash/compare/v1.8.3...v1.8.2

## [1.8.2] - 2016-04-28
### Fixed
- Fixed case where `prefer-times` crashes. ([`c199ed5`][c199ed5])

[c199ed5]: https://github.com/wix/eslint-plugin-lodash/commit/c199ed5f3c055648791079142c9afdee666ffbed
[1.8.2]: https://github.com/wix/eslint-plugin-lodash/compare/v1.8.2...v1.8.1

## [1.8.1] - 2016-04-27
### Fixed
- Fixed case where `prefer-times` falsely reports when parameter usage is nested. ([`ae8b626`][ae8b626])

[ae8b626]: https://github.com/wix/eslint-plugin-lodash/commit/ae8b626cf59de5ddd52785a8822c83fbc6381a2e
[1.8.1]: https://github.com/wix/eslint-plugin-lodash/compare/v1.8.1...v1.8.0

## [1.8.0] - 2016-04-24
### Added
- Added option for `prefer-constant` to handle function declarations. ([`51ce13d`][51ce13d])

[51ce13d]: https://github.com/wix/eslint-plugin-lodash/commit/51ce13d5f2c732460e99b93c99cebd0ca1e56df4
[1.8.0]: https://github.com/wix/eslint-plugin-lodash/compare/v1.8.0...v1.7.0

## [1.7.0] - 2016-04-21
### Added
- Added option `ignoreObjects` to options object of `prefer-lodash-method` ([`3fc85bd`][3fc85bd])
### Fixed
- Fixed false positive reporting of `no-extra-args` when a lodash chain was within a non-lodash chain. ([`de02121`][de02121])

[3fc85bd]: https://github.com/wix/eslint-plugin-lodash/commit/3fc85bdd3f499bd59d9d6e9f667ee7264a76bf14
[de02121]: https://github.com/wix/eslint-plugin-lodash/commit/de021216e8a8d5e91f62654deefebd20f0263299
[1.7.0]: https://github.com/wix/eslint-plugin-lodash/compare/v1.7.0...v1.6.9

## [1.6.9] - 2016-04-19
### Fixed
- Stopped `prefer-noop` from reporting on empty method definitions. ([`3d35bdf`][3d35bdf])

[3d35bdf]: https://github.com/wix/eslint-plugin-lodash/commit/3d35bdf50d0b6d473e565a1755bc36800ffed184
[1.6.9]: https://github.com/wix/eslint-plugin-lodash/compare/v1.6.9...v1.6.8

## [1.6.8] - 2016-04-18
### Fixed
- Fixed case where `no-extra-args` erronously reports on `attempt` when passing arguments. ([`5cd8950`][5cd8950])

[5cd8950]: https://github.com/wix/eslint-plugin-lodash/commit/5cd89503f3b7bde658db870161b37a3f8f7e2ef1
[1.6.8]: https://github.com/wix/eslint-plugin-lodash/compare/v1.6.8...v1.6.7

## [1.6.7] - 2016-04-18
### Fixed
- Fixed case where `callback-binding` erronously reports on `zipWith` when there are multiple arguments. ([`23e7430`][23e7430])

[23e7430]: https://github.com/wix/eslint-plugin-lodash/commit/23e74300dc59cfbec12d6586e3e56c09caa52e1f
[1.6.7]: https://github.com/wix/eslint-plugin-lodash/compare/v1.6.7...v1.6.6

## [1.6.6] - 2016-04-18
### Fixed
- Added `_.filter(a, _.negate(f))` as a negative condition in `prefer-reject` ([`6092e28`][6092e28])
- Removed `Array.prototype.slice` as a native collection method because of `String.prototype.slice` ([`9476886`][9476886])

[6092e28]: https://github.com/wix/eslint-plugin-lodash/commit/6092e2843d884ef5467402f9e9f41efc2dcf1b38
[9476886]: https://github.com/wix/eslint-plugin-lodash/commit/9476886168a9c77919a0768e61a47f873a072d3e
[1.6.6]: https://github.com/wix/eslint-plugin-lodash/compare/v1.6.6...v1.6.5

## [1.6.5] - 2016-04-11
### Fixed
- Changed default config of `path-style` to `string` and removed jsPerf from docs. ([`14b8d05`][14b8d05])
- Changed recommended `path-style` to `string`. ([`66f8053`][66f8053])

[14b8d05]: https://github.com/wix/eslint-plugin-lodash/commit/14b8d05f060c496848fad8a8e05b9218134d0865
[66f8053]: https://github.com/wix/eslint-plugin-lodash/commit/66f8053fc82ea96a4446a77cc0387a3f9c18a062
[1.6.5]: https://github.com/wix/eslint-plugin-lodash/compare/v1.6.5...v1.6.4

## [1.6.4] - 2016-04-10
### Fixed
- Added `castArray` to the list of chainable methods ([`4359077`][4359077])
- Required `lodash` by major version to prevent double installation ([`a2568a9`][a2568a9])

[4359077]: https://github.com/wix/eslint-plugin-lodash/commit/4359077546644b5a1ce0b5653b72b47e12592978
[a2568a9]: https://github.com/wix/eslint-plugin-lodash/commit/a2568a9f59094aaf471dbe2b4354e31fd912b70a
[1.6.4]: https://github.com/wix/eslint-plugin-lodash/compare/v1.6.4...v1.6.3

## [1.6.3] - 2016-04-07
### Fixed
- Added `slice` as a native collection method for `prefer-lodash-chain` and `prefer-lodash-method`([`a68c606`][a68c606])

[a68c606]: https://github.com/wix/eslint-plugin-lodash/commit/a68c6062d4ceb6ffcb1256a3ecbd3458098c2cfa
[1.6.3]: https://github.com/wix/eslint-plugin-lodash/compare/v1.6.3...v1.6.2

## [1.6.2] - 2016-04-06
### Added
- Added options object with `onlyLiterals` option to `matches-prop-shorthand` and `matches-shorthand`. ([`fc4b346`][fc4b346])

[fc4b346]: https://github.com/wix/eslint-plugin-lodash/commit/fc4b3465211191609e1bbb9a430a719cb65fc072
[1.6.2]: https://github.com/wix/eslint-plugin-lodash/compare/v1.6.2...v1.6.1

## [1.6.1] - 2016-04-03
### Fixed
- Stopped rule `collection-method-value` from reporting on mutating method `remove`. ([`05bff20`][05bff20])

[05bff20]: https://github.com/wix/eslint-plugin-lodash/commit/05bff20eb09187c7959470c99bd8c5405a255847
[1.6.1]: https://github.com/wix/eslint-plugin-lodash/compare/v1.6.1...v1.6.0

## [1.6.0] - 2016-04-03
### Added
- Added rule [`collection-method-value`][collection-method-value]. ([`bc73ec8`][bc73ec8])

[bc73ec8]: https://github.com/wix/eslint-plugin-lodash/commit/bc73ec8a542577b3655818818887988e5fdb5770
[1.6.0]: https://github.com/wix/eslint-plugin-lodash/compare/v1.6.0...v1.5.3

## [1.5.3] - 2016-04-03
### Fixed
- Added missed cases in `prefer-includes`. ([`ef9058f`][ef9058f])

[ef9058f]: https://github.com/wix/eslint-plugin-lodash/commit/ef9058fbb32cfdfb9b1eb7b7350dcf5f2635e3e8
[1.5.3]: https://github.com/wix/eslint-plugin-lodash/compare/v1.5.3...v1.5.2

## [1.5.2] - 2016-03-29
### Fixed
- Added chainable methods introducted since lodash v4.0. ([`f2ab08a`][f2ab08a])
- Added fixed argument numbers for methods introduced since lodash v4.0 ([`7cb7e51`][7cb7e51])
- Fixed case where [`prefer-lodash-method`][prefer-lodash-method] didn't consider explicit chaining ([`c9ec558`][c9ec558])

[f2ab08a]: https://github.com/wix/eslint-plugin-lodash/commit/f2ab08ae0c575ccd6d4e5637adea47531bcceed1
[7cb7e51]: https://github.com/wix/eslint-plugin-lodash/commit/7cb7e5118a7fccfb3c73cd1e29fa4269ac223927
[c9ec558]: https://github.com/wix/eslint-plugin-lodash/commit/c9ec558f8b1187479016ab5ace51826869315ff6
[1.5.2]: https://github.com/wix/eslint-plugin-lodash/compare/v1.5.2...v1.5.1

## [1.5.1] - 2016-03-28
### Fixed
- Fixed error where plugin crashes ESLint [`prefer-includes`][prefer-includes]. ([`d619539`][d619539])

[19b27dd]: https://github.com/wix/eslint-plugin-lodash/commit/19b27dd00e0d99067122c413d904b15c0687ce1c
[1.5.1]: https://github.com/wix/eslint-plugin-lodash/compare/v1.5.1...v1.5.0

## [1.5.0] - 2016-03-28
### Added
- Added rule [`prefer-includes`][prefer-includes]. ([`d619539`][d619539])

[d619539]: https://github.com/wix/eslint-plugin-lodash/commit/d619539e98f6f5e4d0c7f13012e8f92b49431636
[1.5.0]: https://github.com/wix/eslint-plugin-lodash/compare/v1.5.0...v1.4.2

## [1.4.2] - 2016-03-20
### Fixed
- Fixed interations on method `sortedLastIndexBy`. ([`76b42b9`][76b42b9])

[76b42b9]: https://github.com/wix/eslint-plugin-lodash/commit/76b42b944ff4c5043aae24d4b1edaed7ceff0cec
[1.4.2]: https://github.com/wix/eslint-plugin-lodash/compare/v1.4.2...v1.4.1

## [1.4.1] - 2016-03-13
### Fixed
- Fixed `recommended` configuration. ([`25499be0`][25499be0])

[25499be0]: https://github.com/wix/eslint-plugin-lodash/commit/25499be0851b6f17d09e6e848bdb39db5e2edbcd
[1.4.1]: https://github.com/wix/eslint-plugin-lodash/compare/v1.4.1...v1.4.0

## [1.4.0] - 2016-03-13
### Added
- Added `recommended` and `v3` plugin configurations. ([`a1da5a4`][a1da5a4])

[a1da5a4]: https://github.com/wix/eslint-plugin-lodash/commit/a1da5a404fadc38b072292b7bc296f908b5a6576
[1.4.0]: https://github.com/wix/eslint-plugin-lodash/compare/v1.4.0...v1.3.0

## [1.3.0] - 2016-03-10
### Added
- Added option for exceptions to the rule `prefer-lodash-method`. ([`6a3e2cc`][6a3e2cc])
### Fixed
- Fixed a false-positive for `prefer-lodash-chain` where the callback uses lodash. ([`ed42798`][ed42798])
- Misc. Documentation fixes. ([`262c942`][262c942], [`f896337`][f896337])

[6a3e2cc]: https://github.com/wix/eslint-plugin-lodash/commit/6a3e2cc6f49e6d907316d7659de09bc1c6f95665
[ed42798]: https://github.com/wix/eslint-plugin-lodash/commit/ed4279898b40b8f9f12552d89b2ec61aa2ca6c12
[262c942]: https://github.com/wix/eslint-plugin-lodash/commit/262c942cc6b131f78b85aa7c8afddf85f14406e5
[f896337]: https://github.com/wix/eslint-plugin-lodash/commit/f8963378b76cfbe76967ce91260eb1c4d78a0118

[1.3.0]: https://github.com/wix/eslint-plugin-lodash/compare/v1.3.0...v1.2.2

## [1.2.2] - 2016-03-02
### Fixed
- Fixed an error where `forEach`, `forIn`, `forOwn`, and their right counterparts were considered chainable. ([`92e4b47`][92e4b47])

[92e4b47]: https://github.com/wix/eslint-plugin-lodash/commit/92e4b47f6d613a39980cce939cbbbab2b7da33eb

[1.2.2]: https://github.com/wix/eslint-plugin-lodash/compare/v1.2.2...v1.2.1

## [1.2.1] - 2016-02-25
### Fixed
- Fixed rules `prefer-get`, `prefer-matches`, and `prefer-is-nil` that stopped reporting in ESLint v2. ([`5054431`][5054431]);

[5054431]: https://github.com/wix/eslint-plugin-lodash/commit/50544315414c01980cf1580b8f28f3d1324287a7

[1.2.1]: https://github.com/wix/eslint-plugin-lodash/compare/v1.2.1...v1.2.0

## [1.2.0] - 2016-02-24
### Fixed
- Fixed `path-style` to report for calls to `matchesProperty`. ([`24d2ba6`][24d2ba6])
- Fixed shorthand rules to report on more methods and on iteratees that call the shorthand methods (e.g. `_.property`). ([`e42d364`][e42d364])

[24d2ba6]: https://github.com/wix/eslint-plugin-lodash/commit/24d2ba6e154b8d00691536846e95699380de45bf
[e42d364]: https://github.com/wix/eslint-plugin-lodash/commit/e42d364d82d5e2a4e3b4b2c2c92d4330c9137958

[1.2.0]: https://github.com/wix/eslint-plugin-lodash/compare/v1.2.0...v1.1.1

## [1.1.1] - 2016-02-22
### Fixed
- Fixed error where `prefer-times` crashes when using destructuring. ([`926a449`][926a449])

[926a449]: https://github.com/wix/eslint-plugin-lodash/commit/926a449043a074ec906854f4c6b3981702e91882

[1.1.1]: https://github.com/wix/eslint-plugin-lodash/compare/v1.1.1...v1.1.0

## [1.1.0] - 2016-02-21
### Added
- Added rule [`identity-shorthand`][identity-shorthand]. ([`e1e5ee3`][e1e5ee3])
- Added fixer for rule `preferred-alias`. ([`0ea186e`][0ea186e])
- Added fixer for rule `no-double-unwrap`. ([`105e873`][105e873])

[0ea186e]: https://github.com/wix/eslint-plugin-lodash/commit/0ea186e90c5cdac73a64813167761e5ee0ea6f91
[105e873]: https://github.com/wix/eslint-plugin-lodash/commit/105e8739f23fd32be5cc3d3c042d44deca259ecd
[e1e5ee3]: https://github.com/wix/eslint-plugin-lodash/commit/e1e5ee310a473f92ef19391a4cd9793cd10dbf6b

[1.1.0]: https://github.com/wix/eslint-plugin-lodash/compare/v1.1.0...v1.0.6

## [1.0.6] - 2016-02-18
### Added
- Added rule [`path-style`][path-style]. ([`7166adc`][7166adc])
- Added rule [`no-extra-args`][no-extra-args]. ([`b11e566`][b11e566])

### Changed
- Moved CONTRIBUTING.md to new .github directory. ([`d86bde2`][d86bde2])

[7166adc]: https://github.com/wix/eslint-plugin-lodash/commit/7166adc55734fda866720950c7b4ce9739c7cb4d
[b11e566]: https://github.com/wix/eslint-plugin-lodash/commit/b11e5665b2b08598045957370d1d7bfd931906b2
[d86bde2]: https://github.com/wix/eslint-plugin-lodash/commit/d86bde2d6a72d53908ac63e91e041559d407b124

[1.0.6]: https://github.com/wix/eslint-plugin-lodash/compare/v1.0.6...v1.0.5

## [1.0.5] - 2016-02-07
### Fixed
- Fixed error with rule `prefer-map` when `_` isn't lodash ([`8892139`][8892139])

[8892139]: https://github.com/wix/eslint-plugin-lodash/commit/8892139ea438dba68118bfa2fbadecb32aac2762
[1.0.5]: https://github.com/wix/eslint-plugin-lodash/compare/v1.0.5...v1.0.4

## [1.0.4] - 2016-02-04
### Fixed
- Fixed error with rule `prefer-filter` when `_` isn't lodash ([`95c3d46`][95c3d46])

[95c3d46]: https://github.com/wix/eslint-plugin-lodash/commit/95c3d46470a7c922cde355f2dd3a3e4b6983fcc3
[1.0.4]: https://github.com/wix/eslint-plugin-lodash/compare/v1.0.4...v1.0.3

## [1.0.3] - 2016-01-31
### Added
- Added support for ESLint 2 ecmaFeatures syntax ([`7a68c45`][7a68c45])

[7a68c45]: https://github.com/wix/eslint-plugin-lodash/commit/7a68c455c5f28c29fe2a01089df0db5ee82b98a0
[1.0.3]: https://github.com/wix/eslint-plugin-lodash/compare/v1.0.3...v1.0.2

## [1.0.2] - 2016-01-27
### Fixed
- Fixed error where rules assume second arg is iteratee when it isn't (e.g. `callback-binding`) ([`b3bd896`][b3bd896])

[b3bd896]: https://github.com/wix/eslint-plugin-lodash/commit/b3bd89614fb4db86f819ca95e351466da6083419
[1.0.2]: https://github.com/wix/eslint-plugin-lodash/compare/v1.0.2...v1.0.1

## [1.0.1] - 2016-01-27
### Fixed
- Fixed error in rule matches-shorthand which caused crashes. ([`599e8e7`][599e8e7])
- Fixed error in rule callback-binding which caused crashes in some cases ([`c985ba9`][c985ba9])

[599e8e7]: https://github.com/wix/eslint-plugin-lodash/commit/599e8e7b57aa6d5cafcaef3a5467cabb8f30d451
[c985ba9]: https://github.com/wix/eslint-plugin-lodash/commit/c985ba90addefb856e0fa7af65d6d46b20a48c30
[1.0.1]: https://github.com/wix/eslint-plugin-lodash/compare/v1.0.1...v1.0.0

## [1.0.0] - 2016-01-27
### Added
- Added support for using a different pragma (symbol) as the Lodash object using [shared settings](http://eslint.org/docs/user-guide/configuring#adding-shared-settings). ([`e4dc506`][e4dc506])
- Added rule [`prefer-is-nil`][prefer-is-nil]. ([`ee23d5b`][ee23d5b])
- Added rule [`prefer-over-quantifier`][prefer-over-quantifier]. ([`b9aa62d`][b9aa62d])
- Added rule [`prefer-flat-map`][prefer-flat-map]. ([`8c0dfcb`][8c0dfcb])
- Added [Contribution guidelines][CONTRIBUTING]. ([`0acfdc8`][0acfdc8])

### Changed
- Changed rule `no-unnecessary-bind` to rule [`callback-binding`][callback-binding], that is dependent on major Lodash version specified in the shared settings. ([`a107ad5`][a107ad5])
- Changed all rules to be dependent on major Lodash version specified in settings for method aliases. ([`6f3e204`][6f3e204])
- Changed rule prefer-invoke to [`prefer-invoke-map`][prefer-invoke-map] and made it only relevant for version 4. ([`90d057c`][90d057c])
- Changed rule `no-commit` to not accept forEach cases, and made it only relevant for version 4. ([`c28ba30`][c28ba30])
- Changed rule [`matches-shorthand`][matches-shorthand] "always" option to report only when there are multiple properties or when the resulting object can be shortened to `{property}` syntax. ([`30fde0e`][30fde0e]).
- Changed rule [`matches-prop-shorthand`][matches-prop-shorthand] "never" option to report on the syntax depending on the version. ([`b17c145`][b17c145])

[e4dc506]: https://github.com/wix/eslint-plugin-lodash3/commit/e4dc50681ee667e3111fedd6dbd6147f9c4fa7b0
[ee23d5b]: https://github.com/wix/eslint-plugin-lodash3/commit/ee23d5bef217650f083f6f4b98e041b18c1be68c
[a107ad5]: https://github.com/wix/eslint-plugin-lodash3/commit/a107ad5f7ee523bc1131d5ebb9ffc68b1935038c
[6f3e204]: https://github.com/wix/eslint-plugin-lodash3/commit/6f3e2043bf30f925f7cd0840e115402dd5b40fbc
[b9aa62d]: https://github.com/wix/eslint-plugin-lodash3/commit/b9aa62db63698e9458062b240467d493eb94c0d5
[8c0dfcb]: https://github.com/wix/eslint-plugin-lodash3/commit/8c0dfcb4706d275ae669c65bb5942e462b7c5f65
[0acfdc8]: https://github.com/wix/eslint-plugin-lodash3/commit/0acfdc85afa70da7150c481048fa2fc124612f0b
[90d057c]: https://github.com/wix/eslint-plugin-lodash3/commit/90d057c3e298349a13ea2fcc0fcbae15702351f1
[c28ba30]: https://github.com/wix/eslint-plugin-lodash3/commit/c28ba30ed567d6ba15f7d048215aa7c6c5376d11
[30fde0e]: https://github.com/wix/eslint-plugin-lodash3/commit/30fde0e779eea7b14f60c6cd9ca8b211acd7dd7f
[b17c145]: https://github.com/wix/eslint-plugin-lodash3/commit/b17c1453ecf06fd2f1df686c26836f0615d5ca57
[1.0.0]: https://github.com/wix/eslint-plugin-lodash/compare/v1.0.0...v0.6.0

[CONTRIBUTING]: /CONTRIBUTING.md

[prefer-is-nil]: docs/rules/prefer-is-nil.md
[callback-binding]: docs/rules/callback-binding.md
[prefer-over-quantifier]: docs/rules/prefer-over-quantifier.md
[prefer-flat-map]: docs/rules/prefer-flat-map.md
[prefer-invoke-map]: docs/rules/prefer-invoke-map.md
[matches-shorthand]: docs/rules/matches-shorthand.md
[matches-prop-shorthand]: docs/rules/matches-prop-shorthand.md
[path-style]: docs/rules/path-style.md
[no-extra-args]: docs/rules/no-extra-args.md
[identity-shorthand]: docs/rules/identity-shorthand.md
[prefer-includes]: docs/rules/prefer-includes.md
[prefer-lodash-method]: docs/rules/prefer-lodash-method.md
[collection-method-value]: docs/rules/collection-method-value.md
[consistent-compose]: docs/rules/consistent-compose.md

<!--
### Added
### Changed
### Deprecated
### Removed
### Fixed
### Security
 -->

gha_language: JavaScript


text:
# Day Planner

## Description

Calendar application that allows the user to save events for each work hour of a selected day.

## Features

- Displays standard business hours (9 a.m. to 5 p.m.)

- Each row contains:

    - the time

    - a field to hold user input

    - and a save button.

- Save button stores the date, time, and user input in local storage.

- Upon new date selection, retrieves corresponding user input from local storage and displays in corresponding hour's text field.

- Top of schedule displays the currently selected day.

- Color coded hour rows determined by past, present, or future dates/time.

- Utilizes JQuery UI datepicker

- Mobile responsive layout

- Dark theme

## Preview

![day planner demo](./Assets/day-planner.png)

## Github Link

https://sheplt1.github.io/Day-Planner/


text:
# Read-Me-Generator
### A CLI based application for quickly generating clean and simple readmes. Uses inquirer for prompting the user.
![License](https://img.shields.io/badge/License-MIT-blue.svg "License Badge")
# Table of Contents :
- [Usage](#usage)
- [Questions](#questions)
- [Contributing](#contributing)
- [Gif](#gif)

## Usage:
As a student learning the ins and outs of github, I've recognized the need for a straightforward and easy to read 'readme' to quickly learn if an application might be useful to me, this generator makes a cleanly formatted and easy to read readme in service of that.
## Contributing:
Anyone can contribute to this project! By contributing you agree that all contributions will be under the MIT license. Please refer to my email below for anyone questions.

## Questions
If you have any questions, please feel free to email me at<EMAIL_ADDRESS>or take a look at my github page: https://github.com/mbone1

## Gif
![read-me-generator](/read-me-generator.gif)
https://youtu.be/nUG6oFkVoAw