text:
# Onboarding process for Hiring Managers

As the company grows, new hires are joining almost every week. The onboarding process the new hire goes through requires actions from both PeopleOps and the Hiring Manager. Some Hiring Managers are doing this for the first time and they don’t know what the process looks like, here they will find the necessary information.

## Before first day

   About ten days before the new hire starts (or as soon as they sign the contract, if they haven’t by that time) a Welcome email is sent to the new hire with the Hiring Manager in CC. Here we ask for certain information we need to get them onboarded:

 We confirm start date

 We confirm email preference

 We send out information about purchasing the laptop

 We ask for T-shirt size, for swag purposes, and address for shipping

 We ask for a selfie

 For US hires we inform about documentation needed for I-9 paperwork

 We ask for their phone number, for account setup

   And GitHub username, if they have one.

   PeopleOps

   About a week before the first day, the Hiring Manager needs to fill out this Google Form with all the relevant tools, channels and groups the new hire needs to be added to be able to start on day one. Also, here is where the preferred Onboarding buddy is suggested.

   Hiring Manager

   The Thursday before they start, we create their Sourcegraph email. Once we have this we add them to:

 Slack

 Zoom

 1password

 Greenhouse

 Lattice

 Process St.

And create a Check in meeting for new hires with PeopleOps after their first month.

   PeopleOps

   We will also let Hiring Managers know through the #people-ops channel in Slack that the email is live. Now you should:

 Create recurring 1:1 with new teammate

 Add new teammate to any team/role specific meetings and calls

  You must also make sure to provide documentation and context on on going projects your team is working on.

Having this done before day one will make it easier for the new hire and an overall better experience.

   Hiring Manager

   PeopleOps will contact the suggested buddy and make sure they are available. Once they accept, we’ll create a weekly recurring meeting for both of them to meet for a month.

   PeopleOps

   The Friday before they start, we will send an email. Here they will have the login details to start on their first day, the link to their Process St checklist and useful information (Onboarding buddy program, the Monday’s company meeting where they will be introduced, we are handbook first, etc.).

   PeopleOps

## First day

   You should notify new hires of any 1:1s they should have (any people on their team, or adjacent teams they will work closely with) so they can set them up.

   Hiring Manager

   Once the new hire accepts their Lattice account, we will link them to their manager. Also, once they’ve accepted their 1password account, we’ll give them access and share the Shared vault with them.

   PeopleOps

## Checklist

   PeopleOps and Hiring Manager will have certain tasks assigned to them on Process St. and they'll be able to follow the new hire’s progress in there, too.

   Hiring Manager & PeopleOs

   Checking the checklist before hand, will help keep in mind the content new hires will find there: the information they will be linked to, the tasks they have to complete and how much of the handbook they’ll cover.

   Hiring Manager

For any extra context, information or suggestions, please contact Inés Roitman (@Ines)

repository: Princesso/about

repo_name: Princesso/about


text:
---
layout: post
title: November 23rd - Partnership with God in Prayer
categories: [Verse of the Day]
alias: [/VerseOfTheDay/2008/11/23/]
---

_I Corinthians 11:24
And when He had given thanks, He brake it, and said, Take, eat: this
is My body, which is broken for you: this do in remembrance of me._

Imagine what it would be like to hear Jesus pray with His disciples
all gathered around Him. In this prayer, Jesus is thanking His
heavenly Father for being able to offer up His broken body for
mankind. When was the last time you thanked God for being able to
suffer for Him? Can you thank God for the trial that has brought you
closer to Him? May your prayers find new depth today.

 --

Jesus Every Day is a ministry of Rodgers Baptist Church in Garland, Texas.

license: MIT

branch_name: refs/heads/master

extension: markdown

gha_language: JavaScript

license_type: permissive


text:
# Apache Zookeeper AMI

Packer template to create an AMI with Apache Zookeeper installed.

All required initialization scripts, packages and configurations are included in this script.
This can be used to instantiate a zookeeper server in both standalone or cluster mode.

### Requirements

Install Packer and AWS Command Line Interface tools on your local machine. I am using Mac
so most of the commands and instruction here should work in a Mac.

Building the base image requires the id of the latest Debian AMI files
for the region where you wish to build the AMI.

#### Debian AMI

This AMI will be based on an official Debian AMI. The latest version of that
AMI will be used.

### Running packer

Below options are required to build the image. Check the json file
for other options that can be supplied.

```
Usage:
  packer build \
    -var 'aws_access_key=AWS_ACCESS_KEY' \
    -var 'aws_secret_key=<AWS_SECRET_KEY>' \
    -var 'aws_region=<AWS_REGION>' \
    -var 'zookeeper_version=<ZOOKEEPER_VERSION>' \
    [-var 'option=value'] \
    zookeeper.json
```

#### Script Options

- `aws_access_key` - *[required]* The AWS access key.
- `aws_ami_name` - The AMI name (default value: "zookeeper").
- `aws_ami_name_prefix` - Prefix for the AMI name (default value: "").
- `aws_instance_type` - The instance type to use for the build (default value: "t2.micro").
- `aws_region` - *[required]* The regions were the build will be performed.
- `aws_secret_key` - *[required]* The AWS secret key.
- `system_locale` - Locale for the system (default value: "en_US").
- `zookeeper_version` - *[required]* Zookeeper version.

#### Configuration Script

The script can and should be used to set some of the Zookeeper options as well
as setting the Zookeeper service to start at boot. The same script can be called
by ansible to start and configure the zookeeper

```
Usage: zookeeper_config [options]
```

##### Options

* `-D` - Disables the Zookeeper service from start at boot time.
* `-E` - Enables the Zookeeper service to start at boot time.
* `-i <ID>` - Sets the Zookeeper broker ID (default value is '1').
* `-m <MEMORY>` - Sets Zookeeper maximum heap size. Values should be provided following the same Java heap nomenclature.
* `-n <ID:ADDRESS>` - The ID and Address of a cluster node (e.g.: '1:<IP_ADDRESS>'). Should be used to set all the Zookeeper nodes. Several Zookeeper nodes can be set by either using extra `-n` options or if separated with a comma on the same `-n` option.
* `-S` - Starts the Zookeeper service after performing the required configurations (if any given).
* `-W <SECONDS>` - Waits the specified amount of seconds before starting the Zookeeper service (default value is '0').

To cconfigure a multi-node zookeeper

```
zookeeper_config -E -i 1 -n 1:zookeeper01.mydomain.tld -n 2:zookeeper02.mydomain.tld,3:zookeeper03.mydomain.tld -S
```

The script should be run as sudo user or root.

## Required ports

| Service      | Port      | Protocol |
|--------------|:---------:|:--------:|
| SSH          | 22        |    TCP   |
| Zookeeper    | 2181      |    TCP   |
| Zookeeper    | 2888:3888 |    TCP   |
| JMX          | 7199      |    TCP   |

repository: marvinlandicho/zookeeper-ami-builder

extension: md

repo_name: marvinlandicho/zookeeper-ami-builder


text:
# holiday_jp [![test](https://github.com/holiday-jp/holiday_jp/workflows/test/badge.svg)](https://github.com/holiday-jp/holiday_jp/actions)

Japanese holiday datasets

## holiday_jp Versions

| Version | 振替休日の表記 |
| --- | --- |
| v0.x | `振替休日` |
| v1.x | `勤労感謝の日 振替休日` |

| Version | 休日の表記 |
| --- | --- |
| v0.x | `国民の休日` |
| v1.x | `国民の休日`, `休日` |
| >= v1.2.2 | `休日` |

## Implementations

