text:
# GitHub API

## Documentation: https://developer.github.com/v3/

https://github.com/issues?utf8=%E2%9C%93&q=is%3Aopen+is%3Aissue+

https://developer.github.com/v3/

* https://help.github.com/categories/search/
* https://help.github.com/articles/searching-repositories/
* https://help.github.com/articles/searching-code/ << Only files under 384k are searched

* http://stackoverflow.com/questions/12882049/list-all-java-repositories-on-github-using-api?rq=1
* https://github.com/search?q=3D+extension:stl&type=Code&s=indexed

* https://api.github.com/search/repositories?q=tetris+language:assembly&sort=stars&order=desc
* https://api.github.com/search/repositories?q=language:Java&sort=stars&order=desc

* http://stackoverflow.com/questions/14731459/github-api-fetch-all-folders-and-files-in-single-get-request

## Activity

* https://developer.github.com/v3/activity/events/
* https://api.github.com/events
* https://api.github.com/feeds

* https://github.com/timeline
* https://github.com/jaanga/timeline << not

## Commits

* https://api.github.com/repos/jaanga/jaanga.github.io/commits
* https://api.github.com/repos/jaanga/terrain3/commits
* https://api.github.com/repos/jaanga/jaanga.github.io/commits?path=readme.md

* https://api.github.com/repos/ladybug-tools/spider/commits?path=README.md
* https://api.github.com/repos/ladybug-tools/spider-gbxml-tools/commits?path=README.md

***

## Events

* https://api.github.com/users/theo-armour/events/public
* https://api.github.com/repos/jaanga/jaanga.github.io/events
* https://api.github.com/repos/jaanga/terrain3/events
* https://api.github.com/repos/ladybug-tools/spider-gbxml-tools/events

not
* https://api.github.com/repos/jaanga/jaanga.github.io/events?path=cookbook-html/examples << not
* https://api.github.com/repos/jaanga/jaanga.github.io/events?type=PushEvent << not

***

## Gists

* https://developer.github.com/v3/gists/
* https://gist.githubusercontent.com/theo-armour/bb9527c8cff89a417b09eaeb6c8ae330

### Links of Interest

* https://gist.github.com/
* https://gist.github.com/theo-armour/bb9527c8cff89a417b09eaeb6c8ae330#file-gist-tips-and-bookmarks-md

### Typical

* https://gist.github.com/search?q=user:theo-armour
* https://api.github.com/users/theo-armour/gists
* https://api.github.com/gists/bb9527c8cff89a417b09eaeb6c8ae330

### Raw

* https://developer.github.com/changes/2014-02-21-gist-raw-file-url-change/
* https://gist.githubusercontent.com/VonC/9184693/raw/testNewGist

## Issues

* https://developer.github.com/v3/issues/

***

* https://api.github.com/repos/jaanga/jaanga.github.io/issues
* https://api.github.com/repos/jaanga/terrain3/issues
* https://api.github.com/repos/jaanga/terrain3/issues?labels=Status%20Update
* https://api.github.com/repos/fgx/fgx.github.io/issues?labels=Status%20Update
* https://api.github.com/repos/jaanga/jaanga.github.io/issues?state=closed

not
* https://api.github.com/repos/jaanga/jaanga.github.io/trees << none
* https://api.github.com/repos/jaanga/jaanga.github.io/branches
* https://api.github.com/repos/jaanga/jaanga.github.io/tags << not
* https://api.github.com/repos/jaanga/jaanga.github.io/references << not
* https://api.github.com/repos/jaanga/jaanga.github.io/events?state=open

* https://api.github.com/repos/jaanga/jaanga.github.io/followers << not
* https://api.github.com/repos/jaanga/jaanga.github.io/labels
* https://api.github.com/repos/jaanga/jaanga.github.io/comments

* https://api.github.com/repos/jaanga/jaanga.github.io/commit_activity

* https://api.github.com/repos/jquery/jquery/contributors?anon=true
* https://api.github.com/repos/jquery/jquery/contributors?login=jeresig << nope

* https://api.github.com/repos/jquery/jquery/issues?state=open&labels=bug
* https://api.github.com/repos/jquery/jquery/issues?state=closed << works
* https://api.github.com/repos/jquery/jquery/issues?locked=true << not work

***

## Miscellaneous

* https://developer.github.com/v3/misc/
* https://api.github.com/emojis
* http://www.webpagefx.com/tools/emoji-cheat-sheet/
* https://api.github.com/gitignore/templates
* https://api.github.com/licenses
* https://api.github.com/meta

### Rate Limits

* https://api.github.com/rate_limit

***

## Orgs

* https://api.github.com/orgs/

* https://api.github.com/orgs/ladybug-tools <<
* https://api.github.com/orgs/ladybug-tools/repos
* https://api.github.com/orgs/ladybug-tools/events <<

* https://api.github.com/orgs/jaanga
* lists number of repos

### Issues

* https://api.github.com/orgs/ladybug-tools/issues

## Organizations

* https://api.github.com/organizations?since=20000000
* https://api.github.com/organizations?q=followers:%3E20

***

## Repos

* https://developer.github.com/v3/repos/contents/
* http://stackoverflow.com/questions/15831313/is-it-possible-to-get-commits-history-for-one-file-in-github-api
* http://api.github.com/repos/:owner/:repo/commits?path=PATH_TO_FILE

e.g.

https://api.github.com/repos/izuzak/pmrpc/commits?path=README.markdown

### start here

* https://api.github.com/repositories?since=364
* http://api.github.com/repos/ < nothing

* https://api.github.com/repos/jaanga/jaanga.github.io << lists all calls
* https://api.github.com/repos/jaanga/terrain3
* https://api.github.com/repos/mrdoob/three.js

* https://github.com/mrdoob?tab=repositories

### Commits

* https://api.github.com/repos/jaanga/jaanga.github.io/commits
* https://api.github.com/repos/izuzak/pmrpc/commits?path=examples
* https://api.github.com/repos/jaanga/jaanga.github.io/commits?path=cookbook-html/examples

### Contents

Docs
* https://developer.github.com/v3/repos/contents/#get-contents

examples
* https://api.github.com/repos/mrdoob/three.js/contents/examples
* https://api.github.com/repos/jaanga/terrain3/contents/elevations-core3
* https://api.github.com/repos/jaanga/sp500/contents/trades
* https://api.github.com/repos/google/tracing-framework/contents/index.html?ref=gh-pages
* https://api.github.com/repos/nasa/NASA-3D-Resources/contents/3D Printing

Get the README << finds any readme!!

* https://api.github.com/repos/jaanga/jaanga.github.io/readme
* https://api.github.com/repos/torvalds/linux/readme

or
* https://api.github.com/repos/jaanga/jaanga.github.io/contents/readme.md

### License

* https://api.github.com/repos/benbalter/gman/license
* https://api.github.com/repos/jaanga/jaanga.github.io/license

### Issues

* https://api.github.com/repos/jquery/jquery/issues?state=open&labels=bug

### Pages

* https://api.github.com/repos/jaanga/jaanga.github.io

### Archive

* https://api.github.com/repos/jaanga/jaanga.github.io/zipball/master

### Statistics

* https://api.github.com/repos/jaanga/jaanga.github.io/stats/contributors

* https://api.github.com/repos/jaanga/stats < not

* https://api.github.com/repos/jaanga/jaanga.github.io/stats/commit_activity

* https://api.github.com/repos/jaanga/jaanga.github.io/stats/code_frequency

* https://api.github.com/repos/jaanga/jaanga.github.io/stats/participation

* https://api.github.com/repos/jaanga/jaanga.github.io/stats/punch_card

* https://api.github.com/repos/theo-armour/theo-armour.github.io/stats/code_frequency

### Tree

* https://developer.github.com/v3/git/trees/

* https://api.github.com/repos/jaanga/jaanga.github.io/git/trees/master?recursive=1
* https://api.github.com/repos/jaanga/terrain3/git/trees/gh-pages?recursive=1
* https://api.github.com/repos/jaanga/terrain3/git/trees/gh-pages?recursive=1
* https://api.github.com/repos/nasa/NASA-3D-Resources/git/trees/master?recursive=1

### Webhooks

* https://api.github.com/repos/jaanga/jaanga.github.io/hooks

***

## Users

* https://developer.github.com/v3/users/

* https://api.github.com/users
* all users starting with id: 1

* https://api.github.com/users?since=20000000

* https://api.github.com/users/theo-armour
* lists repo count. gists, etc

### Events

http://stackoverflow.com/questions/18733424/how-can-i-get-a-list-of-all-github-pushevents-for-a-user
* No way to filter

* https://api.github.com/users/theo-armour/events?per_page=100

* pre-sorted by date and time. Most recent first

* https://api.github.com/users/theo-armour/events?type="WatchEvent"

* https://api.github.com/users/jaanga/events?path=cookbook-html/examples < not

* https://api.github.com/users/jaanga/events?login=redheli < not

## Search ~ API

* https://developer.github.com/v3/search/
* http://stackoverflow.com/questions/24132790/how-to-search-for-code-in-github-with-github-api
* https://www.quora.com/How-many-users-does-GitHub-have

### Code

* https://api.github.com/search/code
* https://api.github.com/search/code?q=repo

Examples
* https://api.github.com/search/code?q=MIT%32License%32path:project.clj
* https://api.github.com/search/code?q=addClass+repo:jquery/jquery+filename:classes.js
* https://api.github.com/search/code?q=repo:mrdoob/three.js+filename:CameraHelper.js
* https://api.github.com/search/code?q=repo:jaanga/sp500/trades
* https://api.github.com/search/code?q=repo:ladybug-tools/spider-gbxml-tools+filename:README.md

not
* https://api.github.com/search/code?q=3D+extension:stl << not

### Issues

* https://api.github.com/search/issues?q=windows+label:bug+language:python+state:open&sort=created&order=asc
* https://api.github.com/search/issues?q=user:jaanga+repo:jaanga.github.io+state:open&sort=created&order=asc << ignores the repo
* https://api.github.com/search/issues?q=repo:jaanga/jaanga.github.io
* https://api.github.com/search/issues?q=@paulmasson+repo:jaanga/jaanga.github.io+state:open&sort=created&order=asc
* https://api.github.com/search/issues?q=language:js+created:2016-06-25
* https://api.github.com/search/issues?q=user:theo-armour

js or JavaScript: both OK
* https://api.github.com/search/issues?q=created:2016-06-25&sort=comments&order=desc

### Repos

sort stars, forks update

* https://api.github.com/search/repositories?q=stars:%3E20000
	* Access to the most popular repos on GitGub

* https://api.github.com/search/repositories?q=tetris+language:assembly&sort=stars&order=desc

* https://api.github.com/search/repositories?q=webgl&sort=stars&order=desc <<

* https://api.github.com/search/repositories?q=forks:%3E9000&sort=forks&order=asc < OK
* https://api.github.com/search/repositories?q=commits:%3E1000 < bogus

* https://api.github.com/search/repositories?q=forks:%3E2000+type:org&sort=forks&order=desc < not
* https://api.github.com/search/repositories?q=type:org&sort=forks&order=asc < not good
* https://api.github.com/search/repositories?q=collaborators:%3E20&sort=stars&order=asc < not good

From https://gist.github.com/jasonrudolph/6065289
* https://api.github.com/search/repositories?q=created:%3E2016-06-20&sort=stars&order=desc

* https://api.github.com/search/repositories?q=type:org
* https://api.github.com/search/repositories?q=followers:%3E1000

