text:
# @cerebral/router

## Install
**NPM**

`npm install @cerebral/router`

## Description
The router of Cerebral does not affect your view layer. A url change triggers a signal that puts your application in the correct state. Your view just reacts to this state, like any other state change.

Read more about the router in the [Cerebral in depth - Routing](https://www.jsblog.io/articles/christianalfoni/cerebral_in_depth_routing) article.

## Instantiate

```js
import { Controller, Module } from 'cerebral'
import Router from '@cerebral/router'

const router = Router({
  // Define routes and point to signals
  routes: [{
    path: '/',
    signal: 'app.homeRouted'
  }]

  // Only react to hash urls
  onlyHash: false,

  // Set a base url, if your app lives on a subpath
  baseUrl: null,

  // Will allow none matching routes on same origin to run as normal
  allowEscape: false,

  // Will make the router not run the initial route
  preventAutostart: false
})
const app = Module({
  modules: { router }
})

const controller = Controller(app)
```

## getOrigin
```js
function myAction({router}) {
  // If url is "http://localhost:3000/items?foo=bar", returns "http://localhost:3000"
  router.getOrigin()
}
```

## getPath
```js
function myAction({router}) {
  // If url is "http://localhost:3000/items?foo=bar", returns "/items"
  router.getPath()
}
```

## getSignalUrl
Allows you to convert a signal to its corresponding url. This is useful when you actually want to produce the url for a hyperlink etc. To do this you need to create the router in its own file:

*router.js*
```js
import Router from '@cerebral/router'

export default Router({
  routes: [{
    path: '/items/:itemKey',
    signal: 'items.itemRouted'
  }]
})
```

And attaching it to the controller:

*controller.js*
```js
import {Controller} from 'cerebral'
import router from './modules/router'
import items from './modules/items'

export default Controller({
  modules: {items, router}
})
```

You will be able to use the same router instance to produce url based on registered signals:

```js
import router from './router'

export default connect({
  item: state`items.list.${props`itemKey`}`,
},
  function ListItem ({itemKey, item, itemRouted}) {
    return (
      <li key={itemKey}>
        <a href={router.getSignalUrl('items.itemRouted', {itemKey})}>{item.name}</a>
      </li>
    )
  }
)
```

## getUrl
```js
function myAction({router}) {
  // If url is "http://localhost:3000/items?foo=bar", returns "/items?foo=bar"
  router.getUrl()
}
```

## getValues
```js
function myAction({router}) {
  // If url is "http://localhost:3000/items/123?foo=bar", returns "{itemId: '123', foo: 'bar'}"
  router.getValues()
}
```

## goTo
*action*
```js
function myAction({router}) {
  // Go to a new url
  router.goTo('/items')
}
```

*operator*
```js
import {goTo} from '@cerebral/router/operators'

export default [
  goTo('/items')
]
```

*operator with dynamic URL*
```js
import {state, string} from 'cerebral/tags'
import {goTo} from '@cerebral/router/operators'

export default [
  goTo(string`/${state`app.currentView`}`)
]
```

## redirect
*action*
```js
function myAction({router}) {
  // Go to a new url, replacing current url
  router.redirect('/items')
}
```

*operator*
```js
import {redirect} from '@cerebral/router/operators'

export default [
  redirect('/items')
]
```

*operator with dynamic URL*
```js
import {state, string} from 'cerebral/tags'
import {redirect} from '@cerebral/router/operators'

export default [
  redirect(string`/${state`app.currentView`}`)
]
```

## redirectToSignal
*action*
```js
function myAction({router}) {
  // Trigger a signal bound to router
  router.redirectToSignal('app.itemsRouted', {foo: 'bar'})
}
```

*operator*
```js
import {redirectToSignal} from '@cerebral/router/operators'

export default [
  redirectToSignal('app.itemsRouted', props`payload`)
]
```

## reload
*action*
```js
function myAction({router}) {
  // reload the current route
  router.reload()
}
```

*operator*
```js
import {reload} from '@cerebral/router/operators'

export default [
  reload
]
```

## routes
```js
import {Controller} from 'cerebral'
import Router from '@cerebral/router'

const controller = Controller({
  modules: {
    router: Router({
      routes: [
        {
          path: '/',
          signal: 'app.homeRouted'
        },
        {
          // Params are passed as props to the signal.
          // Query parameters are also passed as props
          path: '/projects/:projectId',
          signal: 'app.projectRouted',
        }
      ]
    })
  }
})
```

When a mapped signal triggers it will trigger with a payload if either **params** are defined on the route or the url has a **query**. For example */projects/123?showUser=true* will produce the following payload to the signal, available on the **props** :

```js
{
  projectId: '123',
  showUser: true
}
```

## setUrl
```js
function myAction({router}) {
  // If url is "http://localhost:3000", changes to "http://localhost:3000/foo"
  router.setUrl('/foo')
}
```

### EXPERIMENTAL
We are currently working on functionality that allows you to bind urls to your state, also allowing you to create more complex relationships between your application state and the url. This API is very likely to change, but please feel free to try it out and give us feedback.

#### mapping
The `map` property let's you create a mapping between state and
url parameters. This works both ways: when you change the state,
it sets the url from state and when the url changes, it triggers
the state changes.

This automatic mapping is only active if the current url
is active. Note also that when you use state mapping, the 'signal'
is optional.

```js
import {Controller} from 'cerebral'
import Router from '@cerebral/router'

const controller = Controller({
  modules: {
    router: Router({
      routes: [
        {
          path: '/projects/:projectId',
          map: {projectId: state`app.currentProjectId`},
          signal: 'app.projectRouted',
        },
        {
          path: '/settings/:tab',
          // whitelist 'focus' query parameter
          // and 'tab' url parameter
          map: {tab: props`tab`, focus: props`focus`},
          signal: 'app.settingsRouted',
        }
      ]
    })
  }
})
```

#### computed mapping

You can use a `Compute` value here to run a computed in order to prepare
the value passed to build the url.

```js
map: {
  urlKey: Compute(/* ... */)
}
```

If you use a `Compute` the router cannot map back from the url key to the
state and you need to define a reverse map with `rmap`:

```js
rmap: {
  'some.state': Compute(props`urlKey`, (urlKey) => /* ... */),
  'other.state': Compute(props`urlKey`, (urlKey) => /* ... */)
}
```

```js
import {Controller} from 'cerebral'
import Router from '@cerebral/router'
import {props, state} from 'cerebral/tags'

const controller = Controller({
  modules: {
    router: Router({
      routes: [
        {
          path: '/settings/:tab',
          // This maps a complex app state to the `opts` param in
          // url query.
          map: {
            opts: Compute(
              state`projectId`,
              state`user.lang`,
              (projectId, lang) => ({projectId, lang})
            )
          },
          // This parses the url query `opts` into two state values.
          // It does a 'reverse map' hence the 'rmap' name.
          rmap: {
            'projectId': Compute(
              state`projectId`,
              props`opts`,
              (projectId, opts) => opts.projectId || projectId
            ),
            'user.lang': Compute(
              state`validLangs`,
              props`opts`,
              (validLangs, opts) => (
                validLangs[opts.lang] ? opts.lang : 'en'
              )
            )
          }
        }
      ],
      query: true
    })
  }
})
```

#### Dynamically add routes

Apps that use code splitting for security reasons may not want to define all routes until after the user has been verified.

The `addRoutes()` method allows routes to be added after the app has been initialized.

Define your initial set of routes as normal:
```js
import Router from '@cerebral/router';

export default Router({
  routes: [
    { path: '/', signal: 'homeRouted' },
    { path: '/login', signal: 'loginRouted' }
  ]
});
```

Then later you can call `addRoutes`:
```js
import router from './router';

router.addRoutes([
  { path: '/now-you-see-me', signal: 'hiddenModule.hiddenRouted' }
]);
```

When used together with code splitting and `controller.addModule()` you can dynamically add functionality to a running cerebral application.

The only gotcha is that you might need to refresh the current route when reloading the app. Due to the order of events, the router may fire before the routes have loaded.
```js
// app init signal
import {reload} from '@cerebral/router/operators'
import checkAuthToken from '../actions/checkAuthToken'
import addExtraRoutes from '../actions/addExtraRoutes'

export default [
  checkAuthToken, {
    valid: [
      addExtraRoutes,
      reload // ensure that the route which was added after app was loaded is called
    ],
    invalid: []
  }
]
```

repository: christianalfoni/cerebral

repo_name: christianalfoni/cerebral


text:
# [1980s Movie Quotes](http://alexa.amazon.com/#skills/amzn1.ask.skill.5f69ff7f-c493-4e26-821c-75f53cd6b8f7)
![1 stars](../../images/ic_star_black_18dp_1x.png)![1 stars](../../images/ic_star_border_black_18dp_1x.png)![1 stars](../../images/ic_star_border_black_18dp_1x.png)![1 stars](../../images/ic_star_border_black_18dp_1x.png)![1 stars](../../images/ic_star_border_black_18dp_1x.png) 1

To use the 1980s Movie Quotes skill, try saying...

* *Alexa, launch movie quotes and tell me a movie quote*

* *Alexa, launch movie quotes and tell me a quote*

* *Alexa, launch movie quotes and tell me something*

This will provide a movie quotes from popular 1980s movies.

***

### Skill Details

* **Invocation Name:** movie quotes
* **Category:** null
* **ID:** amzn1.ask.skill.5f69ff7f-c493-4e26-821c-75f53cd6b8f7
* **ASIN:** B01KEBKI3I
* **Author:** Alex Beggs
* **Release Date:** August 17, 2016 @ 05:52:42
* **In-App Purchasing:** No

license: MIT

branch_name: refs/heads/master

extension: md

license_type: permissive


text:
# 9-2. Exercises

## 1. **BASIC**

**Ex 1.** In all exercises for this section assume that the populations are normal and have equal standard deviations.

**Ex 2.** Construct the confidence interval for $$(μ_1−μ_2)$$ for the level of confidence and the data from independent samples given.

1. 95% confidence,

   $$n_1=10, \bar{x_1}=120, s_1=2 ,$$

   $$n_2=15, \bar{x_2}=101, s_2=4$$

2. 99% confidence,

   $$n_1=6, \bar{x_1}=25, s_1=1,$$

   $$n_2=12, \bar{x_2}=17, s_2=3$$

**Ex 3.** Construct the confidence interval for $$(μ_1−μ_2)$$ for the level of confidence and the data from independent samples given.

1. 90% confidence, $$n_1=28, \bar{x_1}=212, s_1=6,$$ $$n_2=23, \bar{x_2}=198, s_2=5$$
2. 99% confidence,

   $$n_1=14, \bar{x_1}=68, s_1=8,$$

   $$n_2=20, \bar{x_2}=43, s_2=3$$

**Ex 4.** Construct the confidence interval for $$(μ_1−μ_2)$$ for the level of confidence and the data from independent samples given.

1. 99.9% confidence,

   $$n_1=35, \bar{x_1}=6.5, s_1=0.2 ,$$

   $$n_2=20, \bar{x_2}=6.2, s_2=0.1$$

2. 99% confidence,

   $$n_1=18, \bar{x_1}=77.3, s_1=1.2 ,$$

   $$n_2=32, \bar{x_2}=75.0, s_2=1.6$$

**Ex 5.** Construct the confidence interval for $$(μ_1−μ_2)$$ for the level of confidence and the data from independent samples given.

1. 99.5% confidence,

   $$n_1=40, \bar{x_1}=85.6, s_1=2.8,$$

   $$n_2=20, \bar{x_2}=73.1, s_2=2.1$$

2. 99.9% confidence,

   $$n_1=25, \bar{x_1}=215, s_1=7,$$

   $$n_2=35, \bar{x_2}=185, s_2=12$$

**Ex 6.** Perform the test of hypotheses indicated, using the data from independent samples given. Use the critical value approach.

1. Test $$H_0:μ1−μ2=11 \space vs. \space H_a:μ1−μ2>11, @ α=0.025,$$

   $$n_1=6, \bar{x_1}=32, s_1=2 ,$$

   $$n_2=11, \bar{x_2}=19, s_2=1$$

2. Test  $$H_0:μ1−μ2=26 \space vs. \space H_a:μ1−μ2 \ne 26, @ α=0.05,$$

   $$n_1=17, \bar{x_1}=166, s_1=4,$$

   $$n_2=24, \bar{x_2}=138, s_2=3$$

**Ex 7.** Perform the test of hypotheses indicated, using the data from independent samples given. Use the critical value approach.

1. Test $$H_0:μ1−μ2=40 \space vs. \space H_a:μ1−μ2<40, @ α=0.10,$$

   $$n_1=14, \bar{x_1}=289, s_1=11,$$

   $$n_2=12, \bar{x_2}=254, s_2=9$$

2. Test $$H_0:μ1−μ2=21 \space vs. \space H_a:μ1−μ2\ne 21, @ α=0.05,$$

   $$n_1=23, \bar{x_1}=130, s_1=6,$$

   $$n_2=27, \bar{x_2}=113, s_2=8$$

**Ex 8.** Perform the test of hypotheses indicated, using the data from independent samples given. Use the critical value approach.

1. Test $$H_0:μ1−μ2=-15 \space vs. \space H_a:μ1−μ2<-15, @ α=0.10,$$

   $$n_1=30, \bar{x_1}=42, s_1=7,$$

   $$n_2=12, \bar{x_2}=60, s_2=5$$

2. Test $$H_0:μ1−μ2=103 \space vs. \space H_a:μ1−μ2 \ne 103, @ α=0.10,$$

   $$n_1=17, \bar{x_1}=711, s_1=28,$$

   $$n_2=32, \bar{x_2}=598, s_2=21$$

**Ex 9.** Perform the test of hypotheses indicated, using the data from independent samples given. Use the critical value approach.

1. Test $$H_0:μ1−μ2=75 \space vs. \space H_a:μ1−μ2>75, @ α=0.025,$$

   $$n_1=45, \bar{x_1}=674, s_1=18,$$

   $$n_2=29, \bar{x_2}=591, s_2=13$$

2. Test $$H_0:μ1−μ2=20 \space vs. \space H_a:μ1−μ2 \ne 20, @ α=0.005,$$

   $$n_1=30, \bar{x_1}=137, s_1=8,$$

   $$n_2=19, \bar{x_2}=166, s_2=11$$

**Ex 10.** Perform the test of hypotheses indicated, using the data from independent samples given. Use the _p_-value approach. \(The _p_-value can be only approximated.\)

1. Test $$H_0:μ1−μ2=12 \space vs. \space H_a:μ1−μ2>12, @ α=0.01,$$

   $$n_1=20, \bar{x_1}=133, s_1=7,$$

   $$n_2=10, \bar{x_2}=115, s_2=5$$

2. Test $$H_0:μ1−μ2=46 \space vs. \space H_a:μ1−μ2\ne 46, @ α=0.10,$$

   $$n_1=24, \bar{x_1}=586, s_1=11,$$

   $$n_2=27, \bar{x_2}=535, s_2=13$$

**Ex 11.** Perform the test of hypotheses indicated, using the data from independent samples given. Use the _p_-value approach. \(The _p_-value can be only approximated.\)

1. Test $$H_0:μ1−μ2=38 \space vs. \space H_a:μ1−μ2<38, @ α=0.01,$$

   $$n_1=12, \bar{x_1}=464, s_1=5,$$

   $$n_2=10, \bar{x_2}=432, s_2=6$$

2. Test $$H_0:μ1−μ2=4 \space vs. \space H_a:μ1−μ2 \ne 4, @ α=0.005,$$

   $$n_1=14, \bar{x_1}=68, s_1=2,$$

   $$n_2=17, \bar{x_2}=67, s_2=3$$

**Ex 12.** Perform the test of hypotheses indicated, using the data from independent samples given. Use the _p_-value approach. \(The _p_-value can be only approximated.\)

1. Test $$H_0:μ1−μ2=50 \space vs. \space H_a:μ1−μ2>50, @ α=0.01,$$

   $$n_1=30, \bar{x_1}=2681, s_1=8,$$

   $$n_2=27, \bar{x_2}=625, s_2=8$$

2. Test $$H_0:μ1−μ2=35 \space vs. \space H_a:μ1−μ2 \ne35, @ α=0.10,$$

   $$n_1=36, \bar{x_1}=325, s_1=11,$$

   $$n_2=29, \bar{x_2}=286, s_2=7$$

**Ex 13.** Perform the test of hypotheses indicated, using the data from independent samples given. Use the _p_-value approach. \(The _p_-value can be only approximated.\)

1. Test $$H_0:μ1−μ2=-4 \space vs. \space H_a:μ1−μ2< =4, @ α=0.05,$$

   $$n_1=40, \bar{x_1}=80, s_1=5,$$

   $$n_2=25, \bar{x_2}=87, s_2=5$$

2. Test $$H_0:μ1−μ2=21 \space vs. \space H_a:μ1−μ2\ne 21, @ α=0.01,$$

   $$n_1=15, \bar{x_1}=192, s_1=12 ,$$

   $$n_2=34, \bar{x_2}=180, s_2=8$$

## **2. APPLICATIONS**

**Ex 14.** A county environmental agency suspects that the fish in a particular polluted lake have elevated mercury level. To confirm that suspicion, five striped bass in that lake were caught and their tissues were tested for mercury. For the purpose of comparison, four striped bass in an unpolluted lake were also caught and tested. The fish tissue mercury levels in mg/kg are given below.

                                Sample 1                                Sample 2

                        \(from polluted lake\)              \(from unpolluted lake\)

                                   0.580                                       0.382
                                   0.711                                       0.276

                                   0.571                                       0.570

                                   0.666                                       0.366

                                   0.598

1. Construct the 95% confidence interval for the difference in the population means based on these data.
2. Test, at the 5% level of significance, whether the data provide sufficient evidence to conclude that fish in the polluted lake have elevated levels of mercury in their tissue.

**Ex 15.** A genetic engineering company claims that it has developed a genetically modified tomato plant that yields on average more tomatoes than other varieties. A farmer wants to test the claim on a small scale before committing to a full-scale planting. Ten genetically modified tomato plants are grown from seeds along with ten other tomato plants. At the season’s end, the resulting yields in pound are recorded as below.

                  Sample 1                             Sample 2
          \(genetically modified\)                \(regular\)
                    20                                              21
                    23                                              21
                    27                                              22
                    25                                              18
                    25                                              20
                    25                                              20
                    27                                              18
                    23                                              25
                    24                                              23
                    22                                              20

1. Construct the 99% confidence interval for the difference in the population means based on these data.
2. Test, at the 1% level of significance, whether the data provide sufficient evidence to conclude that the mean yield of the genetically modified variety is greater than that for the standard variety.

**Ex 16.** The coaching staff of a professional football team believes that the rushing offense has become increasingly potent in recent years. To investigate this belief, 20 randomly selected games from one year’s schedule were compared to 11 randomly selected games from the schedule five years later. The sample information on rushing yards per game \(rypg\) is summarized below.

|  | _n_ | $$\bar{x}$$  | _s_ |
| :--- | :--- | :--- | :--- |
| rypg previously | 20 | 112 | 24 |
| rypg recently | 11 | 114 | 21 |

1. Construct the 95% confidence interval for the difference in the population means based on these data.
2. Test, at the 5% level of significance, whether the data on rushing yards per game provide sufficient evidence to conclude that the rushing offense has become more potent in recent years.

**Ex 17.** The coaching staff of professional football team believes that the rushing offense has become increasingly potent in recent years. To investigate this belief, 20 randomly selected games from one year’s schedule were compared to 11 randomly selected games from the schedule five years later. The sample information on passing yards per game \(pypg\) is summarized below.

|  | _n_ | $$\bar{x}$$ | _s_ |
| :--- | :--- | :--- | :--- |
| pypg previously | 20 | 203 | 38 |
| pypg recently | 11 | 232 | 33 |

1. Construct the 95% confidence interval for the difference in the population means based on these data.
2. Test, at the 5% level of significance, whether the data on passing yards per game provide sufficient evidence to conclude that the passing offense has become more potent in recent years.

**Ex 18.** A university administrator wishes to know if there is a difference in average starting salary for graduates with master’s degrees in engineering and those with master’s degrees in business. Fifteen recent graduates with master’s degree in engineering and 11 with master’s degrees in business are surveyed and the results are summarized below.

|  | _n_ | $$\bar{x}$$ | _s_ |
| :--- | :--- | :--- | :--- |
| Engineering | 15 | 68,535 | 1627 |
| Business | 11 | 63,230 | 2033 |

1. Construct the 90% confidence interval for the difference in the population means based on these data.
2. Test, at the 10% level of significance, whether the data provide sufficient evidence to conclude that the average starting salaries are different.

**Ex 19.** A gardener sets up a flower stand in a busy business district and sells bouquets of assorted fresh flowers on weekdays. To find a more profitable pricing, she sells bouquets for 15 dollars each for ten days, then for 10 dollars each for five days. Her average daily profit for the two different prices are given below.

|  | _n_ | $$\bar{x}$$ | _s_ |
| :--- | :--- | :--- | :--- |
| $15 | 10 | 171 | 26 |
| $10 | 5 | 198 | 29 |

1. Construct the 90% confidence interval for the difference in the population means based on these data.
2. Test, at the 10% level of significance, whether the data provide sufficient evidence to conclude the gardener’s average daily profit will be higher if the bouquets are sold at $10 each.

repository: misdb/statistics

gha_license_id: MIT

repo_name: misdb/statistics


text:
# Fortsetzung

This is a tiny project whose goal is to explore patterns of programming
control flow using continuation passing style and callCC.

The main example is a naive SAT solver that operates over arbitrary symbolic
boolean expressions, making (mostly) arbitrary decisions and backtracking when
they are inconsistent. This style avoids the need to explicitly pass around
or mutate an assignment state.

license: ISC

repository: benjaminfjones/Fortsetzung

repo_name: benjaminfjones/Fortsetzung


text:
---
layout: lesson
title: Git Command Line Interface
category: git-basics
tags:
---

## Goals (Learning Objectives)

After doing this tutorial you will know how to

* Clone a git repository
* Check out git branches
* Commit changes to a local git branches
* Explain two-stage commits with the notions of working, staging and committed
* Push your commits to a remote branch on github
* Pull commits from a remote repository like github

## Activities

* Follow the [Patchwork Intro to Git on the CLI](https://learn.wheelhouse.io/events/git-cli) on wheelhouse.io.

## Next Steps

Next, learn how multiple people can [work simultaneously using Git](../git-working-in-parallel).

repository: CodeForPhilly/decentralized-data

branch_name: refs/heads/gh-pages

gha_language: CSS

repo_name: CodeForPhilly/decentralized-data


text:
# WebPay::Mock

WebPay::Mock helps development of WebPay client applications.

This generates a response object from request parameters, and wraps WebMock gem for easy end-to-end testing against webpay API server.

## Installation

Add this line to your application's Gemfile:

    gem 'webpay-mock'

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install webpay-mock

## Usage

### RSpec

In `spec_helper.rb`,

```ruby
require 'webpay/mock'

RSpec.configure do |c|
  c.include WebPay::Mock::WebMockWrapper
end
```

In your spec file,

```ruby
let(:params) { { amount: 1000, currency: 'jpy', card: 'tok_xxxxxxxxx', description: 'test charge' } }
let!(:response) { webpay_stub(:charges, :create, params: params) }

specify { expect(WebPay::Charge.create(params).id).to eq response['id'] }
```

See [our test cases](https://github.com/tomykaira/webpay-mock/blob/master/spec/webmock_wrapper_spec.rb) for more examples.

## Contributing

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

Fixed bugs and new features must be tested.

## License

[The MIT License (MIT)](http://opensource.org/licenses/mit-license.html)

Copyright (c) 2013- WebPay, Inc.

repository: komagata/webpay-mock

repo_name: komagata/webpay-mock


text:
![LICENSE](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)
![Meat Type](https://img.shields.io/badge/Meat-Chicken-yellow)
![Structure Type](https://img.shields.io/badge/Structure-Neuron-green)
![Sponsor](https://img.shields.io/badge/Sponsor-Belovas-orange)

# Portfolio
### 19 group portfolio website project

This project is for educational porpuses only. Pull request are welcome. Thank you for your cooperation!

Site published at https://front-end-by-rimantas.github.io/19-grupe-portfolio-neuron/

Design: [Awesome Neuron](http://demo.auburnforest.com/html/neuron/demo/index.html)

## Project features
- Node.js
- responsive design
- repetitive content is generated/rendered;
- css animations
- form validations
- no AJAX (data sending)

## Authors
[Laura](https://github.com/laurako14/)

[Daniel](https://github.com/DanielGurevich1)

[Rokas](https://github.com/JackeviciusR)

[Žymantas](https://github.com/Zymantasdan)

[Andrejus](https://github.com/andrejusnec)

[Rasa]()

branch_name: refs/heads/develop


text:
SortOrder: 0
# Wix Forms

## What is it?

Wix Forms enables our users to create and add any type of form to a Wix Site.

## What can users do with it?

Wix users can find a variety of templates, such as Contact Form and Job Application Form,
and customize the design of these forms as well as change the fields that are included in
the form in order to collect the information that they need from their site visitors.
Additionally, users can choose to sync the form fields to the contact that is created once
the site visitor submits the form, enabling the user to automatically link the information
they collect from the form to the relevant contact.

When site visitors submit a form the user will be able to see it in:

 * Wix Inbox
 * The email account the user sets in their form settings
 * The submission table in the site dashboard

## Main entities

### FormDetails

The `FormDetails` entity represents a custom form. A form has a lifecycle with the following stages:

 * `DRAFT` - Form was created in the editor, but was not yet published
 * `PUBLISHED` - Form is published and available on the site
 * `DELETED` - Form was published but removed from the site
 * `DISCARDED` - Form was created in the editor, but deleted before the site was published

repository: wix-incubator/wix-rest-docs

repo_name: wix-incubator/wix-rest-docs


text:
# Old changelog for the Marnix0810's HackeyBlock Project

This changelog stops with version 3.14.7, the new changelog can be found at https://github.com/Marnix0810/HackeyBlock-Windows/blob/master/CHANGELOG.MD.

## changelog for version 22335/2019-03-21 18:18:53,69:

- unblocked some false-positive hosts
- added changelog funtions
- improved blocking system

## changelog for version 4798/2019-03-21 18:41:14,83:

- fixed a minor bug which made it impossible to read this changelog

## changelog for version 7806/2019-03-21 18:57:04,17:

- improved list with blocked sites

## changelog for version 13625/2019-03-21 19:26:16,99:

- Enchanced system to copy unblocked patrons
- Page 'blocked by hackey' updated

## changelog for version 17155/2019-03-21 19:44:22,95:

## changelog for version 17511/2019-03-21 19:46:08,08:

## changelog for version 19763/2019-03-21 22:45:47,42:

- Added some hosts to block list

## changelog for version 27715/2019-03-22  7:52:28,53:

- Updated blocking list
- Some small bugfixes in installer

## changelog for version 12391/2019-03-22  9:20:51,93:

- Ennchanced some interface displays

## changelog for version 19004/2019-03-27 20:50:31,95:

- added some domains to blocklist

## changelog for version 22277/2019-03-27 21:06:59,86:

## changelog for version 22479/2019-03-27 21:08:01,79:

- Removed some false blockings from list

## changelog for version 22988/2019-03-27 21:10:38,07:

Just some minor bugfixes.

## changelog for version 7898/2019-03-30  9:12:33,71:

- Changed the settings menu into the hackey menu
- Added 'Uninstall Hackey' option in menu

## changelog for version 10240/2019-03-30  9:24:31,56:

- Fixed bug with updates that caused the update system to disable itself forever
- Fixed bug that caused to ask to remove hackey when exiting the menu

## changelog for version 60/2019-03-30 11:20:14,21:

- Enchanced the Hackey system in general
- Enchanced the Hackey remover a lot

## changelog for version 955/2019-03-30 11:24:22,99:

- Removed the question if it was OK to overwrite when starting uninstaller the second time.

## changelog for version 2973/2019-03-30 11:34:37,48:

- Added option to 'Run Hackey AutoTest'to menu.

## changelog for version 5474/2019-03-30 11:47:24,36:

- Enchanced the AutoTest page

## changelog for version 5778/2019-03-30 11:48:57,02:

## changelog for version 18225/2019-03-30 15:39:45,43:

- fixed bug in update system

## changelog for version 15596/2019-03-31 23:06:32,37:

Just a routine update. Updated malware host list.

## changelog for version 7695/2019-04-03 17:22:10,64:

- Added GUI (graphical user interface) for the menu and the 'update available' screen.
- Soon more GUIs will come.

## changelog for version 3200/2019-04-03 19:43:39,93:

- Made the black screen showed when starting white

## changelog for version 3886/2019-04-03 19:47:17,95:

- Fixed a minor bug

## changelog for version 1259/2019-04-03 22:21:05,23:

- Created an after-update GUI

## changelog for version 2392/2019-04-03 22:26:45,71:

- Fixed a bug in the update system

## changelog for version 2820/2019-04-03 22:28:57,01:

## changelog for version 6346/2019-04-04  9:57:19,24:

- Made Hackey able to detect network state at start. (could be a problem with a slow-starting network adapter after boot, I am aware so it's being worked on.)
- Translated even more of Hackey. Hackey will be international in a while.

## changelog for version 12955/2019-04-04 10:29:39,00:

- Added 'after boot timeout' function to fix a problem that was created with version 6346/2019-04-04  9:57:19,24.
  (this function will also be usefull on slower computers.)

## changelog for version 19996/2019-04-04 11:05:33,65:

- Added www.outbrain.com to list of ad hosts

## changelog for version 21837/2019-04-04 11:14:58,21:

- Fixed a minor bug which caused Hackey to create unexpected behaviour after update, the after-update screen will now be shown.

## changelog for version 22860/2019-04-04 11:20:10,57:

- Fixed another minor bug that showed a 'page can't load'-error

## changelog for version 25763/2019-04-04 11:49:11,96:

- Updated list for malware domains
- Removed bug 'Error response' in AutoTest

## changelog for version 30733/2019-04-04 12:00:24,62:

- Fixed some bugs

## changelog for version 32271/2019-04-04 12:08:19,68:

## changelog for version 897/2019-04-04 12:15:20,33:

- Bugfixes

## changelog for version 2834/2019-04-04 12:25:12,83:

- Changed first letters in menu to captions

## changelog for version 3918/2019-04-04 12:30:44,58:

- Enchanced the fix introduced in version 3200/2019-04-03 19:43:39,93.
- Made uninstaller run more smoothly.

## changelog for version 18378/2019-04-04 13:44:56,05:

- Enchanced the Hackey background service engine

## changelog for version 24668/2019-04-04 14:16:40,74:

- Routinal update

## changelog for version 1/2019-04-04 14:43:31,21:

There is a change in version numbers. From now on they will be on order of how many updates a day. Starting with 1.

## changelog for version 1/2019-04-05 23:13:52,15:

- Updated setup system
- Made the post-update screen show up more efficient.

## changelog for version 1/2019-04-07 10:51:03,53:

- Updated icons
- Updated adlist with http://www.malwaredomainlist.com/hostslist/hosts.txt

## changelog for version 2/2019-04-07 11:11:28,13:

- Updated autotest icon 1 (2 is still the marnix0810 logo.)

## changelog for version 3/2019-04-07 19:27:13,05:

- Changed font of pages for some computers

## changelog for version 4/2019-04-07 19:31:26,48:

- Updated ad list; removed a false blockment

## changelog for version 1/2019-04-14 13:21:02,95:

## changelog for version 2/2019-04-14 13:23:19,61:

## changelog for version 3/2019-04-14 13:25:33,50:

## changelog for version 4/2019-04-14 13:27:53,04:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt
- Partially translated the AutoTest screen to english

## changelog for version 5/2019-04-14 13:47:49,75:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt
- Added personal blocking lists function.

## changelog for version 6/2019-04-14 13:52:03,50:

- Updated after-update screen a bit.

## changelog for version 7/2019-04-14 14:06:40,95:

- A minor bugfix that could have been uinnecessary

## changelog for version 8/2019-04-14 14:21:14,29:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt
- Updated personal blocking lists function.

## changelog for version 9/2019-04-14 14:31:45,02:

- Fixed the empty Wordpad file that opened when adding a personal blocking.

## changelog for version 10/2019-04-14 14:42:35,13:

- Fixed bug that made Personal Blocking lists not work at all.

## changelog for version 11/2019-04-14 19:39:26,14:

- updated ad list.
  --> ads.google.com
  <-- nothing removed

## changelog for version 12/2019-04-14 19:41:27,50:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt
- Routinal update

## changelog for version 1/2019-04-17 21:09:33,20:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt
- The personal blocklist function seems stable, I removed the expirimental note.
- Added code to refresh after editing personal blocklist.

## changelog for version 2/2019-04-17 21:19:30,24:

- Small bugfixes

## changelog for version 3/2019-04-17 21:23:14,17:

- Testing the update system.

## changelog for version 1/2019-04-30 22:23:50,30:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt

## changelog for version 2/2019-04-30 22:26:22,25:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt
- updated menu and after update/install screen.

## changelog for version 3/2019-04-30 22:29:26,69:

- updated menu and after update/install screen.

## changelog for version 4/2019-04-30 22:39:50,68:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt

## changelog for version 5/2019-04-30 22:46:18,54:

## changelog for version 6/2019-04-30 22:46:32,53:

## changelog for version 7/2019-04-30 22:52:18,46:

## changelog for version 8/2019-04-30 22:53:00,86:

## changelog for version 9/2019-04-30 23:01:36,33:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt
  -- just testing the update system server-side --

## changelog for version 10/2019-04-30 23:19:48,77:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt
  -- just testing the update system server-side --

## changelog for version 11/2019-04-30 23:21:19,21:

-- just testing the update system server-side --

## changelog for version 12/2019-04-30 23:33:51,60:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt

## changelog for version 13/2019-04-30 23:40:16,88:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt
- updated the 'update is available' screen
- fixed the installer

## changelog for version 14/2019-04-30 23:44:15,87:

see the changelog for 13/2019-04-30 23:40:16,88. the system crashed so the executable was not created.

## changelog for version 1/2019-05-01 11:59:01,63:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt

## changelog for version 2/2019-05-01 12:04:16,75:

- minor bugfixes

## changelog for version 3/2019-05-01 12:18:36,64:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt
- made Hackey-AdBlock smaller by compressing its assets.

## changelog for version 4/2019-05-01 12:23:02,02:

## changelog for version 5/2019-05-01 12:37:02,38:

- compressed parts even further, now including ad list and hackey-stopper.

## changelog for version 6/2019-05-01 12:51:53,96:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt
- compressed even further, if you want to know why here is a list of reasons:
  - first, a smaller file means less bandwidht so a faster and smoother download
  - second, if the sfx file is too big it loses it's logo and thats why the logo was deleted from the installer

## changelog for version 7/2019-05-01 13:08:11,34:

- testing the new update creator

## changelog for version 8/2019-05-01 13:14:18,74:

## changelog for version 9/2019-05-01 13:28:51,96:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt
- mannually updated the ads list

## changelog for version 10/2019-05-01 13:32:14,84:

## changelog for version 11/2019-05-01 13:43:07,74:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt

## changelog for version 12/2019-05-01 14:00:17,49:

## changelog for version 13/2019-05-01 14:21:26,40:

## changelog for version 14/2019-05-01 14:23:35,79:

- added upx compression and 7-zip compression to installer (used to be Rar compression only.)

## changelog for version 16/2019-05-01 14:28:35,49:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt
- added upx compression and 7-zip compression to installer (used to be Rar compression only.)

## changelog for version 17/2019-05-01 14:31:36,56:

- Updated UPX, the old version was made in 2011 - the new version from 2018... oops...

## changelog for version 18/2019-05-01 14:37:48,36:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt
- updated the update distibution system server-side

## changelog for version 19/2019-05-01 14:40:47,05:

## changelog for version 20/2019-05-01 14:45:39,19:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt
- updated icons

## changelog for version 21/2019-05-01 14:55:55,05:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt

## changelog for version 22/2019-05-01 15:32:34,11:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt
- updated the afterupdate and update-availlable screen.

## changelog for version 23/2019-05-01 15:53:24,28:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt
- updated the 'update available' screen

## changelog for version 24/2019-05-01 15:58:58,10:

- updated installer

## changelog for version 25/2019-05-01 16:05:57,78:

- Minor bug fix
- Another update for 'update available' screen

## changelog for version 26/2019-05-01 16:22:52,06:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt
- minor interface updates

## changelog for version 27/2019-05-01 16:34:42,64:

- synced malware domain list from http://www.malwaredomainlist.com/hostslist/hosts.txt
- routinal update including some finishing touches on interfaces

## changelog for version 1/2019-05-02 11:44:54,81:

- blocklist:
      (+) adclick.g.doubleclick.net
- solved bug that caused to fail AutoTest

## changelog for version 2/2019-05-02 12:02:57,00:

- added functionality to hackey to update itself with http://www.malwaredomainlist.com/hostslist/hosts.txt, the adlist will still get updated by me.
- added 'manually' to the list of frequencies of updates.

## changelog for version 4/2019-05-02 12:20:29,52:

- removed possible bug in the downloader for the mdm hostlist.

## changelog for version 5/2019-05-02 12:38:40,34:

- updated icons
- fixed some bugs

## changelog for version 6/2019-05-02 12:48:57,88:

- made the logo nice again

## changelog for version 7/2019-05-02 12:55:20,00:

- made Hackey smaller by removing the build-in python installer and reffering people to the python site (if python is not installed)

## changelog for version 19/2019-05-02 16:39:19,26:

- fixed bug in AutoTest
- updated blocking list:
  (+) vz-cdn.trafficjunky.net
- Fixed bug in the update system

## changelog for version 22/2019-05-02 16:50:54,32:

- Fixed another bug in AutoTest... Sorry...

## changelog for version 23/2019-05-02 17:00:43,87:

- Added 'do not auto start' to menu --> set startup timeout.
- Fixed the system asks for update while update is set to manual.

## changelog for version 24/2019-05-02 18:32:51,75:

- I think I removed all of the bugs in AutoTest now...

## changelog for version 25/2019-05-02 20:00:41,14:

--- updated my winrar, to implement it into my update system i need to make an update. ---

## changelog for version 1/2019-05-03 17:57:25,05:

(Routinal update)

## changelog for version 2/2019-05-03 18:31:05,24:

- updated interface of 'update-available' screen.

## changelog for version 3/2019-05-03 18:55:49,80:

- Updated blocking list:
  (+) images-prod.powerinboxedge.com
  (+) branding.revenuestripe.com
  (+) evidon.com
  (+) evidon.nl

## changelog for version 1/2019-05-04 16:11:56,39:

- Removed the need of Internet Explorer for the update screen, I will do this more in future. Because I want to be independent from Internet Explorer (although I use MSHTA which is based partially on IE, by IE I mean the browser, not the HTA engine in it which will probably continue support.)

## changelog for version 2/2019-05-04 16:29:21,81:

- decompressed the installer a bit.

## changelog for version 3/2019-05-04 16:47:17,00:

- Updated someparts of the interface.

## changelog for version 4/2019-05-04 16:51:24,48:

- More interface updates! Yeah cool

## changelog for version 5/2019-05-04 17:02:41,72:

- solved bug that caused updater ask to install update.

## changelog for version 7/2019-05-04 17:03:34,83:

## changelog for version 8/2019-05-04 20:35:21,77:

- updated blocking list:
  (+) ovc2-ustokyyneikyfasnm.stackpathdns.com

## changelog for version 1/2019-05-05 13:38:51,89:

## changelog for version 2/2019-05-05 13:41:28,32:

- update in update distr. system.

## changelog for version 3/2019-05-05 14:29:25,66:

- fixed bug in Hackey installer that caused an nonfunctional app for new users and non-updating for updaters

## changelog for version 1/2019-05-06 20:27:40,28:

- updated blocking list:
  (+) popup.taboola.com
  (+) taboola.com
  (+) ads.taboola.com
  (+) 5cc9d5c68b504aa2fe70-1fcff0a84bcdea5a9b63ebb4caea7fcf.ssl.cf6.rackcdn.com

## changelog for version 2/2019-05-06 20:34:16,07:

- Fixed bug that caused hackey to start and restart, start and restart, etc. after installation.

## changelog for version 3/2019-05-06 20:38:16,20:

see 2/2019-05-06 20:34:16,07.

## changelog for version 4/2019-05-06 20:42:51,33:

okay, I've had some system failures... sorry! but it is launched now! (see 2//2019-05-06 20:38:16,20.)

## changelog for version 5/2019-05-06 20:50:28,53:

- updated blocking list:
      (+) 65vk1fba34.com

## changelog for version 1/2019-05-08 22:53:19,67:

- added a function called 'Zone' to Hackey. Hackey Zone doesn't block ads. Hackey Zone implements a couple of redirections to your computer's host.txt-file, this makes sure some typo's are recovered so you can browse faster and more safely even. Hackey Zone can make sure you will get on the right site, the site where you wanted to go. If a site is redirected from and you wanted the original site, please contact me at<EMAIL_ADDRESS>

## changelog for version 1/2019-05-10 20:46:57,66:

- Some huge GUI updates
- Made loading the menus faster

## changelog for version 2/2019-05-10 21:05:37,04:

now the changelog should be better readable from the menu.

## changelog for version 3/2019-05-10 22:49:08,17:

routinal update

## changelog for version 1/2019-05-15 20:27:46,53:

- Small update in Menu interface
- Removed the link to licenses. We are license-free at the moment :)

## changelog for version 2/2019-05-15 20:37:19,51:

bugfix for update system, when updates set to 'manually', the system deletes files that could cancel the installation, finds out the user doesn't need no update and then leaves Hackey damaged... But it's fixed now!

## changelog for version 1/2019-05-17 16:22:54,07:

small bugfixes.

## changelog for version 1/2019-05-18 15:13:16,81:

I am building a new installer. This won't work perfectly for now, but my goal is to make it more convient than Winrar SFX's.

## changelog for version 2/2019-05-18 15:17:10,36:

## changelog for version 3/2019-05-18 15:25:13,55:

Fixed shortcut

## changelog for version 4/2019-05-18 16:23:40,40:

Added shortcut. sorry new users without shortcut...

## changelog for version 5/2019-05-18 16:31:04,21:

## changelog for version 6/2019-05-18 16:35:11,65:

- updated shortcuts and changed some things on the menu (starter)

## changelog for version 7/2019-05-18 16:53:10,28:

## changelog for version 8/2019-05-18 17:05:40,30:

## changelog for version 9/2019-05-18 20:06:23,38:

Replaced Hackey Zone with HackeyPrivacy: HackeyPrivacy blocks domains which are used to track your online activity. Zone was not very succesfull, that's why it has been removed.

## changelog for version 12/2019-05-18 21:06:17,51:

- Enchanced uninstal system

## changelog for version 13/2019-05-18 21:08:12,88:

Hope i fixed the freeze while extracting hackey.

## changelog for version 1/2019-05-19 11:20:08,85:

- Changed the installer

## changelog for version 2/2019-05-19 11:21:12,23:

fixed the installer

## changelog for version 3/2019-05-19 11:26:06,26:

fixed the system keeping on asking for the update to be downloaded, I hope...

## changelog for version 4/2019-05-19 11:30:30,59:

- Changed the update system.

## changelog for version 5/2019-05-19 14:32:28,83:

Tweaked the starter a bit.

## changelog for version 6/2019-05-19 17:00:47,19:

I am thinking of moving Hackey to the Zeronet. (I am testing at http://<IP_ADDRESS>:43110/18oRc2XLEDGLTer2y437T7hE8y6vaZCiGD/ if you want to see...)

## changelog for version 7/2019-05-19 18:24:51,14:

- updated the naming for the executable installers.

## changelog for version 8/2019-05-19 18:26:03,80:

updated the naming of both files included in the 7z

## changelog for version 9/2019-05-19 19:55:32,45:

## changelog for version 1/2019-05-20 20:49:39,19:

updated shortcuts

## changelog for version 1/2019-05-21  9:50:29,89:

## changelog for version 2/2019-05-22 15:32:46,67:

made the uninstaler actually able to uninstall Hackey...

## changelog for version 3/2019-05-22 15:35:21,40:

Routinal update

## changelog for version 4/2019-05-22 15:35:59,10:

## changelog for version 5/2019-05-22 15:37:01,21:

## changelog for version 6/2019-05-22 15:37:51,89:

## changelog for version 7/2019-05-22 15:38:03,87:

## changelog for version 8/2019-05-22 15:50:12,45:

## changelog for version 1/2019-05-23 18:13:42,35:

I am building a Github repo.

## changelog for version 2/2019-05-23 18:15:45,08:

## changelog for version 3/2019-05-23 18:20:39,02:

I am testing some things.

## changelog for version 4/2019-05-23 21:21:25,17:

I am changing the download location from Stackstorage to Github.

## changelog for version 5/2019-05-23 21:37:54,46:

I dropped the ZeroNet support. ZeroNet is not ready to be used for this purpose yet.

## changelog for version 1/2019-05-25 12:18:36,11:

- Added autoupdate function
- Updated ad-blocking list: +tpc.googlesyndication.com

## changelog for version 2/2019-05-25 12:23:01,54:

sorry, interuption in my update distribution system, see the changelog of version 1/2019-05-25 12:18:36,11 to read what's changed.

## changelog for version 3/2019-05-25 12:31:07,67:

Bugfixes on my side.

## changelog for version 4/2019-05-25 13:22:35,65:

- debugged autoupdate
- updated interface
- updated update distr. system

## changelog for version 5/2019-05-25 14:16:51,82:

## changelog for version 6/2019-05-25 14:28:36,46:

routinal update

## changelog for version 7/2019-05-25 14:38:05,30:

## changelog for version 8/2019-05-25 22:07:03,37:

fixed a bu for new users.

## changelog for version 1/2019-05-26 20:40:36,57:

## changelog for version 1/2019-05-27 17:56:49,36:

updated ad list.

## changelog for version 1/2019-05-28 16:41:04,28:

Weekly update

## changelog for version 1/2019-05-31 10:19:27,32:

Implemented a 32-bit version of Python into Hackey: It is not neccessary anymore to have Python installed on your computer. Altough it is still recommended.

## changelog for version 2/2019-05-31 10:42:31,86:

Routinal update.

## changelog for version 3/2019-05-31 11:22:49,12:

- The implementable version of Python is now compatible with both 64 bit and 32 bit!!!

## changelog for version 4/2019-05-31 12:09:34,95:

Hackey-AdBlock's list will now be more accurate than ever because the adlists got their own update system.

## changelog for version 5/2019-05-31 12:24:49,10:

the changelog in the 7-zip file is now an internet shortcut

## changelog for version 6/2019-05-31 13:22:58,83:

- updated shortcuts

## changelog for version 7/2019-05-31 13:39:28,98:

## changelog for version 9/2019-05-31 13:45:57,46:

- updated shortcuts
- This update contains a patch that tries to remove the old shortcuts.

## changelog for version 10/2019-05-31 13:51:47,73:

- fixed bug when opening changelog from menu: Now links to online changelog.

## changelog for version 11/2019-05-31 13:58:48,59:

Small bugfix.

## changelog for version 12/2019-05-31 14:14:55,46:

another bug fix

## changelog for version 13/2019-05-31 14:18:41,65:

## changelog for version 1/2019-06-01 21:29:38,52:

## changelog for version 2/2019-06-01 21:52:23,11:

- Fixed the comeback of Zone. (read the montly post for more info)
  The HackeyPrivacy function is now functional again.

## changelog for version 3/2019-06-01 21:56:48,75:

- Added the same online-list functions for Ad list for Privacy list.

## changelog for version 4/2019-06-01 22:16:59,44:

minor bugfix

## changelog for version 5/2019-06-01 23:13:51,57:

## changelog for version 6/2019-06-01 23:14:01,15:

- updated some interface screens.

## changelog for version 7/2019-06-01 23:37:27,12:

a bugfix

## changelog for version 8/2019-06-01 23:39:18,28:

## changelog for version 9/2019-06-01 23:42:31,80:

## changelog for version 10/2019-06-01 23:42:55,48:

## changelog for version 11/2019-06-01 23:44:10,37:

## changelog for version 12/2019-06-01 23:48:30,72:

## changelog for version 13/2019-06-01 23:52:53,71:

Sorry. Had some trouble on my side.

## changelog for version 1/2019-06-02 15:57:16,81:

- Made the installer smaller by putting 'How does the Personal Blocking list work.rtf' on The Marnix 0810 Site

## changelog for version 4/2019-06-02 16:28:09,88:

Now flexabilized the setup builder to move the origin of code to Github

## changelog for version 5/2019-06-02 16:44:26,77:

## changelog for version 6/2019-06-02 16:45:56,31:

Some updates on my side.

## changelog for version 7/2019-06-02 17:06:45,77:

Updated the AutoTest screen, added 'view license' to it.

## changelog for version 8/2019-06-02 22:19:04,22:

Updated menu

## changelog for version 9/2019-06-02 22:31:45,04:

## changelog for version 10/2019-06-02 22:52:30,58:

- Moved 'How does the personal blocking list work?' to the Wiki.

## changelog for version 1/2019-06-03 17:31:10,54:

- Added cleaning up to updaters tasks.

## changelog for version 3.1

The setup numbering system and setup creation script have been replaced.## changelog for version 3.2

-- beginning trouble -- Fixed a small bug in the setup creation system.

## changelog for version 3.4:

I am having some trouble with this!

## changelog for version 3.5:

## changelog for version 3.6:

Fixed small bug on my side which caused updated system to keep updating

## changelog for version 3.6:

## changelog for version 3.7:

I think this release will be as stable again as before I started to use this SETUP CREATOR.

## changelog for version 3.8:

From now on, you can use Hackeyprivacy without blocking ads, you can turn off ad-blocking now.

## changelog for version 3.9:

Added an adult blocking list function. This does not yet cover much but will enchance as people report new domains.

## changelog for version 3.10:

- Interface updates
- Updated shortcuts

## changelog for version 3.11:

- updated the name

## changelog for version 3.12:

Minor changes

## changelog for version 3.12.1:

- Numbering updated
- Shortcuts updated

- more small updates.

## changelog for version First-winrarred-version_3.12.5:

- testing the use of winrar sfx's in stead of F2KO Bat2Exe files for setups.

## changelog for version first-winrarred-version_3.12.2:

- think I have the use of winrar sfx's in stead of F2KO Bat2Exe files for setups stable

## changelog for version 3.12.4:

- updated update system, sorry. It will not run smooth untill I can make it better, I just have no time to perfect it now.

## changelog for version 3.12.5:

- Removed icon from setup, i think the false virus marking is solved now.

## changelog for version .1:

- I have added support for messages per version. This is experimental and possibly buggy. The function will improve soon.

## changelog for version .1:

- I have added support for messages per version. This is experimental and possibly buggy. The function will improve soon.

## changelog for version 3.13.6:

- I have added support for messages per version. This is experimental and possibly buggy. The function will improve soon.

## changelog for version 3.13.7:

- Added HackeyProtect, this blocking function blocks site that the mdmlist don't. It will also block domains that send you to dangerous sites, these were blocked as ads before.

## changelog for version 3.13.8:

- Now the menu will go to background when you close it.
- The message indicating 'HackeyBlock service is activated' is now modernized using [Notifu](http://www.paralint.com/projects/notifu/index.html).

## changelog for version 3.13.9:

- A bug fix regarding the error you get when opening the menu.
- Some interface changes: version is now displayed with the version-information
- For some users Hackey@startup did not work. Now when saving the startup timeout settings, this should be fixed.

## changelog for version 3.13.10:

- 'No connection' uses Notifu now.
- Settings are no longer stored per user but synced between (they have to be synchrome, else the system doesn't work optimally...)

## changelog for version 3.13.11:

- Added the telemetry function
  - Added the DNS-log upload function

## changelog for version 3.13.12:

- fixed the continue without DNS-log upload caused by a malfunctioning asset extraction system.

## changelog for version 3.14.1:

- The HARR (Hackey Admin Rights Request) is now implemented in HackeyBlock.
- The exit button in the top of the HackeyBlock menu now actually works.
- Some bugs where removed.

## changelog for version 3.14.2:

- HARR is now updated to ver. 1.5, the admin rights requester should work better now.

## changelog for version 3.14.3:

- HARR is now updated to ver. 1.5.2, the admin rights requester should work better now.

## changelog for version 3.14.4:

- The cmd box should be hiding itself better now.
- I updated the system that uploads the DNS-logs, the download of aditional parts will be a little faster now.

## changelog for version 3.14.5:

- Enchanced shortcuts
- Enchanced the HARR integration (call to HARR)

## changelog for version 3.14.6:

- Updated the update system (location system)

## changelog for version 3.14.7:

- Made the hiding, and so the interface better.

repository: gitter-badger/HackeyBlock

repo_name: gitter-badger/HackeyBlock


text:
Active config files
===================
application.json
contexts/default.json

Context config files
====================
Themes are corganized into contexts.  for instance a theme called foundation could have a contexts/foundation.json

Local config files
==================
these are settings specific to an environment.  for instance databases, memcache, etc.

Help
====
application.json
	* Defines site wide routes

contexts/default.json
	* Defines settings for default theme

repository: linearregression/meetups

repo_name: linearregression/meetups


text:
## bspwm [![bspwm](https://img.shields.io/badge/BSP-WM-yellow?style=flat-square)](https://github.com/baskerville/bspwm)
![ScreenShot](https://github.com/Terke/dotfiles/blob/master/screenshots/15.png)

## Cool Stuff

- **OS :** [**B**tw, **I** **u**se **A**rch](https://www.archlinux.org/)
- **Window Manager :** [bspwm](https://github.com/baskerville/bspwm), [leftwm](https://github.com/leftwm/leftwm)
- **Bar :** [polybar](https://github.com/polybar/polybar)
- **Program Launcher :** [rofi](https://github.com/davatorium/rofi), [dmenu](https://tools.suckless.org/dmenu/)
- **GUI File Manager :** [thunar](https://github.com/xfce-mirror/thunar)
- **CLI File Manager :** [ranger](https://github.com/ranger/ranger)
- **Image Viewer :** [feh](https://github.com/derf/feh)
- **Screenshooter :** [scrot](https://github.com/resurrecting-open-source-projects/scrot), [maim](https://github.com/naelstrof/maim)
- **Web Browser :** [qutebrowser](https://qutebrowser.org/index.html)
- **Terminal :** [alacritty](https://github.com/alacritty/alacritty)
- **Terminal Font :** [Mononoki Nerd Font](https://github.com/ryanoasis/nerd-fonts)
- **CLI Text Editor :** [neovim](https://neovim.io/)
- **GUI Text Editor :** [Atom](https://flight-manual.atom.io/getting-started/sections/installing-atom/)
- **Music Daemon :** [mpd](https://www.musicpd.org/)
- **CLI Music Player :** [ncmpcpp](https://github.com/arybczak/ncmpcpp)
- **GUI Music Player :** [DeaDBeeF](https://deadbeef.sourceforge.io/)
- **Video Player :** [mpv](https://mpv.io/)
- **PDF Reader :** [Zathura](https://pwmt.org/projects/zathura/)
- **Notify Daemon :** [dunst](https://github.com/dunst-project/dunst)
- **Compositor :** [picom](https://github.com/yshui/picom)
- **GTK Theme :** [Arc-Dark](https://github.com/horst3180/arc-theme)
- **GTK Icons :** [Sardi Arc](https://github.com/erikdubois/Sardi)
- **GTK Cursors :** [xcursor-breeze](https://aur.archlinux.org/packages/xcursor-breeze/)
- **CLI Shell :** [zsh](http://zsh.sourceforge.net) / [oh-my-zsh](https://ohmyz.sh/) - Zsh prompt: [starship](https://starship.rs/)

## License

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

repository: Terke/dotfiles

repo_name: Terke/dotfiles


text:
# GetFolderFromRepo
Download a specific folder or file from a GitHub repository

## Usage:
`getFolderFromRepo.py <GitHub URL of the folder/file>`
**Example:**
`getFolderFromRepo.py https://github.com/di0002ya/ESS/tree/master/data/GP_ICE`
Will download the `GP_ICE` folder from the repo `https://github.com/di0002ya/ESS/`

## First Time Usage:
A few extra steps are required, in order to ensure smooth working
1. `[sudo] chmod +x getFolderFromRepo.py`
2. (Although this step is not entirely necessary, it is highly recommended, as the GitHub API gives very little[rate limited] access without a token)
   * Generate a new GitHub Personal Access Token from here: https://github.com/settings/tokens/new.
   Select only 'repo' from the list of scopes. Enter a suitable note.
   * ***[Recommended way]***
   Create a file `config.py` in the same folder as `getFolderFromRepo.py`, with the following contents:
`USERNAME = '' # your GitHub username here`
`TOKEN = '' # your token here`
   ***OR***
Set the `GITHUB_USERNAME` and `GITHUB_TOKEN` environment variables to appropriate values
   ***OR [Not recommended]***
Set the `USERNAME` and `TOKEN` in the `getFolderFromRepo.py` file itself
(Then be sure never to share this file with anyone)

## Author:
[Aliabbas Merchant](https://github.com/AliabbasMerchant)

## Contributing:
All contributions and feedback are welcome!

repository: acarolinasouza/GetFolderFromRepo

repo_name: acarolinasouza/GetFolderFromRepo


text:
# bebop2navi

The ROS-based autonomous navigation package for [Parrot BEBOP 2](https://hitecrcd.co.jp/products/bebop2power-packfpv/). This package includes the monocular-camera-based localization and path recording, saving, and following programs. Simple launch scripts are summarized under **ros/launch/**.

Demo video on YouTube: [Autonomous flight of Parrot BEBOP 2](https://www.youtube.com/watch?v=-uUoH1lWyTU)

# Note

[bebop_autonomy](https://github.com/AutonomyLab/bebop_autonomy) is necessary to communicate with Parrot BEBOP 2 on ROS. We confirmed that our package works on Ubuntu 16.04 and 18.04; however, **bebop_autonomy only works on Ubuntu 16.04**.

# Requirements and install

- OpenCV
- Eigen3
- Boost
- octomap-ros

You first need to do some preparations for **orbslam-uncertainty-extension**. Please into **ros/src/orbslam-uncertainty-extension/** and see README.md.

# Characteristics

The main characteristics of the package is the localization program. We use [orbslam-map-saving-extension](https://github.com/TUMFTM/orbslam-map-saving-extension), that is extension of [ORB_SLAM2](https://github.com/raulmur/ORB_SLAM2) by [Institute of Automotive Technology](https://www.ftm.mw.tum.de/en/home/) of the Technical University of Munich, as a main localization program. We further extended it to fuse the estimates by ORB SLAM2 and Odometry with Bayesian filtering manner. To fuse them, uncertainty of the ORB SLAM2's estimate is determined while considering Hessian that is used in the optimization process to track the camera pose. The ORB SLAM2's estimate is fused with Odometry using Kalman filter. This fusion enables to estimate smooth trajectory more than the original ORB SLAM2's estimate.

The modules contained in the package are independent. If you want to use only the localization module, please copy the **orbslam-uncertainty-extension** and **pose_fuser** modules to your workspace. You can apply the localization programs to other vehicles, e.g., wheeled robots.

# Contributes

The main developers

- Naoki Akai ([home page](https://sites.google.com/view/naokiakaigoo/home))
- Kazuya Arashi
- Koki Yasui
- Kane Saliou

We are planning to present this project in both International and Japanese conferences.

[Japanese preprint](https://www.researchgate.net/publication/353186082_Fusion_of_Optimization-Based_Monocular_Visual_Localization_with_Bayesian_Filter_and_Autonomous_Quadcopter_Navigation)

branch_name: refs/heads/main


text:
## JNI benchmark

To run this benchmark and have results for `base64-simd`, you need to build [rust-stuff](https://github.com/dkomanov/rust-stuff) repo with `cargo build -r` and then set proper path for `-Djava.library.path` (assuming rust-stuff is in the same parent directory as stuff, we can use `$PWD`):

```bash
bazel run //src/com/komanov/jwt/base64/jni/jmh -- -jvmArgsAppend "-Djava.library.path=bazel-bin/rs/base64:rs/base64:$PWD/../rust-stuff/target/release"
```

What's the problem with `base64-simd`? I can't make it work properly while building it with bazel. To ensure that bazel sucks, there is a benchmark:

```bash
bazel run //src/com/komanov/jwt/base64/jni/jmh:bazel_vs_cargo -- -jvmArgsAppend "-Djava.library.path=bazel-bin/rs/base64:rs/base64:$PWD/../rust-stuff/target/release"
```

To no wait for comparison forever:
```bash
bazel run //src/com/komanov/jwt/base64/jni/jmh:bazel_vs_cargo -- -jvmArgsAppend "-Djava.library.path=bazel-bin/rs/base64:rs/base64:$PWD/../rust-stuff/target/release" -p length=10000 -p dataset=fixed
```

repository: dkomanov/stuff

gha_language: Scala

repo_name: dkomanov/stuff


text:
# Applied Data Science with Python Specialization [Certificate](https://github.com/rajatgarg149/Data-Science-Python-Coursera-MICHIGAN-/blob/master/Data%20Science%20Certificate.pdf)

This repository contains the most recent versions of all projects and peer assessments for the [Applied Data Science with Python](https://www.coursera.org/specializations/data-science-python) Coursera specialization.

### [Applied Plotting, Charting & Data Representation in Python](https://github.com/rajatgarg149/Data-Science-Python-Coursera-MICHIGAN-/tree/master/Applied%20Plotting%20Charting)

- [Basic Charting](Applied%20Plotting%20Charting/Week2%20-%20Basic%20Charting)

  Manipulate data and demonstrate procedure of composit charts.

- [Charting Fundamentals](Applied%20Plotting%20Charting/Week3%20-%20Charting%20Fundamentals)

  Create insightful plots, build complex features using artist layer and add animation and interactivity to visualizations.

- [Applied Visualizations](Applied%20Plotting%20Charting/Week4%20-%20Applied%20Visualizations)

  Project stating a research question and visuals addressing it.

### [Applied Machine Learning in Python](https://github.com/rajatgarg149/Data-Science-Python-Coursera-MICHIGAN-/tree/master/Applied%20Machine%20Learning)

- [Intro to Scikit Learn](Applied%20Machine%20Learning/Week1%20-%20Intro%20to%20SciKit%20Learn)

  Build and evaluate basic k-nearest neighbours classifier on a breast cancer dataset.

- [Supervised Machine Learning, Part 1](Applied%20Machine%20Learning/Week2%20-%20Supervised%20Machine%20Learning%201)

  Understand the strengths and weaknesses of a particular supervised learning method and apply techniques like regularization, feature scaling and cross validation to avoid common pitfalls.

- [Evaluation](Applied%20Machine%20Learning/Week3%20-%20Evaluation)

  Optimize a machine learning algorithm using a specific evaluation metric appropriate for a given task.

- [Supervised Machine Learning, Part 2](Applied%20Machine%20Learning/Week4%20-%20Supervised%20Machine%20Learning%202)

  Projecy to determine whether a given blight ticket (fine) of property maintainance in City of Detroit will be paid on time.

### [Applied Text Mining in Python](https://github.com/rajatgarg149/Data-Science-Python-Coursera-MICHIGAN-/tree/master/Applied%20Text%20Mining)

- [Working with Text](Applied%20Text%20Mining/Week1%20-%20Working%20with%20Text%20in%20Python)

  Perform text cleaning and write regular expressions to find textual patterns

- [Basic Natural Language Processing](Applied%20Text%20Mining/Week2%20-%20Basic%20Natural%20Language%20Processing)

  Build two spelling recommender systems based on jaccard distance and edit distance.

- [Classification of Text](Applied%20Text%20Mining/Week3%20-%20Classification%20of%20Text)

  Explore text message data and create a model to classify message as spam or not.

- [Topic Modeling](Applied%20Text%20Mining/Week4%20-%20Topic%20Modeling)

  Build a Gensim's LDA (Latent Dirichlet Allocation) model to model topics in news data and extract 10 topics.

### [Applied Social Network Analysis in Python](https://github.com/rajatgarg149/Data-Science-Python-Coursera-MICHIGAN-/tree/master/Applied%20Social%20Network%20Analysis%20in%20Python)

- [Basics on NetworkX](Applied%20Social%20Network%20Analysis%20in%20Python/Week1%20-%20Basics%20on%20NetworkX)

  Construct and manipulate networks of different types using different network classes and node and edge attributes in NetworkX.

- [Network Connectivity](Applied%20Social%20Network%20Analysis%20in%20Python/Week2%20-%20Network%20Connectivity)

  Process and analyze an internal communication network between employees of mid-sized manufacturing company.

- [Influence Measures and Network Centralization](Applied%20Social%20Network%20Analysis%20in%20Python/Week3%20-%20Influence%20Measures%20and%20Network%20Centralization)

  Explore measures of centrality on two networks i.e, friendship and blog network.

- [Network Evolution](Applied%20Social%20Network%20Analysis%20in%20Python/Week4%20-%20Network%20Evolution)

  Work with a company email network and predict the probability of node receiving management level salary. Also, use the current network to predict the future connections.


text:
# Pointnity Network

A python library for verifying identity proofs in blockstack profiles / blockchain IDs.

Proof types supported:

- Twitter
- Facebook
- GitHub
- Domain names

### Installation

```bash
$ pip install Pointnity Network
```

repository: pointnity/Regional-authentication

repo_name: pointnity/Regional-authentication


text:
# Docker Image for Labrackup, by [FEROX](https://ferox.yt)

![Docker Cloud Automated build](https://img.shields.io/docker/cloud/automated/frxyt/labrackup.svg)
![Docker Cloud Build Status](https://img.shields.io/docker/cloud/build/frxyt/labrackup.svg)
![Docker Pulls](https://img.shields.io/docker/pulls/frxyt/labrackup.svg)
![GitHub issues](https://img.shields.io/github/issues/frxyt/docker-labrackup.svg)
![GitHub last commit](https://img.shields.io/github/last-commit/frxyt/docker-labrackup.svg)

Labrackup helps you to retrieve backups of multiple servers / services and to perform a local backup rotation.

* Docker Hub: https://hub.docker.com/r/frxyt/labrackup
* GitHub: https://github.com/frxyt/docker-labrackup

## Docker Hub Image

**`frxyt/labrackup`**

* amd64: **`frxyt/labrackup:latest`**, **`frxyt/labrackup:amd64`**
* arm32v7: **`frxyt/labrackup:arm32v7`**
* arm64v8: **`frxyt/labrackup:arm64v8`**

## Usage

* `docker run --rm -v $(pwd):/labrackup frxyt/labrackup:latest`
* `docker run --rm -v $(pwd):/labrackup frxyt/labrackup:latest /labrackup/backups.yml`
* `docker run --rm -v $(pwd):/labrackup -e LABRACKUP_CONF_FILE=/labrackup/backups.yml frxyt/labrackup:latest`
  * Sample content for `backups.yml`:

    ```yml
    .template:sample_host1: &template_sample_host1
      remote_host: server.example.com
      remote_port: 22
      remote_user: labrackup
      remote_keyfile<EMAIL_ADDRESS>      external_host: gateways.storage.OS_REGION_NAME.cloud.ovh.net
      external_port: 22
      external_user: pca
      external_password: OS_TENANT_NAME.OS_USERNAME.OS_PASSWORD

    backups:

      gitlab:
        <<: *template_sample_host1
        remote_path: /data/gitlab/opt/backups
        local_path: /labrackup/backups/server.example.com/gitlab
        local_rotate:
          - -I '*_gitlab_backup.tar' -d 7 -w 4 -m 12
          - -I '*_gitlab_config.tar.gz' -d 7 -w 4 -m 12
        external_path: server.example.com/gitlab

      grafana:
        <<: *template_sample_host1
        remote_path: /data/grafana/backups
        local_path: /labrackup/backups/server.example.com/grafana
        local_rotate: ["-I '*_grafana-db.tar.gz' -d 7 -w 4 -m 12"]
    ```

  * Generate a key with: `ssh-keygen -b 4096 -f<EMAIL_ADDRESS>
### Structure of `backups.yml`

```yml
backups: # base node

  gitlab: # Name of the first backup
    remote_host: server1.example.com # IP or Hostname of the server
    remote_port: 22 # SSH Port
    remote_user: user1 # SSH User
    remote_keyfile<EMAIL_ADDRESS># SSH Private key to use
    remote_path: /data/gitlab/opt/backups # Remote path where backup are stored
    local_path: /labrackup/backups/server1.example.com/gitlab # Local path where backups need to be retrieved
    local_rotate: # rotate-backup options
      - -I '*_gitlab_backup.tar' -d 7 -w 4 -m 12
      - -I '*_gitlab_config.tar.gz' -d 7 -w 4 -m 12
    # Following external_* keys are optional, and can be used to replicate retrieved backups elsewhere
    external_host: gateways.storage.OS_REGION_NAME.cloud.ovh.net # IP or Hostname of the SFTP server
    external_port: 22 # SFTP Port
    external_user: pca # SFTP User
    external_password: OS_TENANT_NAME.OS_USERNAME.OS_PASSWORD # SFTP Password
    external_path: server1.example.com/gitlab

  # Add as many backup sections as needed
```

* For all `local_rotate` options, see: https://rotate-backups.readthedocs.io/en/latest/readme.html#command-line

## Install Labrackup on ARM Server / Raspberry Pi

1. `ssh<EMAIL_ADDRESS>then, `sudo -s`
1. `apt-get update -y && apt-get upgrade -y && apt-get dist-upgrade -y`
1. `apt-get install -y --fix-missing --install-recommends apt-transport-https apt-utils curl nano`
1. `curl -sSL https://get.docker.com | sh`
1. `mkdir /labrackup && cd /labrackup`
1. Create a `backups.yml` describing the services to backup: `nano backups.yml`
1. Add your private key or generate it: `ssh-keygen -b 4096 -f backups.key`
1. `docker run --rm -v $(pwd):/labrackup frxyt/labrackup:arm32v7` (if you have an ARMv8 CPU, you can use `arm64v8` instead)
1. Add an hourly cron with: `crontab -e`

   `0 * * * * /usr/bin/docker run --rm -v /labrackup:/labrackup frxyt/labrackup:arm32v7 >> /labrackup/backups.log 2>&1`

## Build

```sh
docker run --rm --privileged multiarch/qemu-user-static:register --reset
docker build -f Dockerfile              -t frxyt/labrackup:latest  .
docker build -f arch/amd64/Dockerfile   -t frxyt/labrackup:amd64   .
docker build -f arch/arm32v7/Dockerfile -t frxyt/labrackup:arm32v7 .
docker build -f arch/arm64v8/Dockerfile -t frxyt/labrackup:arm64v8 .
```

## License

This project and images are published under the [MIT License](LICENSE).

```
MIT License

Copyright (c) 2019 FEROX YT EIRL, www.ferox.yt<EMAIL_ADDRESS>Copyright (c) 2019 Jérémy WALTHER<EMAIL_ADDRESS>
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: frxyt/docker-labrackup

repo_name: frxyt/docker-labrackup


text:
# mixpanel-query-py

The Python interface to fetch data from Mixpanel via [Mixpanel's Data Query API](https://mixpanel.com/docs/api-documentation/data-export-api). Note, this differs from the official [Python binding](https://github.com/mixpanel/mixpanel-python) which only provides an interface to send data to Mixpanel.

# Installation

To install mixpanel-query-py, simply:

```
$ pip install mixpanel-query-py
```

or alternatively (you really should be using pip though):

```
$ easy_install mixpanel-query-py
```

or from source:

```
$ git clone git@github.com:cooncesean/mixpanel-query-py.git
$ cd mixpanel-query-py
$ python setup.py install
```

# Usage

You will need a [Mixpanel account](https://mixpanel.com/register/) and your `API_KEY` + `API_SECRET` to access your project's data via their API; which can be found in "Account" > "Projects".

```python
from mixpanel_query.client import MixpanelQueryClient
from your_project.conf import MIXPANEL_API_KEY, MIXPANEL_API_SECRET

# Instantiate the client
query_client = MixpanelQueryClient(MIXPANEL_API_KEY, MIXPANEL_API_SECRET)

# Query your project's data
data = query_client.get_events_unique(['Some Event Name'], 'hour', 24)
print data
{
    'data': {
        'series': ['2010-05-29', '2010-05-30', '2010-05-31'],
        'values': {
            'account-page': {'2010-05-30': 1},
            'splash features': {
                '2010-05-29': 6,
                '2010-05-30': 4,
                '2010-05-31': 5,  # Date + unique event counts
            }
        }
    },
    'legend_size': 2
}
```

### Authentication
By default the `MixpanelQueryClient` will use signature-based authentication when issuing requests to Mixpanel. If you would like to use the secret-based authentication method, you can do so like this:

```python
from mixpanel_query.client import MixpanelQueryClient
from mixpanel_query.auth import SecretAuth, SignatureAuth
from your_project.conf import MIXPANEL_API_KEY, MIXPANEL_API_SECRET

# Instantiate a secret-based auth client
secret_auth_client = MixpanelQueryClient(MIXPANEL_API_KEY, MIXPANEL_API_SECRET, auth_class=SecretAuth)

# Instantiate a signature-based auth client explicitly
sig_auth_client = MixpanelQueryClient(MIXPANEL_API_KEY, MIXPANEL_API_SECRET, auth_class=SignatureAuth)
```

View the [api reference](#api-reference) for details on accessing different endpoints.

# API Reference

Mixpanels' full [API reference is documented here](https://mixpanel.com/docs/api-documentation/data-export-api).

# Python Support

This library now supports both by Python >2.7.6 as well as <Python 3.4.3 with [recent additions](https://github.com/cooncesean/mixpanel-query-py/pull/15) added by @robin900.

repository: sandragyaguez/MetricasFormales

gha_language: JavaScript

repo_name: sandragyaguez/MetricasFormales


text:
keypress
========
### Make any Node ReadableStream emit "keypress" events

Previous to Node `v0.8.x`, there was an undocumented `"keypress"` event that
`process.stdin` would emit when it was a TTY. Some people discovered this hidden
gem, and started using it in their own code.

Now in Node `v0.8.x`, this `"keypress"` event does not get emitted by default,
but rather only when it is being used in conjuction with the `readline` (or by
extension, the `repl`) module.

This module is the exact logic from the node `v0.8.x` releases ripped out into its
own module.

__Bonus:__ Now with mouse support!

Installation
------------

Install with `npm`:

``` bash
$ npm install keypress
```

Or add it to the `"dependencies"` section of your _package.json_ file.

Example
-------

#### Listening for "keypress" events

``` js
var keypress = require('keypress');

// make `process.stdin` begin emitting "keypress" events
keypress(process.stdin);

// listen for the "keypress" event
process.stdin.on('keypress', function (ch, key) {
  console.log('got "keypress"', key);
  if (key && key.ctrl && key.name == 'c') {
    process.stdin.pause();
  }
});

process.stdin.setRawMode(true);
process.stdin.resume();
```

#### Listening for "mousepress" events

``` js
var keypress = require('keypress');

// make `process.stdin` begin emitting "mousepress" (and "keypress") events
keypress(process.stdin);

// you must enable the mouse events before they will begin firing
keypress.enableMouse(process.stdout);

process.stdin.on('mousepress', function (info) {
  console.log('got "mousepress" event at %d x %d', info.x, info.y);
});

process.on('exit', function () {
  // disable mouse on exit, so that the state
  // is back to normal for the terminal
  keypress.disableMouse(process.stdout);
});
```

License
-------

(The MIT License)

Copyright (c) 2012 Nathan Rajlich<EMAIL_ADDRESS>
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.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
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: baidu/BIPlatform

repo_name: baidu/BIPlatform


text:
### [CVE-2023-33242](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-33242)
![](https://img.shields.io/static/v1?label=Product&message=Wallet&color=blue)
![](https://img.shields.io/static/v1?label=Version&message=%3D%2017%20&color=brighgreen)
![](https://img.shields.io/static/v1?label=Vulnerability&message=Private%20Key%20Exfiltration&color=brighgreen)

### Description

Crypto wallets implementing the Lindell17 TSS protocol might allow an attacker to extract the full ECDSA private key by exfiltrating a single bit in every signature attempt (256 in total) because of not adhering to the paper's security proof's assumption regarding handling aborts after a failed signature.

### POC

#### Reference
- https://www.fireblocks.com/blog/lindell17-abort-vulnerability-technical-report/

#### Github
- https://github.com/d0rb/CVE-2023-33242
- https://github.com/nomi-sec/PoC-in-GitHub

repository: trickest/cve

gha_language: HTML

repo_name: trickest/cve


text:
---
layout:     post
title:      CTF101 - 04 Android Hacking
summary:    Introduction to Android hacking and APK reversing
categories: ctf101
---
###Abstract

This mobile applications workshop will help you understand how to approach pentesting of mobile applications.

1. Preparing a lab to test mobile applications
2. Tools for static checks on mobile applications
3. MiTM attack methods
4. Pentesting backend API

To fully take part and utilise the workshop, bring your own laptop with the following setup:

- Android SDK, ready emulator machines (or a rooted test device)

- few tools (adb, apktools, dex2jar, jdgui, any HTTP local proxy - e.g. Fiddler, Burp)

- few examples will work better or only on Linux, so you bring Windows on your own responsiblity

This is the first session of the two sessions workshop.

By Jakub Kaluzny

###Download
* [Presentation](https://github.com/sectalks/sectalks/blob/master/talks/SYD0x1b/Android%20Application%20Pentesting%20Workshop.pdf)


text:
### Etherscan server

Etherscan server is a proxy server to etherscan api which expose REST API to fetch data about addresses and blocks.
Right now it only support GET requests and handle two queries:

```
<etherscan_server_address>/api/balance/<address_of_specific_ethereum_address>
```

which will respond with actual balance of given address and

```
<etherscan_server_address>/api/block/<blockNumber>
```

which will show timestamp, blockMiner and blockReward and allows you to see other blocks mined by the same miner.

## Building and running server

In order to build docker image with etherscan server issue:

```sh
docker build -t etherscan_server .
```

than you can start etherscan_server with:

```sh
docker run -it  -p<port_to_listen>:8080 etherscan_server
```

To override default configuration please prepeare a config.ini file with such content:

```
[etherscan]
host=<ip_address_to_listen_on> # defaults to <IP_ADDRESS>
port=<port_to_listen_in> # defaults to 8080
```

and run etherscan_server with:
```sh
docker run -it -v <path_to_your_config>:/etc/etherscan/config.ini -p <port_to_listen_on>:<port_specified_in_config> etherscan_server
```

## Using client

Copy `etherscan_client/etherscan_client` to a directory under your PATH and issue:

```sh
etherscan_client <block/balance> <blockNumber/address_of_specific_ethereum_address> --server <address_of_etherscan_server>:<port_of_etherscan_server>
```
This script will show you current balance of specified ethereum account or will print informations about specified block.

repository: PiotrProkop/py-etherscan

repo_name: PiotrProkop/py-etherscan


text:
---
layout: post
title: "Flying solo"
date: 2012-12-28 08:41
comments: true
categories:
tags:
- personal
---
On December 10th, I officially started working independently. I keep meaning to get this posted, but the past three weeks have been a bit of a whirlwind with the holidays and a few training sessions mixed in.

To say I'm leaving an excellent job behind is an understatement. The position was flexible. The people I worked with were smart, talented and fun. The people I worked for were flexible and willing to let me experiment with different ideas.

I got to help organize a conference, 4 of them in fact. I got to watch as the conference grew, watch the community that built up around it, and learn from all the people who came to hang out and talk mobile for a few days.

Yet I left. So very clearly I'm slighty insane.

I was getting an itch though to shake things up though. Some incredibly exciting opportunities were coming my way, and I felt I couldn't pass on them. It was a tough decision, to say the least.

I'm excited though. Excited about some of the projects coming up and excited about some of the things I want to experiment with. I'm starting by consulting and doing some development work on a responsive redesign of a very media-rich site. The site has some interesting performance challenges that I'm looking forward to tackling head-on.

In addition to consulting and/or development work, I plan on focusing more on helping others make sense of all this. That takes many forms.

I'll be doing some private training for teams to get them armed and raring to go. I'll be doing some more speaking as well, though I'll be limiting myself a bit on how many I say yes to. It's tough—I had to turn away several exciting events in 2012—but with three kids at home I have to make sure they get enough time with Dad (or maybe more accurately, make sure I get enough time with them).

Expect more writing and research as well. There is quite a bit of research and testing I want to do and I'll certainly be sharing those results as I go along.

If any of this sounds like something you would like to chat about, then [let's definitely talk](mailto:tim@timkadlec.com).

So I guess if I were asked to summarize this entire post into one, very technical sounding, TL;DR version, it would be this: *I'm going to make cool stuff and help others make cool stuff too.*

repository: tkadlec/tkadlec

branch_name: refs/heads/source

extension: markdown

repo_name: tkadlec/tkadlec


text:
# SSD Internals {#ssd_internals}

Solid State Devices (SSD) are complex devices and their performance depends on
how they're used. The following description is intended to help software
developers understand what is occurring inside the SSD, so that they can come
up with better software designs. It should not be thought of as a strictly
accurate guide to how SSD hardware really works.

 As of this writing, SSDs are generally implemented on top of
 [NAND Flash](https://en.wikipedia.org/wiki/Flash_memory) memory. At a
 very high level, this media has a few important properties:

* The media is grouped onto chips called NAND dies and each die can
  operate in parallel.
* Flipping a bit is a highly asymmetric process. Flipping it one way is
  easy, but flipping it back is quite hard.

NAND Flash media is grouped into large units often referred to as **erase
blocks**. The size of an erase block is highly implementation specific, but
can be thought of as somewhere between 1MiB and 8MiB. For each erase block,
each bit may be written to (i.e. have its bit flipped from 0 to 1) with
bit-granularity once. In order to write to the erase block a second time, the
entire block must be erased (i.e. all bits in the block are flipped back to
0). This is the asymmetry part from above. Erasing a block causes a measurable
amount of wear and each block may only be erased a limited number of times.

SSDs expose an interface to the host system that makes it appear as if the
drive is composed of a set of fixed size **logical blocks** which are usually
512B or 4KiB in size. These blocks are entirely logical constructs of the
device firmware and they do not statically map to a location on the backing
media. Instead, upon each write to a logical block, a new location on the NAND
Flash is selected and written and the mapping of the logical block to its
physical location is updated. The algorithm for choosing this location is a
key part of overall SSD performance and is often called the **flash
translation layer** or FTL. This algorithm must correctly distribute the
blocks to account for wear (called **wear-leveling**) and spread them across
NAND dies to improve total available performance. The simplest model is to
group all of the physical media on each die together using an algorithm
similar to RAID and then write to that set sequentially. Real SSDs are far
more complicated, but this is an excellent simple model for software
developers - imagine they are simply logging to a RAID volume and updating an
in-memory hash-table.

One consequence of the flash translation layer is that logical blocks do not
necessarily correspond to physical locations on the NAND at all times. In
fact, there is a command that clears the translation for a block. In NVMe,
this command is called deallocate, in SCSI it is called unmap, and in SATA it
is called trim. When a user attempts to read a block that doesn't have a
mapping to a physical location, drives will do one of two things:

1. Immediately complete the read request successfully, without performing any
   data transfer. This is acceptable because the data the drive would return
   is no more valid than the data already in the user's data buffer.
2. Return all 0's as the data.

Choice #1 is much more common and performing reads to a fully deallocated
device will often show performance far beyond what the drive claims to be
capable of precisely because it is not actually transferring any data. Write
to all blocks prior to reading them when benchmarking!

As SSDs are written to, the internal log will eventually consume all of the
available erase blocks. In order to continue writing, the SSD must free some
of them. This process is often called **garbage collection**.  Garbage collection generally proceeds
by:

1. Selecting a target erase block (a good mental model is that it picks the least recently used erase block)
2. Walking through each entry in the erase block and determining if it is still a valid logical block.
3.  Erasing the entire erase block and marking it available for use.

Garbage collection is clearly far more efficient when step #3 can be skipped
because the erase block is already empty. There are two ways to make it much
more likely that step #3 can be skipped. The first is that SSDs reserve
additional erase blocks beyond their reported capacity (called
**over-provisioning**), so that statistically its much more likely that an
erase block will not contain valid data. The second is software can write to
the blocks on the device in sequential order in a circular pattern, throwing
away old data when it is no longer needed. In this case, the software
guarantees that the least recently used erase blocks will not contain any
valid data that must be moved.

The amount of over-provisioning a device has can dramatically impact the
performance on random read and write workloads, if the workload is filling up
the entire device. However, the same effect can typically be obtained by
simply reserving a given amount of space on the device in software. This
understanding is critical to producing consistent benchmarks. In particular,
if background garbage collection cannot keep up and the drive must switch to
on-demand garbage collection, the latency of writes will increase
dramatically. Therefore the internal state of the device must be forced into
some known state prior to running benchmarks for consistency. This is usually
accomplished by writing to the device sequentially two times, from start to
finish. For a highly detailed description of exactly how to force an SSD into
a known state for benchmarking see this
[SNIA Article](http://www.snia.org/sites/default/files/SSS_PTS_Enterprise_v1.1.pdf).

repository: intel/oim

gha_language: Go

repo_name: intel/oim


text:
# Physio-ROM: Computer vision, AI Range of Motion Reports

## What is Physio ROM

Physio ROM stands for "Automated Range of Motion (ROM) calculation for
Physiotherapists" and is an application that helps physiotherapists and their
patient to understand the range of motion of their limbs around a joint.

This is important for people that have hurt their joints or for some other
reason and cannot use their limbs to the full extent, such as after a fall,
a stroke, or an accident.

The project includes a fully-featured cloud-based API which wraps state-of-the-art
real-time keypoint dectection methods into an accessible and open-source platform.

## Installation

The system consists of:
1. a Web front-end that captures the video,
2. a python based backend system to where the video is uploaded and pre-processed,
3. a C++ based computer vision system that calculates the limbs and the angles
on the limbs from the pre-processed video,
4. a Web service that serves a JSON file with the results
5. a Web page that serves the video with the results rendered and overlayed on top of the video.

The Web front end through which the video is captured can be found in the templates directory.

The python based backend system is run via the ```__main__.py``` python program.
Auto-setup is set up via the python virtualenv. Install python virtualenv and run the
following

```
make env
. env/bin/activate
make getreqs
```

The C++ based computer vision system requires the installation and compilation
of the openpose software suite. This is detailed in the [openpose
documentation](https://github.com/CMU-Perceptual-Computing-Lab/openpose/tree/master/doc).
The dependencies for this package are listed in requirements.txt.

## Usage

### Server Usage
Start the flask server by running:

```
python __main__.py
```

The server side implementation has, thus far only been tested on unix systems. We
cannot guarantee. Certain linux distros may require running the code in sudo, because
in-browser web camera streaming only functions in web ports (apparently security reasons)

### API Workflow

Generally, it works as fellows:

Step 1. Upload raw video, returns a runid.

Step 2. Process this runid

Step 2a. (Optional) Annotate the processes image with angles

Step 3. View the video streams.

Step 4. Generate Report.

*Index Page:* Hosts a simple video capture framework, which includes a graphical interface to the API.

```
<host>
```

*Uploader:* Dedicated video update page (GUI), and interface to CLI post/get upload of video.

```
<host>/upload
<host>/uploader
```

The uploader returns a unique string called `runid` in JSON object. This is the your key to your data in the API. The uploaded videos are provcessed in ffmpeg and can be in any standard format.

*Process video:*  Passes uploaded video to openPose and returns the features of intrest in json format.

```
<host>/process?runid=<runid>
````

*View video:* Shows a player which loops the uploaded video along with
identified pose.

```
<host>/airom/playvideo?runid=<runid>&fps=<view-framerate>
```

*Annotate video:* Annotates the previous video with the angle of the specified
joint (where the number corresponds to a particular joint).

```
<host>/airom/getoverlay?runid=<runid>&joint=<joint-label>
```
Joints labelled by index in the following list:
['Right elbow','Left elbow','Right Shoulder','Left Shoulder','Right Knee','Left Knee','Right Hip','Left Hip']

*Watch Annotated video:* Shows a player which loopes the uploaded video with
both identified pose and annotated angle.

```
<host>/airom/playoverlay?runid=<runid>&fps=<view-framerate>
```

*Generate report:* Generate a report for a given joint

```
<host>/airom/getreport?runid=<runid>&report=<report-template>
```

### Futher API Tools

```
<host>/airom/getframe?runid=<runid>&frame=<frame-index>
```

```
<host>/airom/getname?runid=<runid>&frame=<frame-index>
```

Further detailed usage information is included in the doc/ folder.

## Third-party dependencies

Third-party dependencies that have been used or modified for this
project that have their own software licence include:

| Software | Copyright | Licence | Link | Use              |
 ---------:|:---------:|:-------:|:----:|:----------------:|
| openpose | -         | LGPL    | -    | Pose detection   |
| caffe    | -         | BSD     | -    | ML framework     |
| numpy    | -         | BSD     | -    | Faster searching |
| flask    | -         | BSD     | -    | web serving      |

## Copyright and Licence
Copyright (C) 2017 Aqeel Akber and collaborators - All Rights Reserved

You should have received a copy of the [licence][LICENCE] with this file. If not,
please write to: Aqeel Akber<EMAIL_ADDRESS>This licence
applies to all files held under the copyright of this project
only and not third-party dependencies.

If you believe that anything in this project infringes your
copyright, please contact us with your information and a detailed
description of your intellectual property, including the specific
place in this project where you believe your intellectual property is
being infringed.

## Contributing ♥

Those interested, see [CONTRIBUTING][CONTRIBUTING.org] for guidelines.