text:
# Agile Project Management

![](images/100/Picture100-lab.png)

Updated: November 15, 2017

## Introduction

This is the first of several labs that are part of the **Oracle Public Cloud DevOps and Cloud Native Microservices MySQL workshop.** This workshop will walk you through the Software Development Lifecycle (SDLC) for a Cloud Native project that will create and use several Microservices.

Although you will login as a single user, you will take on 4 Personae during the workshop. The **Project Manager** Persona will create the projects, add tasks and features to be worked on, and assign tasks to developers.  The Project Manager will then start the initial sprint. The **Java Developer** persona will develop a new twitter feed service that will allow for retrieval and filtering of twitter data. The **Full Stack Developer** persona will develop a new database microservice that allows access to the product catalog data. The **JavaScript Developer** persona will make enhancements to the Product Catalog UI that will display the twitter data related to a select catalog item.  During this workshop, you will get exposure to Oracle Developer Cloud Service and Oracle Application Container Cloud Service.

***To log issues***, click here to go to the [github oracle](https://github.com/oracle/learning-library/issues/new) repository issue submission form.

## Objectives
- Create Initial Project
- Create Product Issues
    - Create Issues for Twitter Feed Microservice
    - Create Issues for Database Microservice
    - Create Issues for Product Catalog UI enhancements
- Create Agile Board and initial Sprint
- Add Issues to Sprint
- Start Sprint

## Required Artifacts

- The following lab requires an Oracle Public Cloud account that will be supplied by your instructor.

# Create Alpha Office Product Catalog Project

## Create Developer Cloud Service Project

### **STEP 1**: Login to your **Traditional** Oracle Cloud Account

- From any browser, go to the URL below, or if using a trial account, use the URL emailed to you in your confirmation email:

    `https://cloud.oracle.com`

- click **Sign In** in the upper right hand corner of the browser

    ![](images/100/Picture100-1.png)

- **IMPORTANT** - Under my services, select from the drop down list the correct data center and click on **My Services**. If you are unsure of the data center you should select, and this is an in-person training event, ***ask your instructor*** which **Region** to select from the drop down list. If you received your account through an ***Oracle Trial***, you should have recorded the needed information while following the instruction in the [Trial Account Student Guide](StudentGuide.md).

    ![](images/100/Picture100-2.png)

- Enter your identity domain and click **Go**.

    ![](images/100/Picture100-3.png)

- Once your Identity Domain is set, enter your User Name and Password and click **Sign In**

  **NOTE:** For this lab you will assume the role of Project Manager ***Lisa Jones***. Although you are assuming the identity of Lisa Jones, you will log into the account using the **username** provided to you by your instructor, given to you by your corporation, or supplied to you as part of an Oracle Trial. As you progress through the workshop, you will remain logged in as a single user, but you will make “logical User" changes from Lisa Jones the Project Manager to other personas.

    ![](images/lisa.png)

    ![](images/100/Picture100-3.5.png)

- You will be presented with a Dashboard displaying the various cloud services available to this account.

    ![](images/100/Picture100-4.png)

- **Click** on the **Customize Dashboard** to add services to the dashboard. Services are added by selecting **Show.** For this workshop, you will want to ensure that you are showing **Developer cloud** service.

    ![](images/100/Picture100-5.png)

### **STEP 2**: Login to Developer Cloud Service

Oracle Developer Cloud Service provides a complete development platform that streamlines team development processes and automates software delivery. The integrated platform includes an issue tracking system, agile development dashboards, code versioning and review platform, continuous integration and delivery automation, as well as team collaboration features such as wikis and live activity stream. With a rich web based dashboard and integration with popular development tools, Oracle Developer Cloud Service helps deliver better applications faster.

- From the Cloud UI dashboard click on the **Developer** service Hamburger menu, and then **Right Click** on **Open Service Console**, and open the console in a new tab. This will keep the Dashboard loaded on another tab.

    ![](images/100/Picture100-6.png)

- If you receive an error while loading the Console, return to the dashboard and ensure you follow the previous tasks instructions to "Open Service Console."

### **STEP 3**: Create Developer Cloud Service Project

- Click **New Project** to start the project create wizard. **Note**: Depending on the status of your developer cloud serivce, it is possible that the button may be labled **Create Project**

    ![](images/100/Picture100-8.png)

- On Details screen enter the following data and click on **Next**.

    **Name:** `Alpha Office Product Catalog Project`

    **Description:** `Alpha Office Product Catalog Project`

    **Note:** A Private project will only be seen by you. A Shared project will be seen by all Developer Cloud users. In either case, users need to be added to a project in order to interact with the project.

    ![](images/100/Picture100-9.png)

- Leave default template set to **Empty Project** and click **Next**

    ![](images/100/Picture100-10.png)

- Select your **Wiki Markup** preference to **MARKDOWN** and click **Finish**.

    ![](images/100/Picture100-11.png)

- The Project Creation will take about 1 minute.

    ![](images/100/Picture100-12.png)

- You now have a new project, in which you can manage your software development.

    ![](images/100/Picture100-13.png)

# Create Product Issues

## Create Issues for Twitter Feed Microservice

### **STEP 4**: Create Issue for the initial GIT Repository Creation

In this step you are still assuming the identity of the Project Manager, ***Lisa Jones***.

![](images/lisa.png)

- Click **Issues** on left hand navigation panel to display the Track Issues page.

    ![](images/100/Picture100-16.png)

- Click **New Issue**. Enter the following data in the New Issue page and click **Create Issue**.

    **Note:** Throughout the lab you will assign your own account as the “physical” owner of the issue, but for the sake of this workshop, **Bala Gupta** will be the “logical” owner of the following issues.

    ![](images/bala.png)

    **Summary:**
    `Create Initial GIT Repository for Twitter Feed Service`

    **Description:**
    `Create Initial GIT Repository for Twitter Feed Service`

    **Type:** `Task`

    **Owner:** `Select your account provided in the dropdown [Logical Owner = Bala Gupta]`

    **Story Points:** `1`

    Note: Story point is an arbitrary measure used by Scrum teams. They are used to measure the effort required to implement a story. This [Site](https://agilefaq.wordpress.com/2007/11/13/what-is-a-story-point/) will provide more information.

    ![](images/100/Picture100-17.png)

### **STEP 5**: Create Issue for Update Twitter Service

- Click **New Issue**. Enter the following data in the New Issue page and click **Create Issue**.

    ![](images/bala.png)

    **Summary:** `Create Filter on Twitter Feed`

    **Description:** `Create Filter to allow user to supply text to reduce the amount of data returned by the Twitter feed`

    **Type:** `Feature`

    **Owner:** `Select your account provided in the dropdown [Logical Owner: Bala Gupta]`

    **Story Points:** `2`

    ![](images/100/Picture100-18.png)

### **STEP 6**: Create Issue for development of Database Microservice

- Click **New Issue**. Enter the following data in the New Issue page and click **Create Issue**. Issue will logically be owned by **Roland Dubois**.

    ![](images/Roland.png)

    **Summary:** `Create Microservice to allow access to Product Catalog data`

    **Description:** `Create Microservice to allow access to Product Catalog data`

    **Type:** `Feature`

    **Owner:** `Select your account provided in the dropdown [Logical Owner: Roland Dubois]`

    **Story Points:** `2`

    ![](images/100/Picture100-18.5.png)

### **STEP 7**: Create Issue for Development of Product Catalog UI

- Click **New Issue**. Enter the following data in the New Issue page and click **Create Issue**. Issue will logically be owned by **John Dunbar**.

    ![](images/john.png)

    **Summary:** `Create Alpha Office Product Catalog UI`

    **Description:** `Create Alpha Office Product Catalog UI making use of the new Microservices`

    **Type:** `Feature`

    **Owner:** `Select account provided in the dropdown [Logical Owner: John Dunbar]`

    **Story Points:** `2`

    ![](images/100/Picture100-20.png)

- Click the back arrow ![](images/100/Picture100-21.png) on the **left side** of the window, or click on the **Issues** menu option to view all newly created issues.

    ![](images/100/Picture100-22.png)

# Create Agile Board

## Create Agile Board and Initial Sprint

### Developer Cloud Service Agile Page Overview

Before you start using the Agile methodology in Oracle Developer Cloud Service, it is important that you know the following key components of the Agile page.

- **Board** – A Board is used to display and update issues of the project. When you create a Board, you associate it with an Issue Query. The Board shows Issues returned by the Query.
You can either use a Board created by a team member, or create your own Board. You can create as many Boards as you like.
- **Sprint** – A Sprint is a short duration (usually, a week or two) during which your team members try to implement a product component.
You add the product component related issues to a Sprint. When you start working on a product component, you start (or activate) the related Sprints. To update issues using a Sprint, you must first activate the Sprint and add the Sprint to the Active Sprints view.
- **Backlog view** – Lists all Issues returned by the Board’s Query. The view also displays all active and inactive Sprints of the Board, and the sprints from other Boards that contain Issues matching the Board’s Query.
Each Sprint lists issues that are added to it. The Backlog section (the last section of the Backlog page) lists all open issues that are not part of any Sprint yet. The Backlog view does not show the resolved and closed Issues.
- **Active Sprints view** – Lists all active Sprints of the Board and enables you to update an Issue status simply by dragging and dropping it to the respective status columns.
- **Reports view** – select the Burndown Chart tab to display the amount of work left to do in a Sprint or use the Sprint Report tab to list open and completed Issues of a Sprint.

### **STEP 8**: Create Agile Board

- Click **Agile** on the Left Side Menu to display a page listing all existing Boards

    ![](images/100/Picture100-23.png)

- Click **New Board** and enter the following data. When done click **Create**.

  **Name:** `Microservices`

  **Estimation:** `Story Points`

    ![](images/100/Picture100-24.png)

### **STEP 9**: Create Sprint
- We will now create our first Sprint. Click **New Sprint**. Enter the following data and click **OK.**

    **Name:** `Sprint 1 - Initial Development`

    **Story Points:** `7`

    ![](images/100/Picture100-25.png)

### **STEP 10**:	Add Backlog Issues to Sprint

- Next, we want to add the backlog issues to the newly created sprint. **Drag and drop** the **4 issues** one at a time upward onto the **Sprint 1** section. This will add the issues to the sprint.

    ![](images/100/Picture100-26.png)

    ![](images/100/Picture100-27.png)

### **STEP 11**: Start Sprint

- Click the **Start Sprint** button.

- Leave the defaults and click **Start**

    ![](images/100/Picture100-34.png)

- Now click on **Active Sprints** to view the Sprint Dashboard

    ![](images/100/Picture100-35.png)

- Click on the **Reports** button to view the Burndown and Sprint reports.

    ![](images/100/Picture100-36.png)

- **You are now ready to move to the next lab.**

repository: jdavies/learning-library

repo_name: jdavies/learning-library


text:
Brackets-Image-Convert
============================

# Image converting Extension for Brackets
An extension for [Brackets](https://github.com/adobe/brackets/) which provides a wizard like interface to convert images using [Imagemagick](http://www.imagemagick.org/script/binary-releases.php).

This extension requires Imagemagick to be installed on your system and its installation folder location added to the path Environment variable.

### How to Install
1. Select **File > Extension Manager...**
2. Search for this extension.
3. Click on the **Install** button.
4. <b>Please RESTART BRACKETS after installation to enable the extension</b>
5. Right click on an image in the project view and select "Convert" from the context menu.
6. If the extension finds imagemagick installed you should be able to see a form with a few fields,
   else you may see a notification asking to download/specify path of imagemagick.

### How to Use Extension
1. Right click on an image in the project panel and select convert.
2. If you require basic conversion such as changing width/height of the image or add transparency,
   fillup the wizard form and press convert, the converted image will be available at the same location of the input image.
3. If you wish to write your own convert command,
   select the advanced tab and fill up your command in the cmd textarea and specify an output file.
   The command will be saved for later use.

### License
MIT-licensed.

### Compatibility
Tested on Brackets 1.4 to 1.7 on Windows 7 and windows 8.

### Change Log
v1.0.2 - Bug fixes, UI cleanup, usage reports. </br>
v1.0.1 - Maintainance release. </br>
v1.0.0 - Initial release.

license: MIT

repository: hussainb/brackets-image-convert

branch_name: refs/heads/master

extension: md

license_type: permissive

repo_name: hussainb/brackets-image-convert


text:
---
title: "Taskpaper API for Python"
date: 2009-06-02T20:37:13+01:00
draft: false
---

![](/taskpaper-icon.jpg.webp)

Just created a Python API for reading and modifying (even if all the modify features are not complete yet) TaskPaper files. The (so far very small) project is hosted at my GitHub page [here](http://github.com/emilerl/emilerl/tree/master). The file you are looking for if you want to play with the API can be found [here](http://github.com/emilerl/emilerl/blob/b08e8fa8b9d6b6eae0dbc6a51a81e97e72a65f1a/TaskPaper/taskpaper.py).


text:
---
layout: page
---

A really rough start at writing down some of the design process of creating high quality data, especially with a view to turning them in to [registers](https://www.gov.uk/government/publications/registers/registers).

repository: Ecoblockchain/register-design-patterns

repo_name: Ecoblockchain/register-design-patterns


text:
# Setup

The `gsuite` module requires service user credentials in order to operate.

## Service User Generation

To create the required service user, follow the instructions from [Google](https://developers.google.com/admin-sdk/reports/v1/guides/delegation) about setting up a service user and performing account-wide delegation. Make note of where you store the downloaded credential file.

## Configuration File

GSuite may exist under the "pollers" and/or "analysis" top-level dictionaries in the configuration file.

The "gsuite" dictionary within the "pollers" dictionary may contain:

> credential\_file         - The location of the JSON credentials file for the service user.

> admin\_email             - The admin whose user should be assumed during polling.

The "gsuite" dictionary within the "analysis" dictionary has no special options.

repository: bellyfat/busybody

repo_name: bellyfat/busybody


text:
# Window-Cleaning-Robot

Window Cleaning Robot using CATIA.

It was designed with Flapping wing mechanism and with Robotic arm.

The Robotic arm actuated the Flapping wing mechanism for the window cleaning robot to get actuated.

Click to watch video on youtube..!!

[![Window-Cleaning-Robot](https://img.youtube.com/vi/kGoxJLtfm3Y/0.jpg)](https://www.youtube.com/watch?v=kGoxJLtfm3Y)

branch_name: refs/heads/main


text:
For OpenX Reporting access using the Python API Client you will need:
(examples come from an Ubuntu machine)

### 1. Your credentials:
- consumer_key,
- consumer_secret,
- email address and password for your user of your OpenX instance.

### 2. install Python

Update the package list
$ sudo apt update

Install python3 and pip
$ sudo apt install python3 python3-pip python3-dev

### 3. Clone the library into your working directory:

$ git clone https://github.com/openx/ODS-Python-API-Client

### 4. Go to the downloaded repository and install the library:

$ python3 setup.py install

Now, set up your Python API Client.

### 5. Edit 'my_creds.py' file - add your credentials.

### 6. Edit 'report_config.py' file - place your request body into the 'settings' variable.

The "settings" variable is responsible for the request body; in there you can place any specific dates / hours / attributes and metrics that will define your report. That particular example uses "Inv_perf_pub" report template for the 15th of June 2019. For more information visit http://openxcorporate-ui3.openxenterprise.com/data/1.0/ods.html .

If you want to find out what is the date range available for the selected report - please make sure you have the same metrics and attributes in the "data_range" variable as you have in the "settings" variable.

### 6a. Edit 'post_config.py' file - place your request body into the 'settings' variable.

The "settings" variable is responsible for the request body; in there you can place specific attributes to create any UI item, e.g. an ad unit. For more information visit  https://docs.openx.com/Content/developers/platform_api/api_ref.html

### 7. Run the python script
- 'pull_fields.py' to see all the available fields

$ python3 pull_fields.py

- 'date_range.py' to check what is the available date range for selected report (earliest possible StartData, closest possible EndDate)

$ python3 pull_report.py

- 'pull_reports.py' to pull your report

$ python3 pull_report.py

- 'ox_post.py' to send a request to our legacy endpoint, can be used to create UI items, e.g. an ad unit.

$ python3 ox_post.py

repository: openx/ODS-Python-API-Client

gha_language: Python

gha_license_id: NOASSERTION

repo_name: openx/ODS-Python-API-Client


text:
# `switch` statement

```java
class Scrabble {
    private final int score;

    Scrabble(String word) {
        word = word.toLowerCase();
        int score = 0;

        for (int i = 0; i < word.length(); i++) {
            switch (word.charAt(i)) {
            case 'a', 'e', 'i', 'o', 'u', 'l', 'n', 'r', 's', 't':
                score += 1;
                break;
            case 'd', 'g':
                score += 2;
                break;
            case 'b', 'c', 'm', 'p':
                score += 3;
                break;
            case 'f', 'h', 'v', 'w', 'y':
                score += 4;
                break;
            case 'k':
                score += 5;
                break;
            case 'j', 'x':
                score += 8;
                break;
            case 'q', 'z':
                score += 10;
                break;
            default:
                break;
            }
        }
        this.score = score;
    }

    int getScore() {
        return score;
    }
}
```

This approach defines a [`private`][private] [`final`][final] variable to be returned by the `getScore()` method.
It is `private` because it does not need to be directly accessed from outside the class, and it is `final`
because its value does not need to be changed once it is set.

In the constructor, a local variable is defined for being updated in the [`for` loop][for-loop].

```exercism/note
Using the same for a variable in a nested local scope that is used in its enclosing higher scope is called
[variable shadowing](https://www.geeksforgeeks.org/shadowing-in-java/).
```

The variable is updated  by a [`switch`][switch] statement that checks each letter of the lowercased word.

```exercism/note
If most of the input will already be lower case, it is a bit more performant to normalize the input as lowercased,
since fewer characters will need to be changed.
However, it may be considered that to use upper case letters is more readable.
```

The letter is selected as a `char` by the [`charAt()`][charat] method and is passed to the
`switch`, with each case representing the letters for a particular score.
When the loop is done, the class-level `score` variable is set to the value of the local `score` variable.

[private]: https://en.wikibooks.org/wiki/Java_Programming/Keywords/private
[final]: https://en.wikibooks.org/wiki/Java_Programming/Keywords/final
[for-loop]: https://www.geeksforgeeks.org/java-for-loop-with-examples/
[charat]: https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#charAt(int)
[switch]: https://www.geeksforgeeks.org/switch-statement-in-java/

repository: exercism/java

gha_language: Java

gha_license_id: MIT

repo_name: exercism/java


text:
---
layout: post
title: "The Genetic Relevance of Human Induced Pluripotent Stem Cell-Derived Microglia to Alzheimer’s Disease and Major Neuropsychiatric Disorders"
author: "RRBIII"
categories: pubs
tags: [pubs]
image: theg-mole-neur.png
---

## The Genetic Relevance of Human Induced Pluripotent Stem Cell-Derived Microglia to Alzheimer’s Disease and Major Neuropsychiatric Disorders
#### Robert R Butler III, Alena Kozlova, Hanwen Zhang, Siwei Zhang, Michael Streit, Alan R Sanders, Krzysztof Laudanski, Zhiping P Pang, Pablo V Gejman, Jubao Duan
Journal: Molecular Neuropsychiatry
PMID: [32399472](https://pubmed.ncbi.nlm.nih.gov/32399472)
DOI: [10.1159/000501935](https://doi.org/10.1159/000501935)


text:
---
layout: project-anvio-structure-main
title: "Integrating metagenomic sequence variants and predicted protein structures"
redirect_from:
  - /anvio-structure
  - /projects/anvio-structure/
excerpt: "Anvi'o Structure Project Page"
image:
  feature: eel-pond.jpg
  display: true
---

{% include _toc.html %}

# Anvi'o structure: Integrating metagenomic sequence variants and predicted protein structures

Anvi'o structure is an integrated component of anvi'o focused on the analysis and visualization of
single-amino acid and single-codon variants derived from metagenomic/metatranscriptomic data in the
context of predicted protein structures and binding sites. Its purpose is to enable microbial
ecologists with the tools necessary to investigate microbial diversity within the context of the
structural properties of translated gene products, thereby bridging a gap between microbial ecology
and structural biology.

# Install

Anvi'o structure is an integrated part of the anvi'o framework. By **[installing anvi'o](/install-anvio/)**,
you are installing everything that makes up anvi'o structure, as well.

# How to cite

If you use anvi'o structure, please cite this paper.

Kiefl E, Esen ÖC, Eren AM (2021) FIXME. (*in preparation*)

# Made possible by

Like all software, anvi'o structure is built upon other software, all of which is open source. It is
especially indebted to the following list of projects, without which anvi'o structure would not have been
developed:

### MODELLER

{:.notice}
**Citation**: [doi:10.1002/0471250953.bi0506s15](https://doi.org/10.1002/0471250953.bi0506s15)

{:.notice}
**Citation**: [doi:10.1146/annurev.biophys.29.1.291](https://doi.org/10.1146/annurev.biophys.29.1.291)

{:.notice}
**Citation**: [doi:10.1006/jmbi.1993.1626](https://doi.org/10.1006/jmbi.1993.1626)

MODELLER is the program anvi'o uses to predict protein structure based on experimentally solved structures in the Protein Data Bank. We'll talk more specifically about how it accomplishes this in the following section, but for now you need to make sure it's installed on your computer. For that, check out these instructions to see if you have it installed ([click me](http://merenlab.org/2016/06/18/installing-third-party-software/#modeller)), and how to install it if you don't. We've tried to make it as simple for you as possible.

### NGL

{:.notice}
**Citation**: [doi:10.1093/nar/gkv402](https://doi.org/10.1093/nar/gkv402)

{:.notice}
**Citation**: [doi:10.1093/bioinformatics/bty419](https://doi.org/10.1093/bioinformatics/bty419)

NGL (NGL) is an open-source project for visualizing biomolecules. This browser-based solution to visualization means you don't have to install anything, and you can thank them for that. Özcan has been the mastermind behind incorporating NGL's visualizations into anvi'o, and says he continues to be impressed with their excellent code, documentation, and open-source approach to science.

# Posts and tutorials about anvi'o structure

repository: genomewalker/web

repo_name: genomewalker/web


text:
---
last_modified_on: "2020-12-18"
id: installation
title: "Installation"
---

:::note
GenoML is tested on Linux and Mac with Python >3.5. Please note, GenoML is under active development; please check and use the latest version.
:::

## Using pip
You can install GenoML using pip:

```shell
pip install genoml2
```

## From GitHub source
Alternatively, you can install GenoML directly from the GitHub repository (from source; master branch):
```shell
git clone https://github.com/GenoML/genoml2.git
```


text:
# _GSoC,_ Building and deployment system design

23 May 2015

###About Me:

Hi all , I am Nithin Murali and i would like to introduce me a little in this post. I am pursuing my engineering degree on Electrical Engineering from Indian Institute of Technology Bombay. I am working on an Autonomous Underwater Vehicle which we are developing for the RObosub competition. We are developing in ROS framework. That was my first introduction to robotic frameworks. I have read about Robocomop before but a real chance to contribute to this ambitious framework was brought to me by GSOC 2015\. I have Chosen the project _RoboComp Building and deployment system design_.

###About the project

Currently the the build system in Robocomp is not very efficient. It is limited only to the core libraries and some additional tools. So we will have to seprately build all the components one by one. Also as the number of component increases it will be more difficult to manage all of them. So I am planning to come up with an workspace model for Robocomp. It would accompany with various tools which will ease handling of components.

As of now the users have to build robocomp from source for using it. But there may be users who dont want to work on the framework but is only interested in developing new components. For such users it is important that that we should supply an compiled package (preferably debian package). Also package would be more accessible if we could provide an ppa for robocomp. So i am planning to package robocomp and also create a ppa for robocomp.

Currently Robocomp dosent have any tests written nor is it using any testinf framework. So one of my task would be decide on a testing framework/stragery and write tests for existing framework.

* * *

Nithin Murali

repository: robocomp/web

gha_language: SCSS

repo_name: robocomp/web


text:
# XArray

## Seasonal Grouping

### Extract Time Series (from Location)

```python
time_series = data.isel(x=1000, y=1000).to_pandas().dropna()
```

### Mean Across Multiple Dimensions

```python
data.mean(dim=['lat', 'lon'])
```


text:
---
content_title: Install EOSIO Binaries
---

## EOSIO install script

For ease of contract development, content can be installed at the `/usr/local` folder using the `eosio_install.sh` script within the `eos/scripts` folder. Adequate permission is required to install on system folders:

```sh
cd ~/eosio/eos
sudo ./scripts/eosio_install.sh
```

## EOSIO manual install

In lieu of the `eosio_install.sh` script, you can install the EOSIO binaries directly by invoking `make install` within the `eos/build` folder. Again, adequate permission is required to install on system folders:

```sh
cd ~/eosio/eos/build
sudo make install
```

[[info | What's Next?]]
| Configure and use [Nodeos](../../../01_nodeos/index.md), or optionally [Test the EOSIO binaries](04_test-eosio-binaries.md).

repository: eosforce/eosforce

repo_name: eosforce/eosforce


text:
# **Finding Lane Lines on the Road**

### Reflection

### Description of the Pipeline

![Original image](test_images_output/writeup/original_solidYellowCurve.jpg)

My first approach for defining the image processing pipeline was to make use of/play around with the functions already implemented in the jupyter notebook. Since the final result should display the original image with two lines on top of the lane markings I realized I can get rid of a lot of image information on the way of extracting these two lines. First I reduced the given image to the region of interest which will always lie in a trapeze form in the lower part of the image. With the coordinate system starting at the left upper corner (x from left to right and y from up to down) in mind I needed to play a bit with the numbers to get this result.

![Trapez view](test_images_output/writeup/first_trapezesolidYellowCurve.jpg)

I further reduced the image by the color information since color is not important for drawing the lines. A simple grayscale function did this job.

When plotting and saving this first grayscale image vs. the original image I found out that opencv and matplotlib are using the exact opposite order of saving red green and blue values.

Note: When displaying an opencv image with matplotlib functions one needs to switch the order of rgb values with v.cvtColor(img, cv.COLOR_RGB2BGR)

My next step for extracting the two lines overlaying the lane markings was to make use of an edge detection. Since I already heard about the canny edge detection I just added this function to see what it would do. The function takes two parameters that I do not want to think about/optimize now but rather have the rough order of functions in my pipeline with parameters that are roughly in the right range first. I read up on the opencv python example about canny edge detection in the official documentation and voila I had two parameters to start with.

![Canny edge detection](test_images_output/writeup/first_edge_badsolidYellowCurve.jpg)
As can be seen the edge detection detected not only the lane markings but also the edges of the trapeze which made me change the order of my pipeline. I moved the trapeze function to run after the edge detector, which gave me more of what I wanted.

![Canny edge detection - optimized](test_images_output/writeup/first_edge_bettersolidYellowCurve.jpg)

The result looked actually quite ok, but still it had a lot of points rather than long lines, which is what I want to have in the end. Using a smoothening of this rather pixely output was the logical next step. Since gaussian was implemented in the jupyter notebook I went for this smoothening function. In the opencv doc I found a parameter for the kernel size to start with. I got this result, which looks a lot more like real lines.

![Gaussian blur](test_images_output/writeup/first_gaussiansolidYellowCurve.jpg)

My next and last step of my image processing pipeline was to convert these pixel lines into mathematical lines, defined by the two parameters m and t (y = mx+t) so I can draw them myself on any picture or video.

Therefore I applied the hough_lines function which is doing exactly that, converting pixel lines into mathematical lines. I took the function's parameters again from the opencv documentation. With the output of the hough transformation I can draw the lines myself now and overlay them on top of the original image.

![Hough transformation](test_images_output/writeup/first_finalsolidYellowCurve.jpg)

Looking at my result I needed to do the following optimization steps:
- optimize the region of interest, because the end of the road on the left is detected from the edge detection and/or
- understand and optimize the parameters of the pipeline functions to get a complete line on the left

Reading up on the parameters of canny edge detection, gaussian blur and hough lines, I got a very rough image of what to change, even though this does not make the trial and error process redundant. Looking further, I found a tool with some sliders for the parameters kernel size of the gaussian blur and the two thresholds of the canny edge detection. The image output was shown immediately to the screen. This made the trial and error process quite fast. I found out that the standard parameters of kernel_size=5, lower_threshold=100, upper_threshold=200 were not too bad after all.

![Optimized image](test_images_output/writeup/optimized_finalsolidYellowCurve.jpg)

My optimization was already kind of fruitful but it is still not enough to show the right lane all the way to the bottom of the image.

I started thinking about extrapolating the right lane to the bottom. Since the probabilistic hough transform is giving me many lines instead of just one, I will take the mean of all the lines on the left as well as the mean of all the lines on the right. After some adjustments of the draw_lines() function (taking all gradients within a certain range that seems realistic --> get rid of all lines with gradient smaller than X and larger than Y) I got this as a result:

![Final image - solid yellow](test_images_output/writeup/final_solidYellowCurve.jpg)

Looking at the other pictures I could see that the pipeline is quite robust for these.

![Final image - solid yellow 2](test_images_output/writeup/final_solidYellowCurve2.jpg)

![Final image - solid yellow 3](test_images_output/writeup/final_solidYellowLeft.jpg)

![Final image - solid yellow 4](test_images_output/writeup/final_whiteCarLaneSwitch.jpg)

![Final image - solid white](test_images_output/writeup/final_solidWhiteCurve.jpg)

![Final image - solid white 2](test_images_output/writeup/final_solidWhiteRight.jpg)

### 2. Identification of possible shortcomings

The biggest shortcoming would probably be that all parameters are optimized on a couple of specific input images. As soon as the quality of the image or the type of environment changes results might be different.

When the brightness of the image changes significantly i.e. when in a tunnel, at night or when the camera is opposed to direct sunlight. In this case the lanes might not be detected.
In general the pipeline will be sensitive to all additional noise in the input video stream, like rain, fog, direct sunlight, ...

Another shortcoming could be if there are many additional lines within the region of the trapeze i.e. due to a car directly in front, or a double line on the side. Sharp corners could also be difficult to detect. In general objects in front of the car will result in bad results.

### 3. Suggestions of possible improvements

A possible improvement would be to adjust the parameters of the image-processing functions (canny edge detection, hough transformation, gaussian blur, ...) if there is noise like rain, fog, direct sunlight, tunnel, night, ... i.e. if it is dark outside, the image brightness could be adjusted, etc.

Common objects in front of the car should be detected as such i.e. cars, trucks,
roadworks, ... to avoid detecting false lines as lanes.

The draw_lines() function can be improved. As mentioned above I am taking the average of all the lines from the hough lines function. When there are no lines detected by the hough transformation then I will miss the input for the draw_lines function obviously. In this case it would be nice to take the calculated line from the previous image of the video. This could be done by defining a line object and only update the object values if they are valid.

One more possible improvement that I want to mention is to use polygens for the lanes instead of straight lines. This would probably improve the result on the challenge video.

repository: sratgh/Lane-finding

repo_name: sratgh/Lane-finding


text:
## Common Custom User Data Maven Extension [![Maven Central](https://img.shields.io/maven-central/v/com.gradle/common-custom-user-data-maven-extension)](https://search.maven.org/artifact/com.gradle/common-custom-user-data-maven-extension) [![Revved up by Gradle Enterprise](https://img.shields.io/badge/Revved%20up%20by-Gradle%20Enterprise-06A0CE?logo=Gradle&labelColor=02303A)](https://ge.gradle.org/scans)

### Overview

The Common Custom User Data Maven Extension for Gradle Enterprise serves multiple purposes:
- an example how to build and deploy your own Gradle Enterprise extension
- a reusable artifact deployed to [Maven Central](https://search.maven.org/artifact/com.gradle/common-custom-user-data-maven-extension) that you can apply to your build and it just works

Please refer to the [Gradle Enterprise Maven Extension User Manual](https://docs.gradle.com/enterprise/maven-extension/#using_the_common_custom_user_data_maven_extension) for more details.

### Changelog

Refer to the [changelog](https://github.com/gradle/gradle-enterprise-build-config-samples/blob/master/common-custom-user-data-maven-extension/CHANGELOG.md) to see detailed changes on the versions.


text:
# Rock|Paper|Scissors

> ## From The Odin Project's [curriculum](https://www.theodinproject.com/lessons/rock-paper-scissors)

> - [Live demo](https://igorashs.github.io/rock-paper-scissors/) :shipit: **V3** (Added Service worker)

## Assignment

> Make a simple implementation of grade-school classic “rock paper scissors”

## Acknowledgments

- Service Workers [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers) and [Google Docs](https://developers.google.com/web/fundamentals/primers/service-workers)

## License

This project is licensed under the MIT License

repository: igorashs/rock-paper-scissors

repo_name: igorashs/rock-paper-scissors


text:
# MySQL Dump Split & Import
Python script for splitting a large mysql dump file into individual tables and importing the data in database.

## Introduction
Importing a huge MySQL database dump file is very troublesome and takes a lot of time. In this project, we split
the database dump into individual tables (split_sql_dump_file.py) and import the data using (import_dump.py)

We have added optimization tips in Import Data section below which will help you to cut down the data import time
significantly.

## Assumptions
- Pipe Viewer is installed. We use pv command during MySQL data import to display the import progress
- We have assumed that the database dump file is created using `mysqldump` and has below structure
```

-- MySQL dump XX.XX  Distrib XX.XX.XX, for Linux (x86_64)
--
-- Host: localhost    Database: cbseguid_askbot
-- ------------------------------------------------------
-- Server version       XX.XX.XX

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `table_name`
--

DROP TABLE IF EXISTS `table_name`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `table_name` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  ...
) ENGINE=InnoDB AUTO_INCREMENT=4079360 DEFAULT CHARSET=latin1;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `table_name`
--

LOCK TABLES `table_name` WRITE;
/*!40000 ALTER TABLE `table_name` DISABLE KEYS */;
INSERT INTO.......
/*!40000 ALTER TABLE `table_name` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on ...

```
- We extract environment variable setup from the dump file and append them at both start and end of each individual splitted file

## Splitting File

### Usage
Below command splits the `database_dump.sql` file into individual tables and places the data (INSERT INTO statements) in
`data` directory and structure (CREATE TABLE statement) in `structure` directory inside below mentioned directory.

```
python split_sql_dump_file_py database_dump.sql output
```

## Importing Data

### Configuration to reduce the data import time
- Locate your my.cnf file and append below text at the end. Change the values based on your machine configuration.
```
innodb_buffer_pool_size = 4G
innodb_log_buffer_size = 256M
innodb_log_file_size = 1G
innodb_write_io_threads = 16
innodb_flush_log_at_trx_commit = 0
```
- In MacOSX the my.cnf file is located at `/usr/local/mysql/my.cnf`
- To find my.cnf location, use below command
```
mysql –-help | grep my.cnf
```
- Before starting the import process, run below command
```
service mysql restart --innodb-doublewrite=0

In MacOSX,
sudo /usr/local/mysql/support-files/mysql.server stop
sudo /usr/local/mysql/support-files/mysql.server start --innodb-doublewrite=0
```
- Once import is completed, restart MySQL server again
```
service mysql restart

In MacOSX,
sudo /usr/local/mysql/support-files/mysql.server stop
sudo /usr/local/mysql/support-files/mysql.server start
```

### Usage
Make sure:
- my.cnf file is updated with optimization configuration
- mysql restarted with `--innodb-doublewrite=0`

```
python import_dump.py dump_directory

when using with above split command,
python import_dump.py output/structure
python import_dump.py output/data
```

## References
- https://dba.stackexchange.com/questions/83125/mysql-any-way-to-import-a-huge-32-gb-sql-dump-faster
- https://github.com/kloddant/split_sql_dump_file
- https://github.com/kedarvj/mysqldumpsplitter

repository: vinodpandey/mysql-dump-split-import

repo_name: vinodpandey/mysql-dump-split-import


text:
# Angular 2 Tour of Secret Heroes

This is a fork of [John Papa's](https://twitter.com/John_Papa) [Angular 2 Tour of Heroes repo](https://github.com/johnpapa/angular2-tour-of-heroes). The aim of it is to show how to add authenticaton to the heroes app using [JSON Web Tokens](https://jwt.io/introduction). JSON Web Tokens (JWT) are retrieved for users with [Auth0](https://auth0.com/signup) and are saved in local storage on a successful login. The user's JWT is then sent to the server in HTTP requests as an `Authorization` header.

## Running the App

Install the dependencies in both the **client** and **server** directories.

```bash
cd client && npm install
npm start
```

Then in a new console tab:

```bash
cd server && npm install
npm start
```

You will need to remove the placeholder `AUTH0_CLIENT_ID`, `AUTH0_DOMAIN`, and `AUTH0_SECRET` strings in `components/auth/auth.service.ts` and `server.js` and put in your [Auth0](https://manage.auth0.com) credentials.

## Do I Need to Use Auth0?

Auth0 provides an extremely easy way to retrieve JWTs for your users so that you don't need to code any identity verification or token signing logic yourself. With Auth0 you can also use any social identity provider at the flip of a switch--no need to write any code.

You can by all means write your own authentication layer for this demo too. Simply modify the [**express-jwt**](https://github.com/auth0/express-jwt) middleware (more on that below) to use your own secret key.

## Differences from the Original

To demonstrate a full authentication setup, there are a number of differences between this fork and the original.

### 1. Login and Logout Controls

Two new controls--one for logging in and the other for logging out--have been added to the navbar in `app.component.ts`. Clicking these buttons will call methods that are exposed by another new addition: an `AuthService`. This service provides logic for opening up the [Auth0 Lock](https://auth0.com/lock) widget and saving the user's profile object and JWT in local storage.

### 2. Express Server

Instead of storing the heroes data locally, it is now being served from a NodeJS app that uses Express. This app is in the `server` directory and it exposes endpoints for doing CRUD on the public and private heroes.

The server uses [**express-jwt**](https://github.com/auth0/express-jwt) to protect the secret hero endpoints. The middleware needs to be configured with your Auth0 (or your own) secret key and client ID.

```js
const authCheck = jwt({
  secret: new Buffer('AUTH0_SECRET', 'base64'),
  audience: 'AUTH0_CLIENT_ID'
});
```

### 3. Additional Components and Routes

There are a few additional components and corresponding routes to handle the secret heroes. They are:

* `SecretHeroesComponent`
* `SecretHeroDetailComponent`

These routes are restricted with the `AuthGuard` provided in `auth/auth-guard.service.ts`.

### 4. No More In-Memory Data Service

The `in-memory-data.service.ts` file has been removed because heroes are now being retrieved from the server.

## What is Auth0?

Auth0 helps you to:

* Add authentication with [multiple authentication sources](https://docs.auth0.com/identityproviders), either social like **Google, Facebook, Microsoft Account, LinkedIn, GitHub, Twitter, Box, Salesforce, amont others**, or enterprise identity systems like **Windows Azure AD, Google Apps, Active Directory, ADFS or any SAML Identity Provider**.
* Add authentication through more traditional **[username/password databases](https://docs.auth0.com/mysql-connection-tutorial)**.
* Add support for **[linking different user accounts](https://docs.auth0.com/link-accounts)** with the same user.
* Support for generating signed [Json Web Tokens](https://docs.auth0.com/jwt) to call your APIs and **flow the user identity** securely.
* Analytics of how, when and where users are logging in.
* Pull data from other sources and add it to the user profile, through [JavaScript rules](https://docs.auth0.com/rules).

## Create a free Auth0 account

1. Go to [Auth0](https://auth0.com/signup) and click Sign Up.
2. Use Google, GitHub or Microsoft Account to login.

## Issue Reporting

If you have found a bug or if you have a feature request, please report them at this repository issues section. Please do not report security vulnerabilities on the public GitHub issue tracker. The [Responsible Disclosure Program](https://auth0.com/whitehat) details the procedure for disclosing security issues.

## Author

[Auth0](auth0.com)

## License

This project is licensed under the MIT license. See the [LICENSE](LICENSE) file for more info.

gha_language: TypeScript


text:
## Week 7 Hierarchical models
#### Coding Club: Intro to mixed effects models

https://ourcodingclub.github.io/2017/03/15/mixed-models.html

#### Readings:

There’s Madness in our Methods: Improving inference in ecology and evolution

https://methodsblog.wordpress.com/2015/11/26/madness-in-our-methods/

R for Data Science Part IV Model Chapters 22 - 25

http://r4ds.had.co.nz/model-basics.html

filename: .md


text:
# Spiral Matrix

Company|Longgame
---|---
Date| 10/15/2018
Platform|Onsite Interview

A two dimensional matrix is given. Iterate over the matrix and return each value starting form the top-left corner to the top-right. From top-right to bottom-right. Form bottom-right to bottom-left. And from bottom-left to top-left except for the top-left corner you already have visited. Then continue with the inner elements.

Example:

Matrix:

1|2|3
:---:|:---:|:---:
4|5|6
7|8|9

Result = [1,2,3,6,9,8,7,4,5]

Link to LeetCode problem:
https://leetcode.com/problems/spiral-matrix/

repository: mathiasarens/codinginterviewquestions

path: /Spiral Matrix/README.md

repo_name: mathiasarens/codinginterviewquestions


text:
---
title: Fixing Browsersync Not Reloading
featured: false
layout: post
date: 2017-12-08 02:52:00 -08:00
last_modified_at: 2022-02-28T23:28:56.297Z
category: programming
---

I wanted to jot this down real quick while I work on the next version of this site. I'm using [Gulp](https://gulpjs.com) and [Browsersync](https://browsersync.io) and for the life of me I couldn't get the reload to actually take place. Turns out I didn't specify properly what files Browsersync needs to trigger when changed. Here's the `gulp.task()` that worked for me:

```js
gulp.task('browsersync', function (callback) {
  browserSync.init({
    proxy: 'localhost:2368',
    files: ['app/ **/*.hbs', 'app/assets/scss/** /*.scss']

  });

  callback();
});
```

Note the `files:` array added to the `browserSync.init()` function. That's the ticket, right there. Once I did that, it was magic sauce all over again.

repository: johlym/johnathan-org

repo_name: johlym/johnathan-org


text:
# Credits
This project is made possible by some other open source software, the copyright for these portions of software are held by authors listed below.

## Flex
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007 The Flex Project.

Copyright (c) 1990, 1997 The Regents of the University of California.
All rights reserved.

This code is derived from software contributed to Berkeley by
Vern Paxson.

The United States Government has rights in this work pursuant
to contract no. DE-AC03-76SF00098 between the United States
Department of Energy and the University of California.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

Neither the name of the University nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.

Copyright (c) 1990, 1997 The Regents of the University of California.
All rights reserved.

## Bison (under its GPL license exception)
Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.

## The Lemur Project
  Copyright (c) 2000-2014 The Lemur Project.  All rights reserved.

  Redistribution and use in source and binary forms, with or without
  modification, are permitted provided that the following conditions
  are met:

  1. Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in
     the documentation and/or other materials provided with the
     distribution.

  3. The names "Lemur", "Indri", "University of Massachusetts" and
     "Carnegie Mellon" must not be used to endorse or promote products
     derived from this software without prior written permission. To
     obtain permission, contact<EMAIL_ADDRESS>
  4. Products derived from this software may not be called "Lemur" or "Indri"
     nor may "Lemur" or "Indri" appear in their names without prior written
     permission of The Lemur Project. To obtain permission,
     contact<EMAIL_ADDRESS>
  THIS SOFTWARE IS PROVIDED BY THE LEMUR PROJECT AND OTHER
  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
  BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.

## Python 3.5.1
"Python" is a registered trademark of the Python Software Foundation.
1. This LICENSE AGREEMENT is between the Python Software Foundation ("PSF"), and
   the Individual or Organization ("Licensee") accessing and otherwise using Python
   3.5.1 software in source or binary form and its associated documentation.

2. Subject to the terms and conditions of this License Agreement, PSF hereby
   grants Licensee a nonexclusive, royalty-free, world-wide license to reproduce,
   analyze, test, perform and/or display publicly, prepare derivative works,
   distribute, and otherwise use Python 3.5.1 alone or in any derivative
   version, provided, however, that PSF's License Agreement and PSF's notice of
   copyright, i.e., "Copyright © 2001-2016 Python Software Foundation; All Rights
   Reserved" are retained in Python 3.5.1 alone or in any derivative version
   prepared by Licensee.

3. In the event Licensee prepares a derivative work that is based on or
   incorporates Python 3.5.1 or any part thereof, and wants to make the
   derivative work available to others as provided herein, then Licensee hereby
   agrees to include in any such work a brief summary of the changes made to Python
   3.5.1.

4. PSF is making Python 3.5.1 available to Licensee on an "AS IS" basis.
   PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED.  BY WAY OF
   EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND DISCLAIMS ANY REPRESENTATION OR
   WARRANTY OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE
   USE OF PYTHON 3.5.1 WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.

5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON 3.5.1
   FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS A RESULT OF
   MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 3.5.1, OR ANY DERIVATIVE
   THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.

6. This License Agreement will automatically terminate upon a material breach of
   its terms and conditions.

7. Nothing in this License Agreement shall be deemed to create any relationship
   of agency, partnership, or joint venture between PSF and Licensee.  This License
   Agreement does not grant permission to use PSF trademarks or trade name in a
   trademark sense to endorse or promote products or services of Licensee, or any
   third party.

8. By copying, installing or otherwise using Python 3.5.1, Licensee agrees
   to be bound by the terms and conditions of this License Agreement.

## Tokyo Cabinet (publised under GNU Lesser General Public License: LGPL v2.1)
Copyright (C) 2006-2011 FAL Labs

Tokyo Cabinet was written and is maintained by FAL Labs. You can contact the author by e-mail to<EMAIL_ADDRESS>
Website: http://fallabs.com/tokyocabinet

## Linenoise
Copyright (c) 2010-2014, Salvatore Sanfilippo <antirez at gmail dot com>
Copyright (c) 2010-2013, Pieter Noordhuis <pcnoordhuis at gmail dot com>

All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice,
  this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice,
  this list of conditions and the following disclaimer in the documentation
  and/or other materials provided with the distribution.

 IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

## libz
Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler

This software is provided 'as-is', without any express or implied
warranty.  In no event will the authors be held liable for any damages
arising from the use of this software.

Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.

Jean-loup Gailly        Mark Adler
<EMAIL_ADDRESS><EMAIL_ADDRESS>
## libbzip2
This program, "bzip2", the associated library "libbzip2", and all
documentation, are copyright (C) 1996-2010 Julian R Seward.  All
rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.

2. The origin of this software must not be misrepresented; you must
not claim that you wrote the original software.  If you use this
software in a product, an acknowledgment in the product
documentation would be appreciated but is not required.

3. Altered source versions must be plainly marked as such, and must
not be misrepresented as being the original software.

4. The name of the author may not be used to endorse or promote
products derived from this software without specific prior written
permission.

repository: tkhost/the-day-after-tomorrow

repo_name: tkhost/the-day-after-tomorrow


text:
# FisherClicker
FisherClicker is an Idle Clicker game developed using React/Redux.

# Install
To install, simply clone the project to a local folder and run NPM install

# Cache
Idle Clicker caches game data, so when you are debugging or developing, keep that in mind. Either clear the cache when you wish to make changes, or turn it off while developing:

const persistedStore = loadState();
const store = configureStore(persistedStore); //Change to const store = configureStore(); For dev/test

store.subscribe(() => {
  saveState(store.getState());
});

# Upgrades
Upgrades are located in the initial state, if you wish to change these simply edit them there. Remember to update actions and reducers if you are attemping to change functionality. They are split into two main groups, upgradesSale and upgradesFish, each responsible for fishing and selling. Located at:
src/store/initialState.js

If you wish to edit functionality, make sure to edit their respective upgradeSection as well as the score section if required. Located:

src/components/home/upgrades/upgragesFish
src/components/home/upgrades/upgragesSale
src/components/shared/header/score

repository: anthonyDrury/FisherClicker

gha_language: JavaScript

repo_name: anthonyDrury/FisherClicker


text:
# Pseudopalmula Cushman & Stainbrook, 1943 GENUS

#### Status
ACCEPTED

#### According to
Interim Register of Marine and Nonmarine Genera

#### Published in
Contr. Cushman Lab. , 19, 78.

#### Original name
null

### Remarks
null

repository: mdoering/backbone

repo_name: mdoering/backbone


text:
# threadload
Small console application to load all cores of a CPU close to 100%

threadload starts a thread for each CPU cores then waits for an interrupt signal. This loads each core to (near) 100%. This may be useful for stress testing a system, e.g. ensuring power management, thermal management, etc. is performing as expected.

On a POSIX system threadload should build using the command:

`
make
`

Executing `threadload` should start the process. Ctrl+C should terminate it.

repository: riban-bw/threadload

repo_name: riban-bw/threadload


text:
# Difficult Workplace Situations

### Projected Time

About 1 hour 20 minutes

### Prerequisites

- [Professionalism](professionalism.md)

### Motivation

You will definitely have difficult conversations in your career! Hence it is important to learn here some tips for successfully navigating through those tough times.

**Examples of some difficult situation one has to deal with in the workplace:**

- You’re overwhelmed with work
- Your manager quits or is fired
- The job you have is different from the one you applied for
- You keep running into conflict with a difficult co-worker
- Your manager doesn’t notice the work you do
  - Blog with many more [manager scenarios](http://annekrook.com/?page_id=824)
- You’ve made a major mistake that truly harmed your team
- You get a bad performance review
  [(hermoney.com)](https://www.hermoney.com/earn/work-life-balance/common-workplace-issues/)

### Objectives

**Participants will be able to:**

- Learn tools for having difficult conversations in the workplace
- Understand when you might need to have difficult conversations
- Build Self-Efficacy by thinking through a hypothetical difficult conversation

### Specific Things to Learn

- Why difficult conversations are difficult! Emotions, misinterpretations, assumptions.
- Being successful in a difficult conversation requires planning. - It's important to think about what you want to say and how you want to say it. - It's also important to know what you hope the outcome will be.

### Materials

- [How to Have Difficult Conversations at Work](https://www.forbes.com/sites/ashiraprossack1/2018/10/28/how-to-have-difficult-conversations-at-work/#27b1f5a410b7)
- [How to Have Difficult Conversations](https://www.psychologytoday.com/us/blog/some-assembly-required/201703/how-have-difficult-conversations)

- [Deal with Workplace conflicts - 7 min video](https://www.youtube.com/watch?v=qDfSYz0PX9g)

- [How to Deal with People You Don't Like at Work - 7 min video](https://www.youtube.com/watch?v=Pm8kU37u0Ho)

### Lesson

Having difficult conversations in the workplace can be emotionally charged making it difficult to communicate well.

Try to think of a time when you have had a difficult conversation in the past, either at work or in your personal life.  Now think about how that conversation could have been better if you were able to take the emotion out of it. It is easier to convey and recieve messages when you are calm and confident.

Additionally, when there is conflict we often make assumptions about why it is happening and the intentions of the others involved. Learning to take a step back and prepare for these times is essential to your success in the workplace.

Some situations that might require you to have difficult conversations at work include:

- Being passed up for a new role in the organization
- Finding it a struggle to collaborate with your team. Personalities can play a big part in the success or lack of success of a team.
- Feeling like the work environment is hostile or inequitable; or having colleagues who talk and/or joke inappropriately.
- Needing help with a mistake that you have made.

### Common Mistakes / Misconceptions

Sometimes avoiding the difficult conversation seems like the best route.

- We think we can ignore the inappropriate banter of colleagues.
- We make excuses in our head for why someone else got the new position that we wanted.
- It feels easier to ignore the conflicts with others on our team.

WRONG! These problems will continue to cause challenges if you avoid having the difficult conversation.

### Guided Practice

On slide 6 look at the scenarios being described and fill in the 'I should say...' box.

1. I should have been put on that project. That person is completely incompetent.
   I should say: I have experience with the work on that project. It surprised me that I wasn't assigned to that task.
2.
   I should say: The due date for this part of the project is approaching. What needs to happen to get it done?
3. You think that this project is impossible and it can't succeed. You just want me to fail.
   I should say: I feel as if this project is bigger than I originally realized. I need support from my team to complete it successfully.
4. You need to start working harder.  Can you share with me what you can do to meet deadlines more regularly?

### Independent Practice

Imagine that you are at a new job and one colleague has scheduled to collaborate/meet with you several times and then cancelled at the last minute. You need to meet with this person to take the next steps in the project that you are both working on. Use the list below to prepare for the conversation you will have with her.

What is the key problem to be addressed?
What impact is this having on you/the team/work?
What responsibility are you going to take for your part?
What do you want to achieve by the end of the conversation?

### Challenge

Script out exaclty what you would say to the co-worker.

### Check for Understanding

Find a partner or form a small group. Address the following questions:

> 1.  What was one difficult conversation/situation that you have had in the past? When did you know you had to have a difficult conversation?
> 2.  What ideas/strategies from this lesson would help you if you had to do it over again? Be specific!
> 3.  What are some common attitudes, reactions, or misconceptions that you an your group members have faced, that signaled the need for a difficult conversation?

In your small group, make up a hypothetical situation where you need to have a difficult conversation. Role-play the conversation as a group, using the ideas and strategies from this lesson.


text:
---
layout: post
title: "Why your pictures can look weird on mobile devices (and how to fix them)"
date: 2015-08-12 19:20:50 +0200
comments: true
sharing: true
categories:
- Photography
- Digital Life
description: "iOS is very particular when it comes to color management, which is why some of your pictures look weird when viewed on mobile devices. Here’s what you need to do to avoid that."
title-image: https://c3.staticflickr.com/9/8723/28266096082_df62e4c9f5_o.jpg
---

A few weeks ago I noticed something weird with some of my pictures: every time I opened a JPEG file from Lightroom on my iPhone the colors looked completely wrong and washed out, as if the image was heavily desaturated.

This is something I do often. When, for example, I want to [post a picture from my dedicated camera to Instagram](http://www.analogsenses.com/2015/06/17/sharing-pictures-from-a-dedicated-camera-on-instagram-what-works-and-what-needs-fixing/), I export it as a JPEG file using Lightroom, send it to my phone via iMessage or Dropbox, and upload it to Instagram. The problem is, by the time the pictures arrive to my phone, the colors are all messed up.

Take a look at this image, for example:

If you’re reading this on a Mac or a Windows PC, that should look fine. However, this is what that same image looks like when viewed on an iOS device:

And for those of you reading this on iOS devices, this is what both images _should_ look like:

Have I got your attention now? Good.

Remember, all three of those images are _the exact same file_. Since a Mac always displays the correct colors, I had to take screenshots on my iPad to be able to show you the difference. And what a difference it is. Here’s a side by side comparison, to further drive the point home:

OK, so what the hell is going on here?

##Welcome to the wonderful world of color management

The reason this phenomenon occurs is something called [color management](https://en.wikipedia.org/wiki/Color_management). From Wikipedia:

> The primary goal of color management is to obtain a good match across color devices; for example, the colors of one frame of a video should appear the same on a computer LCD monitor, on a plasma TV screen, and as a printed poster. Color management helps to achieve the same appearance on all of these devices, provided the devices are capable of delivering the needed color intensities.

> Parts of this technology are implemented in the operating system (OS), helper libraries, the application, and devices. A cross-platform view of color management is the use of an ICC-compatible color management system.

This definitely sounds like a great idea, at least on paper, but here’s the problem: iOS is _extremely_ particular when it comes to color management.

From Apple’s own [iOS Developer Library](https://developer.apple.com/library/ios/technotes/tn2313/_index.html#//apple_ref/doc/uid/DTS40014694-CH1-TARGETEDCOLORMGMT) (emphasis mine):

> iOS application development uses the targeted color management model. Your content is matched to the sRGB color space on the authoring platform. **This matching is not performed dynamically on the iOS device.** Instead, it happens during authoring on your Mac OS X desktop. (...)

> **Targeted color management may also occur when you sync content to your mobile device. In fact, iTunes running on the desktop provides color management to the iOS targeted color space when you sync content from iPhoto to your iOS device.**

What this means is that, when you sync your pictures to an iOS device using iTunes, your Mac is doing all the heavy lifting behind the scenes, making sure the images are color-matched to the [sRGB color space](https://en.wikipedia.org/wiki/SRGB) before copying them over to your device.

That’s a clever bit of engineering right there, but what happens if you don’t sync your pictures using a proper authoring tool such as iTunes? What if you simply copy some unmatched JPEG files over to your iPhone by, for example, iMessaging them to yourself or syncing them to a Dropbox folder?

Well, what happens is that iOS’s targeted color management system cannot find the proper relationship between the actual colors in your images and the colors of the sRGB space it knows how to work with, and therefore it can’t display accurate colors.

There are two critical factors at play here:

1. iOS devices are only able to resolve the sRGB color space.

2. The sRGB color space is considerably narrower than [Adobe RGB](https://en.wikipedia.org/wiki/Adobe_RGB_color_space), the color space typically used to calibrate computer displays, including Macs.

The Adobe RGB color space vs the sRGB color space. Image source: Wikimedia Commons.

iOS can’t deal with the Adobe RGB color space, which is why images matched to that color space look washed out when viewed on iOS devices. In order to avoid that, images must be color-matched to the sRGB space instead.

Therefore, if you’re working with JPEG files that happen to be matched to the Adobe RGB color space, you need to you make sure your images are converted to the sRGB color space _before_ copying them over to your iOS device, or you’re simply going to end up with washed out colors.

Unsurprisingly, this is exactly what Apple recommends doing (again, from the same iOS Developer Library document):

> When your content is imported, convert it to the working color space sRGB. **Even if your media is in a wider gamut (for example, raw photos), and your monitor can display wider than the sRGB gamut, your color managed application will translate those colors to sRGB, the color space for the finished product**. By using an sRGB working color space you can get an accurate prediction of what your media will look like when displayed on the actual iOS device.

As you may have guessed by now, most of my images had been matched to the Adobe RGB color space when I exported them to JPEG from my RAW files using Lightroom. This caused the weird effect you saw at the beginning of the article. It may sound like an insignificant detail, but the impact it can have on your images is profound. Here’s another example:

Luckily, if you’re experiencing this issue with your own images, there’s a simple way to configure Lightroom — or, I’m sure, your photo-editing application of choice — to make sure we always use the correct sRGB profile when exporting our images as JPEGs. Let’s see how we can do it.

##Lightroom’s “Export...” dialog

We access Lightroom’s export dialog via the menu item:

***File->Export...***

Alternatively, you can use the keyboard shortcut **⇧⌘E**.

On this dialog, we can configure the export settings for this batch of images, including their size, quality, resolution, name, metadata, etc. Crucially, it is here that we can select the appropriate color space for our files, too.

In order to do that, we must set the “**Export To**” drop-down menu on the top left to “**Hard Drive**”, and in the “**File Settings**” area on the right, we must set the “**Color Space**” drop-down menu to “**sRGB**”.

Once we’ve done this, we can save our settings as a new preset by clicking on “**Add**” in the lower left area, selecting a name for our preset and clicking “**Create**”. This way we’ll be able to simply select our preset next time we want to export photos, and everything will be properly configured.

And that’s it. As with most obscure settings, it’s really simple to change this one, but you absolutely need to know what you’re doing.

##Reasonable expectations

This was one of the most frustrating tech-related issues I’ve experienced in years, in no small part because I’ve realized that _all images ever published on Analog Senses_ — not to mention in my reviews for _Tools & Toys_ — use the wrong color space, and therefore _they all look wrong on mobile devices_. That’s something that pisses me off to no end.

Solving this problem was not technically difficult, but it required a level of research and technical reading that I’m not sure most people would feel comfortable doing. There needs to be a better way to approach color management on iOS, one that works for _all_ users, not only those technically savvy enough to navigate their way through Apple’s obscure support document library.

What I find most appalling about all this is that _by design_, the burden to make sure our images are matched to the correct color space falls squarely on us, the users. This may make sense from an engineering and resource-consumption standpoint, but from a user experience point of view, it leaves much to be desired. In general, I can’t help but feel that color management is something that should always happen automatically behind the scenes.

This is how colors should always look.

It may have required a wild dose of ignorance and bad luck together for me to run into this issue, but I don’t think it’s unreasonable for normal users to select the Adobe RGB color space when prompted to choose one by Lightroom, simply because it’s probably the only one that sounds vaguely familiar to non-tech people.

Moreover, since the difference is not immediately obvious on a computer screen, most users probably won’t realize what’s happened until they view their images on a mobile device, and by then it may be too late to do something about it.

If you want to make sure your images are always displayed accurately on mobile devices, follow the above steps (or find the appropriate ones for your photo-editing application of choice) to make sure you’re always using the sRGB color space when exporting your images. Yes, it’s a small additional step to add to your workflow, but it may save you a ton of headache down the road.

repository: analogsenses/source

extension: markdown

repo_name: analogsenses/source


text:
---
layout: post
title: New resolutions for 2015
categories: zombies
published: true
---

I have a *new* resolution.  This year will be different!  I can't be the only one...

Use post:\[permalink\] to link between pages
---------

For example, if you type `post : zombie-ninjas-attack-a-survivors-retrospective` (without the spaces), Gulp will automatically
resolve as:

    URL: post:zombie-ninjas-attack-a-survivors-retrospective

Which you can use within links, like the link to the [first post](post:zombie-ninjas-attack-a-survivors-retrospective)
where you may find more examples.

Under the covers this gets converted to the Swig variable: `% { { site.postpath("zombie-ninjas-attack-a-survivors-retrospective") } }%`

Use url:\[abspath\] to link to html files and static assets
--------

Similarly, to resolve an absolute url use `url : /img/350x150.png` (without the spaces) which you may use inside images:

    URL: url:/img/350x150.png

![Placeholder image](url:/img/350x150.png)

Under the covers this gets converted to the Swig variable: `% { {site.relpath("/img/350x150.png") } } %`

*To get the examples to appear on this page, extra spaces are added.*

It is better to be explicit with paths
--------

Prefer /blog/index.html over /blog or /blog/.

<!-- more -->

Break after More
---------

Notice how this site is generated using [Gulp](http://gulpjs.com/) alone, and all paths are relative...

You can safely generate content under your "/blog" directory without having to set a base url.


text:
Operating Systems: Three Easy Pieces Exercises And Projects

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

1. [Virtualization](./virtualization) - memory and scheduling
2. [Concurrency](./concurrency) - pthread api and semaphores
3. [Persistence](./persistence) - file systems
4. [Notes](./notes) - various notes about the three modules above
5. [Wish](./wish-shell) - shell project

repository: pythonpeixun/ostep

repo_name: pythonpeixun/ostep


text:
# Production Management System

Production Management System is developed to manage daily production of Serandib Technologies Asia (PVT) LTD. And Managers will be able to monitor all operations of employees.

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

Please make sure to update tests as appropriate.

## Libraries
controlsfx-8.40.11.jar |
jfoenix-8.0.8.jar |
mysql-connector-java-8.0.17.jar

## Screenshots
![Alt text](https://i.ibb.co/KV4DfhC/Screenshot-2.png "Login")
![Alt text](https://i.ibb.co/XWXz0hb/Screenshot-3.png "Register")
![Alt text](https://i.ibb.co/72BLVn0/Screenshot-4.png "Login Validate")
![Alt text](https://i.ibb.co/Nr1mwsH/Screenshot-5.png "Loading Data")
![Alt text](https://i.ibb.co/2hQYz5Z/Screenshot-6.png "Dashboard")
![Alt text](https://i.ibb.co/8jv3Ztz/Screenshot-7.png "Low stock warning")
![Alt text](https://i.ibb.co/9nd4zD3/Screenshot-8.png "Customers")
![Alt text](https://i.ibb.co/wCWKLnN/Screenshot-9.png "Taxi meters")
![Alt text](https://i.ibb.co/kB6YmBr/Screenshot-10.png "Add new meter form")
![Alt text](https://i.ibb.co/0n1TGYG/Screenshot-11.png "Job QC")
![Alt text](https://i.ibb.co/xDV5pHp/Screenshot-12.png "Component update form")
![Alt text](https://i.ibb.co/xSR7HnH/Screenshot-13.png "Hide main panel & show side panel")
![Alt text](https://i.ibb.co/rHD2Ss7/Screenshot-14.png "Additional options")
![Alt text](https://i.ibb.co/QQkb9wZ/Screenshot-15.png "About")
![Alt text](https://i.ibb.co/JsFJFM9/Screenshot-16.png "Edit profile")
![Alt text](https://i.ibb.co/YQLDSRV/Screenshot-17.png "Change profile image")
![Alt text](https://i.ibb.co/cXLBDxK/Screenshot-18.png "System users")


text:
# Performance Monitoring

Performance Monitoring
On Mac and Linux explore “top”, “htop”, and “free”. All can be used to show RAM (memory) and CPU (cores) utilization.
GPUs will have separate tools (for another Daily Challenge).

Windows has the Task Manager and perfmon and now Reliability Manager. For now it is enough to know that these
exist and how to start them.

Lots more here: https://www.tecmint.com/htop-vs-top-in-linux/ and https://blog.serverdensity.com/windows-monitoring-tools/

[Back to Table of Contents](https://github.com/Pomona-ITS/DailyChallenges/blob/main/README.md)

repository: Pomona-ITS/DailyChallenges

repo_name: Pomona-ITS/DailyChallenges


text:
# _Pokemon Arena_

#### _Pokemon game, 5/10/2017_

#### By _**Daniel Lopez, Michael Koceja, Brendan Hanna, Jordan Mysliwiec**_

## Description

Turn based game where each player has a pokemon and attacks the opposing pokemon. Each player has a regular attack and a special attack. Special attack has a higher probability of missing but does increased damage. Each player has 3 healing potions that restore 20 health points. Game ends when one pokemon has 0 health.

## Setup/Installation Requirements

* _Click on gh-pages link_
 _OR_
* _Clone repository_
* _Open "pokemon-game" folder_
* _Open "index.html"_

## gh-pages link
[Click here](https://dlopez6877.github.io/pokemon-game)

## Specs
| Behavior: this program | Inputs Example: when it receives | Output: it should return|
|------------------|:-------------:|------:|
|Eiether pokemon's attack 1 inflicts damage based on random number between 8-11|pokemon 1 uses attack 1|pokemon 2 sustains damage from 8-11|
|Pokemon 1's attack 2 inflicts damage based on random number between 15-19|pokemon1 uses attack 1|pokemon 2 sustains damage from 15-19|
|Pokemon 2's attack 2 inflicts damage based on random number between 20-30|pokemon 2 uses attack 2|pokemon 1 sustains damage from 20-30|
|For either pokemon, attack 1 has a 10% of missing|pokemon 1 uses attack 1| 1 out of 10 times, pokemon 2 sustains 0 damage|
|For either attack on either pokemon, there is a 10% of getting a critical hit, which adds 8 to that attack|pokemon2 uses attack 2, gets base damage of 25|33 damage is inflicted on pokemon 1|
|Pokemon 1's attack 2 has a 30% chance of missing|pokemon 1 uses attack 2| 3 out of 10 times, pokemon 2 sustains 0 damage|
|Pokemon 2's attack 2 has a 50% chance of missing|pokemon 2 uses attack 2| 5 out of 10 times, pokemon 1 sustains 0 damage|
|Each pokemon has 3 potions to use which restore their health by 20 points (unless they have 80 or greater health, in which case it restores it to 100)|Pokemon 1 click heal button|Pokemon 1 health increase 20|
|After a player takes a turn their buttons become disabled and opponents are enabled|player one attacks| playaer 2's turn|
|If either pokemon has no health after it's attacked, pokemon 1 wins|pokemon 2 health = 0|pokemon 1 wins|

## Known Bugs

None

## Support and contact details

_E-mail<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>
## Technologies Used

_CSS, Jquery, JavaScript, Bootstrap, Atom, GitBash_

### License

*MIT*

Copyright (c) 2017 **_Daniel Lopez, Michael Koceja, Brendan Hanna, Jordan Mysliwiec_**


text:
## [1.1.0] - 2023-05-19

- Add erb_lint rake task and config (optional dependency)
- Add prettier rake task and config (assumes yarn)

## [1.0.5] - 2023-03-16

- Add extra prefixes for spec contexts
- Allow repeated examples in policy specs

## [1.0.2] - 2022-09-02

- ignore multiple expectations in features and system specs

## [1.0.1] - 2022-08-30

- disabling Style/CollectionMethods as it causes an error with autocorrection

## [1.0.0] - 2022-08-29

- Bump dependency versions
- Compatibility with rubocop 1.35.1
- Relax example length rule for feature and system specs

## [0.1.1] - 2021-11-15

- Bump dependency versions
- Ensure compiled gem is excluded from source control

## [0.1.0] - 2021-10-20

- Initial release
- Disable new cops by default
- Enforce styles within the project

repository: katalyst/rubocop-katalyst

gha_language: Ruby

repo_name: katalyst/rubocop-katalyst


text:
# Jasmine Webpack Plugin

A simple webpack plugin that creates a specRunner.html file for running Jasmine specs
in the browser, e.g., for use with webpack-dev-server and hot module replacement for
fast development.

### Usage

In your webpack configuration:

```javascript
// webpack-test.config.js

var jasmineWebpackPlugin = require('jasmine-webpack-plugin');

module.exports = {
  entry: ['specRoot.js'],
  // ... more configuration
  plugins: [new JasmineWebpackPlugin()]
};
```

### Options

**filename** - output filename; defaults to _specRunner.html

**htmlOptions** - an object of options to pass to
    [HtmlWebpackPlugin](https://github.com/ampedandwired/html-webpack-plugin);
    defaults to ``{}``

### Notes

Webpack doesn't support wildcards in config.entry. As a workaround to easily build
and watch your spec files, you can provide something like this in your entry file:

```javascript
// specRoot.js

const requireAll = (requireContext) => { requireContext.keys().map(requireContext); };

requireAll(require.context('spec/helpers/', true, /\.js$/));
requireAll(require.context('spec/', true, /[sS]pec\.js$/));
```

See [require.context](https://webpack.github.io/docs/context.html#require-context)

repository: rpatterson/jasmine-webpack-plugin

repo_name: rpatterson/jasmine-webpack-plugin


text:
# GenerativeModels

This package is obsolete - it has been merged into [POMDPs.jl](https://github.com/JuliaPOMDP/POMDPs.jl).

Documentation for this functionality can be found here: http://juliapomdp.github.io/POMDPs.jl/latest/generative/

gha_language: Julia


text:
---
title: "glide.ldap.user.autoprovision"
description: "Property"
---

Description: Automatically import users from the LDAP servers if the user is not present in the 'sys_user' table

Value: `true`

repository: ASHISH-SERVICENOW/sn

repo_name: ASHISH-SERVICENOW/sn


text:
# Teams

The teams are subordinated to the league.

Currently, the following attributes can be viewed or edited through the form.

## Attribute table

| Feld       | Typ                   | Description                                          | Required           |
| ---------- | --------------------- | ---------------------------------------------------- | ------------------ |
| Federation | Select Box            | Select the federation you want to assign to the team | yes                |
| League     | Select Box            | Select the league you want to assign to the team     | yes                |
| Name       | Text input            | The name of the team                                 | yes                |
| Slug       | Text input (readonly) | The slug is automatically generated from the name    | yes /automatically |
| Upload     | File upload           | Here you can upload a picture to the team            | no                 |

### minimum attributes

| Feld | Typ        | Description          | Required |
| ---- | ---------- | -------------------- | -------- |
| Name | Text input | The name of the team | yes      |

---

## Create team

### Seasons & Tournaments | Teams

A team can be created in the area `Seasons & Tournaments | Teams` via the button **New Team**. By confirming the button `New Team` you will get to the form input and after successful completion of the form you can create the league by clicking the button `Create` or `Create & create another`.

![](../assets/teams.png)

!!! info
	The form input options can be found in the above [attribute table](#attribute-table).

!!! tip " `Create` or `Create & create another`"
	A click on the `Create` button will take you directly to the edit page of the record after creation.

	A click on `Create & create another` takes you back to the create team form, where you can enter another record.

![](../assets/create_and_create_another.png)

---

### Seasons & Tournaments | Leagues

A team can be added in the `Seasons & Tournaments | Leagues` section of the association edit form. Currently, only the most minimal information can be entered to create or edit a team. Please refer to the [minimum attributes](#minimum-attributes) table for this information.

![](../assets/leagues_create_edit_view_team_minimal.png)

![](../assets/league_create_team_minimal.png)

---

## Edit team

### Seasons & Tournaments | Teams

You can access the edit page a team via the listing table in the  `Seasons & Tournaments | Teams` section. Here you can select the desired record for editing and click on the edit icon. Clicking on the edit icon will take you to the edit form.

![](../assets/edit.png)

![](../assets/teams_index.png)

!!! info
	The form input options can be found in the above [attribute table](#attribute-table).

---

### Seasons & Tournaments | Leagues

A team can be edited in the `Seasons & Tournaments | Leagues` section of the association edit form. Currently, only the most minimal information can be entered to create or edit a team. Please refer to the [minimum attributes](#minimum-attributes) table for this information.

![](../assets/leagues_create_edit_view_team_minimal.png)

![](../assets/league_edit_team_minimal.png)

---

## View team

### Seasons & Tournaments | Teams

You can access the view page of a team via the listing table in the `Seasons & Tournaments | Teams` section. Here you can select the desired record to view and click on the view icon. When you click on the view icon, the record will be displayed in a dialog box.

![](../assets/view.png)

![](../assets/teams_index.png)

---

### Seasons & Tournaments | Leagues

A team can be viewed in the `Seasons & Tournaments | Leagues` section in the form for editing leagues. Currently, only the most minimal information can be viewed here. Please refer to the  [minimum attributes](#minimum-attributes) table for this information.

![](../assets/leagues_create_edit_view_team_minimal.png)

![](../assets/league_view_team_minimal.png)

---

## Delete team

You can delete individual records, a group of records or all records.

### Seasons & Tournaments | Teams

#### About the listing table

By default, you can delete team in the collection table as a whole. However, you can also delete individual records from your collection table by clicking the trash can icon.

![](../assets/delete_icon.png)

![](../assets/delete_selected.png)

![](../assets/select_all.png)

!!! danger
	Each deletion process is only implemented after successful confirmation of the previously displayed confirmation prompt. If the confirmation prompt is cancelled, the deletion process is also not executed.

---

#### Via the editing form starting from the list table

You can access the editing page of a team via the listing table. Here you have the possibility to remove the record by confirming the **Delete** button.

![](../assets/delete_button.png)

!!! danger
	Each deletion process is only implemented after successful confirmation of the previously displayed confirmation prompt. If the confirmation prompt is cancelled, the deletion process is also not executed.

---

### Seasons & Tournaments | Leagues

A team can be deleted in the `Seasons & Tournaments | Leagues` section of the league editing form by clicking on the trash can icon.

![](../assets/leagues_create_edit_view_team_minimal.png)

!!! danger
	Each deletion process is only implemented after successful confirmation of the previously displayed confirmation prompt. If the confirmation prompt is cancelled, the deletion process is also not executed.

gha_language: PHP


text:
# spotlight-cache-saver

> copies wallpapers from spotlight cache to desired location

## Installing
```javascript
npm install -g spotlight-cache-saver
```

## Using
```bash
spotlight-cache-saver # Will save spotlight cache to ./spotlight-cache
spotlight-cache-saver -o DIRECTORY # Will save spotlight cache to DIRECTORY
```

repository: kacpak/spotlight-cache-saver

repo_name: kacpak/spotlight-cache-saver


text:
# Recipe and Restaurant Locator
A website where users can choose whether they want to search for a food recipe or a restaurant near them based on type of food.

### Website: https://uoftgroup7.github.io/mealThyme/

### Criteria:
* Ask user what to search for
  *  Present different search questions depending on button clicked
  *  Verify user entered correct inputs
* Present results on main body of webpage
  * Include an image for recipes (if available)
  * Google maps direction for restaurants
* Results are cleared upon new search
* Results stored in local storage and persists on page refresh

### Web tools used
* HTML
* CSS
  *  Bulma CSS
  *  Basic CSS
* Javascript
* Edamam API (https://www.edamam.com/)
* ipFind API (https://ipfind.com/docs/)

## Contributors
* Tugrul
* Sarah
* Zohaib
* Zeid
* Tony

## Final Results

### Main landing page

### Recipe Results

### Restaurant Results

### Mobile Device Responsiveness

### Examples of Input and Error Checking

### Backend API call example


text:
# Mock

[![Build status](https://github.com/atreugo/mock/actions/workflows/build.yml/badge.svg?branch=master)](https://github.com/atreugo/mock/actions?workflow=build)
[![Go Report Card](https://goreportcard.com/badge/github.com/atreugo/mock)](https://goreportcard.com/report/github.com/atreugo/mock)
[![GoDev](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go&logoColor=white)](https://pkg.go.dev/github.com/atreugo/mock)

HTTP mocks

## Install

```bash
go get github.com/atreugo/mock
```

## Contributing

**Feel free to contribute...** :wink:

repository: atreugo/mock

repo_name: atreugo/mock


text:
2020-04-22 - 1.2.2 - Extra EC2 contact point

* Added extra EC2 contact point with instance id and private DNS (for SSM usage)

2018-03-08 - 1.1.0 - Custom filters

* Support extra filters for retrieving EC2 instances.
* Allow customization of the stage filter value.
* Improved description of the :aws_ec2_roles_tag variable.
* Removed Gemfile.lock.
* Order instances by name in the instances table.

2017-05-05 - 1.0.1 - Improved instances access

* Turn instances result into a hash, being able to access the instance by its id.
* Fixed aws_ec2 not being exposed to SSHKit.

2017-05-05 - 1.0.0 - Initial Release

* Add servers from multiple regions.
* Access EC2 client with the DSL in your custom tasks.

repository: buybay/capistrano-aws

repo_name: buybay/capistrano-aws


text:
# stratified_group_kfold
Stratified Group K-fold cross validation inheriting scikit-learn base class

## Background
K-fold cross validation can be performed in several manners like [StratifiedKFold](https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.StratifiedKFold.html#sklearn.model_selection.StratifiedKFold)
and [GroupKFold](https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GroupKFold.html#sklearn.model_selection.GroupKFold),
but a method combining these two has not been officially implemented in [scikit-learn](https://scikit-learn.org/stable/index.html).

This repository implements Stratified Group K-fold cross validation with inheriting scikit-learn base K-fold class for easier application with other scikit-lean classes. Repeated option is available.

Multilabel dataset can be dealt with [concatenating label columns](https://github.com/yu-ya-k/stratified_group_kfold/blob/3e4f9740ee596ef827e5ade8eff7b5bbe92a6f96/sgkfold/stratified_group_kfold.py#L27).

Detailed explanation of difference between each methods can be found [here](https://scikit-learn.org/stable/auto_examples/model_selection/plot_cv_indices.html#sphx-glr-auto-examples-model-selection-plot-cv-indices-py).

## Ref
This repository is based on implementation introduced in Kaggle notebooks by [Jakub Wasikowski](https://www.kaggle.com/jakubwasikowski/stratified-group-k-fold-cross-validation) and [sin](https://www.kaggle.com/underwearfitting/how-to-properly-split-folds)


text:
# Empório Tia Sônia

https://www.emporiotiasonia.com.br/

## storefront

[![CodeFactor](https://www.codefactor.io/repository/github/ecomclub/storefront/badge)](https://www.codefactor.io/repository/github/ecomclub/storefront)
[![license mit](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Netlify Status](https://api.netlify.com/api/v1/badges/ac85a3a2-c06d-4e69-98ce-40c2190db198/deploy-status)](https://app.netlify.com/sites/tiasonia/deploys)

PWA and JAMstack based e-commerce template for E-Com Plus stores

[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?stack=cms&repository=https://github.com/ecomclub/storefront)

[TEMPLATE CHANGELOG](https://github.com/ecomclub/storefront-template/blob/master/CHANGELOG.md)

**WIP**

repository: lojatiasonia/emporiotiasonia

gha_language: EJS

repo_name: lojatiasonia/emporiotiasonia


text:
# Watchman.py
Watchman is simply a Python script that will watch for changes to files in a specified directory and execute a Python callback when changes, additions, or deletions occur.

## Usage
* Install it on a Linux system by placing the file in the `/bin/` or `/usr/bin/` directory. (You may wish to rename it from `watchman.py` to `watchman`)
* In it's current state; it looks for a file called `.watchman.sh` which it will execute on a file change. This script should be in the directory the command is being launched from.
* Command to use is `watchman`.
* It accepts 1 command line argument which specifies the intended directory.

## Licence
Released under the **MIT Licence**

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

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

Copyright (c) 2015 Patrick Hennessy

repository: p-hennessy/watchman

repo_name: p-hennessy/watchman