* https://api.github.com/search/repositories?q=jaanga
* https://api.github.com/search/repositories?q=user:jaanga

* https://api.github.com/search/repositories?q=@jeresig-language:javascript << not

* https://api.github.com/search/repositories?q=repo:jaanga/jaanga.github.io&sort=created&order=asc

### Users
* https://www.quora.com/How-many-users-does-GitHub-have

From https://gist.github.com/jasonrudolph/6065289

#### basic
* https://api.github.com/search/users?q=

type
* https://api.github.com/search/users?q=type:org
* https://api.github.com/search/users?q=type:org&order=asc  < not
* https://api.github.com/search/users?q=type:org&sort=created&order=desc < no sorting
* https://api.github.com/search/users?q=type:org+created:%3E2016-08-28&sort=stars&order=asc
not
* https://api.github.com/search/users?q=stars:%3E20+type:org < not

followers
* https://api.github.com/search/users?q=followers:%3E1000
* https://api.github.com/search/users?q=followers:0
* https://api.github.com/search/users?q=followers:>20
* https://api.github.com/search/users?q=followers:%3E2000&sort=created&order=desc

### Regular GitHub Search

* https://github.com/search?q=NASA-3D&extension:stl&type=Code&s=indexed
* https://github.com/search?q=3D+Printing+extension:stl&type=Code&s=indexed

## RSS

* Format : https://github.com/whatever/commits/master.atom
* https://github.com/cloudera/flume/events/master.atom

* https://github.com/cloudera.atom
* https://github.com/theo-armour.atom
* https://github.com/ladybug-tools.atom

* https://github.com/ladybug-tools/honeybee/commits.atom

https://api.github.com/feeds

Links of Interest

## Ladybug Web

* https://api.github.com/repos/ladybug-tools/ladybug-web << main one

* https://api.github.com/repos/ladybug-tools/ladybug-web/collaborators/theo-armour << needs authentication

* https://api.github.com/repos/ladybug-tools/ladybug-web/commits <<

* https://api.github.com/repos/ladybug-tools/ladybug-web/events

* https://api.github.com/repos/ladybug-tools/ladybug-web/readme << per file?

* https://api.github.com/repos/ladybug-tools/ladybug-web/pages/builds

* https://api.github.com/repos/ladybug-tools/ladybug-web/stats/contributors
* https://api.github.com/repos/ladybug-tools/ladybug-web/stats/commit_activity
* https://api.github.com/repos/ladybug-tools/ladybug-web/stats/code_frequency
* https://api.github.com/repos/ladybug-tools/ladybug-web/stats/participation
* https://api.github.com/repos/ladybug-tools/ladybug-web/stats/punch_card

* https://api.github.com/repos/ladybug-tools/ladybug-web/stats

* https://api.github.com/repos/ladybug-tools/stats

* https://api.github.com/users/ladybug-tools/received_events
* https://api.github.com/users/ladybug-tools/repos

## Theo

https://api.github.com/users/theo-armour/events

https://api.github.com/repos/theo-armour/theo-armour.github.io/git/trees/master?recursive=1

https://api.github.com/repos/theo-armour/theo-armour.github.io/contents/aceit/
https://api.github.com/repos/theo-armour/theo-armour.github.io/contents/aceit/index.html

## Jaanga

https://api.github.com/users/jaanga/received_events

https://api.github.com/repos/jaanga/algesurf/contents/parametric-equations/equation-files/
https://api.github.com/repos/jaanga/algesurf/git/trees/gh-pages?recursive=1
https://api.github.com/repos/jaanga/algesurf
https://api.github.com/repos/jaanga/jaanga.github.io/git/trees/master?recursive=1

https://api.github.com/repos/jaanga/jaanga.github.io/git/trees/5bc5abeabb0706b67596c8663894729bb255759d?recursive=1

## Analytic Physics

https://api.github.com/repos/paulmasson/sagemath-docs

https://api.github.com/repos/paulmasson/sagemath-docs/contents/functions/

## Dirksen
https://api.github.com/repos/josdirksen/learning-threejs/git/trees/master?recursive=1

## NASA

https://api.github.com/repos/nasa/nasa-3d-resources

https://api.github.com/repos/nasa/NASA-3D-Resources/contents/3D%20Printing

https://api.github.com/repos/nasa/nasa-3d-resources/git/trees/master?recursive=1

## STL
https://github.com/blog/1465-stl-file-viewing

https://github.com/search?q=NASA-3D&extension:stl&type=Code&s=indexed
https://github.com/search?q=3D+Printing+extension:stl&type=Code&s=indexed

https://api.github.com/search/code?q=3D+extension:stl

## Three.js
https://api.github.com/repos/mrdoob/three.js << go here to see what's available

https://api.github.com/repos/mrdoob/three.js/stats/contributors
https://api.github.com/repos/mrdoob/three.js/stats/commit_activity
https://api.github.com/repos/mrdoob/three.js/stats/participation

https://api.github.com/repos/mrdoob/three.js/git/commits/6295c939392a5fc6033d9e5e28877dd48618275c
https://api.github.com/repos/mrdoob/three.js/commits?path=examples/webgl_geometry_colors_lookuptable.html
https://api.github.com/repos/mrdoob/three.js/commits?path=examples <<
https://api.github.com/repos/mrdoob/three.js/commits?path=src/lights

https://api.github.com/search/repositories?q=webgl+repo:three.js&sort=stars&order=desc
https://api.github.com/search/repositories?q=tetris+language:assembly&sort=stars&order=desc

https://api.github.com/repos/mrdoob/three.js/contents/examples?ref=dev
https://api.github.com/repos/mrdoob/three.js/contents/examples?ref=r70

https://api.github.com/repos/mrdoob/three.js/git/trees/master?recursive=1 <<<<<<<<<<<<<<
https://api.github.com/repos/mrdoob/three.js/git/trees/dev?recursive=1
https://api.github.com/repos/mrdoob/three.js/git/trees/r70?recursive=1

https://api.github.com/repos/mrdoob/three.js/tags

https://api.github.com/repos/mrdoob/three.js/contents/examples/
https://api.github.com/repos/mrdoob/three.js/contents/examples/models
https://api.github.com/repos/mrdoob/three.js/contents/examples/models

https://api.github.com/repos/mrdoob/three.js/contents/examples/canvas_ascii_effect.html?ref=dev
https://api.github.com/repos/mrdoob/three.js/contents/examples?ref=dev
https://api.github.com/repos/mrdoob/three.js/contents/examples?ref=r25

https://raw.githubusercontent.com/mrdoob/three.js/dev/examples/canvas_ascii_effect.html
https://raw.githubusercontent.com/mrdoob/three.js/r70/examples/canvas_ascii_effect.html
https://raw.github.com/mrdoob/three.js/dev/examples/webgl_effects_parallaxbarrier.html

## SAGE

https://github.com/sagemath/sage/blob/master/src/sage
https://github.com/sagemath/sage/blob/master/src/sage/functions/jacobi.py

https://api.github.com/repos/sagemath/sage/git/trees/3defc14ec89f8439928ba56448fee77eec3eb647?recursive=5

https://api.github.com/repos/sagemath/sage/functions

https://api.github.com/repos/sagemath/sage/contents/src/sage?recursive=5

https://api.github.com/repos/sagemath/sage/contents/src/sage/functions?ref=develop

https://raw.githubusercontent.com/sagemath/sage/master/src/sage/functions/jacobi.py

repository: theo-armour/pages

repo_name: theo-armour/pages