| Implementation | Release version using holiday_jp v0.x | Release version using holiday_jp v1.x |
| --- | --- | --- |
| [Ruby](https://github.com/holiday-jp/holiday_jp-ruby) | v0.7.x | - |
| [JavaScript](https://github.com/holiday-jp/holiday_jp-js) | v1.x | v2.x |
| [PHP](https://github.com/holiday-jp/holiday_jp-php) | v1.x | v2.x |
| [Java](https://github.com/holiday-jp/holiday_jp-java) | - | v2.x |
| [Swift](https://github.com/holiday-jp/holiday_jp-swift) | v0.1.x | v0.2.x |
| [Go](https://github.com/holiday-jp/holiday_jp-go) | - | master |
| [Elixir](https://github.com/holiday-jp/holiday_jp-elixir) | v0.2.2 | >= v0.2.3 |
| [C#.net](https://github.com/holiday-jp/holiday_jp-csharp) | - | v1.x |
| [Python](https://github.com/holiday-jp/holiday_jp-python) | - | latest |

## "Datasets" idea

[Project Woothee](https://woothee.github.io/)

## Test by syukujitsu.csv

syukujitsu.csv

出典：内閣府ホームページ ( https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html )

## Test by Google Calendar API

<EMAIL_ADDRESS>

gha_language: Ruby

gha_license_id: MIT


text:
---
id: utils-getting-started
title: @react-slate/utils: Getting started
sidebar_label: Getting started
---

Utility functions for altering and enhancing terminal apps.

## Installation

```bash
yarn add @react-slate/core @react-slate/utils
```

## API

### `hideCursor(stream: tty$WritableStream): void`

Hides cursor.

Contains side effects!

### Example

```js
import { hideCursor } from '@react-slate/utils';

hideCursor(process.stdout);
```

### `clearOnExit(stream: tty$WritableStream, shouldClearScrollback: boolean = false): void`

Clear screen or scrollback (if `shouldClearScrollback` is `true`) when process is about to exit.

Contains side effects!

### Example

```js
import { clearOnExit } from '@react-slate/utils';

clearOnExit(process.stdout, true);
```

### `clearOnError(stream: tty$WritableStream): void`

Clear screen (scrollback will be untouched) when process is about to exit due to an error.

Contains side effects!

### Example

```js
import { clearOnError } from '@react-slate/utils';

clearOnError(process.stdout);
```

### `overwriteConsole(options: OverwriteConsoleOptions): void`

Redirect console output to specified streams or files.

Contains side effects!

### Arguments

`options: OverwriteConsoleOptions`:

* `exitOnWarning: boolean` - Exit on first call to `console.warning`.
* `exitOnError: boolean` - Exit on first call to `console.error`.
* `outStream: boolean | string | NodeWritableStream` - Redirect console output to:
  * `stdout.log` if `true`
  * custom file if `string` with path is supplied
  * custom Node stream if writable node stream is supplied
* `errStream: boolean | string | NodeWritableStream` - Redirect console error output to:
  * `stderr.log` if `true`
  * custom file if `string` with path is supplied
  * custom Node stream if writable node stream is supplied

### Example

```js
import path from 'path';
import { overwriteConsole } from '@react-slate/utils';

overwriteConsole({
  outStream: path.join(process.cwd(), 'node_modules/.atrifacts/stdout.log'),
  errStream: true,
});
```

repository: singingwolfboy/react-slate

repo_name: singingwolfboy/react-slate


text:
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/R6R53OEFF)

# Tempus Dominus Date/Time Picker v6.7.10

Tempus Dominus is a powerful and robust date time picker for javascript. Version 6 is another major rewrite over the previous version. V6 is written with modern browsers in mind and is written in typescript. Bootstrap, momentjs and jQuery are no longer required dependencies. Popper2 is all that is required for the picker to position correctly. If you still require jQuery (seriously, you should move off that asap) there's a jQuery provider that wraps the native js functions.

# Ready State

V6 has shipped! You can see the [rough roadmap here](https://github.com/users/Eonasdan/projects/1).

# Community

Need help or want to discuss some? Join [the discord](https://discord.gg/BHS9jw9YPf).

Please also take a look at the [discussions](https://github.com/Eonasdan/tempus-dominus/discussions). There are several RFCs (Request For Comment) open, and you can help shape the future of the picker by participating in these discussions.

# Developers

## Building

Run `npm i` to install needed packages.

The docs folder contains the generated documentation site, don't modify this directly as it will be overwritten on build. The dist folder contains the built js/css files.

## Running

You can run `npm run serve` which will start a web server. Navigate to `http://localhost:3001/` to view the docs.

## Watching for changes

Do not run `npm run serve` at the same time.

Run `npm start`. This runs web server, the build and watchers for the docs, styles, and typescript.

## Where do you use this?

I'd love to know if your public site is using this plugin and list your logo on the documentation site. Leave [create a discussion](https://github.com/Eonasdan/tempus-dominus/discussions/categories/show-your-love) and let me know.

## Priority support is available at an hourly rate.

If you have an urgent request, bug or need installation help, please contact in the discord server.

repository: Eonasdan/tempus-dominus

gha_language: HTML

repo_name: Eonasdan/tempus-dominus


text:
### [CVE-2007-5447](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-5447)
![](https://img.shields.io/static/v1?label=Product&message=n%2Fa&color=blue)
![](https://img.shields.io/static/v1?label=Version&message=n%2Fa&color=blue)
![](https://img.shields.io/static/v1?label=Vulnerability&message=n%2Fa&color=brighgreen)

### Description

ioncube_loader_win_5.2.dll in the ionCube Loader 6.5 extension for PHP 5.2.4 does not follow safe_mode and disable_functions restrictions, which allows context-dependent attackers to bypass intended limitations, as demonstrated by reading arbitrary files via the ioncube_read_file function.

### POC

#### Reference
- https://www.exploit-db.com/exploits/4517

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

repository: trickest/cve

branch_name: refs/heads/main

repo_name: trickest/cve


text:
# Code 401 Prework: Code Challenges

Code challenges for Code 401 prework at Code Fellows

## Challenge 1: Array Max Result

**Problem Statement**
Given an array select a number that exists, and output the computed "score". The method created should take in both an array of integers and the integer the user selected.

Create a Console application that requests 5 numbers between 1-10. Output the array to the console and Ask the user to select a number. After the selection, output the "score" of the number chosen.

**Selection and Scoring Algorithm**
You can select any number from the list, however your scoring will be depend on the frequency of that number in the list. E.g for `[2,2,3,5,4]` if you pick 2 your score will be 4 (2 * 2) but if you pick 5 your score will be 5 (5 * 1)

Input Format
An array of integers, and the number chosen.

Sample Input
`[6,4,4,1,3]` , `4`

Sample Output
`8`

**Screen Capture of Successful Output**

Screenshot viewable [here](https://www.screencast.com/t/6zgk8ZRs).

## Challenge 2: Leap Year Calculator

**Problem Statement**
Given a year, report if it is a leap year.

Note that a leap year in the Gregorian calendar occurs:

on every year that is evenly divisible by 4
  except every year that is evenly divisible by 100
    unless the year is also evenly divisible by 400

For example, 1997 is not a leap year, but 1996 is. 1900 is not a leap year, but 2000 is.

**Screen Capture of Successful Output**

See screenshot [here](https://www.screencast.com/t/4eaal1Sd).

## Challenge 3: Perfect Sequence

**Problem Statement**
Given an array, return "Yes" if the sequence is considered a perfect sequence. Otherwise, return "No."

**Perfect Sequences**
A perfect sequence is a sequence in which all the elements are non-negative integers and the product of all of them is equal to their sum. For example: [2,2], [1,3,2] and [0,0,0,0] are perfect sequences and [4,5,6] and [0,2,-2] are not perfect sequences. Negative numbers of any kind are not valid in a perfect sequence.

**Input Format**
An array of integers (may not be sorted).

**Sample Input**
`[1,3,2]`

**Sample Output**
`Yes`

**Explanation**
1 * 3 * 2 = 6 && 1 + 3 + 2 = 6

**Screen Capture of Successful Output**

See screenshot [here](https://www.screencast.com/t/gC0xqQoYt).

## Challenge 4: Sum of Rows of Multidimensional Array

**Problem Statement**
Given a matrix of integers, return the sum of each row in a single dimensional array.

**Input Format**
A multidimensional array with the dimensions of m x n (m = rows, n = columns).

* Duplicate integers are possible.
* Negative numbers are possible.
* Both m and n can vary in length.
* The user should specify the length and the width of the array within the console. The array of the dimensions specified by the user is then populated with randomly generated numbers.

The method should take in the multidimensional array and return the single dimensional array with the sums.

Sample Input
`int[,] myArray = new int[3, 5] { { 1, 2, 3, 4, 5 }, { 6, 7, 8, 9, 10 }, { 11, 12, 13, 14, 15 } };`
^^ The actual input would just be myArray, but the above code shows the pre-initialization before the method is called.

Sample Output
`{15,40,65}` <-- an integer array

**Screen Capture of Successful Output**

See screenshot [here](https://www.screencast.com/t/5Eg2UbkiwoCb).

repository: cf-coursework/Prework-CodeChallenges

repo_name: cf-coursework/Prework-CodeChallenges


text:
# khutbah_jumat_old, before Feb 23, 2018

## 20130201 @TokyoTechSuzukakedai
The word al-ilm here, and in general if it is stated in quran and hadits,
refers to the islamic knowledge or shariah knowledge.
For other kinds of knowledge, it is also a must if they:
* help the diin,
* help people in doing ibadah to Allah,

To begin with,
The virtue of islamic knowledge: it is something that you inherit from the prophet
* knowledge is a sign that Allah loves us; if Allah loves you than Allah will drive you to study the knowledge
* knowledge is something eternal,
* knowledge is something that keeps you, in contrast wealth is something that you have to keep
* actions that are aimed to get knowledge will ease the way to the jannah
* Allah will respect more people who have iman and knowledge

Eternal things:
* sodaqoh jariyah; scholarship to study, paying people to study
* knowledge that is used by people; people can take benefit from the knowledge
* good/shaleh children that make doa

Kinds of islamic knowledge that needs to be studied:
* the knowledge by which we can perform ibadah to Allah, e.g. about wudu, fasting, zakat (only for the one who has an amount of wealth for which a zakat should be spent)
* muamalah, e.g. how the rule about marriage (fardu ain for people who want to marry)

Hasad (iri) is wanting to have something like someone; to be like someone.
Two things that are allowed to be hasad:
* rich people who spend it in the way of Allah
* knowledgeable people who use the knowledge, and teach the knowledge

the standard of knowledgeable people:
people who have knowledge are indicated by how scared (fear) they are to Allah;
Al fathir: 28

repository: yusufRahmatullah/islam

repo_name: yusufRahmatullah/islam


text:
# NodeJS MongoDB external populate for microservices

A MongoDb attribute population between different microservices, performed by [kue library](https://github.com/Automattic/kue).

## Installation

```
npm install mongo-ext-populate --save
```

Add to your project's **.env** file the variables like in the example (**.env.sample**).

## Usage

### Microservice A

The microservice A must call the function ```addListener``` to be notified when it has to make a query to populate an attribute.

```js
var extPopulate = require('mongo-ext-populate');

var name = 'key';     //key (eg. attribute name)
var params = {
  connectionString: 'mongodb://localhot:27017/db-name',     //connection string to database
  collection: 'collectionName'    //collection name
}

extPopulate.addListener(name, params, function (err, response) {
  console.log(response); // "Callback registered"
});
```

### Microservice B

The microservice B may request an attribute population by using:

* a function with callback
* an Express middleware

#### Function

```js
var extPopulate = require('mongo-ext-populate');

var id = '1';     //MongoDb ID or array of IDs
var attribute = 'key';     //equals to "name" attribute used by microservice A
var fields = {attr1: 1, attr2: 1, attr3: 0}    //fields

extPopulate.populate(id, attribute, fields, function (err, result) {
  //result is the populated object (or array of objects)
});
```

#### Middleware

```js
var ExtPopulate = require('mongo-ext-populate');
var express = require('express');
var router = express.Router();

var resultKey = 'key';
var extPopulate = new ExtPopulate(resultKey).PopulateMiddleware;

var attribute = 'key';     //equals to "name" attribute used by microservice A
var fields = {attr1: 1, attr2: 1, attr3: 0}    //fields selection

router.route('/api-route')
  .get(
    function (req, res, next) {
      res[resultKey] = '1' //id to be populates
    },
    extPopulate.populate(attribute, fields),
    function (req, res, next) {
      //res[resultKey] now contains the populated object
    },
    //other middlewares...
  )

```

## Test

### Setup

* Create **.env.test** file (copy and rename .env.sample).
* Create **logs/test.log file**.

### Run tests
```
npm test
```

### Coverage

```
npm run-script test-travis
```

## License

[MIT license](LICENSE)


text:
# Archived - Feel free to fork and upload to VSC Marketplace.

# JS & CSS Minifier

[![Visual Studio Marketplace](https://vsmarketplacebadge.apphb.com/installs-short/olback.es6-css-minify.svg)](https://marketplace.visualstudio.com/items?itemName=olback.es6-css-minify)
[![rating](https://vsmarketplacebadge.apphb.com/rating-star/olback.es6-css-minify.svg)](https://marketplace.visualstudio.com/items?itemName=olback.es6-css-minify)
[![Visual Studio Marketplace](https://vsmarketplacebadge.apphb.com/version/olback.es6-css-minify.svg)](https://marketplace.visualstudio.com/items?itemName=olback.es6-css-minify)
[![GitHub package version](https://img.shields.io/github/package-json/v/olback/es6-css-minify/3.0.svg?style=flat&logo=github&label=Github%20(This%20branch))](https://github.com/olback/es6-css-minify/tree/3.0)

If you found this extension useful and want to support further development, please consider [donating](https://www.paypal.me/olback).

# [Help wanted - New maintainer(s)!](https://github.com/olback/es6-css-minify/issues/140)

| OS | Status |
|----| ------ |
| Linux & MacOS | [![Build Status](https://travis-ci.com/olback/es6-css-minify.svg?branch=3.0)](https://travis-ci.com/olback/es6-css-minify) |
| Windows | [![Build status](https://ci.appveyor.com/api/projects/status/9xa8j6tq3vstixj2/branch/3.0?svg=true)](https://ci.appveyor.com/project/olback/es6-css-minify/branch/3.0) |

A simple Javascript & CSS minifier.
A `Minify` button should appear in the status bar when opening a `.js` or a `.css` file. You can also run `Minify: Document` by clicking `F1` or `CTRL+SHIFT+P`.

### Loading custom configs
By default the extension will look for `.uglifyrc`, `.cleancssrc` and `.autoprefixerrc`.
You can change the paths in settings. After changing settings in any of the config files, make sure to reload with `Minify: Reload config`. If the reload fails, make sure you don't have syntax errors in your config. If you want to go back to the default config, rename/delete your config file(s).

The config parsed by the extension is just passed to terser, clean-css or autoprefixer. If the output is diffrent from what you expected, please confirm that the issue is with the extension and not terser, clean-css or autoprefixer before opening an issue.

### Minify on save, `disabled` by default!
Minify on save can be enabled in settings.

### Generate source maps
Source maps can be generated by changing `es6-css-minify.genCSSmap` and `es6-css-minify.genJSmap` respectively.

#### Dependencies:
* [terser](https://www.npmjs.com/package/terser)
* [clean-css](https://www.npmjs.com/package/clean-css)
* [autoprefixer](https://github.com/postcss/autoprefixer)

gha_language: TypeScript


text:
# react-native-math-view

| Launch Test | Example App |
| --- | --- |
| ![Launch](./docs/launchAndroid.gif) | ![Example App](./docs/exampleAndroid.gif) |

## WIP V3

A react native view used to easily display and handle math.

## Installation

`npm install --save react-native-math-view`

**OR**

`yarn add react-native-math-view`

## Getting Started

```js
import MathView from 'react-native-math-view';

render() {
  return (
    ...
    	<MathView
	   math='x=\\frac{-b\\pm\\sqrt{b^2-4ac}}{2a}'
	/>
	<MathView
	   math='\\cos\\left(x\\right)=\\frac{b}{c}'
	/>
    ...
  );
}

```

## Running example app
From the project's directory run:
```
cd MathExample
yarn --production=false
npx react-native run-android
```

#### Developing:
From root run:
```
npm run dev
```
This will watch `ts` files and start bundler.

## Implementation:
  - [ ] [iOS native MathView](https://github.com/kostub/iosMath) - linked native! Need to create RN component

  - [x] Android MathView - **native since V2**, based on [Android SVGImageView](https://bigbadaboom.github.io/androidsvg). Need to implement `editable` state.

### FollowUp

[KaTeX](https://github.com/Khan/KaTeX) - Math keypad that works with `<WebView>`. See [this](https://github.com/ShaMan123/math-input)

[React with LaTeX](https://github.com/Pomax/BezierInfo-2) - using server side rendering to speed things up.

[Writing math dynamically](https://github.com/nicolewhite/algebra.js)


text:
Quiz App
===================================

This app represents Java multi-choice Questions.

It returns a 'final score' as well as 'marking the correct answers' after a participant submits the Questionaire.

Demo
----
![QuizApp demo](Readme_images/demo.gif "QuizApp demo")

Pre-requisites
--------------

- Android SDK v28
- Android Build Tools "28.0.3"
- Android Support Repository v7:28.0.0'
- Gradle version gradle-5.4.1

Built With
----------
Android Studio 3.5.1

Author
------
[Steven Mwesigwa](http://stevenmwesigwa.com/about "About Author")

Contact
-------
[Steven Mwesigwa](http://stevenmwesigwa.com/contact "Contact")


text:
---
title: "Our Daily Reading List - 09/07/2017"
author<EMAIL_ADDRESS>tags: ["margaret","Daily Readings"]
date: 2017-07-09 08:38:26
description: "1

Putting Probationary Periods on Probation #law #probation #lawyers #legal #legalprofession Read Here

2

10 Reasons Why You Need to Attend the Youpreneur Summit! #reasons #youpreneur #entreprene..."
---

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

1

### Putting Probationary Periods on Probation #law #probation #lawyers #legal #legalprofession [Read Here](http://www.slaw.ca/2017/07/02/putting-probationary-periods-on-probation/)

2

### 10 Reasons Why You Need to Attend the Youpreneur Summit! #reasons #youpreneur #entrepreneurship #business #success [Read Here](http://www.chrisducker.com/youpreneur-summit/)

3

### Supreme Court Dismisses Post-Closing Adjustment Claim @fpileggi #corporate #law [Read Here](https://goo.gl/7J5ho3)

Annotated Legal Contracts
for the Price of a Coffee

4

### How can I file a lawsuit for tortious interference? @PaytonLaw #commercial #law [Read Here](https://goo.gl/JRPycY)

5

### DDOS Attacks on the Rise @natlawreview #legal #technology  [Read Here](https://goo.gl/efP24u)

6

### The Life Cycle of a Private Equity or Venture Capital Fund @xandavie #socent #law [Read Here](https://goo.gl/S5SnFX)

repository: sahilkanaya/clausehound-blog

repo_name: sahilkanaya/clausehound-blog


text:
# .NET SDK Local Workload Installation Tool

This tool will help install .NET SDK workloads outside of the DOTNET_ROOT.  It's very rough and a stand-in for functionality that we expect to eventually add to the .NET SDK.  See https://github.com/dotnet/sdk/issues/18104.

Sample usage (from the `DotnetLocalWorkload` folder):

```
dotnet run -- install microsoft-net-sdk-blazorwebassembly-aot
```

This will download the workload packs for the specified workload and extract them into a folder under the ApplicationData folder.  It will also print out some environment variables that you will need to set in order for the .NET SDK to use those workloads.

```
To use local workloads, set the DOTNETSDK_WORKLOAD_MANIFEST_ROOTS environment variable to C:\Users\daplaist\AppData\Roaming\dotnet-local-workloads\sdk-manifests
To use local workloads, set the DOTNETSDK_WORKLOAD_PACK_ROOTS environment variable to C:\Users\daplaist\AppData\Roaming\dotnet-local-workloads\packs
```

After these messages there will be a lot more Console output, mostly for NuGet package downloading.  If you run the command again though it will see that the NuGet packages have already been downloaded and skip that part.

Once you've set those environment variables, then the .NET SDK should pick up the workload you installed with this tool.  You will need a recent preview build of the .NET SDK.  I tested with the latest version from `main` at the time I was testing it (6.0.100-preview.7.21356.4).  The released version of the Preview 6 SDK may also work with this.

repository: dsplaisted/dotnet-local-workload

repo_name: dsplaisted/dotnet-local-workload


text:
# 2048-iOS

2048 for iOS is an open source multiplayer version of 2048 game for iOS.

Multiplayer version of 2048 places players on a 1 on 1 matchup against their friends or other players from around the world. The game is played on a single board shared between both the players who take turns to play. The score of a player is computed by the number on the tiles that the player merges when playing his turn. The game ends when there are no moves remaining or someone reaches the 2048 tile. At this point, the player with the highest score wins the game.

**You can download 2048 for iOS [free on the App Store](https://itunes.apple.com/us/app/2048-addictive-number-puzzle/id844505418).**

## Getting Started

Run the following commands to get started:

    $ git clone https://github.com/Shyahi/2048-iOS.git
    $ cd 2048-iOS
    $ pod install
    $ open 2048.xcworkspace

Need help? Email<EMAIL_ADDRESS>or open an issue with specifics.

## Why is this open source?

This is open source since the app is free already. It is intended to be a source of sample code for everyone to benefit from.

## License

While it is not strictly forbidden by the license, I would greatly appreciate it if you didn't redistribute this app exactly the way it is in the App Store.

## Contributing

If you want to fix bugs, I'll love you forever! If you want to add some features, go ahead and submit a pull request.


text:
![alt text](http://webwabisabi.com/assets/images/pjt2/logosm.png)
# DayLearner is a micro learning app to help you focus on learning something new everyday using the micro-learning philosophy.
___________________________________________________________
## Contributors
* @camForrest
* @Ben Shurts
* @Christian Chavez
* @missybarringer
___________________________________________________________
## Links
* [GitHub Repository Link](https://github.com/missybarringer/Project-2.git)
* [Click here to see the DayLearner app in action](https://project-2-vbc.herokuapp.com/)

## The Problem
### It is easy to become overwhelmed with learning on the internet. Users want the plain & simple answer in small digestible pieces of content while learning on the go.
___________________________________________________________
## The Solution
### Getting into the habit of taking just a few moments out of your busy day will solidify if you keep enforcing it every day to make a part of your routine.
___________________________________________________________
## The MVP
### Search, Choose Topic, Read, Learn, & Save
___________________________________________________________
![alt text](http://webwabisabi.com/assets/images/pjt2/loginScrn.PNG)<br>
[View a recorded demo:](https://drive.google.com/file/d/1Iml4gSdEiPFMHG7EAY7FUVK1DGNNfowr/view)
___________________________________________________________
## Technologies used:
- Firebase Authentication
- Axios
- News API
- MySQL to store the articles
- JavaScript
- jQuery
- Node.js
- Express.js
- Handlebars
- Materialize
- CSS
___________________________________________________________
## License
*This product is licensed under the MIT License (MIT).
___________________________________________________________
## Contributing Guidelines
All contributions and suggestions are welcome!
For direct contributions, please fork the repository and file a pull request.


text:
WashingtonCoin - WASH

- In honor of George Washington

WashingtonCoin is an X11 PoW/PoS coin.

- X11 hash algorithm
- The coin will be PoW/PoS mixed initially. After 45 days, the coin will be a pure PoS coin.
- PoW/PoS block targets independently.
- 3 transaction confirmations
- 60 minted block confirmations
- Total coins will be 170 millions.
- PoS will be generated on a daily basis.
- 10% premine for bounties, fund servers/equipments and dev expenses.

PoW details:
- 60 sec PoW block target time
- difficulty retarget each block for PoW
- Initial payout will be between 512 to 1024 coins per block, determined randomly.
- Every day there will be a super block with 100X normal payment (can be as high as 102,400 coins)
- Superblock is true randomness, that is, no super mining power can predict and grab it.
- block payout will be halved every 15 days
- PoW will be shut down after 45 days.
- Total PoW coins minable will be around 48 millions (no precise number can be given due to the random nature of the coin).

PoS details:
- 60 sec PoS block time
- diff retarget each block for PoS
- minimum hold for PoS: 24 hours
- maximum hold for PoS: 30 days
- Variable PoS annual payout rate:
	- 1st year: 80%
	- 2nd year: 40%
	- 3rd year: 20%
	- 4th year: 10%
	- and subsequent years: 5%

Ports:
connection:	15150
RPC:			15151

repository: washingtoncoin/WashingtonCoin

repo_name: washingtoncoin/WashingtonCoin


text:
# PBS 139 of X — Bundling a Web App/Site with Webpack (Part 2)

Our [Webpack](https://webpack.js.org/) journey started with a look at how to use the tool to bundle a JavaScript library in [instalment 137](./pbs137). Then, in [the previous instalment](./pbs138) we introduced the concepts for using Webpack to bundle a web app or website, and made a good start on a worked example that already successfully bundled our own HTML, CSS & JavaScript, [jQuery](https://jquery.com/), [Luxon](https://moment.github.io/luxon/), and the [Bootstrap 5](https://getbootstrap.com/) CSS. In this instalment we'll pick up where we left off and add [Mustache templates](https://github.com/janl/mustache.js), Bootstrap 5 JavaScript, an icon font ([Bootstrap Icons](https://icons.getbootstrap.com/)), and a web font (from [Fontsource](https://fontsource.org/)) to our example app. That will give us a good broad sampling of the kinds of dependencies you're likely to need to bundle into your own projects.

Since we last used Bootstrap in the series it's gone from major version 4 to  5, so we'll take a pause to look at how JavaScript has changed in Bootstrap 5 as we bundle it into our example.

## Matching Podcast Episode

Listen along to this instalment on [episode 742 of the Chit Chat Across the Pond Podcast](https://www.podfeet.com/blog/2022/09/ccatp-742/).

<audio controls src="https://media.blubrry.com/nosillacast/traffic.libsyn.com/nosillacast/CCATP_2022_09_03.mp3?autoplay=0&loop=0&controls=1">Your browser does not support HTML 5 audio 🙁</audio>

You can also Download the MP3

## Episode Resources

* The instalment ZIP file — [pbs139.zip](https://github.com/bartificer/programming-by-stealth/raw/master/instalmentZips/pbs139.zip)

## Continuing our Worked Example

At the end of the previous instalment our worked example had just had a Bootstrap Alert added that showed the time the page was loaded. This alert was generated with [jQuery](https://jquery.com), and used [Luxon](https://moment.github.io/luxon/#/) to generate the date information.

That code will form the starting point for this instalment, but with the instalment numbers incremented appropriately. You'll find this version of the app in the `pbs139a-startingPoint` folder in the instalment ZIP. To see the app in action open a terminal in the folder and run `npm ci && npm run build`, then open `docs/index.html` in your browser.

![The web app before starting this instalment](assets/pbs139/screenshot-1-startingPoint.png)

You'll find the finished final version of the code for this worked example in the folder `pbs139a` in this instalment's ZIP. You can see it in action by opening that folder in the terminal, running the same command as above, and opening the generated `docs/index.html` in your browser.

### Step 6 — Refactor the Alert to use a Mustache Template (as a Webpack Asset)

Our alert is currently quite intrusive, it really should be dismissible! [Bootstrap 5 supports dismissible alerts](https://getbootstrap.com/docs/5.2/components/alerts/#dismissing), but the functionality depends on the alert containing the markup for a close button. We could add more jQuery code to our existing document loader handler to add the content into the Alert, but it would be much easier if we could edit the markup for the alert in a separate file. This is literally what templates are for, so let's use this as a reason to learn how to use [Mustache templates](https://github.com/janl/mustache.js) in a Webpack world.

The first step is to install Mustache as a regular dependency:

```sh
npm install --save mustache
```

This is an overly simplified example, so we'll just be using one template file, but in a real-world project you'll be using many templates, so it makes sense to save the templates into a dedicated folder. To make our example realistic we'll save our template in the folder `src/templates`, and we'll use the file extension `.mustache` to make the Webpack config easier to write and understand.

Copy the `pbs139a-2/src/templates` folder from the instalment ZIP into your folder as `src/templates`. It contains just one file, `alert.html.mustache`, which is the template for our Alert:

```html
<p class="alert alert-info alert-dismissible">
    Page loaded at {{localTime}} on {{localDate}}
    <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</p>
```

Note that we've added the `alert-dismissable` class as well as a close button and that we have two placeholders for data, `localTime` and `localDate`. Also, note the use of a double-file extension, the final `.mustache` facilitates the Webpack config, and the preceding `.html` is to tell me how the template's contents will be interpreted. I.e. this template will be rendered to HTML for injection into the DOM, so I can use HTML tags, and should use double *'mustaches'* so that special characters get replaced with their HTML-escaped equivalents.

Remember that to use Mustache's `Mustache.render()` function we need two things, some template text, and the data that will be used to populate the fields in the template. Up until this point in the series, we have been using `<script>` tags with IDs in our HTML markup to load our templates into our pages (for a detailed description see [instalment 73](./pbs73)). With Webpack 5's new [*Asset modules*](https://webpack.js.org/guides/asset-modules/) we can greatly simplify that import process.

You'll find an updated version of the Webpack config file (`webpack.config.js`) in the `pbs139a-2` folder in the instalment ZIP, copy this file into the root of your folder.

The only change in the file is the addition of a new rule in the `rules` array:

```js
{
  test: /\.mustache$/,
  type: 'asset/source'
}
```

This tells Webpack that any file ending in `.mustache` should be available for import into JavaScript as a *source asset*, i.e. the contents of the file should be read as a string.

With this config in place any Mustache template can be imported into a JavaScript file with an ES6 import statement of the form:

```js
const myTemplateString = import('./templates/myTemplate.type.moustache');
```

Note that the path is relative to the `entry` file configured in the Webpack config, i.e. relative to `src/index.js`.

You'll find an updated `index.js` file in the `pbs139a-2/src` folder, copy it into your `src` folder.

There are two changes in this file from the previous version. Firstly, we import both the Moustache module and our template near the top of the file:

```js
// import Mustache library & template
import Mustache from 'mustache';
import alertTpl from './templates/alert.html.mustache';
```

Again, note that the file path is relative to the entry point, i.e. `.` maps to `src`.

Secondly, the document ready event handler has been re-written to use Mustache to create the Alert:

```js
// a jQuery document ready handler
$(()=>{
    // update the greeting to show jQuery ran
    $('#world-modifier').text('jQuery');

    // build and add an alert with the loaded time
    const now = DateTime.now();
    const alertView = {
        localTime: now.toLocaleString(DateTime.TIME_SIMPLE),
        localDate: now.toLocaleString(DateTime.DATE_FULL)
    };
    const alertHTML = Mustache.render(alertTpl, alertView);
    $('.container').prepend(alertHTML);
});
```

If we now re-build our app by running `npm run build` we can now see our beautiful new alert:

![The web app with a Mustache-powered alert](assets/pbs139/screenshot-2-mustacheAlert.png)

Looks great, but what happens when you click the close button? Nothing 🙁 Why? Because we've not bundled Bootstrap's JavaScript yet!

### Step 7 — Import Bootstrap 5 JavaScript (& Bootstrap 5 JS Primer)

In previous instalments we've used Bootstrap 4, but as this instalment is being written (summer 2022), Bootstrap 5 is now the current stable release, so we'll be using that version in this worked example, and indeed in future instalments too. To understand the simple Bootstrap 5 code we'll be using to make our alert dismissible, let's take a brief pause to discuss Bootstrap 5's complete re-design of its JavaScript functionality.

#### Aside — JavaScript in Bootstrap 5

In terms of CSS, there is not that much change between Bootstrap 4 and Bootstrap 5, but in terms of JavaScript, the change is fundamental — Bootstrap 4's JavaScript was implemented as a series of jQuery plugins while Bootstrap 5 doesn't use jQuery at all, and delivers all its JavaScript functionality as a collection of ES6 classes.

It is possible to import all of Bootstrap's classes into a single dictionary, but this is very inefficient, and not advisable for anything beyond quick and dirty prototyping. Don't ever do this in production code, but here's how you import all of Bootstrap 5's classes into a dictionary named `BS`:

```js
// for prototyping only, NEVER DO THIS IN PRODUCTION
import * as BS from 'bootstrap';
```

If you do this, you then access the individual classes as keys in the `BS` dictionary, so the `Alert` class would be `BS.Alert`, and so on.

The right way to import Boostrap 5 classes is to specify the list of classes you will be using within the `import` statement, so you only get what you need, e.g. to get just `Alert` and `Toast` classes use:

```js
import { Alert, Toast } from 'bootstrap';
```

As a general rule, the way you apply Bootstrap 5 JavaScript functionality to an HTML element is to call the constructor for the appropriate Bootstrap class with the native JavaScript DOM object as the first argument.

E.g. if you have a variable named `alertDOM` that contains a reference to a native JavaScript DOM object, then you can enable Bootstrap Alert functionality like a dismiss button by calling the `Alert` constructor like so:

```js
new Alert(alertDOM);
```

While Bootstrap no longer uses jQuery, we will be, so how do we use jQuery objects with Bootstrap 5? The key is to remember that jQuery objects are simply wrappers around zero or more native JavaScript DOM objects. To make the wrapping easy to remove when needed, jQuery objects are implemented as array-like objects where the array elements are the native DOM objects, so if the jQuery object `$alerts` represents three DIVs, the native DOM objects for those three DIVs will be `$alert[0]`, `$alert[1]` & `$alert[2]`.

#### Making our Alert Dismissible

With that explanation out of the way, let's update our JavaScript code to name our alert dismissible.

You'll find the updated `index.js` file in the folder `pbs139a-3/src`, copy that file over your existing `src/index.js`.

Now, let's look at the changes that were made to this file. Firstly, we added an import for just the Bootstrap 5 `Alert` class:

```js
// import specific Bootstrap JavaScript Modules (just Alert)
import { Alert } from 'bootstrap';
```

The only other change needed was to update the document ready handler to apply the Bootstrap functionality to our alert, this is the relevant section of code:

```js
// build and add an alert with the loaded time
const now = DateTime.now();
const alertView = {
    localTime: now.toLocaleString(DateTime.TIME_SIMPLE),
    localDate: now.toLocaleString(DateTime.DATE_FULL)
};
const alertHTML = Mustache.render(alertTpl, alertView); // generate the alert HTML
const $alert = $(alertHTML); // build a JQuery object from the HTML string
const alertDOM = $alert[0]; // extract the underlying native DOM object from the jQuery object
new Alert(alertDOM); // Apply the Bootstrap 5 Alert functionality to the DOM object
$('.container').prepend($alert); // inject the alert into the top of the container
```

I've added more variables with more explicit names and more comments than I normally would to make the entire process as clear as possible.

We use Mustache to generate the HTML for the alert as a string, then we build a jQuery object from that HTML string. Because jQuery objects are just wrappers around DOM objects, the `$()` function will create a DOM object for us. We can then access that DOM object as array index zero, i.e. the DOM object representing the array is `$alert[0]`. We use the DOM object to apply the Bootstrap functionality, then we inject the alert into the page using jQuery as we normally would.

To see our alert working as intended simply re-build with `npm run build`, refresh your browser window, and click the close button!

### Step 8 — Import a Glyphicon Font (Bootstrap Icons)

To bring any web app to life, it really helps to include icons in the controls and alerts. By far the easiest way to do that is with an icon font. In past instalments we've used Font Awesome for this, but their business model has changed, so as of the summer 2022, they are no longer my preferred free icon font. (FWIW they are still my preferred commercial icon font, and I retain my paid subscription for my own projects.)

While they maintain it as a separate project, the good folks at Bootstrap have released a free icon font they've branded as [Bootstrap Icons](https://icons.getbootstrap.com), and that's my current recommendation for easy-to-use free icons on the web.

To get started, first install Bootstrap Icons with NPM:

```sh
npm install --save bootstrap-icons
```

Before we can import these icons successfully we need to configure Webpack to bundle the relevant file extensions as data URLs, that way we don't end up with a sea of files cluttering our `docs` folder.

You'll find the updated `webpack.config.js` file in the `pbs139a-4` folder, copy it over your `webpack.config.js`.

The only meaningful change is the addition of a new rule for the file extensions used by the Bootstrap Icons, but I did also take the opportunity to add more comments to the file as it was starting to get quite long.

This is the relevant new rule:

```js
{
    test: /\.(woff|woff2|eot|ttf|otf)$/i,
    type: 'asset/inline'
}
```

The CSS for the icon font references files of various types, and this rule tells Webpack that when it meets those files, it should convert them to an *inline asset*, which is Webpack jargon for a data URL (see [instalment 23](./pbs23) for more on data URLs).

With that configuration in place we simply need to update our entry point to import the CSS for the icon font.

You'll find an updated version of `index.js` in the `pbs139a-4/src` folder, copy that over your `src/index.js`.

The only change in this new version of the file is an import statement to import the icon font:

```js
import 'bootstrap-icons/font/bootstrap-icons.css';
```

Note that in this case, the official docs for the icon font did not tell me the path to the CSS file, so I had to resort to Google to get the correct import path.

With that done we can now use any of the icons listed on [the Bootstrap Icons page](https://icons.getbootstrap.com/#icons). Let's update our alert template to include a traditional info icon.

You'll find an updated version of `alert.html.mustache` in the `pbs139a-4/src/templates` folder, replace your `src/templates/alert.html.mustache` with this file.

This is the new markup for the alert:

```html
<p class="alert alert-info alert-dismissible fade show">
    <i class="bi bi-info-circle-fill"></i>
    Page loaded at {{localTime}} on {{localDate}}
    <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</p>
```

The relevant part is the inclusion of the `<i>` tag as copied-and-pasted from [the Bootstrap Icons page describing our desired icon](https://icons.getbootstrap.com/icons/info-circle-fill/).

With all these changes in place we can re-build our app with `npm run build`, and then re-fresh our browser to see the updated alert:

![The web app with a Bootstrap icon added to the alert](assets/pbs139/screenshot-3-iconAlert.png)

### Step 9 — Import a Web Font

One way to give your site a little character is to use a font that's not one of the small set that are guaranteed to be installed everywhere. The way to do that is with a web font. Rather than manually installing fonts and managing them as assets ourselves, we can use NPM and Webpack to take care of all that for us.

The best resource I have found for getting nice free fonts via NPM is [Fontsource](https://fontsource.org). They have a very large library of free fonts, with each font distributed as a separate NPM package. For our example let's use the very pretty cursive font [Architects Daughter](https://fontsource.org/fonts/architects-daughter).

The first step is to install the font via NPM:

```sh
npm install --save @fontsource/architects-daughter
```

Next, we need to import this module into our entry point.

You'll find an updated version of `index.js` in the `pbs139a-5/src` folder in the instalment ZIP, replace your `src/index.js` with this file.

The only change is importing the module:

```js
// import a nice handwriting web font
import "@fontsource/architects-daughter"
```

Next, we need to use this new font on our CSS. Let's use it for top-level headings.

You'll find an updated version of `index.css` in the `pbs139a-5/src` folder in the instalment ZIP, replace your `src/index.css` with this file.

The only change is the addition of a rule to apply the web font to all `<h1>` tags:

```css
h1{
    font-family: "Architects Daughter", cursive;
}
```

We can now re-built our app one last time with `npm run build`, then refresh our browser to see a very pretty hand-written greeting 🙂

![The final version of the web app with a cursive web font](assets/pbs139/screenshot-4-webFont.png)

## Final Thoughts

While this worked example doesn't do anything of value, it does use all the important parts of our programming toolkit, and it does so without overcomplicating things, making the Webpack functionality as obvious as possible. Webpack is an extremely powerful tool, and while we've covered the basics, it can do so much more. Hopefully, you feel inspired to start using it in your own coding projects, and when you inevitably run into scenarios we've not covered, you should be armed with enough knowledge to search for a solution and understand the results. But don't forget that Allison has built an excellent community in the [Podfeet Slack](https://podfeet.com/slack) with a channel dedicated to this series, so you can always share your questions there.

repository: bartificer/programming-by-stealth

repo_name: bartificer/programming-by-stealth


text:
---
title: Run and Test your API in the Cloud
toc: false
sidebar: labs_sidebar
folder: labs/lab2
permalink: /lab2_overview.html
applies_to: [developer,administrator,consumer]
---

## Objective

At this point, you have created a Node.js microservice application called **inventory** that is configured with an `item` data model backed by a MySQL data source.

In this lab you will publish your **inventory** application source code to Bluemix where it will run in the cloud, managed and protected by your API Connect instance.

You will learn:

+ How to publish a Node.js microservice application to Bluemix using the API Connect Toolkit
+ How to access the Developer Portal to test your application's API

## Continue

Proceed to [Publish App to Bluemix](lab2_publish_app.html).

repository: ibm-apiconnect/pot

repo_name: ibm-apiconnect/pot


text:
# PHP Project Skeleton

Basic project structure for a PSR-0 compliant PHP application. Already
setup with an example class and test case to show you the way.

## Installation

1. This project manages its dependencies with [Composer](http://getcomposer.org/).
Start by installing Composer:

        curl -s http://getcomposer.org/installer | php

2. Create project skeleton:

        php composer.phar create-project johnkary/php-skeleton

3. Start developing your own project by creating new files in `src` and
searching for libraries on [Packagist](http://packagist.org)

## Running tests

To execute this project's test suite:

1. Optionally copy and configure `phpunit.xml.dist` for your project's
environment:

        cp phpunit.xml.dist phpunit.xml
        vi phpunit.xml

2. Run the test suite:

        ./vendor/bin/phpunit

### Generating code coverage:

1. Ensure Xdebug is installed and configured.
2. Execute PHPUnit:

        ./vendor/bin/phpunit --coverage-html=coverage/

repository: johnkary/skeleton-for-rob

repo_name: johnkary/skeleton-for-rob


text:
## Contents
* [About EbookScrapper](https://github.com/nntoan/ebookscrapper#ebookscrapper)
* [Help & Usage Instructions](https://github.com/nntoan/ebookscrapper#help--usage)
* [Example Usage](https://github.com/nntoan/ebookscrapper#example-usage)
* [Screenshots](https://github.com/nntoan/ebookscrapper#screenshots)

# EbookScrapper

```
       ____              _
      |  _ \            | |
   ___| |_) | ___   ___ | | __
  / _ \  _ < / _ \ / _ \| |/ /
 |  __/ |_) | (_) | (_) |   <
  \___|____/ \___/ \___/|_|\_\
    _____
   / ____|
  | (___   ___ _ __ __ _ _ __  _ __   ___ _ __
   \___ \ / __| '__/ _` | '_ \| '_ \ / _ \ '__|
   ____) | (__| | | (_| | |_) | |_) |  __/ |
  |_____/ \___|_|  \__,_| .__/| .__/ \___|_|
                        | |   | |
                        |_|   |_|

                                 By : Toan Nguyen
```

It is simple, easy, and fast command line tool to download ebook's and save them in a directory. It is compatible with Python 2.7.x+ and Python 3.3.x+.

Ebook's are scrapped from [AllItEbooks](http://www.allitebook.com/). All these customizations are provided by this tool in addition to several others.

**EbookScrapper** makes use of 3rd party libraries for HTTP Requests and HTML processing. You need to fulfill these requirements before using this tool.

Fulfill the requirements by executing the following in bash shell.

```
pip install -r requirements.txt
```

The *requirements.txt* file is present in the repo.

# Help & Usage

	usage: ebookscrapper.py [-h HELP] [-l LOCATION]
	                [-le LASTEST] [-n EBOOK_NAME]

    EbookScrapper is simple, easy, and fast CLI tool to download ebook's and also
    save them in current directory.

    optional arguments:
      -h, --help            show this help message and exit
      -n, --name            Download a specified ebook by its name.
      -i, --isbn            Download a specified ebook by ISBN-10.
      -c, --category        Download all ebooks in a specified category.
      -l LOCATION, --location LOCATION
                            The location where ebook has to be downloaded. By
                            default stored in the current directory.
      -le, --latest         Download the newest version of an eBook.

# Example Usage

#### To download all ebooks or just one specified ebook

	python ebookscrapper.py <ebook_name>
						or
	python ebookscrapper.py <isbn>

*Example:-*

	python ebookscrapper.py "Reactive Web Applications"

	python ebookscrapper.py<PHONE_NUMBER>

#### To download all ebooks in a specified category

	python ebookscrapper.py -c <category-name>
						or
	python ebookscrapper.py --category <category-name>

*Example:-*

	python ebookscrapper.py --category "Programming"

#### To download the latest eBooks.

	python ebookscrapper.py <ebook_name> -le
	                or
	python ebookscrapper.py <ebook_name> --latest

*Example:-*

	python ebookscrapper.py "Reactive Web Applications" --latest

## Screenshots

Downloading all ebooks from "Programming"

![Downloading ebooks in "Programming"](http://i.imgur.com/.png)
---

Help Options

![Help Options](http://i.imgur.com/.png)
---

Directory structure.

![Usage Demo and Directory Structure made](https://i.imgur.com/.png)
---

## Support on Beerpay
Hey dude! Help me out for a couple of :beers:!

[![Beerpay](https://beerpay.io/nntoan/ebookscrapper/badge.svg?style=beer-square)](https://beerpay.io/nntoan/ebookscrapper)  [![Beerpay](https://beerpay.io/nntoan/ebookscrapper/make-wish.svg?style=flat-square)](https://beerpay.io/nntoan/ebookscrapper?focus=wish)

repository: nntoan/ebookscrapper

repo_name: nntoan/ebookscrapper


text:
# Seam-Carving
Implement a seam-carving algorithm for content-aware resizing

### find energy seam
![alt text](images/before.png)
![alt text](images/removeHorizontalSeam.png)
![alt text](images/removeVerticalSeam.png)

### content-aware resizing
![alt text](images/after.png)

 :sparkles:

repository: Arthur-Lanc/Seam-Carving

repo_name: Arthur-Lanc/Seam-Carving


text:
# Employee Tracker

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

- Github Repo: https://github.com/jacksolaro/employee-tracker
- Deployed App: NA

![](https://github.com/jacksolaro/employee-tracker/blob/main/app_demo.gif?raw=true)

## DESCRIPTION
---------------------
This project is an employee database. The initial company is set up to be ACME CORP but can be updated. This application allows the user to store employee, role, and department data in a mySQL database and access and manipulate that data via command prompt.

## TABLE OF CONTENTS
---------------------

* [Installation](#installation)
* [Usage](#usage)
* [Tests](#tests)
* [License](#license)
* [Contributions](#contributions)
* [Questions](#questions)

## INSTALLATION
------------
To use this application, you will need to install node as well as the inquirer and mysql packages

## USAGE
------------
1. Open the project in an IDE.
2. Install Node and node packages (inquirer, mysql)
3. Using the schema, create SQL database
4. Update the database information in the index.js file to match that of your mysql database
5. Run the index file via command prompt

## TESTS
------------
No testing instructions

## FUTURE RELEASES
------------
1. View Employees by Manager
2. Delete Departments, Roles, and Employees
3. View total utilized budget of a department -- ie the combined salaries of all employees in that department

## LICENSE
------------
This repository is covered under the [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) license.

## CONTRIBUTIONS
------------

## QUESTIONS
------------
Please direct all questions related to this repository to https://github.com/jacksolaro

repository: jacksolaro/employee-tracker

repo_name: jacksolaro/employee-tracker


text:
# Flask Blueprints

All web framework specific code is located in this directory.
Levarege [Flask Blueprints pattern](http://flask.pocoo.org/docs/1.0/blueprints/)
quite extensively.

## GitHub

Contains logic to integrate
[GitHub Webhooks](https://developer.github.com/webhooks/).
Also contains
[GitHub OAuth](https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/)
logic.

## Poller

This folder contains all endpoints that are used to trigger tasks.
The tasks are in the `apps` folder

The current workflow we have for periodic tasks:

- run GitHub Summary
- run job to post new tweets to Twitter
- run task to update Events database with new events from meetup
- run workflow to post upcoming events to a Slack channel

## Slack

Contains logic to integrate Slack webhooks.

We are currently using

- [Event Subscription API](https://api.slack.com/events-api)
- [Slash Commands](https://api.slack.com/slash-commands)
  - commands are dispatched to the command handlers using `EventEmitter`

repository: Thornycrackers-Forks/busy-beaver

repo_name: Thornycrackers-Forks/busy-beaver


text:
Github Basics
----------------
### Github Markdown Practice:
Heading
# This is `<h1>` tag
## This is `<h2>` tag
### This is `<h3>` tag
#### This is `<h4>` tag
##### This is `<h5>` tag
###### This is `<h6>` tag

__Lorem Ipsum__ has been the industry's standard **dummy** text ever since the *1500s*, when an [unknown](https://www.lipsum.com/) printer took a galley of type _and_ scrambled it to make a type specimen book.

##### Task List
- [x] Task item 1
- [x] Task item 2
- [x] Task item 3
- [ ] Task item 4
- [ ] Task item 5

###### Blockquotes
> Coffee. The finest organic suspension ever devised... I beat the Borg with it.
> - Captain Janeway

##### Code
```css
.dr-profile {
    background-color: #ddd;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
    height: 380px;
    position: relative;
    text-align: center;
}
```
```
.dr-profile {
    background-color: #ddd;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top center;
    height: 380px;
    position: relative;
    text-align: center;
}
```
##### List Items (Unordered list)
* List iten 1
* List item 2
* List item 3
  * List item 3a
  * List item 3b

##### List Items (Ordered List)
1. List iten 1
1. List item 2
1. List item 3
  1. List item 3a
  1. List item 3b

license: Unlicense

repository: rakibh/github-basics

repo_name: rakibh/github-basics


text:
# ArchUnit Maven plugin

[![Build Status](https://travis-ci.org/societe-generale/arch-unit-maven-plugin.svg?branch=master)](https://travis-ci.org/societe-generale/arch-unit-maven-plugin)
[![Coverage Status](https://coveralls.io/repos/github/societe-generale/arch-unit-maven-plugin/badge.svg?branch=master)](https://coveralls.io/github/societe-generale/arch-unit-maven-plugin?branch=master)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.societegenerale.commons/arch-unit-maven-plugin/badge.svg?style=plastic)](https://maven-badges.herokuapp.com/maven-central/com.societegenerale.commons/arch-unit-maven-plugin)

**ArchUnit Maven plugin** is a simple Maven wrapper around [ArchUnit](https://github.com/TNG/ArchUnit) that enables you to easily make sure that all your projects follow the same architecture rules.

ArchUnit is an awesome tool to implement some tricky checks that other static analysis tools can't implement at all : these checks run as unit tests, and guarantee that build will break if any violation is introduced, giving developers very fast feedback on their work.

 By default, you'll have no choice but copy/paste the rules (ie unit tests) in the 10 repositories. And if somebody removes one of these tests later, it may take months to realize it.

ArchUnit Maven plugin comes with a couple of rules out of the box (but you can add your own) : all you need is a bit of Maven config in your root pom.xml to make sure the rules you want to enforce are actually run at every build ! it then becomes very easy to have a proper governance on dozens of repositories.

And if you want to have regular reporting on which projects are using ArchUnit Maven plugin, with which rules, you can use our [GitHub crawler](https://github.com/societe-generale/github-crawler)

## How to use ArchUnit Maven plugin ?

Add below plugin in your root pom.xml : all available ```<rule>``` are mentioned, so remove the ones you don't need. If needed, specify in ```<projectPath>``` property the path of the directory where the rules will be asserted

```xml
<plugin>
	<groupId>com.societegenerale.commons</groupId>
    <artifactId>arch-unit-maven-plugin</artifactId>
    <version>3.0.0</version>
    <configuration>
        <properties>
            <archunit.propertyName>propertyValue</archunit.propertyName>
        </properties>
		<rules>
			<preConfiguredRules>
				<rule>com.societegenerale.commons.plugin.rules.NoStandardStreamRuleTest</rule>
				<rule>com.societegenerale.commons.plugin.rules.NoJunitAssertRuleTest</rule>
				<rule>com.societegenerale.commons.plugin.rules.NoJodaTimeRuleTest</rule>
				<rule>com.societegenerale.commons.plugin.rules.NoJavaUtilDateRuleTest</rule>
				<rule>com.societegenerale.commons.plugin.rules.NoPowerMockRuleTest</rule>
				<rule>com.societegenerale.commons.plugin.rules.NoPrefixForInterfacesRuleTest</rule>
				<rule>com.societegenerale.commons.plugin.rules.NoPublicFieldRuleTest</rule>

				<!-- you may want to use one of the below rules, but not both at same time -->
				<rule>com.societegenerale.commons.plugin.rules.NoTestIgnoreRuleTest</rule>
				<rule>com.societegenerale.commons.plugin.rules.NoTestIgnoreWithoutCommentRuleTest</rule>

				<rule>com.societegenerale.commons.plugin.rules.NoInjectedFieldTest</rule>
				<rule>com.societegenerale.commons.plugin.rules.NoAutowiredFieldTest</rule>
			</preConfiguredRules>
		</rules>
	</configuration>
	<executions>
		<execution>
			<phase>test</phase>
			<goals>
				<goal>arch-test</goal>
			</goals>
		</execution>
	</executions>
    <dependencies>
       <dependency>
           <!--
                A version of the core jar is included by default, but don't hesitate
                to upgrade to a later one if you need :
                we will be able to add rules and behavior in arch-unit-build-plugin-core
                without releasing a new version of arch-unit-maven-plugin
            -->
            <groupId>com.societegenerale.commons</groupId>
            <artifactId>arch-unit-build-plugin-core</artifactId>
            <version>SOME_CORE_VERSION_GREATER_THAN_THE_PLUGIN</version>
       </dependency>
    </dependencies>
</plugin>
```

## Dependency on arch-unit-build-plugin-core

Since v2.3.0, a lot of the original code from this repository has been moved to [https://github.com/societe-generale/arch-unit-build-plugin-core](https://github.com/societe-generale/arch-unit-build-plugin-core) , so that we can build a Maven or a Gradle plugin on top of a (common) [core logic](https://github.com/societe-generale/arch-unit-build-plugin-core/tree/arch_unit_build_plugin_core_2.3.0).

Therefore, since then, this repository is greatly simplified as it contains only Maven specific code and the adapters between Maven world and arch-unit-build-plugin-core.

This Maven plugin ships with a default version of arch-unit-build-plugin-core, but if new rules are added in arch-unit-build-plugin-core, you'll need to declare it as a dependency (as in the example above) to benefit from them. As long as there's no major change in the core API that would force us to update the Maven plugin, we won't have to release a new version of the plugin.

## Adding custom rules

### Add a single rule, for a given project

If you need to add a rule that is specific to a project, just add a regular ArchUnit test, as described on ArchUnit's homepage. You'll need to import yourself archUnit dependency, so please make sure to use the same version as in the plugin, otherwise there may be strange behaviors. ArchUnit Maven plugin will not be involved.

### Add a rule, and share it across projects

You can share custom rules by packaging the respective classes containing the rules in a jar.
Such classes can either contain fields of type `ArchRule` or methods taking a single parameter of type
`JavaClasses` (compare JUnit support at https://www.archunit.org/userguide/html/000_Index.html#_junit_4_5_support).
The classes those rules will be checked against are configured within the plugin.
Add the jar containing your classes to your classpath (by mentioning it as a plugin's dependency for instance),
and then mention the ```<rule>``` with its fully qualified name the ```<rules>``` block,
so that ArchUnit Maven plugin can instantiate it and run it.

So your config would become something like :

```xml

<plugin>
    <groupId>com.societegenerale.commons</groupId>
    <artifactId>arch-unit-maven-plugin</artifactId>
    <version>3.0.0</version>
    <configuration>

        <!-- optional - you can avoid build fail if there is issue. True to avoid build failure, default is false -->
        <noFailOnError>true</noFailOnError>

        <!-- optional - you can exclude classes that have a path containing any of the mentioned paths -->
        <excludedPaths>
            <excludedPath>my/package/to/exclude</excludedPath>
        </excludedPaths>

        <rules>
            <!-- using a rule available out of the box... -->
            <preConfiguredRules>
                <rule>com.societegenerale.commons.plugin.rules.NoJunitAssertRuleTest</rule>
            </preConfiguredRules>
            <!-- ... and a custom one, coming from a dependency of the plugin -->
            <configurableRules>
                <configurableRule>
                    <rule>com.tngtech.archunit.library.GeneralCodingRules</rule>
                    <applyOn>
                        <packageName>com.myproject.mypackage</packageName>
                        <!-- scope can be "main" or "test" -->
                        <scope>main</scope>
                    </applyOn>

                    <checks>
       	 	        <!-- otherwise you can specify either field or method names here. If no checks block is defined, all are executed -->
       	 		    <check>NO_CLASSES_SHOULD_ACCESS_STANDARD_STREAMS</check>
       	 	    </checks>
            </configurableRule>
       </configurableRules>

    </rules>
  </configuration>
  <executions>
    <execution>
      <phase>test</phase>
      <goals>
        <goal>arch-test</goal>
      </goals>
    </execution>
  </executions>
  <dependencies>
    <dependency>
        <!-- dependency contains com.mycompany.rules.CustomArchRule -->
        <groupId>com.myCompany</groupId>
        <artifactId>custom-quality-rules</artifactId>
        <version>1.0.0</version>
    </dependency>
  </dependencies>
</plugin>
```

## Skipping rules

In case of adding **ArchUnit Maven plugin** to a legacy code base you might not be able to enforce all rules immediately.
You may add **ArchUnit Maven plugin** to a parent POM of your Maven artifacts and still be able to skip execution in child
projects by using the skip-configuration.

### Skipping just one rule

Most of the time you add a new rule to your **ArchUnit Maven plugin** (which might immediately be available in all of
your artifacts) but the issues **ArchUnit** reveals using your rule may not be fixed as soon as you need to release the
next version of your artifacts.

## ArchUnit advanced configuration

Since v2.2.0, you can benefit from ArchUnit advanced configuration, as the plugin can find `archunit.properties` file. More infos
in [ArchUnit's user guide](https://www.archunit.org/userguide/html/000_Index.html#_advanced_configuration)

### Using `archunit.properties` file

ArchUnit loads its configuration [once](https://github.com/TNG/ArchUnit/blob/3df2e7d26c6b18b1c2d383088a37ac0f45020f78/archunit/src/main/java/com/tngtech/archunit/ArchConfiguration.java#L57) using the first `archunit.properties` file found as a resource in the classpath, then it's cached and reused.
This can cause surprises in multi-module Maven projects since the ArchUnit instance is in use takes its configuration from the first module it's used with, and doesn't get reconfigured for each module as might be expected.

For example, if you are packaging a [freezing rule](https://www.archunit.org/userguide/html/000_Index.html#_freezing_arch_rules) for use in a multi-module project,
the violation store location is configured once and isn't reconfigured for each module.
As a workaround the rule can be adapted to overwrite the configuration before triggering the freezing rule, as described in [#37](https://github.com/societe-generale/arch-unit-maven-plugin/issues/37#issuecomment-792115469).

### Using Maven `<properties>` configuration

Since v3.0.0, an alternative approach is to configure properties using the Maven plugin where properties can be configured without writing to an `archunit.properties` file.
The plugin will reconfigure ArchUnit for each module, complete with standard maven property expansion, before triggering the configured rules.

For example, if you are packaging a [freezing rule](https://www.archunit.org/userguide/html/000_Index.html#_freezing_arch_rules) for use in a multi-module project,
you can enable store creation and set the location relative to each module:

```xml
<plugin>
    <groupId>com.societegenerale.commons</groupId>
    <artifactId>arch-unit-maven-plugin</artifactId>
    <configuration>
        <properties>
            <freeze.store.default.allowStoreCreation>true</freeze.store.default.allowStoreCreation>
            <freeze.store.default.path>${project.basedir}/src/archunit/</freeze.store.default.path>
        </properties>
        <rules>
        ...
        </rules>
    </configuration>
</plugin>
```

See [here](https://github.com/societe-generale/arch-unit-maven-plugin/issues/37#issuecomment-792115469) for a workaround : you need to overwrite the
store location value in the cached configuration before triggering the freezing rule.

## Excluding paths

Since v2.4.0, configuration can take an optional `excludedPaths` element. All classes that have a location that contains one the mentioned Strings
will be excluded from the ArchUnit checks : can be useful in case some classes are generated (Lombok, Mapstruct, ..) and you have little or no control
on what gets generated.

See [ExclusionImportOption.java](https://github.com/societe-generale/arch-unit-build-plugin-core/blob/2a6f5d009b96a7921bf2de65fcc0aad85edc006a/src/main/java/com/societegenerale/commons/plugin/utils/ExclusionImportOption.java)
for details on the (very simple) logic.

Since v2.8.0, we can exclude something like `generated-sources`, even if the code ends up in the same package(S) as the regular code. See the
discussion in https://github.com/societe-generale/arch-unit-maven-plugin/pull/44 for more details

## Contribute !

If you want to make changes in the Maven specific behavior, don't hesitate to open on issue on this repository and/or create a pull request.

If you don't want to package your rules separately and/or feel they could be useful to others, we can make your rules part of
arch-unit-build-plugin-core, so that they can be used out of the box by anyone : don't hesitate to send us a pull request ! have a look at
the [code](https://github.com/societe-generale/arch-unit-build-plugin-core/tree/arch_unit_build_plugin_core_2.3.0/src/main/java/com/societegenerale/commons/plugin/rules)
, it's very easy to add one.

## Official maintainers

- Arpit Garg
- Vincent Fuchs

repository: societe-generale/arch-unit-maven-plugin

gha_language: Java

repo_name: societe-generale/arch-unit-maven-plugin


text:
---
layout: post
title: "PHP static analysis tools: PHP Code Standard the phpcs"
description: "A serie of PHP static analysis tool that will supports you in your daily work, in this post about a tool that check your code standard phpcs"
category: php
tags: [static analysis tool, code standard]
---
{% include JB/setup %}

I'd like to start a series of posts about PHP static analysis tool that will help you in your daily work, these tools will give you a better feeling of how your code is going, where you should improve and also it will keep you in constantly refactor/improvement in your code. To start this serie I chose the phpcs.

## PHP Code Standard: phpcs

I've written a post about code standard that forces you to write better code, and in this post I have mentioned a tool to make it possible, this tool is the PHP_Codesniffer, PHP Code Sniffer or phpcs.

### What is a code standard sniffer?

Code standard sniffer is a tool that inspects into your source code looking for something that violates the PHP code standard that you have defined.

The idea is if you or/and your team uses a code standard to write your PHP code, the phpcs will be responsible to check if all the source code created keeps the usage of code standard that you have defined.

### How to install it?

PHP_Codestandar (phpcs), it's a pear package, so it's quite easy to install this static analysis tool. Assuming that you have the pear installed in your machine (case not check here), you should just write this in your console:

    pear install PHP_CodeSniffer

In case that you don't want to install pear, you are able to clone the project from github:

    git clone git://github.com/squizlabs/PHP_CodeSniffer.git
    cd PHP_CodeSniffer
    php scripts/phpcs -h

### How to use it?

Once you have it installed you are able to start making use of it, phpcs already comes with some options of code standards, and PEAR is the code standard used as default.

So you are already able to check code standard:

####Check a single file:

    phpcs …/Lib/Gingo/Config.php

    FILE: …/Lib/Gingo/Config.php
    ----------------------------------------------------
    FOUND 37 ERROR(S) AFFECTING 19 LINE(S)
    ----------------------------------------------------
      2 | ERROR | Missing file doc comment
      4 | ERROR | Missing class doc comment
      4 | ERROR | Opening brace of a class must be on the line after the definition
      5 | ERROR | Spaces must be used to indent lines; tabs are not allowed
underscore
    ...

####Check a folder:

    phpcs checker/

    FILE: /path/checker/check.php
    ----------------------------------------------------
    FOUND 5 ERROR(S) AND 1 WARNING(S) AFFECTING 4 LINE(S)
    ----------------------------------------------------
      2 | ERROR   | Missing file doc comment
      2 | ERROR   | Missing class doc comment
      5 | ERROR   | Missing function doc comment
      5 | ERROR   | Private method name "Check::testingThisMethod" must be prefixed
        |         | with an underscore
     11 | ERROR   | Missing function doc comment
     13 | WARNING | Line exceeds 85 characters; contains 102 characters
    ----------------------------------------------------

    FILE: /path/checker/code.php
    ----------------------------------------------------
    FOUND 5 ERROR(S) AFFECTING 3 LINE(S)
    ----------------------------------------------------
     2 | ERROR | Missing file doc comment
     2 | ERROR | Missing class doc comment
     5 | ERROR | Class constants must be uppercase; expected TEST but found test
     7 | ERROR | Missing function doc comment
     7 | ERROR | Opening brace should be on a new line
     ----------------------------------------------------

    Time: 0 seconds, Memory: 4.75Mb

####You are also able to get a summary:

    phpcs -n --report=summary …/

    PHP CODE SNIFFER REPORT SUMMARY
    --------------------------------------------------------
    FILE                                    ERRORS  WARNINGS
    --------------------------------------------------------
    …/config/config.php                             3       0
    …/Development/webroot/css/style.css             5       0
    …/Development/webroot/index.php                 24      0
    …/Lib/Gingo/Config.php                          37      0
    …/Lib/Gingo/Exception/FileDoesNotExists.php     18      0
    …/Lib/Gingo/Exception/GingoException.php        16      0
    …/Lib/Gingo/Gingo.php                           35      0
    …/Lib/Gingo/Net/Cache.php                       106     0
    …/Lib/Gingo/Net/Handle.php                      3       0
    …/Lib/Gingo/Net/HandleCollection.php            1       0
    ...
    --------------------------------------------------------
    A TOTAL OF 1838 ERROR(S) AND 0 WARNING(S) WERE FOUND IN 27 FILE(S)
    --------------------------------------------------------

    Time: 1 second, Memory: 10.25Mb

####You are able to choose a different standard:

    phpcs checker/ --standard=Zend

    FILE: /path/checker/check.php
    ----------------------------------------------------
    FOUND 0 ERROR(S) AND 1 WARNING(S) AFFECTING 1 LINE(S)
    ----------------------------------------------------
     13 | WARNING | Line exceeds 80 characters; contains 102 characters
    ----------------------------------------------------

    FILE: /path/checker/code.php
    ----------------------------------------------------
    FOUND 1 ERROR(S) AFFECTING 1 LINE(S)
    ----------------------------------------------------
     7 | ERROR | Opening brace should be on a new line
    ----------------------------------------------------

    Time: 0 seconds, Memory: 3.50Mb

*List code standard installed:*

    phpcs -i
    The installed coding standards are MySource, PEAR, PHPCS, Squiz and Zend

####There are other several options:

*Restrict extensions:*

    phpcs /path/Project --extensions=php

*Ignore folders/files:*

    phpcs /path/Project --ignore=*/tests/*,file.php

*Replace tabs with spaces:*

    phpcs --tab-width=4 /path/Project/

And still having several other options that you can check in the PHP Code Standard documentation, I have just summarized up here the most used commands…

#### Write your own code standard

You are also able to write your own Code Standard definition as described here.

#### Automatize the checking process

You are also able to put phpcs to run with a Continous Integration such as Jenkins, and also set hook for your version control, for example svn and git.

#### To conclude

phpcs is a great tool to check if your team are keeping the usage of the code standard, it is also flexible enough for you to define your own code standard, and it is also possible to define automatic process to check that everyone is using the code standard, so do not hesitate to use this great tool, and as I have posted before, take advantage of a code standard that forces you write better code.


text:
---
title: Black Peak, Northeast Ridge
date: 2001-9-30
layout: post
location: Black Peak (Washington)
guests:
  - Steve
  - Josh
category: climbing
---

Well, this was to be our last overnight trip of the season, and we
wanted it to be a fun one. The nights are getting colder, and traces
of snow are starting to appear on north faces. Something on our list
has been the Northeast Ridge of Black Peak, which offers 1000 feet of
ridge scrambling high above surrounding valleys.
Steve and Josh drove
up from Portland, and we got off to a late start. I spilled milk in
Steve's car, crying bitterly.  We reached the trail-head at Rainy Pass
sometime after 10 am. The approach for this climb is ridiculously
easy, and we thought about other things to do this afternoon.

Following the trail up switchbacks in forest, we came to an unmarked
junction, almost choosing the wrong way (go right!). Soon we contoured
above Lake Ann, watching a man lazily circle the lake in a raft. The
lake has an inviting little island near the center. We came to Heather
Pass, and had great views of our mountain at the head of the next
valley. We wanted to climb Corteo Peak today, and decided to do it
from the Lewis Glacier further up. So we marched down the
boulder-field, missing any helpful bits of trail (it always takes the
way back to find the trail!), and being careful against ankle
injuries. We all had the lightest hiking boots we owned.

Clouds were coming in, and light drops of rain fell as we headed up a
ridge path near Lewis Lake.  Eventually, the trail ended, and we
continued on game paths to cliffs and steep, brushy slopes.  Yes, we
lost the trail again! But Steve gamely led us down from the cliffs,
and across some brush to a hidden valley with ancient campsites. It
appeared to have been very popular once, with rusted tin cans from the
1940s. We continued up a draw, then turned left to gain a ridge below
the Lewis Glacier moraine. Weird bits of twisted metal began to
appear, along with a geology student named Gary. He determined we were
looking at the remains of a very wrecked helicopter. Sure enough, big
pieces began to appear as we climbed, including a large door with the
word "ARMY" on it.

Gary took off for higher ground and we looked at our proposed route up
Corteo. The clouds were blocking any peaks above 7500 feet, and this
dampened our enthusiasm. We definitely wanted to be fresh and ready
for Black Peak in the morning, so we decided not to go. Continuing on
to Wing Lake, we had a mix of choice campsites to pitch the tent. We
had brought some great dinners, and Josh had playing cards and a
book. We were in for a fun evening!

Having set up the tent, we decided to hike up to the base of the
route, and see if we could leave crampons and ice ax back at the
tent. Wandering up, we crossed a creek, then climbed heather and scree
slopes to the glacier. At this time of day, it was easily walked. We
heard hammering on the cliffs, and finally realized it was Gary (the
geologist). We met up with him and went on a hike down a spur ridge on
the right side of the peak. We had excellent views into the next
valley to the north.  He was taking samples from rocks all around
here, a job that took the entire summer.

{% image /cmaimages/2001/blackpeak.jpg %}
Black Peak from Wing Lake
{% image /cmaimages/2001/heatherpass.jpg %}
The view from Heather Pass
{% image /cmaimages/2001/winglake.jpg %}
Beautiful Wing Lake and Corteo Peak
{% image /cmaimages/2001/sumblackpk.jpg %}
Two guys on the summit
{% image /cmaimages/2001/niceridge.jpg %}
Josh and Steve coming up the ridge
{% image /cmaimages/2001/westpeak.jpg %}
The West Peak: castellated spires
{% image /cmaimages/2001/stevefwdown.jpg %}
Steve looking for the way down. Mt. Goode is on the left
{% image /cmaimages/2001/steveupbp.jpg %}
Steve enjoying the loose rock

There were also some wild cliffs and gullies in this unnamed
valley. We couldn't resist trundling a few rocks down a long, steep
chute. We got back to camp by descending steep heather to a bench
below the glacier. Once there, we cooked our excellent dehydrated
meals, and drank hot chocolate as the stars came out. When the moon
emerged, it was painfully bright! I retreated into the tent and read
Josh's book. Black Peak looked ominous bathed in moonlight.

Morning came, and we quickly got ready for the climb. Hiking up, we
passed a party on the glacier, making fast time with crampons (you
could probably get away without them, but the ice got steeper near the
start of the route). With this party right behind, we scrambled up
loose ledges to the ridge.  The quality of the rock to this point was
not inspiring! At a notch we got our first views of the north side of
the peak, with a very crevassed glacier, and Grizzly Creek heading
away in a deep valley.  The shaded right side of the ridge was dusted
in snow. As we climbed we would occasionally venture to that side -
much colder but the rock was often better. I continued scrambling
another rope length until the ridge steepened and we needed to climb
about 100 feet to gain the crest. We roped up with our single 60 meter
rope, and I started off, straight up moderate terrain, then following
the crest.  Josh was in the middle, and Steve behind. We were all
pretty new to simul-climbing, but it is the best way to cover ground
quickly on a long ridge like this. I tried to keep several pieces of
gear on the rope at all times, and sometimes this was challenging. The
party behind us began belaying near the start of the ridge.

I ran out of gear and set a belay on the ridge. I might have gone
farther, but I didn't want to be short of gear at the upcoming steep
area. Steve took the next lead, on loose 5th class terrain.  He
climbed quickly, then belayed Josh and I up. Josh took a detour up a
loose overhang. When I got there I balked at the danger! Steve paid
out some slack and I went around the mess. Generally, the ridge is
safe but there are some areas where you could pull an avalanche of
crumbles down! From here we kept going, another simul-pitch for me to
a cold notch. Steve took us out to a flat area, and I took us for two
pitches to the base of a near-vertical wall. The lake and trees below
were getting very small, and still our ridge continued up. Steve
overcame the wall, and Josh and I followed. From here we had a long
simulclimb starting from a snowy face on the north side.  Mostly, we
walked and scrambled over the false summit, then down to a notch. At
the true summit, we found a cairn that seemed to indicate "go up." I
did, but because of a pretty hard move, I belayed Josh and Steve. We
reached the summit just as another party did. They had avoided this
hard move around to the right.

Congratulations to all! We looked around at everything, from Dome and
Glacier Peaks, to Stuart and Rainer, to the black wall of Goode across
the valley. We could see Forbidden and Boston Peaks, a jumble of rock
and snow in the Pickett Range (the McMillan Spires were especially
prominent), lonely Jack Mountain, and Silver Star to the east. We
could see Mesahchie where Steve, Chris and I had climbed a month
before.  The impressive view of the West Peak had us planning to come
back for another climb.  I devoured a dozen cookies I had been
stealing from Steve, and we soaked in the sunshine for about a half
hour. We were very happy with the climb, and just hoped the descent
wouldn't detract too much from it!

Getting down was a little tricky, without knowing the easiest
way. Finally we headed south on the summit ridge, then down a series
of ledges on the left to a relatively flat area. We stayed roped and I
placed gear as we down-climbed. After this 100 foot step, we saw by
cairns and boot tracks that we had trail, so we put the rope
away. Following the well-defined trail past several gullies, we were
amazed at how easy this was! Compare these "class 3" gullies to the
"class 3" descent from Mesahchie and you have a very big difference!
Eventually we ran into a few hikers going up, and offered
encouragement. Leaving gullies for a black rib, we kept going, and
were soon at a saddle. Straight down steeper trail here, and we were
in some great scree-skiing terrain for about 700 feet. Then the rocks
became larger and awkward, and we continued more slowly down to Wing
Lake. I went ahead alone to break down the tent.  Traversing to the
left off the big, awkward boulders, I found some more scree
terrain. Soon I was down, marveling at the beauty of the lake. Steve
and Josh were red and blue dots in the huge rock bowl.

At camp I packed up, soon met by Steve and Josh. We finished that
chore, ate some more, and hiked out.  We stayed on the trail to Lewis
Lake, having an easier time. Around 6 pm we started up the
boulder-field to Heather Pass, enjoying the trip because (once again)
we found and kept the faint trail that used every patch of dirt/forest
ground that could be pieced together. At the pass, we had a stunning
sight: the moon rising behind a distant mountain. As we watched, it
rose in the pink and blue sky, very large on the horizon. This vision
kept us occupied as we descended above Lake Ann, into deep
forests. This time I was the last to get the headlamp out, but I
finally gave in. Before we knew it, we were at the car, which smelled
like sour milk.

This is a shout-out to my homies Steve and Josh. "Word!"

repository: ripsawridge/site

repo_name: ripsawridge/site


text:
---
path: "/blogs/update-with-ens-and-gas"
date: "2020-02-01"
title: "WhatIsOnchain? update #1: ENS Lookup and ETH Gas Calculation"
author: "Johnson Lai (superoo7.eth)"
author_website: "https://twitter.com/jlwhoo7"
description: "WhatIsOnchain? #1 update ft. ENS Lookup and ETH Gas Calculation"
image: "https://whatisonchain.com/blogs/01_introduction_background.jpg"
hide_on_blogs: false
---

# First Update for WhatIsOnchain?

After a week break, I am back to update WhatIsOnchain?. This time, I had added 2 core features that I personally find it to be useful for while using Ethereum blockchain, which is ENS lookup and also Ether gas calculation.

## Feature 1: ENS Lookup

![](/blogs/03_ens.png)

[Try out the feature](/coins/ethereum/ens)

A handy tool for you to get the address for an ENS domain.

## Feature 2: Ether Gas Calculation

![](/blogs/03_eth_gas.png)

[Try out the feature](/coins/ethereum/info)

By using API from https://ethgasstation.info/, I am able to pull out the current gas fee on Ethereum blockchain.

## Shoutout to Genesis Dao

Thanks for the support of Genesis DAO, my [proposals](https://alchemy.daostack.io/dao/0x294f999356ed03347c7a23bcbcf8d33fa41dc830/proposal/0xb967781a8fbde196875d542ad223ff5b187740aac07db9212228c534256db96a) got approved and I am able to sustain this project with the grant.

repository: whatisonchain/whatisonchain

repo_name: whatisonchain/whatisonchain


text:
# Playgourd for us to try out anything we want

# Use Vagrant to create uniform development and testing environment

## Setup

- Install VirtualBox from: [https://www.virtualbox.org/wiki/Downloads](https://www.virtualbox.org/wiki/Downloads)

- Install Vagrant from: [http://downloads.vagrantup.com](http://downloads.vagrantup.com/)

- After you have installed VirtualBox and Vagrant on your computer, check out our repo on github:`git clone git@github.com:zhewangjoe/full-stack-tinyurl.git`. Make sure you have the correct access rights and the repository exists.

## Starting VMs

- Change directory to the project playground
  > cd full-stack-tinyurl/playgroud

- You can take a look at the Vagrantfile, or not

- Start your VM by type in:
  > vagrant up s1

  First time running it will be slow as Vagrant is pull the Ubuntu image from [Vagrant Cloud](https://vagrantcloud.com/). However, the bootstrap.sh will be executed everytime when you run this command. So you may want to utilize the snapshot function to take a snapshot once it's done (you can do this later).

  * NOTE: If this step is super slow, especially for those in China, you can follow below steps alternatively.
    1. Use any download tools to download the Ubuntu image separately from below url, or any url shown in the output message of the vagrant up command:
       https://atlas.hashicorp.com/ubuntu/boxes/trusty64/versions/20160801.0.0/providers/virtualbox.box
    2. Manually add the .box image to Vagrant
      * For Mac/Linux/Unix, run: `vagrant box add ubuntu-trusty64 path/to/virtualbox.box`
      * For Windows, run: `vagrant box add ubuntu-trusty64 file:///c:/path/to/virtualbox.box` (if the downloaded .box file is in C drive)
    3. Run the vagrant command again: `vagrant up s1`

- After the startup is done, record the time you spent approxmately to get to this stage

- Now run:
  > vagrant destroy -f

- Then run:
  > vagrant up s1

  again, and let me know on Wechat the time you spent this time and last time

- Now you can type in:
  > vagrant ssh s1

  To login the your VM. If you need to use root user, type in:
  > sudo su -

repository: fairyqiqi/ColorfulUrls

repo_name: fairyqiqi/ColorfulUrls


text:
# @deephaven/log

A logging library that can be used for modules to log different levels of logging, intercept console logging, and store a history of logs in memory for later consumption or exporting.

## Install

```bash
npm install --save @deephaven/log
```

## Usage

```javascript
import Log from '@deephaven/log'

// Set the level of logging you want in your app (default is INFO). This can be changed dynamically.
import { LoggerLevel } from '@deephaven/log'
Log.setLogLevel(LoggerLevel.DEBUG2);

// You can log messages directly without a module by calling the logging methods directly
Log.info('basic info level log message');

// Alternatively, create a log module to group log messages. All messages logged to this module will be prefixed with `[MyModuleName]`.
const log = Log.module('MyModuleName');

// The different possible logging methods. If the log level is set lower than the recorded method, it will not be logged.
log.debug2('debug2 level log message');
log.debug('debug level log message');
log.info('info level log message');
log.log('alias for log.info');
log.warn('warning level log message');
log.error('error level log message');

// Enable the LogProxy to intercept all console messages
import { LogProxy } from '@deephaven/log';
const logProxy = new LogProxy();
logProxy.enable();

// Enable the LogHistory to store all log messages in memory for later consumption or exporting (requires LogProxy to be enabled already)
import { LogHistory } from '@deephaven/log';
const logHistory = new LogHistory(logProxy);
logHistory.enable();
```

# Legal Notices

Deephaven Data Labs and any contributors grant you a license to the content of this repository under the Apache 2.0 License, see the [LICENSE](../../LICENSE) file.


text:
# Limitations

 - Need 'g++'
 - Will only look and load external imports (include) that are SYSTEM import; as sniprun does not have any way to differentiate between #include "math.h"  (the system library) and #include "math2.h" (your custom header), it will NOT look for #include "....", but only #include \<....>   (those are restricted to system libraries).

repository: DarwinSenior/sniprun

repo_name: DarwinSenior/sniprun


text:
# dr2synth
A 2 osc/voice synthesizer

[Demo](http://davidlukerice.github.io/dr2synth) site

## Features

* 2 oscillators per voice

## Installation

To use it, just clone this repo and install the npm dependencies:

```shell
$ git clone https://github.com/davidlukerice/dr2synth
$ cd my_app
$ npm install
```

## Scripts

All scripts are run with `npm run [script]`, for example: `npm run test`.

* `build` - generate a minified build to dist folder
* `dev` - start development server, try it by opening `http://localhost:8080/`
* `test` - run all tests
* `test:live` - continuously run unit tests watching for changes

See what each script does by looking at the `scripts` section in [package.json](./package.json).