text:
[![Build Status](https://travis-ci.com/Nithinreddy127/Calculator-MiniProjet.svg?branch=master)](https://travis-ci.com/Nithinreddy127/Calculator-MiniProjet)
# Calculator-MiniProject

### This project will have 2 parts:

#### Basic Calculations:
1. Addition
2. Subtraction
3. Multiplication
4. Division
5. Square
6. Square Root

#### Statistical Functions:

##### [Link to more information on Statistical Operations](https://github.com/Nithinreddy127/Calculator-MiniProject/edit/master/Contents)

- [x] Population Mean
- [x] Median
- [x] Mode
- [x] Population Standard Deviation
- [x] Variance of population proportion
- [x] Z-Score
- [x] Population Correlation Coefficient
- [x] Confidence Interval
- [x] Population Variance
- [x] P Value
- [x] Proportion
- [x] Sample Mean
- [x] Sample Standard Deviation
- [x] Variance of sample proportion

This uses both built-in functions and CSV data sheets to test the
functionality of the calculator.

### Contribution by Suraj and Nithin

#### Suraj
- Multiplication
- Division
- Square
- Population Standard Deviation
- Variance of population proportion
- Confidence Interval
- Population Variance
- Sample Standard Deviation
- Variance of sample proportion

#### Nithin
- Addition
- Subtraction
- Square Root
- Population Mean
- Median
- Mode
- Z-Score
- P Value
- Proportion
- Sample Mean

#### [GIT Logs File](https://github.com/Nithinreddy127/Calculator-MiniProject/blob/master/log.csv)

### References:
1. http://www.mbaexcel.com/excel/how-to-create-a-normally-distributed-set-of-random-numbers-in-excel/
2. https://www.geeksforgeeks.com

license: MIT

branch_name: refs/heads/master

extension: md

license_type: permissive


text:
# fumi

[![Clojars Project](https://img.shields.io/clojars/v/fumi.svg)](https://clojars.org/fumi)

A Prometheus client for Clojure.

Features:

- Simple wrapper of the official [java client](https://github.com/prometheus/client_java)
- Supports all prometheus metric types (counter, gauge, summary, histogram)
- Built in exporters for JVM / process metrics (additional dep required)
- Supports central configuration as well as creating collectors next to the code they instrument
- Supports custom collectors implemented as functions

## Status

fumi is used in production and the API should remain fairly stable.
Please try it out and raise any issues you may find.

## Usage

For tools.deps, add this to your deps.edn:

```clojure
{fumi/fumi {:mvn/version "0.3.1"}}
```

For Leiningen, add this to your project.clj:

```clojure
[fumi "0.3.1"]
```

## Getting started

```clojure
;; A default registry is already defined and exports jvm and process metrics.
;; Use init! to redefine it, if you want to centralise configuration.
(init!
  {:default-exports?  true
   :collectors        {:test_counter   {:type :counter :help "a counter" :label-names [:foo]}
                       :test_gauge     {:type :gauge :help "a gauge"}
                       :test_histogram {:type :histogram :help "a histogram"}}})

;; Alternatively add collectors to the existing registry, useful
;; if you want to configure them next to the code they instrument
(register! :another_counter {:type :counter :help "another counter"})
(register! :test_summary {:type :summary :help "a summary"})

;; Observe some values
(increase! :test_counter {:n 3 :labels {:foo "bar"}})
(set-n! :test_gauge 2.1 {})
(observe! :test_histogram 0.51 {})

;; Output
(-> (collect)
    (serialize :text))
```

See the section on using self-managed registries for other usage patterns.

## Using other registries

Typically using the default registry is sufficient.
fumi also allows you to use separate registries or hold onto references. This may be useful for:

- injecting via component-style systems
- for using with pushgateway
- test isolation

In this case, the registry (i.e. result of calling `init!`) must be passed in as the `:registry` option
to all subsequent operations.

```clojure
;; Create your registry by using the :self-managed? argument and holding on to the result
(def my-registry
  (init! {:self-managed?     true
          :default-exports?  false
          :collectors        {:test_counter {:type :counter :help "a counter" :label-names [:foo]}}}))

;; Add more metrics to it
(register! :another_counter {:type :counter :help "another counter" :registry my-registry})

;; Observe some values
(increase! :test_counter {:n 3 :labels {:foo "bar"} :registry my-registry})

;; Output -- explicitly include default-registry if you want it
(-> (collect my-registry default-registry)
    (serialize :text))
```

## Metric types

fumi supports the standard prometheus [metric types](https://prometheus.io/docs/concepts/metric_types/)
(counter, gauge, summary, histogram). They are defined through a data driven API either during
initial setup of a registry via `init!`, or later on via `register!`.

In either case, the metric must be identified by a keyword (e.g. `:my_counter`), and takes these options:
- `:type` is a keyword corresponding to one of the metric types (`:counter`, `:gauge`, `:summary`, `:histogram`)
- `:help` is a short string description
- `:label-names` (optional) is a list of keywords. If supplied, any operation on the metric needs a
  corresponding `:labels` map providing a value for each label-name

Histograms takes a further option:
- `:buckets` (optional), defaulting to `[0.005, 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10]`

### Operations

These are documented in more details in the [API docs](https://cljdoc.org/d/fumi/fumi/CURRENT/api/fumi.client).

#### Counter

A counter can only increase.

```clojure
(increase! :my_counter)
(increase! :another_counter {:n 3 :labels {:uri "/home"}})
```

#### Gauge

A gauge can go up or down, or be set to a specific number.

```clojure
(increase! :my_gauge)
(decrease! :my_gauge {:n 2})
(set-n! :my_gauge 3.2)
```

#### Summary and Histogram

These metric types create a distribution based on observations.

```clojure
(observe! :my_summary 3.2)
(observe! :my_histogram 4.7)
```

In all the above, if a metric was defined with one or more `:label-names`, an operation has to provide
a `:labels` map with an entry for every label name.

## Generating output

Use `(collect)` to get the state of a registry at a point in time.

To satisfy the `/metrics` endpoint that a Prometheus server expects, create a route that returns
the data in text format:

```clojure
(-> (collect)
    (serialize :text))

; Returns lines of text like:
; # HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
; # TYPE process_cpu_seconds_total counter
; process_cpu_seconds_total 18.976212
```

Note that `(collect)` with no arguments will collect from the default-registry, but if passed any arguments,
the default-registry needs to be explicitly provided:

```clojure
(collect my-registry default-registry)
```

## Built-in collectors

By default, fumi can expose [default collectors](https://github.com/prometheus/client_java#included-collectors)
that expose several useful metrics:

- JVM: memory, threads, garbage collection, jvm info
- process: cpu, memory, file descriptors

To enable them, ensure you have the extra dependency:

```clojure
io.prometheus/simpleclient_hotspot {:mvn/version "0.12.0"}
```

`init!` the registry with `:default-exports?` set to true to add all of them.

To include them selectively, choose the relevant ones from those
[available](https://github.com/prometheus/client_java/blob/master/simpleclient_hotspot/src/main/java/io/prometheus/client/hotspot/DefaultExports.java#L37),
and provide them during `init!` or `register!`:

```clojure
; Add all default exports
(init! {:default-exports? true})

; Add only specific default exporters during init
(init! {:collectors {:version-info (io.prometheus.client.hotspot.VersionInfoExports.)}})

; Or to an existing registry
(register! :version-info (io.prometheus.client.hotspot.VersionInfoExports.))
```

## Custom collectors

On top of creating the standard metric collectors and performing operations on them based on some event,
it is possible to directly implement `Collector` abstract class, providing a function that returns the necessary data
as collection of metrics. You can directly pass in a function to `register!` or `init!` in place of an options map:

```clojure
; Add a collector that a counter that is always stuck on 42.
(register! :constant_counter
           (fn [] [{:name    "metric"
                    :type    :counter
                    :help    "a constant counter"
                    :samples [{:value 42}]}
                   {:name    "metric_with_labels",
                    :type    :gauge,
                    :help    "a constant gauge with labels",
                    :samples [{:name   "active_requests",
                               :value  42
                               :labels {:source "foo"}}]}]))
```

You can also call `proxy-collector` with the same function to return a (not yet registered) `Collector` directly.

The provided function can return a single metric, or a collection of them.

## Usage with pushgateway

Pushgateway is useful for instrumenting short-lived processes (e.g. batch jobs) that may
not live long enough for metrics to be scraped.

To use it, simply send the serialized output of `collect` to the gateway using your http client of choice:

For example, using [hato](https://github.com/gnarroway/hato):
```clojure
(hato.client/post "http://your-gateway.com/metrics/job/somejob/somelabel/foo"
                  {:body (-> (fumi/collect)
                             (fumi/serialize :text))
                   :content-type "text/plain; version=0.0.4"})
```

## License

Released under the MIT License: http://www.opensource.org/licenses/mit-license.php

repository: gnarroway/fumi

gha_language: Clojure

gha_license_id: MIT

repo_name: gnarroway/fumi


text:
---
layout: default
title: AsNoTracking
nav_order: 1
has_children: false
parent: ORM-Specific Features
grand_parent: Features
---

# AsNoTracking

Compatible with:

- [EF Core](https://www.nuget.org/packages/Ardalis.Specification.EntityFrameworkCore/)
- [EF6](https://www.nuget.org/packages/Ardalis.Specification.EntityFramework6/)

The `AsNoTracking` feature applies this method to the resulting query executed by [EF6](https://docs.microsoft.com/en-us/dotnet/api/system.data.entity.dbextensions.asnotracking) or [EF Core](https://docs.microsoft.com/en-us/ef/core/querying/tracking#no-tracking-queries).

> No tracking queries are useful when the results are used in a read-only scenario. They're quicker to execute because there's no need to set up the change tracking information. If you don't need to update the entities retrieved from the database, then a no-tracking query should be used.

## Example

The following example shows how to add `AsNoTracking` to a specification:

```csharp
public class CustomerByNameReadOnlySpec : Specification<Customer>
{
  public CustomerByNameReadOnlySpec(string name)
  {
    Query.Where(x => x.Name == name)
      .AsNoTracking()
      .OrderBy(x => x.Name)
        .ThenByDescending(x => x.Address);
    }
}
```

**Note:** It's a good idea to note when specifications use `AsNoTracking` so that consumers of the specification will not attempt to modify and save entities returned by queries using the specification. The above specification adds `ReadOnly` to its name for this purpose.

repository: ardalis/ApiEndpoints

branch_name: refs/heads/main

gha_language: C#

repo_name: ardalis/ApiEndpoints


text:
---
title: "A Guarded City with no Defensive Wall - My 2¢ on TypeScript"
date: "2020-02-18"
description: "TypeScript is a police protecting a city that has no walls - if you let anyone in you'll have a really bad time. But It's definitely not useless."
slug: "/guarded-city-with-no-defensive-wall-typescript"
cover_image: "./fort.jpg"
---

TypeScript is huge right now. It's exploding in popularity - as of today, it has almost 10M weekly downloads from [NPM](https://www.npmjs.com/package/typescript), their [repo](https://github.com/microsoft/TypeScript) has nearly 60K stars and it feels like everybody jumps on the bandwagon when it comes to static type checking.

I'll start this article by saying I'm a huge fan of typescript, and type-checking in general. The first language I've learned was C#, but in my first professional role I've worked exclusively with Python 2.7, and I missed the auto-completion and the confidence I had writing C#.

After about three years writing python I've transitioned from mostly backend to full-stack, where I quickly found solace in typescript.

I've seen quite a few articles where TypeScript was talked about as "bringing C#-like features to JavaScript", or something else in that sense. And the fact that Microsoft is the company behind both languages sure helped make that case.

I feel like comparing TypeScript and C# does both languages wrong, and I've wanted to express my 2¢ on the debate.

## TypeScript is not Object-Oriented

C# is an object oriented language - everything is an object, a class instance etc. TypeScript is not. At least not by definition.

You can write OO code in typescript, in much the same way you can write JavaScript in an OO way:

```typescript
export default class API {
  private url: string;

  constructor(url: string) {
    this.url = url;
  }

  send(): Promise<{ status: number }> {
    return fetch(this.url).then(res => res.json());
  }
}
```

And in JavaScript:

```typescript
export default class API {
  constructor(url) {
    this.url = url;
  }

  send() {
    return fetch(this.url).then(res => res.json());
  }
}
```

Or you can write TypeScript in a functional way:

```typescript
export function send(url: string): Promise<{ status: number }> {
  return fetch(this.url).then(res => res.json());
}
```

And in JavaScript:

```javascript
export function send(url) {
  return fetch(this.url).then((res) => res.json());
}
```

So, no one is forcing you to write in one paradigm or another, what's more is that today almost all general purpose languages have picked up characteristics from both ends of the spectrum, so I believe the difference is not as stark today as it used to be.

## TypeScript is not `C#`

TypeScript has a fundamentally different type system from `C#`. One can say it takes a much more modern approach, or simply has a more sophisticated type system.

Things like unions, intersections, string/numeric literals, mapped types and so on are not possible (to my knowledge) in a more traditional object-oriented language such as C#.

```typescript
type Success = 200 | 201 | 202; // numeric literal
type Error = "General Error" | "System Error"; // string literal
type Result = Success | Error; // union - Result = 200 | 201 | 202 | "General Error" | "System Error"

type A = { a: number };
type B = { b: string };

type C = A & B; // intersection - type C = { a: number, b: string }

type ReadonlyC = { readonly [P in keyof C]: C[P] }; // mapped type
```

None of the examples above is possible is C#, and there are more examples like this. All of these features bring TypeScript much closer to JavaScript in terms of flexibility.

Or, if you choose - you can simply go with the `any` type - that behaves just like a regular JavaScript variable - it can be assigned to any variable, and any property/method is assumed to exist by the typescript complier (I should note the [unknown](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-0.html#new-unknown-top-type) type, which is better for such use cases).

## A Guarded City with no Defensive Wall

So if TypeScript is so perfect, why did I choose to title this article the way I did, implying that TypeScript is not really as secure as it seems?

Well, the answer might be obvious to those who've written typescript before, but for those who haven't I have a way to demonstrate it.

In the old days, when you wanted to protect your city you would build a tall and sturdy defensive wall. You would set guards all along the the walls, on the lookout to find anyone who seeks to harm the city.

![A fort](fort.jpg)
Photo by [Richard Clark](https://unsplash.com/@clarky_523) on [Unsplash](https://unsplash.com/)

Inside the wall, your police will make sure to keep the city safe from it's own citizens, making sure everyone is safe, and everyone obeys by the rules. However, the police is not an army, and will be of little help should a near by city declare war against you.

Back to our topic, typescript is much like the police inside the walls. Given that anyone who's entered the city is cleared, the police will keep it things in check, making things expected and comfortable.

As long as you deal with code bits you fully own, and do not rely on external sources or outside packages, you're good to go.

Take for example the following code:

```typescript
function add(a: number, b: number): number {
  return a + b;
}

function sumOrThrowIfLowerThan(arr: number[], threshold: number) {
  const sum = arr.reduce(add, 0);

  if (sum < threshold) {
    throw new Error("Sum can't be lower than threshold");
  }

  return sum;
}

const arr = [1, 2, 3, 4];

console.log(sumOrThrowIfLowerThan(arr, 10)); // output guaranteed to be a number
```

Even though we perform no run-time validation, we can be very certain that out functions will not misbehave.

Since we have compile time values here only, we can ensure that our array will contain only numbers, and their sum will behave like we expect (unlike adding a number to a string: `javascript>1 + "1" === "11"`).

However, the real problem arises when our input comes from sources we can't control, most notably fetch requests or a dependency.

If we modify the code just a little bit:

```typescript
function add(a: number, b: number): number {
  return a + b;
}

function sumOrThrowIfLowerThan(arr: number[], threshold: number) {
  const sum = arr.reduce(add, 0);

  if (sum < threshold) {
    throw new Error("Sum can't be lower than threshold");
  }

  return sum;
}

(async function() {
  const arr: number[] = await fetch("https://example.com/").then(res =>
    res.json()
  );

  console.log(sumOrThrowIfLowerThan(arr, 10)); // Can we guarantee the output type??
})();
```

What happens here is instead of using fixed, compile time values, we're retrieving our array from an external URL, and we assume the result to be an array of numbers.

This is a very dangerous assumption to make - we **can't** guarantee that the result will in fact contain only numbers, or that it will even be an array at all!

What if all of a sudden our external URL will decide to return a string? Or a single number? We might have runtime errors such as:

![Runtime error trying to access a non-existing function](runtime-error.png)

Many people would stop, declare typescript not worthy of their time, or that it generates a false sense of confidence, and therefore should not be used in favor of vanilla javascript.

## Fortifying Your City

So we now know that typescript has very serious loop holes. Or maybe they are not loop holes at all - typescript was never designed for runtime safety. However, there are other great tools that can help us validate returned values.

I won't go into much detail, but the most noticeable examples are probably [joi](https://github.com/hapijs/joi), [yup](https://github.com/jquense/yup) and [class-validator](https://github.com/typestack/class-validator). There are others for sure, but choosing any of these will probably be good enough for most use cases.

Here's the previous example, but with runtime validation:

```typescript
function add(a: number, b: number): number {
  return a + b;
}

function sumOrThrowIfLowerThan(arr: number[], threshold: number) {
  const sum = arr.reduce(add, 0);

  if (sum < threshold) {
    throw new Error("Sum can't be lower than threshold");
  }

  return sum;
}

(async function() {
  const resultSchema = yup.array().of(yup.number());
  const arr = await fetch("https://example.com/").then(res => res.json());

  const isValid = await resultSchema.isValid(arr);

  isValid && console.log(sumOrThrowIfLowerThan(arr, 10)); // output is guaranteed again and the QA is happy again 👌
})();
```

Notice that we don't need to use runtime validation for everything in our code - only the bits we can't control in runtime.

## My 2¢

This article turned out much longer that I thought it would be, but here is my 2¢:

It definitely takes more time to add runtime safety on top of compile time safety, and in the end it's up to you and your team to decide whether any of them is worth your time.

I believe that each on it's own is very powerful, but not enough, and it's the combination of the two that can make a great fortress.

It's also OK if you choose to rely solely on runtime validation, but in that case you would need to build a much higher wall, as your citizens might be up to no good.

repository: carlos-wilson/blog

repo_name: carlos-wilson/blog


text:
Pattern: Non-deterministic require order

Issue: -

## Description

`Dir[...]` and `Dir.glob(...)` do not make any guarantees about the order in which files are returned. The final order is determined by the operating system and file system. This means that using them in cases where the order matters, such as requiring files, can lead to intermittent failures that are hard to debug. To ensure this doesn't happen, always sort the list.

## Examples

```ruby
# bad
Dir["./lib/**/*.rb"].each do |file|
  require file
end

# good
Dir["./lib/**/*.rb"].sort.each do |file|
  require file
end
```

## Further Reading

* [RuboCop - Lint/NonDeterministicRequireOrder](https://docs.rubocop.org/rubocop/cops_lint.html#lintnondeterministicrequireorder)

repository: Adroiti/docs-for-code-review-tools

repo_name: Adroiti/docs-for-code-review-tools


text:
# Marathon Terraform Provider

[![Build Status](https://travis-ci.org/nicgrayson/terraform-provider-marathon.svg?branch=master)](https://travis-ci.org/nicgrayson/terraform-provider-marathon)

## Install
```
$ go get github.com/nicgrayson/terraform-provider-marathon
```

## Usage

### Provider Configuration
Use a [tfvar file](https://www.terraform.io/intro/getting-started/variables.html) or set the ENV variable

```bash
$ export TF_VAR_marathon_url="http://marthon.domain.tld:8080"
```

```hcl
variable "marathon_url" {}

provider "marathon" {
  url = "${var.marathon_url}"
}
```

If Marathon endpoint requires basic auth (with TLS, hopefully), optionally include username and password:
```bash
$ export TF_VAR_marathon_url="https://marthon.domain.tld:8443"
$ export TF_VAR_marathon_user="username"
$ export TF_VAR_marathon_password="password"

```

```hcl
variable "marathon_url" {}
variable "marathon_user" {}
variable "marathon_password" {}

provider "marathon" {
  url = "${var.marathon_url}"
  basic_auth_user = "${var.marathon_user}"
  basic_auth_password = "${var.marathon_password}"
}
```

To use Marathon from a DCOS cluster you need to get a [token](https://dcos.io/docs/1.8/administration/id-and-access-mgt/iam-api/) and include the [framework path](https://docs.mesosphere.com/1.8/usage/service-guides/marathon/install) in the Marathon URL:

```bash
export TF_VAR_marathon_url="http://dcos.domain.tld/service/marathon"
export TF_VAR_dcos_token="<authentication-token>"
```

```hcl
variable "marathon_url" {}
variable "dcos_token" {}

provider "marathon" {
  url        = "${var.marathon_url}"
  dcos_token = "${var.dcos_token}"
}
```

If you have an additional Marathon instance called *marathon-alice* set *marathon_url* to `http://dcos.domain.tld/service/marathon-alice`. Refer to the *go-marathon* [documentation](https://github.com/gambol99/go-marathon/blob/master/README.md#creating-a-client) to get details about custom paths in Marathon URLs.

### Basic Usage
```hcl
resource "marathon_app" "hello-world" {
  app_id= "/hello-world"
  cmd = "echo 'hello'; sleep 10000"
  cpus = 0.01
  instances = 1
  mem = 16
  ports = [0]
}
```

### Docker Usage
```hcl
resource "marathon_app" "docker-hello-world" {
  app_id = "/docker-hello-world"
  container {
    docker {
      image = "hello-world"
    }
  }
  cpus = 0.01
  instances = 1
  mem = 16
  ports = [0]
}
```

### Full Example

[terraform file](test/example.tf)

## Development

### Build
```bash
$ go install
```

### Test
```bash
$ export MARATHON_URL="http://marthon.domain.tld:8080"
$ ./test.sh
```

### Updating dependencies

This project uses [godep](https://github.com/tools/godep) to manage dependencies. If you're using Golang 1.6+, to build, nothing needs done. Please refer to https://devcenter.heroku.com/articles/go-dependencies-via-godep for help with updating and restoring godeps.

repository: PTC-Global/terraform-provider-marathon

gha_language: Go

repo_name: PTC-Global/terraform-provider-marathon


text:
---
layout: default
---

# 1997-03-06 - Re: truth (lack thereof) and the press

## Header Data

From: Toto<EMAIL_ADDRESS>To: "Attila T. Hun"<EMAIL_ADDRESS>Message Hash: ed16707aadbe847df51847644c71eb6ddca95770873c09162adb7fc8ad69e459

Message ID<EMAIL_ADDRESS>Reply To<EMAIL_ADDRESS>UTC Datetime: 1997-03-06 07:23:19 UTC

Raw Date: Wed, 5 Mar 1997 23:23:19 -0800 (PST)

## Raw message

```
{% raw  %}From: Toto<EMAIL_ADDRESS>Date: Wed, 5 Mar 1997 23:23:19 -0800 (PST)
To: "Attila T. Hun"<EMAIL_ADDRESS>Subject: Re: truth (lack thereof) and the press
In-Reply-To<EMAIL_ADDRESS>Message-ID<EMAIL_ADDRESS>MIME-Version: 1.0
Content-Type: text/plain

Attila T. Hun wrote:

>     WHEN CULTURES COLLIDE
>     By Bob Djurdjevic
>
>     The Mexican government itself is working to infiltrate and subvert
>     our government.  They are working to grant dual nationality or
>     citizenship to encourage Mexican to become U.S. citizens so they can
>     "vote for Mexican interests" in the United States.

>     The United States is being
>     invaded by Mexico. The intent is to retake the American Southwest and
>     rename it Aztlan. Those who resist are called racist and will are
>     subject to attack.
>
>     Published in THE WASHINGTON TIMES
>     BOB DJURDJEVIC, August 18, 1996

  Think how much greater the threat would be if the U.S. was actually
run by the voters.
--
Toto
http://bureau42.base.org/public/xenix/xenbody.html

{% endraw %}
```

## Thread

+ Return to [March 1997](/archive/1997/03)

+ Return to "[Toto <toto@sk.sympatico.ca>](/authors/toto_toto_at_sk_sympatico_ca_)"

+ _Unknown thread root_
  + 1997-03-06 (Wed, 5 Mar 1997 23:23:19 -0800 (PST)) - Re: truth (lack thereof) and the press - _Toto<EMAIL_ADDRESS>


text:
---
title: Create an email
description: Learn how to create an email in Journey Optimizer
feature: Overview
topic: Content Management
role: User
level: Beginner
---
# Create an email {#configure-email}

Once you [created a message](create-message.md), use the **[!UICONTROL Email]** tab to define the settings and content for the email channel.

![](assets/emails-configuration.png)

>[!NOTE]
>
>The **[!UICONTROL From email]** and **[!UICONTROL From name]** are read-only and determined by the **[!UICONTROL Preset]** that has been selected when [creating the message](create-message.md).

The steps to configure an email are as follows:

1. Specify the **[!UICONTROL Email subject]**. To do this, click the button on the right-hand side to open the Expression editor and compose the email subject. Learn how to add personalization in [this section](personalization/personalize.md)

1. Click the **[!UICONTROL Email Designer]** button to design your email. Learn how to design emails in [this section](design-emails.md).

1. If you want to track the behavior of your recipients through openings and/or clicks on links, make sure that the **[!UICONTROL Open Tracking for email]** and **[!UICONTROL Click Tracking for email]** options are enabled. Learn more about tracking in [this section](message-tracking.md).


text:
---
layout: post
title: "Crossmodal Sketching"
date:   2019-06-22
excerpt: "Keywords: Augmented crossmodal feedback, sensory-motor synchronisation"

---

## Augmented crossmodal feedback for sensory-motor synchronisation

### What is sensory-motor synchronisation and why it's worth notice?
- Sensory-motor synchronisation is ...
- This abililty is an unique feature of human being. It is important for ...

### How the augmented feedback manifested?
- Augmented and intrinsic feedback
- Multimodal and unimodal feedback

### What people do with this type of feedback?

### Will the augmented crossmodal feedback improves sensory-motor synchronisation?

### Application area and future works
- Motor skill learning
- Rehab

### Do it yourself
- Hardware
- Software
- (github code)

## The modulation effect of implicit memory and crossmodal correspondences (CCs) for sketches

### What is implicit memory?
- Memory architecture

### What is crossmodal correspondences (CCs)?
- In everyday situation, people consciously and/or subconsciously perceive informaiton from more than five or six senses, vision, audition, haptics, olfaction, gustation, proprioception, locomotion... How does the brain knows which informaiton perceive through different modality that happened at one time should be combined? How does it produce the most robust and veridical perception?

- Some of the informaiton features encountered in everyday life are perceptually associated, such as a high pitch sound always associated with smaller object and higher position. In this case, we say that the auditory perception of pitch is ``corresponded``  with visual perception of size and elevation.

- Crossmodal ``correspondences`` (CCs) is a way that brain organising and combining information from various sources.

- This perceptual feature is shared by a large number of people across languages and cultures and over the course of human development (though some evidence showed that people who has autism
spectrum disorder do not possess such perceptual feature). This universal feature thus has great utilisational value for the design of ubiquitous human-machine, human-computer, huamn-robot interfaces.

### What do I mean by 'modulation effect'?
- It means the influence of crossmodal information on sketch input behaviours in terms of ``speed`` and ``accuracy``.
- Specifically, we were looking at the ``speed`` of task fulfilment and sketch motion, as well as the ``accuracy`` of sketches and the spatial accuracy of sketch motion.

### What people do with the CCs during sketch?
- ``Step 1`` The task first requires people to watch a video that contains CCs. The purpose is to

- ``Step 2`` Then they will do the task. They first see crossmodal stimuli flash in a certain sequence that follows a certain trajectory as show in the following figure.

The modality features involved in this experiment are: visual brightness, auditory pitch and vibrotactile intensity.

The crossmodal stimuli conforms the CCs, as shown in this table:

| Modalities   |      Correspondences     |
|----------|:-------------:|------:|
| Visual-auditory CC|  high brightness - high pitch & low brightness - low pitch |
| Visual-haptic CC |    high brightness - high intensity & low brightness - low intensity   |
| Auditory-haptic CC | high pitch - high intensity & low pitch - low intensity |
{: .table .table-striped .table-hover}

- ``Step 3`` Then people reproduce the sequence by sketching acorss the stimuli. For example:

- If you want to replicate the experiment, read my paper and following the steps in the 'do it yourself' session.

### Interesting discoveries
- **Effect of the memory:** We discovered that implicit memory can influence interaction performance. Specifically, priming the implicit memory about CCs (people who watched the priming video in ``Step 1``) can improve high-level task accuracy with reduced task complition time.

- **Effect of the feedback:** We also discovered that people have higher motor accuracy along the horizontal axis with vibrotactile feedback (``Visual-haptic``), and along the vertical axis with auditory feedback (``Visual-auditory``).

### Application area
- Activate implicit memory about perceptual regularities in cognitive-demanding scenario, such as operation in control room, or device monitoring in clinical scinario, can improve task accuracy, possiblly because of the expanded working memory capacity due to priming.

- Augmenting motion phsses with vibrotactile and auditory feedback (terminal feedback in this particular case) can be apply to the area of motor skill training.

### Do it yourself
If you want to replicate this experiment, first, read my paper (under review at the moment) to get more detailed info about the experimetnal design; and second, following the instructions below to build the experimental platform.

- Hardware:

Version 1: hand-based sketch

Version 2: arm-based sketch

- Software: source code can be found [here]:

[here]: https://github.com/turtle2007/Experiment3_graphical

- If you need more info, contact me directly.

## How fast and accurate can you be?
The influence of crossmodal correspondences (CCs) on people's sensory-motor response (fine-motor performance)

- What is crossmodal correspondences (CCs)
- What kind of sensory-motor responses are you looking at?
- Why this sensory-motor ability worth our attention?
- The task and people's performance
- How can these study outcomes be used in real-world situations?
- Do it yourself (groupware schema and github code)

## Know your subconscious perceptual, mentle and motor reactions
The influence of crossmodal correspondences (CCs) on people's sensory-motor response (gross-motor performance)

- What is crossmodal correspondences (CCs)
- Why am I interested in this specific perceptual phenomenon?
- Previous investigation on this matter
- What's new here?
- What people do?
- Results - people's behaviour change
- The real-world application
- Other implications?
- Do it yourself

  * Sartorial hoodie
  * Labore viral forage

> Whatever

gha_language: SCSS


text:
# Getting Started

This is a guide to writing your first dropbox.js application.

## Library Setup

This section describes how to get the library hooked up into your application.

### Browser Applications

To get started right away, place this snippet in your page's `<head>`.

```html
<script src="//cdnjs.cloudflare.com/ajax/libs/dropbox.js/0.10.2/dropbox.min.js">
</script>
```

The snippet is not a typo. [cdnjs](https://cdnjs.com) recommends using
[protocol-relative URLs](http://paulirish.com/2010/the-protocol-relative-url/).

The cdnjs build of dropbox.js includes
[source maps](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/),
which can greatly help with debugging.

To get the latest development build of dropbox.js, follow the steps in the
[development guide](./development.md).

#### "Powered by Dropbox" Static Web Apps

Before writing any source code, use the
[console app](https://dl-web.dropbox.com/spa/pjlfdak1tmznswp/powered_by.js/public/index.html)
to set up your Dropbox. After adding an application, place the source code at
`/Apps/Static Web Apps/my_awesome_app/public`. You should find a pre-generated
`index.html` file in there.

### node.js Applications

First, install the `dropbox` [npm](https://npmjs.org/) package.

```bash
npm install dropbox
```

Once the npm package is installed, the following `require` statement lets you
access the same API as browser applications

```javascript
var Dropbox = require("dropbox");
```

## Initialization

[Register your application](https://www.dropbox.com/developers/apps) to obtain
an API key. Read the brief
[API core concepts intro](https://www.dropbox.com/developers/start/core).

Once you have an API key, use it to create a
[Dropbox.Client](http://coffeedoc.info/github/dropbox/dropbox-js/master/classes/Dropbox/Client.html).

If your JavaScript code runs on users' computers, do NOT expose your API secret
in the code.

```javascript
// Browser-side applications do not use the API secret.
var client = new Dropbox.Client({ key: "your-key-here" });
```

if your application runs in node.js or in another server environment that you
control, include both your API key and API secret in the `Dropbox.Client`
constructor call.

```javascript
// Server-side applications use both the API key and secret.
var client = new Dropbox.Client({
    key: "your-key-here",
    secret: "your-secret-here"
});
```

## Authentication
Before you can make any API calls, your users must authorize your application
to access their Dropbox.

This process follows the [OAuth 2.0](http://tools.ietf.org/html/rfc6749)
protocol, which entails sending the user to a Web page on `www.dropbox.com`,
and then having them redirected back to your application. Web applications can
use different methods and UI to drive the user through this process, so
`dropbox.js` lets application code hook into the authorization process by
implementing an [auth driver](../src/auth_driver.coffee).

dropbox.js ships with a couple of
[built-in auth drivers](./builtin_drivers.md), which are great way to
jump-start application development.

When your application's needs outgrow the built-in drivers, read the
[auth driver guide](./auth_drivers.md) for further information about
implementing a custom auth driver.

### Browser Setup

The recommended driver will be automatically set up for you.

The [built-in auth drivers guide](./builtin_drivers.md) describes some useful
options if the recommended setup isn't suitable for your application.

### node.js Setup

Single-process node.js applications should create one driver to authenticate
all the clients.

```javascript
client.authDriver(new Dropbox.AuthDriver.NodeServer(8191));
```

The [built-in OAuth drivers guide](./builtin_drivers.md) has useful tips on
using the `NodeServer` driver.

### Chrome App / Extension Setup

At this time, the setup for Chrome applications and extensions is a bit more
involved.

The `Dropbox.AuthDriver.Chrome` section in the
[built-in auth drivers guide](./builtin_drivers.md) has a step-by-step process
for setting up the
[Chrome auth driver](http://coffeedoc.info/github/dropbox/dropbox-js/master/classes/Dropbox/AuthDriver/Chrome.html).

### Shared Code

After setting up an auth driver, authenticating the user is one method call
away.

```javascript
client.authenticate(function(error, client) {
  if (error) {
    // Replace with a call to your own error-handling code.
    //
    // Don't forget to return from the callback, so you don't execute the code
    // that assumes everything went well.
    return showError(error);
  }

  // Replace with a call to your own application code.
  //
  // The user authorized your app, and everything went well.
  // client is a Dropbox.Client instance that you can use to make API calls.
  doSomethingCool(client);
});
```

## Error Handling

When Dropbox API calls fail, dropbox.js methods pass a `Dropbox.ApiError`
instance as the first parameter in their callbacks. This parameter is named
`error` in all the code snippets on this page.

If `error` is a truthy value, you should either recover from the error, or
notify the user that an error occurred. The `status` field in the
`Dropbox.ApiError` instance contains the HTTP error code, which should be one
of the
[error codes in the REST API](https://www.dropbox.com/developers/reference/api#error-handling).

The snippet below is a template for an extensive error handler.

```javascript
var showError = function(error) {
  switch (error.status) {
  case Dropbox.ApiError.INVALID_TOKEN:
    // If you're using dropbox.js, the only cause behind this error is that
    // the user token expired.
    // Get the user through the authentication flow again.
    break;

  case Dropbox.ApiError.NOT_FOUND:
    // The file or folder you tried to access is not in the user's Dropbox.
    // Handling this error is specific to your application.
    break;

  case Dropbox.ApiError.OVER_QUOTA:
    // The user is over their Dropbox quota.
    // Tell them their Dropbox is full. Refreshing the page won't help.
    break;

  case Dropbox.ApiError.RATE_LIMITED:
    // Too many API requests. Tell the user to try again later.
    // Long-term, optimize your code to use fewer API calls.
    break;

  case Dropbox.ApiError.NETWORK_ERROR:
    // An error occurred at the XMLHttpRequest layer.
    // Most likely, the user's network connection is down.
    // API calls will not succeed until the user gets back online.
    break;

  case Dropbox.ApiError.INVALID_PARAM:
  case Dropbox.ApiError.OAUTH_ERROR:
  case Dropbox.ApiError.INVALID_METHOD:
  default:
    // Caused by a bug in dropbox.js, in your application, or in Dropbox.
    // Tell the user an error occurred, ask them to refresh the page.
  }
};
```

`Dropbox.Client` also supports a DOM event-like API for receiving all errors.
This can be used to log API errors, or to upload them to your server for
further analysis.

```javascript
client.onError.addListener(function(error) {
  if (window.console) {  // Skip the "if" in node.js code.
    console.error(error);
  }
});
```

## The Fun Part

Authentication was the hard part of the API integration, and error handling was
the most boring part. Now that these are both behind us, you can interact
with the user's Dropbox and focus on coding up your application!

The following sections have some commonly used code snippets. The
[Dropbox.Client API reference](http://coffeedoc.info/github/dropbox/dropbox-js/master/classes/Dropbox/Client.html)
will help you navigate less common scenarios, and the
[Dropbox REST API reference](https://www.dropbox.com/developers/reference/api)
describes the underlying HTTP protocol, and can come in handy when debugging
your application, or if you want to extend dropbox.js.

### User Info

```javascript
client.getAccountInfo(function(error, accountInfo) {
  if (error) {
    return showError(error);  // Something went wrong.
  }

  alert("Hello, " + accountInfo.name + "!");
});
```

### Write a File

```javascript
client.writeFile("hello_world.txt", "Hello, world!\n", function(error, stat) {
  if (error) {
    return showError(error);  // Something went wrong.
  }

  alert("File saved as revision " + stat.versionTag);
});
```

### Read a File

```javascript
client.readFile("hello_world.txt", function(error, data) {
  if (error) {
    return showError(error);  // Something went wrong.
  }

  alert(data);  // data has the file's contents
});
```

### List a Directory's Contents

```javascript
client.readdir("/", function(error, entries) {
  if (error) {
    return showError(error);  // Something went wrong.
  }

  alert("Your Dropbox contains " + entries.join(", "));
});
```

### More Code Snippets

The [collection of code snippets](./snippets.md) contains some JavaScript
fragments that may be useful in the latter stages of application development.

### Sample Applications

Check out the [sample applications](../samples/) to see how all these concepts
play out together.

repository: eristoddle/zen-notebook

gha_language: CoffeeScript

repo_name: eristoddle/zen-notebook


text:
# About

This plugin has been adapted to produce musical "hairpin" symbols (crescendo, diminuendo,
flared crescendo, flared diminuendo) instead of arrows.

# Alternatively

You may prefer the approach of drawing a line in illustrator and changing the brush to one of the
hairpin brushes in the brush library included with this package.


text:
---
layout: post
title: Alabama Voters -
  A Comparison Between Jones v. Moore Special Election and the 2016 Primary
---
## Overall Special Election Estimates
| Total Voters  | Jones Voters  | Moore Voters  | Total Turnout %  | Citation  |
|---|---|---|---|---|
| 1,344,367  | 671,151  | 650,436  | 40%  | [Alabama Secretary of State Unofficial Election Night Resutls](http://www2.alabamavotes.gov/electionNight/statewideResultsByContest.aspx?ecode=1000915)  |

## Overall 2016 Primary Election Results
| Total Voters  | Democratic Voters  | Republican Voters  | Non-Partisan  | Citation  |
|---|---|---|---|---|
| 1,270,321  | 407,169  | 862,284  | 868 | [2016 Primary Election Results - Precinct Level, data processing code below](http://sos.alabama.gov/alabama-votes/voter/election-data)  |

### Race
|   | Black Voters  | White Voters | Other Race Voters  | Citation |
|---|---|---|---|---|
| % Total Voters  | 29%  | 66%  | 5%  | [Washington Post Exit Poll Results](https://www.washingtonpost.com/graphics/2017/politics/alabama-exit-polls/?utm_term=.45972501670e)  |
| Total Voters  | 389,866  | 887,282  | 67,218  | Calculated Estimate  |
|% for Jones   | 96%  | 30%  | Unreported  |[Washington Post Exit Poll Results](https://www.washingtonpost.com/graphics/2017/politics/alabama-exit-polls/?utm_term=.45972501670e)    |
| Votes for Jones  | 374,272  |266,185   |30,695   |Calculated Estimate   |

Black voters had approximately 77,393 more votes (~374,272) for Jones than all other race voters (~296,879).

### Party Affiliation
|   | Democratic Voters  | Rebuplican Voters  | Independent/Other Voters  | Citation  |
|---|---|---|---|---|
| % Total Voters | 37%  | 43%  | 21%  |[Washington Post Exit Poll Results](https://www.washingtonpost.com/graphics/2017/politics/alabama-exit-polls/?utm_term=.45972501670e)   |
| Total Voters  | 497,416  |578,078   |282,317   | Calculated Estimate  |
| % for Jones  |98%   |8%   |51%   |[Washington Post Exit Poll Results](https://www.washingtonpost.com/graphics/2017/politics/alabama-exit-polls/?utm_term=.45972501670e)   |
|Votes for Jones   | 374,272  | 266,185  | 30,695  |Calculated Estimate  |

### Ideology
|   | Liberal Voters  | Moderate Voters  | Conservative Voters  | Citation  |
|---|---|---|---|---|
| % Total Voters | 23%  | 31%  | 45%  |[Washington Post Exit Poll Results](https://www.washingtonpost.com/graphics/2017/politics/alabama-exit-polls/?utm_term=.45972501670e)   |
| Total Voters  | 309,204  |208,057   |292,696  | Calculated Estimate  |
| % for Jones  |86%   |74%   |15%   |[Washington Post Exit Poll Results](https://www.washingtonpost.com/graphics/2017/politics/alabama-exit-polls/?utm_term=.45972501670e)   |
|Votes for Jones   | 265,916  | 153,962  | 43,904  |Calculated Estimate  |


text:
 Team Profile Generator

### **TABLE OF CONTENTS:**
1. [Overview of Team Profile Generator](#overview)
2. [Constructor Classes](#classes)
3. [Tests for Classes](#tests)
4. [HTML.js Templates for Employees](#templates)
4. [newTeam.html created in project](#new-team-html)
3. [Video of creating the newTeam.html](#video-of-newTeam-html)

## Overview

- Our task is the create an application that builds a website with profiles of a software engineering team. We must use node.js to create it and we will use npm Inquirer to collect user input to build the site. We will use the module fs to create paths between js files, so functions from different pages can communicate. The path module is used to connect files and directory paths. And finally jest is used to run the tests.
- We were not given starter code for this project. But we were given suggestions for folders to create to help us separate the different files we would need to create.

## Classes
Our classes were relatively straightforward, but we needed to make sure three of the classes extended the parent class Employee.
1. In order to do this I first created the class constructor **Employee** and it has 3 parameters: *fname*, *id* and *email*. And they are simply called *this.fname = fname*, etc, within the constructor. Since **Employee** is the parent function and the other three (**Engineer**, **Intern** and **Manager**) extend **Employee**, it has the functions *getName*, *getId* and *getEmail* which refer to the three parameters all of the classes use. These functions are used to help create the html and are within the temporal literals for the engineers, manager and interns created. **Employee** also has *getRole()* which returns the string ‘Employee’.
2. **Engineer**, **Intern** and **Manager** all must require Employee so they can actually extend Employee. This means that they can call to employee for the parameters *fname*, *id* and *email*. But all of these have an additional parameter that are unique to them. **Manager** has an office number, **Engineer** has a github username and **Intern** has a school name. In their constructors they show the *fname*, *id* and *email* and their own unique parameter. Below with *super()* the 3 parent parameters are listed and the unique parameters are established with *this*

`this.phone = phone`

`this.github = github`

 `this.school = school`

- **Engineer**, **Intern** and **Manager** all have the *getRole()* function that returns the string of their own name. They all also have a function that will get their unique parameter:

`getGitHub()`

`getSchool()`

`getOfficeNumber()`

3. Finally, at the end of each JS file the class is exported so it can be used in the other JS files and also in the tests. *module.exports* can be used to export a class such as these four, but it can also be used to export specific functions which is what I did to create the temporal literals. Module.exports is set equal to the class names or the functions so they can be called on by other files.

## Tests
The tests, like the classes, are straightforward but are necessary to make sure the functions within the classes are working properly. The jest npm had to be installed to run these tests.

1.	I created the tests first for the **Employee** class. I needed to require the Employee class js file to be able to run the files within it.
2.	Since the functions are all within the class it makes sense to use jest 's *describe(name,fn)* to create a block with functions within it. All of the functions are based off of the class parameters so it makes sense to encase the tests withing a main test block. In the describe section the main test states “Employee class includes all methods” to explain that all of the tests are within the class **Employee**.
3.	Within the Describe the first thing is I call a newEmployee const which equals new Employee with (name = “Pam” , id = 2, email = “pam@aol.com”). By calling it at the beginning I can reference it in the four methods/functions I’m using to test the functions within **Employee** class.
4.	Three of the four methods I created call on the *newEmployee* const and test the function that is connected to that parameter. Here is an example:

`it(“The getName() should return newEmployee.name”, () => {
	expect(newEmployee.getName()).toBe(“Pam”); })`

- *it* is declaring the method/test of “The getName() should return newEmployee.name” and when I run the test *newEmployee* through the *getName* function I **expect** the response **To Be** “Pam”.
- the next two tests are set up the same way just using *id* and *getId* to expect 2, and *email* and *getEmail* to expect<EMAIL_ADDRESS>- The last method calls on the newEmployee const, but no matter what const is called *getRole* will always return *Employee* every time it runs.

`it(“The getRole() should return ‘Employee’”, () => {
	expect(newEmployee.getRole()).toBe(“Employee’”); })`

5.	**Engineer**, **Intern** and **Manager** tests all have a very similar setup.
    a.	They all require the class javascript they are running tests for at the top of their page.
    b.	They all have a describe to block out their functions.
    c.	Since they all extend **Employee** they only need to run tests for the functions *getRole()* and then tests for their unique parameters: *getOfficeNumber()*, *getGitHub()* and *getSchool()*.
## Templates
1.	Const are created for each type of employee, so that specific information can be placed in the correct temporal literal.

- The const managerQuestions is the first one and is called on in the first function called *pushManager()* the answers (managerAnswers) const is the put into a new const called *manager*. Using **fs.writeFile** a new html file is created called *newTeam.html*, pushes the *manager* into the *addManager()* function in the *manHtml.js* file.
- In this file it returns the beginning of the HTML file and the card for manager. It is set in a temporal literal and calls on the class js file for Manager and uses those functions to give the parameter input. Here is an example (the const manager runs through as data):

 `<h5>${data.getName()}</h5>`

- I included links for bootstrap and font awesome in the head section of the HTML for styling. I use common bootstrap classes such as cards and use bootstrap code to change font color, margins, padding, background color, etc.
- At the bottom of the file I use module.exports again to make sure the addManager function is called in index.js. The key is within the index.js file when you require the manhtml file the const name equals addManager. It looks like this is the only way to read the specific function you want to call on.

2.	 After the top of the html and the manager card are used to create the beginning of the HTML then another function is called **chooseTeamMember()** .

- This function has the next question for the inquirer which gives three choices [“Engineer”, “Intern”, “I don’t want to add anymore team members”] and *then* put the choice/*chooseAnswers* through a switch case which either sends the user to the Engineer questions, Intern questions and the default sends it to the *finalHTML()* function.
- To add the engineer or intern cards to the HTML I have a function called *writeToFile(filename, data)* and it uses fs to append a file, and uses path to join the new *data* -- either the engineer temporal literal file or the intern temporal literal file to *filename* – here it is *newTeam.html*.
- The *pushEngineer()* and *pushIntern()* are very similar to *pushManager()*. They use inquirer.prompt to call on their const questions, and then use those answers for create new const (newEngineer or newIntern) which are connected to their perspective class files. But they call on *writeToFile()* to call on the *addEngineer()* or *addIntern()* temperal literal functions.
- And finally the *finalHTML()* appends the end of the html with the final parts of the bootstrap script and console.logs “Your team HTML file is ready!”

## New Team Html
- Here is a screen shot of the newTeam.html that is produced with this app. The email links open a mail app with the team members email in the to: area and the github link(s) for the engineer(s) are linked to open in another webpage to their specific GitHub page.

![NewTeam](https://github.com/ksfallon/Team-Profile-Generator/blob/main/images/newTeam.html.png)
## Video of newTeam HTML

[Demo for Tests and HTML generator with node js](https://youtu.be/0n3hnycPa3c)

[Demo of HTML generated with node js](https://youtu.be/RtfGkWZ-p5U)

Licensed under the [MIT License](https://choosealicense.com/licenses/mit/#).

repository: ksfallon/Team-Profile-Generator

repo_name: ksfallon/Team-Profile-Generator


text:
# ChattDevs

[![Build Status](https://travis-ci.org/spyc3r/chattdevs.png)](https://travis-ci.org/spyc3r/chattdevs)

## About

Chattdevs is a Rails powered, OAuth enabled user directory for all of the
awesome developers in Chattanooga, Tennessee.

## Installation and Technical

The app is currently running on Ruby 2.0 and Rails 4.  Installation is straight
forward:

    $ bundle install
    $ foreman start

If you want to seed your database then just run:

    $ rake db:populate

Now you should be good to go.

## Contributing

This project is community driven so if you have an idea or see something that
you would like to change then just fork the repo and submit a pull request.

repository: SECONDSITE/chattdevs

repo_name: SECONDSITE/chattdevs


text:
---
id: 3190
title: Honoring outstanding teaching in the humanities
date: 2013-12-20
layout: post
excerpt: "The Dizikes teaching award—named for professor emeritus of American studies John Dizikes—celebrates the Humanities faculty's commitment to excellence in teaching and its impact on undergraduate students."
thumbnail_image: john-dizikes.jpg
category: "News"
---

{% asset donka.jpg magick:resize=300 alt="donka" %}
Senior Linguistics major John Zwart, with UCSC professor of Linguistics Donka Farkas (Photo by Marissa Fullum-Campbell)

Linguistics professor Donka Farkas was presented with the 2013 John Dizikes Teaching Award in Humanities yesterday at the Humanities Division’s Spring Awards Celebration.

Established in 2002 to honor outstanding teaching by humanities faculty, the award is named in honor of one of UCSC’s founding faculty members.

The Dizikes teaching award was designed to celebrate the Humanities faculty’s commitment to excellence in teaching and its impact on undergraduate students.

The annual Humanities award comes with an unusual provision. In addition to being honored with a check for $3,000, the winner is entitled to select one undergraduate student to receive a $3,000 scholarship.

Farkas chose John Zwart, a senior Linguistics major.

“I chose John because the work he has done over the three quarters we have worked together exemplifies the kind of undergraduate research I hope to help foster,” said Farkas. “It was a joy to see John’s engagement and passion.”

Farkas–whose research is in the field of formal semantics, based on data from Romance languages and Hungarian—reflected on her experience as a teacher at UCSC.

“People often talk about the ‘world of academia’ as different from the ‘real world’ out there. But when I think that, through teaching, we touch the lives of generation after generation of undergraduate and graduate students, I feel as anchored in the real world as one can be,” said Farkas.

“The various sides of our academic life–research, undergraduate and graduate teaching–are tightly bound together,” she added. “Enthusiasm comes easily when you talk about a problem in class in the afternoon if you have spent the whole morning thinking and reading about it for your own research, and are basking in the feeling of having made some progress.”

Now a professor emeritus of American studies, John Dizikes served as Cowell College provost from 1979 to 1983, and mentored thousands of students during his 30-year teaching career.

He is the author of numerous books, including Opera in America (1993), which won the National Book Critics Circle Award in Criticism.

A beloved member of the Cowell community, Dizikes and his wife Ann were known for their weekly gatherings of students at the Provost’s House before College Nights, and they are still honored today with an annual Dizikes Music Festival at Cowell.

repository: ucsc/site-giving

gha_language: HTML

repo_name: ucsc/site-giving


text:
# gtfs-data
*GTFS feed data for UrbanHack*

* This repository hosts GTFS data for BMTC.
* This is the result of creating GTFS feed from accumulated raw data from BMTC.
* The data may not be accurate but, has been validated. Please use it without warranty of any kind.
* We encourage others to fork this repository, improve the GTFS data and contribute back to community.
* This might be available only for a shorter span of time. Hence, forking it is always recommended.

This is released under MIT License.


text:
SimpleCache
===========

What is it?
-----------

`Simplecache` is intended to be a cache interface library with a
simple abstraction. At present, `simplecache` supports EhCache,
Memcached and `java.util.concurrent.ConcurrentMap` backends.

How do I use it?
----------------

In `sbt`, add the Guardian repository to your `build.sbt`:

    resolvers += "Guardian Github Releases" at "http://guardian.github.com/maven/repo-releases"

Find the latest version by inspecting the available
`simplecache-core` artifacts in the repository at:

    http://guardian.github.com/maven/repo-releases/com/gu/simplecache-core

Then include at least the `simplecache-core` artifact in your `build.sbt`:

    libraryDependencies += "com.gu" % "simplecache-core" % "2.1"

Depending on your application requirements you may want to also
include some backend projects. At present, the available artifacts
include:

* `simplecache-core`: This is the base artifact, including the
  interfaces and a `java.util.concurrent.ConcurrentMap` implementation
  using soft references.

* `simplecache-ehcache`: This includes an adaptor and dependencies
  for using an EhCache backed simplecache.

* `simplecache-memcached`: This includes an adaptor, statistics
  reporting and dependencies for using a Memcached backed simplecache.

* `simplecache-hibernate`: Hibernate `Region`s and `AccessStrategy`
  implementations facilitating the use of simplecaches for Hibernate
  caches.

* `simplecache-memcached-spring`: Spring `FactoryBean`s for dependency
  injecting `simplecache-memcached` code into a Spring application
  context.

If, like us, you have a Spring/Hibernate application with an Ehcache second
level Hibernate cache backing to a shared Memcached, you might find it
easier to include all of the above using the `simplecache-all` convenience
package.

`SimpleCache` in the `simplecache-core` project is the interface of
interest. Put your hands on something that implements that. Some ways of
doing that are:

* New up a `SoftReferenceSimpleCache`.
* New up an `EhcacheSimpleCacheAdaptor` from and `Ehcache` object.
* Create a `SpyMemcachedClientAdaptor` using objects from the
  `spy-memcached` library and an `MD5KeyTranslator` to new up a
  `MemcachedSimpleCacheAdaptor`.
* Use the `TwoLevelSimpleCacheAggregator` to build a cache chain
  from existing `SimpleCache` objects.

How do I build it?
------------------

Simplecache is a scala project built using [simple-build-tool][sbt] 0.11.
Build using:

	./sbt package

To use in intellij, setup and use the idea plugin by creating the
following definition in `~/.sbt/plugins/build.sbt`:

    resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"

    libraryDependencies <+= (sbtVersion) {
      case "0.10.0" => "com.github.mpeltonen" % "sbt-idea_2.8.1" % "0.10.0" from "http://mpeltonen.github.com/maven/com/github/mpeltonen/sbt-idea_2.8.1/0.10.0/sbt-idea_2.8.1-0.10.0.jar"
      case "0.10.1" => "com.github.mpeltonen" % "sbt-idea_2.8.1" % "0.10.1-SNAPSHOT" from "http://mpeltonen.github.com/maven/com/github/mpeltonen/sbt-idea_2.8.1/0.10.1-SNAPSHOT/sbt-idea_2.8.1-0.10.1-SNAPSHOT.jar"
      case "0.11.0" => "com.github.mpeltonen" % "sbt-idea_2.9.1" % "0.11.0" from "http://mpeltonen.github.com/maven/com/github/mpeltonen/sbt-idea_2.9.1_0.11.0/0.11.0/sbt-idea-0.11.0.jar"
      case sbtv => error("Unsupported SBT version: " + sbtv)
    }

Then run the following in interactive `sbt`:

    gen-idea

The `sbt` console is very useful. FYou can do e.g. the following:

    > console
    ...
    Welcome to Scala version 2.9.1.final (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_16).
    Type in expressions to have them evaluated.
    Type :help for more information.

    scala> ...

Further documentation notes and useful items can be found in `dev`.

How do I release it?
--------------------

* Clone the `guardian.github.com` repository to your home directory.

* Update the version number in `project\SimpleCacheBuild.scala`

* Invoke `sbt` and run the `+publish` goal. This will create the necessary
  structure in the cloned `guardian.github.com` project.

* Run `update-directory-index.sh` from the `guardian.github.com` clone to
  refresh the HTML index pages.

* Commit and push `guardian.github.com`.

* Update the version numbers in `simplecache` to the new development version number.

* Commit and push `simplecache`.

[sbt]: http://books.google.com/p/simple-build-tool/
[scalariform]: http://github.com/olim7t/sbt-scalariform
[markdown]: http://daringfireball.net/projects/markdown

repository: guardian/simplecache

gha_language: Scala

repo_name: guardian/simplecache


text:
# kicad-viewer

kicad-viewer is a footprint viewer for [KiCAD](http://kicad-pcb.org/) footprint files.

This version includes some updates from the original:
* small fixes (spelling mistakes, color changes to match KiCAD, etc.)
* implemented polyline support
* implemented rounded rectangle pads
* mouse-controlled zoom and pan capability

Also, the original branch switched to a Node.js implementation. Thsi one reverts it to a stand-alone HTML & Javascript file, so nothing needs to be installed prior to use.

## Usage

The `index.html` file contains the file to load in the browser.

It comes with a sample solder jumper footprint.

To try a new footprint, simply paste the contents of the *.kicad_mod file into the textbox and click the "Update Footprint" button.


text:
* Put plugin settings into a sub-object, so they don't clash with
  other settings on (auto) import into `build.sbt`. Accessing a setting
  is now accomplished with:

        IzPack.configFile in IzPack.Config <<= baseDirectory(...)

* Converted code to conform with standard Scala coding style.

repository: DavidPerezIngeniero/sbt-izpack

extension: markdown

repo_name: DavidPerezIngeniero/sbt-izpack


text:
### [Delete Duplicate Emails](https://leetcode.com/problems/delete-duplicate-emails)

Table: Person

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| id          | int     |
| email       | varchar |
+-------------+---------+
id is the primary key column for this table.
Each row of this table contains an email. The emails will not contain uppercase letters.

Write an SQL query to delete all the duplicate emails, keeping only one unique email with the smallest id. Note that you are supposed to write a DELETE statement and not a SELECT one.

After running your script, the answer shown is the Person table. The driver will first compile and run your piece of code and then show the Person table. The final order of the Person table does not matter.

The query result format is in the following example.

Example 1:

Input:
Person table:
+----+------------------+
| id | email            |
+----+------------------+
| 1  |<EMAIL_ADDRESS>|
| 2  |<EMAIL_ADDRESS>|
| 3  |<EMAIL_ADDRESS>|
+----+------------------+
Output:
+----+------------------+
| id | email            |
+----+------------------+
| 1  |<EMAIL_ADDRESS>|
| 2  |<EMAIL_ADDRESS>|
+----+------------------+
Explanation:<EMAIL_ADDRESS>is repeated two times. We keep the row with the smallest Id = 1.

path: /questions/Database/0196. Delete Duplicate Emails/README.md

gha_language: C


text:
# go-chrome

        This package aims to be a complete Chrome DevTools Protocol implementation. The primary use-case behind this project is interacting with headless Google Chrome in a container environment, but it should be appropriate for developing server side and desktop applications as well.

        The API is fairly settled and basic code-coverage tests have been implemented but real-world testing is needed. Page.captureScreenshot and related calls are working well and are regularly used for validating the workability of code refactoring.

        This implementation is based on the Tip-of-Tree documentation and may be prone to change. At some point stable versions will be implemented as well, hopefully beginning with v1.3.

# Examples

There are a few small examples of how to use the framework API on the [wiki](https://github.com/mkenney/go-chrome/wiki).

# TODO

Any contributions of any kind are very welcome!

* Refactoring to implement standard interfaces where applicable and review current use of interfaces in the API. Some aren't needed at all and others are used to support test mocks.
* Add more tests, especially for error cases. If you would like to contribute but aren't sure how, take a look at [codecov](https://codecov.io/gh/mkenney/go-chrome) for any tests that could be written. There are [many](https://github.com/mkenney/go-chrome/blob/master/tot/socket/cdtp.animation_test.go) [examples](https://github.com/mkenney/go-chrome/blob/master/tot/cdtp/animation/enum.animation.type_test.go) of tests in the repo.
* Add integration test scripts to the `test/` directory to exercise various functions. The [screenshot script](https://github.com/mkenney/go-chrome/wiki/Example%3A-Capture-A-Screenshot) is already setup there.

# Change Log

## 2018-03-20

Removed the unnecessary array notation for the flags passed to the Chrome process. This is a breaking change but it's simple to update client code and easier to use in general.

When defining your Chrome instance, remove any `[]interface{}{}` declarations in the `Flags` parameter. To demonstrate, the [example code](https://github.com/mkenney/go-chrome/wiki/Example%3A-Capture-A-Screenshot) has changed from:
```go
	// Define a chrome instance with remote debugging enabled.
	browser := chrome.New(
		&chrome.Flags{
			"addr":               []interface{}{"localhost"},
			"disable-extensions": nil,
			"disable-gpu":        nil,
			"headless":           nil,
			"hide-scrollbars":    nil,
			"no-first-run":       nil,
			"no-sandbox":         nil,
			"port":               []interface{}{9222},
			"remote-debugging-address": []interface{}{"<IP_ADDRESS>"},
			"remote-debugging-port":    []interface{}{9222},
		},
		"/usr/bin/google-chrome",
		"",
		"",
		"",
	)
```
to simply:
```go
	// Define a chrome instance with remote debugging enabled.
	browser := chrome.New(
		&chrome.Flags{
			"addr":               "localhost",
			"disable-extensions": nil,
			"disable-gpu":        nil,
			"headless":           nil,
			"hide-scrollbars":    nil,
			"no-first-run":       nil,
			"no-sandbox":         nil,
			"port":               9222,
			"remote-debugging-address": "<IP_ADDRESS>",
			"remote-debugging-port":    9222,
		},
		"/usr/bin/google-chrome",
		"",
		"",
		"",
	)
```

It's easier to deal with, simpler to understand, and supporting multiple values wasn't ever useful. An [argument could be made](https://github.com/mkenney/go-chrome/issues/new) for supporting something like [`pkg/flag`](https://golang.org/pkg/flag/) I suppose but I don't generally need a CLI interface.

## 2018-02-06

To provide for more idiomatic package naming the following packages have been renamed:

* tot/cdtp/application_cache -> tot/cdtp/application/cache
* tot/cdtp/cache_storage -> tot/cdtp/cache/storage
* tot/cdtp/device_orientation -> tot/cdtp/device/orientation
* tot/cdtp/dom_debugger -> tot/cdtp/dom/debugger
* tot/cdtp/dom_snapshot -> tot/cdtp/dom/snapshot
* tot/cdtp/dom_storage -> tot/cdtp/dom/storage
* tot/cdtp/headless_experimental -> tot/cdtp/headless/experimental
* tot/cdtp/heap_profiler -> tot/cdtp/heap/profiler
* tot/cdtp/indexed_db -> tot/cdtp/indexed/db
* tot/cdtp/layer_tree -> tot/cdtp/layer/tree
* tot/cdtp/service_worker -> tot/cdtp/service/worker
* tot/cdtp/system_info -> tot/cdtp/system/info

## 2018-01-21

The core data types have been updated with proper enum support for string properties that only allow specific values.

## 2018-01-12

In preparation for having stable versions of the library, I updated the directory structure of the repo adding a `tot` package for the current code (Tip-of-Tree).

## 2018-01-05

I merged some changes that did change the API a bit. Mainly, all the protocol methods now return a channel instead of blocking until they get a result to better handle the nature of socket data streams. This makes unit testing easier and cleaner and the API more useful, but the race detector still finds false positives due to writing test data to a stack that mocks a socket data stream, which is being drained by an independent goroutine...

I'm not sure what to do with that, or if I care at this point. You can see it by running `go test -race ./...`.

repository: fjmk/go-chrome

repo_name: fjmk/go-chrome


text:
# Multipliers at fixed points of self-maps of the projective plane

[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/valentermz/Multipliers-of-self-maps-on-P2/master)

This repository is ancilliary to the paper

* A. Guillot and V. Ramírez. _On the multipliers at fixed points of self-maps of the projective plane._ [arXiv: 1902.04433](https://arxiv.org/abs/1902.04433) (2019).

This paper is about quadratic endomorphisms on the complex projective plane having an invariant line. We describe the algebraic relations among the multipliers of the fixed points and prove that these multipliers completely determine the linear equivalence class of the endomorphism.

## Directories

**Case\-study:** A specific quadratic self-map is defined and studied in depth. We find its fixed points, compute the multipliers, find all other endomorphisms that share the same multipliers that are not on the invariant line, and compute the *hidden relations* for certain invariant functions of the multipliers for the fixed points on the invariant line.

**Jacobi\-system:** We analyze the polynomial equations obtained from the Jacobi formula. We prove that the variable `b` satisfies a quadratic equation and that the value of the variable `a` and the position of the fourth fixed point can be recovered from the value of `b`.

**Test:** Given a collection of fourteen numbers `u_i, v_i`, `i=0,...,6`, test whether or not the collection may be realized as the multipliers of a quadratic endomorphism with an invariant line.

**Compute-h:** Given a collection of eight numbers `t_0, d_0, ..., t_3, d_3`, and a rational invariant function `sigma` on the variables `u_4, ..., v_6`, compute the degree four polynomial `h` that defines `sigma` as a multivalued function of `t, d`.

**Painleve-analysis:** As an application to the results established for self-maps on the projective plane, we have studied some ordinary differential equations in the complex domain and tried to determine those, within a particular class, which do not have multivalued solutions. This directory contains all the computations related to this application.

## Software used

Most of the computations have been carried out using *SageMath*, except some additional Gröbner basis computations, which were done using *Macaulay2* directly. You can get a distribution of these software here:
https://www.sagemath.org/
https://faculty.math.illinois.edu/Macaulay2/

### Binder

You can interact with this repository by clicking on the Binder badge above. Once the repository is built you can open the Jupyter notebooks directly or open a terminal to run the scripts.

You can learn more about Binder here: https://mybinder.org/

Copyright 2018 Adolfo Guillot and Valente Ramírez. Licensed under the Apache License, Version 2.0.


text:
# Release guide lines for this library
Please, before releasing, make sure you follow these steps
- Make sure version is bumped accordingly
- Update readme.md
- Write changelog.md document
- Deploy to developer master branch
- Create pull request
- If everything is green, proceed to merge request
- Wait for publishing script to complete
- If succeeds, Write release document.md

repository: aSoft-Ltd/konfig

gha_language: Kotlin

repo_name: aSoft-Ltd/konfig


text:
## Docs

Note: the docuemntation is a WIP

### Configuration

####autoReload####
Will reload zwm on change to configuration if set to true.

####mods####
A list of modifier keys to be used in defining bindings for zwm.

// TODO: This should be an array?

To create a mod key simply suffix "mod" with a number of your choosing and then the corresponding key.

```json
...
	"mods" : {
		"mod1" : "alt" // Defines the first modifier to be alt
	}
...
```

This can then be used when defining short cuts

```json
...
	"key_bindings" : {
		"terminal" : {
			...
			"key" : "mod1-enter" // Alt-enter will open the terminal
			...
		}
	}
...

```

###key_bindings###

TODO: This should be an array?

You can create different types of keybindings which perform different tasks such as opening an application or interacting with windows.

A key binding is defined with a name, a key, a type and an action. The action could be different depending on the type.

```json
	"key_bindings" : {
		"terminal" : {
			"key" : "mod1-enter", // Alt-enter will open the terminal at the path provided
			"type" : "application",
			"action" : "/Applications/iTerm.app"
		}
	}
```


text:
---
layout: default
title: Location access
parent: Help
nav_order: 1
---

# Location access

sparcl is an application that needs location access to discover local services and content, this is why location access is requested right at the beginning when you use the app the first time.

If, for some reason, location access gets blocked after the first use, you need to re-enable it before being able to use sparcl again. The way properties work, sparcl cannot request location access again, because it's blocked by Android to prevent applications spaming users for permissions.

To allow location access permission again, press the button `Allow location`. If all goes well, the location request dialog is displayed, where you can allow location access.

In case you blocked location access for sparcl before, the location request dialog isn't shown. In that case, you need to allow location access manually among the Android Permission Manager under the Android Settings.

## Allow location access when sparcl is running in browser

This is a simple 3 step process:

### Tap on the lock on the left side of the URL
![image](https://user-images.githubusercontent.com/231274/117124585-d2e83680-ad98-11eb-9fa3-ee7ac603e78f.png)

### Tap on Permissions
![image](https://user-images.githubusercontent.com/231274/117124755-032fd500-ad99-11eb-8d8f-b17c92d14fbc.png)

### Activate location access
![image](https://user-images.githubusercontent.com/231274/117124883-278bb180-ad99-11eb-833d-08470e15ff4c.png)

## Allow location access when sparcl is installed

When sparcl is installed on your device, you have the joyce to either open it once in the browser and activate location access as described above, or use the settings dialog of the installed application.

### Long press on the icon in the launcher
![image](https://user-images.githubusercontent.com/231274/117125319-ac76cb00-ad99-11eb-84b0-1cdf1bf8ca97.png)

### Select `Site Settings` in the menu

### Activate location access
![image](https://user-images.githubusercontent.com/231274/117125471-d8924c00-ad99-11eb-8961-1a4984719310.png)

Now, when you return to the app, the button `Go Immersive` should be active.

repository: MikelSalazar/sparcl

repo_name: MikelSalazar/sparcl


text:
# Deprecated, see the [caring/docs.caring.com](https://github.com/caring/docs.caring.com)
# Caring.com Reviews JSON API docs

View docs at: https://caring.github.io/reviews-api-docs/

## Basic Workflow

* Edit the docs
* Merge and push to `master`
* `$ ./deploy.sh`
* Profit

repository: caring/reviews-api-docs

gha_language: JavaScript

gha_license_id: NOASSERTION

repo_name: caring/reviews-api-docs


text:
# Toggle passwords visibility
Vanilla JS script that toggles the visibility of password input fields in different forms.

Project 3 of [Vanilla JS Academy](https://vanillajsacademy.com/)

[View Demo](https://mashablair.github.io/vanilla-js-toggle-passwords/)

repository: mashablair/vanilla-js-toggle-passwords

repo_name: mashablair/vanilla-js-toggle-passwords


text:
## Raspdac
This Volumio 2 plugin will provide Audiophonics Raspdac V3 hardware power button and LCD support
<img src="http://www.audiophonics.fr/18239-thickbox_default/audiophonics-raspdac-kit-diy-lecteur-reseau-pour-raspberry-pi-20-dac.jpg" width=350 alt="Rasdac V3">

## Description
- Display artist information using auto-scrolling
- Display elapsed time / duration
- Power button support

## Installation
- Download latest release RasDac zip file for install in volumio2 here: https://github.com/JedS/Raspdac/releases/latest
- Go to Plugins -> Upload plugin and upload the file

## Future plan
- Add a flexible system to configure what gets displayed on the screen
- Add configuration (disable LCD display, LCD GPIO pin configuration, ...)
- Better management of soft reboot and soft shutdown

## License

The MIT License (MIT)

Copyright (c) [2017] [JedS]

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

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

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

repository: JedS/Raspdac

repo_name: JedS/Raspdac